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