-:/hMMMMmy/.                                               
                                       +mNNMMMMMMMNNmhs+.                                           
                                     /dNmhssyhNMMMNNNNNNNh:`                                        
                                    -mmo/::---/yNNmNNNNMMNmds.                                      
                                    oh+:::----.:dNNMNMNNNNNNmm/                                     
                                    o/:::---....+NMMMMNmNNNmNmm/                                    
                                   .hhs+/+sso/---sNMMMNNNMMNmNmm+                                   
                                   /mNm+/ymmhyo++/hMMMMMMMMMNMNNmo                                  
                                   shy/-::hmmdmds++mMMMMNMMMMMMMNd/                                 
                                  /+/:::-.:/++/---:oMMMNNNMMMMMMNNy`                                
                                `ss+hdh+/----.--:/+omMMMMNNNNNMMNNd:                                
                                sdssso//-:-::/++osyydNMMMMNNNMMMNNmo                                
                               `mmydddh+::/+oosssyyhdmNMMMMNNMMMMNmy.                               
                               -mmsyyysso++oooooosydmmNMMMMMMMMMMMmd-                               
                               .mmsooo+//+ooooosyhdmdNMMNNNMMMMMMMNm/                               
                                oNdyso+/+ossyhddmNmyyNMMMNMMMMMNNMNd/                               
                                `hmmydmddmmmNNNNmho+yNyMMMMMMMMMNMMm.                               
                                 :mNomN+hdmNNmdyo///yN/MMMMMMMMMMMMm-`                              
                                  +NdNdoshdhyo+///:+hMNMMMMMMMMMMNMNy-.                             
                                  `hmNNmyyhso++//::+yNMMMMMMMMMMMMMNNd/                             
                                   /NNMNysyso++/////smMMMMMMMMMMMMMmyNs.                            
                                  `.yMMMhsoso++////+ohNMMMMMMNMNmNNNNs---                           
                            `.-:/+shmMNmhyoooo+++///+yNMNMMMMNd+yNMNN+:--.                          
                         `-:/+oyhdmmmmhysso+ooo++//::sNNMNNMMdy/mNNNd-.----`                        
                        .////++++sssooo//////////::-/odMMmNNNyssNmdMy:::::::.                       
                       .oo++++/////++++::::--::::--:+/yNMNNhhh/odmdMhoo++//::-`                     
                      `osssooo+/::::/+o//::--::::::o//syNMMdohooohmMyssoo+////:.                    
                      /syyyys+//:::::+o///:::::://s//oyyhNMNyhyyyoyNy+ooo+++////-                   
                     `syyhhyo+//:::::/+//::::::::++:://:-+shmmmdo+oddoooooooo++++:                  
                     :yyhhhyo//::::::/o/::::::::++::://:-.```...::/odmdhysssssooo+:`                
                     oyhhdddo/:/:::::/o/:::////+o::::--.``````..--:oNMMNdhyyyyssoo+/`               
                    :yhhddmNs/:::::::/++/://///s/:::--..``````.--:+hMMNmNmdhyyysssoo+-              
                   .yhhddmmNh/::::::::/o:://++so/::::-.```````.--:+hdN+`sNmdhyyyyssso+:`            
                   shhddmmNNy:--::::--.+-.:/+oyo/::::-..``````..-:+yys   :dNdhyyyyyssso/`           
                  /hhdddmNNy:---:---.``/:`-/+syo/::---..``````..-:+sy:     oNmhyyyyyysso+.          
                 -hhdddmNNy::------.```//..-oyy+/:---..``````...-:+yy`      :mmdhhyyyyssso-         
                .yhddmmNNh/:--:::-.```.:o-.:ssy+/:----.`````...--:+y+        `hNmdhhyyyyyso:        
                ohhdmNNNNso+::::::----:/s/:+++ys+::----..`.-----:/oy-          oNmddhhyyyyso:       
               `yyyyhmNNmhhso++++////++sy++s//hys+//:://+:/++/++osys`           /mNmdhhyyysss:      
               `yyyssyhdd+hhhyyyyyyyyhhdhsyo+ohmhyssooyyhmdyhyyyhhy+             .dNmdhysssyss-     
                /hyyssyyh/-sdddmmmmmmmdsyys+osymNdddddmmmmNmmmmmmhy-              `sNmhyssyyyyy`    
                -hhysoyyhy  -+ydmNNNmhoohysoosydNNNmmNNNNNNNNNNNmhy`                +dysssyhhhh-    
                 yhhyyyhhh-    :hddhsooyyyooosshdNNNMMNNNNMMMMNmdh+                 +yyssyhhhhh`    
                 :hhhhyhdh/    :hhhsoodmmmy+oossydmNNMMMMMMMMNmdhh-                -hyyyyhhhdd/     
                  ohhhhdddo    :hyssoomNmNmsossssyhdmNNNMNNNmdddhy                `yhyyyhhhdmo      
                  `yhhdmmmh    +sooossdMMNNhssyssyyyhddddddhhhhhh+                +hhyyhhddmy`      
                   -hddmNNm/  :soooosymMNMMysyysyyyyyyyyyyyhhhhhh:               .hhyyhhhdmd`       
                    +dmmNNNds+hyssssyhmNmNmyyyyyyyyyyyyyyyyyyyyyy-               shhhhhhddm-        
                     ydmmmmddhohdyyyyhmmNNNhhhyyyyyyyyyyyyyyysssy:              /hhyhhhdmm:         
                     -dmdhhsymdNNmdhyhmmNNdyyyyyyyyyyyyyyyyyysssyo             :yyyyhhdmd:          
                      /hhhmdyyhyhNNmhyyhhyyyyysssssyyyyyyyyyssssss:           :yyyyyhhmd-           
                       ohmddmmyoNmyNNydyyyyydhyssssyyyyyyyyyyysyyyh.         :hhyyyhdmh.            
                       `shNdhyhmNNmNmNNyydhhdhhyyyyyyyhhhyyyhhsyhhdd/      `ohdhhyhdmh.             
                        -yydNmdddNNmsNNNmNNmNhsddyddyyddyyddosoosydd:`    .sdhhddmNNy`              
                        -mdymdNNNdNNNNNhyNNdNNmNNmNNhdNNNNmdhmmNNNNdso+/:+yhhhmhydNh/               
                       `ydNNddNNNhNNhNNNmNNhhNNmmNMMMMmdNMmymdsyhhhhyysssssysdNmmN+`                
                      `ydmhNNNNdNNNNmNMNdNMNmNMddMmhNMmhNmyhdhhdNNNmhysyyssyhmNNd/                  
                      omNmdNdNmhNNhmMmNMNNMNMNNMMMNmNMNNNddNMNNNmdhyhmmhyhhhhdmy.                   
                     .mdmNNmhNNNNNNNMdNMMMMNMNdNMMNNMNhmNdhmdhhydmNNNmmdmmmmho-                     
                     sddNdNNNNNdhNNMMNMMmmMMMNMMMMdmMMNNMMmydNNMMMMNmhs/:--.`                       
                    `dmNmhNdyNNNNNdNMmmMNNMMNmNMmmMMMNNMNNMMMMMMNNNNh.                              
                    /NNdNNNNmNdmMMNNMNNMNNMMMNMMNmMMMmdMNdMMMMMNNMMMm                               
                    ydmdNdNNNNhNMMmmMMMMNNMMNNMMNNMmmMMNMNMmNMmmMMNMM/                              
                    ddNNmhNmNNmmMMNNMMNMMMMMNNMMmmMNdNNdmMMddNNNMNmMNd-                             
                   `mNNmNNmyNNddMMNdNMMMMMMMNMMMNMMMMMMNmNNNNNhmNhdNmdd.                            
                   `dNmdNNNNMNMMNNMMNMMMMMNydNMMNNMNmMNNNNhdNNmmNNmNmNmy                            
                    mmMMNdNMNhNNhmMNdNMMMMd `/mMMMMMNMNdmMNNMNNNNNmNdhmh:                           
                    mmMmNdNMNmNMMMNMNMNMMMh   -NMMMMNMMNNMMmNNymMNymNNNN+                           
                    dMMdNMMNNMNMMNdNMmmMNM+    /MMMMNMMNmNNddMNNMNNNNhNdm.                          
                    hNNMNMNdNMdmMMNMMMMMMN`     sMMMNMMMmNMMNMMMMhhMNdNmN+                          
                    sNNMmNMMMMNNNNMNmMMNMy      `hMMMMMmNMMNmNNdNNNMNNNNmd                          
                    +mMMMMMmmMMNmNMMMMMNM-       `dMMMMMMMMNmNMmmMNMNhNNhN-                         
                    -MNmMMMMMNMMMNmMMmMMm         `hNMMNNMmNMNNMMNhmMMMmNN+                         
                     NNMMmNMNmNMMMMMMMNMo           sMMMMMNNMNdNMMNMmdMmmNs                         
                     yNMMMMMNMMNmMMmNMMN.            yMNMMNMMMMMmmMMNNMMMdd`                        
                    `+MNNNMMNNMMMNNMNNNm              yMMMNMMmNMNNMMNMMdmMN/                        
                     -NNMMMNMMNMMNMMMMNd               dMMNMMMMMMNMNmNMMMmNs                        
                      hMNNMMMMNMNMMmMNNy               `mMMMMNNMMmNMMMmmMNNN`