d888888o.           .8.          8 8888   8888888 8888888888 8 8888888888   8 888888888o.     
 .`8888:' `88.        .888.         8 8888         8 8888       8 8888         8 8888    `^888.  
 8.`8888.   Y8       :88888.        8 8888         8 8888       8 8888         8 8888        `88.
 `8.`8888.          . `88888.       8 8888         8 8888       8 8888         8 8888         `88
  `8.`8888.        .8. `88888.      8 8888         8 8888       8 888888888888 8 8888          88
   `8.`8888.      .8`8. `88888.     8 8888         8 8888       8 8888         8 8888          88
    `8.`8888.    .8' `8. `88888.    8 8888         8 8888       8 8888         8 8888         ,88
8b   `8.`8888.  .8'   `8. `88888.   8 8888         8 8888       8 8888         8 8888        ,88'
`8b.  ;8.`8888 .888888888. `88888.  8 8888         8 8888       8 8888         8 8888    ,o88P'  
 `Y8888P ,88P'.8'       `8. `88888. 8 888888888888 8 8888       8 888888888888 8 888888888P'

   d888888o. 8888888 8888888888 ,o888888o.     b.             8 8 8888888888  
 .`8888:' `88.     8 8888    . 8888     `88.   888o.          8 8 8888        
 8.`8888.   Y8     8 8888   ,8 8888       `8b  Y88888o.       8 8 8888        
 `8.`8888.         8 8888   88 8888        `8b .`Y888888o.    8 8 8888        
  `8.`8888.        8 8888   88 8888         88 8o. `Y888888o. 8 8 888888888888
   `8.`8888.       8 8888   88 8888         88 8`Y8o. `Y88888o8 8 8888        
    `8.`8888.      8 8888   88 8888        ,8P 8   `Y8o. `Y8888 8 8888        
8b   `8.`8888.     8 8888   `8 8888       ,8P  8      `Y8o. `Y8 8 8888        
`8b.  ;8.`8888     8 8888    ` 8888     ,88'   8         `Y8o.` 8 8888        
 `Y8888P ,88P'     8 8888       `8888888P'     8            `Yo 8 888888888888