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