    .'''''''''''''''''''''''''''''''''''
  oocc:::::::::::::::::::::::::::::::cox
 ;00;                                o0O
 .,:'  .;;;;;;;;;;;;;;;;;;;;;;;;;;   ;:,
  .',;;cxOOOOOOOOOOOOOOOOOOOOOOOkd:;;,..
     .,cll:'                 ':llc,.
    ,;;:okxdxd:           :dxdxko:;;,
   .xxxx0XNNK0O.         .O0KNNX0xxxx.
       ,$2cc:$1,.               .,$2:cc$1,
 ........;$2ccc:$1;.         .;$2:ccc$1;........
 $2ccccccccccccccc         ccccccccccccccc$1
 ........;$2ccc:$1;.         .;$2:ccc$1;........
       ,$2cc:$1,.               .,$2:cc$1,
   .xxxx0XNNK0O.         .O0KNNX0xxxx.
    ,;;:okxdxd:           :dxdxko:;;,
     .,cll:'                 ':llc,.
  .,,;,ckOOOOOOOOOOOOOOOOOOOOOOOOx;,;,'.
 .:l'  ...........................   ;:;
 lOk'                                cdd
 ;lccccccccccccccccccccccccccccccccccc:.