Berend-Jan's profileSkyLinedBlog Tools Help

Blog


    4/29/2008

    New blog

    I've started a new blog, together with my brother at http://skypher.com
    4/6/2007

    Ascii Art The Movie: Mandelbrot Fractal Zoomer on YouTube

    Here's a sneak peak at some of the Animated Ascii Art I'm working on:
    The quality of the movie sucks; blame YouTube.
    3/3/2007

    EUSecWest

    Just got back from EUSecWest, where the contents of some talks allowed me to spend some time creating this:
     
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSYYYYYYYSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS7"`         '*7SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSY777YSSSSSSS'         ____    'YSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSS"`       'YSS7        .dSSSSSS,     'SSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSP`            'S_,cssc,_iSSSSSSSSS]     `SSSYSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSS'                7Y77YSSSSSSSSSSSSP       SS' 'SSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSS`   _,sc,         ;       `'*****"`     _.'`    `YSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSS'   JSSSSSb.       ;       ,__  _   _.-'`          `7SSSSSSSSSSSSSS
    SSSSSSSSSS]'Y]  :SSSSSSSS;      '       SSSSSP;-`            _.,dSSSSSSSSSSSSSSS
    SSSSSSSSSP`      7SSSSSSSSt      \      YSSS"/        _,,sidSSSSSSSSSSSSSSSSSSSS
    SSSSSSSS*         `*SSSSSSS;      \          ]      ,SSSSSSSSSSSSSSP*'YSSSSSSSSS
    SSSSSSS7_   _.,      '7SSSSP     JSS,_       \      YSSSSSSSP7?*"`    'SSSSSSSSS
    SSSSSSSSSS*`  ;_        `'`    ,SSSSSSic,,.,cd,_     `'""``            'SSSSSSSS
    SSSSSSSSV`    SSSb,_    _.-''-7SSSSSSSSSSSSSSSSS=-                    _,dSSSSSSS
    SSSSSSS"      SSSSSSSb-`        `*SSSSSSSSSS'"**-,_ ,,,,....____.,,ciSSSSSSSSSSS
    SSSSSS*       'SSSSSS`             'SSSSS`*Si     ; ]           ```''""'`[SSSSSS
    SSSSSP         VSSSS7         __       `X]  `._   [,]                    :SSSSSS
    SSSSS`      ,dSbSSSS:      _dSb_`',    <S`     vc,dSS,,.___      .__     iSSSSSS
    SSSSS      dSSSSSSSSi     dSSSSS./ \    7       `VSSSSSSSSSSSbs,,;  ``-.dSSSSSSS
    SSSSS     dSSSSSSSSSt    :SSSSSS;   ;    ;        7SSSSSSSSSSSSSSS       iSSSSSS
    SSSSS.    SSSSSSSSSSS    &SSSSS7  _.`    '         'SSSSSSSSSSSSSS:      SSSSSSS
    SSSSSi   `SSSSSSSSSSS.   SSSSS"   \       b,_       `SSSSSSSSSSSSS]     .SSSSSSS
    SSSSSS.   7SSSSSSSSSSi   SSSS'     \      SSSb,-`\   `SSSSSSSSSSSS      dSSSSSSS
    SSSSSSt    *SSSSSSSSSS   7SP`     ,i     iSS`     ;   `SSSSSSSSSSP     ;SSSSSSSS
    SSSSSSSi    'SSSSSSSSP   [7      dSSi   /`VSi      ,   'SSSSSSSSP     ,SSSSSSSSS
    SSSSSSSSi     '7SSSS7`   :     _Sb 'S:-`   VS.     ;     VSSSSSS`    ,SSSSSSSSSS
    SSSSSSSSSb        `       :      ```        'S     7i     'VSSS`   _dSSSSSSSSSSS
    SSSSSSSSSSi,              '        ____...,cdS.    [Sb      '*    ,SSSSSSSSSSSSS
    SSSSSSSSSSSSb_           / ,i,     `.     YSSSI    :SSb         _dSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSb,_      _' .SSSb,     \     VSSL    [SSSb       iSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSV' `--'`  ,SSSSSS,     '.    'VP    ISSSSb   _dSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSb,     dSSSSSSSS.      \.    `    SSSSSSi,dSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSb,:SSSSSSSSSS'       SS,_     .SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSP  ___   YSSSP    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSbdSSSSSbsdSSV    :SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS*    ,SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'     :SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS7*`      dSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSP`        ,SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSP`      _,SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSP`    _,dSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"   _,dSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS_,,dSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

    More ASCII art

    Here's an ASCII I developed for my animated ascii art demo:
     
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSP"""""""*P""""YSSSSSSSSSSSSSSP"""""YSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSP*"""YSS
    S',dSSSSSSb,'SSb`SSSSSSSSSSSSSS YSSSP SSP"""YSSSSSSSSSSSSSSSSSSSSSSSSSSS dSSY SS
    S SSS , sSSP SSS SSSSSSSSSSSSSSb SSS dSS SSS SSSSSSSSSSSSSSSSSSSSSSSSSSS SSS dSS
    S SSS,""---, SSS SSP"""*"""YP*"" YSS SSP"---dP"""*Y*""*YSP*"""""*YSP*""* SSS SSS
    S "YSSSSSSb, SSS S',SSP dSP  dSS",SS SS YSSb`.YSSb,dSSb,',dSSSSSb,',dSSb,SSS SSS
    S:-----,"SSS SSS  ,SSP dSS d SSS SSS SSb SSS S SSS"'*SSS SSS .,SSS SSS*'"SSS SSS
    S dSSP S SSS SSSSSSS(  SSS S SSS SSS SSS """ S SSS S SSS SSSSP**"` SSS S SSS SSS
    S SSS "" SSS SSS  'SSb YSS ',SSS SSS """ "SSb' SSS S SSS SSS - ssd SSS,.sSSS YSS
    S.'YSSSSSSY',SSP Si'SSb YSSP"SSS SSSSSSSSSSP" dSSS 'dSSS "YSSSSSP","YSSP"YSSb SS
    SSbssssssssdssssdSSbsss?---, SSS sssssssssssdbssssdSbsssdbsssssssdSbsssssssssdSS
    SSSSSSSSSSSSSSSSSSSSSS dSS"  SSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSS."YSSSSSP".SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSbsssssssdSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    2/14/2007

    Ascii art - the movie

    I'm working on some animated ascii art, coded in JavaScript for Internet Explorer. I won't be spending weeks manually creating movies frame by frame, but I am creating a few effects that I can use to make the ascii art look more dynamic. On thing I've created is a combination of faders and random generators that "morphs" one ascii art image into another. This will create an effect like tuning a TV: you'll get static in which pictures appear and disappear. I've also creating an ascii fractal zoomer, which can zoom in on a fractal in real time and displays the image in ascii. CPU++ required, I am contemplating creating an option to pre-calc the fractal, so it will run on your grandma's PC as well.
     
    Another project that I'm thinking of implementing is a textured 3D rotating sphere in ascii. Think of this as a globe with the world map on it that can rotate. You could move it around with the mouse. This is still very much in the concept phase, implementation appears to be doable but I'd need to have the urge and time first.
    1/31/2007

    Almost famous

    Today I stumbled upon a book in which I make a guess appearance as a hacker. This book was released some time ago and I was supposed to get a copy off one of the authors, but I assume it's still in the mail ;) PDF version is available online:
     
    I also decided to track down another book I know my website got mentioned in at one point:
    This book refers to my (old) website as a good source of information on content filtering, unfortunately they removed the link after I changed the url of my website...
    ...goes to show you how good the authors are at using the internet:
    <A word from my sposor>
    alternatively, use www.live.com
    </A word from my sposor>
    12/6/2006

    Eyes


       ,ossascii artsssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssso,
      iSP""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""YSi
      SS ,ccrorouooouoooouuouuouusuusssusssswssswswwwwwwwswwswwwssssusssusuuuuouoouooo. SS
      SS ]I[IIIIIIUUIUUUUUUUUUSUUSUUPSUSUWSSSWSWWWWWWWWWWWWSWWSWWSSSSSUUSUUUUUUIUIIIIll SS
      SS ,IIIIUIUUUUUUVUUUSUUSUsUUSUSSSsWSSWSWWWWWMWWmWWWWWWWSWWSSSSVYT*":]:+::+::];*ll SS
      "" ]IUIIIIiIUUIUUUUUUSUUSSUSSSsSSWSWWSWWWMWWWWWWWWWWSWSWSSY*::;;+'T::iii;i;ii:i;] ""
      ss 'l]IUIUUUUUUUUUUsUUSUSSSUSSSSSSWSWWWMWWMWWWSWSSVVYY*"-:^::::;iiWWWMWWSWSSUUII] ss
      SS ]IIIUIUUUIUUUUSSUUSUSSUSSSSSSSWSWWWWWWWSVVYT**::-=,/:/::/;iSWWMWWWSWSWSWSSII]] SS
      SS ]llIUUIUUUUVUUUUSUSSSSSSSSSSSSWSWPbS]IT;I!:;-':/:-ii+:lSUSSSlSWllYlSWSSUUIIlll SS
      SS ]]lIIUIUIUIUSSSUSSSSUSSSSSSSWSSWWIlYd'I/;+I/;+iiiill]lU'|U'l,\|i]!]|])YUIIIIII SS
      SS ]]]lIIIIUUUSSSUSSSUSSSSSSSsSWSWWWWYb]i:illSSSIIIll]]l'i,\'"`'`" '`','/,/i]]llI SS
      SS ]]lllllIIIUUUUUSSUSSSSSSSSSWSWWWSWMSSWSWSSSSIIl]l:,'I.'_,,,..`_`.`. ,_  '.i'.l SS
      SS "**"'`+!!:;!T]lUUSSSSSSSSSSWSWWSMWWMWSWWWSIIl]lI*lb ,,sSSS .`.W .`.`*" .v]]lll SS
      SS .'-'`:-:i:+,:]]lUUUSSUSUWSWSWSWWWMWWSWWSSII]lIl]s, .SSSSSSb `.W` `  . \]l]l]lI SS
      SS _`-`;-,,usss::]]lIIUSSUSWSSWSWWWMWMWWWSSSI]lIl]l' ::.""**""`    ,. \,b\VllIIIl SS
      SS SWSW\Yb\'!i,\Y '"*:!]lIUUSUSWSWWWSWWWSSlI]llWSIP '`.,,/:/:/|| d:'b,Vb]]lIIIIll SS
      SS `*U\"-.'\'__, . ..`'"?!]llISWSWWWMWWSSSl]l]USUI,iIll]ili:ll]]:IiIillIIIIIIllll SS
      SS    'S`- .sSSP`.`W .`. s':llISWWWMWWWSSII]]lSSUIll]l]]llllllllIISIISSIIlllIIllI SS
      SS      `._`SSSi`.`W`.`.,Y,.]l!ISWWSWWMSSSIIl]llIIIl]]llIUSUIISSSSISIIIlll?llIISS SS
      SS        V:`YSSS,``` _,oil.':!lIIS*WSWWIWISWSSIIllIIUIIUIUSUSUIUIIIIIllUIUUSSSUU SS
      SS        :, , `,, :,\?!ll?.:'llIIISSIWIwWSIIWWSWSIIIllllllll]l'll]llIIUIUUSSSUSU SS
      ""        !,/,| ?i\7ll!l!!:.]lI!ISiSSSSSSSSWWWWWSWSwSSUSUSUSSUSSUSUSSIUSSuSSUISUI ""
      ss        ]!l]!lllIIIIIIl]!.l!dIdS*SISSSiSSWSWwSWSsWWSWSSSuSSuUUiSuSSUSSSUUIUSUIU ss
      SS        ]l!l]ll!IiII1:1!.l,SlYIoSSSsSSSSSWWWMWWWSWSW7SWSSSSSSSSSUUUUUUIUIUUIIUI SS
      SS        I]l]I]IIiII11;!:,lIIdIISSSSSSSSSWSWWWWMWWWWWWWWSSsSSSSSUUUUSSUIUUIUIIII SS
      SS        `^'''^^^^'^''`'`'^"^^"^"^"^"^"^"^"^"^""^"""""""""^"^"^^^^^^^'`''`''^'^` SS
      YSbsssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssby SkyLinedSP
       `"""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""'
    12/3/2006

    Sharky

                                                                                   
                                         _,,                                   ,dW
                                       ,iSMP                                  JIl;
                                      sPT1Y'                                 JWS:'
                                     sIl:l1                                 fWIl? 
                                    dIi:Il;                                fW1"   
                                   dIi:l:I'                               fWI:    
                                  dIli:l:I;                              fWI:     
                                .dIli:I:S:S                     .       fWIl`     
                              ,sWSSIIIiISIIS w,_             .sMW     ,MWIl;      
                         _.,sWWW*"'*" , SWW' MWWMm mu,,._  .iSYISb, ,MM*SI!:      
                     _,s YMMWW'',sd,'MM WMMi "*MW* WWWMWMb MMS WWP`,MW' S1!`      
                _,os,'MMi YW' m,'WW; WWb`SWM Im,,  SIS ISW SISIP*  WSi  II!.      
             .osSMWMW,'WSi ',MMP SSb WSW ISII`SYYi III !Il lIi,ui:,*1:li:l1!      
          ,sSMMWWWSSSS,'SWbdWW*  *YSbiSS:'IlI 7llI il1: l! 'l:+'+l; `''+1i:1i     
       ,sYSMWMWY**"""'` 'WWSSIIiu,'**Y11';IIIb ?!li ?l:i,         `      `'l!:    
      sPITMWMW'`.M.wdWWb,'YIi `YT" ,u!1",ISIWWm,'+?+ `'+Ili                `'l:,  
      YIi1lTYfPSkyLinedI!i`I!" .,:!1"',iSWWMMMMMmm,                               
        "T1l1lI**"'`.2006? ',o?*'``  ```""**YSWMMMWMm,                            
             "*:iil1I!I!"` '                 ``"*YMMWWM,                          
                   ii!                             '*YMWM,                        
                   I'                                  "YM                         
                                                                                  

    12/22/2005

    Mandelbrot ASCII art

      /    HX                                                             
       XD D#D                           Mendalbrot's fractal ASCII art    
    : D::  0#                    '                                        
     ::':X      ODO                            Created by SkyLined       
    ;/'''#     O##              C                                        
    O '`::    O##0#X           H                                          
      ' :OX   HH##0#H        X#HH   #D                                   
       0DD D#  ##00#        X ###  ##0H                                  
          H )  X  N         ####0#000#0#                                 
    /  #M \:::\((#         H###0#000000#                                 
     ;  / ::'::X            ##0#00N0N00                                  
    D'\/:::''':              0#000000N0                                  
        ''''':'          3  ##0#00N0NNM0                                 
    #C ::''`'''':C        D####0000N0MNN                                 
    0  :''''`'`''\        HH##0#0#0 NMNN                                 
    ## :\ :```''::##       ##0#0#D   MN0                                 
    0#(;O# ``'`''          D#####     #                                  
    ##D?   ```D'/            #H#H     #                                  
     53 I/:` ' IHH          5XHH#XO ?O                                    
           M 0 M##H            X  5 1                                     
               00##               C;                                     
               ##            #   /\\                      ;              
    D                  X00   ; /:/:                       O   0# #H      
    #                   #   /::::::H                      H   #0####3     
    :                     /D::':'::O    0I\;              0#0#000#0      
     #OO       ##        ::':':':':     N#C:::   00      ##0000000D      
    0# C       #00      ::':''''':':# #   /:': \         #000000N00      
    001 O D# D#00MM   5::':''''''':':     :':':':       D##0000N0N00##   
    00#\: ##  ###      D':''''''''`''' 1':''''':'       H#0#00N0N0N0N#   
    00#1:     D#H3    0  ''''`'''''`'':''''`'''':/:' 0   ####00MNM0N0    
    00# D\: 0# DD5\   # ''''''`'`'''`'`'`'''`''''''::    H#C  NNMNM00#   
    000#3::':;   O/: #  :''''`'''`'`'`'`'`'`'`'`'`''''/  HD    MMMMN #   
    000#D:'''/  H ::::':''''''''`'`'`'`'`'`'`'`'`''''::\  O    MNMM      
    0000D3'` XH  ::':''''''''`'`'`'`'```'```'`'`''''''::\ 1I: 00MMN:     
    00#:    H0#  O::''''''''`'`'`'`'`'`'`'`'`'`'`'''':'/\;)3X##0N        
    000#     #  X::':''''''''`'`'`````'`'`````'`'`''':X                  
    NO '0        :::''''`'''`'`````'`'```````'`'`'`' #                   
    00#:D    00 \ :''':''''`'`'`'`````````'```````''                     
    000#0  # #    ::''''''''`'`'```````'```````````                      
    0000#O  D  \3::''''''''''```'`'`'`````````````''                      
    00000# ::  \::''''''''''`'`'```````````````````'   NH                 
    0000##X0#0 #:::':':''''`'`'`'``````````````````    N ;                
    N0000X   C 3::':''':''''''`````````````````````'`    :                
    0N00# ;  #  O::':':''''`'`'`````````````````````'`'':'                
    N0000##   5 ::::':':':''''`'`````````````````````'`'''                
    0000#0#H/#O//::::::'::3:: '`````````````````````````'';\             
    00000#0H   C//:::::#      :'```````````````````````'`'D              
    000000#HC H \:::/:\          ````````````````````````':#             
    000#0####1 
    \\:/:;    #     :'`````````````````````'`': M            
    #0#0#0##H   ;/\/\  HH##00   #'```````````````````````                 
    000#0#0##X ?;\/;; DD##00N0#    ``````````````````````'/              
    #0#0####H#3  ;;\( OH  #N0M0   '```````````````````````:               
     ######H#HD  ;\;) O    0MMM   ```````````````````````''0             
     H##H#H#HHD;  (;?13     MMM   ``````````````````````''     0#  #X     
    X;/ HHHH#DDX3 ()) 3     NMN    ```'`````````````````'''   0000N0N#\  '
    :: '\ CDDDXDC  ?I1 ?;/  00M   ````````````````````'`'':  00N0N0N00#  
    /(3\  \ OXXOO5  I13    0#0   `'`'`'`'``````````'  M ':: ##00N0NNM0    
    H #XDO ; 3COCC31 135XXHH0   `'''`'`'`'````````'      :/ D5#NNMNM0N ; 
    H D X D   ; 53313 OOODD#    '''`'''`'`'```````X       ;     MMMMMN # 
             C ? 3331I;   :   ':''''''''`'````````1             MMMMNMN0 
                 # 11I?))/ :/::':''''''```'`'`````N N      3 '  NMMMMNM0 
                  (I/?)(;;;\//::::''''`'`'````````'HD       D#00NNMMMMN0 
                    C1;;)\;\/::::''''`'''`'````````':        ##0NMNMMNN0 
                      X 1\/\:/::':''''`'``````````'          000MNMM# 00 
                         # ::::':''`'`'``````````'            MMMMMN      
                        : #   ' ''```'`'0MM````                 #MNNC     
                         ' ;#N 3  ; ````0   `'`  M             :       : 
                           :   #M     M    ::                             
                             :     0N      50#                            
                                   0M     D  M0 '                        
                                '  N      #NNMM                          
                                         0N0MMMM                         
                                         M0M0MM0                         
                                          MNMM0N                         
                                      '  0MMM                             
                                           N0#  ;                        
                                                 '