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