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