$ od -c -N 50000 [Indigo]<Spruce>12>sources>SprucePrinPenguin.Sr!1
0000000    /   /       P       R       I       N       T              \r
0000020    /   /       e   r   r   o   r   s       5   0   0   0  \r   /
0000040    /  \r  \r   g   e   t       "   S   p   r   u   c   e   P   r
0000060    i   n   t   e   r   s   .   d   "  \r   g   e   t       "   S
0000100    p   r   u   c   e   D   o   c   .   d   "  \r   g   e   t    
0000120    "   S   p   r   u   c   e   F   o   n   t   .   d   "  \r   g
0000140    e   t       "   S   p   r   u   c   e   B   a   n   d   .   d
0000160    "  \r   g   e   t       "   s   p   r   u   c   e   M   i   s
0000200    c   .   d   "  \r   g   e   t       "   S   p   r   u   c   e
0000220    F   i   l   e   s   .   d   "  \r   g   e   t       "   O   r
0000240    b   i   t   .   d   "  \r  \r   /   /       o   u   t   g   o
0000260    i   n   g       p   r   o   c   e   d   u   r   e   s  \r   e
0000300    x   t   e   r   n   a   l  \r  \t   [  \r  \t   D   r   i   v
0000320    e   P   r   i   n   t   e   r  \r  \t   ]  \r  \r   /   /    
0000340    i   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0000360    r   e   s  \r   e   x   t   e   r   n   a   l  \r  \t   [  \r
0000400   \t   S   p   r   u   c   e   E   r   r   o   r  \r  \t   M   a
0000420    x   ;       M   i   n  \r  \t   C   a   l   l   S   w   a   t
0000440   \r  \t   I   n   i   t   R   a   m  \r   /   /   S   p   r   u
0000460    c   e   P   r   i   n   t  \r  \t   A   d   d   T   o   B   i
0000500    n  \r  \t   A   n   n   o   u   n   c   e  \r  \t   A   w   a
0000520    i   t   P   a   g   e   S   y   n   c  \r  \t   P   r   i   n
0000540    t   N   e   x   t  \r  \t   R   e   a   d   B   a   n   d   s
0000560   \r  \t   R   e   a   d   C   l   o   c   k  \r  \t   R   e   a
0000600    d   F   o   n   t  \r   /   /   C   U   R   S   O   R  \r  \t
0000620    C   u   r   s   o   r   C   h   a   r   ;       C   u   r   s
0000640    o   r   D   i   g   i   t  \r   /   /       S   p   r   u   c
0000660    e   P   r   i   n   t   R   e   s  \r  \t   D   o   F   u   n
0000700    c   ;       R   O   S   S   t   a   t   u   s  \r   /   /    
0000720    T   i   m   e   r       (   d   e   b   u   g       o  \0 006
0000740  020   @ 377   v 037  \0 002   { 035  \0  \0   (      \0  \0   @
0000760   \0  \0 001 336  \0  \0  \0  \0  \f 032  \0  \0 366 357 370 366
0001000    n   l   y   )  \r  \t   S   e   t   T   i   m   e   r   ;    
0001020    T   i   m   e   r   H   a   s   E   x   p   i   r   e   d  \r
0001040   \t   ]  \r  \r   /   /       i   n   c   o   m   i   n   g    
0001060    s   t   a   t   i   c   s  \r   e   x   t   e   r   n   a   l
0001100   \r  \t   [  \r  \t   B   a   n   d   F   i   l   e  \r  \t   b
0001120    a   n   d   R   e   c   o   r   d   S   i   z   e  \r  \t   B
0001140    i   n   C   o   u   n   t   e   r   s  \r  \t   b   r   e   a
0001160    k   P   a   g   e  \r  \t   b   r   e   a   k   P   a   g   e
0001200    C   o   p   y  \r  \t   C   a   p   a   b   i   l   i   t   i
0001220    e   s  \r  \t   D   e   b   u   g  \r  \t   D   e   b   u   g
0001240    S   y   s   t   e   m  \r  \t   d   e   b   u   g   T   r   a
0001260    i   l  \r  \t   F   A   v   a   l   u   e  \r  \t   F   u   n
0001300    c  \r  \t   k   n   o   c   k   R   e   s   u   l   t  \r  \t
0001320    l   o   g   B   a   n   d   R   e   c   o   r   d   S   i   z
0001340    e  \r  \t   L   o   w   A   d   r  \r  \t   M   e   a   s   u
0001360    r   e   ;       C   l   o   s   e   M   e   a   s   u   r   e
0001400    ;       T   i   c   k   M   e   a   s   u   r   e   ;       I
0001420    n   i   t   M   e   a   s   u   r   e   ;       m   e   a   s
0001440    u   r   e   T   a   b   l   e  \r  \t   n   B   a   n   d   s
0001460   \r  \t   n   P   a   g   e   s   P   r   i   n   t   e   d  \r
0001500   \t   n   R   e   c   s  \r  \t   n   u   m   M   u   s   t   P
0001520    r   i   n   t  \r  \t   n   u   m   P   r   i   n   t   e   d
0001540   \r  \t   p   r   i   n   t   e   r   F   o   r   w   a   r   d
0001560   \r  \t   r   o   s   1   2  \r  \t   r   o   s   1   3  \r  \t
0001600    s   c   a   n   T   i   c   k   s  \t  \t   /   /       #    
0001620    o   f       3   8       u   s   e   c   .       t   i   c   k
0001640    s       i   n       4       p   r   i   n   t   e   r       s
0001660    c   a   n       l   i   n   e   s   .  \r  \t   s   t   o   p
0001700    s   P   r   i   n   t   i   n   g  \r  \t   x   m   F   o   n
0001720    t   s  \t   /   /       F   o   n   t       d   a   t  \0 006
0001740  020   @ 377   v 037  \0 002   { 035  \0  \0   (      \0  \0   @
0001760   \0  \0 001 336 376  \0  \0  \0  \n 032  \0  \0 366 357 370 366
0002000    a       w   i   l   l       b   e       r   e   a   d       i
0002020    n   t   o       B   a   n   k       1       v   i   a       B
0002040    a   n   k       0   ,       i   f       s   e   t  \r  \t   ]
0002060   \r  \r   /   /       i   n   t   e   r   n   a   l       s   t
0002100    a   t   i   c   s  \r   s   t   a   t   i   c  \r  \t   [  \r
0002120   \t   i   m   a   g   e   T   i   m   e   o   u   t  \r  \t   r
0002140    o   s   C   o   u   n   t       =       0       /   /       P
0002160    i   m   l   i   c   o   /   p   u   f   f   i   n   /   p   e
0002200    n   g   u   i   n       c   o   m   m   a   n   d       c   o
0002220    u   n   t  \r  \t   p   r   i   n   t   S   e   q      \r  \t
0002240    t   w   o   s   i   d   e   d  \r  \t   c   u   r   B   i   n
0002260    ;       n   e   x   t   B   i   n  \r  \t   c   u   r   H   a
0002300    n   d   l   i   n   g   ;       n   e   x   t   H   a   n   d
0002320    l   i   n   g  \r  \t   s   w   i   t   c   h   B   i   n    
0002340    =       f   a   l   s   e  \t   /   /       f   o   r       d
0002360    e   l   a   y   e   d       b   i   n       s   w   i   t   c
0002400    h       i   f       i   n   t   e   r   m   e   d   i   a   t
0002420    e       b   r   e   a   k       p   a   g   e       n   e   e
0002440    d   e   d  \r  \t   n   e   x   t   C   o   p   y  \r  \t   d
0002460    e   b   D   e   l   a   y       =       0       /   /       d
0002500    e   b   u   g   g   i   n   g   :       d   e   l   a   y    
0002520    p   e   r       p   a   g   e       t   o       s   i   m   u
0002540    l   a   t   e       p   r   i   n   t   i   n   g   .      \r
0002560   \t   ]  \r  \r   /   /       F   i   l   e   -   w   i   d   e
0002600        s   t   r   u   c   t   u   r   e       a   n   d       m
0002620    a   n   i   f   e   s   t       d   e   c   l   a   r   a   t
0002640    i   o   n   s   .  \r  \r   m   a   n   i   f   e   s   t    
0002660    [  \r  \t   A   u   x   C   o   u   n   t       =       1   9
0002700   \t  \t   /   /   k   e   e   p       c   o   u   n   t       o
0002720    f       s   h   e   e   t   s       i   n       A   u  \0 006
0002740  020   @ 377   v 037  \0 002   { 035  \0  \0   (      \0  \0   @
0002760   \0  \0 001 336 374  \0  \0  \0  \b 032  \0  \0 366 357 370 366
0003000    x       t   r   a   y       i   n       B   i   n   C   o   u
0003020    n   t   e   r   s   !   1   9  \r  \t   A   u   x   R   e   c
0003040    o   v   e   r   y   C   o   u   n   t       =       2   0    
0003060   \t   /   /   n   u   m   b   e   r       o   f       f   i   r
0003100    s   t       s   i   d   e   s       t   o       b   e       r
0003120    e   p   l   a   c   e   d       i   n       B   i   n   C   o
0003140    u   n   t   e   r   s   !   2   0  \r  \t   s   i   g   b   a
0003160    n   d       =       1   0   0  \r  \t   R   T   C   =   #   4
0003200    3   0  \r  \t   e   T   i   c   k   s       =       4  \t  \t
0003220    /   /   t   i   m   e       t   o       s   p   e   n   d    
0003240    c   h   e   c   k   i   n   g       s   c   a   n   n   i   n
0003260    g  \r  \t   f   I   T   O       =       1   5   *   2   7  \t
0003300   \t   /   /   1   5       s   e   c   o   n   d   s       t   o
0003320        g   e   t       f   i   r   s   t       s   h   e   e   t
0003340        t   h   r   u  \r  \t   r   I   T   O       =       2   *
0003360    2   7  \t  \t   /   /   2       s   e   c   o   n   d   s    
0003400    t   o       g   e   t       s   u   b   s   e   q   u   e   n
0003420    t       s   h   e   e   t   s       t   h   r   u   .  \r  \t
0003440    t   i   m   e   O   u   t   =   1   5   *   2   7           /
0003460    /   t   i   m   e       t   o       w   a   i   t       f   o
0003500    r       s   t   a   n   d   b   y       s   t   a   t   u   s
0003520        t   o       a   p   p   e   a   r  \r  \t   p   r   i   n
0003540    t   H   y   s   t   e   r   e   s   i   s       =       3   0
0003560        /   /       p   r   i   n   t       t   h   i   s       m
0003600    a   n   y       b   e   f   o   r   e       a   l   l   o   w
0003620    i   n   g       s   u   s   p   e   n   s   i   o   n   ,    
0003640    e   a   c   h       t   i   m   e       i   n  \r  \t   d   e
0003660    b   u   g   T   r   a   i   l   S   i   z   e       =       1
0003700    0   *   3  \r  \t   m   i   n   D   o   c   u   m   e   n   t
0003720    E   r   r   o   r       =       3   0   0       /   /  \0 006
0003740  020   @ 377   v 037  \0 002   { 035  \0  \0   (      \0  \0   @
0003760   \0  \0 001 336 372  \0  \0  \0 006 032  \0  \0 366 357 370 366
0004000        D   o   c   u   m   e   n   t       i   n   h   e   r   e
0004020    n   t   l   y       h   a   r   d       t   o       p   r   i
0004040    n   t  \r   /   /       c   o   m   m   a   n   d   s       t
0004060    o       P   e   n   g   u   i   n  \r  \t   p   R   e   s   e
0004100    t   C   o   u   n   t       =       #   6   0   0   0   0  \t
0004120    /   /       6   0   0   0   x   -       r   e   s   e   t    
0004140    y   o   u   r       c   o   u   n   t       o   f       c   o
0004160    m   m   a   n   d   s       r   e   c   e   i   v   e   d    
0004200    f   r   o   m       m   e  \r  \t   p   N   e   w   L   E   D
0004220        =       #   6   2   4   0   0  \t  \t   /   /       6   5
0004240    n   m   x   -       l   a   s   t       2       n   i   b   b
0004260    l   e   s       c   o   n   t   a   i   n       d   e   c   i
0004300    m   a   l       d   i   g   i   t   s  \r  \t   p   S   e   t
0004320    L   E   D       =       #   6   3   0   0   2  \t  \t   /   /
0004340        6   6   0   2   x   -       d   i   s   p   l   a   y    
0004360    l   a   s   t       v   a   l   u   e       s   e   n   t    
0004400    w   i   t   h       p   N   e   w   L   E   D  \r  \t   p   P
0004420    r   i   n   t       =       #   6   3   0   0   1  \t  \t  \t
0004440    /   /       6   6   0   1   x   -       p   r   i   n   t    
0004460    a       p   a   g   e  \r  \t   p   S   S   M   a   i   n    
0004500    =       #   6   3   0   4   0  \t  \t   /   /       6   6   2
0004520    0   x   -       p   a   g   e       i   s       s   i   n   g
0004540    l   e   s   i   d   e   d       f   r   o   m       m   a   i
0004560    n       t   r   a   y  \r  \t   p   S   S   A   u   x       =
0004600        #   6   3   0   4   1  \t  \t   /   /       6   6   2   1
0004620    x   -       p   a   g   e       i   s       s   i   n   g   l
0004640    e   s   i   d   e   d       f   r   o   m       a   u   x   t
0004660    r   a   y  \r  \t   p   T   S   F   i   r   s   t       =    
0004700    #   6   3   0   4   2  \t  \t   /   /       6   6   2   2   x
0004720    -       p   a   g   e       i   s       f   i   r   s  \0 006
0004740  020   @ 377   v 037  \0 002   { 035  \0  \0   (      \0  \0   @
0004760   \0  \0 001 336 370  \0  \0  \0 004 032  \0  \0 366 357 370 366
0005000    t       s   i   d   e       o   f       d   u   p   l   e   x
0005020        (   g   o   e   s       f   r   o   m       m   a   i   n
0005040        t   o       a   u   x   )  \r  \t   p   T   S   S   e   c
0005060    o   n   d       =       #   6   3   0   4   3  \t  \t   /   /
0005100        6   6   2   3   x   -       p   a   g   e       i   s    
0005120    s   e   c   o   n   d       s   i   d   e       o   f       d
0005140    u   p   l   e   x       (   a   u   x       t   o       s   o
0005160    m   e       o   u   t   p   u   t       b   i   n   )  \r  \t
0005200    p   S   e   t   B   i   n       =       #   6   3   1   0   0
0005220   \t  \t   /   /       6   6   4   0   x   -       p   o   s   i
0005240    t   i   o   n       b   i   n   s       (   t   o       b   i
0005260    n       i   n   d   i   c   a   t   e   d       i   n       l
0005300    a   s   t       f   i   v   e       b   i   t   s   )  \r  \t
0005320    p   C   l   e   a   r   M   a   l   f       =       #   6   3
0005340    0   5   0  \t   /   /       6   6   2   8   x   -       m   o
0005360    v   e       m   a   l   f       i   n   d   i   c   a   t   i
0005400    o   n       t   o           s   t   a   t   u   s  \r  \t   p
0005420    I   g   T   S   C   E   r   r       =       #   6   3   0   0
0005440    4  \t  \t   /   /       6   0   0   4   x   -       i   g   n
0005460    o   r   e       t   s   c       e   r   r   o   r       i   n
0005500    d   i   c   a   t   i   o   n  \r   /   /       p   r   i   n
0005520    t   S   e   q       v   a   l   u   e   s   :  \r  \t   w   a
0005540    r   m   u   p       =       1  \r  \t   s   t   a   n   d   b
0005560    y       =       2  \r  \t   p   r   e   p   r   i   n   t    
0005600    =       3  \r  \t   p   r   i   n   t   i   n   g       =    
0005620    4  \r  \t   c   y   c   l   e   d   o   w   n       =       5
0005640   \r  \t   m   a   l   f   C   l   e   a   r       =       6  \r
0005660   \t   m   a   i   n   S   e   q   E   r   r       =       1   0
0005700    7  \r  \t   s   u   b   S   e   q   E   r   r       =       1
0005720    0   6  \r  \t   a   b   n   o   r   m   a   l       =  \0 006
0005740  020   @ 377   v 037  \0 002   { 035  \0  \0   (      \0  \0   @
0005760   \0  \0 001 336 366  \0  \0  \0 002 032  \0  \0 366 357 370 366
0006000        1   1   3  \r  \t   p   o   w   e   r   O   n       =    
0006020    1   2   3  \r  \t  \t   ]  \r  \r  \r   /   /       -   -   -
0006040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006120    -   -   -   -   -   -   -   -  \r   /   /       P   r   i   n
0006140    t  \t  \t   I   n   i   t   i   a   l   i   z   a   t   i   o
0006160    n  \r   /   /       -   -   -   -   -   -   -   -   -   -   -
0006200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006260   \r  \r   /   /       R   e   t   u   r   n   s       -   1    
0006300    i   f       p   r   i   n   t   i   n   g       i   s       s
0006320    u   c   c   e   s   s   f   u   l   l   y       c   o   m   p
0006340    l   e   t   e   d   ,       e   l   s   e       n   P   a   g
0006360    e   s   P   r   i   n   t   e   d   ,       s   o       c   a
0006400    n       p   i   c   k       u   p       w   h   e   r   e    
0006420    w   e       l   e   f   t       o   f   f   .  \r  \r   l   e
0006440    t       D   r   i   v   e   P   r   i   n   t   e   r   (   p
0006460    D   o   c   ,       n   P   a   g   e   s   A   l   r   e   a
0006500    d   y   P   r   i   n   t   e   d   ,   l   v   F   a   i   l
0006520    u   r   e   C   o   d   e   )       =       v   a   l   o   f
0006540   \r   [  \r  \t   l   e   t       m   e   a   s   u   r   e   V
0006560    e   c       =       v   e   c       5  \r  \t   i   f       (
0006600    D   e   b   u   g   S   y   s   t   e   m       &       #   4
0006620    0   0   0   )       n   e       0       t   h   e   n       C
0006640    a   l   l   S   w   a   t   (   "   D   r   i   v   e   P   r
0006660    i   n   t   e   r   "   )  \r  \t   u   n   l   e   s   s    
0006700    n   P   a   g   e   s   A   l   r   e   a   d  \0 006 020   @
0006720  377   v 037  \0 002   { 035  \0  \0   (  \0  \a 020   @ 377   v
0006740  037  \0 002   { 035  \0  \0   (   & 001  \0 032      \0  \0   @
0006760   \0  \0 001 314 364  \0  \0  \0  \n 262  \0  \0 365 346 370 366
0007000    y   P   r   i   n   t   e   d       t   h   e   n       B   i
0007020    n   C   o   u   n   t   e   r   s   !   A   u   x   C   o   u
0007040    n   t       =       0           /   /       i   f       n   o
0007060        p   a   g   e   s       p   r   i   n   t   e   d   ,    
0007100    s   h   o   u   l   d   n   '   t       b   e       p   a   p
0007120    e   r       i   n       a   u   x       t   r   a   y  \r  \t
0007140    l   e   t       C   o   m   m   T   a   b   =   v   e   c    
0007160    8          \r  \t   C   o   m   m   T   a   b   =   (   C   o
0007200    m   m   T   a   b   +   1   )   &   (   -   2   )  \r  \r  \t
0007220    l   e   t       k   n   o   c   k   K   n   o   c   k       =
0007240        f   a   l   s   e  \t  \t   /   /       t   i   m   e    
0007260    t   o       l   e   t       s   o   m   e   b   o   d   y    
0007300    i   n       i   f       t   r   u   e  \r  \t   t   w   o   s
0007320    i   d   e   d       =       p   D   o   c   >   >   D   o   c
0007340    G   .   d   u   p   l   e   x       n   e       0  \r  \t   c
0007360    u   r   B   i   n       =       0  \r  \t   l   e   t       o
0007400    v   e   r   f   l   o   w   B   i   n       =       0  \t  \t
0007420    /   /       u   s   u   a   l   l   y       i   s       .    
0007440    .       .  \r  \t   t   e   s   t       (   C   a   p   a   b
0007460    i   l   i   t   i   e   s       &       m   M   a   i   l   b
0007500    o   x   )       n   e       0  \r  \t   i   f   s   o  \r  \t
0007520   \t   [  \r  \t  \t   u   n   l   e   s   s       B   i   n   C
0007540    o   u   n   t   e   r   s   !   0       >       5   0       d
0007560    o           /   /       c   a   n   '   t       m   o   v   e
0007600        t   r   a   y   s          \r  \t  \t  \t   [           /
0007620    /   f   i   n   d       t   h   e       b   i   n       w   e
0007640        w   o   u   l   d       l   i   k   e       i   t       t
0007660    o       g   o       i   n  \r  \t  \t  \t   l   e   t       m
0007700    t   r   a   y       =       s   e   l   e   c   t   o   n    
0007720    (   l   v       p   D   o   c   >   >   D   o  \0  \a 020   @
0007740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0007760   \0  \0 001 334 376 032  \0  \0  \b 262  \0  \0 366 356 370 366
0010000    c   G   .   C   r   e   a   t   S   t   r   )   >   >   S   T
0010020    R   .   c   h   a   r   ^   1       i   n   t   o  \r  \t  \t
0010040   \t  \t   [  \r  \t  \t  \t  \t   c   a   s   e       $   A   :
0010060        c   a   s   e       $   a   :       1   8  \r  \t  \t  \t
0010100   \t   c   a   s   e       $   B   :       c   a   s   e       $
0010120    b   :       1   7  \r  \t  \t  \t  \t   c   a   s   e       $
0010140    C   :       c   a   s   e       $   c   :       1   6  \r  \t
0010160   \t  \t  \t   c   a   s   e       $   D   :       c   a   s   e
0010200        $   d   :       1   5  \r  \t  \t  \t  \t   c   a   s   e
0010220        $   E   :       c   a   s   e       $   e   :       1   4
0010240   \r  \t  \t  \t  \t   c   a   s   e       $   F   :       c   a
0010260    s   e       $   f   :       1   3  \r  \t  \t  \t  \t   c   a
0010300    s   e       $   G   :       c   a   s   e       $   g   :    
0010320    1   2  \r  \t  \t  \t  \t   c   a   s   e       $   H   :    
0010340    c   a   s   e       $   I   :       c   a   s   e       $   h
0010360    :       c   a   s   e       $   i   :       1   1  \r  \t  \t
0010400   \t  \t   c   a   s   e       $   J   :       c   a   s   e    
0010420    $   K   :       c   a   s   e       $   j   :       c   a   s
0010440    e       $   k   :       1   0  \r  \t  \t  \t  \t   c   a   s
0010460    e       $   L   :       c   a   s   e       $   l   :       9
0010500   \r  \t  \t  \t  \t   c   a   s   e       $   M   :       c   a
0010520    s   e       $   m   :       8  \r  \t  \t  \t  \t   c   a   s
0010540    e       $   N   :       c   a   s   e       $   O   :       c
0010560    a   s   e       $   n   :       c   a   s   e       $   o   :
0010600        7  \r  \t  \t  \t  \t   c   a   s   e       $   P   :    
0010620    c   a   s   e       $   Q   :       c   a   s   e       $   p
0010640    :       c   a   s   e       $   q   :       6  \r  \t  \t  \t
0010660   \t   c   a   s   e       $   R   :       c   a   s   e       $
0010700    r   :       5  \r  \t  \t  \t  \t   c   a   s   e       $   S
0010720    :       c   a   s   e       $   s   :       4  \0  \a 020   @
0010740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0010760   \0  \0 001 334 374 032  \0  \0 006 262  \0  \0 366 356 370 366
0011000   \r  \t  \t  \t  \t   c   a   s   e       $   T   :       c   a
0011020    s   e       $   U   :       c   a   s   e       $   V   :    
0011040    c   a   s   e       $   t   :       c   a   s   e       $   u
0011060    :       c   a   s   e       $   v   :       3  \r  \t  \t  \t
0011100   \t   c   a   s   e       $   W   :       c   a   s   e       $
0011120    w   :       2  \r  \t  \t  \t  \t   c   a   s   e       $   X
0011140    :       c   a   s   e       $   Y   :       c   a   s   e    
0011160    $   Z   :       c   a   s   e       $   x   :       c   a   s
0011200    e       $   y   :       c   a   s   e       $   z   :       1
0011220   \r  \t  \t  \t  \t   d   e   f   a   u   l   t   :       0  \r
0011240   \t  \t  \t  \t   ]  \r  \t  \t  \t   i   f       B   i   n   C
0011260    o   u   n   t   e   r   s   !   m   t   r   a   y       <   5
0011300    0       d   o       c   u   r   B   i   n       =       m   t
0011320    r   a   y           /   /       i   f       t   h   e   r   e
0011340        i   s       r   o   o   m  \r  \t  \t  \t   ]  \r  \t  \t
0011360    ]  \r  \t   i   f   n   o   t  \r  \t  \t   [  \r  \t  \t   i
0011400    f       (   C   a   p   a   b   i   l   i   t   i   e   s    
0011420    &       m   M   u   l   t   i   B   i   n   )       n   e    
0011440    0       d   o           /   /   f   i   l   l   i   n   g    
0011460    b   i   n   s       f   r   o   m       b   o   t   t   o   m
0011500        u   p       -       f   i   n   d       1   s   t       n
0011520    o   n   f   u   l   l      \r  \t  \t  \t   [       u   n   t
0011540    i   l           (   B   i   n   C   o   u   n   t   e   r   s
0011560    !   (   c   u   r   B   i   n   )       <       5   0   )    
0011600    %       (   c   u   r   B   i   n       e   q       1   8   )
0011620        d   o  \r  \t  \t  \t  \t       [       c   u   r   B   i
0011640    n       =       c   u   r   B   i   n       +       1       ]
0011660   \r  \t  \t  \t   o   v   e   r   f   l   o   w   B   i   n    
0011700    =       1   8      \r  \t  \t  \t   ]  \r  \t  \t   ]  \r  \t
0011720    l   e   t       b   i   n   M   a   x       =  \0  \a 020   @
0011740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0011760   \0  \0 001 334 372 032  \0  \0 004 262  \0  \0 366 356 370 366
0012000        (   c   u   r   B   i   n       e   q       o   v   e   r
0012020    f   l   o   w   B   i   n   )   ?       2   0   0   ,       5
0012040    0  \r  \r  \t   I   n   i   t   i   a   l   i   z   e   H   a
0012060    r   d   w   a   r   e   (   )  \r  \t   I   n   i   t   M   e
0012100    a   s   u   r   e   (   m   e   a   s   u   r   e   T   a   b
0012120    l   e   ,       2   0   0   0   ,       m   e   a   s   u   r
0012140    e   V   e   c   )  \r  \t   l   e   t       b   a   c   k   u
0012160    p       =       0  \r  \t   l   e   t       x   p   o   r   t
0012200    M   o   d   e   l       =       0  \r  \t   @   l   v   F   a
0012220    i   l   u   r   e   C   o   d   e       =           (   R   O
0012240    S   C   o   m   m   a   n   d   (   p   R   e   s   e   t   C
0012260    o   u   n   t   )       %       R   O   S   C   o   m   m   a
0012300    n   d   (   p   I   g   T   S   C   E   r   r   )   )   ?    
0012320    1   2   1   ,       0  \r  \t   @   l   v   F   a   i   l   u
0012340    r   e   C   o   d   e       =       R   O   S   C   h   e   c
0012360    k   (   )  \r  \t   i   f       @   l   v   F   a   i   l   u
0012400    r   e   C   o   d   e       r   e   s   u   l   t   i   s    
0012420    S   e   t   u   p   R   e   c   o   v   e   r   y   (   p   D
0012440    o   c   ,       l   v   F   a   i   l   u   r   e   C   o   d
0012460    e   ,       l   v       x   p   o   r   t   M   o   d   e   l
0012500    ,       n   P   a   g   e   s   A   l   r   e   a   d   y   P
0012520    r   i   n   t   e   d   )  \r  \t   l   e   t           n   e
0012540    e   d   F   o   n   t   s   ,       n   e   e   d   I   n   i
0012560    t       =   t   r   u   e   ,       t   r   u   e  \r  \t   l
0012600    e   t           F   o   n   t   T   a   b   l   e   ,       n
0012620    f   R   e   c   s   ,       L   e   f   t   O   v   e   r   ,
0012640        L   e   f   t   O   v   e   r   G   u   a   r   d       =
0012660            n   i   l   ,       n   i   l   ,       n   i   l   ,
0012700        n   i   l  \r  \t   l   e   t       b   u   f       =    
0012720    n   i   l  \r  \t   l   e   t           t   i  \0  \a 020   @
0012740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0012760   \0  \0 001 334 370 032  \0  \0 002 262  \0  \0 366 356 370 366
0013000    m       =           n   i   l  \r  \t   i   m   a   g   e   T
0013020    i   m   e   o   u   t       =       f   I   T   O           /
0013040    /   a   l   l   o   w       p   e   n   g   u   i   n       t
0013060    o       g   e   t       r   e   a   d   y  \r  \t   i   f    
0013100    B   i   n   C   o   u   n   t   e   r   s   !   A   u   x   R
0013120    e   c   o   v   e   r   y   C   o   u   n   t       d   o    
0013140    n   P   a   g   e   s   P   r   i   n   t   e   d       =    
0013160    B   i   n   C   o   u   n   t   e   r   s   !   A   u   x   C
0013200    o   u   n   t  \r  \t   l   e   t       n   e   x   t   P   a
0013220    g   e   =   N   e   x   t   S   h   e   e   t   (   p   D   o
0013240    c   ,       n   P   a   g   e   s   P   r   i   n   t   e   d
0013260    )  \r   /   /       P   r   i   n   t       (   c   o   n   t
0013300    .   )  \t  \t       L   o   o   p  \r  \r   [   P   r   i   n
0013320    t   L   o   o   p  \r  \t   /   /       F   i   n   d       o
0013340    u   t       w   h   i   c   h       p   a   g   e       t   o
0013360        p   r   i   n   t       n   e   x   t   :  \r  \t   l   e
0013400    t       p   a   g   e   =   n   e   x   t   P   a   g   e  \r
0013420   \t   i   f       p   a   g   e       e   q       0       t   h
0013440    e   n       [       k   n   o   c   k   K   n   o   c   k    
0013460    =       f   a   l   s   e   ;       b   r   e   a   k       ]
0013500        /   /       F   i   n   i   s   h   e   d   !  \r  \t   i
0013520    f       k   n   o   c   k   K   n   o   c   k       t   h   e
0013540    n       b   r   e   a   k       /   /       g   o       l   e
0013560    t       s   o   m   e   b   o   d   y       i   n  \r  \r  \t
0013600    i   f       n   e   e   d   F   o   n   t   s       d   o  \t
0013620    /   /       R   e   a   d       i   n       f   o   n   t    
0013640    a   n   d       r   e   l   o   c   a   t   e       t   h   e
0013660        p   o   i   n   t   e   r   s       t   o       c   h   a
0013700    r   a   c   t   e   r   s   :  \r  \t  \t   [  \r  \t  \t   l
0013720    e   t       f   o   n   t   =   p   a  \0  \a 020   @ 377   v
0013740  037  \0 002   { 035  \0  \0   (   & 001  \0 262      \0  \0   @
0013760   \0  \0 001 332 366 032  \0  \0  \v   R  \0  \0 365 355 370 366
0014000    g   e   >   >   P   a   g   e   G   .   f   o   n   t   L   o
0014020    a   d   *   (   s   i   z   e       F   o   n   t   G   /   1
0014040    6   )   +   p   D   o   c   >   >   D   o   c   G   .   F   o
0014060    n   t   s  \r  \t  \t   F   o   n   t   T   a   b   l   e    
0014100    =       R   e   a   d   F   o   n   t   (   f   o   n   t   ,
0014120        L   o   w   A   d   r   ,       n   R   e   c   s   )  \t
0014140    /   /           c   a   l   l       r   e   t   u   r   n   s
0014160        l   o   c   a   t   i   o   n       o   f       I   C   C
0014200        t   a   b   l   e  \r  \t  \t   u   n   l   e   s   s    
0014220    x   m   F   o   n   t   s       d   o       f   o   r       i
0014240    =   0       t   o       p   D   o   c   >   >   D   o   c   G
0014260    .   I   C   C   t   o   t   a   l   -   1       d   o       /
0014300    /       i   f       r   a   s   t   e   r   s       a   r   e
0014320        i   n       b   a   n   k       1   ,       t   h   e   y
0014340        s   t   a   r   t       a   t       0  \r  \t  \t  \t   F
0014360    o   n   t   T   a   b   l   e   !   i   =   F   o   n   t   T
0014400    a   b   l   e   !   i       +       L   o   w   A   d   r  \r
0014420   \t  \t   F   o   n   t   T   a   b   l   e   =   F   o   n   t
0014440    T   a   b   l   e   -   1   0   0   0   0   0   b  \r  \r  \t
0014460   \t   /   /       F   i   g   u   r   e       o   u   t       w
0014500    h   e   r   e       b   u   f   f   e   r   s       a   r   e
0014520    .  \r  \t  \t   l   e   t       n   R   e   c   o   r   d   s
0014540    =       x   m   F   o   n   t   s   ?       (   p   D   o   c
0014560    >   >   D   o   c   G   .   I   C   C   t   o   t   a   l   +
0014600    b   a   n   d   R   e   c   o   r   d   S   i   z   e   -   1
0014620    )       r   s   h   i   f   t       l   o   g   B   a   n   d
0014640    R   e   c   o   r   d   S   i   z   e   ,  \r  \t  \t  \t  \t
0014660    f   o   n   t   >   >   F   o   n   t   G   .   n   R   e   c
0014700    o   r   d   s  \r  \t  \t   n   f   R   e   c   s   =   n   R
0014720    e   c   s   -   n   R   e   c   o   r   d   s  \0  \a 020   @
0014740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0014760   \0  \0 001 334 376 262  \0  \0  \t   R  \0  \0 366 356 370 366
0015000        /   /       m   a   x       a   l   l   o   w   a   b   l
0015020    e       b   a   n   d       l   i   s   t       s   i   z   e
0015040       \r  \t  \t   L   e   f   t   O   v   e   r   =   L   o   w
0015060    A   d   r   +   (   f   o   n   t   >   >   F   o   n   t   G
0015100    .   n   R   e   c   o   r   d   s       l   s   h   i   f   t
0015120        l   o   g   B   a   n   d   R   e   c   o   r   d   S   i
0015140    z   e   )  \r  \t  \t   L   e   f   t   O   v   e   r   G   u
0015160    a   r   d       =       L   e   f   t   O   v   e   r   +   (
0015200    l   o   S   i   z   e   &   (   -   4   )   )   -   4  \r  \t
0015220   \t   b   u   f       =       (   L   e   f   t   O   v   e   r
0015240    +   l   o   S   i   z   e   +   8   )   &   (   -   2   )    
0015260    /   /       ~   ~       a   l   l       t   h   e       4   '
0015300    s   ,       8   '   s       a   n   d       1   0   '   s    
0015320    i   n       h   e   r   e       a   r   e       c   o   w   a
0015340    r   d   l   y       s   l   a   c   k  \r  \t  \t   n   e   e
0015360    d   F   o   n   t   s       =       f   a   l   s   e  \r  \t
0015400   \t   ]  \r  \r  \t   /   /       N   o   w       r   e   a   d
0015420        i   n       t   h   e       b   a   n   d   s       f   o
0015440    r       t   h   i   s       p   a   g   e  \r  \t   R   e   a
0015460    d   B   a   n   d   s   (   p   a   g   e   ,       b   u   f
0015500    ,       n   f   R   e   c   s   ,       n   B   a   n   d   s
0015520    )  \r  \r  \t   i   f       n   e   e   d   I   n   i   t    
0015540        d   o          \t   /   /       i   f       t   h   i   s
0015560        i   s       t   h   e       f   i   r   s   t       t   i
0015600    m   e       t   h   r   u       o   r       p   a   p   e   r
0015620        h   a   n   d   l   i   n   g       c   h   a   n   g   e
0015640    d  \r  \t  \t   [  \r  \t  \t   i   f       s   t   o   p   s
0015660    P   r   i   n   t   i   n   g       e   q       b   i   n   F
0015700    u   l   l       t   h   e   n       [       @   l   v   F   a
0015720    i   l   u   r   e   C   o   d   e       =      \0  \a 020   @
0015740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0015760   \0  \0 001 334 374 262  \0  \0  \a   R  \0  \0 366 356 370 366
0016000    1   3   0   ;       b   r   e   a   k       ]  \r  \t  \t   /
0016020    /       I   n   i   t   i   a   l   i   z   e       t   h   e
0016040        O   r   b   i   t   ,           e   t   c   .  \r  \t  \t
0016060    I   n   i   t   i   a   l   i   z   e   H   a   r   d   w   a
0016100    r   e   (   )  \r  \t  \t   /   /       w   a   i   t       f
0016120    o   r       r   e   a   d   y       o   r       s   o   m   e
0016140        s   e   r   i   o   u   s       c   o   n   d   i   t   i
0016160    o   n       o   r       f   o   r       l   o   n   g       e
0016200    n   o   u   g   h  \r  \t  \t   t   i   m       =       @   R
0016220    T   C  \r  \t  \t   u   n   l   e   s   s       D   e   b   u
0016240    g       d   o  \r  \t  \t  \t   [  \r  \t  \t  \t   l   e   t
0016260        x       =       R   O   S   C   h   e   c   k   (   s   t
0016300    a   n   d   b   y   )  \r  \t  \t  \t   u   n   l   e   s   s
0016320        x       t   h   e   n       b   r   e   a   k       /   /
0016340        r   e   a   d   y  \r  \t  \t  \t   i   f       x       >
0016360        0       t   h   e   n       r   e   s   u   l   t   i   s
0016400        S   e   t   u   p   R   e   c   o   v   e   r   y   (   p
0016420    D   o   c   ,       l   v   F   a   i   l   u   r   e   C   o
0016440    d   e   ,       l   v       x   p   o   r   t   M   o   d   e
0016460    l   ,       n   P   a   g   e   s   P   r   i   n   t   e   d
0016500    ,       x   )      \r  \t  \t  \t   /   /   r   e   s   u   l
0016520    t       w   a   s       -   1   :           n   o   t       r
0016540    e   a   d   y       y   e   t   ,       b   u   t       m   a
0016560    y       b   e       s   o   o   n   .           H   a   v   e
0016600        w   e       w   a   i   t   e   d       l   o   n   g    
0016620    e   n   o   u   g   h   ?  \r  \t  \t  \t   i   f       (   @
0016640    R   T   C       -       t   i   m   )       >       t   i   m
0016660    e   O   u   t       r   e   s   u   l   t   i   s       S   e
0016700    t   u   p   R   e   c   o   v   e   r   y   (   p   D   o   c
0016720    ,       l   v   F   a   i   l   u   r   e   C  \0  \a 020   @
0016740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0016760   \0  \0 001 334 372 262  \0  \0 005   R  \0  \0 366 356 370 366
0017000    o   d   e   ,       l   v       x   p   o   r   t   M   o   d
0017020    e   l   ,       n   P   a   g   e   s   P   r   i   n   t   e
0017040    d   ,       1   2   0   )  \r  \t  \t  \t   ]       r   e   p
0017060    e   a   t  \r  \r  \r  \t  \t   x   p   o   r   t   M   o   d
0017100    e   l       =       0  \t  \t   /   /       p   a   p   e   r
0017120        c   l   e   a   r   e   d       f   r   o   m       t   r
0017140    a   n   s   p   o   r   t       m   e   c   h   a   n   i   s
0017160    m  \r  \t  \t   /   /       t   e   l   l       p   e   n   g
0017200    u   i   n       t   o       p   r   i   n   t       a       p
0017220    a   g   e       a   n   d       h   o   w       t   o       h
0017240    a   n   d   l   e       t   h   e       p   a   p   e   r  \r
0017260   \t  \t   c   u   r   H   a   n   d   l   i   n   g       =    
0017300    n   e   x   t   H   a   n   d   l   i   n   g  \r  \t  \t   l
0017320    e   t       b   i   n       =       n   e   x   t   B   i   n
0017340   \r  \t  \t   t   e   s   t       (   n   e   x   t   B   i   n
0017360        e   q       o   v   e   r   f   l   o   w   B   i   n   )
0017400        &       (   c   u   r   B   i   n       n   e       o   v
0017420    e   r   f   l   o   w   B   i   n   )       t   h   e   n  \t
0017440    /   /       s   w   i   t   c   h   i   n   g       t   o    
0017460    o   v   e   r   f   l   o   w       b   i   n   :           d
0017500    o       b   r   e   a   k       p   a   g   e  \r  \t  \t  \t
0017520    [       n   P   a   g   e   s   P   r   i   n   t   e   d    
0017540    =       n   P   a   g   e   s   P   r   i   n   t   e   d    
0017560    -       1   ;       b   i   n   M   a   x       =       2   0
0017600    0   ;       b   i   n       =       c   u   r   B   i   n   ;
0017620    s   w   i   t   c   h   B   i   n       =       t   r   u   e
0017640        ]  \r  \t  \t  \t   o   r       [       s   w   i   t   c
0017660    h   B   i   n       =       f   a   l   s   e       ]  \r  \t
0017700   \t   i   f       R   O   S   C   o   m   m   a   n   d   (   p
0017720    S   e   t   B   i   n       +       2   +   b  \0  \a 020   @
0017740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0017760   \0  \0 001 334 370 262  \0  \0 003   R  \0  \0 366 356 370 366
0020000    i   n   )       %           R   O   S   C   o   m   m   a   n
0020020    d   (   c   u   r   H   a   n   d   l   i   n   g   )       %
0020040        R   O   S   C   o   m   m   a   n   d   (   p   P   r   i
0020060    n   t   )       d   o  \r  \t  \t  \t   [       @   l   v   F
0020100    a   i   l   u   r   e   C   o   d   e       =       1   2   2
0020120    ;       b   r   e   a   k       ]  \r  \r  \t  \t   c   u   r
0020140    B   i   n       =       n   e   x   t   B   i   n  \r  \r  \t
0020160   \t   /   /       T   r   y       t   o       e   m   p   t   y
0020200        O   r   b   i   t       b   u   f   f   e   r   s       t
0020220    o       c   l   e   a   r       t   h   e   m   .           T
0020240    h   i   s       i   s       t   o       m   i   n   i   m   i
0020260    z   e       t   o   n   e   r       d   u   m   p   i   n   g
0020300        o   n       f   i   r   s   t       (   b   l   a   n   k
0020320    )       p   a   g   e   .  \r  \t  \t   c   o   m   p   i   l
0020340    e   i   f       l   o   S   i   z   e       l   s       2   5
0020360    6       t   h   e   n       [       f   o   o   =   n   i   l
0020400        ]  \r  \t  \t   f   o   r       i   =   0       t   o    
0020420    3   1       d   o       D   o   F   u   n   c   (   f   R   e
0020440    a   d   B   l   o   c   k   ,       2   5   6   ,       L   e
0020460    f   t   O   v   e   r   )  \r  \r  \t  \t   n   e   e   d   I
0020500    n   i   t       =       f   a   l   s   e  \r  \t  \t   ]  \r
0020520   \r  \r   /   /       -   -   -   -   -   -   -   -   -   -   -
0020540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020620   \r   /   /       P   r   i   n   t  \t  \t   r   e   a   l    
0020640    p   r   i   n   t   i   n   g       f   u   n   c   t   i   o
0020660    n  \r   /   /       -   -   -   -   -   -   -   -   -   -   -
0020700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0020720    -   -   -   -   -   -   -   -   -   -  \0  \a 020   @ 377   v
0020740  037  \0 002   { 035  \0  \0   (   & 001 001   R      \0  \0   @
0020760   \0  \0 001 332 366 262  \0  \0 026   B  \0  \0 365 355 370 366
0021000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0021020    -   -   -   -   -   -  \r  \r  \t   /   /       f   i   r   s
0021040    t   ,       s   e   t       u   p       t   o       d   i   s
0021060    p   l   a   y       p   a   g   e       n   u   m   b   e   r
0021100        w   e   '   r   e       p   r   i   n   t   i   n   g    
0021120    o   n       p   e   n   g   u   i   n   '   s       l   e   d
0021140   \r  \t   n   P   a   g   e   s   P   r   i   n   t   e   d   =
0021160    n   P   a   g   e   s   P   r   i   n   t   e   d   +   1  \r
0021200   \t   l   e   t           m   ,   n       =       n   i   l   ,
0021220        n   i   l  \r  \t   m   ,       n   ,       m       =    
0021240    n   P   a   g   e   s   P   r   i   n   t   e   d       r   e
0021260    m       1   0   0   ,       m       r   e   m       1   0   ,
0021300        (   m   /   1   0   )       l   s   h   i   f   t       4
0021320   \r  \r  \t   /   /   a   n   d       b   u   i   l   d       t
0021340    a   b   l   e       s   o       o   r   b   i   t       w   i
0021360    l   l       s   e   n   d       t   h   e   m       t   h   r
0021400    u       d   u   r   i   n   g       p   a   g   e       i   m
0021420    a   g   i   n   g  \r  \t   C   o   m   m   T   a   b   !   0
0021440        =           1   8   0  \t  \t  \t  \r  \t   C   o   m   m
0021460    T   a   b   !   1       =       #   6   2   4   0   0       +
0021500        m       +   n  \t  \t   /   /   s   e   t       u   p    
0021520    l   e   d   s       a   n   d  \r  \t   C   o   m   m   T   a
0021540    b   !   2       =       1   5   0  \r  \t   C   o   m   m   T
0021560    a   b   !   3       =       #   6   3   0   0   2  \t  \t   /
0021600    /   d   i   s   p   l   a   y   '   e   m  \r  \t   C   o   m
0021620    m   T   a   b   !   4       =       -   1  \t  \t  \t   /   /
0021640        t   h   i   s       w   i   l   l       b   e       s   e
0021660    t       t   o       a   n       a   p   p   r   o   p   r   i
0021700    a   t   e       b   a   n   d       n   u   m   b   e   r    
0021720    i   f       t   h   e   r   e       i   s      \0  \a 020   @
0021740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0021760   \0  \0 001 334 377   R  \0  \0 024   B  \0  \0 366 356 370 366
0022000    a   n   o   t   h   e   r       p   a   g   e  \r  \t   C   o
0022020    m   m   T   a   b   !   5       =       #   6   3   0   0   1
0022040   \t  \t   /   /   c   o   m   m   a   n   d       t   o       p
0022060    r   i   n   t       a   n   o   t   h   e   r       p   a   g
0022100    e  \r  \t   C   o   m   m   T   a   b   !   6       =       -
0022120    1  \t  \t  \r  \r  \t   /   /       S   t   a   r   t       O
0022140    r   b   i   t       w   o   r   k   i   n   g       o   n    
0022160    t   h   e       p   r   e   s   e   n   t       p   a   g   e
0022200    .  \r  \t   D   o   F   u   n   c   (   f   C   o   n   t   r
0022220    o   l   ,       #   2   1   )  \t  \t   /   /   R   e   s   e
0022240    t   ,       c   l   e   a   r       b   e   h   i   n   d  \r
0022260   \t   D   o   F   u   n   c   (   f   R   O   S   C   o   m   m
0022300    a   n   d   ,       a   d   B   u   f   f   e   r   R   e   s
0022320    e   t   )  \r  \r  \t   L   e   f   t   O   v   e   r   !   0
0022340    =   0  \t  \t  \t   /   /   I   n   i   t   i   a   l   i   z
0022360    e       L   e   f   t   O   v   e   r       t   a   b   l   e
0022400   \r  \t   L   e   f   t   O   v   e   r   G   u   a   r   d   !
0022420    1   =   -   1  \r  \t   t   i   m   =   @   R   T   C  \r  \r
0022440   \t   /   /       S   t   a   r   t       t   h   e       m   i
0022460    c   r   o   c   o   d   e   !   !   !   !  \r  \t   D   o   F
0022500    u   n   c   (   f   S   l   o   t   ,       C   o   m   m   T
0022520    a   b   ,       2   0   0   0   0   ,       n   B   a   n   d
0022540    s   -   1   ,       F   A   v   a   l   u   e   ,       L   e
0022560    f   t   O   v   e   r   ,  \r  \t  \t  \t   F   o   n   t   T
0022600    a   b   l   e   ,       b   u   f   -   1   ,       n   i   l
0022620    ,       n   i   l   ,       (   n   e   x   t   C   o   p   y
0022640        l   s   h   i   f   t       5   )   +   4   )  \r  \t   i
0022660    f       D   e   b   u   g       t   h   e   n       [       w
0022700    h   i   l   e       (   @   R   T   C   -   t   i   m   )    
0022720    <       d   e   b   D   e   l   a   y       l  \0  \a 020   @
0022740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0022760   \0  \0 001 334 375   R  \0  \0 022   B  \0  \0 366 356 370 366
0023000    o   o   p   ;       t   i   m       =       @   R   T   C    
0023020    ]       /   /       ~   ~   d   e   l   a   y  \r  \t  \r   /
0023040    /       A   s   s   u   m   e       t   h   e       p   a   g
0023060    e       w   e       a   r   e       p   r   i   n   t   i   n
0023100    g       w   i   l   l       b   e       O   K       a   n   d
0023120        p   r   e   p   a   r   e       f   o   r       w   h   a
0023140    t   e   v   e   r       c   o   m   e   s       n   e   x   t
0023160    :  \r  \r  \t   r   o   s   C   o   u   n   t       =       r
0023200    o   s   C   o   u   n   t       +       2  \t  \t   /   /    
0023220    f   o   r       t   h   e       l   e   d       s   e   t   t
0023240    i   n   g       c   o   m   m   a   n   d   s  \r  \t   C   u
0023260    r   s   o   r   D   i   g   i   t   (   n   P   a   g   e   s
0023300    P   r   i   n   t   e   d   )  \r  \r  \t   /   /       S   e
0023320    e       w   h   o   '   s       (   m   a   y   b   e   )    
0023340    k   n   o   c   k   i   n   g       a   t       m   y       d
0023360    o   o   r   :       i   f       w   e       a   r   e       n
0023400    o   t       p   l   a   n   n   i   n   g       t   o       d
0023420    e   f   e   r       t   o       s   p   o   o   l   e   r   ,
0023440   \r  \t   /   /           d   o   n   '   t       t   r   o   u
0023460    b   l   e       t   o       s   h   u   t       d   o   w   n
0023500        h   e   r   e   ,       j   u   s   t       t   o       f
0023520    i   n   d       t   h   a   t       o   u   t       t   h   e
0023540    r   e   .       W   o   u   l   d       b   e       t   o   o
0023560        e   x   p   e   n   s   i   v   e  \r  \t   i   f       (
0023600    D   e   b   u   g   S   y   s   t   e   m   &   #   3   0   )
0023620        e   q       0       &       n   u   m   P   r   i   n   t
0023640    e   d       g   e       n   u   m   M   u   s   t   P   r   i
0023660    n   t       &       k   n   o   c   k   R   e   s   u   l   t
0023700        &  \r  \t  \t   (   n   P   a   g   e   s   P   r   i   n
0023720    t   e   d   -   n   P   a   g   e   s   A   l  \0  \a 020   @
0023740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0023760   \0  \0 001 334 373   R  \0  \0 020   B  \0  \0 366 356 370 366
0024000    r   e   a   d   y   P   r   i   n   t   e   d   )       >    
0024020    p   r   i   n   t   H   y   s   t   e   r   e   s   i   s    
0024040   \r  \t       t   h   e   n       k   n   o   c   k   K   n   o
0024060    c   k       =       t   r   u   e  \r  \r  \t   /   /       F
0024100    i   n   d       n   e   x   t       p   a   g   e       t   o
0024120        w   o   r   k       o   n   :  \r  \t   n   e   x   t   P
0024140    a   g   e   =   N   e   x   t   S   h   e   e   t   (   p   D
0024160    o   c   ,       n   P   a   g   e   s   P   r   i   n   t   e
0024200    d   )  \r  \r  \t   n   e   e   d   I   n   i   t       =    
0024220    t   r   u   e  \r  \t   i   f       (   n   o   t       k   n
0024240    o   c   k   K   n   o   c   k   )       &       n   e   x   t
0024260    P   a   g   e       &               /   /   i   f       n   o
0024300    b   o   d   y       w   a   i   t   i   n   g       a   n   d
0024320        t   h   e   r   e       i   s       m   o   r   e       t
0024340    o       d   o  \r  \t  \t   (   n   e   x   t   B   i   n    
0024360    e   q       c   u   r   B   i   n       )       &       (   n
0024400    e   x   t   H   a   n   d   l   i   n   g       e   q       c
0024420    u   r   H   a   n   d   l   i   n   g       )       &        
0024440        /   /       a   n   d       p   e   n   g   u   i   n    
0024460    d   o   e   s   n   '   t       n   e   e   d       a       p
0024500    a   u   s   e  \r  \t  \t   (   n   o   t       s   w   i   t
0024520    c   h   B   i   n   )       &       (   s   t   o   p   s   P
0024540    r   i   n   t   i   n   g       e   q       f   a   l   s   e
0024560    )       t   h   e   n  \t   /   /       a   n   d       n   o
0024600        f   o   r   c   e   d       b   i   n       s   w   i   t
0024620    c   h       t   h   e   n       c   o   n   t   i   n   u   e
0024640        p   r   i   n   t   i   n   g   .  \r  \t  \t  \t  \t  \t
0024660   \t  \t   /   /       e   n   a   b   l   e       i   n   t   e
0024700    r   b   a   n   d       c   o   m   m   u   n   i   c   a   t
0024720    i   o   n       w   i   t   h       p   e   n  \0  \a 020   @
0024740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0024760   \0  \0 001 334 371   R  \0  \0 016   B  \0  \0 366 356 370 366
0025000    g   u   i   n       t   o       s   e   t       u   p       t
0025020    h   e       n   e   x   t       r   e   v   o   l   u   t   i
0025040    o   n  \r  \t  \t  \t  \t  \t  \t  \t   /   /       k   e   e
0025060    p       t   r   a   c   k       o   f       w   h   a   t    
0025100    I   '   v   e       s   e   n   t       s   o       w   e    
0025120    d   o   n   '   t       g   e   t       o   u   t       o   f
0025140        s   y   n   c  \r  \t  \t   [  \r  \t  \t   n   e   e   d
0025160    I   n   i   t       =       f   a   l   s   e  \r  \t  \t   C
0025200    o   m   m   T   a   b   !   4       =       s   i   g   b   a
0025220    n   d  \r  \t  \t   r   o   s   C   o   u   n   t       =    
0025240    r   o   s   C   o   u   n   t       +       1      \r  \t  \t
0025260    ]  \r  \t   n   e   e   d   F   o   n   t   s       =       (
0025300    n   e   x   t   P   a   g   e   >   >   P   a   g   e   G   .
0025320    f   o   n   t   L   o   a   d       n   e       p   a   g   e
0025340    >   >   P   a   g   e   G   .   f   o   n   t   L   o   a   d
0025360    )       &       (   n   e   x   t   P   a   g   e       n   e
0025400        1   )  \r  \r  \r   /   /       N   o   w       s   e   e
0025420        i   f       w   e       a   c   t   u   a   l   l   y    
0025440    p   r   i   n   t   e   d       t   h   i   s       p   r   o
0025460    p   e   r   l   y   .           W   a   i   t       f   o   r
0025500        O   r   b   i   t       t   o       a   n   n   o   u   n
0025520    c   e       i   t       i   s       f   i   n   i   s   h   e
0025540    d   .  \r  \r  \t   w   h   i   l   e       @   #   7   2   0
0025560        n   e       0       d   o       i   f       (   @   R   T
0025600    C   -   t   i   m   )       g   r       i   m   a   g   e   T
0025620    i   m   e   o   u   t       t   h   e   n  \r  \t  \t   [  \r
0025640   \t  \t   I   n   i   t   i   a   l   i   z   e   H   a   r   d
0025660    w   a   r   e   (   )  \t  \t   /   /       c   l   e   a   r
0025700        h   a   r   d   w   a   r   e   ,       #   7   2   0  \r
0025720   \t  \t       /   /       M   a   c   h   i   n  \0  \a 020   @
0025740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0025760   \0  \0 001 334 367   R  \0  \0  \f   B  \0  \0 366 356 370 366
0026000    e       d   e   a   d       o   r       O   r   b   i   t    
0026020    g   o   t       b   e   h   i   n   d       a   n   d       i
0026040    t       w   a   s   n   '   t       d   e   t   e   c   t   e
0026060    d  \r  \t  \t       /   /       W   i   l   l       g   e   n
0026100    e   r   a   l   l   y       b   e       o   v   e   r   r   i
0026120    d   e   n       b   y       m   o   r   e       s   p   e   c
0026140    i   f   i   c       a   n   a   l   y   s   i   s  \r  \t  \t
0026160    @   l   v   F   a   i   l   u   r   e   C   o   d   e       =
0026200        1   0   3       /   /       M   a   n   u   a   l       i
0026220    n   t   e   r   v   e   n   t   i   o   n       r   e   q   u
0026240    i   r   e   d  \r  \t  \t   b   r   e   a   k  \r  \t  \t   ]
0026260   \r  \t   /   /       C   h   e   c   k       O   r   b   i   t
0026300        s   t   a   t   u   s  \r  \t   l   e   t       n   o   n
0026320    F       =       0  \r  \t   l   e   t       s   t   a   t   =
0026340    F   u   n   c   !   9  \t  \t   /   /   O   r   b   i   t    
0026360    p   r   i   n   t   i   n   g       s   t   a   t   u   s   .
0026400   \r  \t   /   /       F   a   t   a   l       e   r   r   o   r
0026420        d   e   t   e   c   t   e   d       b   y       m   i   c
0026440    r   o   c   o   d   e       -   -       i   n   v   a   l   i
0026460    d       B   a   n   d       e   n   t   r   y       -   -    
0026500    p   o   s   s   i   b   l   y       b   r   o   k   e   n    
0026520    p   r   o   c   e   s   s   o   r  \r  \t   i   f       s   t
0026540    a   t   <   <   S   T   A   T   U   S   .   i   n   v   a   l
0026560    i   d   B   a   n   d   E   n   t   r   y       t   h   e   n
0026600   \r  \t  \t   [       I   n   i   t   i   a   l   i   z   e   H
0026620    a   r   d   w   a   r   e   (   t   r   u   e   )   ;      \r
0026640   \t  \t           i   f       L   e   f   t   O   v   e   r   G
0026660    u   a   r   d   !   1       e   q       -   1       t   h   e
0026700    n       S   p   r   u   c   e   E   r   r   o   r   (   1   0
0026720    1   0   ,       @   1   ,       @   2   )      \0  \a 020   @
0026740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0026760   \0  \0 001 334 365   R  \0  \0  \n   B  \0  \0 366 356 370 366
0027000        /   /   e   l   s   e   ,       a   s   s   u   m   e    
0027020    t   h   a   t  \r  \t  \t  \t   /   /   b   a   d       b   a
0027040    n   d       e   n   t   r   y       i   s       s   i   m   p
0027060    l   y       r   e   s   u   l   t       o   f       l   e   f
0027100    t   o   v   e   r       o   v   e   r   f   l   o   w  \r  \t
0027120   \t   ]  \r  \t   t   e   s   t       s   t   a   t   <   <   S
0027140    T   A   T   U   S   .   p   r   e   m   a   t   u   r   e   P
0027160    a   g   e   A   b   o   r   t       t   h   e   n       [    
0027200    A   n   n   o   u   n   c   e   (   1   6   )   ;       n   o
0027220    n   F       =       3   0   1       ]  \r  \t           o   r
0027240        i   f       s   t   a   t   <   <   S   T   A   T   U   S
0027260    .   b   e   h   i   n   d       t   h   e   n       [       A
0027300    n   n   o   u   n   c   e   (   1   6   )   ;       n   o   n
0027320    F       =       3   0   0       ]  \r  \t   i   f       s   t
0027340    a   t   <   <   S   T   A   T   U   S   .   t   i   m   e   o
0027360    u   t       t   h   e   n       [       A   n   n   o   u   n
0027400    c   e   (   1   7   )   ;       @   l   v   F   a   i   l   u
0027420    r   e   C   o   d   e       =       1   0   2       ]  \r  \t
0027440    i   f       L   e   f   t   O   v   e   r   G   u   a   r   d
0027460    !   1       n   e       -   1       t   h   e   n  \r  \t    
0027500        [       A   n   n   o   u   n   c   e   (   1   8   )   ;
0027520        n   o   n   F       =       3   1   0       ]           /
0027540    /       t   h   e   n       c   h   e   c   k       p   o   s
0027560    s   i   b   l   e       n   e   x   t       p   a   g   e    
0027600    d   a   t   a       e   n   c   l   o   b   b   e   r   m   e
0027620    n   t  \r  \t   i   f       n   o   n   F       t   h   e   n
0027640        @   l   v   F   a   i   l   u   r   e   C   o   d   e    
0027660    =       n   o   n   F  \r  \r  \t   /   /       N   o   w    
0027700    t   r   y       f   o   r       m   o   r   e       s   p   e
0027720    c   i   f   i   c       e   n   g   i   n   e  \0  \a 020   @
0027740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0027760   \0  \0 001 334 363   R  \0  \0  \b   B  \0  \0 366 356 370 366
0030000        s   t   a   t   u   s       c   h   e   c   k  \r  \t   l
0030020    e   t       r   u   n   n   i   n   g       =       n   e   e
0030040    d   I   n   i   t   ?   c   y   c   l   e   d   o   w   n   ,
0030060        p   r   i   n   t   i   n   g  \r  \t   l   e   t       p
0030100    r   i   n   t   i   n   g   S   e   c   o   n   d   S   i   d
0030120    e       =       (   r   u   n   n   i   n   g       e   q    
0030140    p   r   i   n   t   i   n   g   )       &       (   c   u   r
0030160    H   a   n   d   l   i   n   g       e   q       p   T   S   S
0030200    e   c   o   n   d   )  \r  \t  \t   t   i   m       =       @
0030220    R   T   C  \r  \t  \t   u   n   l   e   s   s       D   e   b
0030240    u   g       d   o  \r  \t  \t  \t   [  \r  \t  \t  \t   l   e
0030260    t       x       =       R   O   S   C   h   e   c   k   (    
0030300    r   u   n   n   i   n   g   ,       p   r   i   n   t   i   n
0030320    g   S   e   c   o   n   d   S   i   d   e   )  \r  \t  \t  \t
0030340    u   n   l   e   s   s       x       t   h   e   n       b   r
0030360    e   a   k       /   /       t   h   a   t   '   s       w   h
0030400    a   t       w   e       e   x   p   e   c   t   e   d  \r  \t
0030420   \t  \t   i   f       x       >       0       d   o       [   @
0030440    l   v   F   a   i   l   u   r   e   C   o   d   e       =    
0030460    x       ;       b   r   e   a   k       ]      \r  \t  \t  \t
0030500    /   /   r   e   s   u   l   t       w   a   s       -   1   :
0030520            o   k       i   f       c   y   c   l   e   d   o   w
0030540    n       e   x   p   e   c   t   e   d       a   n   d       s
0030560    t   i   l   l       p   r   i   n   t   i   n   g  \r  \t  \t
0030600   \t   i   f           (   r   u   n   n   i   n   g       e   q
0030620        p   r   i   n   t   i   n   g   )       %       (   (   @
0030640    R   T   C       -       t   i   m   )       >       2   7   )
0030660        d   o      \r  \t  \t  \t  \t   [  \r  \t  \t  \t  \t   @
0030700    l   v   F   a   i   l   u   r   e   C   o   d   e       =    
0030720    1   1   4   ;       b   r   e   a   k  \r  \t  \0  \a 020   @
0030740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0030760   \0  \0 001 334 361   R  \0  \0 006   B  \0  \0 366 356 370 366
0031000   \t  \t  \t   ]  \r  \t  \t  \t   ]       r   e   p   e   a   t
0031020   \r  \t  \r  \r  \t   /   /       N   o   w       w   a   i   t
0031040        f   o   r       p   a   g   e       s   y   n   c       t
0031060    o       g   o       o   f   f  \r  \t   u   n   l   e   s   s
0031100        A   w   a   i   t   P   a   g   e   S   y   n   c   (   0
0031120    )       t   h   e   n       @   l   v   F   a   i   l   u   r
0031140    e   C   o   d   e       =       1   0   1  \r  \r   /   /   N
0031160    o   w       d   e   c   i   d   e       w   h   a   t       t
0031200    o       d   o   :  \r  \t   i   f       (   @   l   v   F   a
0031220    i   l   u   r   e   C   o   d   e       >       0   )       &
0031240        (   @   l   v   F   a   i   l   u   r   e   C   o   d   e
0031260        <       m   i   n   D   o   c   u   m   e   n   t   E   r
0031300    r   o   r   )       d   o       [       b   a   c   k   u   p
0031320        =       1   ;       b   r   e   a   k       ]  \r  \r  \t
0031340    i   m   a   g   e   T   i   m   e   o   u   t       =       r
0031360    I   T   O  \t   +   (   n   e   e   d   I   n   i   t   ?   1
0031400    1   *   2   7   ,   0   )  \t   /   /       n   e   x   t    
0031420    i   m   a   g   e       s   h   o   u   l   d       b   e    
0031440    o   u   t       i   n       l   e   s   s       t   h   a   n
0031460        2       s   e   c   o   n   d   s  \r  \t   x   p   o   r
0031500    t   M   o   d   e   l       =       (   (   x   p   o   r   t
0031520    M   o   d   e   l       &       3   )       l   s   h   i   f
0031540    t       1   )       +       1  \r  \t   t   e   s   t       c
0031560    u   r   H   a   n   d   l   i   n   g       e   q       p   T
0031600    S   F   i   r   s   t       t   h   e   n  \r  \t  \t   [    
0031620   \r  \t  \t   B   i   n   C   o   u   n   t   e   r   s   !   A
0031640    u   x   C   o   u   n   t       =       (   B   i   n   C   o
0031660    u   n   t   e   r   s   !   A   u   x   C   o   u   n   t   )
0031700        +   1  \r  \t  \t   i   f       B   i   n   C   o   u   n
0031720    t   e   r   s   !   A   u   x   R   e   c   o  \0  \a 020   @
0031740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0031760   \0  \0 001 334 357   R  \0  \0 004   B  \0  \0 366 356 370 366
0032000    v   e   r   y   C   o   u   n   t       d   o  \r  \t  \t  \t
0032020    [  \r  \t  \t  \t   B   i   n   C   o   u   n   t   e   r   s
0032040    !   A   u   x   R   e   c   o   v   e   r   y   C   o   u   n
0032060    t       =       B   i   n   C   o   u   n   t   e   r   s   !
0032100    A   u   x   R   e   c   o   v   e   r   y   C   o   u   n   t
0032120        -   1  \r  \t  \t  \t   u   n   l   e   s   s       B   i
0032140    n   C   o   u   n   t   e   r   s   !   A   u   x   R   e   c
0032160    o   v   e   r   y   C   o   u   n   t       d   o       n   P
0032200    a   g   e   s   P   r   i   n   t   e   d       =       n   P
0032220    a   g   e   s   A   l   r   e   a   d   y   P   r   i   n   t
0032240    e   d  \r  \t  \t  \t   ]      \r  \t  \t   ]  \r  \t  \t   o
0032260    r      \t  \t   /   /       n   o   t   e       t   h   a   t
0032300        b   i   n       c   o   u   n   t   e   r   s       n   o
0032320    t       i   n   c   r   e   m   e   n   t   e   d       i   f
0032340        f   i   l   l   i   n   g       a   u   x       t   r   a
0032360    y  \r  \t  \t   [  \r  \t  \t       A   d   d   T   o   B   i
0032400    n   (   b   i   n   M   a   x   ,       c   u   r   B   i   n
0032420    )   ;       i   f           (   c   u   r   H   a   n   d   l
0032440    i   n   g       e   q       p   T   S   S   e   c   o   n   d
0032460    )       d   o       [       B   i   n   C   o   u   n   t   e
0032500    r   s   !   A   u   x   C   o   u   n   t       =       (   B
0032520    i   n   C   o   u   n   t   e   r   s   !   A   u   x   C   o
0032540    u   n   t   )       -       1       ]      \r  \t  \t   ]  \r
0032560    ]   P   r   i   n   t   L   o   o   p       r   e   p   e   a
0032600    t  \r  \r  \t   I   n   i   t   i   a   l   i   z   e   H   a
0032620    r   d   w   a   r   e   (   )  \r  \t   C   l   o   s   e   M
0032640    e   a   s   u   r   e   (   )  \r  \t   r   e   s   u   l   t
0032660    i   s       (   k   n   o   c   k   K   n   o   c   k       %
0032700        @   l   v   F   a   i   l   u   r   e   C   o   d   e   )
0032720    ?       S   e   t   u   p   R   e   c   o   v  \0  \a 020   @
0032740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0032760   \0  \0 001 334 355   R  \0  \0 002   B  \0  \0 366 356 370 366
0033000    e   r   y   (   p   D   o   c   ,   l   v   F   a   i   l   u
0033020    r   e   C   o   d   e   ,   l   v       x   p   o   r   t   M
0033040    o   d   e   l   ,       n   P   a   g   e   s   P   r   i   n
0033060    t   e   d   -   b   a   c   k   u   p   )   ,       -   1  \r
0033100    ]  \r   /   /       -   -   -   -   -   -   -   -   -   -   -
0033120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0033200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0033220    /   /       c   o   d   e       =       R   O   S   C   h   e
0033240    c   k   (   e   x   p   e   c   t   e   d   P   r   i   n   t
0033260    S   e   q   )  \r   /   /       -   -   -   -   -   -   -   -
0033300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0033400    -   -  \r  \r   /   /       a   n   a   l   y   z   e       R
0033420    O   S       s   t   a   t   u   s  \r   /   /       c   o   d
0033440    e       =      \t   0       i   f       t   h   e   r   e    
0033460    a   r   e       n   o       m   a   l   f   u   n   c   t   i
0033500    o   n   s   ,       R   O   S       i   s       r   e   a   d
0033520    y       t   o       p   r   i   n   t  \r   /   /  \t  \t  \t
0033540    -   1       i   f       t   h   e       o   n   l   y       t
0033560    h   i   n   g       w   r   o   n   g       i   s       t   h
0033600    a   t       p   e   n   g   u   i   n       n   e   e   d   s
0033620        t   o       c   y   c   l   e       r   o   u   n   d    
0033640    t   o       t   h   e       e   x   p   e   c   t   e   d    
0033660    s   t   a   t   e  \r   /   /  \t  \t  \t   o   t   h   e   r
0033700    w   i   s   e   ,       a       c   o   d   e       f   o   r
0033720        t   h   e       e   r   r   o   r  \0  \a 020   @ 377   v
0033740  037  \0 002   { 035  \0  \0   (   & 001  \0   B      \0  \0   @
0033760   \0  \0 001 332 353   R  \0  \0  \b 334  \0  \0 365 355 370 366
0034000        d   e   t   e   c   t   e   d  \r   /   /  \t  \t  \t  \r
0034020    /   /       e   x   p   e   c   t   e   d   P   r   i   n   t
0034040    S   e   q  \t   w   h   e   r   e       c   a   l   l   e   r
0034060        t   h   i   n   k   s       p   e   n   g   u   i   n    
0034100    s   h   o   u   l   d       b   e   (   p   r   i   n   t   i
0034120    n   g   ,       c   y   c   l   i   n   g       d   o   w   n
0034140    ,       s   t   a   n   d   i   n   g       b   y   ,       d
0034160    o   n   '   t       c   a   r   e   )  \r  \r   /   /       R
0034200    O   S   C   h   e   c   k       f   i   r   s   t       s   c
0034220    r   e   e   n   s       t   h   e       c   u   r   r   e   n
0034240    t       s   t   a   t   u   s       f   o   r       a   n   y
0034260        m   a   l   f   u   n   c   t   i   o   n       i   n   d
0034300    i   c   a   t   i   o   n   s   ,       a   n   d  \r   /   /
0034320        r   e   t   u   r   n   s       r   i   g   h   t       a
0034340    w   a   y       i   f       t   h   e   r   e       a   r   e
0034360        n   o   n   e   .       O   t   h   e   r   w   i   s   e
0034400    ,       i   t       a   p   p   l   i   e   s       t   h   e
0034420        c   u   r   r   e   n   t       s   t   a   t   u   s  \r
0034440    /   /       a   g   a   i   n   s   t       a       p   r   i
0034460    n   t   e   r   -   d   e   p   e   n   d   e   n   t       t
0034500    a   b   l   e       o   f       p   o   s   s   i   b   l   e
0034520        c   o   n   d   i   t   i   o   n   s   ,       y   i   e
0034540    l   d   i   n   g       a       f   a   i   l   u   r   e  \r
0034560    /   /       c   o   d   e   .      \r   /   /       A       c
0034600    h   e   c   k       v   e   r   i   f   i   e   s       t   h
0034620    a   t       t   h   e       l   a   s   e   r       i   s    
0034640    o   n       a   n   d       t   h   e       p   o   l   y   g
0034660    o   n       i   s  \r   /   /       s   c   a   n   n   i   n
0034700    g       (   S   O   S   /   E   O   S       a   r   e       s
0034720    e   e   i   n   g       t   h   i   n   g   s  \0  \a 020   @
0034740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0034760   \0  \0 001 334 376   B  \0  \0 006 334  \0  \0 366 356 370 366
0035000    )   ,       b   y       m   a   k   i   n   g       s   u   r
0035020    e       t   h   a   t       t   h   e       l   o   w       f
0035040    o   u   r       b   i   t   s       o   f       t   h   e    
0035060    l   i   n   e  \r   /   /       c   o   u   n   t       (   i
0035100    n   d   i   c   a   t   e   d       i   n       s   t   a   t
0035120    u   s       w   o   r   d   )       a   r   e           c   h
0035140    a   n   g   i   n   g   .       T   h   e       c   o   d   e
0035160        r   e   a   d   s       t   h   e       l   i   n   e    
0035200    c   o   u   n   t   ,       w   a   i   t   s  \r   /   /    
0035220    a   p   p   r   o   x   i   m   a   t   e   l   y       t   h
0035240    e       t   i   m   e       n   e   e   d   e   d       f   o
0035260    r       f   o   u   r       s   c   a   n       l   i   n   e
0035300    s       (   g   e   n   e   r   o   u   s       m   a   r   g
0035320    i   n   )   ,       t   h   e   n       r   e   a   d   s    
0035340    t   h   e  \r   /   /       c   o   u   n   t       a   g   a
0035360    i   n   ,       r   e   p   o   r   t   i   n   g       a    
0035400    p   r   o   b   l   e   m       i   f       t   h   e       v
0035420    a   l   u   e   s       a   r   e       e   q   u   a   l   .
0035440        T   h   i   s       t   e   s   t       h   a   p   p   e
0035460    n   s       o   n   l   y       w   h   e   n  \r   /   /    
0035500    t   h   e       r   u   n   n   i   n   g       p   a   r   a
0035520    m   e   t   e   r       i   s       f   a   l   s   e   .    
0035540    T   h   e       w   a   i   t       t   i   m   e       (   s
0035560    c   a   n   T   i   c   k   s   )       i   s       c   o   m
0035600    p   u   t   e   d       i   n       P   r   i   n   t   I   n
0035620    i   t   ,       a   s   :  \r  \r   /   /       R   e   s   o
0035640    l   u   t   i   o   n   S       i   s       s   c   a   l   e
0035660    d       b   y       1   0       a   s       s   t   o   r   e
0035700    d   ,       P   a   p   e   r   S   p   e   e   d   I   n   c
0035720    h   e   s       b   y       1   0   0   .      \0  \a 020   @
0035740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0035760   \0  \0 001 334 374   B  \0  \0 004 334  \0  \0 366 356 370 366
0036000    T   h   e       (   f   a   s   t       1   0       b   i   t
0036020    s       o   f   )  \r   /   /       t   h   e       R   T   C
0036040        t   i   c   k   s       a   t       3   8       u   s   e
0036060    c   .       i   n   t   e   r   v   a   l   s   .       T   h
0036100    u   s       t   h   e       #       t   i   c   k   s       w
0036120    a   n   t   e   d       f   o   r       f   o   u   r       l
0036140    i   n   e   s       i   s   :  \r  \r   /   /               (
0036160        4       l   i   n   e   s       x       1   0   ^   6    
0036200    u   s   e   c   /   s   e   c       x           1   /   3   8
0036220        t   i   c   k   /   u   s   e   c   .   )       /       (
0036240    (   P   a   p   e   r   S   p   e   e   d   I   n   c   h   e
0036260    s   /   1   0   0       x       R   e   s   o   l   u   t   i
0036300    o   n   S   /   1   0   )       l   i   n   e   s   /   s   e
0036320    c   )  \r  \r   /   /       o   r       a   b   o   u   t    
0036340    (   1   0   6       x       1   0   ^   3   )       /       (
0036360    P   a   p   e   r   S   p   e   e   d   I   n   c   h   e   s
0036400    /   1   0   0       x       R   e   s   o   l   u   t   i   o
0036420    n   S   /   1   0   )               t   i   c   k   s       -
0036440    -       a   b   o   u   t       3   0       f   o   r       D
0036460    o   v   e   r   .  \r  \r   /   /       T   h   i   s       i
0036500    s       o   n   l   y       a   p   p   r   o   x   i   m   a
0036520    t   e       b   e   c   a   u   s   e       R   O   S   S   t
0036540    a   t   u   s       t   i   m   e   ,       a   b   o   u   t
0036560        1   0       t   i   c   k   s       f   o   r       D   o
0036600    v   e   r   ,       i   s       n   o   t       i   n   c   l
0036620    u   d   e   d   .  \r   /   /       P   a   r   t       o   f
0036640        t   h   e       r   e   a   s   o   n       f   o   r    
0036660    w   a   i   t   i   n   g       f   o   u   r       l   i   n
0036700    e       t   i   m   e   s       i   s       t   o       a   c
0036720    c   o   u   n   t       f   o   r       p   o  \0  \a 020   @
0036740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0036760   \0  \0 001 334 372   B  \0  \0 002 334  \0  \0 366 356 370 366
0037000    s   s   i   b   l   e       d   e   l   a   y   s       i   n
0037020        o   b   t   a   i   n   i   n   g  \r   /   /       t   h
0037040    e       c   o   r   r   e   c   t       l   i   n   e       c
0037060    o   u   n   t       s   t   a   t   u   s   .       L   a   t
0037100    e   r   ,       t   h   i   s       m   e   t   h   o   d    
0037120    c   a   n       b   e       u   s   e   d       t   o       c
0037140    h   e   c   k       f   o   r       c   o   r   r   e   c   t
0037160        p   o   l   y   g   o   n       s   p   e   e   d   .  \r
0037200    /   /       T   h   e       s   c   a   n   T   i   c   k   s
0037220        s   t   a   t   i   c       i   s       s   h   i   f   t
0037240    e   d       l   e   f   t       b   y       6       t   o    
0037260    m   a   t   c   h       t   h   e       c   l   o   c   k    
0037300    r   e   a   d   i   n   g       f   u   n   c   t   i   o   n
0037320    '   s       r   e   s   u   l   t   s  \r  \r   a   n   d    
0037340    R   O   S   C   h   e   c   k   (   e   x   p   e   c   t   e
0037360    d   ,       p   r   i   n   t   i   n   g   S   e   c   o   n
0037400    d   S   i   d   e   ;       n   u   m   a   r   g   s       n
0037420    a   )       =       v   a   l   o   f  \r  \r   [  \r   i   f
0037440        n   a       <       2       t   h   e   n       p   r   i
0037460    n   t   i   n   g   S   e   c   o   n   d   S   i   d   e    
0037500    =       f   a   l   s   e  \r   r   o   s   1   2       =    
0037520    R   O   S   S   t   a   t   u   s   (   1   2   )  \r   r   o
0037540    s   1   3       =       R   O   S   S   t   a   t   u   s   (
0037560    1   3   )  \r   l   e   t           s   c   a   n   n   i   n
0037600    g   ,       a   u   x   T   r   a   y   P   r   o   b   l   e
0037620    m       =       t   r   u   e   ,       f   a   l   s   e  \r
0037640    l   e   t       m   a   l   F   n   S   t   a   t   u   s    
0037660    =       r   o   s   1   3   &   #   7   7  \r   l   e   t    
0037700    a   u   x   T   r   a   y   E   m   p   t   y       =       (
0037720    r   o   s   1   3       &       #   1  \0  \a 020   @ 377   v
0037740  037  \0 002   { 035  \0  \0   (   & 001  \0 334      \0  \0   @
0037760   \0  \0 001 332 370   B  \0  \0   D   Y  \0   Y 365 355 370 366
0040000    0   0   )       n   e       0  \r   l   e   t       m   a   i
0040020    n   T   r   a   y   E   m   p   t   y       =       (   r   o
0040040    s   1   3       &       #   2   0   0   )       n   e       0
0040060   \r   l   e   t       s   u   b   S   e   q       =       (   r
0040100    o   s   1   3       r   s   h   i   f   t       8   )   &   7
0040120   \r   l   e   t       m   a   i   n   S   e   q       =       (
0040140    r   o   s   1   3       r   s   h   i   f   t       1   1   )
0040160    &   7  \r   l   e   t       m   o   d   e       =       r   o
0040200    s   1   3       r   s   h   i   f   t       1   4  \r   l   e
0040220    t       p   r   i   n   t   S   e   q       =       s   e   l
0040240    e   c   t   o   n       m   a   i   n   S   e   q       i   n
0040260    t   o  \r  \t   [  \r  \t   c   a   s   e       1   :       p
0040300    o   w   e   r   O   n  \r  \t   c   a   s   e       2   :    
0040320    w   a   r   m   u   p  \r  \t   c   a   s   e       3   :    
0040340    s   t   a   n   d   b   y  \t  \t  \t  \t      \r  \t   c   a
0040360    s   e       4   :           0  \r  \t   c   a   s   e       5
0040400    :       m   a   l   f   C   l   e   a   r  \t  \t  \t  \t    
0040420   \r  \t   d   e   f   a   u   l   t   :       m   a   i   n   S
0040440    e   q   E   r   r  \t  \t  \t  \t  \t  \t   /   /   M   a   i
0040460    n   s   e   q       e   r   r   o   r  \r  \t   ]  \r   u   n
0040500    l   e   s   s       n   a       d   o       e   x   p   e   c
0040520    t   e   d       =       p   r   i   n   t   S   e   q        
0040540    /   /       p   r   i   n   t   i   n   g       n   o   t    
0040560    v   a   l   i   d       s   t   a   t   e       i   f       n
0040600    o   t   h   i   n   g       e   x   p   e   c   t   e   d  \r
0040620    u   n   l   e   s   s       p   r   i   n   t   S   e   q    
0040640    d   o       [       p   r   i   n   t   S   e   q       =    
0040660    s   e   l   e   c   t   o   n       s   u   b   S   e   q    
0040700    i   n   t   o  \r  \t   [  \r  \t   c   a   s   e       0   :
0040720        p   r   i   n   t   i   n   g  \t  \t  \t  \0  \a 020   @
0040740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0040760   \0  \0 001 334 376 334  \0  \0   B   Y  \0   Y 366 356 370 366
0041000       \r  \t   c   a   s   e       1   :       p   r   e   p   r
0041020    i   n   t  \t  \t  \t      \r  \t   c   a   s   e       2   :
0041040        c   y   c   l   e   d   o   w   n      \r  \t   c   a   s
0041060    e       4   :       a   b   n   o   r   m   a   l  \r  \t   d
0041100    e   f   a   u   l   t   :       s   u   b   S   e   q   E   r
0041120    r  \t  \t  \t  \t  \t   /   /       s   u   b   S   e   q    
0041140    e   r   r   o   r  \r  \t   ]       ]  \r   l   e   t       r
0041160    e   a   d   y       =      \r  \t   (   p   r   i   n   t   S
0041200    e   q       e   q       e   x   p   e   c   t   e   d   )    
0041220    &       /   /       p   e   n   g   u   i   n       i   s    
0041240    w   h   e   r   e       w   e       t   h   i   n   k       i
0041260    t       s   h   o   u   l   d       b   e  \r  \t   (   m   a
0041300    l   F   n   S   t   a   t   u   s       e   q       0   )    
0041320    &  \r  \t   (   n   o   t       m   a   i   n   T   r   a   y
0041340    E   m   p   t   y   )       &  \r      \t   (   (   r   o   s
0041360    1   2       &       #   1   2   3   7   7   )       e   q    
0041400    (   r   o   s   C   o   u   n   t       &       #   3   7   7
0041420    )   )       &       /   /   n   o       m   a   l   f       a
0041440    n   d       n   o       q   u   e   u   e       p   r   o   b
0041460    l   e   m   s  \r  \t   m   o   d   e       e   q       1    
0041500    /   /       a   n   d       p   r   i   n   t   e   r       i
0041520    s       i   n       r   e   m   o   t   e       p   r   i   n
0041540    t       m   o   d   e  \r  \r   i   f       r   e   a   d   y
0041560        &       (   p   r   i   n   t   S   e   q       n   e    
0041600    p   r   i   n   t   i   n   g   )       t   h   e   n  \r  \t
0041620    [  \r  \t           l   e   t       l   i   n   e   C   o   u
0041640    n   t       =       R   O   S   S   t   a   t   u   s   (   7
0041660    )       &       #   1   7   0   0   0   0  \r  \t           l
0041700    e   t       r   t   c       =       R   e   a   d   C   l   o
0041720    c   k   (   )  \r  \t           u   n   t   i  \0  \a 020   @
0041740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0041760   \0  \0 001 334 374 334  \0  \0   @   Y  \0   Y 366 356 370 366
0042000    l       (   R   e   a   d   C   l   o   c   k   (   )   -   r
0042020    t   c   )       g   e       s   c   a   n   T   i   c   k   s
0042040        l   o   o   p  \r  \t           s   c   a   n   n   i   n
0042060    g       =       (   R   O   S   S   t   a   t   u   s   (   7
0042100    )   &   #   1   7   0   0   0   0   )       n   e       l   i
0042120    n   e   C   o   u   n   t  \r  \t   i   f       e   x   p   e
0042140    c   t   e   d       n   e       c   y   c   l   e   d   o   w
0042160    n       d   o  \t   /   /       c   a   n   '   t       c   h
0042200    e   c   k       w   h   i   l   e       p   a   p   e   r    
0042220    m   a   y       b   e       m   o   v   i   n   g  \r  \t  \t
0042240    [          \r  \t  \t   i   f       (   B   i   n   C   o   u
0042260    n   t   e   r   s   !   A   u   x   C   o   u   n   t       e
0042300    q       0   )       &       (   n   o   t       a   u   x   T
0042320    r   a   y   E   m   p   t   y   )       t   h   e   n       a
0042340    u   x   T   r   a   y   P   r   o   b   l   e   m       =    
0042360    7   2  \r  \t  \t   ]  \r  \t   ]  \r   i   f       p   r   i
0042400    n   t   i   n   g   S   e   c   o   n   d   S   i   d   e    
0042420    &       a   u   x   T   r   a   y   E   m   p   t   y       t
0042440    h   e   n       a   u   x   T   r   a   y   P   r   o   b   l
0042460    e   m       =       7   0  \r  \r   i   f       r   e   a   d
0042500    y       &       s   c   a   n   n   i   n   g       &       (
0042520    a   u   x   T   r   a   y   P   r   o   b   l   e   m       e
0042540    q       f   a   l   s   e   )       %       D   e   b   u   g
0042560        r   e   s   u   l   t   i   s       0  \r  \r   /   /    
0042600        i   d   e   n   t   i   f   y       t   h   e       p   r
0042620    o   b   l   e   m       o   r       c   o   n   d   i   t   i
0042640    o   n       p   r   e   v   e   n   t   i   n   g       r   e
0042660    a   d   y  \r  \r   l   e   t       m   a   l   f       =    
0042700        s   e   l   e   c   t   o   n       m   a   l   F   n   S
0042720    t   a   t   u   s       i   n   t   o       [  \0  \a 020   @
0042740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0042760   \0  \0 001 334 372 334  \0  \0   >   Y  \0   Y 366 356 370 366
0043000   \r  \t   c   a   s   e       1   :       8   1  \t  \t   /   /
0043020        p   r   o   c   e   s   s   o   r       i   n   t   e   r
0043040    l   o   c   k       o   p   e   n  \r  \t   c   a   s   e    
0043060    2   :       8   2  \t  \t   /   /       z   o   n   e       I
0043100    I   A       j   a   m  \r  \t   c   a   s   e       3   :    
0043120    8   3  \t  \t   /   /       z   o   n   e       I   I   B    
0043140    j   a   m  \r  \t   c   a   s   e       4   :       8   4  \t
0043160   \t   /   /       z   o   n   e       I   I   I       j   a   m
0043200   \r  \t   c   a   s   e       5   :       8   5  \t  \t   /   /
0043220        s   o   r   t   e   r       i   n   t   e   r   l   o   c
0043240    k       o   p   e   n  \r   /   /  \t   c   a   s   e       6
0043260    :       8   6  \t  \t   /   /       s   t   o   p       p   r
0043300    i   n   t       p   u   s   h       b   u   t   t   o   n    
0043320    p   r   e   s   s   e   d   :       n   o   t       u   s   e
0043340    d       i   n       r   e   m   o   t   e       p   r   i   n
0043360    t   .  \r  \t   c   a   s   e       7   :       7   1  \t  \t
0043400    /   /       a   u   x       t   r   a   y       e   m   p   t
0043420    y  \t  \r  \t   c   a   s   e       8   :       1   1   5  \t
0043440   \t   /   /       m   a   i   n       t   r   a   y       e   m
0043460    p   t   y       -       s   h   o   u   l   d   n   '   t    
0043500    h   a   p   p   e   n       w   i   t   h       m   a   i   n
0043520    T   r   a   y   P   r   o   b   l   e   m       b   e   i   n
0043540    g       w   a   t   c   h   e   d   .  \r  \t   c   a   s   e
0043560        9   :       1   0   8  \t  \t   /   /       i   n   k    
0043600    l   o   w  \r  \t   c   a   s   e       1   0   :       1   0
0043620    9  \t   /   /       t   r   a   y   s       d   o   n   '   t
0043640        m   a   t   c   h  \r  \t   c   a   s   e       1   1   :
0043660        1   1   0  \t   /   /       f   u   s   e   r       n   o
0043700    t       r   e   a   d   y  \r  \t   c   a   s   e       1   2
0043720    :       1   1   1  \t   /   /       m   a   i  \0  \a 020   @
0043740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0043760   \0  \0 001 334 370 334  \0  \0   <   Y  \0   Y 366 356 370 366
0044000    n       t   r   a   y       p   a   p   e   r       m   i   s
0044020    f   e   e   d  \r  \t   c   a   s   e       1   3   :       8
0044040    0  \t  \t   /   /       a   u   x       t   r   a   y       p
0044060    a   p   e   r       m   i   s   f   e   e   d  \r  \t   c   a
0044100    s   e       1   4   :       1   1   2  \t   /   /       c   y
0044120    c   l   e       c   o   n   t   r   o   l       s   t   a   t
0044140    e       e   r   r   o   r  \r  \t   c   a   s   e       1   5
0044160    :       1   2   4  \t   /   /       p   a   p   e   r   e   x
0044200    i   t       j   a   m  \r  \t   c   a   s   e       1   6   :
0044220        1   2   5  \t   /   /       (   o   u   t   p   u   t   )
0044240        b   i   n       e   n   t   e   r       j   a   m  \r  \t
0044260    c   a   s   e       0   :       0          \r  \t   d   e   f
0044300    a   u   l   t       :       -   1           ]  \r   l   e   t
0044320        n   o   R   e   s   p   o   n   s   e       =       E   n
0044340    g   i   n   e   C   o   m   m   E   r   r   (   r   o   s   1
0044360    2   )  \t   /   /   c   h   e   c   k       s   t   a   t   u
0044400    s       o   f       s   p   r   u   c   e       c   o   m   m
0044420    u   n   i   c   a   t   i   o   n       w   i   t   h       p
0044440    e   n   g   u   i   n  \r   l   e   t       c   o   d   e    
0044460    =       0  \r  \t   t   e   s   t       m   o   d   e       n
0044500    e       1       t   h   e   n       c   o   d   e       =    
0044520    1   0   0  \t   /   /       l   o   c   a   l       m   o   d
0044540    e       -       P   e   n   g   u   i   n       n   o   t    
0044560    l   i   s   t   e   n   i   n   g  \r  \t       o   r       t
0044600    e   s   t       r   o   s   1   2       <       0       t   h
0044620    e   n       c   o   d   e       =       1   0   4  \t   /   /
0044640        w   a   i   t       s   t   a   t   e       -       P   e
0044660    n   g   u   i   n       n   o   t       l   i   s   t   e   n
0044700    i   n   g  \r  \t       o   r       t   e   s   t       m   a
0044720    l   f       >       0       t   h   e   n  \r  \0  \a 020   @
0044740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0044760   \0  \0 001 334 366 334  \0  \0   :   Y  \0   Y 366 356 370 366
0045000   \t  \t       [  \r  \t  \t       l   e   t       x       =    
0045020    R   O   S   C   o   m   m   a   n   d   (   p   C   l   e   a
0045040    r   M   a   l   f   )  \r  \t  \t       u   n   l   e   s   s
0045060        (   a   u   x   T   r   a   y   P   r   o   b   l   e   m
0045100        e   q       7   0   )       d   o       c   o   d   e    
0045120    =       m   a   l   f  \t   /   /       g   o   o   d       m
0045140    a   l   f   u   n   c   t   i   o   n       c   o   d   e  \r
0045160   \t  \t       ]  \r  \t       o   r       t   e   s   t       n
0045200    o   R   e   s   p   o   n   s   e       t   h   e   n       c
0045220    o   d   e       =       1   1   6  \t   /   /       p   e   n
0045240    g   u   i   n       n   o   t       t   a   l   k   i   n   g
0045260   \r  \t       o   r       t   e   s   t       p   r   i   n   t
0045300    S   e   q       >       m   a   l   f   C   l   e   a   r    
0045320    t   h   e   n       c   o   d   e       =   p   r   i   n   t
0045340    S   e   q  \t   /   /           S   t   a   t   e       e   r
0045360    r   o   r  \r  \t       o   r       t   e   s   t       m   a
0045400    l   f       t   h   e   n       c   o   d   e       =       1
0045420    1   7  \t  \t   /   /       u   n   k   n   o   w   n       m
0045440    a   l   f   u   n   c   t   i   o   n       c   o   d   e  \r
0045460   \t       o   r       t   e   s   t       n   o   t       s   c
0045500    a   n   n   i   n   g       t   h   e   n       c   o   d   e
0045520        =       1   1   8  \t   /   /       l   a   s   e   r    
0045540    a   p   p   e   a   r   s       t   o       b   e       o   f
0045560    f  \r  \t       o   r       t   e   s   t       a   u   x   T
0045600    r   a   y   P   r   o   b   l   e   m       t   h   e   n    
0045620    c   o   d   e       =       a   u   x   T   r   a   y   P   r
0045640    o   b   l   e   m  \r  \t       o   r       t   e   s   t    
0045660    m   a   i   n   T   r   a   y   E   m   p   t   y       t   h
0045700    e   n       c   o   d   e       =       1   3   2  \r  \t    
0045720    o   r       t   e   s   t       p   r   i   n  \0  \a 020   @
0045740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0045760   \0  \0 001 334 364 334  \0  \0   8   Y  \0   Y 366 356 370 366
0046000    t   S   e   q       n   e       e   x   p   e   c   t   e   d
0046020        t   h   e   n       c   o   d   e       =       -   1  \r
0046040   \t       o   r       c   o   d   e       =       1   1   9  \t
0046060    /   /       c   a   n   '   t       f   i   g   u   r   e    
0046100    o   u   t       w   h   a   t   '   s       w   r   o   n   g
0046120   \r   r   e   s   u   l   t   i   s       c   o   d   e  \r   ]
0046140   \r   /   /       N   e   x   t   S   h   e   e   t   (   p   D
0046160    o   c   ,       a   f   t   e   r   P   a   g   e   )  \r   /
0046200    /       -   -   -   -   -   -   -   -   -   -   -   -   -   -
0046220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0046320    -   -   -   -   -  \r   /   /       S   e   t   u   p       p
0046340    a   p   e   r       h   a   n   d   l   i   n   g       i   n
0046360    f   o   ,       c   o   p   y       n   u   m   b   e   r    
0046400    a   n   d       p   o   i   n   t   e   r       t   o       P
0046420    a   g   e   G       s   t   r   u   c   t   u   r   e       t
0046440    h   a   t       d   e   s   c   r   i   b   e       t   h   e
0046460        n   e   x   t       i   m   a   g   e   .          \r   /
0046500    /       I   t       i   s       a   s   s   u   m   e   d    
0046520    t   h   a   t       t   h   e       P   a   g   e   G       e
0046540    n   t   i   t   i   e   s       r   e   p   r   e   s   e   n
0046560    t       c   o   n   s   e   c   u   t   i   v   e   l   y    
0046600    n   u   m   b   e   r   e   d       p   a   g   e   s   .    
0046620        w   h   i   c   h   S   i   d   e       i   d   e   n   t
0046640    i   f   i   e   s       a      \r   /   /       p   a   g   e
0046660        a   s       '   o   d   d   '       o   r       '   e   v
0046700    e   n   '   ;       '   o   d   d   '       p   a   g   e   s
0046720        f   a   c   e       t   h   e       s   a  \0  \a 020   @
0046740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0046760   \0  \0 001 334 362 334  \0  \0   6   Y  \0   Y 366 356 370 366
0047000    m   e       w   a   y       t   h   e       b   r   e   a   k
0047020        p   a   g   e       d   o   e   s       -   -   u   p   ,
0047040        i   n       t   h   e       n   o   r   m   a   l       p
0047060    e   n   g   u   i   n       m   o   d   e       [   d   o   w
0047100    n   ,       i   f       "   p   r   i   n   t   e   r   F   o
0047120    r   w   a   r   d   "   ]   .          \r   /   /       A   l
0047140    l       p   a   g   e   s       a   r   e       p   a   i   r
0047160    e   d       e   x   c   e   p   t   :           t   h   e    
0047200    b   r   e   a   k       p   a   g   e   ,       t   h   e    
0047220    f   i   r   s   t       p   a   g   e       i   f       i   t
0047240        i   s       "   e   v   e   n   "   ,       t   h   e    
0047260    l   a   s   t       p   a   g   e       i   f       i   t    
0047300    i   s       "   o   d   d   "  \r   /   /       N   e   x   t
0047320    S   h   e   e   t       m   a   k   e   s       t   w   o    
0047340    p   a   s   s   e   s       t   h   r   u       t   h   e    
0047360    d   o   c   u   m   e   n   t   :  \r   /   /       *   *    
0047400    o   n       t   h   e       f   i   r   s   t       p   a   s
0047420    s       a   l   l       i   m   a   g   e   s       t   h   a
0047440    t       w   i   l   l       b   e       f   a   c   i   n   g
0047460        d   o   w   n       a   r   e       p   r   i   n   t   e
0047500    d       a   n   d       s   t   o   r   e   d       i   n    
0047520    t   h   e       a   u   x       t   r   a   y           i   n
0047540        r   e   v   e   r   s   e       o   r   d   e   r   .  \r
0047560    /   /       *   *   o   n       t   h   e       s   e   c   o
0047600    n   d       p   a   s   s       t   h   e       p   a   g   e
0047620    s       t   h   a   t       w   i   l   l       b   e       f
0047640    a   c   e       u   p       i   n       t   h   e       o   u
0047660    t   p   u   t       b   i   n       a   r   e       p   r   i
0047700    n   t   e   d   .       T   h   i   s       p   a   s   s    
0047720    i   s       c   o   m   p   l   i   c   a   t  \0  \a 020   @
0047740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0047760   \0  \0 001 334 360 334  \0  \0   4   Y  \0   Y 366 356 370 366
0050000    e   d      \r   /   /  \t   b   y       t   h   e       f   a
0050020    c   t       t   h   a   t       t   h   e   r   e       m   a
0050040    y       b   e       f   a   c   e   -   d   o   w   n       s
0050060    h   e   e   t   s       f   o   r       w   h   i   c   h    
0050100    t   h   e   r   e       i   s       n   o       c   o   r   r
0050120    e   s   p   o   n   d   i   n   g       f   a   c   e   -   u
0050140    p       i   m   a   g   e      \r   /   /  \t   -   -       t
0050160    h   e   s   e       s   h   e   e   t   s       m   u   s   t
0050200        b   e       p   a   s   s   e   d       t   h   r   u    
0050220    a   t       t   h   e       a   p   p   r   o   p   r   i   a
0050240    t   e       t   i   m   e       -   -       a   n   d       b
0050260    y       t   h   e       f   a   c   t       t   h   a   t    
0050300    t   h   e   r   e       m   a   y       b   e       f   a   c
0050320    e   -   u   p       s   h   e   e   t   s       f   o   r    
0050340    w   h   i   c   h      \r   /   /  \t   t   h   e   r   e    
0050360    i   s       n   o       c   o   r   r   e   s   p   o   n   d
0050400    i   n   g       f   a   c   e   -   d   o   w   n       s   h
0050420    e   e   t       -   -       t   h   e   s   e       s   h   e
0050440    e   t   s       m   u   s   t       b   e       f   e   d    
0050460    f   r   o   m       t   h   e       m   a   i   n       t   r
0050500    a   y       i   n   s   t   e   a   d       o   f       t   h
0050520    e       a   u   x   .  \r  \r   a   n   d       l   e   t    
0050540    N   e   x   t   S   h   e   e   t   (   p   D   o   c   ,    
0050560    a   f   t   e   r   P   a   g   e   )       =       v   a   l
0050600    o   f               [  \r   n   e   x   t   B   i   n       =
0050620        S   e   l   e   c   t   B   i   n   (   c   u   r   B   i
0050640    n   )  \r   i   f       (   n   e   x   t   B   i   n       e
0050660    q       0   )       &       (   c   u   r   B   i   n       n
0050700    e           0   )       &       b   r   e   a   k   P   a   g
0050720    e       &       (   a   f   t   e   r   P   a  \0  \a 020   @
0050740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0050760   \0  \0 001 334 356 334  \0  \0   2   Y  \0   Y 366 356 370 366
0051000    g   e       <       p   D   o   c   >   >   D   o   c   G   .
0051020    n   P   a   g   e   s   )       d   o          \r  \t   /   /
0051040        s   w   i   t   c   h   i   n   g       t   o       o   v
0051060    e   r   f   l   o   w       b   i   n       -       l   e   a
0051100    v   e       b   r   e   a   k       p   a   g   e       i   n
0051120        m   a   i   l   b   o   x  \r  \t   [       n   e   x   t
0051140    H   a   n   d   l   i   n   g       =       p   S   S   M   a
0051160    i   n   ;       n   e   x   t   C   o   p   y       =       1
0051200    0   0   1   ;       b   r   e   a   k   P   a   g   e   C   o
0051220    p   y       =       1   0   0   2  \r  \t   r   e   s   u   l
0051240    t   i   s       (   (   p   D   o   c   >   >   D   o   c   G
0051260    .   n   P   a   g   e   s   )   -   1   )   *   (   s   i   z
0051300    e       P   a   g   e   G   /   1   6   )   +   p   D   o   c
0051320    >   >   D   o   c   G   .   P   a   g   e   s       ]  \r   l
0051340    e   t       n   P   a   g   e   s   ,       n   B   r   e   a
0051360    k   s       =       p   D   o   c   >   >   D   o   c   G   .
0051400    n   P   a   g   e   s   ,       b   r   e   a   k   P   a   g
0051420    e  \r   u   n   l   e   s   s       t   w   o   s   i   d   e
0051440    d           &       (   (   n   P   a   g   e   s       -    
0051460    n   B   r   e   a   k   s   )       g   r       0   )       d
0051500    o  \r  \t       [       n   e   x   t   H   a   n   d   l   i
0051520    n   g       =       p   S   S   M   a   i   n   ;       r   e
0051540    s   u   l   t   i   s       P   r   i   n   t   N   e   x   t
0051560    (   p   D   o   c   ,       l   v       n   e   x   t   C   o
0051600    p   y   ,       a   f   t   e   r   P   a   g   e   )       ]
0051620   \r   n   P   a   g   e   s       =       n   P   a   g   e   s
0051640        -       n   B   r   e   a   k   s  \r   l   e   t       b
0051660    k   P   a   g   e       =       n   P   a   g   e   s   *   (
0051700    s   i   z   e       P   a   g   e   G   /   1   6   )   +   p
0051720    D   o   c   >   >   D   o   c   G   .   P   a  \0  \a 020   @
0051740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0051760   \0  \0 001 334 354 334  \0  \0   0   Y  \0   Y 366 356 370 366
0052000    g   e   s           /   /       i   f       t   h   e   r   e
0052020        i   s       o   n   e  \r   l   e   t       n   C   o   p
0052040    i   e   s       =       p   D   o   c   >   >   D   o   c   G
0052060    .   n   C   o   p   i   e   s  \r   l   e   t       p   a   g
0052100    e       =       p   D   o   c   >   >   D   o   c   G   .   P
0052120    a   g   e   s  \t  \t   /   /       p   o   i   n   t   e   r
0052140        t   o       f   i   r   s   t       p   a   g   e  \r   l
0052160    e   t       f   i   r   s   t   P   a   g   e   E   v   e   n
0052200        =       (   p   a   g   e   >   >   P   a   g   e   G   .
0052220    w   h   i   c   h   S   i   d   e       e   q       0   )   ?
0052240        1   ,   0  \r   p   a   g   e       =       (   n   P   a
0052260    g   e   s   -   1   )       *       (   s   i   z   e       P
0052300    a   g   e   G   /   1   6   )       +       p   a   g   e  \t
0052320   \t   /   /           p   o   i   n   t   e   r       t   o    
0052340    l   a   s   t       p   a   g   e  \r   l   e   t       l   a
0052360    s   t   P   a   g   e   O   d   d       =       (   p   a   g
0052400    e   >   >   P   a   g   e   G   .   w   h   i   c   h   S   i
0052420    d   e       n   e       0   )   ?       1   ,   0  \r   l   e
0052440    t       n   D   o   u   b   l   e   s       =       (   n   P
0052460    a   g   e   s       -       f   i   r   s   t   P   a   g   e
0052500    E   v   e   n       -       l   a   s   t   P   a   g   e   O
0052520    d   d   )   /   2  \r   l   e   t       n   S   h   e   e   t
0052540    s       =       n   D   o   u   b   l   e   s       +       f
0052560    i   r   s   t   P   a   g   e   E   v   e   n       +       l
0052600    a   s   t   P   a   g   e   O   d   d  \r   l   e   t       n
0052620    A   u   x   S   i   d   e   s   ,       a   u   x   I   n   c
0052640    r   ,       n   A   u   x   B   r   e   a   k   s   ,       i
0052660    n   c   r   ,       r   e   l   I   m   a   g   e   I   n   d
0052700    e   x   ,       c   o   p   y       =       n   i   l   ,    
0052720    n   i   l   ,       n   i   l   ,       n   i  \0  \a 020   @
0052740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0052760   \0  \0 001 334 352 334  \0  \0   .   Y  \0   Y 366 356 370 366
0053000    l   ,       n   i   l   ,       0  \r   t   e   s   t       p
0053020    r   i   n   t   e   r   F   o   r   w   a   r   d       i   f
0053040    s   o  \r           [       n   A   u   x   S   i   d   e   s
0053060    ,       a   u   x   I   n   c   r   ,       n   A   u   x   B
0053100    r   e   a   k   s   ,       i   n   c   r   ,       n   B   r
0053120    e   a   k   s       =       n   D   o   u   b   l   e   s    
0053140    +       l   a   s   t   P   a   g   e   O   d   d   ,       l
0053160    a   s   t   P   a   g   e   O   d   d   ,       n   B   r   e
0053200    a   k   s   ,       f   i   r   s   t   P   a   g   e   E   v
0053220    e   n   ,       0       ]  \r           i   f   n   o   t  \r
0053240            [       n   A   u   x   S   i   d   e   s   ,       a
0053260    u   x   I   n   c   r   ,       n   A   u   x   B   r   e   a
0053300    k   s   ,       i   n   c   r       =       n   D   o   u   b
0053320    l   e   s       +       f   i   r   s   t   P   a   g   e   E
0053340    v   e   n   ,       f   i   r   s   t   P   a   g   e   E   v
0053360    e   n   ,       0   ,       l   a   s   t   P   a   g   e   O
0053400    d   d       ]  \r   l   e   t       t   o   t   A   u   x   S
0053420    i   d   e   s       =       n   A   u   x   S   i   d   e   s
0053440        *       n   C   o   p   i   e   s       +       n   A   u
0053460    x   B   r   e   a   k   s  \r   p   a   g   e       =       0
0053500   \r   t   e   s   t       a   f   t   e   r   P   a   g   e    
0053520    l   s       t   o   t   A   u   x   S   i   d   e   s       i
0053540    f   s   o  \t  \t   /   /       t   h   e   n       n   e   e
0053560    d       t   o       f   i   l   l       A   u   x       t   r
0053600    a   y  \r  \t   [  \r  \t   n   e   x   t   H   a   n   d   l
0053620    i   n   g       =       p   T   S   F   i   r   s   t  \r  \t
0053640    c   o   p   y       =       a   f   t   e   r   P   a   g   e
0053660        /       n   A   u   x   S   i   d   e   s  \r  \t   t   e
0053700    s   t       c   o   p   y       e   q       n   C   o   p   i
0053720    e   s       t   h   e   n       p   a   g   e  \0  \a 020   @
0053740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0053760   \0  \0 001 334 350 334  \0  \0   ,   Y  \0   Y 366 356 370 366
0054000        =           b   k   P   a   g   e           o   r  \r  \t
0054020            [  \r  \t           n   e   x   t   C   o   p   y    
0054040    =       p   r   i   n   t   e   r   F   o   r   w   a   r   d
0054060    ?       n   C   o   p   i   e   s   -   c   o   p   y   ,    
0054100    c   o   p   y   +   1  \r  \t           r   e   l   I   m   a
0054120    g   e   I   n   d   e   x       =       (   a   f   t   e   r
0054140    P   a   g   e       r   e   m       n   A   u   x   S   i   d
0054160    e   s   )   *   2       +       1       -       a   u   x   I
0054200    n   c   r  \r  \t           i   f       p   r   i   n   t   e
0054220    r   F   o   r   w   a   r   d       d   o       r   e   l   I
0054240    m   a   g   e   I   n   d   e   x       =       n   P   a   g
0054260    e   s       -   1   -       r   e   l   I   m   a   g   e   I
0054300    n   d   e   x  \r  \t           p   a   g   e       =       r
0054320    e   l   I   m   a   g   e   I   n   d   e   x       *       (
0054340    s   i   z   e       P   a   g   e   G   /   1   6   )       +
0054360        p   D   o   c   >   >   D   o   c   G   .   P   a   g   e
0054400    s  \r  \t           ]  \r  \t   ]  \r           i   f   n   o
0054420    t  \t   /   /       t   h   e   n       p   u   t       p   a
0054440    p   e   r       o   u   t       -       f   r   o   m       a
0054460    u   x       t   r   a   y       o   r       a   s       s   i
0054500    n   g   l   e       s   h   e   e   t   s       f   r   o   m
0054520        m   a   i   n       t   r   a   y  \r  \t   [  \r  \t   a
0054540    f   t   e   r   P   a   g   e       =       a   f   t   e   r
0054560    P   a   g   e       -       t   o   t   A   u   x   S   i   d
0054600    e   s  \r  \t   n   e   x   t   H   a   n   d   l   i   n   g
0054620        =       p   T   S   S   e   c   o   n   d  \r  \t   t   e
0054640    s   t       a   f   t   e   r   P   a   g   e       <       n
0054660    A   u   x   B   r   e   a   k   s       t   h   e   n  \t   p
0054700    a   g   e       =       1       o   r  \t  \t   /   /       n
0054720    o       i   m   a   g   e       -   -       j  \0  \a 020   @
0054740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0054760   \0  \0 001 334 346 334  \0  \0   *   Y  \0   Y 366 356 370 366
0055000    u   s   t       f   e   e   d       b   r   e   a   k   p   a
0055020    g   e       t   h   r   u  \r  \t           [  \r  \t        
0055040    a   f   t   e   r   P   a   g   e       =       a   f   t   e
0055060    r   P   a   g   e       -       n   A   u   x   B   r   e   a
0055100    k   s  \r  \t           t   e   s   t       a   f   t   e   r
0055120    P   a   g   e       <       n   S   h   e   e   t   s   *   n
0055140    C   o   p   i   e   s       i   f   s   o  \t  \t   /   /    
0055160    i   f       t   h   e   r   e       a   r   e       m   o   r
0055200    e       d   a   t   a       p   a   g   e   s       .       .
0055220        .  \r  \t  \t           [  \r  \t  \t           c   o   p
0055240    y       =       a   f   t   e   r   P   a   g   e   /   n   S
0055260    h   e   e   t   s  \r  \t  \t           n   e   x   t   C   o
0055300    p   y       =       p   r   i   n   t   e   r   F   o   r   w
0055320    a   r   d   ?       c   o   p   y   +   1   ,       n   C   o
0055340    p   i   e   s       -       c   o   p   y  \r  \t  \t        
0055360    r   e   l   I   m   a   g   e   I   n   d   e   x       =    
0055400    a   f   t   e   r   P   a   g   e       r   e   m       n   S
0055420    h   e   e   t   s  \r  \t  \t           t   e   s   t       (
0055440    r   e   l   I   m   a   g   e   I   n   d   e   x       +   a
0055460    u   x   I   n   c   r   )       e   q       n   S   h   e   e
0055500    t   s       t   h   e   n       p   a   g   e       =       1
0055520   \t   /   /       n   o       i   m   a   g   e       -   -    
0055540    j   u   s   t       f   e   e   d       p   a   g   e       t
0055560    h   r   u  \r  \t  \t           o   r  \t  \t   /   /       t
0055600    h   e   r   e       i   s       a   n       i   m   a   g   e
0055620        t   o       d   o  \r  \t  \t                   [  \r  \t
0055640   \t                   i   f       r   e   l   I   m   a   g   e
0055660    I   n   d   e   x       <       i   n   c   r       d   o    
0055700    n   e   x   t   H   a   n   d   l   i   n   g           =    
0055720    p   S   S   M   a   i   n       /   /       s  \0  \a 020   @
0055740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0055760   \0  \0 001 334 344 334  \0  \0   (   Y  \0   Y 366 356 370 366
0056000    i   n   g   l   e       s   h   e   e   t  \r  \t  \t        
0056020            l   e   t       p   a   g   e   I   n   d   e   x    
0056040    =       (   a   f   t   e   r   P   a   g   e       r   e   m
0056060        (   n   S   h   e   e   t   s       -       a   u   x   I
0056100    n   c   r   )   )   *   2       +       1       -       i   n
0056120    c   r  \r  \t  \t                   u   n   l   e   s   s    
0056140    p   r   i   n   t   e   r   F   o   r   w   a   r   d       d
0056160    o       p   a   g   e   I   n   d   e   x       =       n   P
0056200    a   g   e   s       -       1       -       p   a   g   e   I
0056220    n   d   e   x  \r  \t  \t                   p   a   g   e    
0056240    =       p   a   g   e   I   n   d   e   x   *   (   s   i   z
0056260    e       P   a   g   e   G   /   1   6   )       +       p   D
0056300    o   c   >   >   D   o   c   G   .   P   a   g   e   s  \r  \t
0056320   \t                   ]  \r  \t  \t           ]  \r  \t        
0056340            i   f   n   o   t  \t  \t   /   /       n   o       m
0056360    o   r   e       d   a   t   a       p   a   g   e   s  \r  \t
0056400   \t           [       i   f       a   f   t   e   r   P   a   g
0056420    e       <   n   S   h   e   e   t   s   *   n   C   o   p   i
0056440    e   s       +       n   B   r   e   a   k   s       d   o    
0056460        [       n   e   x   t   H   a   n   d   l   i   n   g    
0056500    =       p   S   S   M   a   i   n   ;       p   a   g   e    
0056520    =       b   k   P   a   g   e       ]       ]  \r  \t   ]    
0056540    ]  \r   i   f       p   a   g   e       e   q       b   k   P
0056560    a   g   e       t   h   e   n       n   e   x   t   C   o   p
0056600    y       =       b   r   e   a   k   P   a   g   e   C   o   p
0056620    y  \r   r   e   s   u   l   t   i   s       p   a   g   e    
0056640    ]  \r   /   /       -   -   -   -   -   -   -   -   -   -   -
0056660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056720    -   -   -   -   -   -   -   -   -   -   -   -  \0  \a 020   @
0056740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0056760   \0  \0 001 334 342 334  \0  \0   &   Y  \0   Y 366 356 370 366
0057000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057020    -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /    
0057040    S   e   t   u   p   R   e   c   o   v   e   r   y   (   p   D
0057060    o   c   ,       l   v   F   a   i   l   u   r   e   C   o   d
0057100    e   ,       l   v   X   p   o   r   t   M   o   d   e   l   ,
0057120        r   e   s   t   a   r   t   P   a   g   e   ,       c   o
0057140    d   e   ;       n   u   m   a   r   g   s       n   a   )  \r
0057160    /   /       -   -   -   -   -   -   -   -   -   -   -   -   -
0057200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057300    -   -   -   -   -   -  \r   /   /   T   h   i   s       i   s
0057320        t   r   u   l   y       s   e   r   i   o   u   s       -
0057340        S   p   r   u   c   e       a   b   o   r   t   s       t
0057360    h   e       f   i   l   e       a   n   d       r   e   s   t
0057400    a   r   t   s       f   r   o   m       t   h   e       b   e
0057420    g   i   n   n   i   n   g   .  \r   /   /  \t   $   $   5   0
0057440    7   0       0   7   0   :       s   t   a   r   t   i   n   g
0057460        o   v   e   r       -       A   u   x       t   r   a   y
0057500        e   m   p   t   y       t   o   o       s   o   o   n  \r
0057520    /   /       A   u   x       t   r   a   y       s   h   o   u
0057540    l   d       h   a   v   e       h   a   d       a       s   h
0057560    e   e   t       w   i   t   h       a       f   i   r   s   t
0057600        s   i   d   e       -       g   o   t       l   o   s   t
0057620        s   o   m   e   w   h   e   r   e  \r   /   /       $   $
0057640    5   0   7   1       0   7   1   :       A   u   x       t   r
0057660    a   y       e   m   p   t   y       m   a   l   f   u   n   c
0057700    t   i   o   n      \r   /   /       M   a   y       b   e    
0057720    s   p   u   r   i   o   u   s  \r   /   /  \t  \0  \a 020   @
0057740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0057760   \0  \0 001 334 340 334  \0  \0   $   Y  \0   Y 366 356 370 366
0060000    $   $   5   0   7   2       0   7   2   :       A   u   x    
0060020    t   r   a   y       h   a   s       t   r   a   s   h       i
0060040    n       i   t       -       p   l   e   a   s   e       e   m
0060060    p   t   y       i   t      \r  \r   /   /   T   h   e   s   e
0060100        r   e   p   r   e   s   e   n   t       e   x   t   e   r
0060120    n   a   l       p   r   o   b   l   e   m   s       -       S
0060140    p   r   u   c   e       n   e   e   d   s       u   s   e   r
0060160        i   n   t   e   r   v   e   n   t   i   o   n       t   o
0060200        r   e   c   o   v   e   r       n   i   c   e   l   y  \r
0060220    /   /   i   f       t   h   e       A   u   x       t   r   a
0060240    y       i   s       i   n   v   o   l   v   e   d   .  \r   /
0060260    /  \t   $   $   5   0   8   0       0   8   0   :       A   u
0060300    x       t   r   a   y       m   i   s   f   e   e   d  \r   /
0060320    /  \t   $   $   5   0   8   1       0   8   1   :       P   r
0060340    o   c   e   s   s   o   r       i   n   t   e   r   l   o   c
0060360    k       o   p   e   n  \r   /   /  \t   $   $   5   0   8   2
0060400        0   8   2   :       Z   o   n   e       I   I   A       j
0060420    a   m  \r   /   /  \t   $   $   5   0   8   3       0   8   3
0060440    :       Z   o   n   e       I   I   B       j   a   m  \r   /
0060460    /  \t   $   $   5   0   8   4       0   8   4   :       Z   o
0060500    n   e       I   I   I       j   a   m  \r   /   /  \t   $   $
0060520    5   0   8   5       0   8   5   :       J   a   m       -    
0060540    R   e   m   o   v   e       1       s   h   e   e   t       f
0060560    r   o   m       p   a   p   e   r       p   a   t   h   /   a
0060600    u   x       t   r   a   y   .  \r   /   /  \t   $   $   5   0
0060620    8   6       0   8   6   :       J   a   m       -       R   e
0060640    m   o   v   e       2       s   h   e   e   t   s       f   r
0060660    o   m       p   a   p   e   r       p   a   t   h   /   a   u
0060700    x       t   r   a   y   .  \r   /   /  \t   $   $   5   0   8
0060720    7       0   8   7   :       J   a   m       -  \0  \a 020   @
0060740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0060760   \0  \0 001 334 336 334  \0  \0   "   Y  \0   Y 366 356 370 366
0061000        R   e   m   o   v   e       3       s   h   e   e   t   s
0061020        f   r   o   m       p   a   p   e   r       p   a   t   h
0061040    /   a   u   x       t   r   a   y   .  \r  \r   /   /   E   v
0061060    e   n       i   f       t   h   e   s   e       w   e   r   e
0061100        d   e   t   e   c   t   e   d       w   h   i   l   e    
0061120    p   r   i   n   t   i   n   g   ,       a   s   s   u   m   e
0061140        P   e   n   g   u   i   n       d   i   d       n   o   t
0061160        s   t   a   r   t       f   e   e   d   i   n   g       p
0061200    a   p   e   r  \r   /   /   (   l   a   s   t       p   a   g
0061220    e       m   u   s   t       b   e       r   e   p   r   i   n
0061240    t   e   d   ,       b   u   t       n   o   t   h   i   n   g
0061260        i   n       t   h   e       p   a   p   e   r       t   r
0061300    a   n   s   p   o   r   t       m   e   c   h   a   n   i   s
0061320    m       w   a   s       d   a   m   a   g   e   d   )  \r   /
0061340    /  \t   $   $   5   0   9   0       0   9   0   :       M   a
0061360    i   n       t   r   a   y       m   i   s   f   e   e   d  \r
0061400   \r   /   /   t   h   e   s   e       a   s   s   u   m   e    
0061420    l   a   s   t       p   a   g   e       w   a   s       p   r
0061440    i   n   t   e   d       s   u   c   c   e   s   s   f   u   l
0061460    l   y       i   f       d   e   t   e   c   t   e   d       w
0061500    h   i   l   e       p   r   i   n   t   i   n   g       f   i
0061520    r   s   t       s   i   d   e  \r   /   /   I   f       w   e
0061540        a   r   e       w   r   o   n   g   ,       e   r   r   o
0061560    r       7   0       w   i   l   l       o   c   c   u   r  \r
0061600    /   /  \t   $   $   5   1   0   0       1   0   0   :       P
0061620    r   i   n   t   e   r       i   s       i   n       l   o   c
0061640    a   l       m   o   d   e   .       R   e   m   o   v   e    
0061660    A   u   d   i   t   r   o   n       k   e   y   .  \r   /   /
0061700   \t   $   $   5   1   0   1       1   0   1   :       R   O   S
0061720        m   a   l   f   u   n   c   t   i   o   n  \0  \a 020   @
0061740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0061760   \0  \0 001 334 334 334  \0  \0       Y  \0   Y 366 356 370 366
0062000        -       P   a   g   e       s   y   n   c       n   e   v
0062020    e   r       w   e   n   t       o   f   f   .  \r   /   /  \t
0062040    $   $   5   1   0   2       1   0   2   :       R   O   S    
0062060    o   r       p   r   i   n   t   i   n   g       m   a   l   f
0062100    u   n   c   t   i   o   n       -       O   r   b   i   t    
0062120    t   i   m   e   d       o   u   t  \r   /   /  \t       -   -
0062140        p   a   g   e       s   y   n   c       n   e   v   e   r
0062160        a   r   r   i   v   e   d   ,       o   r       e   n   g
0062200    i   n   e       d   i   e   d   ,       o   r       O   r   b
0062220    i   t       g   o   t       b   e   h   i   n   d   .  \r   /
0062240    /  \t   $   $   5   1   0   3       1   0   3   :       R   O
0062260    S       o   r       p   r   i   n   t   i   n   g       m   a
0062300    l   f   u   n   c   t   i   o   n       -       A   l   t   o
0062320        p   r   o   g   r   a   m       t   i   m   e   d       o
0062340    u   t  \r   /   /  \t       w   a   i   t   i   n   g       f
0062360    o   r       O   r   b   i   t       m   i   c   r   o   c   o
0062400    d   e   ;       p   a   g   e       s   y   n   c       n   e
0062420    v   e   r       a   r   r   i   v   e   d   ,       o   r    
0062440    e   n   g   i   n   e       d   i   e   d   ,       o   r    
0062460    O   r   b   i   t       g   o   t       b   e   h   i   n   d
0062500    .  \r   /   /  \t   $   $   5   1   0   4       1   0   4   :
0062520        N   o   t       r   e   a   d   y       -       c   o   n
0062540    t   r   o   l   l   e   r       i   s       i   n       w   a
0062560    i   t       s   t   a   t   e   .  \r   /   /  \t   $   $   5
0062600    1   0   5       1   0   5   :       S   o   r   t   e   r    
0062620    i   n   t   e   r   l   o   c   k       o   p   e   n  \r   /
0062640    /  \t   $   $   5   1   0   6       1   0   6   :       b   a
0062660    d       6   8   0   0       s   u   b   s   e   q   u   e   n
0062700    c   e       c   o   d   e  \r   /   /  \t   $   $   5   1   0
0062720    7       1   0   7   :       b   a   d       6  \0  \a 020   @
0062740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0062760   \0  \0 001 334 332 334  \0  \0 036   Y  \0   Y 366 356 370 366
0063000    8   0   0       m   a   i   n       s   e   q   u   e   n   c
0063020    e       c   o   d   e  \r   /   /  \t   $   $   5   1   0   8
0063040        1   0   8   :       I   n   k       l   o   w  \r   /   /
0063060   \t   $   $   5   1   0   9       1   0   9   :       T   r   a
0063100    y   s       d   o   n   '   t       m   a   t   c   h  \r   /
0063120    /  \t   $   $   5   1   1   0       1   1   0   :       F   u
0063140    s   e   r       n   o   t       r   e   a   d   y  \r   /   /
0063160   \t   $   $   5   1   1   1       1   1   1   :       M   a   i
0063200    n       t   r   a   y       m   i   s   f   e   e   d  \r   /
0063220    /  \t   $   $   5   1   1   2       1   1   2   :       C   y
0063240    c   l   e       c   o   n   t   r   o   l       s   t   a   t
0063260    e       e   r   r   o   r       i   n       6   8   0   0  \r
0063300    /   /  \t   $   $   5   1   1   3       1   1   3   :       6
0063320    8   0   0       r   e   p   o   r   t   s       a   b   n   o
0063340    r   m   a   l       c   o   n   d   i   t   i   o   n   ,    
0063360    b   u   t       d   i   d       n   o   t       s   p   e   c
0063400    i   f   y       w   h   a   t       i   t       i   s  \r   /
0063420    /  \t   $   $   5   1   1   4       1   1   4       U   n   e
0063440    x   p   e   c   t   e   d   l   y       l   o   s   t       P
0063460    r   i   n   t   i   n   g       s   t   a   t   e       o   r
0063500        d   i   d   n   '   t       r   e   a   c   h       e   x
0063520    p   e   c   t   e   d       C   y   c   l   e   d   o   w   n
0063540        s   t   a   t   e  \r   /   /   (  \t   P   e   n   g   u
0063560    i   n       P   r   i   n   t       [   p   r   i   n   t   l
0063600    o   o   p   ]   )  \r   /   /  \t   $   $   5   1   1   5    
0063620    1   1   5   :       M   a   i   n       p   a   p   e   r    
0063640    t   r   a   y       e   m   p   t   y  \r   /   /  \t   $   $
0063660    5   1   1   6       1   1   6   :       P   e   n   g   u   i
0063700    n       n   o   t       c   o   m   m   u   n   i   c   a   t
0063720    i   n   g       -       p   l   e   a   s   e  \0  \a 020   @
0063740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0063760   \0  \0 001 334 330 334  \0  \0 034   Y  \0   Y 366 356 370 366
0064000        c   h   e   c   k       i   t   (   R   O   S   C   h   e
0064020    c   k   )  \r   /   /  \t   $   $   5   1   1   7       1   1
0064040    7   :       P   e   n   g   u   i   n       r   e   t   u   r
0064060    n   e   d       u   n   k   n   o   w   n       m   a   l   f
0064100    u   n   c   t   i   o   n       c   o   d   e  \r   /   /  \t
0064120    $   $   5   1   1   8       1   1   8   :       L   a   s   e
0064140    r       a   p   p   e   a   r   s       t   o       b   e    
0064160    o   f   f  \r   /   /  \t   $   $   5   1   1   9       1   1
0064200    9   :       S   o   m   e   t   h   i   n   g       i   s    
0064220    w   r   o   n   g   ,       b   u   t       d   o   n   '   t
0064240        k   n   o   w       w   h   a   t  \r  \r   /   /   T   h
0064260    e   s   e       a   s   s   u   m   e       t   h   e       l
0064300    a   s   t       p   a   g   e       w   a   s       i   m   a
0064320    g   e   d       c   o   r   r   e   c   t   l   y  \r   /   /
0064340   \t   $   $   5   1   2   0       1   2   0   :       T   i   m
0064360    e   o   u   t       w   a   i   t   i   n   g       f   o   r
0064400        S   t   a   n   d   b   y       -       r   e   a   d   y
0064420        P   e   n   g   u   i   n   ,       p   l   e   a   s   e
0064440    .  \r   /   /  \t   $   $   5   1   2   1       1   2   1    
0064460    P   e   n   g   u   i   n       n   o   t       c   o   m   m
0064500    u   n   i   c   a   t   i   n   g       -       p   l   e   a
0064520    s   e       c   h   e   c   k       i   t  \r   /   /  \t    
0064540    (   P   r   i   n   t       s   t   a   r   t   u   p   )  \r
0064560    /   /  \t   $   $   5   1   2   2       1   2   2   :       P
0064600    e   n   g   u   i   n       i   n       s   t   a   n   d   b
0064620    y   ,       b   u   t       w   o   n   '   t       a   c   c
0064640    e   p   t       p   r   i   n   t       c   o   m   m   a   n
0064660    d  \r   /   /           $   $   5   1   2   3       1   2   3
0064700    :       P   r   i   n   t   e   r       i   n       p   o   w
0064720    e   r   -   o   n       m   o   d   e   :      \0  \a 020   @
0064740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0064760   \0  \0 001 334 326 334  \0  \0 032   Y  \0   Y 366 356 370 366
0065000        P   u   s   h       S   t   a   r   t   P   r   i   n   t
0065020        b   u   t   t   o   n  \r   /   /  \t   $   $   5   1   2
0065040    4       1   2   4   :       P   a   p   e   r       e   x   i
0065060    t       j   a   m   :           P   l   e   a   s   e       c
0065100    l   e   a   r  \r   /   /  \t   $   $   5   1   2   5       1
0065120    2   5   :       O   u   t   p   u   t       b   i   n   -   e
0065140    n   t   r   y       j   a   m   :       P   l   e   a   s   e
0065160        c   l   e   a   r  \r  \r   /   /   t   h   e   s   e    
0065200    a   r   e       p   r   e   c   a   u   t   i   o   n   a   r
0065220    y       s   t   o   p   s       -       s   p   r   u   c   e
0065240        p   r   o   c   e   e   d   s       a   f   t   e   r    
0065260    u   s   e   r       i   n   t   e   r   v   e   n   t   i   o
0065300    n  \r   /   /  \t   $   $   5   1   3   0       1   3   0   :
0065320        O   u   t   p   u   t       b   i   n       f   u   l   l
0065340    :       e   m   p   t   y       i   t       t   h   e   n    
0065360    t   y   p   e       P  \r   /   /           $   $   5   1   3
0065400    2       1   3   2   :       M   a   i   n       t   r   a   y
0065420        e   m   p   t   y       -       a   d   d       p   a   p
0065440    e   r  \r  \r   /   /   t   h   e   s   e       d   o   n   '
0065460    t       s   t   o   p       p   r   i   n   t   i   n   g  \r
0065500    /   /  \t   $   $   5   3   0   0       3   0   0   :       S
0065520    o   m   e       p   a   g   e   s       t   o   o       c   o
0065540    m   p   l   i   c   a   t   e   d   ,       b   u   t       a
0065560    l   l       w   e   r   e       p   r   i   n   t   e   d  \r
0065600    /   /  \t   O   r   b   i   t       g   o   t       b   e   h
0065620    i   n   d       R   O   S   ,       b   u   t       p   a   g
0065640    e       t   e   r   m   i   n   a   t   e   d       n   o   r
0065660    m   a   l   l   y   .  \r   /   /  \t   $   $   5   3   0   1
0065700        3   0   1   :       S   o   m   e       p   a   g   e   s
0065720        t   o   o       c   o   m   p   l   i   c  \0  \a 020   @
0065740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0065760   \0  \0 001 334 324 334  \0  \0 030   Y  \0   Y 366 356 370 366
0066000    a   t   e   d   ,       b   u   t       p   r   i   n   t   i
0066020    n   g       c   o   n   t   i   n   u   e   d  \r   /   /  \t
0066040    O   r   b   i   t       g   o   t       b   e   h   i   n   d
0066060        R   O   S   ,       q   u   i   t       e   a   r   l   y
0066100        w   h   e   n       S   e   n   d   V   i   d   e   o    
0066120    w   e   n   t       a   w   a   y   .  \r   /   /  \t   $   $
0066140    5   3   1   0       3   1   0   :       I   n   t   e   r   n
0066160    a   l       p   r   o   b   l   e   m   ;       p   l   e   a
0066200    s   e       i   n   f   o   r   m       S   p   r   u   c   e
0066220        m   a   i   n   e   n   a   n   c   e       p   e   r   s
0066240    o   n   n   e   l  \r   /   /  \t   L   e   f   t       o   v
0066260    e   r       t   a   b   l   e       i   s       n   o   t    
0066300    b   i   g       e   n   o   u   g   h   .  \r   /   /       -
0066320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066440    -   -  \r   /   /       S   e   t   u   p   R   e   c   o   v
0066460    e   r   y   (   p   D   o   c   ,       l   v   F   a   i   l
0066500    u   r   e   C   o   d   e   ,       l   v   X   p   o   r   t
0066520    M   o   d   e   l   ,       r   e   s   t   a   r   t   P   a
0066540    g   e   ,       c   o   d   e   ;       n   u   m   a   r   g
0066560    s       n   a   )  \r   /   /       -   -   -   -   -   -   -
0066600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066700    -   -   -   -   -   -   -   -   -   -   -   -  \r  \r   a   n
0066720    d       l   e   t       S   e   t   u   p   R  \0  \a 020   @
0066740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0066760   \0  \0 001 334 322 334  \0  \0 026   Y  \0   Y 366 356 370 366
0067000    e   c   o   v   e   r   y   (   p   D   o   c   ,       l   v
0067020    F   a   i   l   u   r   e   C   o   d   e   ,       l   v   X
0067040    p   o   r   t   M   o   d   e   l   ,       r   e   s   t   a
0067060    r   t   P   a   g   e   ,       c   o   d   e   ;       n   u
0067100    m   a   r   g   s       n   a       )       =       v   a   l
0067120    o   f  \r   [  \r   t   e   s   t       n   a       e   q    
0067140    5       t   h   e   n       [       @   l   v   F   a   i   l
0067160    u   r   e   C   o   d   e       =       c   o   d   e       ]
0067200        o   r       [       c   o   d   e       =       @   l   v
0067220    F   a   i   l   u   r   e   C   o   d   e       ]  \r   u   n
0067240    l   e   s   s       c   o   d   e       r   e   s   u   l   t
0067260    i   s       r   e   s   t   a   r   t   P   a   g   e  \r   i
0067300    f       c   o   d   e       <       7   5       r   e   s   u
0067320    l   t   i   s       0       /   /   p   a   p   e   r       i
0067340    n       a   u   x       t   r   a   y       d   i   d   n   '
0067360    t       c   o   m   e       o   u   t       e   v   e   n    
0067400    w   i   t   h       2   n   d       s   i   d   e       i   m
0067420    a   g   e   s  \r   l   e   t       b   a   c   k   u   p    
0067440    =       0  \r   i   f           c   o   d   e       <       8
0067460    5       t   h   e   n  \r  \t   [  \r  \t   l   e   t       x
0067500    p   m       =   @   l   v   X   p   o   r   t   M   o   d   e
0067520    l  \r  \t   w   h   i   l   e       x   p   m       n   e    
0067540    0       d   o       [       b   a   c   k   u   p       =    
0067560    b   a   c   k   u   p       +       (   x   p   m       &    
0067600    1   )   ;       x   p   m           =       x   p   m       r
0067620    s   h   i   f   t       1       ]  \r  \t   i   f       b   a
0067640    c   k   u   p       d   o      \r  \t  \t   [       s   t   o
0067660    p   s   P   r   i   n   t   i   n   g       =       (   b   a
0067700    c   k   u   p       l   s   h   i   f   t       8   )       +
0067720        j   a   m   ;       i   f       t   w   o  \0  \a 020   @
0067740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0067760   \0  \0 001 334 320 334  \0  \0 024   Y  \0   Y 366 356 370 366
0070000    s   i   d   e   d       d   o       @   l   v   F   a   i   l
0070020    u   r   e   C   o   d   e       =       b   a   c   k   u   p
0070040        +       8   4       ]  \r  \t   ]  \r   b   a   c   k   u
0070060    p       =       b   a   c   k   u   p       +       n   P   a
0070100    g   e   s   P   r   i   n   t   e   d       -       r   e   s
0070120    t   a   r   t   P   a   g   e  \r   l   e   t           n   F
0070140    i   r   s   t   S   i   d   e   s   ,       n   S   e   c   o
0070160    n   d   S   i   d   e   s   ,       n   S   i   n   g   l   e
0070200    S   h   e   e   t   s       =           0   ,       0   ,    
0070220    0  \r   i   f       (   n   P   a   g   e   s   P   r   i   n
0070240    t   e   d       g   e       b   a   c   k   u   p   )       &
0070260        (   r   e   s   t   a   r   t   P   a   g   e       g   e
0070300        (   n   P   a   g   e   s   P   r   i   n   t   e   d    
0070320    -       b   a   c   k   u   p   )   )       d   o           /
0070340    /   f   o   r       e   a   c   h       d   e   s   t   r   o
0070360    y   e   d       s   h   e   e   t  \r  \t  \t   [  \r  \t  \t
0070400    l   e   t       x       =       N   e   x   t   S   h   e   e
0070420    t   (   p   D   o   c   ,       r   e   s   t   a   r   t   P
0070440    a   g   e   -   1   )  \r  \t  \t   t   e   s   t       n   e
0070460    x   t   H   a   n   d   l   i   n   g       e   q       p   T
0070500    S   F   i   r   s   t       t   h   e   n       n   F   i   r
0070520    s   t   S   i   d   e   s       =       n   F   i   r   s   t
0070540    S   i   d   e   s       +       1  \r  \t  \t   o   r       t
0070560    e   s   t       n   e   x   t   H   a   n   d   l   i   n   g
0070600        e   q       p   T   S   S   e   c   o   n   d       t   h
0070620    e   n       n   S   e   c   o   n   d   S   i   d   e   s    
0070640    =       n   S   e   c   o   n   d   S   i   d   e   s       +
0070660        1  \r  \t  \t   o   r       n   S   i   n   g   l   e   S
0070700    h   e   e   t   s       =       n   S   i   n   g   l   e   S
0070720    h   e   e   t   s       +       1  \r  \t  \t  \0  \a 020   @
0070740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0070760   \0  \0 001 334 316 334  \0  \0 022   Y  \0   Y 366 356 370 366
0071000    i   f       r   e   s   t   a   r   t   P   a   g   e       e
0071020    q       (   n   P   a   g   e   s   P   r   i   n   t   e   d
0071040        -       b   a   c   k   u   p   )       t   h   e   n    
0071060    b   r   e   a   k  \r  \t  \t   r   e   s   t   a   r   t   P
0071100    a   g   e       =       r   e   s   t   a   r   t   P   a   g
0071120    e       -       1  \r  \t  \t   ]       r   e   p   e   a   t
0071140   \r   t   e   s   t       B   i   n   C   o   u   n   t   e   r
0071160    s   !   A   u   x   R   e   c   o   v   e   r   y   C   o   u
0071200    n   t       t   h   e   n       B   i   n   C   o   u   n   t
0071220    e   r   s   !   A   u   x   R   e   c   o   v   e   r   y   C
0071240    o   u   n   t       =       B   i   n   C   o   u   n   t   e
0071260    r   s   !   A   u   x   R   e   c   o   v   e   r   y   C   o
0071300    u   n   t   +       b   a   c   k   u   p       o   r  \r  \t
0071320    B   i   n   C   o   u   n   t   e   r   s   !   A   u   x   R
0071340    e   c   o   v   e   r   y   C   o   u   n   t       =       M
0071360    a   x   (   n   S   e   c   o   n   d   S   i   d   e   s    
0071400    -       n   F   i   r   s   t   S   i   d   e   s   ,       0
0071420    )  \r   r   e   s   u   l   t   i   s       r   e   s   t   a
0071440    r   t   P   a   g   e  \r   ]  \r   /   /       -   -   -   -
0071460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071520    -   -   -   -   -  \r   /   /       I   n   i   t   i   a   l
0071540    i   z   e   H   a   r   d   w   a   r   e   ,       R   O   S
0071560    C   o   m   m   a   n   d   ,       E   n   g   i   n   e   C
0071600    o   m   m   E   r   r   ,       S   e   l   e   c   t   B   i
0071620    n   .  \r   /   /       -   -   -   -   -   -   -   -   -   -
0071640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0071660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0071700   \r   a   n   d       I   n   i   t   i   a   l   i   z   e   H
0071720    a   r   d   w   a   r   e   (   )       b   e  \0  \a 020   @
0071740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0071760   \0  \0 001 334 314 334  \0  \0 020   Y  \0   Y 366 356 370 366
0072000   \r   [  \t   i   f       D   e   b   u   g       r   e   t   u
0072020    r   n  \r  \t   I   n   i   t   R   a   m   (   0   )  \t  \t
0072040   \t   /   /   R   e   s   e   t       a   l   l       R   A   M
0072060        t   a   s   k   s   ,       r   e   s   t   a   r   t    
0072100    T   r   i   d   e   n   t       i   f       n   e   c   e   s
0072120    s   a   r   y  \r  \t   D   o   F   u   n   c   (   f   C   o
0072140    n   t   r   o   l   ,       1   )  \t  \t   /   /   R   e   s
0072160    e   t       O   r   b   i   t  \r   ]  \r  \r   a   n   d    
0072200    R   O   S   C   o   m   m   a   n   d   (   c   o   m   m   a
0072220    n   d   )       =       v   a   l   o   f  \r  \t   [  \r  \t
0072240    r   o   s   C   o   u   n   t       =       (   c   o   m   m
0072260    a   n   d       e   q       p   R   e   s   e   t   C   o   u
0072300    n   t   )   ?       0   ,       r   o   s   C   o   u   n   t
0072320        +       1  \r  \t   D   o   F   u   n   c   (   f   R   O
0072340    S   C   o   m   m   a   n   d   ,       c   o   m   m   a   n
0072360    d   )  \r  \t   i   f       D   e   b   u   g       r   e   s
0072400    u   l   t   i   s       0  \r  \t   l   e   t       t   i   m
0072420        =       @   R   T   C  \r  \t   u   n   t   i   l       (
0072440    @   R   T   C       -       t   i   m   )       g   e       e
0072460    T   i   c   k   s       d   o      \r  \t  \t   [      \r  \t
0072500   \t   r   o   s   1   2       =       R   O   S   S   t   a   t
0072520    u   s   (   1   2   )  \r  \t  \t   i   f       (   r   o   s
0072540    C   o   u   n   t       &       #   3   7   7   )       e   q
0072560        (   r   o   s   1   2       &       #   3   7   7   )    
0072600    t   h   e   n       b   r   e   a   k      \r  \t  \t       ]
0072620   \r  \t   r   e   s   u   l   t   i   s       E   n   g   i   n
0072640    e   C   o   m   m   E   r   r   (   r   o   s   1   2   )  \r
0072660   \t   ]  \r  \r   a   n   d       l   e   t       E   n   g   i
0072700    n   e   C   o   m   m   E   r   r   (   x   )       =       v
0072720    a   l   o   f  \r  \r   /   /       r   e   t  \0  \a 020   @
0072740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0072760   \0  \0 001 334 312 334  \0  \0 016   Y  \0   Y 366 356 370 366
0073000    u   r   n   s      \r   /   /  \t   1       -       i   f    
0073020    c   o   u   n   t       k   e   p   t       b   y       p   e
0073040    n   g   u   i   n       d   o   e   s       n   o   t       a
0073060    g   r   e   e       w   i   t   h       r   o   s   C   o   u
0073100    n   t  \r   /   /  \t   2       -       i   f       a       c
0073120    o   m   m   a   n   d       w   a   s       r   e   j   e   c
0073140    t   e   d       b   e   c   a   u   s   e       p   e   n   g
0073160    u   i   n       d   i   d   n   '   t       r   e   c   o   g
0073200    n   i   z   e       i   t  \r   /   /  \t   3       -       i
0073220    f       p   e   n   g   u   i   n       d   i   d   n   '   t
0073240        a   c   c   e   p   t       a       c   o   m   m   a   n
0073260    d       b   e   c   a   u   s   e       i   t   s       b   u
0073300    f   f   e   r   s       w   e   r   e       f   u   l   l    
0073320    (   o   f       o   t   h   e   r       c   o   m   m   a   n
0073340    d   s   )  \r  \t   [  \r  \t   i   f       (   x       &    
0073360    #   3   7   7   )       n   e       (   r   o   s   C   o   u
0073400    n   t       &       #   3   7   7   )               r   e   s
0073420    u   l   t   i   s       1  \r  \t   i   f       (   x       &
0073440        #   1   0   0   0   0   )       e   q       #   1   0   0
0073460    0   0               r   e   s   u   l   t   i   s       2   +
0073500        (   x   &   #   2   0   0   0       e   q       0   ?   0
0073520    ,   1   )  \r  \t   r   e   s   u   l   t   i   s       0  \r
0073540   \t   ]  \r  \r   a   n   d       S   e   l   e   c   t   B   i
0073560    n   (   b   i   n   )       =       v   a   l   o   f  \r   [
0073600   \r   l   e   t       t   r   a   y       =       0  \r   i   f
0073620        (   (   C   a   p   a   b   i   l   i   t   i   e   s    
0073640    &       m   M   a   i   l   b   o   x   )       n   e       0
0073660    )       &       (   B   i   n   C   o   u   n   t   e   r   s
0073700    !   b   i   n       l   e       5   0   )       &       (   B
0073720    i   n   C   o   u   n   t   e   r   s   !   0  \0  \a 020   @
0073740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0073760   \0  \0 001 334 310 334  \0  \0  \f   Y  \0   Y 366 356 370 366
0074000        l   e       5   0   )       t   h   e   n       t   r   a
0074020    y       =       b   i   n  \r   i   f       (   (   C   a   p
0074040    a   b   i   l   i   t   i   e   s       &       m   M   u   l
0074060    t   i   B   i   n   )       n   e       0   )       t   h   e
0074100    n  \r  \t   [  \r  \t   t   e   s   t       (   B   i   n   C
0074120    o   u   n   t   e   r   s   !   b   i   n       <       5   0
0074140    )       t   h   e   n       t   r   a   y       =       b   i
0074160    n  \r  \t   o   r       t   r   a   y       =       M   i   n
0074200    (   b   i   n   +   1   ,       1   8   )  \r  \t   ]  \r   r
0074220    e   s   u   l   t   i   s       t   r   a   y  \r   ]  \r  \r
0074240    /   /       D   e   c   e   m   b   e   r       1   5   ,    
0074260    1   9   7   8           1   0   :   0   4       A   M       f
0074300    i   r   s   t       c   u   t       -       d   e   r   i   v
0074320    e   d       f   r   o   m       p   u   f   f   i   n   p   r
0074340    i   n   t   ,       s   o   r   t       o   f   .  \r   /   /
0074360        J   a   n   u   a   r   y       2   ,       1   9   7   9
0074400            4   :   4   0       P   M       m   o   r   e       w
0074420    o   r   k       o   n       R   O   S   C   h   e   c   k  \r
0074440    /   /       J   a   n   u   a   r   y       4   ,       1   9
0074460    7   9           3   :   1   2       P   M       f   i   r   s
0074500    t       c   u   t       a   t       x   p   o   r   t   M   o
0074520    d   e   l   ,       m   o   r   e       w   o   r   k       o
0074540    n       R   O   S   C   h   e   c   k  \r   /   /       J   a
0074560    n   u   a   r   y       1   5   ,       1   9   7   9        
0074600    3   :   5   3       P   M       f   i   x       R   O   S   C
0074620    o   m   m   a   n   d  \r   /   /       J   a   n   u   a   r
0074640    y       1   9   ,       1   9   7   9           3   :   0   4
0074660        P   M       c   l   e   a   n   u   p       a   n   d    
0074700    b   e   a   u   t   i   f   i   c   a   t   i   o   n  \r   /
0074720    /       J   a   n   u   a   r   y       3   0  \0  \a 020   @
0074740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0074760   \0  \0 001 334 306 334  \0  \0  \n   Y  \0   Y 366 356 370 366
0075000    ,       1   9   7   9           1   1   :   0   8       A   M
0075020        c   h   a   n   g   e       o   r   d   e   r       o   f
0075040        t   e   s   t   s       i   n       E   n   g   i   n   e
0075060    C   o   m   m   E   r   r  \r   /   /       F   e   b   r   u
0075100    a   r   y       1   4   ,       1   9   7   9           9   :
0075120    4   7       A   M       t   u   r   n       o   n       l   e
0075140    d       c   o   n   t   r   o   l       -   -       r   e   l
0075160    e   a   s   e       2  \r   /   /       F   e   b   r   u   a
0075200    r   y       2   8   ,       1   9   7   9           3   :   1
0075220    9       P   M       i   n   c   r   e   a   s   e       p   r
0075240    i   n   t   H   y   s   t   e   r   e   s   i   s       t   o
0075260        3   0  \r   /   /       M   a   r   c   h       1   ,    
0075300    1   9   7   9           1   2   :   2   6       P   M       b
0075320    e       t   o   u   g   h   e   r       o   n       u   n   e
0075340    x   p   e   c   t   e   d       p   r   i   n   t   i   n   g
0075360        s   t   a   t   e       f   r   o   m       6   8   0   0
0075400   \r   /   /       A   p   r   i   l       1   0   ,       1   9
0075420    7   9           1   2   :   4   5       P   M       f   i   r
0075440    s   t       c   u   t       -       t   w   o   s   i   d   e
0075460    d       p   r   i   n   t   i   n   g  \r   /   /       A   p
0075500    r   i   l       1   7   ,       1   9   7   9           1   0
0075520    :   0   1       P   M       c   l   e   a   n   u   p  \r   /
0075540    /       M   a   y       2   2   ,       1   9   7   9        
0075560    1   1   :   2   4       A   M       u   p   g   r   a   d   e
0075600        t   o       o   s   1   6  \r   /   /           M   a   y
0075620        2   3   ,       1   9   7   9           2   :   1   9    
0075640    P   M   ,       f   i   x       m   e   a   s   u   r   e    
0075660    i   n   t   e   r   f   a   c   e  \r   /   /       J   u   n
0075700    e       2   8   ,       1   9   7   9           4   :   4   0
0075720        P   M   ,       a   l   l   o   w       f  \0  \a 020   @
0075740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0075760   \0  \0 001 334 304 334  \0  \0  \b   Y  \0   Y 366 356 370 366
0076000    o   r       s   p   u   r   i   o   u   s       '   a   u   x
0076020    t   r   a   y       e   m   p   t   y   '       m   s   g    
0076040    a   n   d       p   r   i   m   i   t   i   v   e       e   r
0076060    r   o   r       r   e   c   o   v   e   r   y  \r   /   /    
0076100    A   u   g   u   s   t       6   ,       1   9   7   9        
0076120    1   0   :   4   9       A   M   ,       u   s   e       S   e
0076140    t   u   p   P   r   i   n   t       i   n       S   p   r   u
0076160    c   e   P   r   i   n   t   ;       h   a   n   d   l   e    
0076200    s   i   m   p   l   e   x   ,       o   v   e   r   f   l   o
0076220    w       p   r   o   t   e   c   t   i   o   n   ,       o   u
0076240    t   p   u   t       m   o   d   e   s  \r   /   /       A   u
0076260    g   u   s   t       1   0   ,       1   9   7   9           4
0076300    :   1   4       P   M   ,       f   i   r   s   t       c   u
0076320    t       n   e   w       e   r   r   o   r       h   a   n   d
0076340    l   i   n   g  \r   /   /       A   u   g   u   s   t       1
0076360    4   ,       1   9   7   9           5   :   0   6       P   M
0076400    ,       m   o   r   e       c   l   e   a   n   u   p       w
0076420    o   r   k  \r   /   /       A   u   g   u   s   t       2   1
0076440    ,       1   9   7   9           1   0   :   2   0       A   M
0076460    ,       p   u   t       o   u   t       b   r   e   a   k    
0076500    p   a   g   e       i   f       c   h   a   n   g   i   n   g
0076520        b   i   n   s   ,       c   l   e   a   n   u   p  \r   /
0076540    /       A   u   g   u   s   t       2   9   ,       1   9   7
0076560    9           2   :   0   3       P   M   ,       m   u   l   t
0076600    i   b   i   n       d   o   e   s   n   '   t       u   s   e
0076620        s   a   m   e       o   v   e   r   f   l   o   w       b
0076640    i   n       a   s       m   a   i   l   b   o   x  \r   /   /
0076660        S   e   p   t   e   m   b   e   r       1   3   ,       1
0076700    9   7   9           9   :   4   8       A   M   ,       f   o
0076720    r   c   e       u   s   e   r       i   n   t  \0  \a 020   @
0076740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0076760   \0  \0 001 334 302 334  \0  \0 006   Y  \0   Y 366 356 370 366
0077000    e   r   a   c   t   i   o   n       f   o   r       j   a   m
0077020        o   n       t   w   o       s   i   d   e   d       p   r
0077040    i   n   t  \r   /   /       S   e   p   t   e   m   b   e   r
0077060        1   3   ,       1   9   7   9           4   :   4   5    
0077100    P   M   ,       f   i   x       h   a   n   d   l   i   n   g
0077120        o   f       j   a   m       o   n       4   t   h       s
0077140    h   e   e   t  \r   /   /       S   e   p   t   e   m   b   e
0077160    r       2   0   ,       1   9   7   9           9   :   5   5
0077200        A   M   ,       w   o   r   k       o   n       e   r   r
0077220    o   r       m   e   s   s   a   g   e   s  \r   /   /       S
0077240    e   p   t   e   m   b   e   r       2   8   ,       1   9   7
0077260    9           9   :   5   8       A   M   ,       i   f       f
0077300    i   l   e       i   s       j   u   s   t       a       b   r
0077320    e   a   k       p   a   g   e   ,       t   r   e   a   t    
0077340    a   s       s   i   n   g   l   e       s   i   d   e  \r   /
0077360    /       O   c   t   o   b   e   r       3   ,       1   9   7
0077400    9           4   :   2   4       P   M   ,       u   s   e    
0077420    n   e   w       P   a   g   e   G       s   t   r   u   c   t
0077440    u   r   e  \r   /   /       O   c   t   o   b   e   r       1
0077460    7   ,       1   9   7   9           3   :   1   9       P   M
0077500    ,       e   n   a   b   l   e       b   i   n   -   p   o   s
0077520    i   t   i   o   n   i   n   g       c   o   m   m   a   n   d
0077540    s  \r   /   /       O   c   t   o   b   e   r       2   6   ,
0077560        1   9   7   9           1   2   :   1   6       P   M   ,
0077600        p   u   t       '   M   O   R   E       I   N       O   V
0077620    E   R   F   L   O   W       B   I   N   '       b   r   e   a
0077640    k   p   a   g   e       i   n       m   a   i   l   b   o   x
0077660   \r   /   /       O   c   t   o   b   e   r       2   6   ,    
0077700    1   9   7   9           3   :   5   9       P   M   ,       i
0077720    n   c   r   e   a   s   e       t   i   m   e  \0  \a 020   @
0077740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0077760   \0  \0 001 334 300 334  \0  \0 004   Y  \0   Y 366 356 370 366
0100000    o   u   t       t   o       1   1       s   e   c   o   n   d
0100020    s       t   o       a   l   l   o   w       b   i   n       m
0100040    o   v   e   m   e   n   t       t   o       c   o   m   p   l
0100060    e   t   e  \r   /   /       J   a   n   u   a   r   y       1
0100100    5   ,       1   9   8   0           1   0   :   1   2       P
0100120    M   ,       r   e   m   o   v   e       k   l   u   d   g   e
0100140        f   o   r       s   p   u   r   i   o   u   s       a   u
0100160    x       t   r   a   y       e   m   p   t   y       m   s   g
0100200        o   n       s   w   i   t   c   h       t   o       2   n
0100220    d       s   i   d   e  \r   /   /  \t  \t   "  \t   a   d   d
0100240        e   r   r   o   r   s       1   2   4       &       1   2
0100260    5       f   o   r       e   x   i   t       j   a   m   s  \r
0100300    /   /       F   e   b   r   u   a   r   y       2   7   ,    
0100320    1   9   8   0   ,       4   :   2   7       P   M   ,       t
0100340    r   y       t   o       g   e   t       i   n   t   e   r   m
0100360    e   d   i   a   t   e       b   r   e   a   k       p   a   g
0100400    e   s       i   n       r   i   g   h   t       b   i   n  \r
0100420    /   /       M   a   r   c   h       3   ,       1   9   8   0
0100440        1   2   :   0   6       P   M   ,       t   r   y       s
0100460    o   m   e       m   o   r   e  \r   /   /       J   u   l   y
0100500        1   6   ,       1   9   8   0   ,       4   :   3   8    
0100520    P   M   ,       i   f       t   h   e   r   e       i   s    
0100540    a       b   r   e   a   k       p   a   g   e       b   r   e
0100560    a   k   P   a   g   e       v   a   l   u   e       i   s    
0100600    1       (   i   n   s   t   e   a   d       o   f       t   r
0100620    u   e   )  \r   /   /       J   u   l   y       2   3   ,    
0100640    1   9   8   0   ,       4   :   0   7       P   M   ,        
0100660    c   y   c   l   e   d   o   w   n       g   r   a   c   e   f
0100700    u   l   l   y       i   f       b   i   n       f   u   l   l
0100720       \r   /   /       F   e   b   r   u   a   r  \0  \a 020   @
0100740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0100760   \0  \0 001 334 276 334  \0  \0 002   Y  \0   Y 366 356 370 366
0101000    y       2   ,       1   9   8   1           4   :   2   1    
0101020    P   M   ,           d   o   n   '   t       s   w   a   t    
0101040    i   f       b   a   d       b   a   n   d       e   n   t   r
0101060    y       p   r   o   b   a   b   l   y       d   u   e       t
0101100    o       l   e   f   t   o   v   e   r       o   v   e   r   f
0101120    l   o   w  \r   /   /  \r  \r  \r  \0  \0  \0  \0  \0  \0  \0
0101140   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0101720   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \a 020   @
0101740  377   v 037  \0 002   { 035  \0  \0   (   & 001      \0  \0   @
0101760   \0  \0  \0   Y 274 334  \0  \0  \0   Y  \0   Y 366 356 370 366
0102000