                                               .':c;:;clodddxxdddxxxxxdooolododl;                                                                               
                                              .,;c:;::lxxxxxxxxxxxxxxxkkxxdddxxxdl.                                                                             
                                             .';:c::',ddxxdolloooddddxxkkkkkxxxxxkxd;.                                                                          
                                            .''clc',:oddddddddddddxxdxddxkkkkkkxxkkkxo;.                                                                        
                                           .,'col'.loooooddddddoodddxdxkddxkkOxkxxkkkkdc,.                                                                      
                                           ';cdo,ldloodooolccccl:clodddxxxdxxkOxxxkkkkxxl,'.                                                                    
                                          .;:odllddoxddll:;;:ccll:::lllodxxdxdxkxxkkkxxxxo;'..                                                                  
                                          ,;loddlcooxoocllllolooodlcclldodxdoddkxxkOOkxkxxo;,'..                                                                
                                         .'ocdxdlllldodoloooollodddoddddxdxkoooxOkkOOkxxxkkd;..'.                                                               
                                       . ;;dlxxdclcddxddolllcllloddddxxxxxxxcoxkkkOkOOOxxxkkxl..',                                                              
                                    .    ccxokddodddodxdollllllloodddxxxxkxxl,ckkOOOOOOOdldxxxxc..;.                                                            
                                       ..doxoddxdxxdlxxxolllooooooddxxxxxxxxo.,lOOO0O00O0kddxxdxxc',.                                                           
                                       ',xxxlxOkxkd;looddooooodooodloxxxxxkxo.;'xOOO0O00Okxkdkkddkxoc..                                                         
                                     . .cxOxoOOkxkl';loccodddolddol:;ddlocdk:';'lk0O000000Okkdxkkdxxxd'....                                                     
                                  .  . 'ldOxxO0Okxl'.':lc;;::ccll;;;;:;;;;;;'''';k000K0KK00Okkdxxkkxxdc'   ..                                                   
                                  . ...'odOOkO00Oxc,,;cllc:;,,,,,'',;;cloooc;,'';k0KO0KKX000kdxxdxxkxdol;.                                                      
                                 .  . .'ddOOOKO00OkOxO0OO0x;........;xOkxkOkOOklcOXKOOKKXX000kdxxdxxxkdol:'.                                                    
                                 .  . .,ookkO000K0d,;l:,,:,'..''''''',c'';c;'cdoOKX0Ok0KKNXkOOkxdxkkxxxkxoc;.       .                                           
                                .'......llkkOKK0KKo,';;;;,'''''''''''',;:;:,,;,oKXK0OkkKKXN0kkkxkxdkxxxxkkxol,.                                                 
                              . .''c...,clkOO0KKKKO;,,,,'''''',,,',,,,,,,,,,,,c0KXdxOkk0KXNXOxkxdxxxxdodxxxxdol:'....          ..            ..                 
                              . ..;:...c:lkOkOKXXKKk;,,,,,,,,,;;,,,,,,,,,,,,;cdxOdlxOkO0KKXN0Oxxxdddxkxoollodoolc:;'..... ...........''........                 
                              ..  ,;..'cdckOkk0X0XKx0c,,,,,,,,,,,,,,,,,,,,,;:cckolokO0k0KKKNXOOddxdoodkkdollccc::clc::;,''.....''''...   ................       
                              .,.  ;. ;lddkk0OOKOd0xcoc,,,,,,,,,,,,,,,,,,,;;;;xoldkkOOOOKXXXX0OkdxxdoolxOkxdllccc::cl:;;;;;,,,'''..........       .  .. ...     
                              .:.  ..':ldxkk00K0Kko:c;c;,,,,;,,,,,,;;,,,,;;;;ddoxkkkkO000XNXXKOOxdxdoooooxkxkxol:cc:::;,.      .          ...    ... ..  .  ..  
                              .:. ',';codkkOO00XXXOd:;;;;;,,,;,,,,;;;;;;;;;;loooddxxxO0O0KXXXK0Okxxxolooolddoooolclc:;,;'.                  ..           ...... 
                              ....:;;:lodOKkO0OKXXKxoc;;;;;;;;;;;;;;;;;;;;:c:cccodxdodOkkKKKXKKOxxkkollloooxllcc:::c::;,'''..                 ..   ...  . ......
                               .;:c::cllOk00O00KKXK0dlll:;;;;;;;;;;;;;;;ccc::::::coddolkxkKKKKKKkxxxocccccloclccc:::;;,,.''''....      .  .  . ..   ..  ........
                              ..:occcl;kkkx0O00KXKKK0ollloo:;;;;;;;;;cdc::::::;;:::::clcxx0KX00K0dddooccc::c:.;:c:::;,''....''. ......    .... .... .... .......
                             ..,ooool::OkkdxkOKXX00K0Oolcokkdl:;;;coxxx::::::::;;;;;:;,;ccoOKK0O0xoodlllcc:::, .':;;;;,,'.. ....    ....  ..   . ... .. ........
                             ..,oxlc;'dx0kdxd0XKXKkdOOOdcoxxkxxdodxxkkk::ccc::::;;;;;;,,'c,:xOOOkOdlolc:ccc;;;;.  .',',..... ....      ..  . .. ....     .......
                            .'.'dl;;':OkOkdkd0NdXXkddO0OOOOkxxxxxxkkOO0:::cccc::::;;;;;,',:';k0kkkkxlc::;;:c,;;,.   ...'.     .  .       .... ......  ..........
                           .,..,c..'cOkxxOxxxXKlXNdcdk00O00KOdxxxxkkkkkkd::::cc:::::;;;;,,;;';kOodkkxc::'.;:,,;....   ....        ...         ......  .. .......
                  ..       ,;'.'  .ddOdldkxdOKXl0N:lcodOK0OKdoddddxdddood;;;;;::;::::::;;;,:;';kx:loxxoc' ';,,' .....  .  ...     ....  .....    ...  ..........
.                  ..     .cl;. .:kdddcldddxXkXlKNl;:codKKK0Oddddoolllllo;.'''',,..;:;',;,,,:;';kx:clxxoc',;.'.  .......  .....   .......... .... .  .... ......
         ...        .... .;ol;;cdxl;:o:c',:kKOK0NX;;:loo0XNkO0xolllllloodkdc;,,'..  .,,..  ..,;;,ox:::ldolll:;..  ......  ...... ...............................
  .         .          ..'':llllc,,,;o;' .:xxOONNx:;clokKNKxdxOxoodoooddxddxdoo;',,... ...    .,;,;olc::lo:;c:;;'............    ...............................
    ...                 ...':.,'....'l; .;o'oc0KKokxkOXXKxc:;cldOxdddxdololldlldc;,;,;,........ .,,,,;clccc:. ..',;''... .....  .......................... .....
     .                    ..,.. .....,;.c,..,l0KXKxKXlkkk:c:;;;:cO0oooccccclclccoc;;;;::;,,,,,,'...,'...;,.,;.   ..'','.........................................
.   .                    ....   ...'',cl;;,,;;od0XXK0xld;:ll:;,cxkxOdolcccccllccclc:::::cc:::;,'...,... .''.,;'.......',;'......................................
                         ..............;:'.''.ccldkKKkdoc:colo0OOkkxO0Olccccccccccoc::::::c:;'''.'.;...  ... .,...........,,....................................
                          . ..............''..d:;;;odkKX0OkxkO0O0OkkkOOdccccccclccldcc:::;;;;;,,,,.;..     ....,............,,..................................
                            .................:llc:lc;;,:oxkOO00OOK0Okolkklcccclllcloo::::;;;;;:::,';''.     .. .,.............'.................................
.  .                     . .,...............;,,;:lc;',,,,;:lldldllllccccdkoccclllllldc::::::;;;;::,;'....    .. .,..............'...............................
....                    . .,:''.............';;';,''..',,,,:cddll:cccccccoddcccccccclo::::;;;;;;l:;:;....     .. ;...............'..............................
....                    . .';,'''.............;,''......',';,ldxo:;:ccccccoolcccccccccc::;;;;;;llc:;;'..   .......;.............................................
......                 . .',;;,,,............';''........'',,,ldol,;::cccc:occccccccccl:;;;;;;ldol::,;'..     ....,.............................................
................     ... ,,;;;,,;;'..........;'''..........,'',;:;;;::c::::c::::cccccccc;;;;,cdolccc,;,.. ........,..............................   ............
.................  .... .,;;;;;;;;;:,.......',''...........,'',,;:,;::c;:::;::::::::cccl;,,,cdo:::cl,;,'.. ..................................... .   ...........
......................  ,;;;;;:;;;:cl;;'....','............,,'',;:,;::c;;;;:;;;;:::::cclc,,:dl;;:;oc,;,'.. ........................................ ........ ...
.................. .....;;;::;:;::ll:;;:;...,''............,,,,,;:;;:c:::;::;;;;;:::::ccl;,cc;;;;;l;,,,'..  ................................................  ..
.................. ..'';,;::;;;:ddxl;;;;::.','............',;,,,;:;;:c::::::::;;;:::::ccl:'',;;;:::;;:,'''.  ...................................................
....................'.''.;::;;,:KWKd,,;,'..';'...........'',;,,;;:;::c:::::::::::::::cccll,.......'',l'''..    .................................................
''.................,,''.'':c;;;lKNKc;,,,'..,;''.........''',,,;;;:::cc::::::::::::::cccclo:'.........:'...'.    ................................................
,,'''............,'....'''',;::''ol:;;;;,'';;,,'''''''''',,,;;;;::cccc:ccc:ccc::ccccccclloc,........,;''..'.     .....''.....''''''''''''.......................
