.                  oooo 
                                                                  .o8                  `888 
ooo. .oo.  .oo.    .oooooooo  .oooo.o     ooo. .oo.    .ooooo.  .o888oo     oo.ooooo.   888 
`888P"Y88bP"Y88b  888' `88b  d88(  "8     `888P"Y88b  d88' `88b   888        888' `88b  888 
 888   888   888  888   888  `"Y88b.       888   888  888ooo888   888        888   888  888 
 888   888   888  `88bod8P'  o.  )88b .o.  888   888  888    .o   888 . .o.  888   888  888 
o888o o888o o888o `8oooooo.  8""888P' Y8P o888o o888o `Y8bod8P'   "888" Y8P  888bod8P' o888o
                  d"     YD                                                  888            
                  "Y88888P'                                                 o888o           

                  ,               /                               ,   /                                       /
----__--_/_-----------__----__---/__----__---)__----__------__-------/----__---_--_----__----__---------__---/-
  /   ) /       /   /   ' /___) /   ) /___) /   ) /   )    (_ ` /   /   /___) / /  ) /   ) /   )      /   ) /  
_(___(_(_ _____/___(___ _(___ _(___/_(___ _/_____(___/__o_(__)_/___/___(___ _/_/__/_(___(_/___/__o___/___/_/___
                                                    /                                               /          
                                                (_ /                                               /