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