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