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