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