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