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