$ od -c -N 50000 [Indigo]<Beads>wires-7July.dm!1
0000000  377  \0  \0   w   i   r   e   s   d   e   f   s   .   m   e   s
0000020    a  \0 376 001  \0 365 333   -   -       w   i   r   e   s   D
0000040    e   f   s   2   .   m   e   s   a  \r  \r   W   i   r   e   s
0000060    D   e   f   s   :   D   E   F   I   N   I   T   I   O   N   S
0000100    =   B   E   G   I   N  \r  \r   O   n   I   :   T   Y   P   E
0000120    =   P   R   O   C   E   D   U   R   E   [   i   :   I   N   T
0000140    E   G   E   R   ]   ;  \r   C   R   :   C   H   A   R   A   C
0000160    T   E   R   =   '  \r   ;  \r   -   -       S   t   u   f   f
0000200        f   o   r       G   r   a   p   h   i   c   s  \r  \r   H
0000220    o   p   :   T   Y   P   E   =   I   N   T   E   G   E   R   ;
0000240   \r   C   i   r   c   u   i   t   :   T   Y   P   E   =   I   N
0000260    T   E   G   E   R   ;  \r   G   r   i   d   X   Y   :   T   Y
0000300    P   E   =   I   N   T   E   G   E   R   ;  \r   D   i   r   :
0000320    T   Y   P   E   =   {   h   ,   v   ,   n   o   n   e   }   ;
0000340   \r   D   i   r   e   c   t   i   o   n   :   T   Y   P   E   =
0000360    {   h   ,   v   }   ;  \r   L   o   c   :   T   Y   P   E   =
0000400    [   0   .   .   1   2   8   )   ;  \r   S   l   o   t   :    
0000420    T   Y   P   E   =   {   c 376 001  \0 025   I   h   a   n   A
0000440    ,   g   a   t   e   ,   c   h   a   n   B   ,   n   o   n   e
0000460    }   ;  \r   C   o   n   t   a   c   t   :   T   Y   P   E   =
0000500    S   l   o   t   [   c   h   a   n   A   .   .   c   h   a   n
0000520    B   ]   ;  \r   O   r   i   e   n   t   S   t   a   t   e   :
0000540    T   Y   P   E   =   {   n   o   n   e   ,   u   n   k   n   ,
0000560    g   H   o   r   r   ,   a   L   e   f   t   ,   c   L   e   f
0000600    t   ,   g   V   e   r   t   ,   a   D   o   w   n   ,   c   D
0000620    o   w   n   }   ;  \r   R   e   d   O   r   i   e   n   t   :
0000640    T   Y   P   E   =   {   n   o   n   e   ,   u   l   ,   l   r
0000660    ,   b   o   t   h   }   ;  \r   C   o   l   o   r   :   T   Y
0000700    P   E   =   {   n   o   n   e   ,   r   ,   g   ,   b   }   ;
0000720   \r   W   a   y   :   T   Y   P   E   =   {   l   ,   r   ,   u
0000740    ,   d   ,   n   o   n   e   }   ;  \r   T   w   i   s   t   :
0000760    T   Y   P   E   =   {   n   o   n   e   ,   n   ,   b   ,   f
0001000    ,   s   ,   a   }   ;  \r  \r   t   o   p   C   i   r   c   u
0001020    i   t   :   C   i   r   c   u   i   t   =   1 376 001  \0 343
0001040    2   0   0   0   ;  \r   n   u   l   l   C   i   r   c   u   i
0001060    t   :   C   i   r   c   u   i   t   =   t   o   p   C   i   r
0001100    c   u   i   t   ;  \r   n   u   l   l   T   r   a   n   s   i
0001120    s   t   o   r   :   T   r   a   n   s   i   s   t   o   r   =
0001140    [   n   u   l   l   C   i   r   c   u   i   t   ,   n   u   l
0001160    l   C   i   r   c   u   i   t   ,   n   u   l   l   C   i   r
0001200    c   u   i   t   ]   ;  \r   -   -   n   i   l   O   r   i   e
0001220    n   t   a   t   i   o   n   :   O   r   i   e   n   t   D   a
0001240    t   a   =  \r   -   -           [   s   t   a   t   e   :   u
0001260    n   k   n   ,   r   e   d   :   n   o   n   e   ,   n   u   m
0001300    :   0   ,   l   e   f   t   S   e   g   :   N   I   L   ,   r
0001320    i   g   h   t   S   e   g   :   N   I   L   ,  \r   -   -    
0001340        u   p   S   e   g   :   N   I   L   ,   d   o   w   n   S
0001360    e   g   :   N   I   L   ]   ;  \r   t   e   r   m   i   n   a
0001400    l   H   o   p   :   H   o   p   =   1   0   0   0   0   ;  \r
0001420    n   i   l   O   r   i   e   n   t   :   O   r   i   e   n   t
0001440    = 376 001  \0   `   *   [   N   I   L   ,   0   ]   ;  \r  \r
0001460    W   h   e   r   e   :                       T   Y   P   E   =
0001500    R   E   C   O   R   D   [   h   ,   l   :   B   O   O   L   E
0001520    A   N   ,   x   ,   y   :   [   0   .   .   1   2   8   )   ]
0001540    ;  \r  \t  \t   -   -           h       =   >       h   o   r
0001560    i   z   o   n   t   a   l   ,       l       =   >       l   e
0001600    v   e   l   =   b   l   u   e  \r   N   o   d   e   :        
0001620                    T   Y   P   E   =   R   E   C   O   R   D   [
0001640    s   :   S   e   g   P   t   r   ,   h   o   p   :   H   o   p
0001660    ,  \r                                                        
0001700                                        b   a   c   k   :   N   o
0001720    d   e   P   t   r   ,   n   o   r   m   a   l   ,   m   o   v
0001740    i   n   g   L   D   ,   l   :   B   O   O   L   E   A   N   ,
0001760    c   o   n   t   a   c   t   :       S   l   o   t   ]   ;  \r
0002000    F   o   l   l   o   w   :                   T   Y   P   E   =
0002020    R   E   C   O   R   D   [   s   :   S   e   g   P   t   r   ]
0002040    ;  \r   L   o   c   a 376 001  \0   ?   I   t   i   o   n   :
0002060            T   Y   P   E   =   R   E   C   O   R   D   [   c   o
0002100    n   t   a   c   t   :   C   o   n   t   a   c   t   ,   i   ,
0002120    j   :   L   o   c   ]   ;  \r   C   o   o   r   d   s   :    
0002140                T   Y   P   E   =   R   E   C   O   R   D   [   d
0002160    :   D   i   r   ,   x   ,   y   :   L   o   c   ]   ;  \r   T
0002200    r   a   n   s   i   s   t   o   r   :   T   Y   P   E   =   R
0002220    E   C   O   R   D   [   a   ,   b   ,   c   :   C   i   r   c
0002240    u   i   t   ]   ;  \r   W   i   r   e   :                    
0002260        T   Y   P   E   =   R   E   C   O   R   D   [   a   ,   b
0002300    :   L   o   c   a   t   i   o   n   ,   c   :   C   o   l   o
0002320    r   ,   l   ,   c   i   r   c   u   i   t   :   I   N   T   E
0002340    G   E   R   ]   ;  \r   O   r   i   e   n   t   :            
0002360        T   Y   P   E   =   R   E   C   O   R   D   [   s   e   g
0002400    :   S   e   g   P   t   r   ,   n   u   m   :   [   0   .   .
0002420    1   6   )   ]   ;  \r   O   r   i   e   n   t   D   a   t   a
0002440    :   T   Y   P   E   =   R   E   C   O   R 376 001  \0 347   P
0002460    D   [   s   t   a   t   e   :       O   r   i   e   n   t   S
0002500    t   a   t   e   ,   p   u   l   l   u   p   ,   p   u   l   l
0002520    u   p   T   o   C   :       B   O   O   L   E   A   N   ,  \r
0002540   \t  \t   n   u   m   :       I   N   T   E   G   E   R   ,   l
0002560    e   f   t   S   e   g   ,   r   i   g   h   t   S   e   g   ,
0002600    u   p   S   e   g   ,   d   o   w   n   S   e   g   :   S   e
0002620    g   ]   ;  \r   S   e   g   :                               T
0002640    Y   P   E   =   R   E   C   O   R   D   [   c   :   C   o   l
0002660    o   r   ,   c   i   r   c   u   i   t   :   I   N   T   E   G
0002700    E   R   ,   s   t   i   c   k   :   S   t   k   P   t   r   ,
0002720    x   y   :   W   h   e   r   e   ,  \r                        
0002740                        n   c   ,   b   c   ,   a   c   ,   d   u
0002760    m   m   y   :   B   O   O   L   E   A   N   ,   w   :   W   a
0003000    y   ,   n   e   x   t   ,   b   a   c   k   ,   f   i   r   s
0003020    t   ,   s   e   c   o   n   d   ,   a   c   r   o   s   s   :
0003040    S   e   g   P   t   r   ]   ;  \r  \t  \t   -   -       d   u
0003060  376 001  \0 262 230   m   m   y       =   >       n   o   t    
0003100    r   e   a   l   l   y       p   a   r   t       o   f       a
0003120        w   i   r   e  \r  \t  \t   -   -       n   c   ,   b   c
0003140    ,   a   c       =   >       c   o   n   n   e   c   t   e   d
0003160        t   o       n   e   x   t   ,   b   a   c   k   ,   a   c
0003200    r   o   s   s       (   l   e   v   e   l   s   )       r   e
0003220    s   p   .  \r  \t  \t   -   -       w   a   y       i   s    
0003240    d   e   f   i   n   e   d       o   n   l   y       f   o   r
0003260        d   u   m   m   i   e   s  \r   S   t   k   :            
0003300                    T   Y   P   E   =   R   E   C   O   R   D   [
0003320    c   :   C   o   l   o   r   ,       c   i   r   c   u   i   t
0003340    :       I   N   T   E   G   E   R   ,      \r  \t  \t  \t   d
0003360    i   r   :   D   i   r   e   c   t   i   o   n   ,   m   a   j
0003400    o   r   ,   m   i   n   o   r   1   ,   m   i   n   o   r   2
0003420    :   I   N   T   E   G   E   R   ]   ;  \r  \r   W   i   r   e
0003440    P   t   r   :           T   Y   P   E   =   P   O   I   N   T
0003460    E   R       T   O 376 001  \0 227   '       W   i   r   e   ;
0003500   \r   O   r   i   e   n   t   P   t   r   :   T   Y   P   E   =
0003520    P   O   I   N   T   E   R       T   O       O   r   i   e   n
0003540    t   ;  \r   O   r   i   e   n   t   D   a   t   a   P   t   r
0003560    :   T   Y   P   E   =   P   O   I   N   T   E   R       T   O
0003600        O   r   i   e   n   t   D   a   t   a   ;  \r   N   o   d
0003620    e   P   t   r   :           T   Y   P   E   =   P   O   I   N
0003640    T   E   R       T   O       N   o   d   e   ;  \r   F   o   l
0003660    l   o   w   P   t   r   :   T   Y   P   E   =   P   O   I   N
0003700    T   E   R       T   O       F   o   l   l   o   w   ;  \r   S
0003720    e   g   P   t   r   :       T   Y   P   E   =   P   O   I   N
0003740    T   E   R       T   O       S   e   g   ;  \r   S   t   k   P
0003760    t   r   :       T   Y   P   E   =   P   O   I   N   T   E   R
0004000        T   O       S   t   k   ;  \r  \r  \r   -   -   C   I   R
0004020    C   U   I   T   S  \r   E   n   u   m   e   r   a   t   e   W
0004040    i   r   e   s   :   P   R   O   C   E   D   U   R   E   [   c
0004060    a   l   l   :   P   R   O   C   E   D 376 001  \0 344 177   U
0004100    R   E   [   W   i   r   e   P   t   r   ]   ]   ;  \r   M   a
0004120    k   e   W   i   r   e   L   i   s   t   :   P   R   O   C   E
0004140    D   U   R   E   [   B   O   O   L   E   A   N   ]   ;  \r   P
0004160    r   i   n   t   W   i   r   e   L   i   s   t   :   P   R   O
0004200    C   E   D   U   R   E   ;  \r   C   h   a   n   g   e   W   i
0004220    r   e   S   c   a   l   e   :   P   R   O   C   E   D   U   R
0004240    E   ;  \r   W   i   r   e   L   e   n   g   t   h   :       P
0004260    R   O   C   E   D   U   R   E   [   i   ,   j   :       L   o
0004300    c   a   t   i   o   n   ]       R   E   T   U   R   N   S   [
0004320    I   N   T   E   G   E   R   ]   ;  \r   -   -   C   O   N   T
0004340    R   O   L  \r   A   l   l   o   c   a   t   e   S   t   u   f
0004360    f   F   o   r   C   r   e   a   t   e   :   P   R   O   C   E
0004400    D   U   R   E   [   P   R   O   C   E   D   U   R   E   ]   ;
0004420   \r   -   -   G   R   I   D  \r   E   n   u   m   e   r   a   t
0004440    e   G   r   i   d   :   P   R   O   C   E   D   U   R   E   [
0004460    c   a   l   l   :   P   R   O   C   E   D   U   R   E   [ 376
0004500  001  \0   @ 247   i   ,   j   :   I   N   T   E   G   E   R   ]
0004520    ]   ;  \r   E   n   u   m   e   r   a   t   e   G   r   i   d
0004540    P   l   u   s   O   n   e   :   P   R   O   C   E   D   U   R
0004560    E   [   c   a   l   l   :   P   R   O   C   E   D   U   R   E
0004600    [   i   ,   j   :   I   N   T   E   G   E   R   ]   ]   ;  \r
0004620    E   n   u   m   e   r   a   t   e   G   r   i   d   P   l   u
0004640    s   T   w   o   :   P   R   O   C   E   D   U   R   E   [   c
0004660    a   l   l   :   P   R   O   C   E   D   U   R   E   [   i   ,
0004700    j   :   I   N   T   E   G   E   R   ]   ]   ;  \r   C   l   e
0004720    a   r   G   r   i   d   :   P   R   O   C   E   D   U   R   E
0004740    [   i   ,   j   :   I   N   T   E   G   E   R   ]   ;  \r   E
0004760    n   u   m   e   r   a   t   e   S   i   d   e   :   P   R   O
0005000    C   E   D   U   R   E   [   c   a   l   l   :   P   R   O   C
0005020    E   D   U   R   E   [   I   N   T   E   G   E   R   ]   ]   ;
0005040   \r   E   n   u   m   e   r   a   t   e   S   i   d   e   P   l
0005060    u   s   O   n   e   :   P   R   O   C   E   D   U   R   E   [
0005100    c   a   l   l 376 001  \0   % 376   :   P   R   O   C   E   D
0005120    U   R   E   [   I   N   T   E   G   E   R   ]   ]   ;  \r   E
0005140    n   u   m   e   r   a   t   e   S   i   d   e   P   l   u   s
0005160    T   w   o   :   P   R   O   C   E   D   U   R   E   [   c   a
0005200    l   l   :   P   R   O   C   E   D   U   R   E   [   I   N   T
0005220    E   G   E   R   ]   ]   ;  \r   -   -   I   N   P   U   T    
0005240    S   T   U   F   F  \r   G   e   t   I   n   p   u   t   :   P
0005260    R   O   C   E   D   U   R   E   [   B   O   O   L   E   A   N
0005300    ]   ;  \r   -   -   P   R   I   N   T   I   N   G  \r   P   r
0005320    i   n   t   G   :   P   R   O   C   E   D   U   R   E   ;  \r
0005340    -   -   G   R   A   P   H   I   C   S  \r   P   u   t   B   o
0005360    x   :   P   R   O   C   E   D   U   R   E   [   c   o   l   o
0005400    r   :   C   o   l   o   r   ,   x   ,   y   ,   m   ,   n   :
0005420    C   A   R   D   I   N   A   L   ]   ;  \r   -   -       G   r
0005440    a   p   h   i   c   s       D   i   s   p   l   a   y       P
0005460    r   o   c   e   d   u   r   e   s  \r   D   o   O   u   t   p
0005500    u   t   s   :       P   R   O   C 376 001  \0 203 213   E   D
0005520    U   R   E   [   n   a   m   e   :   S   T   R   I   N   G   ,
0005540    l   i   m   i   t   X   ,   l   i   m   i   t   Y   :   I   N
0005560    T   E   G   E   R   ]   ;  \r   -   -       S   e   g   s  \r
0005600    I   n   i   t   S   e   g   s   :   P   R   O   C   E   D   U
0005620    R   E   ;  \r   -   -   E   n   u   m   e   r   a   t   e   S
0005640    e   g   s   :   P   R   O   C   E   D   U   R   E   [   s   t
0005660    a   r   t   :   S   e   g   P   t   r   ,   c   a   l   l   :
0005700    P   R   O   C   E   D   U   R   E   [   S   e   g   P   t   r
0005720    ]   ]   ;  \r   -   -   F   i   n   d   X   Y   F   r   o   m
0005740    S   e   g   :   P   R   O   C   E   D   U   R   E   [   s   :
0005760    S   e   g   P   t   r   ]       R   E   T   U   R   N   S   [
0006000    x   ,   y   :   I   N   T   E   G   E   R   ,   w   :   W   a
0006020    y   ]   ;  \r   S   h   o   w   S   e   g   :   P   R   O   C
0006040    E   D   U   R   E   [   s   :   S   e   g   P   t   r   ]    
0006060    R   E   T   U   R   N   S   [   I   N   T   E   G   E   R   ]
0006100    ;  \r   P   r   i   n   t   S   e   g   s   :   P   R 376 001
0006120   \0 300   _   O   C   E   D   U   R   E   ;  \r   S   e   t   P
0006140    u   l   l   u   p   :   P   R   O   C   E   D   U   R   E   [
0006160    L   o   c   a   t   i   o   n   ]   ;  \r   P   r   i   n   t
0006200    O   n   e   S   e   g   :   P   R   O   C   E   D   U   R   E
0006220    [   s   :   S   e   g   P   t   r   ]   ;  \r   -   -   C   l
0006240    e   a   r   O   r   i   e   n   t   a   t   i   o   n   :   P
0006260    R   O   C   E   D   U   R   E   [   i   ,   j   :   I   N   T
0006300    E   G   E   R   ]   ;  \r   S   e   t   S   e   g   :   P   R
0006320    O   C   E   D   U   R   E   [   f   r   o   m   :   N   o   d
0006340    e   P   t   r   ,   c   o   l   :   C   o   l   o   r   ,    
0006360    c   i   r   c   u   i   t   :       I   N   T   E   G   E   R
0006400    ,   o   l   d   :       S   e   g   P   t   r   ,  \r  \t  \t
0006420   \t   t   i   e   N   ,   t   i   e   B   :   B   O   O   L   E
0006440    A   N   ]       R   E   T   U   R   N   S   [   S   e   g   P
0006460    t   r   ]   ;  \r   -   -   A   d   d   T   o   S   e   g   :
0006500    P   R   O   C   E   D   U   R   E       R   E   T   U   R   N
0006520    S   [   r 376 001  \0   / 325   e   t   :   S   e   g   P   t
0006540    r   ]   ;  \r   S   e   t   I   n   i   t   i   a   l   S   e
0006560    g   m   e   n   t   :   P   R   O   C   E   D   U   R   E   [
0006600    l   :   L   o   c   a   t   i   o   n   ,   n   :   N   o   d
0006620    e   P   t   r   ,   c   i   r   c   u   i   t   :       I   N
0006640    T   E   G   E   R   ]  \r                                    
0006660                                                    R   E   T   U
0006700    R   N   S   [   B   O   O   L   E   A   N   ,   B   O   O   L
0006720    E   A   N   ]   ;  \r   S   e   t   F   i   n   a   l   S   e
0006740    g   m   e   n   t   :   P   R   O   C   E   D   U   R   E   [
0006760    l   :   L   o   c   a   t   i   o   n   ,   s   :   S   e   g
0007000    P   t   r   ,   n   :   N   o   d   e   P   t   r   ,   c   i
0007020    r   c   u   i   t   :       I   N   T   E   G   E   R   ]   ;
0007040   \r   -   -   S   t   k   s  \r   T   u   r   n   T   o   S   t
0007060    k   s   :   P   R   O   C   E   D   U   R   E   [   p   r   i
0007100    n   t   :   B   O   O   L   E   A   N   ]       R   E   T   U
0007120    R   N   S   [   l   i   m   i 376 001  \0 221 367   t   X   ,
0007140    l   i   m   i   t   Y   :       I   N   T   E   G   E   R   ]
0007160    ;  \r   P   r   i   n   t   S   t   k   s   :   P   R   O   C
0007200    E   D   U   R   E   ;  \r   -   -   o   r   i   e   n   t  \r
0007220    -   -   N   e   x   t   O   r   i   e   n   t   :   P   R   O
0007240    C   E   D   U   R   E   [   O   r   i   e   n   t   ,   L   o
0007260    c   a   t   i   o   n   ]       R   E   T   U   R   N   S   [
0007300    O   r   i   e   n   t   ]   ;  \r   E   n   u   m   e   r   a
0007320    t   e   O   r   i   e   n   t   :   P   U   B   L   I   C    
0007340    P   R   O   C   E   D   U   R   E   [   L   o   c   a   t   i
0007360    o   n   ,   P   R   O   C   E   D   U   R   E   [   S   e   g
0007400    P   t   r   ,       C   o   n   t   a   c   t   ]      \r  \t
0007420   \t  \t  \t   R   E   T   U   R   N   S   [   B   O   O   L   E
0007440    A   N   ]   ]       R   E   T   U   R   N   S   [   B   O   O
0007460    L   E   A   N   ]   ;  \r   P   r   i   n   t   O   r   i   e
0007500    n   t   a   t   i   o   n   s   :       P   R   O   C   E   D
0007520    U   R   E   [   i   ,   j   :   I   N   T   E   G 376  \0 365
0007540  003 212   E   R   ]   ;  \r   -   -   C   o   n   t   r   o   l
0007560   \r   A   l   l   o   c   a   t   e   S   t   u   f   f   F   o
0007600    r   S   e   g   :   P   R   O   C   E   D   U   R   E   ;  \r
0007620   \r   d   e   b   u   g   P   r   i   n   t   :   B   O   O   L
0007640    E   A   N   ;  \r   s   i   d   e   :   L   o   c   ;  \r   m
0007660    a   x   S   i   d   e   :   L   o   c   =   1   0   ;  \r   g
0007700    r   i   d   T   y   p   e   :   T   Y   P   E   =   A   R   R
0007720    A   Y       [   0   .   .   m   a   x   S   i   d   e   )    
0007740    O   F       A   R   R   A   Y   [   0   .   .   m   a   x   S
0007760    i   d   e   )       O   F       T   r   a   n   s   i   s   t
0010000    o   r   ;  \r   g   r   i   d   :   P   O   I   N   T   E   R
0010020        T   O       g   r   i   d   T   y   p   e   ;  \r   E   N
0010040    D   .   .  \r  \r 032   (   1   7   9   2   )   \   i   3   I
0010060    1   0   i   6   I   1   9   9   3   b   1   4   B   3   7   b
0010100    1   2   B   2   1   b   1   3   B   1   2   b   1   5   B   6
0010120    3   7   b   2   8   B  \r 377  \0  \0   w   i   r   e   s   c
0010140    r   e   a   t   e   .   m   e   s   a  \0 376 001  \0 226 341
0010160    -   -       w   i   r   e   s   C   r   e   a   t   e   3   .
0010200    m   e   s   a  \r  \r   D   I   R   E   C   T   O   R   Y    
0010220    S   y   s   t   e   m   D   e   f   s   :   F   R   O   M   "
0010240    S   y   s   t   e   m   D   e   f   s   "   ,  \r            
0010260                                A   l   t   o   F   i   l   e   D
0010300    e   f   s   :   F   R   O   M   "   A   l   t   o   F   i   l
0010320    e   D   e   f   s   "   ,  \r                                
0010340            D   i   r   e   c   t   o   r   y   D   e   f   s   :
0010360    F   R   O   M   "   D   i   r   e   c   t   o   r   y   D   e
0010400    f   s   "   ,  \r                                           D
0010420    i   s   p   l   a   y   D   e   f   s   :   F   R   O   M   "
0010440    D   i   s   p   l   a   y   D   e   f   s   "   ,  \r        
0010460                                    G   r   a   p   h   i   c   s
0010500    D   e   f   s   :   F   R   O   M   "   G   r   a   p   h   i
0010520    c   s   D   e   f   s   "   ,  \r                            
0010540                S   e   g   m   e   n   t   D   e   f   s   :   F
0010560  376 001  \0 337   J   R   O   M   "   S   e   g   m   e   n   t
0010600    D   e   f   s   "   ,  \r                                    
0010620        S   t   r   e   a   m   D   e   f   s   :   F   R   O   M
0010640    "   S   t   r   e   a   m   D   e   f   s   "   ,  \r        
0010660                                    S   t   r   i   n   g   D   e
0010700    f   s   :   F   R   O   M   "   S   t   r   i   n   g   D   e
0010720    f   s   "   ,  \r                                           W
0010740    i   r   e   s   D   e   f   s   :   F   R   O   M   "   W   i
0010760    r   e   s   D   e   f   s   "   ,  \r                        
0011000                    P   r   e   s   s   D   e   f   s   :   F   R
0011020    O   M   "   P   r   e   s   s   D   e   f   s   "   ,  \r    
0011040                                        I   O   D   e   f   s   :
0011060    F   R   O   M   "   I   O   D   e   f   s   "   ;  \r   W   i
0011100    r   e   s   C   r   e   a   t   e   :   P   R   O   G   R   A
0011120    M  \r           I   M   P   O   R   T   S       G   r   a   p
0011140    h   i   c   s   D   e   f   s   ,       P   r   e   s   s   D
0011160    e   f   s   ,     376 001  \0   d   t   S   y   s   t   e   m
0011200    D   e   f   s   ,       I   O   D   e   f   s   ,       S   t
0011220    r   e   a   m   D   e   f   s   ,  \r                        
0011240                                        D   i   r   e   c   t   o
0011260    r   y   D   e   f   s   ,   S   t   r   i   n   g   D   e   f
0011300    s   ,   W   i   r   e   s   D   e   f   s  \r           E   X
0011320    P   O   R   T   S       W   i   r   e   s   D   e   f   s    
0011340    =   B   E   G   I   N       O   P   E   N       W   i   r   e
0011360    s   D   e   f   s   ;  \r  \r   E   r   r   o   r   :   S   I
0011400    G   N   A   L   =   C   O   D   E   ;  \r   n   u   l   l   L
0011420    o   c   :       L   o   c   a   t   i   o   n   =   [   N   U
0011440    L   L   ,   1   2   7   ,   1   2   7   ]   ;  \r   c   i   r
0011460    c   u   i   t   N   a   m   e   :       S   T   R   I   N   G
0011500    _   [   3   0   ]   ;  \r   o   u   t   F   i   l   e   N   a
0011520    m   e   :       S   T   R   I   N   G   _   [   4   0   ]   ;
0011540   \r  \r   E   n   u   m   e   r   a   t   e   C   i   r   c   u
0011560    i   t   :   P   R   O   C   E   D   U 376 001  \0 352 347   R
0011600    E   [   c   a   l   l   :   O   n   I   ]   =  \r       B   E
0011620    G   I   N       i   :   I   N   T   E   G   E   R   ;       F
0011640    O   R       i       I   N       [   0   .   .   t   o   p   C
0011660    i   r   c   u   i   t   )       D   O       c   a   l   l   [
0011700    i   ]   ;       E   N   D   L   O   O   P   ;       E   N   D
0011720    ;  \r  \r  \r   -   -   /   /   /   /   /   /   /   /   /   /
0011740    /   /   /   /   W   I   R   E       L   I   S   T       S   t
0011760    u   f   f   /   /   /   /   /   /   /   /   /   /   /   /   /
0012000    /   /  \r  \r   w   i   r   e   L   i   s   t   A   r   r   a
0012020    y   :   T   Y   P   E   =   A   R   R   A   Y       [   0   .
0012040    .   m   a   x   W   i   r   e   N   o   ]       O   F       W
0012060    i   r   e   ;  \r   w   i   r   e   L   i   s   t   :   P   O
0012100    I   N   T   E   R       T   O       w   i   r   e   L   i   s
0012120    t   A   r   r   a   y   _   N   I   L   ;  \r   m   a   x   W
0012140    i   r   e   N   o   :   I   N   T   E   G   E   R   =   2   0
0012160    0   ;  \r   t   o   p   W   i   r   e   :   I   N   T   E 376
0012200  001  \0 362 220   G   E   R   ;  \r  \r   E   n   u   m   e   r
0012220    a   t   e   W   i   r   e   s   :   P   U   B   L   I   C    
0012240    P   R   O   C   E   D   U   R   E   [   c   a   l   l   :   P
0012260    R   O   C   E   D   U   R   E   [   W   i   r   e   P   t   r
0012300    ]   ]   =   B   E   G   I   N  \r           i   :   I   N   T
0012320    E   G   E   R   ;       F   O   R       i       I   N       [
0012340    0   .   .   t   o   p   W   i   r   e   )       D   O       c
0012360    a   l   l   [   @   w   i   r   e   L   i   s   t   [   i   ]
0012400    ]   ;       E   N   D   L   O   O   P   ;       E   N   D   ;
0012420   \r  \r   W   i   r   e   L   e   n   g   t   h   :   P   U   B
0012440    L   I   C       P   R   O   C   E   D   U   R   E   [   i   ,
0012460    j   :   L   o   c   a   t   i   o   n   ]       R   E   T   U
0012500    R   N   S   [   I   N   T   E   G   E   R   ]   =   B   E   G
0012520    I   N  \r           R   E   T   U   R   N   [   A   B   S   [
0012540    i   .   i   -   j   .   i   ]   +   A   B   S   [   i   .   j
0012560    -   j   .   j   ]   ]   ;       E   N   D   ;  \r  \r   M   a
0012600    k   e   W   i 376 001  \0 266 026   r   e   L   i   s   t   :
0012620    P   U   B   L   I   C       P   R   O   C   E   D   U   R   E
0012640    [   p   r   i   n   t   :   B   O   O   L   E   A   N   ]   =
0012660        B   E   G   I   N  \r           M   a   k   e   T   r   a
0012700    c   k   [   ]   ;           -   -       c   h   a   i   n    
0012720    t   h   e       t   r   a   n   s   i   s   t   o   r   s    
0012740   \r           t   o   p   W   i   r   e   _   0   ;  \r        
0012760    E   n   u   m   e   r   a   t   e   C   i   r   c   u   i   t
0013000    [   W   i   r   e   L   i   s   t   O   n   e   C   i   r   c
0013020    u   i   t   ]   ;  \r           S   o   r   t   W   i   r   e
0013040    L   i   s   t   [   ]   ;  \r           I   F       p   r   i
0013060    n   t       T   H   E   N       P   r   i   n   t   W   i   r
0013100    e   L   i   s   t   ;  \r           E   N   D   ;  \r  \r   A
0013120    d   d   T   o   W   i   r   e   L   i   s   t   :   P   R   O
0013140    C   E   D   U   R   E   [   w   :   W   i   r   e   ]   =   B
0013160    E   G   I   N  \r           w   i   r   e   L   i   s   t   [
0013200    t   o   p   W   i   r   e   ]   _ 376 001  \0 306   +   w   ;
0013220   \r           t   o   p   W   i   r   e   _   t   o   p   W   i
0013240    r   e   +   1   ;  \r           I   F       t   o   p   W   i
0013260    r   e   >   m   a   x   W   i   r   e   N   o       T   H   E
0013300    N       E   r   r   o   r   ;  \r           E   N   D   ;  \r
0013320   \r   P   r   i   n   t   W   i   r   e   L   i   s   t   :   P
0013340    U   B   L   I   C       P   R   O   C   E   D   U   R   E   =
0013360    B   E   G   I   N       E   n   u   m   e   r   a   t   e   W
0013400    i   r   e   s   [   P   r   i   n   t   W   i   r   e   L   i
0013420    s   t   E   n   t   r   y   ]   ;       E   N   D   ;  \r  \r
0013440    P   r   i   n   t   W   i   r   e   L   i   s   t   E   n   t
0013460    r   y   :   P   R   O   C   E   D   U   R   E   [   w   :   W
0013500    i   r   e   P   t   r   ]   =   B   E   G   I   N       O   P
0013520    E   N       I   O   D   e   f   s   ;  \r           W   r   i
0013540    t   e   S   t   r   i   n   g   [   "       C   i   r   c   u
0013560    i   t   "   ]   ;       W   r   i   t   e   N   u   m   b   e
0013600    r   [   w   .   c   i   r   c   u   i   t   ,   [   1 376 001
0013620   \0 225 347   0   ,   F   A   L   S   E   ,   T   R   U   E   ,
0013640    3   ]   ]   ;  \r           W   r   i   t   e   S   t   r   i
0013660    n   g   [   "       l   e   n   g   t   h   "   ]   ;       W
0013700    r   i   t   e   N   u   m   b   e   r   [   w   .   l   ,   [
0013720    1   0   ,   F   A   L   S   E   ,   T   R   U   E   ,   3   ]
0013740    ]   ;  \r           W   r   i   t   e   S   t   r   i   n   g
0013760    [   "           f   r   o   m       "   ]   ;       W   r   i
0014000    t   e   L   o   c   a   t   i   o   n   [   w   .   a   ]   ;
0014020   \r           W   r   i   t   e   S   t   r   i   n   g   [   "
0014040            t   o       "   ]   ;           W   r   i   t   e   L
0014060    o   c   a   t   i   o   n   [   w   .   b   ]   ;  \r        
0014100    W   r   i   t   e   C   h   a   r   [   C   R   ]   ;  \r    
0014120        E   N   D   ;  \r  \r   c   o   l   o   r   S   t   r   i
0014140    n   g   s   :   A   R   R   A   Y       C   o   l   o   r    
0014160    O   F       S   T   R   I   N   G   =   [   "   n   o   n   e
0014200        "   ,   "       r   e   d       "   ,   "   g   r   e   e
0014220    n   "   , 376 001  \0 345 256   "   b   l   u   e       "   ]
0014240    ;  \r  \r   W   r   i   t   e   L   o   c   a   t   i   o   n
0014260    :   P   R   O   C   E   D   U   R   E   [   l   :   L   o   c
0014300    a   t   i   o   n   ]   =   B   E   G   I   N       O   P   E
0014320    N       I   O   D   e   f   s   ;  \r           W   r   i   t
0014340    e   N   u   m   b   e   r   [   l   .   i   ,   [   1   0   ,
0014360    F   A   L   S   E   ,   T   R   U   E   ,   2   ]   ]   ;  \r
0014400            W   r   i   t   e   C   h   a   r   [   '   ,   ]   ;
0014420   \r           W   r   i   t   e   N   u   m   b   e   r   [   l
0014440    .   j   ,   [   1   0   ,   F   A   L   S   E   ,   T   R   U
0014460    E   ,   2   ]   ]   ;  \r           W   r   i   t   e   S   t
0014500    r   i   n   g   [   S   E   L   E   C   T       l   .   c   o
0014520    n   t   a   c   t       F   R   O   M  \r  \t  \t       c   h
0014540    a   n   A   =   >   "       c   h   a   n   A   "   ,  \r  \t
0014560   \t       g   a   t   e   =   >   "           g   a   t   e   "
0014600    ,  \r  \t  \t       c   h   a   n   B   =   >   "       c   h
0014620    a   n   B   "   ,  \r  \t  \t 376 001  \0 303 276       E   N
0014640    D   C   A   S   E   =   >   E   R   R   O   R   ]   ;  \r    
0014660        E   N   D   ;  \r  \r   t   h   i   s   W   :   I   N   T
0014700    E   G   E   R   ;  \r  \r   W   i   r   e   L   i   s   t   O
0014720    n   e   C   i   r   c   u   i   t   :   P   R   O   C   E   D
0014740    U   R   E   [   i   :   I   N   T   E   G   E   R   ]   =   B
0014760    E   G   I   N  \r   -   -           I   F       i   =   v   d
0015000    d       O   R       i   =   g   n   d       T   H   E   N    
0015020    R   E   T   U   R   N   ;  \r           t   h   i   s   W   _
0015040    i   ;  \r           I   n   i   t   T   e   m   p   [   ]   ;
0015060   \r           E   n   u   m   e   r   a   t   e   T   r   a   c
0015100    k   [   i   ,   A   d   d   T   o   T   e   m   p   ]   ;  \r
0015120            E   n   u   m   e   r   a   t   e   T   e   m   p   [
0015140    I   n   i   t   S   e   p   ]   ;  \r           E   n   u   m
0015160    e   r   a   t   e   T   e   m   p   [   F   i   n   d   A   n
0015200    d   U   s   e   N   e   x   t   S   m   a   l   l   e   s   t
0015220    T   e   m   p   ]   ;  \r           E   N   D   ; 376 001  \0
0015240    I 340  \r  \r   S   o   r   t   W   i   r   e   L   i   s   t
0015260    :   P   R   O   C   E   D   U   R   E   =   B   E   G   I   N
0015300        i   ,   j   :   I   N   T   E   G   E   R   ;  \r        
0015320    F   O   R       i       I   N       [   0   .   .   t   o   p
0015340    W   i   r   e   )       D   O       F   O   R       j       I
0015360    N       (   i   .   .   t   o   p   W   i   r   e   )       D
0015400    O  \r                   I   F       S   h   o   r   t   e   r
0015420    W   i   r   e   [   j   ,   i   ]       T   H   E   N       B
0015440    E   G   I   N  \r                                   t   e   m
0015460    p   :   W   i   r   e   _   w   i   r   e   L   i   s   t   [
0015500    i   ]   ;       w   i   r   e   L   i   s   t   [   i   ]   _
0015520    w   i   r   e   L   i   s   t   [   j   ]   ;       w   i   r
0015540    e   L   i   s   t   [   j   ]   _   t   e   m   p   ;  \r    
0015560                                E   N   D   ;  \r                
0015600    E   N   D   L   O   O   P   ;       E   N   D   L   O   O   P
0015620    ;  \r           E   N   D   ;  \r  \r   S   h   o   r   t   e
0015640    r   W 376 001  \0 227 323   i   r   e   :   P   R   O   C   E
0015660    D   U   R   E   [   i   ,   j   :   I   N   T   E   G   E   R
0015700    ]       R   E   T   U   R   N   S   [   B   O   O   L   E   A
0015720    N   ]   =   B   E   G   I   N  \r           w   i   :   W   i
0015740    r   e   P   t   r   _   @   w   i   r   e   L   i   s   t   [
0015760    i   ]   ;  \r           w   j   :   W   i   r   e   P   t   r
0016000    _   @   w   i   r   e   L   i   s   t   [   j   ]   ;  \r    
0016020        n   o   n   G   r   e   e   n   i   :   B   O   O   L   E
0016040    A   N   _   w   i   .   a   .   c   o   n   t   a   c   t   =
0016060    g   a   t   e       O   R       w   i   .   b   .   c   o   n
0016100    t   a   c   t   =   g   a   t   e   ;  \r           n   o   n
0016120    G   r   e   e   n   j   :   B   O   O   L   E   A   N   _   w
0016140    j   .   a   .   c   o   n   t   a   c   t   =   g   a   t   e
0016160        O   R       w   j   .   b   .   c   o   n   t   a   c   t
0016200    =   g   a   t   e   ;  \r           c   i   r   c   u   i   t
0016220    i   :   I   N   T   E   G   E   R   _   S   E   L   E   C   T
0016240        w   i   .   c   i   r 376 001  \0       1   c   u   i   t
0016260        F   R   O   M       g   n   d   =   >   3   ,   v   d   d
0016300    =   >   2   ,   E   N   D   C   A   S   E   =   >   1   ;  \r
0016320            c   i   r   c   u   i   t   j   :   I   N   T   E   G
0016340    E   R   _   S   E   L   E   C   T       w   j   .   c   i   r
0016360    c   u   i   t       F   R   O   M       g   n   d   =   >   3
0016400    ,   v   d   d   =   >   2   ,   E   N   D   C   A   S   E   =
0016420    >   1   ;  \r           R   E   T   U   R   N   [   I   F    
0016440    c   i   r   c   u   i   t   i   #   c   i   r   c   u   i   t
0016460    j       T   H   E   N       c   i   r   c   u   i   t   i   <
0016500    c   i   r   c   u   i   t   j  \r                            
0016520            E   L   S   E       I   F       n   o   n   G   r   e
0016540    e   n   i   #   n   o   n   G   r   e   e   n   j       T   H
0016560    E   N       n   o   n   G   r   e   e   n   j  \r            
0016600                            E   L   S   E       w   i   .   l   <
0016620    w   j   .   l   ]   ;      \r           E   N   D   ;  \r  \r
0016640    -   -   /   /   /   /   /       E   N   D     376 001  \0 274
0016660    /           W   I   R   E   L   I   S   T       S   T   U   F
0016700    F   /   /   /   /  \r   -   -   /   /   /   /   /       S   T
0016720    A   R   T       T   E   M   P       S   T   U   F   F       /
0016740    /   /   /   /  \r  \r   w   i   r   e   T   e   m   p   A   r
0016760    r   a   y   :   T   Y   P   E   =   A   R   R   A   Y       [
0017000    0   .   .   m   a   x   T   e   m   p   ]       O   F       L
0017020    o   c   a   t   i   o   n   ;  \r   w   i   r   e   S   e   p
0017040    A   r   r   a   y   :   T   Y   P   E   =   A   R   R   A   Y
0017060        [   0   .   .   m   a   x   T   e   m   p   ]       O   F
0017100        I   N   T   E   G   E   R   ;  \r  \r   m   a   x   T   e
0017120    m   p   :   I   N   T   E   G   E   R   =   3   0   ;  \r   t
0017140    o   p   T   e   m   p   :   I   N   T   E   G   E   R   ;  \r
0017160    w   i   r   e   T   e   m   p   :   P   O   I   N   T   E   R
0017200        T   O       w   i   r   e   T   e   m   p   A   r   r   a
0017220    y   _   N   I   L   ;  \r   w   i   r   e   S   e   p   :   P
0017240    O   I   N   T   E   R       T   O       w   i   r   e   S   e
0017260    p 376 001  \0 276 245   A   r   r   a   y   _   N   I   L   ;
0017300   \r  \r   E   n   u   m   e   r   a   t   e   T   e   m   p   :
0017320    P   R   O   C   E   D   U   R   E   [   c   a   l   l   :   O
0017340    n   I   ]   =  \r       B   E   G   I   N       k   :   I   N
0017360    T   E   G   E   R   ;       F   O   R       k       I   N    
0017400    [   0   .   .   t   o   p   T   e   m   p   )       D   O    
0017420    c   a   l   l   [   k   ]   ;       E   N   D   L   O   O   P
0017440    ;       E   N   D   ;  \r  \r   I   n   i   t   T   e   m   p
0017460    :   P   R   O   C   E   D   U   R   E   =   B   E   G   I   N
0017500        t   o   p   T   e   m   p   _   0   ;       E   N   D   ;
0017520   \r  \r   I   n   i   t   S   e   p   :   O   n   I   =   B   E
0017540    G   I   N       w   i   r   e   S   e   p   [   i   ]   _   i
0017560    ;       E   N   D   ;  \r  \r   A   d   d   T   o   T   e   m
0017600    p   :   P   R   O   C   E   D   U   R   E   [   l   :   L   o
0017620    c   a   t   i   o   n   ]   =   B   E   G   I   N  \r        
0017640    w   i   r   e   T   e   m   p   [   t   o   p   T   e   m   p
0017660    ]   _   l   ;       t 376 001  \0   E   8   o   p   T   e   m
0017700    p   _   t   o   p   T   e   m   p   +   1   ;       I   F    
0017720    t   o   p   T   e   m   p   >   m   a   x   T   e   m   p    
0017740    T   H   E   N       E   r   r   o   r   ;  \r           E   N
0017760    D   ;  \r  \r   F   i   n   d   A   n   d   U   s   e   N   e
0020000    x   t   S   m   a   l   l   e   s   t   T   e   m   p   :   P
0020020    R   O   C   E   D   U   R   E   [   i   :   I   N   T   E   G
0020040    E   R   ]   =   B   E   G   I   N  \r           b   e   s   t
0020060    j   :   I   N   T   E   G   E   R   ;       b   e   s   t   :
0020100    I   N   T   E   G   E   R   _   1   0   0   0   0   ;       k
0020120    :   I   N   T   E   G   E   R   =   i   ;  \r  \r            
0020140        F   i   n   d   C   l   o   s   e   s   t   :   O   n   I
0020160    =   B   E   G   I   N  \r                           l   :   I
0020200    N   T   E   G   E   R   _   W   i   r   e   L   e   n   g   t
0020220    h   [   w   i   r   e   T   e   m   p   [   i   ]   ,   w   i
0020240    r   e   T   e   m   p   [   k   ]   ]   ;  \r                
0020260            I   F       w   i   r   e   S   e 376 001  \0   @ 243
0020300    p   [   k   ]   #   w   i   r   e   S   e   p   [   i   ]    
0020320    A   N   D       l   <   b   e   s   t       T   H   E   N    
0020340    B   E   G   I   N       b   e   s   t   _   l   ;       b   e
0020360    s   t   j   _   i   ;       E   N   D   ;  \r                
0020400            E   N   D   ;  \r  \r                   W   i   n   d
0020420    S   e   p   :   O   n   I   =   B   E   G   I   N       I   F
0020440        w   i   r   e   S   e   p   [   i   ]   =   w   i   r   e
0020460    S   e   p   [   k   ]       T   H   E   N       w   i   r   e
0020500    S   e   p   [   i   ]   _   w   i   r   e   S   e   p   [   b
0020520    e   s   t   j   ]   ;      \r                   E   N   D   ;
0020540   \r  \r           E   n   u   m   e   r   a   t   e   T   e   m
0020560    p   [   F   i   n   d   C   l   o   s   e   s   t   ]   ;  \r
0020600            I   F       b   e   s   t   =   1   0   0   0   0    
0020620    T   H   E   N       R   E   T   U   R   N   ;  \r           A
0020640    d   d   T   o   W   i   r   e   L   i   s   t   [   [   a   :
0020660    w   i   r   e   T   e   m   p   [   i   ]   ,  \r            
0020700  376 001  \0 261 306                   b   :   w   i   r   e   T
0020720    e   m   p   [   b   e   s   t   j   ]   ,   c   :   n   o   n
0020740    e   ,   l   :   b   e   s   t   ,   c   i   r   c   u   i   t
0020760    :   t   h   i   s   W   ]   ]   ;  \r           E   n   u   m
0021000    e   r   a   t   e   T   e   m   p   [   W   i   n   d   S   e
0021020    p   ]   ;  \r           E   N   D   ;  \r  \r   -   -   /   /
0021040    /   /   /   /       E   N   D       T   E   M   P       S   T
0021060    U   F   F   /   /   /   /  \r  \r   -   -   /   /   /   /   /
0021100    /   /   /   /   /   /   /   /   /   C   O   N   T   R   O   L
0021120    /   /   /   /   /   /   /   /   /   /   /   /   /   /   /  \r
0021140   \r   P   r   i   n   t   S   t   i   c   k   D   i   a   g   r
0021160    a   m   :   P   R   O   C   E   D   U   R   E   ;  \r  \r   A
0021200    l   l   o   c   a   t   e   S   t   u   f   f   F   o   r   C
0021220    r   e   a   t   e   :   P   U   B   L   I   C       P   R   O
0021240    C   E   D   U   R   E   [   c   a   l   l   :   P   R   O   C
0021260    E   D   U   R   E   ]   =   B   E   G   I   N       O   P   E
0021300    N       S   y   s 376 001  \0 025   8   t   e   m   D   e   f
0021320    s   ;  \r           P   r   i   n   t   S   t   i   c   k   D
0021340    i   a   g   r   a   m   _   c   a   l   l   ;  \r           g
0021360    r   i   d   _   A   l   l   o   c   a   t   e   S   e   g   m
0021400    e   n   t   [   S   I   Z   E   [   g   r   i   d   T   y   p
0021420    e   ]   ]   ;  \r           t   r   a   c   k   _   A   l   l
0021440    o   c   a   t   e   S   e   g   m   e   n   t   [   S   I   Z
0021460    E   [   t   r   a   c   k   T   y   p   e   ]   ]   ;  \r    
0021500        c   i   r   c   u   i   t   s   _   A   l   l   o   c   a
0021520    t   e   S   e   g   m   e   n   t   [   S   I   Z   E   [   c
0021540    i   r   c   u   i   t   s   T   y   p   e   ]   ]   ;  \r    
0021560        w   i   r   e   L   i   s   t   _   A   l   l   o   c   a
0021600    t   e   S   e   g   m   e   n   t   [   S   I   Z   E   [   w
0021620    i   r   e   L   i   s   t   A   r   r   a   y   ]   ]   ;  \r
0021640            w   i   r   e   T   e   m   p   _   A   l   l   o   c
0021660    a   t   e   S   e   g   m   e   n   t   [   S   I   Z   E   [
0021700    w   i   r   e   T   e   m   p   A   r 376 001  \0 211   <   r
0021720    a   y   ]   ]   ;  \r           w   i   r   e   S   e   p   _
0021740    A   l   l   o   c   a   t   e   S   e   g   m   e   n   t   [
0021760    S   I   Z   E   [   w   i   r   e   S   e   p   A   r   r   a
0022000    y   ]   ]   ;  \r           E   N   D   ;  \r  \r   -   -   /
0022020    /   /   /   /   /   /   /   /   /   /   /   /   /   G   R   I
0022040    D   /   /   /   /   /   /   /   /   /   /   /   /   /   /   /
0022060   \r  \r   s   i   d   e   :   P   U   B   L   I   C       L   o
0022100    c   ;  \r   p   r   i   n   t   G   r   i   d   :   P   O   I
0022120    N   T   E   R       T   O       g   r   i   d   T   y   p   e
0022140    ;  \r   g   r   i   d   :   P   U   B   L   I   C       P   O
0022160    I   N   T   E   R       T   O       g   r   i   d   T   y   p
0022200    e   _   N   I   L   ;  \r  \r   E   n   u   m   e   r   a   t
0022220    e   G   r   i   d   :   P   U   B   L   I   C       P   R   O
0022240    C   E   D   U   R   E   [   c   a   l   l   :   P   R   O   C
0022260    E   D   U   R   E   [   i   ,   j   :   I   N   T   E   G   E
0022300    R   ]   ]   =   B   E   G   I   N       i   ,   j   :   I 376
0022320  001  \0 236 230   N   T   E   G   E   R   ;  \r           F   O
0022340    R       i       I   N       (   0   .   .   s   i   d   e   ]
0022360        D   O       F   O   R       j       I   N       (   0   .
0022400    .   s   i   d   e   ]       D   O       c   a   l   l   [   i
0022420    ,   j   ]   ;       E   N   D   L   O   O   P   ;       E   N
0022440    D   L   O   O   P   ;  \r           E   N   D   ;  \r  \r   E
0022460    n   u   m   e   r   a   t   e   G   r   i   d   P   l   u   s
0022500    O   n   e   :   P   U   B   L   I   C       P   R   O   C   E
0022520    D   U   R   E   [   c   a   l   l   :   P   R   O   C   E   D
0022540    U   R   E   [   i   ,   j   :   I   N   T   E   G   E   R   ]
0022560    ]   =   B   E   G   I   N       i   ,   j   :   I   N   T   E
0022600    G   E   R   ;  \r           F   O   R       i       I   N    
0022620    [   0   .   .   s   i   d   e   +   1   )       D   O       F
0022640    O   R       j       I   N       [   0   .   .   s   i   d   e
0022660    +   1   )       D   O       c   a   l   l   [   i   ,   j   ]
0022700    ;       E   N   D   L   O   O   P   ;       E   N   D   L   O
0022720    O   P   ;  \r 376 001  \0 357 357           E   N   D   ;  \r
0022740   \r   E   n   u   m   e   r   a   t   e   G   r   i   d   P   l
0022760    u   s   T   w   o   :   P   U   B   L   I   C       P   R   O
0023000    C   E   D   U   R   E   [   c   a   l   l   :   P   R   O   C
0023020    E   D   U   R   E   [   i   ,   j   :   I   N   T   E   G   E
0023040    R   ]   ]   =   B   E   G   I   N       i   ,   j   :   I   N
0023060    T   E   G   E   R   ;  \r           F   O   R       i       I
0023100    N       [   0   .   .   s   i   d   e   +   1   ]       D   O
0023120        F   O   R       j       I   N       [   0   .   .   s   i
0023140    d   e   +   1   ]       D   O       c   a   l   l   [   i   ,
0023160    j   ]   ;       E   N   D   L   O   O   P   ;       E   N   D
0023200    L   O   O   P   ;  \r           E   N   D   ;  \r  \r   C   l
0023220    e   a   r   G   r   i   d   :   P   U   B   L   I   C       P
0023240    R   O   C   E   D   U   R   E   [   i   ,   j   :   I   N   T
0023260    E   G   E   R   ]   =   B   E   G   I   N       g   r   i   d
0023300    [   i   ]   [   j   ]   _   n   u   l   l   T   r   a   n   s
0023320    i   s   t   o   r   ;       E   N 376 001  \0 032 220   D   ;
0023340   \r  \r   E   n   u   m   e   r   a   t   e   S   i   d   e   :
0023360    P   U   B   L   I   C       P   R   O   C   E   D   U   R   E
0023400    [   c   a   l   l   :   P   R   O   C   E   D   U   R   E   [
0023420    I   N   T   E   G   E   R   ]   ]   =   B   E   G   I   N  \r
0023440            i   :   I   N   T   E   G   E   R   ;       F   O   R
0023460        i       I   N       (   0   .   .   s   i   d   e   ]    
0023500    D   O       c   a   l   l   [   i   ]   ;       E   N   D   L
0023520    O   O   P   ;       E   N   D   ;  \r  \r   E   n   u   m   e
0023540    r   a   t   e   S   i   d   e   P   l   u   s   O   n   e   :
0023560    P   U   B   L   I   C       P   R   O   C   E   D   U   R   E
0023600    [   c   a   l   l   :   P   R   O   C   E   D   U   R   E   [
0023620    I   N   T   E   G   E   R   ]   ]   =   B   E   G   I   N  \r
0023640            i   :   I   N   T   E   G   E   R   ;       F   O   R
0023660        i       I   N       [   0   .   .   s   i   d   e   ]    
0023700    D   O       c   a   l   l   [   i   ]   ;       E   N   D   L
0023720    O   O   P   ;       E   N   D   ;  \r  \r   E   n   u 376 001
0023740   \0 360 235   m   e   r   a   t   e   S   i   d   e   P   l   u
0023760    s   T   w   o   :   P   U   B   L   I   C       P   R   O   C
0024000    E   D   U   R   E   [   c   a   l   l   :   P   R   O   C   E
0024020    D   U   R   E   [   I   N   T   E   G   E   R   ]   ]   =   B
0024040    E   G   I   N  \r           i   :   I   N   T   E   G   E   R
0024060    ;       F   O   R       i       I   N       [   0   .   .   s
0024100    i   d   e   +   1   ]       D   O       c   a   l   l   [   i
0024120    ]   ;       E   N   D   L   O   O   P   ;       E   N   D   ;
0024140   \r  \r  \r   -   -   /   /   /   /   /   /   /   /   /   /   /
0024160    /   /   /   T   R   A   C   K   /   /   /   /   /   /   /   /
0024200    /   /   /   /   /   /   /  \r  \r   -   -   t   h   e       p
0024220    u   r   p   o   s   e       o   f       t   r   a   c   k    
0024240    i   s       t   o       e   f   f   i   c   i   e   n   t   l
0024260    y       f   i   n   d       a   l   l       t   h   e       t
0024300    r   a   n   s   i   s   t   o   r   s       i   n       a    
0024320    c   i   r   c   u   i   t  \r   -   -   t   h   e       t   r
0024340    a   c   k 376 001  \0 306   5       o   p   e   r   a   t   i
0024360    o   n   s       a   r   e   :  \r   -   -   M   a   k   e    
0024400    T   r   a   c   k   ,       w   h   i   c   h       b   u   i
0024420    l   d   s       t   h   e       d   a   t   a       s   t   r
0024440    u   c   t   u   r   e   s  \r   -   -   E   n   u   m   e   r
0024460    a   t   e   T   r   a   c   k   ,       w   h   i   c   h    
0024500    c   a   l   l   s       y   o   u       b   a   c   k       w
0024520    i   t   h       e   a   c   h       t   r   a   n   s   i   s
0024540    t   o   r       p   a   r   t   i   c   i   p   a   t   i   n
0024560    g  \r   -   -                   i   n       t   h   e       s
0024600    p   e   c   i   f   i   e   d       c   i   r   c   u   i   t
0024620   \r   -   -   V   a   l   i   d       C   i   r   c   u   i   t
0024640    ,       w   h   i   c   h       r   e   t   u   r   n   s    
0024660    t   r   u   e       i   f       t   h   e   r   e       i   s
0024700        s   o   m   e       t   r   a   n   s   i   s   t   o   r
0024720        t   h   i   s       c   i   r   c   u   i   t  \r  \r   c
0024740    i   r   c   u   i   t   s   T 376 001  \0 026 001   y   p   e
0024760    :   T   Y   P   E   =   A   R   R   A   Y       [   0   .   .
0025000    t   o   p   C   i   r   c   u   i   t   +   5   )       O   F
0025020        L   o   c   a   t   i   o   n   ;  \r   c   i   r   c   u
0025040    i   t   s   :   P   O   I   N   T   E   R       T   O       c
0025060    i   r   c   u   i   t   s   T   y   p   e   _   N   I   L   ;
0025100   \r  \r   L   T   r   i   p   l   e   :   T   Y   P   E   =   R
0025120    E   C   O   R   D   [   a   ,   b   ,   c   :   L   o   c   a
0025140    t   i   o   n   ]   ;  \r   t   r   a   c   k   T   y   p   e
0025160    :   T   Y   P   E   =   A   R   R   A   Y       [   0   .   .
0025200    m   a   x   S   i   d   e   )       O   F       A   R   R   A
0025220    Y       [   0   .   .   m   a   x   S   i   d   e   )       O
0025240    F       L   T   r   i   p   l   e   ;  \r   t   r   a   c   k
0025260    :   P   O   I   N   T   E   R       T   O       t   r   a   c
0025300    k   T   y   p   e   _   N   I   L   ;  \r  \r   M   a   k   e
0025320    T   r   a   c   k   :   P   R   O   C   E   D   U   R   E   =
0025340    B   E   G   I   N  \r           E   n   u   m   e 376 001  \0
0025360   \a   )   r   a   t   e   C   i   r   c   u   i   t   [   C   l
0025400    e   a   r   C   i   r   c   u   i   t   ]   ;  \r           E
0025420    n   u   m   e   r   a   t   e   G   r   i   d   [   C   l   e
0025440    a   r   T   r   a   c   k   ]   ;  \r           E   n   u   m
0025460    e   r   a   t   e   G   r   i   d   [   B   u   i   l   d   T
0025500    r   a   c   k   ]   ;  \r           E   N   D   ;  \r  \r   E
0025520    n   u   m   e   r   a   t   e   T   r   a   c   k   :   P   R
0025540    O   C   E   D   U   R   E   [   i   :   I   N   T   E   G   E
0025560    R   ,   C   a   l   l   :   P   R   O   C   E   D   U   R   E
0025600    [   L   o   c   a   t   i   o   n   ]   ]   =   B   E   G   I
0025620    N  \r           l   :   L   o   c   a   t   i   o   n   ;  \r
0025640            F   O   R       l   _   c   i   r   c   u   i   t   s
0025660    [   i   ]   ,   S   E   L   E   C   T       l   .   c   o   n
0025700    t   a   c   t       F   R   O   M  \r      \t   c   h   a   n
0025720    A   =   >   t   r   a   c   k   [   l   .   i   ]   [   l   .
0025740    j   ]   .   a       ,  \r  \t   g   a   t   e   =   >   t   r
0025760    a   c 376 001  \0 371 207   k   [   l   .   i   ]   [   l   .
0026000    j   ]   .   b   ,  \r  \t   c   h   a   n   B   =   >   t   r
0026020    a   c   k   [   l   .   i   ]   [   l   .   j   ]   .   c   ,
0026040   \r  \t   E   N   D   C   A   S   E       =   >       E   R   R
0026060    O   R  \r           U   N   T   I   L       l   =   n   u   l
0026100    l   L   o   c       D   O       C   a   l   l   [   l   ]   ;
0026120        E   N   D   L   O   O   P   ;  \r           E   N   D   ;
0026140   \r  \r   V   a   l   i   d   C   i   r   c   u   i   t   :   P
0026160    R   O   C   E   D   U   R   E   [   i   :   I   N   T   E   G
0026200    E   R   ]       R   E   T   U   R   N   S   [   B   O   O   L
0026220    E   A   N   ]   =  \r           B   E   G   I   N       R   E
0026240    T   U   R   N   [   c   i   r   c   u   i   t   s   [   i   ]
0026260    #   n   u   l   l   L   o   c   ]   ;   E   N   D   ;  \r  \r
0026300    C   l   e   a   r   C   i   r   c   u   i   t   :   P   R   O
0026320    C   E   D   U   R   E   [   i   :   I   N   T   E   G   E   R
0026340    ]   =   B   E   G   I   N       c   i   r   c   u   i   t   s
0026360    [   i   ]   _   n   u   l 376 001  \0 033 330   l   L   o   c
0026400    ;       E   N   D   ;  \r  \r   C   l   e   a   r   T   r   a
0026420    c   k   :   P   R   O   C   E   D   U   R   E   [   i   ,   j
0026440    :   I   N   T   E   G   E   R   ]   =  \r               B   E
0026460    G   I   N       t   r   a   c   k   [   i   ]   [   j   ]   _
0026500    [   n   u   l   l   L   o   c   ,   n   u   l   l   L   o   c
0026520    ,   n   u   l   l   L   o   c   ]   ;       E   N   D   ;  \r
0026540   \r   B   u   i   l   d   T   r   a   c   k   :   P   R   O   C
0026560    E   D   U   R   E   [   i   ,   j   :   I   N   T   E   G   E
0026600    R   ]   =   B   E   G   I   N  \r           s   ,   t   ,   w
0026620    :   C   i   r   c   u   i   t   ;  \r           [   s   ,   t
0026640    ,   w   ]   _   g   r   i   d   [   i   ]   [   j   ]   ;  \r
0026660            I   F       s       ~   I   N       [   0   .   .   t
0026700    o   p   C   i   r   c   u   i   t   ]  \r                    
0026720        O   R       t       ~   I   N       [   0   .   .   t   o
0026740    p   C   i   r   c   u   i   t   ]  \r                        
0026760    O   R       w       ~   I   N       [   0   . 376 001  \0 224
0027000  003   .   t   o   p   C   i   r   c   u   i   t   ]       T   H
0027020    E   N       E   r   r   o   r   ;  \r           t   r   a   c
0027040    k   [   i   ]   [   j   ]   _   [   c   i   r   c   u   i   t
0027060    s   [   s   ]   ,   c   i   r   c   u   i   t   s   [   t   ]
0027100    ,   c   i   r   c   u   i   t   s   [   w   ]   ]   ;  \r    
0027120        I   F       t   =   s       T   H   E   N       t   r   a
0027140    c   k   [   i   ]   [   j   ]   .   b   _   [   c   h   a   n
0027160    A   ,   i   ,   j   ]           -   -       H   a   n   d   l
0027200    e       p   u   l   l   u   p   s  \r                   E   L
0027220    S   E       I   F       t   =   w       T   H   E   N       t
0027240    r   a   c   k   [   i   ]   [   j   ]   .   b   _   [   c   h
0027260    a   n   B   ,   i   ,   j   ]   ;  \r           c   i   r   c
0027300    u   i   t   s   [   s   ]   _   [   c   h   a   n   A   ,   i
0027320    ,   j   ]   ;  \r           c   i   r   c   u   i   t   s   [
0027340    w   ]   _   [   c   h   a   n   B   ,   i   ,   j   ]   ;  \r
0027360            c   i   r   c   u   i   t   s   [   t   ]   _   [   g
0027400    a 376 001  \0   + 334   t   e   ,   i   ,   j   ]   ;        
0027420        -   -       I   f       s   =   t       o   r       w   =
0027440    t       t   h   i   s       w   i   l   l       o   v   e   r
0027460    r   i   d   e   .           I   t   '   s       O   K   .  \r
0027500            E   N   D   ;  \r  \r   -   -   /   /   /   /   /   /
0027520    /   /   /   /   /   /   /   /   I   N   P   U   T       S   T
0027540    U   F   F   /   /   /   /   /   /   /   /   /   /   /   /   /
0027560    /   /  \r  \r  \r   G   e   t   I   n   p   u   t   :   P   U
0027600    B   L   I   C       P   R   O   C   E   D   U   R   E   [   p
0027620    r   i   n   t   :   B   O   O   L   E   A   N   ]   =   B   E
0027640    G   I   N  \r                                                
0027660                            O   P   E   N       A   l   t   o   F
0027700    i   l   e   D   e   f   s   ,   I   O   D   e   f   s   ,   D
0027720    i   r   e   c   t   o   r   y   D   e   f   s   ,   S   t   r
0027740    e   a   m   D   e   f   s   ,  \r                            
0027760                                                                 
0030000        S   e   g   m   e 376 001  \0   K 331   n   t   D   e   f
0030020    s   ,   S   t   r   i   n   g   D   e   f   s   ;  \r        
0030040    k   b   d   S   t   r   e   a   m   ,   o   t   h   e   r   S
0030060    t   r   e   a   m   ,   c   u   r   r   e   n   t   S   t   r
0030100    e   a   m   :       S   t   r   e   a   m   H   a   n   d   l
0030120    e   ;  \r           p   I   n   F   i   l   e   F   P   :    
0030140    P   O   I   N   T   E   R       T   O       F   P   ;  \r    
0030160        i   n   F   i   l   e   F   P   :       F   P   ;  \r    
0030200        f   i   l   e   N   a   m   e   V   a   l   i   d   ,   r
0030220    e   a   d   F   r   o   m   K   b   d   :       B   O   O   L
0030240    E   A   N   ;  \r           i   n   F   i   l   e   N   a   m
0030260    e   :       S   T   R   I   N   G       _       [   4   0   ]
0030300    ;  \r           i   n   p   u   t   L   i   n   e   :       S
0030320    T   R   I   N   G       _       [   8   0   ]   ;  \r        
0030340    t   e   m   p   S   t   r   i   n   g   :       S   T   R   I
0030360    N   G   _   [   1   0   ]   ;  \r           i   n   p   u   t
0030400    T   a   i   l   :       S   u   b   S   t 376 001  \0 310   K
0030420    r   i   n   g   ;  \r  \r       C   h   o   m   p   D   e   c
0030440    i   m   a   l   :       P   R   O   C   E   D   U   R   E   [
0030460    s   r   c   :       S   u   b   S   t   r   i   n   g   ]    
0030500    R   E   T   U   R   N   S   [   I   N   T   E   G   E   R   ]
0030520    =   B   E   G   I   N  \r  \t  \t   O   P   E   N       S   t
0030540    r   i   n   g   D   e   f   s   ;  \r                   i   ,
0030560    j   ,   s   i   g   n   ,   w   a   l   l   :       I   N   T
0030600    E   G   E   R   ;  \r                   w   a   l   l       _
0030620    s   r   c   .   o   f   f   s   e   t   +   s   r   c   .   l
0030640    e   n   g   t   h   -   1   ;           -   -       m   a   r
0030660    k       t   h   e       e   n   d       o   f       l   i   n
0030700    e  \r                   i       _       s   r   c   .   o   f
0030720    f   s   e   t   ;  \r                   j       _       0   ;
0030740   \r                   W   H   I   L   E       I   F       i   <
0030760    =       w   a   l   l       T   H   E   N       s   r   c   .
0031000    b   a   s   e   .   t   e   x   t   [   i   ]   =   '        
0031020  376 001  \0   d 321   E   L   S   E       F   A   L   S   E  \r
0031040                                D   O       i       _       i   +
0031060    1   ;       E   N   D   L   O   O   P   ;       -   -       s
0031100    k   i   p       b   l   a   n   k   s  \r                   I
0031120    F       s   r   c   .   b   a   s   e   .   t   e   x   t   [
0031140    i   ]   =   '   -           T   H   E   N       B   E   G   I
0031160    N       s   i   g   n   _   -   1   ;       i   _   i   +   1
0031200        E   N   D       E   L   S   E       s   i   g   n   _   1
0031220    ;  \r                   I   F       s   r   c   .   b   a   s
0031240    e   .   t   e   x   t   [   i   ]       N   O   T       I   N
0031260        [   '   0   .   .   '   9   ]       T   H   E   N       E
0031300    r   r   o   r   ;  \r                   W   H   I   L   E    
0031320    I   F       i   <   =       w   a   l   l       T   H   E   N
0031340        s   r   c   .   b   a   s   e   .   t   e   x   t   [   i
0031360    ]       I   N       [   '   0   .   .   '   9   ]       E   L
0031400    S   E       F   A   L   S   E  \r                       D   O
0031420   \r                 376 001  \0 306   <           j       _    
0031440    1   0   *   j   +   (   s   r   c   .   b   a   s   e   .   t
0031460    e   x   t   [   i   ]   -   '   0   )   ;  \r                
0031500            i       _       i       +       1   ;  \r            
0031520            E   N   D   L   O   O   P   ;  \r                   s
0031540    r   c   .   l   e   n   g   t   h   _   s   r   c   .   l   e
0031560    n   g   t   h   -   (   i   -   s   r   c   .   o   f   f   s
0031600    e   t   )   ;  \r                   s   r   c   .   o   f   f
0031620    s   e   t   _   i   ;  \r                   R   E   T   U   R
0031640    N   [   s   i   g   n   *   j   ]   ;  \r           E   N   D
0031660    ;  \r      \r       C   h   o   m   p   I   D   :       P   R
0031700    O   C   E   D   U   R   E   [   s   r   c   :       S   u   b
0031720    S   t   r   i   n   g   ,       d   e   s   t   :   S   T   R
0031740    I   N   G   ]   =   B   E   G   I   N  \r  \t  \t   O   P   E
0031760    N       S   t   r   i   n   g   D   e   f   s   ;  \r        
0032000            i   ,   w   a   l   l   :       I   N   T   E   G   E
0032020    R   ;  \r                   t   e   m 376 001  \0   ? 203   p
0032040    :       S   u   b   S   t   r   i   n   g   ;  \r            
0032060        t   e   m   p   D   :       S   u   b   S   t   r   i   n
0032100    g   D   e   s   c   r   i   p   t   o   r   ;  \r            
0032120        t   e   m   p       _       @   t   e   m   p   D   ;  \r
0032140                    t   e   m   p   D   .   b   a   s   e   _   s
0032160    r   c   .   b   a   s   e   ;  \r                   d   e   s
0032200    t   .   l   e   n   g   t   h   _   0   ;  \r                
0032220    w   a   l   l       _   s   r   c   .   o   f   f   s   e   t
0032240    +   s   r   c   .   l   e   n   g   t   h   -   1   ;        
0032260    -   -       m   a   r   k       t   h   e       e   n   d    
0032300    o   f       l   i   n   e  \r                   i       _    
0032320    s   r   c   .   o   f   f   s   e   t   ;  \r                
0032340    W   H   I   L   E       I   F       i   <   =       w   a   l
0032360    l       T   H   E   N       s   r   c   .   b   a   s   e   .
0032400    t   e   x   t   [   i   ]   =   '           E   L   S   E    
0032420    F   A   L   S   E  \r                               D   O 376
0032440  001  \0   : 301       i       _       i   +   1   ;       E   N
0032460    D   L   O   O   P   ;       -   -       s   k   i   p       i
0032500    n   i   t   i   a   l       b   l   a   n   k   s  \r        
0032520            t   e   m   p   D   .   o   f   f   s   e   t   _   i
0032540    ;  \r                   t   e   m   p   D   .   l   e   n   g
0032560    t   h   _   0   ;  \r                   W   H   I   L   E    
0032600    I   F       i   <   =       w   a   l   l       T   H   E   N
0032620        s   r   c   .   b   a   s   e   .   t   e   x   t   [   i
0032640    ]   #   '           E   L   S   E       F   A   L   S   E  \r
0032660                        D   O  \r                               i
0032700        _       i       +       1   ;  \r                        
0032720        t   e   m   p   D   .   l   e   n   g   t   h   _   t   e
0032740    m   p   D   .   l   e   n   g   t   h   +   1   ;  \r        
0032760                E   N   D   L   O   O   P   ;  \r                
0033000    A   p   p   e   n   d   S   u   b   S   t   r   i   n   g   [
0033020    d   e   s   t   ,   t   e   m   p   ]   ;  \r                
0033040    s   r   c   . 376 001  \0 357   x   l   e   n   g   t   h   _
0033060    s   r   c   .   l   e   n   g   t   h   -   (   i   -   s   r
0033100    c   .   o   f   f   s   e   t   )   ;  \r                   s
0033120    r   c   .   o   f   f   s   e   t   _   i   ;  \r       E   N
0033140    D   ;  \r      \r  \r       P   a   r   s   e   T   r   a   n
0033160    s   i   s   t   o   r   :       P   R   I   V   A   T   E    
0033200    P   R   O   C   E   D   U   R   E       R   E   T   U   R   N
0033220    S   [   B   O   O   L   E   A   N   ]   =   B   E   G   I   N
0033240   \r  \t  \t  \t       O   P   E   N       I   O   D   e   f   s
0033260    ,       S   t   r   e   a   m   D   e   f   s   ,       S   t
0033300    r   i   n   g   D   e   f   s   ;  \r               a   ,   b
0033320    ,   c   :       I   N   T   E   G   E   R   ;  \r            
0033340    i   ,   j   :       I   N   T   E   G   E   R   ;  \r  \r    
0033360        I   F       (   I   F       c   u   r   r   e   n   t   S
0033400    t   r   e   a   m   #   k   b   d   S   t   r   e   a   m    
0033420    T   H   E   N       T   R   U   E       E   L   S   E  \r  \t
0033440        ~   c   u   r   r   e   n   t 376 001  \0 237   E   S   t
0033460    r   e   a   m   .   e   n   d   o   f   [   c   u   r   r   e
0033500    n   t   S   t   r   e   a   m   ]   )       -   -       b   l
0033520    a   m   e       k   b   d   S   t   r   e   a   m       l   o
0033540    s   s   a   g   e  \r                   T   H   E   N        
0033560    B   E   G   I   N           -   -       p   a   r   s   e    
0033600    a       l   i   n   e       -   -  \r                        
0033620    R   e   a   d   L   i   n   e   [   i   n   p   u   t   L   i
0033640    n   e   ]   ;  \r                           i   n   p   u   t
0033660    T   a   i   l   ^       _   S   u   b   S   t   r   i   n   g
0033700    D   e   s   c   r   i   p   t   o   r   [   i   n   p   u   t
0033720    L   i   n   e   ,   0   ,   i   n   p   u   t   L   i   n   e
0033740    .   l   e   n   g   t   h   ]   ;  \r                        
0033760    i       _       C   h   o   m   p   D   e   c   i   m   a   l
0034000    [   i   n   p   u   t   T   a   i   l   ]   ;  \r            
0034020                I   F       i       <       0       T   H   E   N
0034040        R   E   T   U   R   N   [   F   A   L   S   E   ] 376 001
0034060   \0 266   N   ;  \r                           j       _       C
0034100    h   o   m   p   D   e   c   i   m   a   l   [   i   n   p   u
0034120    t   T   a   i   l   ]   ;  \r                           I   F
0034140        (   i       N   O   T       I   N       [   1   .   .   s
0034160    i   d   e   ]   )       O   R       (   j       N   O   T    
0034200    I   N       [   1   .   .   s   i   d   e   ]   )       T   H
0034220    E   N       E   r   r   o   r   ;  \r                        
0034240    C   h   o   m   p   I   D   [   i   n   p   u   t   T   a   i
0034260    l   ,   t   e   m   p   S   t   r   i   n   g   ]   ;  \r    
0034300                        a       _       C   P   T   I   [   t   e
0034320    m   p   S   t   r   i   n   g   ]   ;  \r                    
0034340        C   h   o   m   p   I   D   [   i   n   p   u   t   T   a
0034360    i   l   ,   t   e   m   p   S   t   r   i   n   g   ]   ;  \r
0034400                            b       _       C   P   T   I   [   t
0034420    e   m   p   S   t   r   i   n   g   ]   ;  \r                
0034440            C   h   o   m   p   I   D   [   i   n   p   u   t   T
0034460    a   i   l 376 001  \0  \b   x   ,   t   e   m   p   S   t   r
0034500    i   n   g   ]   ;  \r                           c       _    
0034520    C   P   T   I   [   t   e   m   p   S   t   r   i   n   g   ]
0034540    ;  \r                           g   r   i   d   [   i   ]   [
0034560    j   ]   _   [   a   ,   b   ,   c   ]   ;  \r                
0034600    E   N   D       E   L   S   E       R   E   T   U   R   N   [
0034620    F   A   L   S   E   ]   ;  \r           R   E   T   U   R   N
0034640    [   T   R   U   E   ]   ;  \r       E   N   D   ;           -
0034660    -       o   f       P   a   r   s   e   T   r   a   n   s   i
0034700    s   t   o   r       -   -  \r  \r           p   I   n   F   i
0034720    l   e   F   P   _   @   i   n   F   i   l   e   F   P   ;  \r
0034740            f   i   l   e   N   a   m   e   V   a   l   i   d    
0034760    _       r   e   a   d   F   r   o   m   K   b   d       _    
0035000    F   A   L   S   E   ;  \r           U   N   T   I   L       f
0035020    i   l   e   N   a   m   e   V   a   l   i   d       D   O  \r
0035040                    W   r   i   t   e   S   t   r   i   n   g   [
0035060    "   E   n   t   e   r       t 376 001  \0   ( 240   h   e    
0035100    N   a   m   e       o   f       t   h   e       F   i   l   e
0035120        f   o   r       I   n   p   u   t   :   "   ]   ;  \r    
0035140            R   e   a   d   I   D   [   i   n   F   i   l   e   N
0035160    a   m   e   ]   ;  \r               W   r   i   t   e   C   h
0035200    a   r   [   C   R   ]   ;  \r                   I   F       i
0035220    n   F   i   l   e   N   a   m   e   .   l   e   n   g   t   h
0035240    =   0       T   H   E   N      \r                            
0035260                f   i   l   e   N   a   m   e   V   a   l   i   d
0035300        _       r   e   a   d   F   r   o   m   K   b   d       _
0035320        T   R   U   E  \r                       E   L   S   E    
0035340    f   i   l   e   N   a   m   e   V   a   l   i   d   _   D   i
0035360    r   e   c   t   o   r   y   L   o   o   k   u   p   [   p   I
0035400    n   F   i   l   e   F   P   ,   i   n   F   i   l   e   N   a
0035420    m   e   ,   F   A   L   S   E   ]   ;  \r           E   N   D
0035440    L   O   O   P   ;  \r           c   i   r   c   u   i   t   N
0035460    a   m   e   .   l   e   n   g   t   h   _   0   ; 376 001  \0
0035500  206 225  \r           W   H   I   L   E       c   i   r   c   u
0035520    i   t   N   a   m   e   .   l   e   n   g   t   h   <   2   0
0035540        A   N   D  \r  \t  \t       i   n   F   i   l   e   N   a
0035560    m   e   .   t   e   x   t   [   c   i   r   c   u   i   t   N
0035600    a   m   e   .   l   e   n   g   t   h   ]   #   '   .       D
0035620    O  \r                   c   i   r   c   u   i   t   N   a   m
0035640    e   .   t   e   x   t   [   c   i   r   c   u   i   t   N   a
0035660    m   e   .   l   e   n   g   t   h   ]   _   i   n   F   i   l
0035700    e   N   a   m   e   .   t   e   x   t   [   c   i   r   c   u
0035720    i   t   N   a   m   e   .   l   e   n   g   t   h   ]   ;  \r
0035740                    c   i   r   c   u   i   t   N   a   m   e   .
0035760    l   e   n   g   t   h   _   c   i   r   c   u   i   t   N   a
0036000    m   e   .   l   e   n   g   t   h   +   1   ;  \r            
0036020        E   N   D   L   O   O   P   ;  \r           c   u   r   r
0036040    e   n   t   S   t   r   e   a   m       _       k   b   d   S
0036060    t   r   e   a   m       _       G   e   t   I   n   p   u   t
0036100    S   t 376 001  \0   P 253   r   e   a   m   [   ]   ;  \r    
0036120        I   F       r   e   a   d   F   r   o   m   K   b   d    
0036140    T   H   E   N  \r                   W   r   i   t   e   L   i
0036160    n   e   [   "   I   n   p   u   t       f   r   o   m       K
0036200    e   y   b   o   a   r   d       R   e   q   u   e   s   t   e
0036220    d   .       P   r   o   c   e   e   d   .   "   ]  \r        
0036240        E   L   S   E       B   E   G   I   N  \r                
0036260        c   u   r   r   e   n   t   S   t   r   e   a   m       _
0036300        o   t   h   e   r   S   t   r   e   a   m       _   N   e
0036320    w   B   y   t   e   S   t   r   e   a   m   [   i   n   F   i
0036340    l   e   N   a   m   e   ,   R   e   a   d   ]   ;  \r        
0036360                S   e   t   I   n   p   u   t   S   t   r   e   a
0036400    m   [   o   t   h   e   r   S   t   r   e   a   m   ]   ;  \r
0036420                E   N   D   ;  \r           -   -       G   e   t
0036440        f   i   r   s   t       l   i   n   e       t   o       d
0036460    e   c   i   d   e       o   n       t   h   e       s   i   z
0036500    e               -   -  \r 376 001  \0 024   v           R   e
0036520    a   d   L   i   n   e   [   i   n   p   u   t   L   i   n   e
0036540    ]   ;  \r           i   n   p   u   t   T   a   i   l   ^    
0036560    _   [   i   n   p   u   t   L   i   n   e   ,   0   ,   i   n
0036600    p   u   t   L   i   n   e   .   l   e   n   g   t   h   ]   ;
0036620   \r           s   i   d   e       _       C   h   o   m   p   D
0036640    e   c   i   m   a   l   [   i   n   p   u   t   T   a   i   l
0036660    ]   ;  \r  \r           I   n   i   t   A   t   o   m   s   [
0036700    ]   ;  \r           E   n   u   m   e   r   a   t   e   G   r
0036720    i   d   P   l   u   s   T   w   o   [   C   l   e   a   r   G
0036740    r   i   d   ]   ;  \r  \r           W   H   I   L   E        
0036760        P   a   r   s   e   T   r   a   n   s   i   s   t   o   r
0037000    [   ]       D   O       N   U   L   L   ;           E   N   D
0037020    L   O   O   P   ;  \r  \r           I   F       ~   r   e   a
0037040    d   F   r   o   m   K   b   d       T   H   E   N  \r        
0037060            B   E   G   I   N  \r                           S   e
0037100    t   I   n   p   u   t   S   t   r   e   a   m 376 001  \0 026
0037120  313   [   k   b   d   S   t   r   e   a   m   ]   ;  \r        
0037140                    o   t   h   e   r   S   t   r   e   a   m   .
0037160    d   e   s   t   r   o   y   [   o   t   h   e   r   S   t   r
0037200    e   a   m   ]   ;  \r                   E   N   D   ;  \r    
0037220        I   F       p   r   i   n   t       T   H   E   N       P
0037240    r   i   n   t   G   [   ]   ;  \r           E   N   D   ;  \r
0037260   \r  \r   -   -   /   /   /   /   /   /   /   /   /   /   /   /
0037300    /   /   /   P   R   I   N   T   I   N   G   /   /   /   /   /
0037320    /   /   /   /   /   /   /   /   /  \r  \r   P   r   i   n   t
0037340    G   :   P   U   B   L   I   C       P   R   O   C   E   D   U
0037360    R   E   =   B   E   G   I   N       O   P   E   N       I   O
0037400    D   e   f   s   ,   S   t   r   e   a   m   D   e   f   s   ;
0037420   \r       i   ,   j   :       I   N   T   E   G   E   R   ;  \r
0037440        o   u   t   p   u   t   :       S   t   r   e   a   m   H
0037460    a   n   d   l   e   ;  \r       o   u   t   p   u   t   _   G
0037500    e   t   O   u   t   p   u   t   S   t   r   e   a   m   [   ]
0037520    ; 376 001  \0   -   !  \r       p   r   i   n   t   G   r   i
0037540    d   _   g   r   i   d   ;  \r       I   O   D   e   f   s   .
0037560    W   r   i   t   e   C   h   a   r   [   C   R   ]   ;  \r   -
0037600    -       W   r   i   t   e       a       H   e   a   d   e   r
0037620        L   i   n   e  \r       I   O   D   e   f   s   .   W   r
0037640    i   t   e   S   t   r   i   n   g   [   "   j   (   y   )   \
0037660    i   (   x   )   "   ]   ;  \r       F   O   R       i       I
0037700    N       (   0   .   .   s   i   d   e   ]       D   O       I
0037720    O   D   e   f   s   .   O   u   t   N   u   m   b   e   r   [
0037740    o   u   t   p   u   t   ,   i   ,  \r                        
0037760                                                                 
0040000    N   u   m   b   e   r   F   o   r   m   a   t   [   1   0   ,
0040020    F   A   L   S   E   ,   F   A   L   S   E   ,   1   1   ]    
0040040    ]   ;       E   N   D   L   O   O   P   ;  \r       I   O   D
0040060    e   f   s   .   W   r   i   t   e   C   h   a   r   [   C   R
0040100    ]   ;  \r       I   O   D   e   f   s   .   W   r   i   t   e
0040120    C   h   a   r   [   C 376 001  \0 036 306   R   ]   ;  \r   -
0040140    -       W   r   i   t   e       o   u   t       t   h   e    
0040160    G   r   i   d   .  \r       F   O   R       j       D   E   C
0040200    R   E   A   S   I   N   G       I   N       (   0   .   .   s
0040220    i   d   e   ]       D   O       -   -       h   a   n   d   l
0040240    e       t   h   e       y   '   s  \r           I   O   D   e
0040260    f   s   .   O   u   t   N   u   m   b   e   r   [   o   u   t
0040300    p   u   t   ,   j   ,   N   u   m   b   e   r   F   o   r   m
0040320    a   t   [   1   0   ,   F   A   L   S   E   ,   F   A   L   S
0040340    E   ,   1   1   ]       ]   ;  \r           F   O   R       i
0040360        I   N       (   0   .   .   s   i   d   e   ]       D   O
0040400            -   -       x       c   o   o   r   d   i   n   a   t
0040420    e  \r                   P   r   i   n   t   G   r   i   d   [
0040440    i   ,   j   ]   ;      \r                   E   N   D   L   O
0040460    O   P   ;  \r           I   O   D   e   f   s   .   W   r   i
0040500    t   e   C   h   a   r   [   C   R   ]   ;  \r           E   N
0040520    D   L   O   O   P   ;  \r       E   N   D 376 001  \0 320 313
0040540    ;  \r  \r   P   r   i   n   t   G   S   e   c   t   i   o   n
0040560    :   P   U   B   L   I   C       P   R   O   C   E   D   U   R
0040600    E   =   B   E   G   I   N  \r       p   r   i   n   t   G   r
0040620    i   d   _   g   r   i   d   ;  \r       I   O   D   e   f   s
0040640    .   W   r   i   t   e   C   h   a   r   [   C   R   ]   ;  \r
0040660        E   n   u   m   e   r   a   t   e   G   r   i   d   [   P
0040700    r   i   n   t   G   r   i   d   S   e   c   t   i   o   n   ]
0040720    ;  \r       E   N   D   ;  \r  \r   P   r   i   n   t   G   r
0040740    i   d   :   P   R   O   C   E   D   U   R   E   [   i   ,   j
0040760    :   I   N   T   E   G   E   R   ]   =   B   E   G   I   N    
0041000    O   P   E   N       I   O   D   e   f   s   ;  \r           W
0041020    r   i   t   e   C   h   a   r   [   '       ]   ;  \r        
0041040    W   r   i   t   e   I   d   [   p   r   i   n   t   G   r   i
0041060    d   [   i   ]   [   j   ]   .   a   ]   ;  \r           W   r
0041100    i   t   e   I   d   [   p   r   i   n   t   G   r   i   d   [
0041120    i   ]   [   j   ]   .   b   ]   ;  \r           W   r   i   t
0041140  376 001  \0   h 330   e   I   d   [   p   r   i   n   t   G   r
0041160    i   d   [   i   ]   [   j   ]   .   c   ]   ;  \r           W
0041200    r   i   t   e   C   h   a   r   [   '       ]   ;  \r        
0041220    E   N   D   ;  \r  \r   P   r   i   n   t   G   r   i   d   S
0041240    e   c   t   i   o   n   :   P   R   O   C   E   D   U   R   E
0041260    [   i   ,   j   :   I   N   T   E   G   E   R   ]   =   B   E
0041300    G   I   N       O   P   E   N       I   O   D   e   f   s   ;
0041320   \r           x   :   I   N   T   E   G   E   R   ;  \r        
0041340    I   F       j   =   0       T   H   E   N       W   r   i   t
0041360    e   C   h   a   r   [   C   R   ]   ;  \r           x   _   M
0041400    A   X   [   F   i   n   d   S   e   c   t   i   o   n   I   d
0041420    [   p   r   i   n   t   G   r   i   d   [   i   ]   [   j   ]
0041440    .   a   ]   ,  \r                                   F   i   n
0041460    d   S   e   c   t   i   o   n   I   d   [   p   r   i   n   t
0041500    G   r   i   d   [   i   ]   [   j   ]   .   b   ]   ,  \r    
0041520                                F   i   n   d   S   e   c   t   i
0041540    o   n   I   d   [ 376 001  \0   b  \0   p   r   i   n   t   G
0041560    r   i   d   [   i   ]   [   j   ]   .   c   ]   ]   ;  \r    
0041600        W   r   i   t   e   C   h   a   r   [   S   E   L   E   C
0041620    T       x       F   R   O   M       -   1   =   >   '   x   ,
0041640    0   =   >   '   0   ,   1   =   >   '   1   ,   2   =   >   '
0041660    2   ,   3   =   >   '   3   ,   4   =   >   '   4   ,  \r    
0041700                                    5   =   >   '   5   ,   6   =
0041720    >   '   6   ,   7   =   >   '   7   ,   8   =   >   '   8   ,
0041740    E   N   D   C   A   S   E   =   >   '   9   ]   ;  \r        
0041760    E   N   D   ;  \r  \r   W   r   i   t   e   I   d   :   P   R
0042000    O   C   E   D   U   R   E   [   a   :   I   N   T   E   G   E
0042020    R   ]   =   B   E   G   I   N  \r           I   F       a   =
0042040    n   u   l   l   C   i   r   c   u   i   t       T   H   E   N
0042060        I   O   D   e   f   s   .   W   r   i   t   e   S   t   r
0042100    i   n   g   [   "               "   ]  \r                   E
0042120    L   S   E       B   E   G   I   N  \r                       I
0042140    O   D   e   f   s   .   W   r   i   t 376 001  \0 032 360   e
0042160    C   h   a   r   [   '       ]   ;  \r                       I
0042200    O   D   e   f   s   .   W   r   i   t   e   C   h   a   r   [
0042220    a   t   o   m   s   [   a   ]   .   a   ]   ;  \r            
0042240            I   O   D   e   f   s   .   W   r   i   t   e   C   h
0042260    a   r   [   a   t   o   m   s   [   a   ]   .   b   ]   ;  \r
0042300                    E   N   D   ;  \r   E   N   D   ;  \r  \r   F
0042320    i   n   d   S   e   c   t   i   o   n   I   d   :   P   R   O
0042340    C   E   D   U   R   E   [   a   :   I   N   T   E   G   E   R
0042360    ]       R   E   T   U   R   N   S   [   I   N   T   E   G   E
0042400    R   ]   =   B   E   G   I   N  \r               I   F       a
0042420    =   g   n   d       T   H   E   N       R   E   T   U   R   N
0042440    [   -   1   ]   ;  \r               R   E   T   U   R   N   [
0042460    S   E   L   E   C   T       a   t   o   m   s   [   a   ]   .
0042500    a       F   R   O   M  \r                       '   0   ,   '
0042520        =   >   0   ,       '   1   =   >   1   ,       '   2   =
0042540    >   2   ,       '   3   =   >   3   ,       '   4   =   > 376
0042560  001  \0 177 224   4   ,       '   5   =   >   5   ,       '   6
0042600    =   >   6   ,       '   7   =   >   7   ,       '   8   =   >
0042620    8   ,  \r                       E   N   D   C   A   S   E   =
0042640    >   -   1   ]   ;  \r               E   N   D   ;  \r  \r   -
0042660    -   /   /   /   /   /   /   /   /   /   /   /   /   /   A   T
0042700    O   M   S   /   /   /   /   /   /   /   /   /   /   /   /   /
0042720    /  \r  \r   I   d   :   T   Y   P   E   =   R   E   C   O   R
0042740    D   [   a   ,   b   :   C   H   A   R   A   C   T   E   R   ]
0042760    ;  \r   a   t   o   m   s   :   A   R   R   A   Y   [   0   .
0043000    .   m   a   x   A   t   o   m   +   3   ]       O   F       I
0043020    d   ;  \r   m   a   x   A   t   o   m   :   I   N   T   E   G
0043040    E   R   =   5   0   0   ;  \r   t   o   p   A   t   o   m   ,
0043060    v   d   d   ,   g   n   d   :   I   N   T   E   G   E   R   ;
0043100   \r   t   e   m   p   S   t   r   i   n   g   :   S   T   R   I
0043120    N   G   _   [   6   ]   ;  \r  \r  \r   I   n   i   t   A   t
0043140    o   m   s   :   P   R   O   C   E   D   U   R   E   =   B   E
0043160    G   I   N  \r 376 001  \0   5   /           g   d   :       S
0043200    T   R   I   N   G   =   "   g   d   "   ;  \r           v   d
0043220    :       S   T   R   I   N   G   =   "   v   d   "   ;  \r    
0043240        t   o   p   A   t   o   m   _   0   ;  \r           g   n
0043260    d   _   C   P   T   I   [   "   g   d   "   ]   ;  \r        
0043300    v   d   d   _   C   P   T   I   [   "   v   d   "   ]   ;  \r
0043320            E   N   D   ;  \r  \r   C   P   T   I   :   P   R   O
0043340    C   E   D   U   R   E   [   i   n   S   t   r   :   S   T   R
0043360    I   N   G   ]       R   E   T   U   R   N   S   [   b   :   I
0043400    N   T   E   G   E   R   ]   =   B   E   G   I   N  \r        
0043420    i   d   :       I   d   ;  \r           i   :   I   N   T   E
0043440    G   E   R   ;  \r           I   F       i   n   S   t   r   .
0043460    l   e   n   g   t   h   =   1       T   H   E   N       i   d
0043500        _   [   '       ,   i   n   S   t   r   .   t   e   x   t
0043520    [   0   ]   ]  \r               E   L   S   E       i   d    
0043540    _   [   i   n   S   t   r   .   t   e   x   t   [   0   ]   ,
0043560    i   n   S   t   r   .   t   e   x 376 001  \0   k 303   t   [
0043600    1   ]   ]   ;  \r           F   O   R       i       I   N    
0043620    [   0   .   .   t   o   p   A   t   o   m   )       D   O    
0043640    I   F       i   d   =   a   t   o   m   s   [   i   ]       T
0043660    H   E   N       R   E   T   U   R   N   [   i   ]   ;       E
0043700    N   D   L   O   O   P   ;  \r           a   t   o   m   s   [
0043720    t   o   p   A   t   o   m   ]   _   i   d   ;  \r           t
0043740    o   p   A   t   o   m   _   t   o   p   A   t   o   m   +   1
0043760    ;  \r           I   F       t   o   p   A   t   o   m   >   m
0044000    a   x   A   t   o   m       T   H   E   N       E   r   r   o
0044020    r   ;  \r           R   E   T   U   R   N   [   t   o   p   A
0044040    t   o   m   -   1   ]   ;  \r           E   N   D   ;  \r  \r
0044060    -   -   /   /   /   /   /   /   /   /   /   /   /   /   /   G
0044100    R   A   P   H   I   C   S   /   /   /   /   /   /   /   /   /
0044120    /   /   /   /   /  \r  \r   m   a   x   X   ,   m   a   x   Y
0044140    :       I   N   T   E   G   E   R   ;  \r   c   o   r   n   e
0044160    r   X   ,   c   o   r   n   e   r   Y   :       C   A 376 001
0044200   \0 236   6   R   D   I   N   A   L   ;  \r   h   a   l   f   H
0044220    e   i   g   h   t   :   I   N   T   E   G   E   R   =   1   2
0044240    0   0   0   ;  \r   h   a   l   f   W   i   d   t   h   :   I
0044260    N   T   E   G   E   R   =   8   0   0   0   ;  \r   d   i   s
0044300    p   l   a   y   :   B   O   O   L   E   A   N   _   T   R   U
0044320    E   ;  \r   p   r   e   s   s   :   P   r   e   s   s   D   e
0044340    f   s   .   P   r   e   s   s   F   i   l   e   D   e   s   c
0044360    r   i   p   t   o   r   ;  \r   S   c   r   e   e   n   :   P
0044400    O   I   N   T   E   R       T   O       G   r   a   p   h   i
0044420    c   s   D   e   f   s   .   B   i   t   m   a   p   ;  \r   O
0044440    l   d   D   C   B   :   C   A   R   D   I   N   A   L   ;  \r
0044460    D   C   B   H   e   a   d   :       P   O   I   N   T   E   R
0044500        T   O       C   A   R   D   I   N   A   L   =       L   O
0044520    O   P   H   O   L   E   [   4   2   0   B   ]   ;  \r   M   o
0044540    u   s   e   B   u   t   t   o   n   s   :       P   O   I   N
0044560    T   E   R       T   O       C   A   R   D   I   N   A   L    
0044600    =       L 376 001  \0   m 022   O   O   P   H   O   L   E   [
0044620    1   7   7   0   3   0   B   ]   ;  \r   K   e   y   B   o   a
0044640    r   d   1   :       P   O   I   N   T   E   R       T   O    
0044660    C   A   R   D   I   N   A   L       =       L   O   O   P   H
0044700    O   L   E   [   1   7   7   0   3   4   B   ]   ;  \r   K   e
0044720    y   B   o   a   r   d   2   :       P   O   I   N   T   E   R
0044740        T   O       C   A   R   D   I   N   A   L       =       L
0044760    O   O   P   H   O   L   E   [   1   7   7   0   3   5   B   ]
0045000    ;  \r   M   o   u   s   e   X   :       P   O   I   N   T   E
0045020    R       T   O       C   A   R   D   I   N   A   L       =    
0045040    L   O   O   P   H   O   L   E   [   4   2   6   B   ]   ;  \r
0045060    M   o   u   s   e   Y   :       P   O   I   N   T   E   R    
0045100    T   O       C   A   R   D   I   N   A   L       =       L   O
0045120    O   P   H   O   L   E   [   4   2   7   B   ]   ;  \r  \r   P
0045140    r   i   n   t   G   e   o   m   e   t   r   y   :   P   U   B
0045160    L   I   C       P   R   O   C   E   D   U   R   E   [   n   a
0045200    m   e   :   S   T   R   I   N 376 001  \0 364   `   G   ]   =
0045220        B   E   G   I   N  \r           t   S   c   a   l   e   :
0045240        I   N   T   E   G   E   R   _   s   c   a   l   e   ;  \r
0045260            d   i   s   p   l   a   y   _   F   A   L   S   E   ;
0045300   \r           s   c   a   l   e   _   s   c   a   l   e   *   3
0045320    5   ;           -   -       a   s   s   u   m   e   s       7
0045340    2   +   a       t   a   d       s   c   r   e   e   n       d
0045360    o   t   s       p   e   r       i   n   c   h  \r           c
0045400    o   r   n   e   r   X   _   3   5   *   x   O   r   g   ;  \r
0045420            c   o   r   n   e   r   Y   _   3   5   *   (   8   0
0045440    8   -   y   O   r   g   )   ;  \r           P   r   e   s   s
0045460    D   e   f   s   .   I   n   i   t   P   r   e   s   s   F   i
0045500    l   e   D   e   s   c   r   i   p   t   o   r   [   @   p   r
0045520    e   s   s   ,   n   a   m   e   ]   ;  \r           P   r   i
0045540    n   t   S   t   i   c   k   D   i   a   g   r   a   m   [   ]
0045560    ;  \r           P   r   e   s   s   D   e   f   s   .   C   l
0045600    o   s   e   P   r   e   s   s   F   i   l   e   [ 376 001  \0
0045620    " 254   @   p   r   e   s   s   ]   ;  \r           d   i   s
0045640    p   l   a   y   _   T   R   U   E   ;  \r           s   c   a
0045660    l   e   _   t   S   c   a   l   e   ;  \r           E   N   D
0045700    ;   -   -   p   r   i   n   t       g   e   o   m  \r  \r   s
0045720    c   a   l   e   :   I   N   T   E   G   E   R   ;  \r   d   e
0045740    b   u   g   P   r   i   n   t   :   P   U   B   L   I   C    
0045760    B   O   O   L   E   A   N   _   F   A   L   S   E   ;  \r   f
0046000    i   r   s   t   :   P   U   B   L   I   C       B   O   O   L
0046020    E   A   N   ;  \r  \r   P   u   t   B   o   x   :   P   U   B
0046040    L   I   C       P   R   O   C   E   D   U   R   E   [   c   o
0046060    l   o   r   :   C   o   l   o   r   ,   x   ,   y   ,   m   ,
0046100    n   :   C   A   R   D   I   N   A   L   ]   =   B   E   G   I
0046120    N  \r           p   r   e   s   s   W   i   d   t   h   :    
0046140    C   A   R   D   I   N   A   L   =   2   0   0   0   0   ;  \r
0046160            p   r   e   s   s   h   e   i   g   h   t   :       C
0046200    A   R   D   I   N   A   L   =   2   5   0   0   0   ;  \r    
0046220        x 376 001  \0 202 001   1   ,   y   1   ,   w   1   ,   w
0046240    2   :   I   N   T   E   G   E   R   ;  \r           I   F    
0046260    d   e   b   u   g   P   r   i   n   t       T   H   E   N    
0046300    B   E   G   I   N  \r                   I   O   D   e   f   s
0046320    .   W   r   i   t   e   C   h   a   r   [   S   E   L   E   C
0046340    T       c   o   l   o   r       F   R   O   M       g   =   >
0046360    '   g   ,   r   =   >   '   r   ,   E   N   D   C   A   S   E
0046400    =   >   '   b   ]   ;  \r                   I   O   D   e   f
0046420    s   .   W   r   i   t   e   N   u   m   b   e   r   [   x   ,
0046440    [   1   0   ,   F   A   L   S   E   ,   T   R   U   E   ,   4
0046460    ]   ]   ;  \r                   I   O   D   e   f   s   .   W
0046500    r   i   t   e   N   u   m   b   e   r   [   y   ,   [   1   0
0046520    ,   F   A   L   S   E   ,   T   R   U   E   ,   4   ]   ]   ;
0046540   \r                   I   O   D   e   f   s   .   W   r   i   t
0046560    e   N   u   m   b   e   r   [   m   ,   [   1   0   ,   F   A
0046600    L   S   E   ,   T   R   U   E   ,   3   ]   ]   ;  \r        
0046620            I   O   D   e   f 376 001  \0 211 252   s   .   W   r
0046640    i   t   e   N   u   m   b   e   r   [   n   ,   [   1   0   ,
0046660    F   A   L   S   E   ,   T   R   U   E   ,   3   ]   ]   ;  \r
0046700                    I   O   D   e   f   s   .   W   r   i   t   e
0046720    C   h   a   r   [   C   R   ]   ;  \r                   R   E
0046740    T   U   R   N   ;  \r                   E   N   D   ;  \r    
0046760        I   F       m       N   O   T       I   N       [   1   .
0047000    .   1   0   0   0   )       O   R       n       N   O   T    
0047020    I   N       [   1   .   .   1   0   0   0   )       T   H   E
0047040    N       R   E   T   U   R   N   ;  \r           I   F       d
0047060    i   s   p   l   a   y       T   H   E   N       B   E   G   I
0047100    N       D   i   s   p   l   a   y   B   o   x   [   c   o   l
0047120    o   r   ,   x   ,   y   ,   m   ,   n   ]   ;       R   E   T
0047140    U   R   N   ;       E   N   D   ;  \r           I   F       s
0047160    i   l   F   i   l   e       T   H   E   N       B   E   G   I
0047200    N  \r                   f   e   a   t   :   S   i   l   F   e
0047220    a   t   u   r   e   ;  \r                   t 376 001  \0 264
0047240  366   :   [   0   .   .   1   6   )   _   S   E   L   E   C   T
0047260        c   o   l   o   r       F   R   O   M       r   =   >   1
0047300    ,       g   =   >   3   ,       b   =   >   4   ,       E   N
0047320    D   C   A   S   E   =   >   0   ;  \r                   I   F
0047340        x   >   7   7   7   7   7   B       T   H   E   N       x
0047360    _   1   ;  \r                   I   F       y   >   7   7   7
0047400    7   7   B       T   H   E   N       y   _   1   ;  \r        
0047420            I   F       x   >   5   0   0       T   H   E   N    
0047440    x   _   5   0   0   ;  \r                   I   F       y   >
0047460    s   i   l   Y   M   a   x       T   H   E   N       y   _   s
0047500    i   l   Y   M   a   x   -   1   ;  \r                   f   e
0047520    a   t   _   [   m   a   c   r   o   :   1   7   7   7   7   7
0047540    B   ,  \r  \t   x   U   L   :   [   0   ,   x   O   r   g   +
0047560    s   c   a   l   e   *   x   ]   ,  \r  \t   y   U   L   :   [
0047600    0   ,   y   O   r   g   -   s   c   a   l   e   *   (   y   +
0047620    n   )   ]   ,  \r  \t   x   L   R   :   [   t   ,   x   O   r
0047640    g 376 001  \0   .   '   +   s   c   a   l   e   *   (   x   +
0047660    m   )   ]   ,  \r  \t   y   L   R   :   [   1   4   ,   y   O
0047700    r   g   -   s   c   a   l   e   *   y   ]   ]   ;  \r        
0047720            W   r   i   t   e   S   i   l   F   e   a   t   u   r
0047740    e   [   f   e   a   t   ]   ;      \r                   R   E
0047760    T   U   R   N   ;  \r                   E   N   D   ;  \r    
0050000        -   -           /   /       D   e   f   a   u   l   t   :
0050020        p   r   o   d   u   c   e       a       P   R   E   S   S
0050040        f   i   l   e       /   /  \r           S   E   L   E   C
0050060    T       c   o   l   o   r       F   R   O   M  \r            
0050100        r   =   >   P   r   e   s   s   D   e   f   s   .   S   e
0050120    t   C   o   l   o   r   [   @   p   r   e   s   s   ,   2   2
0050140    0   ,   1   2   8   ,   2   5   5   ]   ;  \r                
0050160    g   =   >   P   r   e   s   s   D   e   f   s   .   S   e   t
0050200    C   o   l   o   r   [   @   p   r   e   s   s   ,   0   8   0
0050220    ,   1   2   8   ,   2   5   5   ]   ;  \r                   b
0050240    =   >   P   r   e   s 376 001  \0 223 002   s   D   e   f   s
0050260    .   S   e   t   C   o   l   o   r   [   @   p   r   e   s   s
0050300    ,   1   4   0   ,   0   6   4   ,   2   5   5   ]   ;  \r    
0050320                n   o   n   e   =   >   P   r   e   s   s   D   e
0050340    f   s   .   S   e   t   C   o   l   o   r   [   @   p   r   e
0050360    s   s   ,   1   4   0   ,   0   0   0   ,   0   0   0   ]   ;
0050400   \r                   E   N   D   C   A   S   E   ;  \r        
0050420    x   1   _   c   o   r   n   e   r   X   +   s   c   a   l   e
0050440    *   x   ;  \r           y   1   _   c   o   r   n   e   r   Y
0050460    +   s   c   a   l   e   *   y   ;  \r           w   1   _   s
0050500    c   a   l   e   *   m   ;  \r           w   2   _   s   c   a
0050520    l   e   *   n   ;  \r           I   F       x   1   >   p   r
0050540    e   s   s   W   i   d   t   h       O   R       y   1   >   p
0050560    r   e   s   s   h   e   i   g   h   t       T   H   E   N    
0050600    R   E   T   U   R   N   ;  \r           I   F       x   1   +
0050620    w   1   >   p   r   e   s   s   W   i   d   t   h       T   H
0050640    E   N       w   1   _   p   r   e   s   s 376 001  \0 201 300
0050660    W   i   d   t   h   -   x   1   ;  \r           I   F       y
0050700    1   +   w   2   >   p   r   e   s   s   h   e   i   g   h   t
0050720        T   H   E   N       w   2   _   p   r   e   s   s   h   e
0050740    i   g   h   t   -   y   1   ;  \r           P   r   e   s   s
0050760    D   e   f   s   .   P   u   t   R   e   c   t   a   n   g   l
0051000    e   [   @   p   r   e   s   s   ,   x   1   ,   y   1   ,   w
0051020    1   ,   w   2   ]   ;  \r           E   N   D   ;   -   -   P
0051040    u   t   B   o   x  \r  \r   M   a   k   e   S   i   l   F   i
0051060    l   e   :   P   U   B   L   I   C       P   R   O   C   E   D
0051100    U   R   E   [   s   :   S   T   R   I   N   G   ]   =       B
0051120    E   G   I   N       O   P   E   N       S   t   r   e   a   m
0051140    D   e   f   s   ;  \r           o   u   t   p   u   t   S   t
0051160    r   e   a   m   _   N   e   w   W   o   r   d   S   t   r   e
0051200    a   m   [   s   ,   W   r   i   t   e   +   A   p   p   e   n
0051220    d   ]   ;  \r           o   u   t   p   u   t   S   t   r   e
0051240    a   m   .   r   e   s   e   t   [   o   u   t   p   u   t   S
0051260  376 001  \0 363 233   t   r   e   a   m   ]   ;      \r        
0051300    o   u   t   p   u   t   S   t   r   e   a   m   .   p   u   t
0051320    [   o   u   t   p   u   t   S   t   r   e   a   m   ,   3   4
0051340    5   6   2   B   ]   ;  \r           d   i   s   p   l   a   y
0051360    _   F   A   L   S   E   ;       s   i   l   F   i   l   e   _
0051400    T   R   U   E   ;  \r           P   r   i   n   t   S   t   i
0051420    c   k   D   i   a   g   r   a   m   [   ]   ;  \r           d
0051440    i   s   p   l   a   y   _   T   R   U   E   ;       s   i   l
0051460    F   i   l   e   _   F   A   L   S   E   ;  \r           o   u
0051500    t   p   u   t   S   t   r   e   a   m   .   d   e   s   t   r
0051520    o   y   [   o   u   t   p   u   t   S   t   r   e   a   m   ]
0051540    ;  \r           E   N   D   ;  \r  \r   s   i   l   F   i   l
0051560    e   :   P   U   B   L   I   C       B   O   O   L   E   A   N
0051600    _   F   A   L   S   E   ;  \r   s   i   l   Y   M   a   x   :
0051620    C   A   R   D   I   N   A   L   =   7   5   0   ;  \r   S   i
0051640    l   W   o   r   d   :   T   Y   P   E   =   R   E   C   O   R
0051660    D   [   a   :   [ 376 001  \0 266   o   0   .   .   1   7   B
0051700    ]   ,   b   :   [   0   .   .   7   7   7   7   B   ]   ]   ;
0051720   \r   S   i   l   F   e   a   t   u   r   e   :   T   Y   P   E
0051740    =   R   E   C   O   R   D   [   m   a   c   r   o   :   C   A
0051760    R   D   I   N   A   L   ,   x   U   L   ,   y   U   L   ,   x
0052000    L   R   ,   y   L   R   :   S   i   l   W   o   r   d   ]   ;
0052020   \r   o   u   t   p   u   t   S   t   r   e   a   m   :   S   t
0052040    r   e   a   m   D   e   f   s   .   D   i   s   k   H   a   n
0052060    d   l   e   ;  \r  \r   W   r   i   t   e   S   i   l   F   e
0052100    a   t   u   r   e   :   P   R   O   C   E   D   U   R   E   [
0052120    f   e   a   t   :   S   i   l   F   e   a   t   u   r   e   ]
0052140    =   B   E   G   I   N  \r           o   u   t   p   u   t   S
0052160    t   r   e   a   m   .   p   u   t   [   o   u   t   p   u   t
0052200    S   t   r   e   a   m   ,   f   e   a   t   .   m   a   c   r
0052220    o   ]   ;  \r           o   u   t   p   u   t   S   t   r   e
0052240    a   m   .   p   u   t   [   o   u   t   p   u   t   S   t   r
0052260    e   a   m   ,   f   e   a   t   .   x 376 001  \0   ; 263   U
0052300    L   ]   ;  \r           o   u   t   p   u   t   S   t   r   e
0052320    a   m   .   p   u   t   [   o   u   t   p   u   t   S   t   r
0052340    e   a   m   ,   f   e   a   t   .   y   U   L   ]   ;  \r    
0052360        o   u   t   p   u   t   S   t   r   e   a   m   .   p   u
0052400    t   [   o   u   t   p   u   t   S   t   r   e   a   m   ,   f
0052420    e   a   t   .   x   L   R   ]   ;  \r           o   u   t   p
0052440    u   t   S   t   r   e   a   m   .   p   u   t   [   o   u   t
0052460    p   u   t   S   t   r   e   a   m   ,   f   e   a   t   .   y
0052500    L   R   ]   ;  \r           E   N   D   ;  \r   -   -  \r   -
0052520    -       G   r   a   p   h   i   c   s       D   i   s   p   l
0052540    a   y       P   r   o   c   e   d   u   r   e   s  \r   -   -
0052560   \r   x   O   r   g   ,   y   O   r   g   :       C   A   R   D
0052600    I   N   A   L   ;       -   -   o   r   i   g   i   n       o
0052620    f       t   h   e       i   m   a   g   e  \r   d   x   M   a
0052640    x   :   C   A   R   D   I   N   A   L   ;  \r   d   y   M   a
0052660    x   :   C   A   R   D   I   N   A   L   ;       -   -   s 376
0052700  001  \0 234 267   i   z   e       o   f       t   h   e       d
0052720    i   s   p   l   a   y       s   c   r   e   e   n  \r   s   m
0052740    a   l   l   D   i   s   p   l   a   y   :   B   O   O   L   E
0052760    A   N   _   F   A   L   S   E   ;  \r  \r   S   t   a   r   t
0053000    D   i   s   p   l   a   y   :   P   U   B   L   I   C       P
0053020    R   O   C   E   D   U   R   E   =       B   E   G   I   N    
0053040        -   -   i   n   i   t   i   a   l   i   z   e       t   h
0053060    e       s   c   r   e   e   n  \r           d   x   M   a   x
0053100    _   d   y   M   a   x   _   I   F       s   m   a   l   l   D
0053120    i   s   p   l   a   y       T   H   E   N       2   5   6    
0053140    E   L   S   E       5   1   2   ;  \r           G   r   a   p
0053160    h   i   c   s   D   e   f   s   .   S   e   t   D   e   f   a
0053200    u   l   t   B   i   t   m   a   p   [   d   x   M   a   x   ,
0053220    d   y   M   a   x   ]   ;  \r           O   l   d   D   C   B
0053240    _       D   C   B   H   e   a   d   ^   ;  \r           S   c
0053260    r   e   e   n       _       G   r   a   p   h   i   c   s   D
0053300    e   f   s   . 376 001  \0 220 003   T   u   r   n   O   n   G
0053320    r   a   p   h   i   c   s   [   ]   ;  \r           E   N   D
0053340    ;  \r  \r   D   i   s   p   l   a   y   :   P   U   B   L   I
0053360    C       P   R   O   C   E   D   U   R   E   =       B   E   G
0053400    I   N  \r           G   r   a   p   h   i   c   s   D   e   f
0053420    s   .   E   r   a   s   e   A   r   e   a   [   0   ,   0   ,
0053440    d   x   M   a   x   ,   d   y   M   a   x   ]   ;  \r        
0053460    x   O   r   g   _       8   ;      \r           y   O   r   g
0053500    _       d   y   M   a   x   -   8   ;  \r           s   c   a
0053520    l   e   _       M   I   N   [   d   x   M   a   x   /   (   m
0053540    a   x   X   +   1   6   )   ,   d   y   M   a   x   /   (   m
0053560    a   x   Y   +   1   6   )   ]   ;  \r           I   O   D   e
0053600    f   s   .   W   r   i   t   e   S   t   r   i   n   g   [   "
0053620    s   c   a   l   e   =   "   ]   ;  \r           I   O   D   e
0053640    f   s   .   W   r   i   t   e   N   u   m   b   e   r   [   s
0053660    c   a   l   e   ,   [   1   0   ,   F   A   L   S   E   ,   T
0053700    R   U   E   ,   6   ]   ]   ;  \r 376 001  \0 016            
0053720    I   O   D   e   f   s   .   W   r   i   t   e   L   i   n   e
0053740    [   "   "   ]   ;  \r           I   F       s   c   a   l   e
0053760    <   1       T   H   E   N       E   r   r   o   r   ;  \r    
0054000        P   r   i   n   t   S   t   i   c   k   D   i   a   g   r
0054020    a   m   [   ]   ;  \r           E   N   D   ;  \r  \r   M   a
0054040    n   i   p   u   l   a   t   e   D   i   s   p   l   a   y   :
0054060    P   U   B   L   I   C       P   R   O   C   E   D   U   R   E
0054100        R   E   T   U   R   N   S   [   p   r   i   n   t   :   B
0054120    O   O   L   E   A   N   ]   =       B   E   G   I   N  \r    
0054140        D   O           S   E   L   E   C   T       T   R   U   E
0054160        F   R   O   M  \r  \t           B   l   u   e   B   u   t
0054200    t   o   n   [   ]       =   >       D   i   s   p   l   a   y
0054220    [   ]   ;  \r  \t           Y   e   l   l   o   w   B   u   t
0054240    t   o   n   [   ]       =   >           -   -           R   e
0054260    s   e   t       t   h   e       s   c   a   l   e  \r  \t  \t
0054300    B   E   G   I   N  \r  \t  \t   s   c   a   l   e   _ 376 001
0054320   \0   q 031       (   M   o   u   s   e   X   ^   -   x   O   r
0054340    g   )   /   m   a   x   X   ;  \r  \t  \t   G   r   a   p   h
0054360    i   c   s   D   e   f   s   .   E   r   a   s   e   A   r   e
0054400    a   [   0   ,   0   ,   d   x   M   a   x   ,   d   y   M   a
0054420    x   ]   ;  \r  \t  \t   P   r   i   n   t   S   t   i   c   k
0054440    D   i   a   g   r   a   m   [   ]   ;  \r      \t  \t   E   N
0054460    D   ;  \r  \t       R   e   d   B   u   t   t   o   n   [   ]
0054500        =   >  \r  \t  \t   B   E   G   I   N  \r  \t  \t   x   O
0054520    r   g   _   M   o   u   s   e   X   ^   ;  \r  \t  \t   y   O
0054540    r   g   _   M   o   u   s   e   Y   ^   ;  \r  \t  \t   G   r
0054560    a   p   h   i   c   s   D   e   f   s   .   E   r   a   s   e
0054600    A   r   e   a   [   0   ,   0   ,   d   x   M   a   x   ,   d
0054620    y   M   a   x   ]   ;  \r  \t  \t   P   r   i   n   t   S   t
0054640    i   c   k   D   i   a   g   r   a   m   [   ]   ;  \r      \t
0054660   \t   E   N   D   ;  \r  \t   K   e   y   B   o   a   r   d   1
0054700    ^   =       1   7   7   7   5   7   B       =   >   B   E   G
0054720    I   N     376 001  \0 372 334       p   r   i   n   t   _   T
0054740    R   U   E   ;       E   X   I   T   ;       E   N   D   ;    
0054760    -   -   p       w   a   s       h   i   t  \r  \t   K   e   y
0055000    B   o   a   r   d   2   ^   =       1   6   7   7   7   7   B
0055020        =   >   B   E   G   I   N           p   r   i   n   t   _
0055040    F   A   L   S   E   ;       E   X   I   T   ;       E   N   D
0055060    ;       -   -   q       w   a   s       h   i   t  \r  \t   E
0055100    N   D   C   A   S   E   ;  \r           E   N   D   L   O   O
0055120    P   ;  \r           T   u   r   n   O   f   f   G   r   a   p
0055140    h   i   c   s   [   ]   ;  \r           D   C   B   H   e   a
0055160    d   ^   _       O   l   d   D   C   B   ;  \r           [   ]
0055200    _       I   O   D   e   f   s   .   R   e   a   d   C   h   a
0055220    r   [   ]   ;  \r   E   N   D   ;  \r  \r   R   e   d   B   u
0055240    t   t   o   n   :   P   R   O   C   E   D   U   R   E       R
0055260    E   T   U   R   N   S   [   B   O   O   L   E   A   N   ]   =
0055300        B   E   G   I   N  \r           I   F       (   M   o   u
0055320    s   e   B   u   t   t   o   n 376 001  \0   f   =   s   ^    
0055340    M   O   D       8   )       <       4  \r                   T
0055360    H   E   N       B   E   G   I   N  \r  \t       U   N   T   I
0055400    L       (   M   o   u   s   e   B   u   t   t   o   n   s   ^
0055420        M   O   D       8   )       >       3       D   O       E
0055440    N   D   L   O   O   P   ;  \r  \t       R   E   T   U   R   N
0055460        [   T   R   U   E   ]   ;  \r  \t       E   N   D  \r    
0055500                E   L   S   E       R   E   T   U   R   N       [
0055520    F   A   L   S   E   ]   ;  \r   E   N   D   ;  \r  \r   B   l
0055540    u   e   B   u   t   t   o   n   :   P   R   O   C   E   D   U
0055560    R   E       R   E   T   U   R   N   S   [   B   O   O   L   E
0055600    A   N   ]   =       B   E   G   I   N  \r           I   F    
0055620    (   M   o   u   s   e   B   u   t   t   o   n   s   ^       M
0055640    O   D       4   )       <       2      \r                   T
0055660    H   E   N       B   E   G   I   N  \r  \t       U   N   T   I
0055700    L       (   M   o   u   s   e   B   u   t   t   o   n   s   ^
0055720        M   O   D       4   )       >       1       D 376 001  \0
0055740  237 346   O       E   N   D   L   O   O   P   ;  \r  \t       R
0055760    E   T   U   R   N       [   T   R   U   E   ]   ;  \r  \t    
0056000    E   N   D  \r                   E   L   S   E       R   E   T
0056020    U   R   N       [   F   A   L   S   E   ]   ;  \r   E   N   D
0056040    ;  \r  \r   Y   e   l   l   o   w   B   u   t   t   o   n   :
0056060    P   R   O   C   E   D   U   R   E       R   E   T   U   R   N
0056100    S   [   B   O   O   L   E   A   N   ]   =       B   E   G   I
0056120    N  \r           I   F       (   M   o   u   s   e   B   u   t
0056140    t   o   n   s   ^       M   O   D       2   )       =       0
0056160       \r                   T   H   E   N       B   E   G   I   N
0056200   \r  \t       U   N   T   I   L       (   M   o   u   s   e   B
0056220    u   t   t   o   n   s   ^       M   O   D       2   )       #
0056240        0       D   O       E   N   D   L   O   O   P   ;  \r  \t
0056260        R   E   T   U   R   N       [   T   R   U   E   ]   ;  \r
0056300   \t       E   N   D  \r                   E   L   S   E       R
0056320    E   T   U   R   N       [   F   A   L   S   E   ]   ;  \r   E
0056340    N   D 376 001  \0   F 203   ;  \r  \r   T   u   r   n   O   f
0056360    f   G   r   a   p   h   i   c   s   :   P   R   O   C   E   D
0056400    U   R   E   =       B   E   G   I   N  \r           D   C   B
0056420    H   e   a   d   ^   _       0   ;  \r           S   y   s   t
0056440    e   m   D   e   f   s   .   F   r   e   e   S   e   g   m   e
0056460    n   t   [   S   c   r   e   e   n   .   b   i   t   s   -    
0056500    4   ]   ;  \r           S   c   r   e   e   n   .   b   i   t
0056520    s   _       N   I   L   ;  \r           E   N   D   ;  \r  \r
0056540   \r   D   i   s   p   l   a   y   B   o   x   :   P   R   O   C
0056560    E   D   U   R   E   [   c   o   l   o   r   :   C   o   l   o
0056600    r   ,   x   ,   y   ,   m   ,   n   :   C   A   R   D   I   N
0056620    A   L   ]   =   B   E   G   I   N  \r           x   1   ,   y
0056640    1   ,   x   2   ,   y   2   :       C   A   R   D   I   N   A
0056660    L   ;  \r           x   1   _   x   O   r   g   +   s   c   a
0056700    l   e   *   x   ;  \r           y   1   _   y   O   r   g   -
0056720    s   c   a   l   e   *   y   ;  \r           x   2   _   x   O
0056740    r   g   +   s   c   a   l 376 001  \0   A   ;   e   *   (   x
0056760    +   m   )   ;  \r           y   2   _   y   O   r   g   -   s
0057000    c   a   l   e   *   (   y   +   n   )   ;  \r           I   F
0057020        I   N   T   E   G   E   R   [   x   1   ]   <   0       O
0057040    R       I   N   T   E   G   E   R   [   x   2   ]   <   0    
0057060    O   R       I   N   T   E   G   E   R   [   y   1   ]   <   0
0057100        O   R       I   N   T   E   G   E   R   [   y   2   ]   <
0057120    0  \r                           T   H   E   N       E   r   r
0057140    o   r   ;  \r           S   E   L   E   C   T       c   o   l
0057160    o   r       F   R   O   M  \r                   b   =   >   G
0057200    r   a   p   h   i   c   s   D   e   f   s   .   S   e   t   G
0057220    r   a   y   L   e   v   e   l   [   1   4   ]   ;           -
0057240    -   l   i   g   h   t       g   r   e   y  \r                
0057260    g   =   >   G   r   a   p   h   i   c   s   D   e   f   s   .
0057300    S   e   t   G   r   a   y   L   e   v   e   l   [   1   0   ]
0057320    ;           -   -   d   a   r   k       g   r   e   y  \r    
0057340                r   =   >   G   r   a   p   h   i 376 001  \0 257
0057360  342   c   s   D   e   f   s   .   S   e   t   G   r   a   y   L
0057400    e   v   e   l   [   3   ]   ;               -   -   a   l   m
0057420    o   s   t       b   l   a   c   k  \r                   n   o
0057440    n   e   =   >   G   r   a   p   h   i   c   s   D   e   f   s
0057460    .   S   e   t   G   r   a   y   L   e   v   e   l   [   0   ]
0057500    ;   -   -   b   l   a   c   k  \r                   E   N   D
0057520    C   A   S   E   ;  \r           G   r   a   p   h   i   c   s
0057540    D   e   f   s   .   P   u   t   G   r   a   y   [   x   1   ,
0057560    y   1   ,   x   2   ,   y   2   ]   ;  \r           E   N   D
0057600    ;   -   -   D   i   s   p   l   a   y   B   o   x  \r  \r   D
0057620    o   O   u   t   p   u   t   s   :       P   U   B   L   I   C
0057640        P   R   O   C   E   D   U   R   E   [   n   a   m   e   :
0057660    S   T   R   I   N   G   ,   l   i   m   i   t   X   ,   l   i
0057700    m   i   t   Y   :   I   N   T   E   G   E   R   ]   =   B   E
0057720    G   I   N  \r           m   a   x   X   _   l   i   m   i   t
0057740    X   ;  \r           m   a   x   Y   _   l   i   m   i   t   Y
0057760    ; 376 001  \0 207   '  \r           S   t   a   r   t   D   i
0060000    s   p   l   a   y   [   ]   ;  \r           D   i   s   p   l
0060020    a   y   [   ]   ;  \r           [   ]       _       M   a   n
0060040    i   p   u   l   a   t   e   D   i   s   p   l   a   y   [   ]
0060060    ;           -   -       T   h   i   s       g   u   y       s
0060100    e   t   s       u   p       t   h   e       g   r   a   p   h
0060120    i   c       t   r   a   n   s   f   o   r   m   a   t   i   o
0060140    n   .  \r  \t  \t  \t                       -   -       N   o
0060160    t   e       t   h   a   t       i   t       w   i   l   l    
0060200    a   l   w   a   y   s       p   r   i   n   t   .  \r        
0060220    o   u   t   F   i   l   e   N   a   m   e   .   l   e   n   g
0060240    t   h   _   0   ;  \r           S   t   r   i   n   g   D   e
0060260    f   s   .   A   p   p   e   n   d   S   t   r   i   n   g   [
0060300    o   u   t   F   i   l   e   N   a   m   e   ,   c   i   r   c
0060320    u   i   t   N   a   m   e   ]   ;  \r           S   t   r   i
0060340    n   g   D   e   f   s   .   A   p   p   e   n   d   S   t   r
0060360    i   n   g   [   o   u 376 001  \0 345   >   t   F   i   l   e
0060400    N   a   m   e   ,   "   .   p   r   e   s   s   "   ]   ;  \r
0060420            P   r   i   n   t   G   e   o   m   e   t   r   y   [
0060440    o   u   t   F   i   l   e   N   a   m   e   ]   ;      \r    
0060460        o   u   t   F   i   l   e   N   a   m   e   .   l   e   n
0060500    g   t   h   _   0   ;  \r           S   t   r   i   n   g   D
0060520    e   f   s   .   A   p   p   e   n   d   S   t   r   i   n   g
0060540    [   o   u   t   F   i   l   e   N   a   m   e   ,   c   i   r
0060560    c   u   i   t   N   a   m   e   ]   ;  \r           S   t   r
0060600    i   n   g   D   e   f   s   .   A   p   p   e   n   d   S   t
0060620    r   i   n   g   [   o   u   t   F   i   l   e   N   a   m   e
0060640    ,   "   .   s   i   l   "   ]   ;  \r           M   a   k   e
0060660    S   i   l   F   i   l   e   [   o   u   t   F   i   l   e   N
0060700    a   m   e   ]   ;  \r       E   N   D   ;  \r  \r   E   N   D
0060720    .   .  \r  \r   a   l   t   o   Y   M   a   x   :   C   A   R
0060740    D   I   N   A   L   =   1   0   0   0   ;  \r   S   i   l   F
0060760    i   l   e   :   T   Y   P   E   =   R   E 376 001  \0 247  \r
0061000    C   O   R   D   [   p   a   s   s   w   o   r   d   :   C   A
0061020    R   D   I   N   A   L   ,   d   a   t   a   :   A   R   R   A
0061040    Y       M   A   N   Y       O   F       S   i   l   F   e   a
0061060    t   u   r   e   ]   ;  \r   S   i   l   F   e   a   t   u   r
0061100    e   :   T   Y   P   E   =   R   E   C   O   R   D   [  \r    
0061120        m   a   c   r   o   :   C   A   R   D   I   N   A   L   ,
0061140   \r           n   u   l   l   :   [   4   -   b   i   t   s   ]
0061160    ,           x   :   [   1   2   -   b   i   t   s   ]   ,  \r
0061200            n   u   l   l   :   [   4   -   b   i   t   s   ]   ,
0061220            y   M   a   x   :   [   1   6       b   i   t   s   ]
0061240    ,  \r           c   o   l   o   r   :   [   4   -   b   i   t
0061260    s   ]   ,       x   M   a   x   :   [   1   2   -   b   i   t
0061300    s   ]   ,  \r           f   o   n   t   :   [   4   -   b   i
0061320    t   s   ]   ,           y   :   [   1   2   -   b   i   t   s
0061340    ]   ]  \r  \r   p   a   s   s   w   o   r   d       m   u   s
0061360    t       b   e       3   4   5   6   2   B       o   r       3
0061400  376 001  \0   o   X   4   5   6   3   B  \r   m   a   c   r   o
0061420        m   u   s   t       b   e       1   7   7   7   7   7   B
0061440   \r   C   o   l   o   r   :   {   x   x   ,   r   e   d   ,   y
0061460    e   l   l   o   w   ,   g   r   e   e   n   ,   b   l   u   e
0061500    ,   x   x   ,   x   x   ,   x   x   ,   x   x   ,   o   r   a
0061520    n   g   e   ,   x   x   ,   x   x   ,   x   x   ,   x   x   ,
0061540    x   x   ,   x   x   }  \r   y       i   s       m   e   a   s
0061560    u   r   e   d       d   o   w   n       f   r   o   m       t
0061600    h   e       u   p   p   e   r       l   e   f   t       c   o
0061620    r   n   e   r   !  \r   f   o   n   t       m   u   s   t    
0061640    b   e       1   4       (   f   o   n   t   <   1   4       i
0061660    s       a       b   c   p   l       f   o   r   m   a   t    
0061700    s   t   r   i   n   g       f   o   l   l   o   w   i   n   g
0061720    ,       t   o       b   e       i   g   n   o   r   e   d   )
0061740   \r  \r 032   (   1   7   9   2   )   \   i   3   I   1   2   i
0061760    6   I   1   0   0   9   b   1   4   B   2   3   0   b   1   2
0062000    B   1   9   2   b 376  \0 231   @   N   1   3   B   2   1   0
0062020    5   b   1   3   B   8   9   b   8   B   7   2   b   9   B   1
0062040    1   0   b   2   6   B   1   3   3   7   6   b   2   8   B   2
0062060    6   i   1   9   I   3   5   i   2   6   I   2   9   b   1   3
0062100    B   2   6   i   2   3   I   1   6   6   b   7   B   3   0   3
0062120    b   1   7   B   4   4   1   i   9   I   5   7   i   1   0   I
0062140    2   1   i   2   I   7   0   b   9   B   1   8   1   b   1   0
0062160    B   1   8   2   b   1   2   B   1   8   2   b   1   5   B   1
0062200    0   4   b   1   0   B   3   0   5   i   1   0   I   4   2   i
0062220    9   I   4   2   i   1   2   I   4   2   i   5   I   7   1   b
0062240    9   B  \r 377  \0  \0   w   i   r   e   s   p   l   a   c   e
0062260    .   m   e   s   a  \0 376 001  \0 267  \a   -   -       w   i
0062300    r   e   s   P   l   a   c   e   6   .   m   e   s   a  \r   -
0062320    -       r   e   j   e   c   t       w   i   r   e   s  \r   -
0062340    -       t   i   e   s       t   o       m   i   d   d   l   e
0062360    s       a   n   d       t   o       e   n   d   s  \r   -   -
0062400        a   l   t   e   r   n   a   t   e       p   a   t   h   s
0062420   \r   -   -       f   o   l   l   o   w       a   r   o   u   n
0062440    d       n   i   l       e   n   d   s  \r  \r   D   I   R   E
0062460    C   T   O   R   Y       S   y   s   t   e   m   D   e   f   s
0062500    :   F   R   O   M   "   S   y   s   t   e   m   D   e   f   s
0062520    "   ,  \r                                           W   i   r
0062540    e   s   D   e   f   s   :   F   R   O   M   "   W   i   r   e
0062560    s   D   e   f   s   "   ,  \r                                
0062600            I   O   D   e   f   s   :   F   R   O   M   "   I   O
0062620    D   e   f   s   "   ;  \r   W   i   r   e   s   P   l   a   c
0062640    e   :   P   R   O   G   R   A   M       I   M   P   O   R   T
0062660    S       S   y   s   t   e   m   D   e   f 376 001  \0 034   N
0062700    s   ,       I   O   D   e   f   s   ,       W   i   r   e   s
0062720    D   e   f   s   =   B   E   G   I   N       O   P   E   N    
0062740    W   i   r   e   s   D   e   f   s   ;  \r  \r   E   r   r   o
0062760    r   :   S   I   G   N   A   L   =   C   O   D   E   ;  \r   d
0063000    e   b   u   g   L   e   v   e   l   :       I   N   T   E   G
0063020    E   R       _       2   ;  \r  \r   -   -   /   /   /   /   /
0063040    /   /   /   /   /   /   /   /   /   C   O   N   T   R   O   L
0063060    /   /   /   /   /   /   /   /   /   /   /   /   /   /   /  \r
0063100   \r   M   a   i   n   :   P   R   O   C   E   D   U   R   E   =
0063120    B   E   G   I   N  \r           A   l   l   o   c   a   t   e
0063140    S   t   u   f   f   F   o   r   C   r   e   a   t   e   [   P
0063160    r   i   n   t   S   t   k   s   ]   ;  \r           A   l   l
0063200    o   c   a   t   e   S   t   u   f   f   F   o   r   S   e   g
0063220    [   ]   ;  \r           A   l   l   o   c   a   t   e   S   t
0063240    u   f   f   F   o   r   P   l   a   c   e   [   ]   ;  \r    
0063260        G   o   [   ]   ;  \r           E   N   D   ;  \r  \r   G
0063300  376 001  \0   a   ]   o   :   P   R   O   C   E   D   U   R   E
0063320    =   B   E   G   I   N  \r           i   ,   j   :       I   N
0063340    T   E   G   E   R   ;  \r           G   e   t   I   n   p   u
0063360    t   [   T   R   U   E   ]   ;  \r           M   a   k   e   W
0063400    i   r   e   L   i   s   t   [   T   R   U   E   ]   ;  \r    
0063420        I   n   i   t   R   e   j   e   c   t   W   i   r   e   s
0063440    [   ]   ;  \r           P   l   a   c   e   S   i   m   p   l
0063460    e   W   i   r   e   s   [   T   R   U   E   ]   ;  \r        
0063500    [   i   ,   j   ]   _   T   u   r   n   T   o   S   t   k   s
0063520    [   T   R   U   E   ]   ;  \r           D   o   O   u   t   p
0063540    u   t   s   [   "   w   i   r   e   s   3   "   ,   i   ,   j
0063560    ]   ;  \r           E   N   D   ;  \r   A   l   l   o   c   a
0063600    t   e   S   t   u   f   f   F   o   r   P   l   a   c   e   :
0063620    P   R   O   C   E   D   U   R   E   =   B   E   G   I   N    
0063640    O   P   E   N       S   y   s   t   e   m   D   e   f   s   ;
0063660   \r           r   e   j   e   c   t   W   i   r   e   L   i   s
0063700    t   _   A   l   l 376 001  \0 265 327   o   c   a   t   e   S
0063720    e   g   m   e   n   t   [   S   I   Z   E   [   r   e   j   e
0063740    c   t   W   i   r   e   L   i   s   t   A   r   r   a   y   ]
0063760    ]   ;  \r           h   o   p   p   e   r   L   i   s   t   _
0064000    A   l   l   o   c   a   t   e   S   e   g   m   e   n   t   [
0064020    S   I   Z   E   [   h   o   p   p   e   r   L   i   s   t   A
0064040    r   r   a   y   ]   ]   ;  \r           E   N   D   ;  \r  \r
0064060   \r   -   -   /   /   /   /   /   /   /   /   /   /   /   /   /
0064100    R   E   J   E   C   T       W   I   R   E   S       /   /   /
0064120    /   /   /   /   /   /   /   /   /   /   /   /  \r  \r   r   e
0064140    j   e   c   t   W   i   r   e   L   i   s   t   A   r   r   a
0064160    y   :   T   Y   P   E   =   A   R   R   A   Y       [   0   .
0064200    .   m   a   x   R   e   j   e   c   t   W   i   r   e   ]    
0064220    O   F       W   i   r   e   P   t   r   ;  \r   r   e   j   e
0064240    c   t   W   i   r   e   L   i   s   t   :   P   O   I   N   T
0064260    E   R       T   O       r   e   j   e   c   t   W   i   r   e
0064300    L   i   s   t   A   r   r   a   y   _ 376 001  \0 230 252   N
0064320    I   L   ;  \r   t   o   p   R   e   j   e   c   t   W   i   r
0064340    e   :   I   N   T   E   G   E   R   ;  \r   m   a   x   R   e
0064360    j   e   c   t   W   i   r   e   :   I   N   T   E   G   E   R
0064400    =   4   0   ;  \r  \r   I   n   i   t   R   e   j   e   c   t
0064420    W   i   r   e   s   :   P   R   O   C   E   D   U   R   E   =
0064440    B   E   G   I   N       t   o   p   R   e   j   e   c   t   W
0064460    i   r   e   _   0   ;       E   N   D   ;  \r  \r   A   d   d
0064500    R   e   j   e   c   t   W   i   r   e   :   P   R   O   C   E
0064520    D   U   R   E   [   w   :   W   i   r   e   P   t   r   ]   =
0064540    B   E   G   I   N  \r           r   e   j   e   c   t   W   i
0064560    r   e   L   i   s   t   [   t   o   p   R   e   j   e   c   t
0064600    W   i   r   e   ]   _   w   ;  \r           t   o   p   R   e
0064620    j   e   c   t   W   i   r   e   _   t   o   p   R   e   j   e
0064640    c   t   W   i   r   e   +   1   ;  \r           I   F       t
0064660    o   p   R   e   j   e   c   t   W   i   r   e   >   m   a   x
0064700    R   e   j   e   c   t   W   i   r   e       T   H   E   N 376
0064720  001  \0   u 305       E   r   r   o   r   ;  \r           E   N
0064740    D   ;  \r  \r   -   -   /   /   /   /   /   /       P   L   A
0064760    C   E       S   I   M   P   L   E       W   I   R   E   S   /
0065000    /   /   /   /   /   /   /   /   /   /   /   /   /   /  \r  \r
0065020    P   l   a   c   e   S   i   m   p   l   e   W   i   r   e   s
0065040    :   P   R   O   C   E   D   U   R   E   [   p   r   i   n   t
0065060    :   B   O   O   L   E   A   N   ]   =  \r           B   E   G
0065100    I   N       I   n   i   t   S   e   g   s   [   ]   ;  \r    
0065120        E   n   u   m   e   r   a   t   e   W   i   r   e   s   [
0065140    P   l   a   c   e   O   n   e   W   i   r   e   ]   ;  \r    
0065160        I   F       p   r   i   n   t       T   H   E   N       B
0065200    E   G   I   N  \r                   P   r   i   n   t   S   e
0065220    g   s   [   ]   ;  \r                   d   e   b   u   g   P
0065240    r   i   n   t   _   T   R   U   E   ;  \r                   E
0065260    n   u   m   e   r   a   t   e   G   r   i   d   [   P   r   i
0065300    n   t   O   r   i   e   n   t   a   t   i   o   n   s   ]   ;
0065320   \r             376 001  \0 270 237       d   e   b   u   g   P
0065340    r   i   n   t   _   F   A   L   S   E  \r                   E
0065360    N   D   ;  \r           E   N   D   ;  \r  \r   P   l   a   c
0065400    e   O   n   e   W   i   r   e   :   P   R   O   C   E   D   U
0065420    R   E   [   w   i   r   e   :   W   i   r   e   P   t   r   ]
0065440    =  \r       B   E   G   I   N       B   a   c   k   w   a   r
0065460    d   R   u   n   [   w   i   r   e   ,   F   o   r   w   a   r
0065500    d   R   u   n   [   w   i   r   e   ]   ]   ;       E   N   D
0065520    ;  \r  \r   F   o   r   w   a   r   d   R   u   n   :   P   R
0065540    O   C   E   D   U   R   E   [   w   :   W   i   r   e   P   t
0065560    r   ]   R   E   T   U   R   N   S   [   d   o   n   e   :   N
0065600    o   d   e   P   t   r   ]   =   B   E   G   I   N  \r  \r    
0065620                O   n   e   N   o   d   e   :   P   R   O   C   E
0065640    D   U   R   E   [   n   :   N   o   d   e   P   t   r   ]   R
0065660    E   T   U   R   N   S   [   B   O   O   L   E   A   N   ]   =
0065700   \r                       B   E   G   I   N       R   E   T   U
0065720    R   N   [   n   .   h   o   p   > 376 001  \0   ! 342   m   a
0065740    x   L   e   n   g   t   h       O   R       E   n   u   m   e
0065760    r   a   t   e   F   o   l   l   o   w   [   n   ,   O   n   e
0066000    P   l   a   c   e   ]   ]   ;       E   N   D   ;  \r        
0066020            O   n   e   P   l   a   c   e   :   P   R   O   C   E
0066040    D   U   R   E   [   n   :   N   o   d   e   P   t   r   ,   s
0066060    :   S   e   g   P   t   r   ,   l   e   v   e   l   :   B   O
0066100    O   L   E   A   N   ]   R   E   T   U   R   N   S   [   B   O
0066120    O   L   E   A   N   ]   =  \r                               B
0066140    E   G   I   N  \r                               d   o   n   e
0066160    _   A   d   d   H   o   p   p   e   r   [   s   ,   n   .   h
0066200    o   p   +   1   ,   n   ,   T   R   U   E   ,   l   e   v   e
0066220    l   ]   ;  \r                               I   F       I   l
0066240    l   e   g   a   l   N   o   d   e   [   d   o   n   e   ]    
0066260    T   H   E   N       E   r   r   o   r   ;  \r                
0066300                R   E   T   U   R   N   [   d   o   n   e   #   N
0066320    I   L   ]   ;  \r                               E   N 376 001
0066340   \0 030 366   D   ;  \r                   S   e   t   E   n   d
0066360    :   P   R   O   C   E   D   U   R   E   [   s   :   S   e   g
0066400    P   t   r   ,       c   :       C   o   n   t   a   c   t   ]
0066420    R   E   T   U   R   N   S   [   B   O   O   L   E   A   N   ]
0066440    =  \r                               B   E   G   I   N  \r    
0066460                            d   o   n   e   _   A   l   s   o   A
0066500    d   d   [   s   ,   n   o   n   e   ,   t   e   r   m   i   n
0066520    a   l   H   o   p   ]   ;  \r                               d
0066540    o   n   e   .   c   o   n   t   a   c   t   _   c   ;  \r    
0066560                            I   F       I   l   l   e   g   a   l
0066600    N   o   d   e   [   d   o   n   e   ]       T   H   E   N    
0066620    E   r   r   o   r   ;  \r                               R   E
0066640    T   U   R   N   [   d   o   n   e   #   N   I   L   ]   ;  \r
0066660                                E   N   D   ;  \r                
0066700    S   e   t   S   t   a   r   t   :   P   R   O   C   E   D   U
0066720    R   E   [   s   :   S   e   g   P   t   r   ,       c   :    
0066740    C   o   n 376 001  \0 327   q   t   a   c   t   ]   R   E   T
0066760    U   R   N   S   [   B   O   O   L   E   A   N   ]   =  \r    
0067000                            B   E   G   I   N  \r                
0067020                d   o   n   e   _   A   l   s   o   A   d   d   [
0067040    s   ,   n   o   n   e   ,   0   ]   ;  \r                    
0067060            d   o   n   e   .   c   o   n   t   a   c   t   _   c
0067100    ;  \r                               I   F       I   l   l   e
0067120    g   a   l   N   o   d   e   [   d   o   n   e   ]       T   H
0067140    E   N       E   r   r   o   r   ;  \r                        
0067160        R   E   T   U   R   N   [   d   o   n   e   #   N   I   L
0067200    ]   ;  \r                               E   N   D   ;  \r  \r
0067220    -   -           B   E   G   I   N       B   o   d   y       o
0067240    f       F   o   r   w   a   r   d   R   u   n  \r           m
0067260    a   x   L   e   n   g   t   h   :   I   N   T   E   G   E   R
0067300    _   W   i   r   e   L   e   n   g   t   h   [   w   .   a   ,
0067320    w   .   b   ]   +   7   ;  \r           d   o   n   e   _   N
0067340    I   L   ;  \r           C   l 376 001  \0 362 204   e   a   r
0067360    H   o   p   p   e   r   [   ]   ;  \r           I   F       w
0067400    .   a   .   i   =   w   .   b   .   i       A   N   D       w
0067420    .   a   .   j   =   w   .   b   .   j       T   H   E   N    
0067440    R   E   T   U   R   N   ;       -   -       d   o       n   o
0067460    t   h   i   n   g       f   o   r       p   u   l   l   u   p
0067500    s  \r           I   F       ~   E   n   u   m   e   r   a   t
0067520    e   O   r   i   e   n   t   [   w   .   b   ,   S   e   t   E
0067540    n   d   ]       A   N   D       ~   E   n   u   m   e   r   a
0067560    t   e   O   r   i   e   n   t   [   w   .   a   ,   S   e   t
0067600    S   t   a   r   t   ]  \r                           T   H   E
0067620    N       E   n   u   m   e   r   a   t   e   H   o   p   p   e
0067640    r   [   O   n   e   N   o   d   e   ]   ;  \r           E   N
0067660    D   ;  \r  \r   A   l   s   o   A   d   d   :   P   R   O   C
0067700    E   D   U   R   E   [   s   :   S   e   g   P   t   r   ,   t
0067720    :   T   w   i   s   t   ,   h   :   I   N   T   E   G   E   R
0067740    ]   R   E   T   U   R   N   S   [   d   o   n   e 376 001  \0
0067760  277 256   :   N   o   d   e   P   t   r   ]   =   B   E   G   I
0070000    N  \r           l   e   v   e   l   :   B   O   O   L   E   A
0070020    N   _   s   .   x   y   .   l   ;  \r           I   F       s
0070040    =   N   I   L       O   R       s   .   d   u   m   m   y    
0070060    A   N   D       t   =   n       T   H   E   N       R   E   T
0070100    U   R   N   [   N   I   L   ]   ;  \r           d   o   n   e
0070120    _   A   d   d   H   o   p   p   e   r   [   s   ,   h   ,   N
0070140    I   L   ,   T   R   U   E   ,   l   e   v   e   l   ]   ;  \r
0070160            I   F       t   =   n   o   n   e       A   N   D    
0070200    ~   s   .   d   u   m   m   y       A   N   D       ~   s   .
0070220    n   c       T   H   E   N       R   E   T   U   R   N   ;  \r
0070240            I   F       d   o   n   e   =   N   I   L       A   N
0070260    D       (   t   =   s       O   R       t   =   f   )       A
0070300    N   D       ~   s   .   b   c       A   N   D       ~   s   .
0070320    d   u   m   m   y  \r                                       T
0070340    H   E   N       d   o   n   e   _   A   d   d   H   o   p   p
0070360    e   r 376 001  \0   F 305   [   s   .   b   a   c   k   ,   h
0070400    ,   N   I   L   ,   F   A   L   S   E   ,   l   e   v   e   l
0070420    ]   ;  \r           I   F       d   o   n   e   =   N   I   L
0070440        A   N   D       t   #   n       A   N   D           s   .
0070460    b   c       T   H   E   N       d   o   n   e   _   A   l   s
0070500    o   A   d   d   [   s   .   b   a   c   k   ,   b   ,   h   ]
0070520    ;  \r           I   F       d   o   n   e   =   N   I   L    
0070540    A   N   D       t   #   b       A   N   D           s   .   n
0070560    c       T   H   E   N       d   o   n   e   _   A   l   s   o
0070600    A   d   d   [   s   .   n   e   x   t   ,   n   ,   h   ]   ;
0070620   \r           I   F       d   o   n   e   =   N   I   L       A
0070640    N   D       t   #   s       A   N   D       ~   s   .   d   u
0070660    m   m   y       T   H   E   N       d   o   n   e   _   A   l
0070700    s   o   A   d   d   [   s   .   f   i   r   s   t   ,   f   ,
0070720    h   ]   ;  \r           I   F       d   o   n   e   =   N   I
0070740    L       A   N   D       t   #   f       A   N   D       ~   s
0070760    .   d   u   m   m   y     376 001  \0 225 342   T   H   E   N
0071000        d   o   n   e   _   A   l   s   o   A   d   d   [   s   .
0071020    s   e   c   o   n   d   ,   s   ,   h   ]   ;  \r           I
0071040    F       d   o   n   e   =   N   I   L       A   N   D       t
0071060    #   a       A   N   D       ~   s   .   d   u   m   m   y    
0071100    T   H   E   N       d   o   n   e   _   A   l   s   o   A   d
0071120    d   [   s   .   a   c   r   o   s   s   ,   a   ,   h   ]   ;
0071140   \r           E   N   D   ;  \r  \r   B   a   c   k   w   a   r
0071160    d   R   u   n   :   P   R   O   C   E   D   U   R   E   [   w
0071200    :   W   i   r   e   P   t   r   ,   n   :   N   o   d   e   P
0071220    t   r   ]   =   B   E   G   I   N  \r           w   h   e   r
0071240    e   :   S   e   g   P   t   r   _   N   I   L   ;       d   o
0071260    w   n   ,   f   r   e   e   :   B   O   O   L   E   A   N   ;
0071300   \r           c   o   l   o   r   :   C   o   l   o   r   _   I
0071320    F       w   .   a   .   c   o   n   t   a   c   t   =   g   a
0071340    t   e       O   R       w   .   b   .   c   o   n   t   a   c
0071360    t   =   g   a   t   e       T   H   E   N     376 001  \0   o
0071400    2   r       E   L   S   E       g   ;  \r           I   F    
0071420    I   l   l   e   g   a   l   N   o   d   e   [   n   ]       T
0071440    H   E   N       E   r   r   o   r   ;  \r           I   F    
0071460    d   e   b   u   g   L   e   v   e   l   >   1   0       T   H
0071500    E   N       S   h   o   w   H   o   p   p   e   r   [   ]   ;
0071520   \r                   I   F       n   =   N   I   L       T   H
0071540    E   N       B   E   G   I   N  \r                           I
0071560    F       w   .   a   .   i   =   w   .   b   .   i       A   N
0071600    D       w   .   a   .   j   =   w   .   b   .   j       T   H
0071620    E   N       S   e   t   P   u   l   l   u   p   [   w   .   a
0071640    ]  \r  \t       E   L   S   E       A   d   d   R   e   j   e
0071660    c   t   W   i   r   e   [   w   ]   ;  \r                    
0071700        R   E   T   U   R   N   ;  \r                   E   N   D
0071720    ;  \r           [   d   o   w   n   ,   f   r   e   e   ]   _
0071740    S   e   t   I   n   i   t   i   a   l   S   e   g   m   e   n
0071760    t   [   w   .   b   ,   n   ,   w   .   c   i   r   c   u   i
0072000    t 376 001  \0 212 255   ]   ;  \r           I   F       P   r
0072020    e   v   i   o   u   s   H   o   p   p   e   r   [   n   ]   =
0072040    N   I   L       T   H   E   N       w   h   e   r   e   _   (
0072060    I   F       d   o   w   n       T   H   E   N       n   .   s
0072100        E   L   S   E       n   .   s   .   n   e   x   t   )  \r
0072120                        E   L   S   E       F   O   R       n   _
0072140    n   ,   P   r   e   v   i   o   u   s   H   o   p   p   e   r
0072160    [   n   ]       U   N   T   I   L       n   =   N   I   L    
0072200    D   O  \r                                                   w
0072220    h   e   r   e   _   S   e   t   S   e   g   [   f   r   o   m
0072240    :   n   ,   c   o   l   :   c   o   l   o   r   ,   c   i   r
0072260    c   u   i   t   :   w   .   c   i   r   c   u   i   t   ,   o
0072300    l   d   :   w   h   e   r   e   ,  \r                        
0072320                            t   i   e   N   :   ~   f   r   e   e
0072340        A   N   D       ~   d   o   w   n   ,       t   i   e   B
0072360    :   ~   f   r   e   e       A   N   D           d   o   w   n
0072400    ]   ;  \r             376 001  \0 036   f                    
0072420                    f   r   e   e       _       T   R   U   E  \r
0072440                                            E   N   D   L   O   O
0072460    P   ;  \r           S   e   t   F   i   n   a   l   S   e   g
0072500    m   e   n   t   [   l   :   w   .   a   ,   s   :   w   h   e
0072520    r   e   ,       n   :   n   ,       c   i   r   c   u   i   t
0072540    :       w   .   c   i   r   c   u   i   t   ]   ;      \r    
0072560        I   F       d   e   b   u   g   L   e   v   e   l   >   1
0072600    0       T   H   E   N       B   E   G   I   N  \r            
0072620        d   e   b   u   g   P   r   i   n   t   _   T   R   U   E
0072640    ;  \r                   E   n   u   m   e   r   a   t   e   G
0072660    r   i   d   [   P   r   i   n   t   O   r   i   e   n   t   a
0072700    t   i   o   n   s   ]   ;  \r                   d   e   b   u
0072720    g   P   r   i   n   t   _   F   A   L   S   E   ;  \r        
0072740            E   N   D   ;  \r           E   N   D   ;  \r  \r   -
0072760    -   /   /   /   /   /   /   /       S   T   A   R   T       H
0073000    O   P   P   E   R       /   /   /   /   / 376 001  \0   m   q
0073020    /   /  \r  \r   -   -   T   h   e       h   o   p   p   e   r
0073040        i   s       a       f   i   f   o       i   n   t   o    
0073060    w   h   i   c   h       o   n   e       c   a   n       i   n
0073100    s   e   r   t       n   o   d   e   s   .       D   u   p   l
0073120    i   c   a   t   e       e   n   t   r   i   e   s  \r   -   -
0073140    w   i   l   l       b   e       s   u   p   p   r   e   s   s
0073160    e   d       (   t   h   e   r   e   b   y       s   u   p   p
0073200    r   e   s   s   i   n   g       l   o   n   g   e   r       p
0073220    a   s   s   e   s       t   o       t   h   e       s   a   m
0073240    e       p   l   a   c   e  \r   -   -   o   n   e       c   a
0073260    n       a   l   s   o       b   a   c   k   t   r   a   c   k
0073300        t   h   r   o   u   g   h       t   h   e       h   o   p
0073320    p   e   r       c   h   a   i   n  \r  \r   h   o   p   p   e
0073340    r   L   i   s   t   A   r   r   a   y   :   T   Y   P   E   =
0073360    A   R   R   A   Y       [   0   .   .   m   a   x   H   o   p
0073400    p   e   r   ]       O   F       N   o   d   e   ;  \r   m   a
0073420  376 001  \0 235   7   x   H   o   p   p   e   r   :   I   N   T
0073440    E   G   E   R   =   4   0   0   ;  \r   h   o   p   p   e   r
0073460    L   i   s   t   :   P   O   I   N   T   E   R       T   O    
0073500    h   o   p   p   e   r   L   i   s   t   A   r   r   a   y   _
0073520    N   I   L   ;  \r   h   o   p   p   e   r   I   n   s   e   r
0073540    t   ,   h   o   p   p   e   r   R   e   m   o   v   e   :   I
0073560    N   T   E   G   E   R   ;  \r  \r   I   l   l   e   g   a   l
0073600    N   o   d   e   :   P   R   O   C   E   D   U   R   E   [   n
0073620    :   N   o   d   e   P   t   r   ]       R   E   T   U   R   N
0073640    S   [   B   O   O   L   E   A   N   ]   =   B   E   G   I   N
0073660   \r               f   o   o   1   :   C   A   R   D   I   N   A
0073700    L   _   L   O   O   P   H   O   L   E   [   n   ]   ;  \r    
0073720            f   o   o   2   :   C   A   R   D   I   N   A   L   _
0073740    L   O   O   P   H   O   L   E   [   @   h   o   p   p   e   r
0073760    L   i   s   t   [   0   ]   ]   ;  \r               f   o   o
0074000    3   :   C   A   R   D   I   N   A   L   _   L   O   O   P   H
0074020    O   L   E   [   @ 376 001  \0 306 270   h   o   p   p   e   r
0074040    L   i   s   t   [   m   a   x   H   o   p   p   e   r   ]   ]
0074060    ;  \r               R   E   T   U   R   N   [   n   #   N   I
0074100    L       A   N   D       f   o   o   1       N   O   T       I
0074120    N       [   f   o   o   2   .   .   f   o   o   3   ]   ]   ;
0074140        E   N   D   ;  \r  \r   C   l   e   a   r   H   o   p   p
0074160    e   r   :   P   R   O   C   E   D   U   R   E   =   B   E   G
0074200    I   N       h   o   p   p   e   r   I   n   s   e   r   t   _
0074220    h   o   p   p   e   r   R   e   m   o   v   e   _   0   ;    
0074240    E   N   D   ;  \r  \r   A   d   d   H   o   p   p   e   r   :
0074260    P   R   O   C   E   D   U   R   E   [   s   :   S   e   g   P
0074300    t   r   ,   h   :   H   o   p   ,   b   k   :   N   o   d   e
0074320    P   t   r   ,   n   o   r   ,   l   :   B   O   O   L   E   A
0074340    N   ]  \r           R   E   T   U   R   N   S   [   N   o   d
0074360    e   P   t   r   ]   =   B   E   G   I   N  \r           i   :
0074400    I   N   T   E   G   E   R   ;       t   :   N   o   d   e   P
0074420    t   r   ;  \r           I   F       s 376 001  \0 265   g   .
0074440    w   =   l       O   R       s   .   w   =   d       T   H   E
0074460    N       R   E   T   U   R   N   [   N   I   L   ]   ;  \r    
0074500        I   F       ~   s   .   d   u   m   m   y       A   N   D
0074520        s   .   x   y   .   l   #   l       T   H   E   N       B
0074540    E   G   I   N       E   r   r   o   r   ;       R   E   T   U
0074560    R   N   [   N   I   L   ]   ;       E   N   D   ;  \r        
0074600    F   O   R       i       I   N       [   0   .   .   h   o   p
0074620    p   e   r   I   n   s   e   r   t   )       D   O  \r        
0074640            t   _   @   h   o   p   p   e   r   L   i   s   t   [
0074660    i   ]   ;  \r                   I   F       s   =   t   .   s
0074700        A   N   D       l   =   t   .   l  \r                   T
0074720    H   E   N       B   E   G   I   N       I   F       t   .   h
0074740    o   p   =   t   e   r   m   i   n   a   l   H   o   p       A
0074760    N   D       h   #   t   e   r   m   i   n   a   l   H   o   p
0075000   \r                                                            
0075020            T   H   E   N       t   .   b   a   c   k   _   b 376
0075040  001  \0  \f   k   k       E   L   S   E       t   _   N   I   L
0075060    ;       R   E   T   U   R   N   [   t   ]   ;       E   N   D
0075100    ;  \r                   E   N   D   L   O   O   P   ;  \r    
0075120        t   _   A   d   d   T   o   H   o   p   p   e   r   [   ]
0075140    ;  \r           t   ^   _   [   s   :   s   ,   h   o   p   :
0075160    h   ,   b   a   c   k   :   b   k   ,   n   o   r   m   a   l
0075200    :   n   o   r   ,   m   o   v   i   n   g   L   D   :   L   D
0075220    [   b   k   .   s   ,   s   ]   ,   l   :   l   ,       c   o
0075240    n   t   a   c   t   :       n   o   n   e   ]   ;  \r        
0075260    R   E   T   U   R   N   [   N   I   L   ]   ;  \r           E
0075300    N   D   ;  \r  \r   A   d   d   T   o   H   o   p   p   e   r
0075320    :   P   R   O   C   E   D   U   R   E       R   E   T   U   R
0075340    N   S   [   f   :   N   o   d   e   P   t   r   ]   =   B   E
0075360    G   I   N  \r           f   _   @   h   o   p   p   e   r   L
0075400    i   s   t   [   h   o   p   p   e   r   I   n   s   e   r   t
0075420    ]   ;  \r           I   F       (   h   o   p   p   e   r   I
0075440    n   s   e   r 376 001  \0 211  \v   t   _       h   o   p   p
0075460    e   r   I   n   s   e   r   t   +   1   )       >   =       m
0075500    a   x   H   o   p   p   e   r       T   H   E   N       E   r
0075520    r   o   r   ;  \r           E   N   D   ;  \r  \r   E   n   u
0075540    m   e   r   a   t   e   H   o   p   p   e   r   :   P   R   O
0075560    C   E   D   U   R   E   [   c   a   l   l   :   P   R   O   C
0075600    E   D   U   R   E   [   N   o   d   e   P   t   r   ]   R   E
0075620    T   U   R   N   S   [   B   O   O   L   E   A   N   ]   ]   =
0075640    B   E   G   I   N  \r           n   o   d   e   :   N   o   d
0075660    e   P   t   r   ;  \r           F   O   R       h   o   p   p
0075700    e   r   R   e   m   o   v   e   _   h   o   p   p   e   r   R
0075720    e   m   o   v   e   ,   h   o   p   p   e   r   R   e   m   o
0075740    v   e   +   1  \r  \t  \t       W   H   I   L   E       h   o
0075760    p   p   e   r   R   e   m   o   v   e   <   h   o   p   p   e
0076000    r   I   n   s   e   r   t       D   O  \r                   n
0076020    o   d   e   _   @   h   o   p   p   e   r   L   i   s   t   [
0076040    h   o   p   p   e   r   R   e   m 376 001  \0   R   h   o   v
0076060    e   ]   ;  \r                   I   F       n   o   d   e   .
0076100    h   o   p   #   t   e   r   m   i   n   a   l   H   o   p    
0076120    T   H   E   N      \r                           I   F       c
0076140    a   l   l   [   @   h   o   p   p   e   r   L   i   s   t   [
0076160    h   o   p   p   e   r   R   e   m   o   v   e   ]   ]       T
0076200    H   E   N       R   E   T   U   R   N   ;  \r                
0076220    E   N   D   L   O   O   P   ;  \r           E   N   D   ;  \r
0076240   \r   P   r   e   v   i   o   u   s   H   o   p   p   e   r   :
0076260    P   R   O   C   E   D   U   R   E   [   p   :   N   o   d   e
0076300    P   t   r   ]   R   E   T   U   R   N   S   [   N   o   d   e
0076320    P   t   r   ]   =   B   E   G   I   N       R   E   T   U   R
0076340    N   [   p   .   b   a   c   k   ]   ;       E   N   D   ;  \r
0076360   \r   S   h   o   w   H   o   p   p   e   r   :   P   R   O   C
0076400    E   D   U   R   E   =   B   E   G   I   N       O   P   E   N
0076420        I   O   D   e   f   s   ;  \r           n   o   d   e   :
0076440    N   o   d   e   P   t   r   ;  \r           d   e   b 376 001
0076460   \0 250   $   :   I   N   T   E   G   E   R   ;  \r           W
0076500    r   i   t   e   C   h   a   r   [   C   R   ]   ;  \r        
0076520    F   O   R       d   e   b       I   N       [   0   .   .   h
0076540    o   p   p   e   r   I   n   s   e   r   t   )       D   O  \r
0076560                    n   o   d   e   _   @   h   o   p   p   e   r
0076600    L   i   s   t   [   d   e   b   ]   ;  \r                   W
0076620    r   i   t   e   C   h   a   r   [   '   [   ]   ;  \r        
0076640            W   r   i   t   e   N   u   m   b   e   r   [   d   e
0076660    b   ,   [   1   0   ,   F   A   L   S   E   ,   T   R   U   E
0076700    ,   3   ]   ]   ;  \r                   P   r   i   n   t   O
0076720    n   e   S   e   g   [   n   o   d   e   .   s   ]   ;  \r    
0076740                W   r   i   t   e   C   h   a   r   [   I   F    
0076760    n   o   d   e   .   l       T   H   E   N       '   B       E
0077000    L   S   E       '       ]   ;  \r                   W   r   i
0077020    t   e   C   h   a   r   [   '   [   ]   ;  \r                
0077040    W   r   i   t   e   N   u   m   b   e   r   [   S   h   o   w
0077060    S   e   g 376 001  \0   @ 302   [   n   o   d   e   .   s   ]
0077100    ,   [   1   0   ,   F   A   L   S   E   ,   T   R   U   E   ,
0077120    3   ]   ]   ;  \r                   W   r   i   t   e   N   u
0077140    m   b   e   r   [   I   F       n   o   d   e   .   h   o   p
0077160    =   t   e   r   m   i   n   a   l   H   o   p       T   H   E
0077200    N       9   9       E   L   S   E       n   o   d   e   .   h
0077220    o   p   ,   [   1   0   ,   F   A   L   S   E   ,   T   R   U
0077240    E   ,   3   ]   ]   ;  \r                   W   r   i   t   e
0077260    N   u   m   b   e   r   [   I   F       n   o   d   e   .   b
0077300    a   c   k   =   N   I   L       T   H   E   N       9   9    
0077320    E   L   S   E       (   n   o   d   e   .   b   a   c   k   -
0077340    @   h   o   p   p   e   r   L   i   s   t   [   0   ]   )   /
0077360    S   I   Z   E   [   N   o   d   e   ]   ,   [   1   0   ,   F
0077400    A   L   S   E   ,   T   R   U   E   ,   3   ]   ]   ;  \r    
0077420                W   r   i   t   e   C   h   a   r   [   C   R   ]
0077440    ;  \r                   E   N   D   L   O   O   P   ;  \r    
0077460        E   N   D   ;  \r  \r   - 376 001  \0 311   ^   -   /   /
0077500    /   /   /   /   /       E   N   D       H   O   P   P   E   R
0077520                /   /   /   /   /   /  \r   -   -   /   /   /   /
0077540    /   /   /       S   T   A   R   T       F   O   L   L   O   W
0077560        /   /   /   /   /   /   /  \r  \r   f   o   l   l   o   w
0077600    A   n   s   :   A   R   R   A   Y   [   0   .   .   2   0   )
0077620        O   F       S   e   g   P   t   r   ;  \r   t   o   p   A
0077640    n   s   :   I   N   T   E   G   E   R   ;  \r  \r   E   n   u
0077660    m   e   r   a   t   e   F   o   l   l   o   w   :   P   R   O
0077700    C   E   D   U   R   E   [   n   :   N   o   d   e   P   t   r
0077720    ,  \r                                                        
0077740                            c   a   l   l   :   P   R   O   C   E
0077760    D   U   R   E   [   N   o   d   e   P   t   r   ,   S   e   g
0100000    P   t   r   ,   B   O   O   L   E   A   N   ]   R   E   T   U
0100020    R   N   S   [   B   O   O   L   E   A   N   ]   ]  \r        
0100040                                                            R   E
0100060    T   U   R   N   S   [   B   O   O   L   E   A   N 376 001  \0
0100100  330 002   ]   =       B   E   G   I   N       i   :   I   N   T
0100120    E   G   E   R   ;       v   :   S   e   g   P   t   r   ;  \r
0100140            S   t   a   r   t   F   o   l   l   o   w   [   n   ]
0100160    ;  \r           F   O   R       i       I   N       [   0   .
0100200    .   t   o   p   A   n   s   )       D   O  \r                
0100220    I   F       f   o   l   l   o   w   A   n   s   [   i   ]   .
0100240    d   u   m   m   y       A   N   D       f   o   l   l   o   w
0100260    A   n   s   [   i   ]   .   b   a   c   k   #   N   I   L    
0100300    T   H   E   N       E   r   r   o   r   ;  \r                
0100320    I   F       c   a   l   l   [   n   ,   f   o   l   l   o   w
0100340    A   n   s   [   i   ]   ,   n   .   l   ]       T   H   E   N
0100360        R   E   T   U   R   N   [   T   R   U   E   ]   ;       E
0100400    N   D   L   O   O   P   ;  \r           F   O   R       v   _
0100420    n   .   s   ,   v   .   b   a   c   k       D   O  \r        
0100440            I   F       v   .   a   c   r   o   s   s   #   N   I
0100460    L       T   H   E   N       B   E   G   I   N  \r            
0100500          376 001  \0   | 375       I   F       ~   (   v   .   d
0100520    u   m   m   y       A   N   D       (   n   .   l       O   R
0100540        v   .   a   c   r   o   s   s   .   d   u   m   m   y   )
0100560    )       T   H   E   N       v   _   v   .   a   c   r   o   s
0100600    s   ;  \r                           E   X   I   T   ;  \r    
0100620                        E   N   D   ;  \r                   I   F
0100640        v   .   d   u   m   m   y       T   H   E   N       E   r
0100660    r   o   r   ;  \r                   E   N   D   L   O   O   P
0100700    ;  \r           R   E   T   U   R   N   [   c   a   l   l   [
0100720    n   ,   v   ,   ~   n   .   l   ]   ]   ;  \r           E   N
0100740    D   ;  \r  \r   h   o   m   e   :   W   h   e   r   e   ;  \r
0100760    h   o   m   e   L   :   B   O   O   L   E   A   N   ;  \r  \r
0101000    S   t   a   r   t   F   o   l   l   o   w   :   P   R   O   C
0101020    E   D   U   R   E   [   n   :   N   o   d   e   P   t   r   ]
0101040    =   B   E   G   I   N  \r           w   ,   t   :   S   e   g
0101060    P   t   r   _   N   I   L   ;  \r           s   :   S   e   g
0101100    P   t   r   _   n   .   s 376 001  \0 263 023   ;  \r        
0101120    l   d   :   B   O   O   L   E   A   N   _   n   .   m   o   v
0101140    i   n   g   L   D   ;  \r           I   F       s   =   N   I
0101160    L       T   H   E   N       B   E   G   I   N       E   r   r
0101200    o   r   ;       R   E   T   U   R   N   ;       E   N   D   ;
0101220   \r           h   o   m   e   _   s   .   x   y   ;  \r        
0101240    h   o   m   e   L   _   n   .   l   ;  \r           t   o   p
0101260    A   n   s   _   0   ;  \r           I   F       n   .   h   o
0101300    p   =   0       T   H   E   N       B   E   G   I   N       F
0101320    1   B   [   s   .   f   i   r   s   t   ]   ;       F   1   B
0101340    [   s   .   s   e   c   o   n   d   ]   ;       R   E   T   U
0101360    R   N   ;       E   N   D   ;  \r           I   F       h   o
0101400    m   e   L       A   N   D       s   .   d   u   m   m   y    
0101420    A   N   D       s   .   a   c       T   H   E   N       F   O
0101440    R       t   _   s   .   a   c   r   o   s   s   ,   t   .   n
0101460    e   x   t       D   O  \r                                    
0101500        I   F       t   .   f   i   r   s   t   # 376 001  \0   U
0101520    B   N   I   L  \r                                           T
0101540    H   E   N       I   F       t   .   s   e   c   o   n   d   #
0101560    N   I   L       T   H   E   N       R   E   T   U   R   N    
0101600    E   L   S   E       w   _   t   .   f   i   r   s   t  \r    
0101620                                        E   L   S   E       I   F
0101640        t   .   s   e   c   o   n   d   #   N   I   L       T   H
0101660    E   N       w   _   t   .   s   e   c   o   n   d       E   L
0101700    S   E       I   F       t   .   n   c       T   H   E   N    
0101720    L   O   O   P   ;  \r                                        
0101740    I   F       w   =   N   I   L       A   N   D       ~   t   .
0101760    n   c       T   H   E   N       E   X   I   T   ;  \r        
0102000                                    I   F       w   #   N   I   L
0102020        A   N   D       l   d   #   L   D   O   k   [   t   ,   w
0102040    ]       T   H   E   N       R   E   T   U   R   N   ;  \r    
0102060                                        I   F       ~   t   .   n
0102100    c       T   H   E   N       B   E   G   I   N       F   1   B
0102120    [ 376 001  \0 357 220   w   ]   ;       R   E   T   U   R   N
0102140    ;       E   N   D   ;  \r                                    
0102160        E   N   D   L   O   O   P   ;  \r           I   F       s
0102200    .   n   c       A   N   D       ~   (   h   o   m   e   L    
0102220    A   N   D       s   .   d   u   m   m   y   )       T   H   E
0102240    N       F   O   R       t   _   s   .   n   e   x   t   ,   t
0102260    .   n   e   x   t       D   O  \r                            
0102300                I   F       t   .   f   i   r   s   t   #   N   I
0102320    L  \r                                           T   H   E   N
0102340        I   F       t   .   s   e   c   o   n   d   #   N   I   L
0102360        T   H   E   N       R   E   T   U   R   N       E   L   S
0102400    E       w   _   t   .   f   i   r   s   t  \r                
0102420                            E   L   S   E       I   F       t   .
0102440    s   e   c   o   n   d   #   N   I   L       T   H   E   N    
0102460    w   _   t   .   s   e   c   o   n   d       E   L   S   E    
0102500    I   F       t   .   n   c       T   H   E   N       L   O   O
0102520    P   ;  \r             376 001  \0   K   *                    
0102540            I   F       w   =   N   I   L       A   N   D       ~
0102560    t   .   n   c       T   H   E   N       E   X   I   T   ;  \r
0102600                                            I   F       w   #   N
0102620    I   L       A   N   D       l   d   #   L   D   O   k   [   t
0102640    ,   w   ]       T   H   E   N       R   E   T   U   R   N   ;
0102660   \r                                           I   F       ~   t
0102700    .   n   c       T   H   E   N       B   E   G   I   N       F
0102720    1   B   [   w   ]   ;       R   E   T   U   R   N   ;       E
0102740    N   D   ;  \r                                           E   N
0102760    D   L   O   O   P   ;  \r           I   F       s   .   f   i
0103000    r   s   t   #   N   I   L       A   N   D       s   .   s   e
0103020    c   o   n   d   #   N   I   L       O   R       ~   s   .   b
0103040    c       T   H   E   N       B   E   G   I   N  \r            
0103060                        F   1   B   [   I   F       l   d   =   L
0103100    D   O   k   [   s   ,   s   .   f   i   r   s   t   ]       T
0103120    H   E   N       s   .   f   i   r   s   t 376 001  \0   j  \f
0103140        E   L   S   E       s   .   s   e   c   o   n   d   ]   ;
0103160        R   E   T   U   R   N   ;       E   N   D   ;  \r        
0103200    F   O   R       t   _   s   ,   I   F       h   o   m   e   L
0103220        A   N   D       t   .   d   u   m   m   y       T   H   E
0103240    N       t   .   a   c   r   o   s   s       E   L   S   E    
0103260    t   .   b   a   c   k       D   O  \r                        
0103300                    w   _   t   .   f   i   r   s   t   ;        
0103320    I   F       w   #   N   I   L       A   N   D       l   d   =
0103340    L   D   O   k   [   t   ,   w   ]       T   H   E   N       E
0103360    X   I   T   ;  \r                                           w
0103400    _   t   .   s   e   c   o   n   d   ;       I   F       w   #
0103420    N   I   L       A   N   D       l   d   =   L   D   O   k   [
0103440    t   ,   w   ]       T   H   E   N       E   X   I   T   ;  \r
0103460                                            I   F       t   =   N
0103500    I   L       T   H   E   N       B   E   G   I   N       E   r
0103520    r   o   r   ;       R   E   T   U   R   N   ;       E   N   D
0103540  376 001  \0 234 240   ;  \r                                    
0103560        E   N   D   L   O   O   P   ;  \r           F   1   B   [
0103600    w   ]   ;  \r           E   N   D   ;  \r  \r   F   1   B   :
0103620    P   R   O   C   E   D   U   R   E   [   m   :   S   e   g   P
0103640    t   r   ]   =   B   E   G   I   N  \r           t   :   B   O
0103660    O   L   E   A   N   ;       s   ,   k   :   S   e   g   P   t
0103700    r   ;       c   :   I   N   T   E   G   E   R   ;  \r        
0103720    I   F       m   =   N   I   L       T   H   E   N       R   E
0103740    T   U   R   N   ;  \r           F   O   R       c   _   0   ,
0103760    c   +   1       D   O  \r                   I   F       m   =
0104000    N   I   L       T   H   E   N       E   r   r   o   r   ;  \r
0104020                    I   F       m   .   x   y   .   x   =   h   o
0104040    m   e   .   x       A   N   D       m   .   x   y   .   y   =
0104060    h   o   m   e   .   y       A   N   D       m   .   x   y   .
0104100    h   =   h   o   m   e   .   h       T   H   E   N       R   E
0104120    T   U   R   N   ;  \r                   t   _   R   i   g   h
0104140    t   [   m   ]   ; 376 001  \0 021 255  \r                   A
0104160    d   d   F   o   l   l   o   w   [   I   F       t       T   H
0104200    E   N       m       E   L   S   E       I   F       m   .   d
0104220    u   m   m   y       A   N   D       h   o   m   e   L       T
0104240    H   E   N       m   .   a   c   r   o   s   s       E   L   S
0104260    E       m   .   b   a   c   k   ]   ;  \r                   I
0104300    F       c   =   2       T   H   E   N       E   X   I   T   ;
0104320   \r                   k   _   I   F       m   .   d   u   m   m
0104340    y       A   N   D       h   o   m   e   L       T   H   E   N
0104360        m   .   a   c   r   o   s   s       E   L   S   E       I
0104400    F       t       T   H   E   N       m   .   n   e   x   t    
0104420    E   L   S   E       m   .   b   a   c   k   ;  \r            
0104440        F   O   R       s   _   k   ,   I   F       t       T   H
0104460    E   N       s   .   n   e   x   t       E   L   S   E       s
0104500    .   b   a   c   k  \r                           U   N   T   I
0104520    L       T   o   w   a   r   d   H   o   m   e   [   m   _   s
0104540    .   f   i   r   s   t   ]       O   R 376 001  \0 246 370    
0104560    T   o   w   a   r   d   H   o   m   e   [   m   _   s   .   s
0104600    e   c   o   n   d   ]       D   O       E   N   D   L   O   O
0104620    P   ;  \r                   E   N   D   L   O   O   P   ;  \r
0104640            E   N   D   ;  \r  \r   L   D   :   P   R   O   C   E
0104660    D   U   R   E   [   a   ,   b   :   S   e   g   P   t   r   ]
0104700        R   E   T   U   R   N   S   [   B   O   O   L   E   A   N
0104720    ]   =  \r       B   E   G   I   N       R   E   T   U   R   N
0104740    [   b   .   x   y   .   x   -   a   .   x   y   .   x   #   1
0104760        A   N   D       b   .   x   y   .   y   -   a   .   x   y
0105000    .   y   #   1   ]   ;       E   N   D   ;  \r  \r   L   D   O
0105020    k   :   P   R   O   C   E   D   U   R   E   [   a   ,   b   :
0105040    S   e   g   P   t   r   ]       R   E   T   U   R   N   S   [
0105060    B   O   O   L   E   A   N   ]   =  \r       B   E   G   I   N
0105100        R   E   T   U   R   N   [   I   F       a   .   x   y   .
0105120    h       T   H   E   N       b   .   x   y   .   x   -   a   .
0105140    x   y   .   x   =   -   1       E   L   S   E       b   . 376
0105160  001  \0   ' 256   x   y   .   y   -   a   .   x   y   .   y   =
0105200    -   1   ]   ;       E   N   D   ;  \r  \r   T   o   w   a   r
0105220    d   H   o   m   e   :   P   R   O   C   E   D   U   R   E   [
0105240    s   :   S   e   g   P   t   r   ]       R   E   T   U   R   N
0105260    S   [   B   O   O   L   E   A   N   ]   =   B   E   G   I   N
0105300   \r           d   y   :   I   N   T   E   G   E   R   _   s   .
0105320    x   y   .   y   -   h   o   m   e   .   y   ;  \r           d
0105340    x   :   I   N   T   E   G   E   R   _   s   .   x   y   .   x
0105360    -   h   o   m   e   .   x   ;  \r           I   F       s   =
0105400    N   I   L       T   H   E   N       R   E   T   U   R   N   [
0105420    F   A   L   S   E   ]   ;  \r           I   F       ~   h   o
0105440    m   e   .   h       T   H   E   N       B   E   G   I   N    
0105460    t   :   I   N   T   E   G   E   R   _   d   x   ;       d   x
0105500    _   d   y   ;       d   y   _   t   ;       E   N   D   ;  \r
0105520            R   E   T   U   R   N   [   I   F       s   .   x   y
0105540    .   h   =   h   o   m   e   .   h       T   H   E   N       d
0105560    y   =   0     376 001  \0 027 031   A   N   D       d   x    
0105600    I   N       [   -   1   .   .   1   ]  \r                    
0105620                                                                 
0105640                                    E   L   S   E       d   y    
0105660    I   N       [   0   .   .   1   ]       A   N   D       d   x
0105700        I   N       [   -   1   .   .   0   ]   ]   ;  \r        
0105720    E   N   D   ;  \r  \r   R   i   g   h   t   :   P   R   O   C
0105740    E   D   U   R   E   [   a   :   S   e   g   P   t   r   ]    
0105760    R   E   T   U   R   N   S   [   B   O   O   L   E   A   N   ]
0106000    =   B   E   G   I   N  \r           R   E   T   U   R   N   [
0106020    a   .   x   y   .   h   =   h   o   m   e   .   h       O   R
0106040        A   B   S   [   (   a   .   x   y   .   x   -   h   o   m
0106060    e   .   x   )   -   (   a   .   x   y   .   y   -   h   o   m
0106100    e   .   y   )   ]   #   1   ]   ;  \r           E   N   D   ;
0106120   \r  \r   A   d   d   F   o   l   l   o   w   :   P   R   O   C
0106140    E   D   U   R   E   [   t   h   i   s   :   S   e   g   P   t
0106160    r   ]   =           B   E   G   I 376 001  \0 315   `   N    
0106200    i   :   I   N   T   E   G   E   R   ;  \r           F   O   R
0106220        i       I   N       [   0   .   .   t   o   p   A   n   s
0106240    )       D   O       I   F       f   o   l   l   o   w   A   n
0106260    s   [   i   ]   =   t   h   i   s       T   H   E   N       R
0106300    E   T   U   R   N   ;       E   N   D   L   O   O   P   ;  \r
0106320            I   F       t   o   p   A   n   s   =   1   5       T
0106340    H   E   N       B   E   G   I   N       E   r   r   o   r   ;
0106360        R   E   T   U   R   N   ;       E   N   D   ;  \r        
0106400    I   F       t   h   i   s   .   x   y   .   x   =   h   o   m
0106420    e   .   x       A   N   D       t   h   i   s   .   x   y   .
0106440    y   =   h   o   m   e   .   y       A   N   D       t   h   i
0106460    s   .   x   y   .   h   =   h   o   m   e   .   h       T   H
0106500    E   N       B   E   G   I   N       E   r   r   o   r   ;    
0106520    R   E   T   U   R   N   ;       E   N   D   ;  \r           f
0106540    o   l   l   o   w   A   n   s   [   t   o   p   A   n   s   ]
0106560    _   t   h   i   s   ;  \r           t   o   p   A   n 376 001
0106600   \0   0   r   s   _   t   o   p   A   n   s   +   1   ;  \r    
0106620        E   N   D   ;  \r  \r   -   -   /   /   /   /   /   /   /
0106640        E   N   D       F   O   L   L   O   W       /   /   /   /
0106660    /   /   /  \r  \r   M   a   i   n   [   ]   ;  \r   E   N   D
0106700    .   .  \r  \r   T   h   e       d   e   s   i   r   e   d    
0106720    a   l   g   o   r   i   t   h   m       i   s       s   i   m
0106740    p   l   e   :      \r           1   )       b   r   e   a   k
0106760        e   a   c   h       c   i   r   c   u   i   t       i   n
0107000    t   o       i   n   d   i   v   i   d   u   a   l       p   o
0107020    i   n   t       t   o       p   o   i   n   t       w   i   r
0107040    e   s  \r           2   )       s   o   r   t       t   h   e
0107060        w   i   r   e   s  \r           3   )       p   l   a   c
0107100    e       e   a   c   h       w   i   r   e       i   n       i
0107120    t   s       s   h   o   r   t   e   s   t       l   e   n   g
0107140    t   h       c   o   n   f   i   g   u   r   a   t   i   o   n
0107160    ,       c   o   u   n   t   i   n   g       l   e   v   e   l
0107200        c   h 376 001  \0   o 026   a   n   g   e   s       a   s
0107220        e   q   u   i   v   a   l   e   n   t       t   o       o
0107240    n   e       u   n   i   t       w   i   r   e       o   n    
0107260    t   h   e       g   r   i   d   .  \r  \r   T   h   e       b
0107300    r   e   a   k       u   p       t   r   i   e   s       f   o
0107320    r       s   h   o   r   t       w   i   r   e   s   ,       a
0107340    n   d       t   h   e       s   o   r   t       p   u   t   s
0107360        g   r   e   e   n       w   i   r   s       f   i   r   s
0107400    t   ,       p   o   w   e   r       a   n   d       g   r   o
0107420    u   n   d       l   a   s   t   ,       a   n   d       s   h
0107440    o   r   t       w   i   r   e   s       a   h   e   a   d    
0107460    o   f       l   o   n   g       w   i   t   h   i   n       t
0107500    h   e   s   e       c   a   t   a   g   o   r   i   e   s   .
0107520   \r  \r   T   h   e       p   r   o   c   e   s   s   i   n   g
0107540        s   t   a   r   t   s       w   i   t   h       t   h   e
0107560        g   r   i   d   ,       w   h   i   c   h       s   p   e
0107600    c   i   f   i   e   s       w 376 001  \0 275 244   h   a   t
0107620        c   i   r   c   u   i   t       e   a   c   h       l   e
0107640    a   d       o   f       e   a   c   h       t   r   a   n   s
0107660    i   s   t   o   r       c   o   n   n   e   c   t   s       t
0107700    o   .  \r           g   r   i   d   [   x   ,   y   ]   =   [
0107720    a   ,   b   ,   c   :   C   i   r   c   u   i   t   N   o   ]
0107740   \r  \r   T   h   e       f   i   r   s   t       t   w   o    
0107760    s   t   e   p   s       o   f       t   h   e       p   r   o
0110000    c   e   s   s   i   n   g       c   r   e   a   t   e       a
0110020    u   x   i   l   l   i   a   r   y       s   t   r   u   c   t
0110040    u   r   e   s       w   h   i   c   h       p   e   r   m   i
0110060    t       a   c   c   e   s   s       t   o       t   h   e    
0110100    g   r   i   d   :  \r           t   h   e       T   r   a   c
0110120    k   ,       w   h   i   c   h       l   i   n   k   s       t
0110140    h   e       t   r   a   n   s   i   s   t   o   r   s       i
0110160    n   t   o       l   i   s   t   s       b   y       c   i   r
0110200    c   u   i   t  \r           t   h   e       w   i 376 001  \0
0110220  003 025   r   e       l   i   s   t   ,       w   h   i   c   h
0110240        e   n   u   m   e   r   a   t   e   s   ,       b   y    
0110260    s   i   z   e       a   n   d       c   o   l   o   r   ,    
0110300    t   h   e       i   n   d   i   v   i   d   u   a   l       w
0110320    i   r   e   s       n   e   c   e   s   s   a   r   y       t
0110340    o       i   m   p   l   e   m   e   n   t       a   l   l    
0110360    o   f       t   h   e       c   i   r   c   u   i   t   s    
0110400    (   e   x   c   l   u   d   i   n   g       p   o   w   e   r
0110420        a   n   d       g   r   o   u   n   d   )  \r  \r   T   h
0110440    e       n   e   x   t       s   t   e   p       c   r   e   a
0110460    t   e   s       S   e   g   s   ,       w   h   i   c   h    
0110500    a   r   e       u   n   i   t       l   e   n   g   t   h    
0110520    p   i   e   c   e   s       o   f       w   i   r   e       r
0110540    u   n   n   i   n   g       i   n       c   h   a   n   n   e
0110560    l   s       b   e   t   w   e   e   n       t   h   e       t
0110600    r   a   n   s   i   s   t   o   r   s   .       A       s   e
0110620    g     376 001  \0   s 206   i   s       d   e   f   i   n   e
0110640    d       b   y       t   h   e       s   e   g   s       i   t
0110660        c   o   n   n   e   c   t   s       t   o       o   n    
0110700    e   a   c   h       e   n   d   ,       p   l   u   s       t
0110720    h   e       s   e   g   s       a   d   j   a   c   e   n   t
0110740        b   u   t       p   a   r   a   l   l   e   l       t   o
0110760        i   t       o   n       b   o   t   h       s   i   d   e
0111000    s   ,       p   l   u   s       t   w   o       b   o   o   l
0111020    e   a   n   s       t   o       s   a   y       w   h   e   t
0111040    h   e   r       i   t       i   s       e   l   e   c   t   r
0111060    i   c   a   l   l   y       c   o   n   n   e   c   t   e   d
0111100        o   n       t   h   e       s   i   d   e   s   ,       p
0111120    l   u   s       a       c   o   n   n   e   c   t   i   o   n
0111140        a   c   r   o   s   s       t   o       t   h   e       o
0111160    t   h   e   r       l   e   v   e   l   .       E   a   c   h
0111200        t   r   a   n   s   i   s   t   o   r       c   o   m   e
0111220    s       w   i   t   h     376 001  \0   w   H   f   o   u   r
0111240        b   u   i   l   t   -   i   n       d   u   m   m   y    
0111260    s   e   g   s       f   o   r   m   i   n   g       a       b
0111300    o   x       a   r   o   u   n   d       t   h   e       t   r
0111320    a   n   s   i   s   t   o   r   .       T   h   e       w   h
0111340    o   l   e       f   i   g   u   r   e       i   s       s   u
0111360    r   r   o   u   n   d   e   d       b   y       d   u   m   m
0111400    y       t   r   a   n   s   i   s   t   o   r   s           a
0111420    r   r   a   n   g   e   d       s   o       t   h   a   t    
0111440    t   h   e   i   r       d   u   m   m   y       s   e   g   s
0111460        c   o   n   n   e   c   t       t   o       f   o   r   m
0111500        a       b   o   x       a   r   o   u   n   d       t   h
0111520    e       w   h   o   l   e       f   i   g   u   r   e       (
0111540    t   o       e   l   i   m   i   n   a   t   e       b   o   u
0111560    n   d   s       c   h   e   c   k   i   n   g       a   l   l
0111600        t   h   e       t   i   m   e   )   .      \r  \r   T   h
0111620    e       p   r   o   c   e   s   s   i   n   g 376 001  \0 324
0111640   \0       i   n   s   e   r   t   s       o   n   e       w   i
0111660    r   e       a   t       a       t   i   m   e       i   t   o
0111700        t   h   e       s   e   g       d   i   a   g   r   a   m
0111720    .       T   h   i   s       i   s       d   o   n   e       u
0111740    s   i   n   g       a   n       a   u   x   i   a   l   l   i
0111760    a   r   y       s   t   r   u   c   t   u   r   e       c   a
0112000    l   l   e   d       a       n   o   d   e       a   r   r   a
0112020    y   .       P   o   i   n   t   s       a   d   j   a   c   e
0112040    n   t       t   o       o   n   e       e   n   d       o   f
0112060        t   h   e       w   i   r   e       a   r   e       i   n
0112100    s   e   r   t   e   d       i   n   t   o       t   h   e    
0112120    n   o   d   e       a   r   r   a   y       a   s       d   e
0112140    s   t   i   n   a   t   i   o   n   s   .       P   o   i   n
0112160    t   s       a   d   j   a   c   e   n   t       t   o       t
0112200    h   e       o   t   h   e   r       e   n   d       a   r   e
0112220        i   n   s   e   r   t   e   d       w   i   t   h       z
0112240    e 376 001  \0 350   )   r   o       l   e   n   g   t   h   .
0112260        T   h   e       n   o   d   e       a   r   r   a   y    
0112300    i   s       t   h   e   n       p   r   o   c   e   s   s   e
0112320    d       i   n       o   r   d   e   r       o   f       i   n
0112340    c   r   e   a   s   i   n   g       l   e   n   g   t   h   ,
0112360        e   a   c   h       t   i   m   e       a   d   d   i   n
0112400    g       a   n   y       n   e   w       n   o   d   e   s    
0112420    w   h   i   c   h       c   a   n       b   e       r   e   a
0112440    c   h   e   d       b   y       a   d   d   i   n   g       o
0112460    n   e       s   e   g       f   r   o   m       t   h   e    
0112500    c   u   r   r   e   n   t       o   n   e   .       E   v   e
0112520    n   t   u   a   l   l   y       a       d   e   s   t   i   n
0112540    a   t   i   o   n       w   i   l   l       b   e       f   o
0112560    u   n   d   ,       a   n   d       t   h   e   r   e   b   y
0112600        t   h   e       s   h   o   r   t   e   s   t       p   a
0112620    t   h   .       T   h   i   s       a   l   l       g   e   t
0112640    s       a       l   i 376 001  \0 331 310   t   t   l   e    
0112660    h   a   i   r   y       s   i   n   c   e       a       p   o
0112700    i   n   t       i   s       n   o   t       s   i   m   p   l
0112720    y       a   n       x   y       b   e   t   w   e   e   n    
0112740    t   r   a   n   s   i   s   t   o   r   s   ,       b   u   t
0112760        a   l   s   o       a   n       i   n   d   i   c   a   t
0113000    i   o   n       o   f       w   h   i   c   h       o   f    
0113020    t   h   e       m   a   n   y       w   i   r   e   s       t
0113040    h   a   t       m   a   y       a   l   r   e   a   d   y    
0113060    b   e       a   t       t   h   i   s       i   n   t   e   r
0113100    s   e   c   t   i   o   n       t   h   e       p   o   i   n
0113120    t       i   s       b   e   t   w   e   e   n   .       A   n
0113140    o   t   h   e   r       m   a   g   i   c       -       i   t
0113160        i   s       s   u   f   f   i   c   i   e   n   t       t
0113200    o       s   t   o   r   e       o   n   l   y       t   h   e
0113220        s   e   g       t   o       t   h   e       p   o   i   n
0113240    t   s       i   m   m   e   d   i   a   t 376 001  \0 320   /
0113260    e       l   e   f   t       t   o       c   o   m   p   l   e
0113300    t   e   l   y       i   d   e   n   t   i   f   y       i   t
0113320    .  \r  \r   O   n   c   e       t   h   e       s   e   g   s
0113340        a   r   e       d   e   t   e   r   m   i   n   e   d   ,
0113360        o   n       h   a   s       i   n       p   r   i   n   c
0113400    i   p   l   e       t   h   e       f   i   n   a   l       s
0113420    t   i   c   k       d   i   a   g   r   a   m   .       H   o
0113440    w   e   v   e   r       t   h   e   r   e       i   s       s
0113460    t   i   l   l       t   h   e       l   i   t   t   l   e    
0113500    m   a   t   t   e   r       o   f       a   s   s   i   g   n
0113520    i   n   g       c   o   o   r   d   i   n   a   t   e   s    
0113540    t   o       a   l   l       o   f       t   h   e       e   n
0113560    d   s       i   m   p   l   i   e   d       b   y       t   h
0113600    e       s   e   g       s   t   r   u   c   t   u   r   e   .
0113620        T   h   i   s       i   s       a   c   h   i   e   v   e
0113640    d       w   i   t   h       s   o   m   e       l   i   t   t
0113660  376 001  \0 261 235   l   e       d   i   f   f   i   c   u   l
0113700    t   y   ,       b   y       c   r   e   a   t   i   n   g    
0113720    a   n   o   t   h   e   r       s   t   r   u   c   t   u   r
0113740    e       c   a   l   l   e   d       s   t   k   s       (   I
0113760        w   a   s       m   a   k   i   n   g       a       m   a
0114000    s   s   i   v   e       e   d   i   t       r   e   m   o   v
0114020    i   n   g       a       s   i   m   i   l   a   r       s   t
0114040    r   u   c   t   u   r   e       c   a   l   l   e   d       s
0114060    t   i   c   k   s       -       h   e   n   s   e       t   h
0114100    e       f   u   n   n   y       n   a   m   e   )   .       s
0114120    t   k   s       c   o   n   t   a   i   n       o   n   l   y
0114140        t   h   e       i   n   f   o   r   m   a   t   i   o   n
0114160        n   e   c   e   s   s   a   r   y       t   o       d   r
0114200    a   w       t   h   e       i   m   p   l   i   e   d       l
0114220    i   n   e   :       c   o   l   o   r   ,       d   i   r   e
0114240    c   t   i   o   n   (   h       o   r       v   )   ,       m
0114260    a   j   o   r     376 001  \0   x 370   c   o   o   r   d   i
0114300    n   a   t   e       (   t   h   e       y       f   o   r    
0114320    a       h   o   r   i   z   o   n   t   a   l       s   t   i
0114340    c   k   ,       e   t   c   )   ,       a   n   d       t   h
0114360    e       t   w   o       m   i   n   o   r       c   o   o   r
0114400    d   i   n   a   t   e   s   (   s   t   a   r   t       a   n
0114420    d       e   n   d       x       f   o   r       a       h   o
0114440    r   i   z   o   n   t   a   l       s   t   i   c   k   )   .
0114460        S   t   i   c   k   s       d   o       n   o   t       b
0114500    u   t   t       u   p       t   o       o   t   h   e   r    
0114520    s   t   i   c   k   s       r   u   n   n   i   n   g       i
0114540    n       t   h   e       s   a   m   e       d   i   r   e   c
0114560    t   i   o   n   ,       s   o       t   h   a   t       o   n
0114600    e       s   t   i   c   k       c   o   r   r   e   s   p   o
0114620    n   d   s       t   o       s   e   v   e   r   a   l       a
0114640    d   j   a   c   e   n   t       s   e   g   s   .  \r  \r   F
0114660    i   n   a   l   l   y   ,       t   h 376 001  \0   . 336   e
0114700        s   t   i   c   k   s       m   a   y       b   e       p
0114720    r   i   n   t   e   d       b   y       c   a   l   l   i   n
0114740    g       a       r   o   u   t   i   n   e       w   h   i   c
0114760    h       e   n   u   m   e   r   a   t   e   s       t   h   r
0115000    o   u   g   h       a   l   l       t   h   e       d   a   t
0115020    a       s   t   r   u   c   t   u   r   e   s       c   a   l
0115040    l   i   n   g       "   p   u   t       b   o   x   "       w
0115060    i   t   h       a       c   o   l   o   r   e   d       r   e
0115100    c   t   a   n   g   l   e       t   o       m   a   r   k    
0115120    o   n       t   h   e       s   t   i   c   k       d   i   a
0115140    g   r   a   m   .       T   h   i   s       i   n   c   l   u
0115160    d   e   s       n   o   t       o   n   l   y       t   h   e
0115200        i   n   f   o   r   m   a   t   i   o   n       i   n    
0115220    t   h   e       s   t   k       s   t   r   u   c   t   u   r
0115240    e   ,       b   u   t       a   l   s   o       t   h   e    
0115260    l   i   t   t   l   e       s   t   u   b   s       l   e 376
0115300   \0 222  \b 303   a   d   i   n   g       o   u   t       f   r
0115320    o   m       e   a   c   h       o   f       t   h   e       t
0115340    r   a   n   s   i   s   t   o   r   s       t   o       c   o
0115360    n   n   e   c   t       t   o       t   h   a   t       s   t
0115400    r   u   c   t   u   r   e   .  \r              \r 032   e   6
0115420    (   1   7   9   2   )   \   i   3   I   1   1   i   9   8   I
0115440    9   6   7   b   1   5   B   4   0   b   1   3   B   1   9   3
0115460    b   1   6   B   3   5   8   5   b   1   1   B   5   2   b   9
0115500    B   6   7   1   b   1   5   B   3   0   4   b   1   4   B   6
0115520    6   b   1   0   B  \r 377  \0  \0   p   r   e   s   s   o   u
0115540    t   .   b   c   d  \0 376 001  \0 351   L 004   _ 003 363 242
0115560  227 224   q  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0115600  002  \0 001  \0  \0  \0 001  \0 006  \0 001  \0 002  \0 006  \0
0115620  230  \0   3  \0  \0  \0  \0  \0   ,  \0 035  \0   I  \0 022  \0
0115640    ]  \0 037  \0   |  \0  \0  \0   &  \0 006  \0   |  \0 034  \0
0115660   \0  \0  \0  \0   [  \0 002   ? 376  \0 002  \a  \0 277 376  \0
0115700   \t 032 004  \0   Z   ? 376   ? 377  \0  \0  \0  \0  \r 302  \0
0115720  003  \b 030  \0 001 377 374  \0 022 002 311 003 221 003 205 003
0115740  031 002   ) 003   % 003   } 002 035 001 001 003 201 002 261 002
0115760    % 002 021 003 025 002   1 002   - 002 345 002 341  \0 020 200
0116000   \0 001  \0  \0 031 200 004 001 200  \0   $ 200  \b 002  \0  \0
0116020    / 200  \f 002 200  \0   : 200 020 003  \0  \0   E 300 024 003
0116040  200  \0   N 200 017  \0   P  \0 034 200 030  \0 331  \0 325  \0
0116060  315  \0 271  \0  \0  \0  \0  \0  \0  \0 225  \0 265  \0 321  \0
0116100  275  \0 235  \0 305  \0 255  \0 231  \0 311  \0 241  \0 261  \0
0116120  301  \0 205  \0 251  \0 245  \0  \0  \0  \0  \0  \0  \0  \0  \0
0116140   \0  \0  \0  \0 020 005 020 310   | 222 360 376 001  \0 213  \v
0116160   \0 031 005 020 306 251 222 360  \0   $ 005 020 310 365 222 360
0116200   \0   / 005 020 307 204 222 360  \0   : 005 020 306   E 222 360
0116220   \0   E 005 020 307 277 222 360  \0   P 003 363   / 220 224   O
0116240   \0   b  \0   b  \0  \r   p   r   e   s   s   o   u   t   .   m
0116260    e   s   a  \b   M   i   s   c   D   e   f   s  \n   I   n   l
0116300    i   n   e   D   e   f   s  \n   S   y   s   t   e   m   D   e
0116320    f   s  \n   S   t   r   e   a   m   D   e   f   s  \n   S   t
0116340    r   i   n   g   D   e   f   s  \b   T   i   m   e   D   e   f
0116360    s 001   t  \t   P   r   e   s   s   D   e   f   s  \b   P   r
0116400    e   s   s   O   u   t  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0116420   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0116560  376 001  \0   3 274  \0  \0   @ 022  \0   F  \0  \0  \0 216 003
0116600  003  \0   U 002  \0 004 365 001 002 005  \a 001 001 002  \n 005
0116620  003 005   ' 001  \a 002 307  \v 005  \0   e 003 001 005 357 001
0116640  001 001 210 001 023 004   '  \r 006  \0   k 003 002 002   m 004
0116660  003 001 316 004 002 002 242 006 001  \0 206 003  \0 003   _  \r
0116700   \a 006   I 001 002 001 303 002 002 002 220 005 002 001 270 002
0116720  002 006 024 002 002 001   y 001  \0 001   o 001  \0  \0 005  \0
0116740  006   G   a   c   h   a  \0  \0 023  \0 024   E   n   t   i   t
0116760    y   C   o   m   m   a   n   d   L   i   s   t   .   $  \0  \0
0117000  201   4   7 021   7   p   ;   . 354  \a   -   ,   t   -   t   t
0117020   \n  \b   -   -   t   8  \t   > 200   o   -   *   . 377 343 023
0117040  022  \t   W  \0   .  \0   Q 024   W  \0   .  \r 210   )   t 037
0117060   \b 004   P 037  \t 001   Q 257 037  \0  \n 361 240 377 343 005
0117100    r  \t 033   t 252 036 026  \n   t 343 255 005   r  \t 033  \n
0117120  262 026 262   .  \b 004 235 256   t   t 200  \t 027  \0   . 004
0117140  235 256   t   t 200  \n 030  \0   . 004 235 256   t   t 200  \0
0117160  031  \t 021 330 017 376 001  \0 250   ?  \f 025  \0   . 004 235
0117200  256  \v  \v 200 377 343 005   r  \t 022  \0   V 004   :   /  \n
0117220    : 251 257 004 343 352  \0 022 005   r   0 350  \0 030   . 350
0117240  016 032 025   T  \n 025   p   7  \r 233   -   W  \n  \n 270   W
0117260   \n   : 211 342 001   Q  \0   t  \v 244   7   t 217       7   t
0117300   \0   @  \r 233   W  \n   / 270   : 251 342  \n 377 211 001   7
0117320    7   t  \0   ` 017 233   ,   W   7  \n 263  \b 270   W 016   :
0117340  211 342 001   #   7   t  \0   h 021 233   -   W  \n  \a  \b   7
0117360    W 263   : 270 342 016 377 211 001  \r   7   t  \0 366  \r 233
0117400    -   .   t  \a  \n   ,  \n   : 211 342  \0 373   7   t 215 367
0117420    7   t 232 377   :  \n 342  \n 377 211  \0 353   7   t  \0 360
0117440    ) 222   7   t  \0 363   # 222   7   t  \0 361 035 222   7   t
0117460   \0 353 027 222   7   t  \0 370 021 222   7   t  \0 371  \v 222
0117500    7   t 217 372   7   t  \0 355  \r 233   :  \n 342  \n   :   W
0117520  342  \n 377 211  \0 261   7   t  \0 364 017 233   :  \n 342  \n
0117540    :   W 342 016   ,   W 377 211  \0 235   7   t  \0 365 017 233
0117560    :  \n 342  \n   :   W 342 016   -   W 376 001  \0 224 334 211
0117600   \a  \0 211   7   t  \0 356 017 233   :  \n 342  \n   :   W 342
0117620  016   -   W  \0  \t   u 210   7   t  \0 357 017 233   :  \n 342
0117640   \n   :   W 342 016   -   W  \0  \b   a 210   7   t  \0 373  \v
0117660  233   :  \n 342  \n   :   W 342 016   Q 210   7   t  \0 362 021
0117700  233   :  \n 342  \n   :   W 342 016 001   T  \n   :  \0 342   ;
0117720  210   7   t  \0 376  \v 222   7   t 217 374   7   t  \0 375 021
0117740  233   :  \n 342  \n   :   W 342 016 001   T 016   :  \0 342 033
0117760  210   7   t  \0 354 025 233   :  \n 342  \n 201   . 257   t   t
0120000    )  \0   R 016   : 037 342  \0   2 363 240 023   T   o   '   K
0120020  243   .  \t   .   P 017 032   .  \t   /   P 020 032   E  \t 032
0120040  030  \t 021  \t 324 356   7  \t   ;  \t 321 357   7  \b   ;  \t
0120060  321 371   7 017   :  \t 321 372   7 020   :  \t 321 370   7 021
0120100    :  \t 321   p   7  \n   ;   " 321  \a 244   7  \t   ; 364 321
0120120  006  \0   #  \a 244   7  \t   ; 365 321  \a 377 343 006   w   T
0120140  023   C 001   T 257   I 001   T 003  \t 003 003   T 342   C 377
0120160  343  \n   w   T 023  \t 003 370   9   T 263   C 003   T 342 376
0120200  001  \0   U   {   C 001 270   0 001   T 003   I 003   T   T  \t
0120220    C 003 343 342 310 022 005   r  \a   : 377   8 001  \0   8 311
0120240    j   /   T 025   T 006 270  \a  \b   T 257 270   T 026 027  \t
0120260  006   T  \a   T 030 270  \b   T  \0 031 005 021   .   u   /   x
0120300    4 347 005 021   u   v 264   .  \r   r  \v   T 017 032  \f   T
0120320  020 032  \r   T 021   :  \0   . 001   Q 207   : 016   T   : 322
0120340    T 241 322 017 261   :   E  \b 322 020   :   W   8  \a 001  \0
0120360    u 300 377 343 033 023 025   E  \0  \t  \r 222 024  \t   7  \b
0120400    : 364 321 006  \b  \t 025   I 377 343 033 023 026   E  \0  \t
0120420   \r 222 024  \t   7  \b   : 365 321 006  \b  \t 026   I 377 343
0120440  025 024 004   r  \b  \t  \0   .   .   P 017 222 026  \t  \b  \t
0120460   \0   .   .   Q   7  \b   : 371 321  \b  \b  \v  \0   .   /   P
0120500  017 222 026  \v   7  \b   : 372 321  \b  \b  \v  \0   .   /   Q
0120520   \b  \n 030   E  \r 222 026  \n   7  \b   : 370 321  \b  \b  \n
0120540  030   I 377 343  \0   A  \0   B  \0   C  \0   D  \0   E  \0   F
0120560   \0   G  \0   H  \0   I  \0   J  \0   K  \0   L  \0   M  \0   N
0120600   \0   O  \0   P 376 001  \0 031 341  \0   Q  \0   R  \0   S  \0
0120620    T  \0   U  \0   V  \0   W  \0   X  \0   Y  \0   Z 027 026 025
0120640  030   T 023 032   0   . 022   ! 210 024   t  \n  \v 004   P   a
0120660    7 025 234   7   t  \0   z 017 236  \n  \v 004   P 220   7   \
0120700  270 377 017  \n  \v 004   Q 257  \n 022 020 335 240 032   T 022
0120720  032  \0   .   1 210 024   t 021   T       R  \v 022 003   T  \0
0120740  316   ! 244  \b  \r  \0   .  \b   P 031 233   T 016  \0 005 023
0120760  233   T  \f  \0 006  \r 233 032  \n  \t  \f   p   7  \f   :  \0
0121000  321   ` 210 257  \n 022 020 315 240 032   T 017   7 347 224   7
0121020    & 306  \a   7 022 302 024   7 031   V 020   .  \0   .  \b 002
0121040    Q 032   T   .  \b 003   Q  \b   .  \0   . 004   Q 177   7   .
0121060   \b 005   Q  \v 017 017 304 003   V  \b  \r  \0   .  \b   Q  \b
0121100    .  \0   .  \t   Q   V 016  \f 005 006   V   T  \b   T 021 250
0121120  032   T   F 257 032 032   V   /   t 032 251  \t  \f   p   7  \f
0121140    : 343 321  \b   r 004   r 025   W 030  \f   7  \b   : 356 321
0121160   \n 030  \r   7  \b   : 357 321  \n  \n   T  \t 245   ;  \b   7
0121200    p   .  \b 325   x 020   T 020 032 376 001  \0   :   ]  \0   .
0121220  016 210 024   t  \0  \v 005 021 004   P   3   T  \n 342 020 257
0121240   \0 020 357 240 020   T  \b 030 360   7  \n   : 343 321  \f   r
0121260  016 032 004   r 024  \t   7  \b   : 356 321 006 016 020  \b 024
0121300  357   7 006   : 020 321 024  \f  \r 020  \b 025 376   7 006   :
0121320  343 321   @   x   x 025 026   A   B   x   x 024 022   C   D   x
0121340    x 023 005   E 357 027 356   /   X  \v  \f   t 001   Y  \n   t
0121360  002   Y  \b   t 003   Y  \t   t 004   Y   .   t 005   Y  \b   t
0121400  263   3 006   Y  \t   t 263   3  \a   Y  \r   t  \b   Y   .   t
0121420   \t   Y   7   t  \0   -  \n   Y 327   t 377 343   @   x   x 023
0121440  032   A   x  \r 032   B   x 025 025   C   D   x   x 030 005   E
0121460    x 026 006   E 026 032   E   x 032  \a   x 027  \b   E 024 032
0121500    E   x 024  \t   E   x 031  \n   T 357 022 020 032  \v  \f 030
0121520  003 245 200   / 020  \f 252 030 016   . 347   .   7   4   . 020
0121540    9 347 032   u   .  \f 020 027 032  \r  \t 016 356   7 016   :
0121560  020 321 032 025  \t 016 357   7 016   :  \v 321 005 245 377 211
0121600   \0 267  \0 016 005 245 377 211  \0 257 301  \b   u   v 376 001
0121620   \0   c 334 260   /  \0   / 017 233   .  \b 003   T   / 342 016
0121640  032   7  \t   :     321 016   /  \b 003   T  \b 342   T  \f 342
0121660  003   :  \b   /  \a   u 300   :  \b   /  \n   u 300   0  \b 003
0121700    T  \b 342   T   1 342 003   .  \b 003   T  \b 342   T   0 342
0121720  003   :  \b   / 026   u 300   :  \b   / 027   u 300  \0  \n   :
0121740  244   .  \b 003   T  \b 342   T   4 342 003   .  \b 003   T  \b
0121760  342   T   2 342 003   .  \b 003   T  \b 342   T   0 342 003   :
0122000   \b   /  \v   u 300   .  \b 003   T  \b 342   d   7 003   T  \b
0122020  342 006   : 300   /  \r   u 270   4  \b 027   T   . 342 003   1
0122040   \b 003   T  \b 342 024 020  \f 020   u 300 032   . 020 016  \r
0122060   \f   7 270 270  \b 017 032   7  \t   : 374 321 016 377 343  \0
0122100  001  \0 001  \0 003  \0  \a  \0 017  \0 037  \0   ?  \0 177  \0
0122120  377   @   x   x 025 032   A   x 020 032   B   x 017 024   C   D
0122140    x   x 026 005   E   x 023 006   E 021 032   E   x 032  \a   x
0122160  030  \b   E 031 032   E   x 031  \t   E   x 032  \n   x  \r  \v
0122200    E  \f 032   E   x 027  \f   T 357 022   0 032  \n  \t 035 003
0122220  245 200   / 376 001  \0   { 253 020  \t 252 035 017   7   9 270
0122240  263 374 016 032   .   t   .  \f   4 347 032   r 030   .  \0  \t
0122260  004 245 020   7   7 203  \t 020 032 254  \n 034 020   x 254 034
0122300    v   t 270   u 020 024 032 020  \v 022 356   7 022   : 020 321
0122320  032 017  \v 022 357   7 022   :  \n 321 005 245 377 211 001 005
0122340   \0  \f 005 245 377 211  \0 375 301  \b   u   v 260   /  \0   /
0122360  017 233   .  \b 003   T   / 342 022 032   7  \v   :     321 022
0122400    /  \b 003   T  \0 342 004 021 003   T  \b 342 006   : 300   /
0122420   \b   u  \b   : 300   /  \b   u   T   0 342 003   1  \b 003   T
0122440   \b 342   T   . 342 003   0  \b 003   T  \b 342 021   : 300   /
0122460   \b   u 030   : 300   / 017   u   _ 244   .  \b 003   T  \b 342
0122500    T   4 342 003   .  \b 003   T  \b 342  \a   7 003   T  \b 342
0122520    T   . 342 003   0  \b 003   T  \b 342  \r   : 300   /  \b   u
0122540    T   . 342 003   7  \b   T   d 342 003   :  \b   /  \v   u 300
0122560   \0  \r  \n 245   8  \t 002   W   \ 270 377 017  \b 027   T   .
0122600  342 003   .  \b 003   T  \b 342  \f   : 300   /  \b   u  \t   :
0122620  300   / 016   u  \t   7 030 270 376 001  \0 252 255   .  \b 003
0122640    T  \b 342   T   1 342 003 032  \f   / 036 036 020 033 242 201
0122660    t 257   t 035 032 032  \b 020 037 342 031 016 020       r 037
0122700  021   ! 020   u 300 035 021 351 240 032 021  \b   7 264   .   .
0122720  016   v 264 032   u  \0 022 032 021  \b   7 264   .   . 016   u
0122740  264 023 032   7  \v   : 374 321 022 377 343   @   x   x 025 032
0122760    A   x 033 032   B   x 030 032   C   x 017 032   D   x 020 005
0123000    E 016 032   E   x 032 006   x 032  \a   E 031 032   E   x 024
0123020   \b   E   x 030  \t   E   x 032  \n   x  \f  \v   E  \r 032   E
0123040    x 026  \f   T 357 022   0       T   T   /   /     251 260 032
0123060  270   . 021   . 031     027 034 032  \0   . 020 210 023   t  \v
0123100    ; 020   R 314  \n 004 244 031   /  \t 206 020 257  \0 034 355
0123120  240  \0 017 023 245       T   ; 302      \v   F 250  \v   ; 270
0123140       \n   @     304   * 257 033 020 022 032   7  \v   : 356 321
0123160  022 030 020 022 032   7  \v   : 357 321 022 017 020 005 245 377
0123200  211 001 004 020 020 005 245 377 211  \0 374 301  \b   u   v 260
0123220    /  \0   / 017 233   .  \b 003   T   / 342 022 032 376 001  \0
0123240  256 332   7  \v   :     321 022   /  \b 003   T  \b 342 016 020
0123260  003   T  \b 342 017   : 300   /  \b   u 020   : 300   /  \b   u
0123300    T   0 342 003   1  \b 003   T  \b 342   T   . 342 003   0  \b
0123320  003   T  \b 342 032   : 300   /  \b   u 031   : 300   / 016   u
0123340    a 244   .  \b 003   T  \b 342   T   4 342 003   .  \b 003   T
0123360   \b 342  \a   7 003   T  \b 342   T   . 342 003   0  \b 003   T
0123400   \b 342  \f   : 300   /  \b   u   T   . 342 003   7  \b   T   d
0123420  342 003   :  \b   /  \n   u 300  \0  \f  \f 245 016 020 377   8
0123440  002   W   \ 270 377 017  \b 026   T   . 342 003   .  \b 003   T
0123460   \b 342  \r   : 300   /  \b   u  \b   : 300   /  \r   u  \t   7
0123500  027 270   .  \b 003   T  \b 342   T   2 342 003   .  \b 003   T
0123520   \b 342   T   2 342 003   T  \b   T     342 003 021 020 034 032
0123540   \0   . 016 210 023   t  \n  \b  \0  \t 004   P 003   T  \t 342
0123560  020 257  \0 034 357 240 032   . 020 022 257 021 263   5 270  \r
0123600   \t   7 032 270  \v 023 374   7 022   : 343 321   t 026  \0 301
0123620  006   r   .  \n 004   r   .  \v  \t   r 004 021 377   8 002  \0
0123640  347   . 376 001  \0  \t   p  \0   4  \v   r  \t 021  \v 021 023
0123660  264   t 033 377 343   4 024 022 306       T  \0 323  \a   r   .
0123700   \b   t   X   #   T 001   Y  \0   t  \a 021 004   [  \0   !  \v
0123720  245   x   .  \0  \b 002   N   +  \b 027 210 023   ! 020   T  \a
0123740  244 020   T  \0 023 367 210   V  \b  \t 020 004   L  \0  \b 002
0123760    N   V   . 343   #   W 022   T 023 027 005 301  \t   u   v 260
0124000    / 227   /   .  \t 023   T   T 342   . 006 036 026   8   t 002
0124020   \0 347   .  \0   4  \a   r 323  \t  \a 021  \0 265  \r   r   .
0124040   \t 023   T  \t 342   T   . 342 023  \r 021   .   0   6 347   .
0124060    /  \0 264  \n   r 324  \b 320  \r  \r 021   P   T   ! 342  \0
0124100  035 005 245 377 211  \0 261   !   T 035 032 020   /  \0 035 035
0124120  242 201   t 257   t 034 032 032  \t  \r 036   Q   T   T 342  \0
0124140  023 037   r 036 021     020  \0 342 034 021 347 240   !   T 260
0124160    /  \0   /  \f 233   7  \t   T 377 342 023   !   T   V 257  \n
0124200    ! 002   L  \a   r  \0  \n 004   L  \a 021  \0 265  \r   r 020
0124220    :   Z   .  \0  \a   .   t 377   Z  \0 207  \0   t  \a 021   u
0124240    v 001   Y  \0   t  \a 021 376 001  \0   > 332  \0   u 002   Y
0124260   \0   t  \r 021   u   v 003   Y  \0   t  \r 021  \0   u 004   Y
0124300    .   t 005   Y   .   t 006   Y   .   t  \a   Y   .   t  \b   Y
0124320    8   t   T   V  \t   Y   8   t   m   $  \n   Y   T   t   5   !
0124340    7 263 250  \f  \v   Y   :  \t   7 020 300  \f  \0   u  \n 021
0124360  033 020 264   .  \n   r       T 377 211 377   I 024   !       T
0124400   \n   +   ! 315 367 245 377   8 001  \0  \n 021   7   u 260 377
0124420    7 251 260 377 017 032  \n 021  \0   u  \n 021   u   v 377   8
0124440  001  \0   t 255 032   u 020  \f  \0 017 006 244  \f 020 032 257
0124460   \t  \f 020  \b 300 017   .   u 002   T  \t   T 253 253   F 250
0124500  006   T 002   T  \t   T 253 253   G 250  \f 020 002   T  \t   T
0124520  253 253   H 250 017 020 002   T  \t   T 253 253   I 250   . 003
0124540    I  \b   t 030   .  \b   /   Q  \b   t  \0   .   .   Q   -   t
0124560    t  \a   t   ,  \n   -   -   t   t  \b  \t   -  \t   T   V 257
0124600    T  \t 020 006 270  \f 006   V 377 343   T 022 025  \t  \0   .
0124620  017 210   )   t   T   W 037 002 253 253   2 250   u 300 257 037
0124640   \0  \v 357 240 377   8 001  \0  \t   T   ?   7 376 001  \0 320
0124660  340 253 260 251 253 377   8 001  \0   3 347   v   t 024   u  \b
0124700    W 300  \n   T   u 023  \t   .  \t  \r 237  \b   T   V 257  \t
0124720   \b   @   7 023 251 361 210 377 343 004   r   u   ;  \a   7 026
0124740  307   (   7 024 302 024   7 025 302 377   8 002  \0 027 305 200
0124760    7 030 305   *   .   +   .   4  \t   V 307   .  \0 003   V   V
0125000   \f   . 005 006   V   V   .   .  \a  \b   V   V   .   .  \t  \n
0125020    V   V 016  \r 001 002   V   V   /   /  \v  \f   V   t   7  \r
0125040    V   V  \t   8 016 375 377   E   @  \v 017  \v 313 017   V 031
0125060   \n 317 310  \r   r  \f 032  \v 021  \r 021 020 320  \b  \n 020
0125100    I 377 343   . 022   W 030   T 023 027 005 003   T 003 244 326
0125120   \b   .     005 242 377 211  \0 211 032   .      \f  \r 032  \0
0125140    .   = 210 025   t  \v   ;   0   R  \t 031   p   T 023   T   T
0125160  342   x   p 260   / 257 251 016 032  \0   . 016 210 024   t 017
0125200   \t  \0  \n 004   P 023   T  \n 342 020 257  \0 016 357 240  \f
0125220  020   p   T   T 270   /   p 251 260 270   0  \f 032 257  \v  \r
0125240  020 301 240   :  \t   8  \n 002  \0  \f 020   5 251 300 263   0
0125260    u 376 001  \0 245 251 002   T  \t   T 253 253   F 250 006   T
0125300  002   T  \t   T 253 253   G 250   T   /   T 002 253  \t 250 253
0125320    7   H   T 377   T 002 253  \t 250 253 003   I  \t   T   V 257
0125340    T  \t 257 006 006   V  \n   T  \r 032  \0   .   0 210 025   t
0125360  001   T   0   R  \t 026   1  \f   u 300   T  \t   @   C 023   T
0125400    . 342   t 201 024 257   T  \t  \n   C 004   P 023   T  \n 342
0125420  022   7 360 240  \f  \t 250   2 300   1  \v   u 020 257  \0  \r
0125440  315 240   :  \t   8  \n 001  \0  \n   T 263   2 300 251   /   u
0125460  002   T  \t   T 253 253   F 250 006   T 002   T  \t   T 253 253
0125500    G 250   T   /   T 002 253  \t 250 253   7   H   T 377   T 002
0125520  253  \t 250 253 003   I  \t   T   V 257   /  \t  \a   V 341  \b
0125540   \b  \t  \n 341   T  \t 342 025   T  \r 342   U   E  \b 303 020
0125560  017   T   T 303 312 002 377 343  \0  \0  \0  \0  \0  \0  \0  \0
0125600   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0125660   \0  \0  \0  \0  \0  \0 376 001  \0   [   /  \b   Q 003 363 242
0125700  227 224   q  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0125720   \f  \0 016  \0 020  \0   '  \0   G  \0   n 002 242 003 020 005
0125740  250  \b 270  \r 220 026   H 001   : 027 202  \0   X 027 332 001
0125760   \f 030 350  \0   . 030 346  \0 002 030 350  \0  \0 030 350  \0
0126000   \0  \0  \0  \0  \0  \0 032  \0 004 001   $ 001  \a  \0 310  \0
0126020  364 001   N  \0  \0 001  \v  \0 270 001   & 001 005 001   ) 001
0126040  016 001   "  \0 357 001   P  \0  \0 001   3  \0 260 001 003  \0
0126060    m 001   F 001   G 001   L 001   ( 001   C 001   < 001 024 001
0126100    K  \0 353 001 020 001   B 001   D 001 017 001 002 001 037 001
0126120  023  \0  \0 001   ; 001   -  \0 251  \0 325 001   6 001   @ 001
0126140    4 001 036  \0   S 001 025 001 032 001   J 001   =  \0 236 001
0126160    E 001   2 001 030 001   1  \0   $ 001  \n  \0 223 001   8  \0
0126200  311 001   ' 001 006 001   M  \0 323 001   , 001   7  \0 303  \0
0126220    M 001   I 001   O 001 027  \0  \0  \0  \0  \0  \0  \0  \v  \0
0126240   \0  \0 022  \0  \0  \0 033  \0  \0  \0   "  \0  \0  \0   '  \0
0126260   \0  \0   +  \0  \0  \0   3  \0  \0  \0   7 376 001  \0   [   v
0126300   \0  \0  \0   ; 200  \0  \0   A 200  \0  \0   J 200 001  \0   N
0126320   \0  \0  \0   X  \0  \0  \0   ^  \0 003  \0   i 200  \0  \0   p
0126340   \0  \0  \0   y  \0  \0  \0   |  \0 017  \0   }  \0  \b  \0 203
0126360  200  \0  \0 215  \0  \0  \0 225  \0 004  \0 234  \0 016  \0 243
0126400   \0  \0  \0 253  \0  \0  \0 261  \0  \0  \0 270  \0  \0  \0 276
0126420   \0  \a  \0 302 200 026  \0 312  \0 030  \0 316 200  \0  \0 332
0126440  200 031  \0 343  \0  \0  \0 366  \0   !  \0 377  \0  \0 001 005
0126460   \0  \0 001  \f  \0  \0 001      \0  \v 001   )  \0  \0 001   3
0126500   \0 033 001   7  \0  \0 001   ;  \0  \0 001   P  \0  \f 001   Y
0126520   \0  \0 001   `  \0  \0 001   m  \0   % 001 202  \0   / 001 227
0126540   \0 021 001 256  \0 035 001 276  \0   2 001 316  \0 036 001 324
0126560   \0  \0 001 357  \0  \0 001 374  \0  \0 002  \b  \0  \0 002 016
0126600   \0   5 002 024  \0  \0 002   $  \0   : 002   4  \0  \0 002   F
0126620   \0   & 002   ^  \0  \0 002   i  \0   , 002   t  \0  \0 002 200
0126640   \0  \0 002 207  \0   1 002 226  \0   # 002 236  \0  \r 002 255
0126660   \0   8 002 271  \0  \0 002 303  \0  \0 002 323  \0 002 002 342
0126700  376 001  \0   S 305  \0     002 347  \0   F 002 362  \0 037 002
0126720  373  \0   K 003 004  \0  \0 003 020  \0   G 003   !  \0 027 003
0126740    8  \0  \0 003   K  \0   D 003   V 200  \0 003   `  \0  \0 003
0126760    q  \0 032 003   {  \0   - 003 207  \0   ? 003 222  \0   L 003
0127000  232  \0  \0 003 247  \0 005 003 253  \0   ' 003 260  \0  \0 003
0127020  266 200   R 003 300 200   \ 003 312 200   0 003 322 300  \0 003
0127040  332 200  \0 003 333 200  \0 003 334 200   + 003 351 200   B 003
0127060  355 200  \0 003 366 200   A 003 375 200   . 004 016 200   ` 004
0127100  026 200   b 004 036 200   4 004   & 200 024 004   0 200 025 004
0127120    : 200  \0 004   J 200   " 004   ] 200   i 004   q 300   k 004
0127140  177 300   Q 004 211 300  \0 004 223 300 022 004 231 300   f 004
0127160  232 300   o 004 233 300   < 004 234 200   W 004 236 300  \0 004
0127200  252 200  \0 004 256 200   7 004 261 300  \0 004 271 300   Z 004
0127220  274 300  \0 004 277 300  \0 004 302  \0   p 004 304  \0 034 004
0127240  310  \0   H 004 316 300 023 004 332 300   [ 004 333 300   ( 004
0127260  342 300   j 004 347 200   U 004 351  \0  \0 004 367 200  \0 004
0127300  375 200   l 005 005 376 001  \0 036   :  \0   I 005 025  \0  \0
0127320  005 030 200 203 005 036 200  \t 005 037  \0 177 005   % 200   d
0127340  005   &  \0 216 005   ,  \0 211 005   5 200   C 005   E 300   N
0127360  005   S 200 212 005   T 200   ~ 005   [  \0 214 005   e  \0  \0
0127400  005   s  \0   n 005   {  \0 006 005 200  \0 204 005 213  \0   {
0127420  005 222  \0  \n 005 231  \0 200 005 237  \0   3 005 247  \0   x
0127440  005 263  \0 222 005 275  \0   ) 005 301  \0   V 005 312  \0 241
0127460  005 323  \0   h 005 333  \0 243 005 343  \0 242 005 354  \0   9
0127500  005 364  \0 235 006 001  \0  \0 006  \t  \0 250 006 021 200 210
0127520  006 033  \0 252 006   %  \0   Y 006   . 300   X 006   7 300 230
0127540  006   < 200 231 006   A  \0 207 006   J 300 217 006   S 300   a
0127560  006   X  \0   T 006   a 300   J 006   i 300 254 006   l 300 213
0127600  006   o 300   u 006   u 300 201 006   | 300   e 006 200 300 263
0127620  006 211 300   q 006 215 300 221 006 225 200 225 006 227 200   y
0127640  006 233  \0 247 006 243  \0 205 006 252  \0   ] 006 265  \0 272
0127660  006 273  \0 264 006 277  \0 275 006 317  \0   * 006 341  \0 265
0127700  006 354  \0   g 006 363  \0 215 006 364 376 001  \0   #   h  \0
0127720    z 006 365  \0 274  \a 001  \0   s  \a  \a 300  \0  \a 016 300
0127740    r  \a 021 300 300  \a 026 300   t  \a 033 300   6  \a   ' 300
0127760  277  \a   - 300 226  \a   3 300 206  \a   7 300   }  \a   ; 300
0130000  232  \a   F 300 255  \a   G 300 244  \a   H 300 256  \a   M 300
0130020  253  \a   W 300   P  \a   [ 300 330  \a   b 300 301  \a   i 300
0130040  327  \a   u 300 326  \a   z 300 304  \a 200 300 245  \a 217 300
0130060  336  \a 232 200 234  \a 240 200 267  \a 257  \0 271  \a 263 300
0130100    O  \a 302 300 342  \a 316 300 202  \a 321 300   >  \a 324 200
0130120  306  \a 345 200 337  \a 355 200 313  \a 372 300 305  \b  \t 200
0130140  346  \b 017 200 334  \b 024  \0 257  \b   % 200 324  \b   , 200
0130160  302  \b   - 200 341  \b   6  \0 240  \b   : 200 276  \b   = 200
0130200  020  \b   E 300   @  \b   N 200 331  \b   V 200 366  \b   ^ 200
0130220  345  \b   e 200  \0  \b   n 200 261  \b   u 200 355  \b   ~  \0
0130240  362  \b 203  \0 363  \b 206  \0 333  \b 212  \0 373  \b 223  \0
0130260  371  \b 232  \0   =  \b 234  \0 266  \b 236  \0 233  \b 242  \0
0130300  351  \b 250  \0 375  \b 255  \0 352  \b 263  \0 372  \b 274 376
0130320  001  \0 270   (  \0 307  \b 310 001  \b  \b 316  \0 312  \b 325
0130340   \0 356  \b 330  \0   ^  \b 337  \0   c  \b 353  \0 376  \b 370
0130360  301 001  \t  \n 200 320  \t 016 300 273  \t   % 300 246  \t   -
0130400  200   ;  \t   ? 201  \t  \t   I 200 365  \t   K  \0 315  \t   Z
0130420  201 004  \t   \  \0 347  \t   l  \0 335  \t   u  \0 321  \t 202
0130440  001 021  \t 212 300 322  \t 230 200 316  \t 231 200   v  \t 235
0130460  201 031  \t 246 001 022  \t 255  \0 237  \t 273  \0   w  \t 306
0130500   \0 343  \t 306 001 033  \t 323 001 035  \t 342 001  \0  \t 357
0130520   \0 370  \n  \0 001  \f  \n 016  \0 354  \n 035 001   *  \n   ,
0130540  001   +  \n   ; 001 034  \n   H  \0 314  \n   O  \0   _  \n   R
0130560   \0 374  \n   W 001   .  \n   _ 001  \r  \n   h  \0 361  \n   q
0130600  001   #  \n   y  \0 340  \n 177  \0  \0  \n 213 001 026  \n 222
0130620   \0 262  \n 227  \0 344  \n 233  \0 317  \n 241  \0   |  \n 256
0130640   \0 350  \n 271  \0 367  \n 311  \0 377  \n 323  \0   E  \n 327
0130660   \0 227  \n 333 001   >  \n 337 001   ?  \n 347 001   !  \n 356
0130700  001      \n 363 001   A  \n 367 001   5  \n 371  \0 220  \n 373
0130720  001   9  \n 377 376 001  \0 276   e 001   0  \v 005  \0 360  \v
0130740   \r 001   %  \v 032  \0 332  \v   $ 001   H  \v   (  \0 224  \v
0130760    2 001   /  \v   @ 001   :  \v   L  \v   L  \v   L   U   N   S
0131000    P   E   C   I   F   I   E   D   I   N   T   E   G   E   R   C
0131020    H   A   R   A   C   T   E   R   B   O   O   L   E   A   N   F
0131040    A   L   S   E   T   R   U   E   C   A   R   D   I   N   A   L
0131060    W   O   R   D   R   E   A   L   l   e   n   g   t   h   m   a
0131100    x   l   e   n   g   t   h   t   e   x   t   S   t   r   i   n
0131120    g   B   o   d   y   S   T   R   I   N   G   M   O   N   I   T
0131140    O   R   L   O   C   K   t   i   m   e   o   u   t   C   O   N
0131160    D   I   T   I   O   N   N   I   L   ?   U   N   W   I   N   D
0131200    I   n   l   i   n   e   D   e   f   s   L   o   n   g   M   u
0131220    l   t   L   o   n   g   D   i   v   L   o   w   H   a   l   f
0131240    H   i   g   h   H   a   l   f   B   I   T   A   N   D   L   D
0131260    I   V   M   O   D   B   I   T   X   O   R   C   O   P   Y   M
0131300    i   s   c   D   e   f   s   Z   e   r   o   O   s   S   t   a
0131320    t   i   c   D   e   f   s   P   r 376 001  \0   F 302   e   s
0131340    s   D   e   f   s   P   r   e   s   s   F   i   l   e   D   e
0131360    s   c   r   i   p   t   o   r   E   L   C   o   m   m   a   n
0131400    d   D   o   c   D   i   r   P   a   r   t   D   i   r   E   n
0131420    t   i   t   y   C   o   m   m   a   n   d   T   r   a   i   l
0131440    e   r   M   i   c   a   W   i   d   t   h   M   i   c   a   H
0131460    e   i   g   h   t   P   a   g   e   F   o   n   t   E   x   t
0131500    e   r   n   a   l   F   i   l   e   D   i   r   e   c   t   o
0131520    r   y   F   o   n   t   E   n   t   r   y   F   o   n   t   D
0131540    i   r   P   r   e   s   s   P   a   s   s   w   o   r   d   E
0131560    L   S   h   o   w   C   h   a   r   a   c   t   e   r   s   S
0131600    h   o   r   t   E   L   S   k   i   p   C   h   a   r   a   c
0131620    t   e   r   s   S   h   o   r   t   E   L   S   h   o   w   C
0131640    h   a   r   a   c   t   e   r   s   A   n   d   S   k   i   p
0131660    E   L   S   e   t   S   p   a   c   e   X   S   h   o   r   t
0131700    E   L   S   e   t   S   p   a   c   e   Y   S   h   o   r   t
0131720    E   L   F   o   n   t   E   L   S   k   i   p   C   o 376 001
0131740   \0 375 353   n   t   r   o   l   B   y   t   e   s   I   m   m
0131760    e   d   i   a   t   e   E   L   A   l   t   e   r   n   a   t
0132000    i   v   e   E   L   O   n   l   y   O   n   C   o   p   y   E
0132020    L   S   e   t   X   E   L   S   e   t   Y   E   L   S   h   o
0132040    w   C   h   a   r   a   c   t   e   r   s   E   L   S   k   i
0132060    p   C   h   a   r   a   c   t   e   r   s   E   L   S   k   i
0132100    p   C   o   n   t   r   o   l   B   y   t   e   s   E   L   S
0132120    h   o   w   C   h   a   r   a   c   t   e   r   I   m   m   e
0132140    d   i   a   t   e   E   L   S   e   t   S   p   a   c   e   X
0132160    E   L   S   e   t   S   p   a   c   e   Y   E   L   R   e   s
0132200    e   t   S   p   a   c   e   E   L   S   p   a   c   e   E   L
0132220    S   e   t   B   r   i   g   h   t   n   e   s   s   E   L   S
0132240    e   t   H   u   e   E   L   S   e   t   S   a   t   u   r   a
0132260    t   i   o   n   E   L   S   h   o   w   O   b   j   e   c   t
0132300    E   L   S   h   o   w   D   o   t   s   E   L   S   h   o   w
0132320    D   o   t   s   O   p   a   q   u   e   E   L   S   h   o   w
0132340    R   e   c 376 001  \0 247 341   t   a   n   g   l   e   E   L
0132360    N   o   p   D   L   S   e   t   C   o   d   i   n   g   D   L
0132400    S   e   t   M   o   d   e   D   L   S   e   t   S   i   z   e
0132420    D   L   D   o   t   s   F   o   l   l   o   w   D   L   G   e
0132440    t   D   o   t   s   F   r   o   m   F   i   l   e   D   L   S
0132460    e   t   S   a   m   p   l   i   n   g   P   r   o   p   e   r
0132500    t   i   e   s   D   L   S   S   P   I   n   p   u   t   I   n
0132520    t   e   n   s   i   t   y   D   L   S   S   P   S   c   r   e
0132540    e   n   S   t   r   e   a   m   D   e   f   s   C   l   e   a
0132560    n   u   p   D   i   s   k   S   t   r   e   a   m   W   r   i
0132600    t   e   B   l   o   c   k   S   t   r   e   a   m   H   a   n
0132620    d   l   e   S   t   r   e   a   m   I   n   d   e   x   G   e
0132640    t   I   n   d   e   x   N   e   w   B   y   t   e   S   t   r
0132660    e   a   m   R   e   a   d   W   r   i   t   e   A   p   p   e
0132700    n   d   S   t   r   i   n   g   D   e   f   s   S   y   s   t
0132720    e   m   D   e   f   s   T   i   m   e   D   e   f   s   P   r
0132740    e   s   s   O   u   t   t   i 376 001  \0 250 206   e   n   t
0132760    i   t   y   S   e   g   m   e   n   t   l   i   n   k   b   e
0133000    g   i   n   B   y   t   e   e   n   d   B   y   t   e   e   n
0133020    t   i   t   y   S   e   g   m   e   n   t   H   e   a   d   l
0133040    a   s   t   S   e   t   X   l   a   s   t   S   e   t   Y   l
0133060    a   s   t   F   o   n   t   l   a   s   t   S   p   a   c   e
0133100    X   l   a   s   t   S   p   a   c   e   Y   m   a   x   E   n
0133120    t   i   t   y   S   e   g   m   e   n   t   e   x   t   e   r
0133140    n   a   l   F   i   l   e   S   t   r   i   n   g   s   n   E
0133160    x   t   e   r   n   a   l   F   i   l   e   S   t   r   i   n
0133200    g   s   C   o   p   y   B   C   P   L   S   t   r   i   n   g
0133220    B   C   P   L   S   t   r   i   n   g   m   e   s   a   S   t
0133240    r   i   n   g   M   u   l   D   i   v   a   b   c   a   l   S
0133260    i   g   n   e   d   M   u   l   D   i   v   r   s   l   t   s
0133300    g   n   S   e   t   B   l   o   c   k   b   u   f   v   a   l
0133320    l   e   n   t   o   f   r   o   m   n   w   o   r   d   s   W
0133340    r   i   t   e   C   o   m   m   a   n   d   p   C 376 001  \0
0133360    ) 023   o   m   m   a   n   d   P   a   r   a   m   e   s   E
0133400    n   t   i   t   y   C   o   m   m   a   n   d   s   S   t   u
0133420    f   f   1   A   r   g   u   m   e   n   t   E   n   t   i   t
0133440    y   C   o   m   m   a   n   d   L   e   n   p   u   t   S   t
0133460    u   f   f   2   h   C   u   r   H   u   e   s   C   u   r   S
0133500    a   t   C   u   r   B   r   i   g   h   t   N   e   w   E   n
0133520    t   i   t   y   S   e   g   m   e   n   t   W   r   i   t   e
0133540    D   i   r   e   c   t   o   r   y   d   d   a   y   T   i   m
0133560    e   P   a   c   k   e   d   T   i   m   e   C   u   r   r   e
0133600    n   t   D   a   y   T   i   m   e   P   a   s   s   w   o   r
0133620    d   n   R   e   c   s   R   e   c   o   r   d   S   t   a   r
0133640    t   f   o   n   t   L   e   n   p   a   r   t   L   e   n   n
0133660    P   a   r   t   s   n   u   m   P   a   r   t   s   p   a   r
0133700    t   D   i   r   S   t   a   r   t   p   a   r   t   L   e   n
0133720    g   t   h   d   a   t   e   f   i   r   s   t   C   o   p   y
0133740    F   i   r   s   t   C   o   p   y   l   a   s   t   C   o   p
0133760    y   L 376 001  \0   l 343   a   s   t   C   o   p   y   s   o
0134000    l   i   d   C   o   d   e   f   i   l   e   N   a   m   e   P
0134020    r   e   s   s   F   i   l   e   N   a   m   e   u   s   e   r
0134040    N   a   m   e   U   s   e   r   N   a   m   e   d   a   t   e
0134060    S   t   r   i   n   g   D   a   t   e   S   t   r   i   n   g
0134100    o   u   t   S   t   r   e   a   m   S   e   t   S   p   a   c
0134120    e   X   m   i   c   a   X   p   a   r   a   m   C   u   r   S
0134140    p   a   c   e   X   S   e   t   S   p   a   c   e   Y   m   i
0134160    c   a   Y   C   u   r   S   p   a   c   e   Y   S   e   t   C
0134200    o   l   o   r   h   u   e   s   a   t   b   r   i   g   h   t
0134220    S   e   t   F   o   n   t   N   a   m   e   P   o   i   n   t
0134240    S   i   z   e   F   a   c   e   R   o   t   a   t   i   o   n
0134260    U   C   F   B   u   f   n   u   m   F   o   n   t   s   f   o
0134300    n   t   D   i   r   E   q   u   a   l   S   t   r   i   n   g
0134320    F   a   m   i   l   y   S   i   z   e   A   l   l   o   c   a
0134340    t   e   H   e   a   p   N   o   d   e   A   l   l   o   c   a
0134360    t   e   H   e   a   p   S 376 001  \0   V 311   t   r   i   n
0134400    g   E   n   t   r   y   L   e   n   g   t   h   F   o   n   t
0134420    S   e   t   M   N   A   p   p   e   n   d   S   t   r   i   n
0134440    g   S   o   u   r   c   e   P   u   t   T   e   x   t   s   t
0134460    r   x   l   e   f   t   y   b   a   s   e   P   u   t   R   e
0134500    c   t   a   n   g   l   e   x   s   t   a   r   t   y   s   t
0134520    a   r   t   x   l   e   n   y   l   e   n   P   u   t   A   l
0134540    t   o   D   o   t   s   x   y   n   D   o   t   s   n   S   c
0134560    a   n   L   i   n   e   s   d   o   t   s   P   u   t   D   o
0134600    t   s   n   P   i   x   e   l   s   b   i   t   s   P   e   r
0134620    P   i   x   e   l   w   i   d   t   h   h   e   i   g   h   t
0134640    s   c   r   e   e   n   F   r   e   q   u   e   n   c   y   s
0134660    c   r   e   e   n   A   n   g   l   e   n   W   o   r   d   s
0134700    a   d   d   i   t   i   o   n   a   l   W   o   r   d   s   b
0134720    y   t   e   P   u   t   C   o   m   p   u   t   e   d   D   o
0134740    t   s   n   e   x   t   S   c   a   n   L   i   n   e   m   i
0134760    n   m   a   x   n   W   o   r   d   s   P   e 376 001  \0 341
0135000  200   r   S   c   a   n   l   i   n   e   M   a   x   T   a   b
0135020    l   e   p   i   x   e   l   s   P   e   r   W   o   r   d   P
0135040    u   t   D   o   t   s   F   r   o   m   F   i   l   e   n   B
0135060    y   t   e   s   f   o   u   n   d   E   q   u   i   v   a   l
0135100    e   n   t   S   t   r   i   n   g   s   B   y   t   e   P   o
0135120    s   l   s   t   r   m   I   n   d   e   x   p   a   g   e   e
0135140    s   h   s   e   g   m   e   n   t   Q   W   r   i   t   e   P
0135160    a   g   e   E   C   o   m   m   a   n   d   s   t   a   r   t
0135200    P   o   s   b   y   t   e   L   e   n   e   n   t   i   t   y
0135220    L   e   n   p   a   d   d   i   n   g   r   e   c   o   r   d
0135240    L   e   n   r   e   s   e   t   g   e   t   T   y   p   e   B
0135260    e   g   i   n   B   y   t   e   B   y   t   e   L   e   n   X
0135300    e   Y   e   L   e   f   t   B   o   t   t   o   m   W   i   d
0135320    t   h   H   e   i   g   h   t   E   n   t   i   t   y   L   e
0135340    n   F   r   e   e   H   e   a   p   N   o   d   e   n   u   m
0135360    l   o   w   n   u   m   h   i   g   h   d   e   n   p   a   r
0135400    t 376 001  \0   B   e   D   i   r   R   e   c   o   r   d   L
0135420    e   n   g   t   h   P   a   d   d   i   n   g   L   e   n   g
0135440    t   h   W   r   i   t   e   P   a   r   t   D   i   r   e   c
0135460    t   o   r   y   t   e   m   p   I   n   i   t   P   r   e   s
0135500    s   F   i   l   e   D   e   s   c   r   i   p   t   o   r   f
0135520    i   l   e   n   a   m   e   e   n   t   i   t   y   C   o   m
0135540    m   a   n   d   A   r   r   a   y   u   s   e   r   S   t   r
0135560    i   n   g   p   d   A   l   l   o   c   a   t   e   S   e   g
0135600    m   e   n   t   f   d   B   c   p   l   T   o   M   e   s   a
0135620    S   t   r   i   n   g   O   s   S   t   a   t   i   c   s   A
0135640    p   p   e   n   d   D   a   y   T   i   m   e   U   n   p   a
0135660    c   k   D   T   C   l   o   s   e   P   r   e   s   s   F   i
0135700    l   e   j   z   e   r   o   n   B   y   t   e   s   O   u   t
0135720    d   e   s   t   r   o   y   F   r   e   e   H   e   a   p   S
0135740    t   r   i   n   g   F   r   e   e   S   e   g   m   e   n   t
0135760    p   r   e   s   s   o   u   t   .   b   c   d   .   i   n   l
0136000    i   n   e   d   e   f 376 001  \0   I 225   s   .   b   c   d
0136020    .   m   i   s   c   d   e   f   s   .   b   c   d   .   o   s
0136040    s   t   a   t   i   c   d   e   f   s   .   b   c   d   .   p
0136060    r   e   s   s   d   e   f   s   .   b   c   d   .   s   t   r
0136100    e   a   m   d   e   f   s   .   b   c   d   .   s   t   r   i
0136120    n   g   d   e   f   s   .   b   c   d   .   s   y   s   t   e
0136140    m   d   e   f   s   .   b   c   d   .   t   i   m   e   d   e
0136160    f   s   .   b   c   d   .   p   r   o   d   u   c   t   n   u
0136200    m   B   i   t   O   p   q   u   o   t   i   e   n   t   r   e
0136220    m   a   i   n   d   e   r   P   a   r   t   E   n   t   r   y
0136240    P   a   r   t   T   y   p   e   s   t   r   e   a   m   S   t
0136260    r   e   a   m   O   b   j   e   c   t   a   d   d   r   e   s
0136300    s   w   o   r   d   s   n   a   m   e   a   c   c   e   s   s
0136320    A   c   c   e   s   s   O   p   t   i   o   n   s   S   e   g
0136340    m   e   n   t   D   e   f   s   s   e   g   m   e   n   t   d
0136360    e   f   s   .   b   c   d   .   D   i   s   k   H   a   n   d
0136400    l   e   D   i   s   k   b   o   d   y   t 376 001  \0 257   V
0136420    y   p   e   K   e   y   b   o   a   r   d   D   i   s   p   l
0136440    a   y   O   t   h   e   r   t   i   m   e   s   1   s   2   B
0136460    y   t   e   n   c   h   a   r   s   A   l   t   o   D   e   f
0136500    s   a   l   t   o   d   e   f   s   .   b   c   d   .   P   a
0136520    g   e   N   u   m   b   e   r   b   a   s   e   b   c   p   l
0136540    S   T   R   I   N   G   O   s   S   t   a   t   i   c   R   e
0136560    c   o   r   d   U   n   p   a   c   k   e   d   T   i   m   e
0136600    > 001 340  \0 343  \0  \0 020 300 002 300 001  \0 002  \0  \0
0136620   \0  \n  \0  \f 343 001  \0 020 300 002 300 001  \0  \n  \0  \0
0136640   \0 022  \0 024 343 002  \0  \b 300 002 300 001  \0 022  \0  \0
0136660   \0 032  \0 035 344 001  \0 004  \0 002 300 002 300 001  \0 032
0136700   \0  \0  \0   "  \0   3 300 004 300 035  \0  \0  \0  \0  \0   *
0136720   \0   ) 300 004 300 035  \0  \0  \0 001  \0   2  \0  \0 367  \0
0136740   \0  \f  \0  \0 377 377 300 002 300 001  \0   /  \0  \0  \0   :
0136760   \0   9 300 002 300 001  \0   /  \0  \0  \0   B  \0   A 372  \0
0137000   \0  \f 300 002 300 001  \0   ?  \0  \0  \0   J  \0   \ 347  \0
0137020  376 001  \0 270 235  \0      \0 300 300 006  \0   3  \0 020  \0
0137040   \0  \0   Q 300 006 200   3  \0 020  \0 020  \0   Y 300 006  \0
0137060    Y  \0  \0  \0      \0   ` 353  \0  \0   3  \0 024 300 002 300
0137100  001  \0   G  \0  \0  \0   j  \0   d 350 001  \0   \ 300 002 300
0137120  001  \0   b  \0  \0  \0   r  \0   r 347  \0  \0 020 001  \0 300
0137140   \b  \0 004  \0 020  \0  \0  \0  \0 300 002 300 001  \0   j  \0
0137160   \0  \0   z  \0 205 347  \0  \0     001   @ 300  \n  \0 004  \0
0137200  020  \0  \0  \0 001 300  \n  \0   3  \0 020  \0 020  \0 200 300
0137220  002 300 001  \0   x  \0  \0  \0 212  \0 215 350  \0  \0 002 300
0137240  002 300 035  \0  \0  \0 001  \0   2  \0 223 300 002 300 035  \0
0137260   \0  \0  \0  \0   *  \0 231 300 002 300 213  \0  \0  \0  \0  \0
0137300  222  \0 237 300 002  \0 002  \0 020  \0  \0  \0 232  \0 250 356
0137320  003  \0  \0  \0  \0 300 002 300 245  \0  \0  \0   }  \0 242  \0
0137340   \0 300  \f 306   8  \0  \0  \0 201  \0 251 300  \f 307   !  \0
0137360   \0  \0 201  \0 361 300  \f 307   ;  \0  \0  \0 201 001 001 300
0137400   \f 307   =  \0  \0  \0 201 001  \t 300  \f 310 216  \0  \0  \0
0137420  201 002 221 300  \f 376 001  \0 346 252 311   K  \0  \0  \0 201
0137440  002 341 300  \f 311   M  \0  \0  \0 201 002 351 300  \f 311   O
0137460   \0  \0  \0 201 002 361 310  \f 300 371  \0  \0  \0 201 002 370
0137500  300 016 311   Q  \0 001  \0 002  \0 361 300 016 311   S  \0 001
0137520   \0 003  \0 251 300 016 311   U  \0 001  \0 004 002 351 300 016
0137540  311   W  \0 001  \0 005 002 221 300 016 311   Y  \0 001  \0 006
0137560  002 341 300 016 311   [  \0 001  \0  \a 003  \0 356 005  \0  \0
0137600   \0  \0 300 020  \0   3  \0 020  \0   0 003  \t 300 020 300 001
0137620  001 241  \0 333 003 021 300 020 001 274  \0 020  \0   P 003   1
0137640  300 020  \0   3  \0 020  \0 220 003   9 300 020  \0   3  \0 020
0137660   \0 200 003   A 300 020  \0   3  \0 020  \0 240 003   I 300 020
0137700   \0   3  \0 020  \0   ` 003   Q 300 020  \0   3  \0 020  \0   p
0137720  003   Y 300 020  \0   3  \0 020 006 360 003   a 300 020 001 276
0137740  006   @  \0 260 003   i 300 020  \0   3  \0 020  \0   @ 003   q
0137760  310 020 301 305  \0  \n  \0 211 003   y 310 020 301 336  \0 024
0140000   \0 241 003 221 310 020 301 373  \0 036  \0 261 003 271 310 020
0140020  302 030  \0   (  \0 301 003 321 310 020 376 001  \0 027   V 302
0140040    6  \0   2  \0 205 004  \t 310 020 302   V  \0   <  \0 251 004
0140060  221 310 020 302   c  \0   F  \0 325 005   i 310 020 302   u  \0
0140100    P  \0 315 005 211 310 020 302 207  \0   Z  \0 271 005 241 310
0140120  020 302 247  \0   d  \0 225 005 301 310 020 302 310  \0   n  \0
0140140  265 006   a 310 020 302 344  \0   x  \0 321 006 201 310 020 303
0140160  005  \0 202  \0 275 006 251 310 020 303   -  \0 214  \0 235 006
0140200  331 310 020 303   n  \0 226  \0 305  \a   ) 310 020 303 304  \0
0140220  240  \0 255  \a   a 300 020 304  \r  \0 252  \0 215  \a 201 300
0140240  020 304   "  \0 264  \0 221 004 211 310 020 304   /  \0 276  \0
0140260  231  \a 261 310 020 304   <  \0 310  \0 245  \b 201 310 020 304
0140300    I  \0 322  \0 331  \b 221 310 020 304   [  \0 334  \0 311  \b
0140320  350 346  \r  \0   ` 002   @ 300 022 001 270  \0 020  \0  \0 003
0140340  031 300 022  \0   3  \0 020  \0 020  \0   Q 300 022 001 272  \0
0140360       \0     003   ! 300 022 001 272  \0      \0   @ 003   ( 350
0140400   \0 001 001 370  \0  \0   3 350  \0 001 001 352 201 001 301  \0
0140420    d 367  \0  \0  \f  \0  \0  \0   c 356  \0 001 310  \0  \0 376
0140440  001  \0  \a 216   f   A  \0     002 200 310 024 001 325  \0 020
0140460   \0   P 003 201 310 024  \0   d  \0 020  \0   @ 003 210 350 001
0140500  001 327 353 200 001 332  \0 024 367  \0  \0  \f  \0  \0  \0   c
0140520  356  \0 001 341 001 363   f   A  \0   0 002 300 310 026  \0   3
0140540   \0 020  \0   @ 003 231 310 026  \0   3  \0 020  \0   P 003 241
0140560  310 026  \0   3  \0 020  \0   ` 003 250   f   Q  \0 020 003  \0
0140600  310 030  \0   3  \0 020  \0  \0  \0  \0 356  \0 001 376 002 020
0140620    f   @  \0   0 003   @ 310 032  \0  \f  \0 020  \0   @ 003 231
0140640  310 032  \0  \f  \0 020  \0   P 003 241 310 032  \0  \f  \0 020
0140660   \0   ` 003 250   f   Q  \0 020 003 200 310 034  \0  \f  \0 020
0140700   \0  \0  \0  \0 356  \0 002 033  \0  \0   f   @  \0   0 003 300
0140720  310 036 002   -  \0 020  \0   @ 003 331 310 036  \0  \f  \0 020
0140740   \0   P 003 341 310 036  \0  \f  \0 020  \0   ` 003 350 350 001
0140760  002   / 352 200 002   2  \0  \f 367 200  \0  \f  \0  \0  \0  \0
0141000  356  \0 002   9  \0  \0   f   A  \0   0 004  \0 310     002   K
0141020   \0 020  \0   P 004 021 310      \0   3  \0 020  \0   ` 004 031
0141040  310     002   M 376 001  \0 247 273  \0 020  \0   @ 004     350
0141060  001  \a   ? 350 001 002   O 352 200 002   R  \0   3 367  \0  \0
0141100   \f  \0  \0  \0 005 356  \0 002   Y  \0  \0   f   Q  \0 020 004
0141120    @ 310   " 002   a  \0 020  \0   @ 004 020 350 001  \a   ? 356
0141140   \0 002   f  \0  \0   f   @  \0     004 200 310   $ 002   s  \0
0141160  020  \0   @ 004 021 310   $  \0   3  \0 020  \0   P 005   p 350
0141200  001  \a   ? 356  \0 002   x  \0  \0   f   @  \0     004 300 310
0141220    & 002 205  \0 020  \0   @ 004 021 310   &  \0   3  \0 020  \0
0141240    P 005 220 350 001  \a   ? 356  \0 002 212  \0  \0   f   @  \0
0141260    @ 005  \0 310   ( 002 241  \0 020  \0   @ 004 021 310   ( 002
0141300  243  \0 020  \0   P 005 251 310   ( 002 243  \0 020  \0   p 005
0141320  261 310   ( 002 243  \0 020  \0   ` 005 270 350 001  \a   ? 367
0141340   \0  \0  \f  \0  \0  \0 377 356  \0 002 252  \0  \0   f   A  \0
0141360    P 005   @ 310   * 002 306  \0 020  \0   P 004 021 310   *  \0
0141400    d  \0 020  \0   p 005 311 310   *  \0   3  \0 020  \0 240 005
0141420  321 330   *  \0   3  \0 020  \0 220 005 331 330   *  \0   3  \0
0141440  020  \0 200 005 340 350 001  \a   ? 376 001  \0   b   3 356  \0
0141460  002 313  \0  \0   f   @  \0   @ 005 200 310   , 002 342  \0 020
0141500   \0   @ 004 021 310   ,  \0   d  \0 020  \0   P 006   i 310   ,
0141520