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