.--------------
                  .---'  o        .    `---.
               .-'    .    O  .         .   `-.
            .-'     @@@@@@       .             `-
          .'@@   @@@@@@@@@@@       @@@@@@@   .    `.
        .'@@@  @@@@@ ___====-_  _-====___ @         `
       /@@@  o _--~~~#####//      \\#####~~~--_ O     \
      /     _-~##########// (    ) \\##########~-_  .  \
     /@  o -############//  :\^^/:  \\############-  @@ \
    /@@@ _~############//   (@::@)   \\############~_ @@ \
   /@@@ ~#############((     \\//     ))#############~ @@ 
   |@@ -###############\\    (oo)    //###############- @ |
  / @ -#################\\  / "" \  //#################- . 
  |@ -###################\\/      \//###################-  
  | _#/:##########/\######(   /\   )######/\##########:\#_ 
  | :/ :#/\#/\#/\/  \#/\##\  :  :  /##/\#/  \/\#/\#/\#: \: 
  \ "  :/  V  V  "   V  \#\: :  : :/#/  V   "  V  V  \:  " 
   | @ "   "  "      "   / : :  : : \   "      "  "   "   |
   \ .  o       @  @@@@ (  : :  : :  )  @@  .           . 
    \      @@@    @@@@ __\ : :  : : /__            o     /
     \    @@@@@   @@\@(vvv(VVV)(VVV)vvv)       .        /
      \ o  @@@       \ \  /  __        .   .     .--.  /
       \      .     . \.-.---                   `--'  /
        `.             `-'      .                   .
          `.    o     / | `           O     .     .'
            `-.      /  |        o             .-
               `-.          .         .     .-'
                  `---.        .       .---'
                       `--------------