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