__  __ ______ __  __ ______ _   _ _______ ____    __  __  ____  _____  _____ 
 |  \/  |  ____|  \/  |  ____| \ | |__   __/ __ \  |  \/  |/ __ \|  __ \|_   _|
 | \  / | |__  | \  / | |__  |  \| |  | | | |  | | | \  / | |  | | |__) | | |  
 | |\/| |  __| | |\/| |  __| | . ` |  | | | |  | | | |\/| | |  | |  _  /  | |  
 | |  | | |____| |  | | |____| |\  |  | | | |__| | | |  | | |__| | | \ \ _| |_ 
 |_|  |_|______|_|  |_|______|_| \_|  |_|  \____/  |_|  |_|\____/|_|  \_\_____|
      .                         .                             .
                      .     *          .
                .
                                .
   *              .                                    .
                                      .           '`                   .
      .                                         '`
                  //////
                  //////                                    ######
                 (//////)                                  ########
... ..  ..  ... . ////// . ... .())((() .. . . . .... . . . ..   . . ...  . . .
             _____|____|_____  ((()(()))                   /   /  /
            /                \ (((((((()                     /  /
           |                  |()(()(())_
           |                  |(((()()() |
           \                  '\()))))(  |
            \                   \(((((  /
             \              .    \___. (
              \            / \    |:| ) \
              |            | |`------'   |
              \____________/  \_________/                             
 .................................................................................