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