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