DIR\INDEX
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXKKK0KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKdc;;:cll;,:dOKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKo....':oxkxc:;cdKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKl.  ..,;lxOOdclk:lKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKO..  ....'cxkOOO0c.xKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKXc:clodxxkO0KKo' ..  ..'ck0XNXKkdONNNWWWWNKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKK' ....      ... ':cdNWWWWWWWWWMMMMMMMMMMWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKK; ';' .....     .cldWNO0WWWWWWWWWWWWWMMWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKc '', ....''.   .:coWkdoWWWWWWWWWWWWWWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKo.............. .:llWOdOlxd:ldWWWWWWWWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKd... . .. .     .:ccN0oxkOk00kWWWWWWWWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKK0,''.  . .....    .:ccKK:dxddcc;:KWWWWWWWWWKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKd,,,;,'......      .,cc0XdxOxXKXNNKdXWWWWNXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKK:,;;:'............  'ccONoo:;:c;llooXWWWWKOOO0XXKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKo''.....   .......  .::kNkkKKXNN0KKX0OONKxdk0XXXKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKK0','  ...........   ,::xNOO0xOx0000K0KKXkdclodk0KKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKk',;. ............  ;::dNXXNNNNNNNNNNNNNOOxo':c0KKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKK0',;. ..... ......  .;:lNNNNNNNNNNNNNNNNNNXXclkKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKK'''....     ...... .;:cNKKK00K0KKXNNNNNNNNXkxOKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKc.'';ldo:,.    ... .,::NNNNNNNNK0Okddxd;,:oxx0KKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKO'''';cl:,. ..''....o;;ddol:;,''.,..''.,codxxKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKx,'.',;'.:.  .'........'''''''''.....,cloddxKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKk;'...;ko... ..........'',,,''.. ..,;cclll0KKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKl:o0KKl..  .......',,,'.',;;,. .',;:cc:xKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000Oo'.,k0000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000xl;......'lO0000000000000000000000000000000000000000
0000000000000000000000000000000000000000000Oxl,.....;cc,.   'oO0000000000000000000000000000000000000
000000000000000000000000000000000000000Oxc,.....;lxkk0kdd.     ,dO0000000000000000000000000000000000
00000000000000000000000000000000000Odc,...,lOXkllOKKkc',:dOd.     ;d00000000000000000000000000000000
000000000000000000000000000000K0dc,...,lONWWWWWWKdl,,d0XKkolxkl     .;x00000000000000000000000000000
000000000000000000000000000Oxc,...,lONWWWWWWWWWWWKkl;,::kKXOc,'cko.    .:k00000000000000000000000000
0000000000000000000000000O'......':d0WWWWWWWWWWWWWWNKXkl,; .c0WWWWW0:.    .ck00000000000000000000000
0000000000000000000000KK0O. ........;lkXWWWWWWWWWWNOc;,d0xc...lKX0l'      ..;cdO00000000000000000000
000000000000000000KK0kdl:;:,.  .......':d0WWNKWWW0:',.','lOOd;. .      .,;;;;;;:lxO00000000000000000
0000000O00000KKK0kdlcoxoolc'',.  ........,cx0xcl..';,,''..,,;.     .',;;,;;;;,;;:::lxO00000000000000
000000K0xok00KOl;;:clddlc:,,;;,:'.  .......';c:,,',,,,'.       ..,;;;;;;'...,'..',;;::ok000000000000
000KXXXXKOoox000dc;,;;:::,,c;:;:loc. '.........,;',,..      .',;;;;;;;;,.,,,,',;c:;:::::cok000000000
00000XXXXXKOxodO00ko::,,c,c:cdkxxdllc:c, ....    .      .',,,,;;;;;;;;;;,..';,..',;;:::;;::cdk000000
00000O0KXXXXK0kodk00Odlcxk00OOkxdoollcc;.         ....,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;:::::;;;::ldO000
0000000O0KXXXXXKOdoO0KKKKKK00Okkxdoollcc:.     ...',,,,,:;,,,',,,;;;;;;;;;;;;;;;;;;;::::::::;;:ccO00
000000000OO0KXXXXKXKOKXXKKKK00OOkxddoollcc;.    .',,,,,.',,'''.',,;;;;;;;;;;;;;;;;;;;:::::::::,.'000
000000000000O0KK0OKKXXXO0XKKK000OOkxxdoollcc:'.   ..,,..'...',.,,,,;;;;;;;;;;;;;;;;;;:::::;'.  .x000
0000000000000OOOOkO0KKXXXXXKKKK000OOkkxdoollcc:;.    .''',,,..,,,,,,;;;;;;;;;;;;;;;;;;;'..   .:x0000
0000000000000000OOOOO0KKXXXXKKKKK000OOkkxddollcc::'.    .,,,,,,,,,,,,;;;;;;;;;;;;;;,'.   .'lk0000000
000000000000000000OOOOO00KKXXXXKKKK000OOkkxxdoollcc:;.    .',,,,,,,,,,,,;;;;;;;;'..   .;oO0000000000
00000000000000000000OOOkkO0KKXXXXKKKKK00OOOkkxddollcc::'.    .',,,,,,',,,;;;,..    .:x00000000000000
0000000000000000000000OOOkkO00KKXXXXKKKK000OOkkxxdoollcc:;.    ..,,,,,,,,'..    ,lk00000000000000000
0000000000000000000000000OOkkkO0KKXXXXKKKKK00OOOkxxdoolllllc;.    ..''..    .:dO00000000000000000000
000000000000000000000000000OkkkkO0KKXXXKKKKK000OOkxdollloooodOd.          .l000000000000000000000000
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
;;;;::::::::::;;;::::;;::;:;;,''...................'.                                               
;;;;:::::::::::;;::::::;:::::::::::;;'..... .'''''''.                                               
;;;;:::::::::;:::::::::;;;;;;,,'....        .;:;;;,,'                                               
;;;;:::::::::;;::::;;,,'....                .'.......                                               
;;;;:::::::;;,,'....                                                                                
;::;;,,'.....                                                                                       
.....                                                                                               
                                                .....                                               
                                                .....                                               
                                                .''''                                               
                                                .,,,'                                               
                                                .;:;,                                               
                                                .',,'                                               
                                                .';;'                                               
                                                .....                                               
                                                .'''.                                   . .. .      
                                                .;:;'                                    ....       
...                                             ':c:,                        .  ...... . .....      
..                                              .,;;'                          . .......  .....    .
.. ...                                          .,,,.                             ....... .   . ....
....  ..                                        ..'..                          .   ..........   ....
..... .. .                                      .....                       .  . . .................
... ..                                          .....                     .    .. ..................
.....                                           ....                      .         ............... 
..   .... ..                                                                 .   .  ................
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
okdll,,.''''.,'..c.,.,''.;''loooooooooooooooooooooooox0XXXXXKXXKXXXKXKXXXXXKXXd ....................
xkOcl.'..''.;''..'.;.;'....'loooooooloooloolooooooooox0XXXXXXXKXXXXXXKXXXXXXXKd.....................
ddxdxxkxxxkxxxxxkxkxxkxddddddxdxxddkdxdddxdxxdx:cccccloolodoldodooooloolooooooc''''.''''.''''''':doo
odxdddxdodxoxokdoddod0Occ;:c:;ccc,:l,o;o:;;c;:k'Ok0OkxKxkkKOxXo0dO00k0x,:..............'.......'dXxk
OOkOO0OOOOOOOOOxddxxxxxoodooooxooooodoodc:ccccl.,,',;,,.,,,,,,'',oxddooldooooloodoooooooooc::::coOOO
c::d:o;o:ccl;:OlxkKOx0O0kOK0dKdKd0OOk0O:.'';,',,;'';,.;.;.,,,',,.Nkkxxkkdxkkdx0d0dOxxxkxkKl;:;;;:,;;
doododoxooldookcdoodddd:loddddodldxxdddc.'''''',.''''''''..''....XkOOOkOOXOOkOkkOOOOkkOO00c:::::::l:
dxdxdkxo;.......................'kOkxkkkkkkkkkOxOxOkkkOkk0cddkxxxxkdxkklOokdxxkdkx:',,;;;,;;,,;;,;,;
oxxxxxkl;.......................'kkkkkkkxOkkxkkkkkOkxkkkk0ckxkkxkkoxxOxkkdkoxkkxkx:';;;;;;;,;;;;;;,;
O;.','',.'.'.'...'''.'.'..lxdoddoxxkxxxOxkxxxkxkxkOddxxxxxddodddldododododoloddddddodooddododooodooo
0;';:c,:;,':::,:;;.:;;;:c.odolcdloddolldldlklloollOokkOOxkOxxkOkxOxOdkOkkOklokkkkkkkxkkOkkkxkxkkkkkk
xc;,,,;,,,;;,,;,,,,,;,,,,,odxdddxdddddxdxddx0KKKKKKOOOOOOOOOOOOOOOOOOc:::::::c:::c:::c:::c::::xxxxxx
KO0kK0KxKOOx0O0OKKol:'..,.'.,...;.'.;...'..lKKK00K000K000K0K0K000000N;:col:llcccol:o:o;lllcol'kddood
xdoodxdddxxoo:l:cc;c:::;;;:cc:;;:::;cldoddoxKKKKKKKKXXKKKKKKKX0OO00O0::::::::;::::::::;''''''.lllllc
0KKKKKKKKKX0o,;;;;:;:;;;:,;;;;;;;;:;,dkl:co:l:lcc:xcococlco;ckd;'..,.'.,...:.,.,.'',..l..';,.,';',,,
0KK000O0OO0kl',,,,,,'',,,,,,,';,;,,;,oxddoxookkdoododoOododdlOo;;;,;,,c:;,,;,;,c;;;:;;l....'.''...''
KKKKKl .......................':dodddoddoodoododooddodo;;odoldldldod:dldooldlxo;cooooooooooooooooooo
XKXXKl........................'cxdxdxdxlxdxoxxooddxdxxl;coxOlkdocxxklxdx:kdxoxO,cooooooooooooooooooo
::c::;'''''',''.'''''''lOxkkxxkkOOOkOOOOkOOkOOOO0kxxxxxxdxdxdxxxdddxdxdxxxxllooldoxodoxddoodxoxodxc:
.......'......''......,dKkxxOxOk0xkxOxxO0kkkkxdKKkddoxoxdkodoxddxkdddddoO0dc;,l;ccl;:;l;c:d;c:c;,kco
xxxxxkxkxxxxxxxxxccccccokkkkkkkkkkkkkkkkkOK000000OOOOOOOOOOOOOOOOOkdxxddxddddddodddddddddddc::::::'.
xxxoxxoOdkxxdxdk0l,;,;,;,;;;,;;,:;;;;,;,:dk;:;c;c;c:c,l:;lc:::::;odl00KkKkKkK0Kx00Ok0O00KKo..,;;';,;
0kkkkkkkOkkdkxxkxc::::;::c:::::::::lclccloxddddodxkdddddodxoocolldlccllllcc:llllcll:odkddxo:,;;;;;;,
d0xOOOkOk:';;;;;;;;;;;;,:,;;;;;;;;;lkxkxkxOkxxkxxkdkxxxkxkx:'.......................l0xxxkxkxxxkxOkx
kOkkK000k:':;;;;::':;:;::;;;;::;;,;oOkkkOOkoOkOxOOxxkxOkkOd:........'...............lOxxdkdxk0dxdkdd
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
dxxxookOKNXK00KKKKK0OOkxo:;,;clllllccc;'....                                                        
oxxkxxO0KNNX00KXXKKK00Okdl:;;:cllc:ccc:;'......                                                     
odkO00KKXXKK0O0K000000Okxdolccddo:;;;;;,'..........                                         ........
cokOKKKXXK0xlokkxddddxkOOkxdoxOkx:,,,,,,'..........                                       ....,;,,,,
:coxO0K00klc;:dl:llccccodk00xx0Ox;'',,,'.....'',,,'.                                      ....;loooo
,,;codxxd::;'';,'',,,',,:ldk0OOkd:',,;,''.'''',,;;;,.                                     ....:dxxxx
,,,;clooc'...c...'',,,;:cldkkK0xl:,;;;;,,,,,,,;::;::'.                                    ...'cdxOOk
'',,:lol:.    .,;,,;::cl:';oK00o:;;;;;;;;;;;;;:cl:cc,.                                    ...:dxkOOO
...',;::,''.  .'..';:coxc:x0OKko,;;;;;;;:cc:;;cllcc:'.                                    .'cxkxkOOk
......''.... ..':ccllcokxxxO0Kkl,,,,,,,;clol::clc:cc;.                                    .:dkkddddd
................,;;;,,,colodxxo;:::;;;;;clllccccc::cc;'.                                 .;:loollllc
........',,,. ..''';;,,:dxxdl;,;:::;,,,,;:::;;;::;:cddc'.                               .cc;,,,;:cc:
........',,::,'':oc'....';c;'''',,''...''''''''',,;okkx;.......                        .;oc.....,::,
.........'';;,''',,'.....:ol.....................''cxdd'.........                     .:oo;.........
.........',,'..........',ll,''....  .......'......'';;.............                  .cdd;..........
'.........''......      .cc.,,,'... ......',''...............'........              .cdxc...........
..............    ...  .   .''.,:,......',,,,,'....... ......',...........        ..;okd,...........
....''''....   .;cdddl;......;'';c,.....';,,,''......   ....',;,''.................':okl............
..'',,;,''.   .;c;cooooddoxdoolclcl,....','..........   ....,;:,,'...'''...........':dx:..''''''''..
..',,,,,'...  .:ccldoccclldOOOOOOOOd'....'..................,::;''...'''''''.......,cdx:.'',,,,,,,,,
...'''...      ;ldxOKk:;:::dxkkOOkkd;''............',,;;;,''';;,......'''''''.....',:od:''',::;,,',,
........      .loooxOK0';;;:olooolo:,,'..........';::ccc:;,''''.......'.............',,......''.....
......'.       cooxdkKXc,,,::::clll''''''........,;::::;,''........,,................  ....'........
.....'.        .lodxk0X0''':;:cclcld;,,,,;,......,;;;,,'''..':lcc:;,'.'''................;col;'.....
     .          ;oddxO0x...c;::cc;:ol,;;:;;.....',,,,,'''..',cooolc:;,,''...............,:okOxo;....
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                    .  ....... .....,,                              
                                    ......., '.',.;.c.., ..  ;., ....                               
                            ......'., ,., .;,..;.: .;.; .;, .'; .,                                  
                           ,..;, '.;..;,..';'.;.:..:.,..:;..,'. ..:                  ........       
                          ''.,....., ;;.l.:,.;.,;.:'',..''''., '...         ....................    
           ....        ....,..''  ,..c.:'':.;..c.;;.;.';....;..'           .........................
         .........    ......;..;.., ,.,, ..,..c.'c';'':....;....;.       ...........................
         ...........   .,'';;.',.,.  ,'.  ,. ,,.c.,;,;.....,''...  ............'''..................
         ............  .,..,',,..;..'.'.... .: ,,...''''..''',,.';,.. ..,.......'''.................
.         ............  .............. .... : .; '.....,..,.',..,..;..,   ...............  .........
..         ............     ......,..,.. , ,. : '. ,;..' ,..,, .. .. ,.     ...........             
.. .....    ..........           .. .,, '.., ,... '''.. .. .. .' .' ..          ....                
     ................           .' ..:... ; ., ' .:. '..' .,. '  ' .'                               
          ...                   ' .;...' ,. : '. ,, .' , .,' .. .. ' ';,                            
                               ...,'  '.., ;... ,,.., '..,,..' .,.'. ;';.  ..                       
                              .' ''. ...:.', ,...... .'......  ..        ......                     
                              ,....... .'.'   ...                          .....                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
llccll''.       ........x00ldxdd..;:;;;;;;;;;;cOOx;c:;,;;:::;clxk;'::::cccc,;;,,,;:clo: .....loddddd
lolllc'''....   ........;:;;kkxd  :lllllllooo;cO0xoOkO00kXNNlc:,,llloool;,.          .      .xlccccc
lolllc'''',':',,,,,ckOkxdc,ldxdc..x,..','..'c;c,..k00000;;;;:xl:::cccccl.     ..         ....x.....'
,;;;:;''''d..:,,,,,lkOO000Ox::;'.':............,doOxxxxx,c:c0x....''';c;.  .cdo;,.      .',';d...'oK
,,,,''''''c'';',;:;oOxdxd:;.....................kK0:'   .xkdkd...'',lXWl. .,:dc;:;;.     .'';x;;,'ox
':ccc:'''''::;':c,.,c'.................   .......:ddc;',:l::xxc:cccloxo.. coccdkkd;.     .'':KKKKOOO
.'..''''''..k.,d:...........''....      .........;cd0K0cclocldxxxkxddd:.  ,,::ldo:.      .''cO00kcld
        .   Oc..:'..................,;::..........Oool.;l;..,ldddddddxd:.. ;loc;..       .'',llooood
            'd.         .............'............','.  .;clooddololdolddxo;...,;.        '';:cccccc
                        ...............''............':lddooolclolllxdddxxxxkkxdl:....    ..,;:::::;
                       ...................''....... .;:cllclcodddddoooddxxxxkxxxxxkkkxdl,.          
                       ......................''.......;:cllloodxddddddddddddddxxxxxddxOkxo.         
                      .........   ............'''......::;,'okxdddxxxxxxdooolccoxkkxxxxkodl.        
                      .........    .....................,:lc,:dkkkkxd,...........':codooddl,        
                     .........       .......................;'.lodldcd.           ,ll;;coo:;        
                     .. ......         ......................,,.;,:;c;:.          .,,cl;,;,...      
                    ... .....            ....................':''.....','..       ':o:cll,......    
                 ... ......  .... .       .................. ..'.........         ;;lo:::,.......   
               ...... .. . .....  .              .......                          ,:,oo:::........  
             ....'',:......':'..               ..................                 ':,:loc::......   
.         ... ..,;::oo...'.......                     .......                     .:;,clllc;......  
..    ...',;:c:cc.'.;ooc,..   ...                                                  .,';cllc,....... 
..    :c:;;;,;,.;:,,,,'',:::. ....                                                   ,;;::;'....... 
..   .:clcclccccccccc:;;,'..       .......                                           cooool.    .  .
..  ..,,;;::cclllcc:;,'....     ...........                                            '::,. .. ....
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
XXXXXXXXKXXXKKKKOdc;xdlllO0:,,0ol;lk; ,lxO:Ok0OOK;:dc:XOOddooxkkxxdkOkdlc::c. ;kkkx0Xdoooc'.';...lo 
XXXXXXXXXXXKKKKOd;:odll:dkOxooOxoo,;lxoccd:xdkOOXlldc:XOkoolxxlloddxxo;;:loo; ;kOOxk0Okkkd,..;;.... 
ldxkOKKXXXXK0OOxoldol::.oxddxdxdxddl:,:dkxcoodOkdoclddXOol;,lkdOxllc:ldlodooxooc,'...ld,';,',;o.    
,,,,:cdKXX0Okdloxdoc,clcll::cllclllc:,'',clccdddool,.,kOkccllkXk. .,;cxkkxc;,oddooodccc; ..'',cd.   
..','..kKOxxc,,coll;;oxl.....';c:ccclccodccdOd:cllox,,kKKOx:coK'   .lllo'.  .clloddlc;..;o...',c'   
,. ....Okdxdllo:;::.;c:.''. ..',''o,,,:lxx::::lododxllk0KkO:ccc ....cclcol. ;ol;;dc,,;,::;          
,'',, ckxkkkd::c::;';:,,locclc;:, '',,,,;odl.codddddo:00KkOl:c;'.....',,;:',;coddoldo:;l:l.         
'',. ;xddkkol;,'..',;:::,';c,',:o.'..''''c::'cc,:l';l;:dO0Ok'.'.         ';,,,;cc;::;':c,do,        
lc:,.oOOOxdxll,.'c,;;;,:doodclldd;...''''':,';ldooooc;,:,oXXlcl;..       .....,:;;,:cc:,,dd.        
loo:cdKX0dxooodlkOc.'',,:cc:;:;;o;.......',. .;::;;,.,,,.lkk:cl:c:,.     'o,koccclooollOloc.        
.';lOXXx;:clodooO0Ol''''.':;,'.,:;''..'oool:coccclllkOcc:xOOloolclol..', .ccokkddddodoxdollc.     ',
.lk00KO;::::cc:;;dc.......;llccc,..''''ckoc;:;;:ccclkOl:;'d0l:coolc:'..   .'..',;:'..:coddl:.    ;:c
:lxkkko;cc:;;..',..........,c:,.........:xoxl;:cdxkxolc,,.:ko:,,,,,;;..','...''''...'';:ccc:    . .,
;;coddc:ccc;ddool;;;;::::cokl:;........:c:::dkkkkxdlc;,:oddocc:,:clc:c:looo;';;::     .''cc:     ...
,,;:clc::c:,dc;'..........,ccclo........,,;:lxxxxxxxdcdxoollc:o:lodoooollc:;,;;c,     ;'.,''..,. ...
.',,,;:::;,cd,,,..,,'',;;,.,ccc::;.....  ..,cdxdxxxdddoc;..'.';loodddddc,';,',;;:;...':'',,'. .. ...
,,;,'''''.'lxc...'..         ..',;::;'..  .:lxxxxxdol:;.  ....,:::ccllc'.',,',;:cccccc:;....      ..
.. .'....'llo;......         . ..''',,,;:ldxxkkxoc:ccld. .'...:;,,;:l;,;..,'.',;;c:cccc:,'       . .
ddxl''...;locl..  ..              .';ldxxxdolcccclodood;,l;''''.';;c,;.,..''.'';:ccccc:;:;.......  .
;;...'...;clocc,',;c.     ..',:cldddcclc;'..:cllllcclod:,;......','''.,..,:,..',:::;;;::;:......    
..'...',;:::llc:cool    .',;;:cclc'... :'..':cccc:;llll:,;........'.. .'cc;..''',,,,,,,,;lc,........
    .'.     ........     .:ccll,. .    .................cx.           'cc,. ........... .xko:;,;;;,,
c:odxl;..............            'o,.,,...'dc''''.''',;;:c:;,.      .;c;.  ............ .:'llol:lol:
lol::;:clolllll,........    .    co,.,;;;::clclccxoooooxdclllc ..',:llc:..............  .;..;:,ldc;;
o;',:,,;,:cc;:;....... ....  .   .:c:;::loclccolc:l'cxdl;;oodo.....l,lc:;.............. .:.....':;,,
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
KcMMMMNdOMMMM0lMMMMNoKMMMMOoMMMMNlXMMMWkdMMMMXlNMMMWxkMMMMKcWMMMWdOMMMMKlMMMMNo0MMMM0lMMMMNoKMMMMkoM
N'WW0MWooMKNMN'WNKMWckM0WMX'MNKMW;0M0WMO,MXXMN,KW0MWkcMXXMN.NW0MWdlMKNMN'WW0MWldMKNMN'WNKMW:OM0WMK'M
0x0NxMXkkXkXM0k0NxMXkONxNWOk0XkMXkONxWWOkKKOMKkONdMNOkK00M0xONxMNkkXOKM0x0NxMXkOXkNMOk0XkMXkONxNWOkK
0;MMMMNlkMMMMO;MMMMXc0MMMMk:MMMMX:KMMMWdlMMMMK;XMMMWodMMMMK,WMMMNoxMMMM0;MMMMNckMMMMO:MMMMX:0MMMWxcM
0.OXdMXccXkKM0.0XxMX;oNxXWO.0KkMX,dNdNWd'KKOMK'xNoMNo;K00M0.kNdMNl:XkKM0.0XxMXccXxXMO.0XkMX;oNxNWk.K
WkMMKMM0KMXWMWkMWKMM0XMKWMNOMWKMMONMKMMXOMNXMMONMKMMX0MNNMMkWMKMMKKMXNMWkMWKMM0KMKWMNkMWKMMOXMKWMNOM
K:MMMMNokMMMM0:MMMMXc0MMMMOcMMMMXcKMMMWxlMMMMK:NMMMWddMMMMK;WMMMNoxMMMM0:MMMMNlkMMMM0:MMMMXc0MMMWkcM
0:OXlMXooXo0M0:0XlMXldNlXWO:00oMXcxNcNWx:KOxMK:kNcMNxlKkkM0;OXcMNdoXd0M0:0XlMXooXoKMO:0KoMXlxNlXWO:K
WxMMWMM0KMWMMWkMWWMMOXMWMMNkMWWMMONMWMMXOMWWMMkNMWMMX0MWMMMxWMWMMKKMWMMWxMMWMM0KMWMMWkMWWMMOXMWMMNOM
K'MMMMNldMMMM0,MMMMX:OMMMMO,MMMMX;KMMMWx:MMMMK,XMMMWdlMMMMK.WMMMNooMMMM0'MMMMNcxMMMM0,MMMMX;OMMMWk,M
0dOXcMXxxXl0M0d0XlMXxkNcXWOd00oMXdkN:NWkdKOxMKdON:MNkxKkkM0oOX:MNkxXo0M0dOXcMXxxXlKM0d00lMXxkNcXWOdK
KcMMMMNdOMMMM0lMMMMMMMMMMMOoMMMMNlXMMMWxdMMMMXlNMMMWxkMMMMK:WMMMWdOMMMMMMMMMMMMMMMMMMMMMMMNoKMMMMkoM
N'WW0MWooMKNMN'WNKMMMMMMMMX'WNKMW;0M0WMO,WXXMN,KW0MWkcMXXMN.NW0MWdlMKNMMMMMMMMMMMMMMMMMMMMW:OM0WMK'W
0x0NxMXkkXkXM000NxMMMMMMMWOk0XkMX00NxWW00KKOMKkONdMN00K00M0O0NxMN00XOKMMMMMMMMMMMMMMMMMMMMXkONxNW0OK
0;MMMMNlkMMMMMMMMMMMMMMMMMk:MMMMMMMMMMMMMMMMMK;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX:0MMMMMMM
0.OXdMXccXkKMMMMMMMMMMMMMWO.0KkMMMMMMMMMMMMMMK'xNoMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX;oNxNMMMM
WkMMKMM0KMXWMMMMMMMMMMMMMMNOMWXMMMMMMMMMMMMMMMMMMKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKWMMMM
K:MMMMNokMMMMMMMMMMMMMMMMMOcMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
NKXNNMMNNMMMMMMMMMMMMMMMMMMXMMNMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWWN
MWWWWMMMMMMMMMMMMMMMWMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOXMMMXWXK
NWXXXWNNXXNNXNNNNXNXXXNWNWNWWWWMWMNNNNXWMMMMMMMMMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX;OMWMNMWN
olcxkNK00K0KNNNNNNNKOOXKXN00KN0WWWWWWWWWWWWWWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNWWWXOco0cO0olO
'..;XW0XWWKNWNWMMMMWNMNWNMMWWWWWWWNkdNWWWWMWWNMMNMkdxdKxkddXMNMx;o00KOOWMNMNMMMNXXXMMMWW' .....    ,
,odlXMNWMWNWWNWMMMMWNMMMMMMMMMMMMMMWWMMMMMMMMMMMNMWMWMMMMWMMMNMNxXMMMMMMMNMWNNNNNNNNNNNM0;,,,,,,,,;K
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
lc:clccllllllllloloollooddooddddddddxxxxxxxkkkkkkkkkkkkkkkxdxxxxxxxxxxxxxxdddddooooooolllllllccccccc
doooollllllllloooooollooddddddddddddxxxxxxxkkkkkkkkxxxc;''....;codxxxxxxxddddddddddoooooooooooolllcc
ddddolllllllooooooooolooolccccccccllllllllllllllllll;..','.......cxkOOOOkxxkkkxdl:coxxxxxdoddddddc,,
dxxdollllllloooooooooooolc:;:;:looodooooooddxddoccc:.cc::::::;'.'.lkkOOkxdxkOOkkoc:oxxxxddddxxdddl;,
ddxddollllloooooooooooodl:;cooldxxkkxddllxkOkxxkkOO;;;,;::;',lx:...k0OOko:cdkkkkko:odxxxdddddxxdol:;
dddddllllccccccl:::::codl;.';odxloxkkOkolxOOOOOOOOd.o:,:cc:;:cxx...;OOOkdllodddddocllllllllllccccllo
ollddlll:,,,,,c;..'''.'cll:...';..';clolldxxxxdddd; c::::;::clkl....l0000OOkkkkkxdddooooodxddooollll
dooxxooo:,,,',:,.''''';lollc...........;cdk00Oxddd. .l:;,,;;cll.  ...oO00K000000klll::cc:okxoollc:cc
xddkkdodc,,;,,:.'''''.cooooll'....,;:cl,.,dk00xlo:.  .clccllc;.    ..,oxkO0K0000kl;;;;:::dOOkxxxk000
xxxOOxdkl;,;,,cc'','.:odddoooc,ooooool:ol:,oK0xlo'.    .,,;,,,.    ...:OOOxo:,,:looooodddOKXXXXK0000
:;cdOxxko;,;,,ld:,,,;oddddool'..ldddd:.,ll,lK0kdo'..    .',;;,...  ...'dKk:''',;:ldoooodoOXXK0KNXXXX
;,,:dddko;,;;,coc,,:clllllll:....cdddl,..::cd0KK0'..    .,;;;;,,,......;0Xx:::codxOOOO000XKl,';oXWWW
..',:loxo;;;;;ldo;;ccllllooo'.....;doll:..:,:cKNx...   .,;;;:lc,......',c0Kc:cccox0XWWWWWWXl,'',lk00
',;:cldkd;,;;;ldo::,:lllloo:.......'llllc',,::o0,...  ':clll:'..........,lXNOkOl,,;:oKWWWWWXko;;cddx
o;;:ccokd;;;;,lxdc:::cclc,':.......;lllllll,;:::...  .',;,..............'cdWWNk;,,,,,;x000Okxdooooll
kl':lldkx;,;;;lddc::ccccllc;,......ddolllloc,;,.     ...................'';dc:,,,,,'',:cclllllllllll
0O',codxd;',;;;;;;:::llllllll:;,',cdddollldo;,.     ..........;ddddddoll;.,clxxl',,...'cccccc:::::::
Kk,;ldodxxdoolllc::c:ccccccccccc:,;cloddlodo:..    ..........'clcccc:::l..,cod:........:lllllcccc:::
XkokKOOXXxloo:c:::::clc'',:c:;,,,,;ccoddooxd'..    .........;cccccccc:..  .,;;cllcccc:::;ccccccccc::
XKO0kdx0Ol:do::llllok0doc;;::co0kl;;:ccddddd,,. ...........;cccccccc,..;k0KNO...,:cc:;;;;,'.........
:lxoc:codc;cldccllloO0ddddolclk0Kkkl;:ccclclc::...........,:cccc::;...'c:;;::.....:c'...'....... ..,
':lc:;:cc:::;;;;;;;::::clloollolccccclc;;;;:cccccccccccccc::cc:::'  . .:;,',l,....x;....;.lOxc,;;;,,
;;::::;;;;;;;;;:::::::::cccccccccccccc:....,,,;:;;;:::::::::::;'.      ::;..,:...;k'...,,.:0K000Okc'
,;;;:;;;;;;;;;;;;;;;;;;:::::::::::::::c,,,,::::c.......',,;;,'.       .;,........ld'.'cl'.,oll:;'...
',,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;::cc''''oclxO; .       ...             .';:';;xc'.'oc............
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
 ... ...,''.,..'ckcdlxdxdk0KkkKXNXKd:;::;:;;odOkkOOOOOOOOxkdddOO:,;ccclkOO000000K0Oxxkdlx:,c........
.. ............,;l'c:KXXlONONNNNXOdldoocccc:lkdxxxdxocdOlloc:lddc::cOxoooooddxxxkOkdl:;.............
...... . ............;cl':dlKKXXOx:::ooocooolcc:cdddll:oxcoccooodxddlodkxxkddxkol;'.................
.... . ............. .......:;xx,odxdxkdddoxxdllccc:cclldxoo:ccl:col:lll;;c:,.'.....................
...... .  .............'......:...ckdo:'cocddoodllc::ldoddlolc::c;''.'.'..........................'.
...... .  .... .....  .'...........;''...;,,;,:l;:,,.'''''..........................................
.... .    . .. .....  ............................................................................. 
....      . .  ..      ......... ..........................................................    . .  
.....  .  .  ....      ......... ........... ................................ ... ... ...... .. .   
....'.....    ...  .   .......   ...... .......... ... ...................... ...   .     .. . .....
.........      ...... .... ...    ..... .............  .. .    ..... .. . .    ..  .       ..   .'..
...'.   ..   ......'... .. ....  ...... .......  .. .. ..       ..   .. ...     .....       .    ...
  ..........  ... .'......  ...  ............... .. ..... .............   ..      ....     ..... .'.
  ........... ..'.......... ..........';,.'................................,........'...............
 ...,,''..............''.','''........',............................................................
 ...''''''.','.'''.'................................................................................
.....''''''........'................................................................................
..........''.''...''................................................................................
 ....''....',''''''...'....... ,....................................................................
..';c:;.....'''''''''','''''''..'...................................................................
...,...  ...'''''''