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