                                 .d88b. 88888b
                                 `88888.`88888
                                  `88888.88888
                    .d88b.  .8b.  j88888888888.            ,
                   '888888.d8888b 8888888888888.     d8    8  .dP
           8. .8    `88888888888'j88888888888888b.   88    8ndP'
           `8 8'    j`888888888'.88888888888888888   `8l  j88'    .d8b
            `88.   .8b`8888888'j88888888888888888P    l8.,88'  .d88"'
           4b888. .88f l88888f 8888888888888P"""'    __8888'.d88"'
            `4888.88P   88888 j888888888888'.d8b. d8888888888"'
              `48888    l8888 88888888888P'.88888 l8888888"'
          db._  `488b.db 8888 8888888888f d888888l 8888888.         _
          `"48888888888f 8888 8888888888 j88888888 88888888.     .d88
             `888888888  8888 888888888f 888888888 888888888b._.d888P
            .d888888888  8888Y88888888P j888888888 8888888888888P48.   .
        .d j88888888888b.88888888888P'.d8888888888 888888888888'  `8b.d8'
      d.88.88'.d888888888888888888P'.d888888888888 888888888888l   `88P'
      `48888b.88'`48888888888888P'.d88888888888888 8888888888888b..d8'
        `888888P.._`8888888888P'.d8888888888888888 88888888P".d888888.
         8' d88888888888888P'.d88888888888888888P'.8888888'.d888888888b.
      8. " jf `"488888888P'.d88888888888888888888888888888d8888P'.888888b.
      `4b. 8'    `488888'.d888888P"'  `"88888P""+8888888888888' .88888 `47
        `+4888888888888'j888888P' '     l8888  ,'`488888888888b.888b`8.
           `4   .88888'.88888P'. j     ."8888 .'  j8`8888888888888'8b`q
               .88888'.88888l   `:   .'| l888'  `.8' `88888888888f `8
              .88' 88.888888 `._ ` ,'  ` .888l  .8'   `8888888888   8
             .88'  `"8888888   ,".'     ' l888 .8'     `888888888b._P
            .8P      l888888`-'   `.   j   888l8'`.   .'`888888888888L._
           d8'        888888  `+..'d.  |   l888'   ` .   `8888888  `"4888b
                      l88888. /    8 `.+    888l    Y     l888888    `8. `
                       888888.    'P    `-._8888    |`.___,888888     `48
                       l888888._.' `        8888l-._|      888888
                        8888888b._  `.    .888888  .`.     888888
                        `8888888888b._`_.d8888888l'   `.   888888
                         `888888888888888888888888.___.'.  888888
                          `488888888888888888888888.     .j88888f
                            `48888888888888888888888.  .' 888888
                               `488888888888888888888.'  j88888'
                                  `4888888888888888888b.,88888'
                                     `"4888888888888888888888'
                                        `488888888888888888P'
                                          `48888888888888P'
                                            `"++888888+"'


