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