_              _
            .|:|oooooooooooo|:|.
         d888|:|888888888888|:|888b
       d88888|:|888888888888|:|88888b
     d88888888\:\8888888888/:/88888888b
   d8888888888"|:|""""""""|:|"8888888888b
  d888888888"  |:|        |:|  "888888888b
 d888888888    |:|________|:|    888888888b
d8888888888b  .d888888888888b.  d8888888888b
d888888888b") 8888888888888888 ("d888888888b
d888888b".-'8888888888888888888b`-."d888888b
 d88"_.-' d88888b"'______`"d88888b `-._"88b\
  `-'    d888b" .-' _   _`-. "d888b    `-' \\
        d88b" .' _ (3) (2) _`. "d88b       //
        88/  /  (4)       (1)_\  \88       \\
        88| |  _    .d8b. ==' `| |88       //
        88| | (5)   88888  (O) | |88      //
        88| |   _   "d8b"  _   | |88      \\
       .88\  \ (6)  _   _ (9) /  /88.     //
       d888b. `.   (7) (8)  .' .d888b     \\
      d888888b. `-.______.-' .d888888b    //
     88888888888q.________.p88888888888 _//
    888888888888888888888888888888888888-'
   d888888888888888888888888888888888888b  hjw
   00000000000000000000000000000000000000