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