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