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