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