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