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