********* ********* **** **** ******** ***** **** ******** ******* **** ******* ******* ********* ****** ********** *** ********* ********** ****** *********** ** **** *********** ****** ********* ***** ********** *********
********* ********* ** ******* ************ *** ** ******* *** * ******** ****** ********* *** ******* ** ************* ********* ****** ** ***** ****** ********* ******* **** ********* ******