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