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