,-.----.           ,--,    ,----..           
          ,----..      ,---,.\    /  \        ,--.'|   /   /   \          
         /   /   \   ,'  .' ||   :    \    ,--,  | :  /   .     :         
        |   :     :,---.'   ||   |  .\ :,---.'|  : ' .   /   ;.  \        
        .   |  ;. /|   |   .'.   :  |: ||   | : _' |.   ;   /  ` ;        
        .   ; /--` :   :  |-,|   |   \ ::   : |.'  |;   |  ; \ ; |        
        ;   | ;    :   |  ;/||   : .   /|   ' '  ; :|   :  | ; | '        
        |   : |    |   :   .';   | |`-' '   |  .'. |.   |  ' ' ' :        
        .   | '___ |   |  |-,|   | ;    |   | :  | ''   ;  \; /  |        
        '   ; : .'|'   :  ;/|:   ' |    '   : |  : ; \   \  ',  /         
        '   | '/  :|   |    \:   : :    |   | '  ,/   ;   :    /          
        |   :    / |   :   .'|   | :    ;   : ;--'     \   \ .'           
         \   \ .'  |   | ,'  `---'.|    |   ,/          `---`             
          `---`    `----'      `---`    '---'                             
                                  ,----,                                  
          ____                  ,/   .`|                                  
        ,'  , `.    ,---,.    ,`   .'  :,-.----.     ,---, ,--,     ,--,  
     ,-+-,.' _ |  ,'  .' |  ;    ;     /\    /  \ ,`--.' | |'. \   / .`|  
  ,-+-. ;   , ||,---.'   |.'___,/    ,' ;   :    \|   :  : ; \ `\ /' / ;  
 ,--.'|'   |  ;||   |   .'|    :     |  |   | .\ ::   |  ' `. \  /  / .'  
|   |  ,', |  '::   :  |-,;    |.';  ;  .   : |: ||   :  |  \  \/  / ./   
|   | /  | |  ||:   |  ;/|`----'  |  |  |   |  \ :'   '  ;   \  \.'  /    
'   | :  | :  |,|   :   .'    '   :  ;  |   : .  /|   |  |    \  ;  ;     
;   . |  ; |--' |   |  |-,    |   |  '  ;   | |  \'   :  ;   / \  \  \    
|   : |  | ,    '   :  ;/|    '   :  |  |   | ;\  \   |  '  ;  /\  \  \   
|   : '  |/     |   |    \    ;   |.'   :   ' | \.'   :  |./__;  \  ;  \  
;   | |`-'      |   :   .'    '---'     :   : :-' ;   |.' |   : / \  \  ; 
|   ;/          |   | ,'                |   |.'   '---'   ;   |/   \  ' | 
'---'           `----'                  `---'             `---'     `--`