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