$ od -c -N 50000 [Indigo]<Alto-1822>Comm>Telnet.dm!1
0000000  377  \0  \0   T   e   l   n   e   t   .   m   e   s   a  \0 376
0000020  001  \0   A 033   -   -   T   e   l   n   e   t   .   m   e   s
0000040    a  \r   -   -   L   S   t   e   w   a   r   t       A   u   g
0000060    u   s   t       1   7   ,       1   9   7   8           1   0
0000100    :   4   2       A   M  \r  \r   D   I   R   E   C   T   O   R
0000120    Y  \r           D   i   s   p   l   a   y   D   e   f   s   :
0000140        F   R   O   M       "   D   i   s   p   l   a   y   D   e
0000160    f   s   "       U   S   I   N   G       [   S   e   t   S   y
0000200    s   t   e   m   D   i   s   p   l   a   y   S   i   z   e   ]
0000220    ,  \r           I   O   D   e   f   s   :       F   R   O   M
0000240        "   I   O   D   e   f   s   "   ,  \r           P   r   o
0000260    c   e   s   s   D   e   f   s   :       F   R   O   M       "
0000300    P   r   o   c   e   s   s   D   e   f   s   "       U   S   I
0000320    N   G       [   Y   i   e   l   d   ]   ,  \r           P   u
0000340    p   S   t   r   e   a   m   :       F   R   O   M       "   P
0000360    u   p   S   t   r   e   a   m   "   ,  \r           S   t   r
0000400    e   a   m   :       F   R   O   M       "   S   t   r   e   a
0000420    m   "   ,  \r 376 001  \0 200 317           S   t   r   e   a
0000440    m   D   e   f   s   :       F   R   O   M       "   S   t   r
0000460    e   a   m   D   e   f   s   "   ;  \r  \r   T   e   l   n   e
0000500    t   :       P   R   O   G   R   A   M       I   M   P   O   R
0000520    T   S       D   i   s   p   l   a   y   D   e   f   s   ,    
0000540    I   O   D   e   f   s   ,       P   u   p   S   t   r   e   a
0000560    m   ,       S   t   r   e   a   m   ,       P   r   o   c   e
0000600    s   s   D   e   f   s       =  \r  \r           B   E   G   I
0000620    N       O   P   E   N       I   O   D   e   f   s   ,       P
0000640    u   p   S   t   r   e   a   m   ;  \r  \r   c   h   :       C
0000660    H   A   R   A   C   T   E   R   ;  \r   m   y   W   h   y   :
0000700        P   u   p   S   t   r   e   a   m   .   C   l   o   s   e
0000720    R   e   a   s   o   n       _       l   o   c   a   l   C   l
0000740    o   s   e   ;  \r   w   h   y   T   e   x   t   :       A   R
0000760    R   A   Y       P   u   p   S   t   r   e   a   m   .   C   l
0001000    o   s   e   R   e   a   s   o   n       O   F       S   T   R
0001020    I   N   G       _  \r           [ 376 001  \0   p 364  \r    
0001040        "   l   o   c   a   l   C   l   o   s   e   "   ,       "
0001060    r   e   m   o   t   e   C   l   o   s   e   "   ,  \r        
0001100    "   n   o   R   o   u   t   e   T   o   N   e   t   w   o   r
0001120    k   "   ,       "   t   r   a   n   s   m   i   s   s   i   o
0001140    n   T   i   m   e   o   u   t   "   ,       "   r   e   m   o
0001160    t   e   R   e   j   e   c   t   "           ]   ;  \r  \r   l
0001200    i   s   t   e   n   e   r   :       P   u   p   L   i   s   t
0001220    e   n   e   r       _       N   I   L   ;  \r   s   o   c   N
0001240    u   m   :       P   u   p   S   o   c   k   e   t   I   D    
0001260    _       [   0   ,   1   ]   ;           -   -   t   e   l   n
0001300    e   t       s   o   c   k   e   t  \r   h   e   r   a   l   d
0001320    :       S   T   R   I   N   G       _       "   M   e   s   a
0001340        S   e   r   v   e   r       T   e   l   n   e   t   "   ;
0001360   \r   -   -       u   s   e   r       s   t   u   f   f  \r   s
0001400    :       S   T   R   I   N   G       _       [   8   0   ]   ;
0001420   \r   e   s   c   a   p   e   C   h   a   r   :       C 376 001
0001440   \0 273   F   H   A   R   A   C   T   E   R       _       0   3
0001460    2   C   ;           -   -   c   o   n   t   r   o   l       Z
0001500   \r   a   d   d   r   e   s   s   :       P   u   p   A   d   d
0001520    r   e   s   s   ;  \r   m   y   S   o   c   k   e   t   :    
0001540    P   u   p   S   o   c   k   e   t   I   D       _       [   1
0001560    2   3   ,   4   5   6   ]   ;  \r   k   e   y   S   t   r   e
0001600    a   m   :       S   t   r   e   a   m   D   e   f   s   .   S
0001620    t   r   e   a   m   H   a   n   d   l   e       _       G   e
0001640    t   I   n   p   u   t   S   t   r   e   a   m   [   ]   ;  \r
0001660    m   y   S   t   r   e   a   m   :       S   t   r   e   a   m
0001700    .   H   a   n   d   l   e   ;  \r   c   l   o   s   e   d   ,
0001720        p   l   e   a   s   e   S   t   o   p   ,       e   c   h
0001740    o   L   F   ,       s   e   r   v   e   r   S   t   o   p   ,
0001760        c   o   n   n   e   c   t   e   d   :       B   O   O   L
0002000    E   A   N   ;  \r   r   p   :       P   R   O   C   E   S   S
0002020    ;  \r  \r   S   e   n   d   M   a   r   k   :       P   R   O
0002040    C   E   D 376 001  \0 362 267   U   R   E   [   b   s   :    
0002060    S   t   r   e   a   m   .   H   a   n   d   l   e   ,       m
0002100    a   r   k   T   y   p   e   :       I   N   T   E   G   E   R
0002120    ,       d   a   t   a   :       I   N   T   E   G   E   R   ]
0002140        =  \r           B   E   G   I   N  \r           S   t   r
0002160    e   a   m   .   S   e   t   S   S   T   [   b   s   ,   L   O
0002200    O   P   H   O   L   E   [   m   a   r   k   T   y   p   e   ]
0002220    ]   ;  \r           S   t   r   e   a   m   .   P   u   t   B
0002240    y   t   e   [   b   s   ,   L   O   O   P   H   O   L   E   [
0002260    d   a   t   a   ]   ]   ;  \r           S   t   r   e   a   m
0002300    .   S   e   n   d   N   o   w   [   b   s   ]   ;  \r        
0002320    E   N   D   ;  \r  \r   T   a   l   k   :       P   R   O   C
0002340    E   D   U   R   E       =  \r           B   E   G   I   N  \r
0002360            p   l   e   a   s   e   S   t   o   p       _       F
0002400    A   L   S   E   ;  \r           r   p       _       F   O   R
0002420    K       R   e   a   d   [   ]   ;  \r           W   r   i   t
0002440    e   [   ]   ;  \r           J 376 001  \0 020 217   O   I   N
0002460        r   p   ;  \r           E   N   D   ;  \r  \r   R   e   a
0002500    d   :       P   R   O   C   E   D   U   R   E       =  \r    
0002520        B   E   G   I   N  \r           c   :       C   H   A   R
0002540    A   C   T   E   R   ;  \r           e   a   t   B   y   t   e
0002560    :       B   O   O   L   E   A   N       _       F   A   L   S
0002600    E   ;  \r                   U   N   T   I   L       p   l   e
0002620    a   s   e   S   t   o   p       D   O  \r                    
0002640        E   N   A   B   L   E       B   E   G   I   N  \r        
0002660                    S   t   r   e   a   m   .   S   S   T   C   h
0002700    a   n   g   e       =   >  \r                                
0002720    B   E   G   I   N  \r                                   I   F
0002740        s   s   t   =   5       T   H   E   N           -   -   W
0002760    A   R   N   I   N   G   !           T   h   i   s       i   s
0003000        d   a   n   g   e   r   o   u   s   !   !  \r            
0003020                                B   E   G   I   N  \r            
0003040                                S   t   r   e   a   m 376 001  \0
0003060  344   3   .   S   e   t   S   S   T   [   m   y   S   t   r   e
0003100    a   m   ,   6   ]   ;  \r                                    
0003120        S   t   r   e   a   m   .   S   e   n   d   N   o   w   [
0003140    m   y   S   t   r   e   a   m   ]   ;  \r                    
0003160                        E   N   D   ;  \r                        
0003200            I   F       s   s   t   =   1       T   H   E   N  \r
0003220                                            B   E   G   I   N  \r
0003240                                            W   r   i   t   e   C
0003260    h   a   r   [   C   R   ]   ;   W   r   i   t   e   L   i   n
0003300    e   [   "   !   S   y   n   c   h   !   "   ]   ;  \r        
0003320                                    E   N   D   ;  \r            
0003340                        I   F       s   s   t   =   6       T   H
0003360    E   N  \r                                           B   E   G
0003400    I   N  \r                                           W   r   i
0003420    t   e   C   h   a   r   [   C   R   ]   ;   W   r   i   t   e
0003440    L   i   n   e   [   "   !   T   i   m   i   n   g   M   a   r
0003460    k   R 376 001  \0 221   A   e   p   l   y   !   "   ]   ;  \r
0003500                                            E   N   D   ;  \r    
0003520                                I   F       s   s   t           I
0003540    N       [   2   .   .   4   ]       T   H   E   N  \r        
0003560                                    B   E   G   I   N  \r        
0003600                                    W   r   i   t   e   C   h   a
0003620    r   [   C   R   ]   ;   W   r   i   t   e   S   t   r   i   n
0003640    g   [   "   M   a   r   k       T   y   p   e       "   ]   ;
0003660   \r                                           W   r   i   t   e
0003700    D   e   c   i   m   a   l   [   s   s   t   ]   ;   W   r   i
0003720    t   e   S   t   r   i   n   g   [   "   ,       A   r   g   u
0003740    m   e   n   t       =       "   ]   ;  \r                    
0003760                        e   a   t   B   y   t   e       _       T
0004000    R   U   E   ;  \r                                           E
0004020    N   D   ;  \r                                   R   E   S   U
0004040    M   E   ;  \r                                   E   N   D   ;
0004060   \r                         376 001  \0 006   A   P   u   p   S
0004100    t   r   e   a   m   .   S   t   r   e   a   m   C   l   o   s
0004120    i   n   g       =   >  \r                                   B
0004140    E   G   I   N  \r                                   p   l   e
0004160    a   s   e   S   t   o   p       _       c   l   o   s   e   d
0004200        _       T   R   U   E   ;  \r                            
0004220        c   o   n   n   e   c   t   e   d       _       F   A   L
0004240    S   E   ;  \r                                   m   y   W   h
0004260    y       _       w   h   y   ;  \r                            
0004300        E   X   I   T   ;  \r                                   E
0004320    N   D   ;  \r                           S   t   r   e   a   m
0004340    .   T   i   m   e   O   u   t       =   >       I   F       p
0004360    l   e   a   s   e   S   t   o   p       T   H   E   N       E
0004400    X   I   T       E   L   S   E       R   E   S   U   M   E   ;
0004420   \r                           E   N   D   ;  \r                
0004440    c       _       L   O   O   P   H   O   L   E   [   S   t   r
0004460    e   a   m   .   G   e   t   B   y   t   e   [ 376 001  \0 364
0004500  373   m   y   S   t   r   e   a   m   ]   ]   ;  \r            
0004520        I   F       e   a   t   B   y   t   e       T   H   E   N
0004540   \r                           B   E   G   I   N  \r            
0004560                W   r   i   t   e   D   e   c   i   m   a   l   [
0004600    L   O   O   P   H   O   L   E   [   c   ]   ]   ;   W   r   i
0004620    t   e   C   h   a   r   [   C   R   ]   ;  \r                
0004640            e   a   t   B   y   t   e       _       F   A   L   S
0004660    E   ;  \r                           E   N   D  \r            
0004700        E   L   S   E       I   F       c   #   L   F       T   H
0004720    E   N       W   r   i   t   e   C   h   a   r   [   c   ]   ;
0004740   \r                   E   N   D   L   O   O   P   ;  \r        
0004760    E   N   D   ;  \r  \r   W   r   i   t   e   :       P   R   O
0005000    C   E   D   U   R   E       =  \r           B   E   G   I   N
0005020   \r           c   :       C   H   A   R   A   C   T   E   R   ;
0005040   \r                   U   N   T   I   L       p   l   e   a   s
0005060    e   S   t   o   p       D   O       E   N   A   B   L   E    
0005100    P 376 001  \0   & 306   u   p   S   t   r   e   a   m   .   S
0005120    t   r   e   a   m   C   l   o   s   i   n   g       =   >  \r
0005140                            B   E   G   I   N  \r                
0005160            c   l   o   s   e   d       _       p   l   e   a   s
0005200    e   S   t   o   p       _       T   R   U   E   ;  \r        
0005220                    c   o   n   n   e   c   t   e   d       _    
0005240    F   A   L   S   E   ;  \r                           m   y   W
0005260    h   y       _       w   h   y   ;  \r                        
0005300    E   X   I   T   ;  \r                           E   N   D   ;
0005320   \r                   I   F       N   O   T       k   e   y   S
0005340    t   r   e   a   m   .   e   n   d   o   f   [   k   e   y   S
0005360    t   r   e   a   m   ]       T   H   E   N  \r                
0005400            B   E   G   I   N  \r                           c    
0005420    _       R   e   a   d   C   h   a   r   [   ]   ;  \r        
0005440                    I   F       c   =   e   s   c   a   p   e   C
0005460    h   a   r       T   H   E   N       p   l   e   a   s   e   S
0005500    t   o   p       _     376 001  \0  \f 003   T   R   U   E  \r
0005520                            E   L   S   E  \r                    
0005540                B   E   G   I   N  \r                            
0005560        S   t   r   e   a   m   .   P   u   t   B   y   t   e   [
0005600    m   y   S   t   r   e   a   m   ,   L   O   O   P   H   O   L
0005620    E   [   c   ]   ]   ;  \r                                   I
0005640    F       c   =   C   R       A   N   D       e   c   h   o   L
0005660    F       T   H   E   N       S   t   r   e   a   m   .   P   u
0005700    t   B   y   t   e   [   m   y   S   t   r   e   a   m   ,   L
0005720    O   O   P   H   O   L   E   [   L   F   ]   ]   ;  \r        
0005740                            S   t   r   e   a   m   .   S   e   n
0005760    d   N   o   w   [   m   y   S   t   r   e   a   m   ]   ;  \r
0006000                                    E   N   D   ;  \r            
0006020                E   N   D   ;  \r                   P   r   o   c
0006040    e   s   s   D   e   f   s   .   Y   i   e   l   d   [   ]   ;
0006060   \r                   E   N   D   L   O   O   P   ;  \r        
0006100    E   N   D   ;  \r  \r   E   c   h   o   : 376 001  \0 215 225
0006120        P   R   O   C   E   D   U   R   E       [   b   s   :    
0006140    S   t   r   e   a   m   .   H   a   n   d   l   e   ,       r
0006160    e   m   o   t   e   :       P   u   p   A   d   d   r   e   s
0006200    s   ]       =  \r           B   E   G   I   N  \r           e
0006220    r   r   s   t   r   :       S   T   R   I   N   G       _    
0006240    [   8   0   ]   ;  \r           c   :       C   H   A   R   A
0006260    C   T   E   R   ;  \r           i   :       C   A   R   D   I
0006300    N   A   L   ;  \r           e   a   t   B   y   t   e   :    
0006320    B   O   O   L   E   A   N       _       F   A   L   S   E   ;
0006340   \r           -   -       M   a   i   n   l   i   n   e       o
0006360    f       s   e   r   v   e   r  \r           W   r   i   t   e
0006400    S   t   r   i   n   g   [   "   C   o   n   n   e   c   t   i
0006420    o   n       f   r   o   m       "   ]   ;  \r           A   p
0006440    p   e   n   d   P   u   p   A   d   d   r   e   s   s   [   e
0006460    r   r   s   t   r   ,   @   r   e   m   o   t   e   ]   ;  \r
0006500            W   r   i   t   e   S   t   r   i   n   g   [   e   r
0006520  376 001  \0 217 300   r   s   t   r   ]   ;  \r           W   r
0006540    i   t   e   L   i   n   e   [   "       a   c   c   e   p   t
0006560    e   d   "   ]   ;  \r                   B   E   G   I   N    
0006600    E   N   A   B   L   E       P   u   p   S   t   r   e   a   m
0006620    .   S   t   r   e   a   m   C   l   o   s   i   n   g       =
0006640    >  \r                           B   E   G   I   N  \r        
0006660                    W   r   i   t   e   S   t   r   i   n   g   [
0006700    "   C   o   n   n   e   c   t   i   o   n       w   i   t   h
0006720        "   ]   ;  \r                           A   p   p   e   n
0006740    d   P   u   p   A   d   d   r   e   s   s   [   e   r   r   s
0006760    t   r   ,   @   r   e   m   o   t   e   ]   ;  \r            
0007000                W   r   i   t   e   S   t   r   i   n   g   [   "
0007020    c   l   o   s   e   d       b   e   c   a   u   s   e       .
0007040    .   .       "   ]   ;  \r                           W   r   i
0007060    t   e   L   i   n   e   [   w   h   y   T   e   x   t   [   w
0007100    h   y   ]   ]   ;  \r                           b   s   .   d
0007120    e   l   e   t   e 376 001  \0   !   o   [   b   s   ]   ;  \r
0007140                            G   O   T   O       S   h   o   r   t
0007160    L   i   f   e   ;  \r                           E   N   D   ;
0007200   \r                   F   O   R       i       I   N       [   0
0007220    .   .   h   e   r   a   l   d   .   l   e   n   g   t   h   )
0007240   \r                           D   O  \r                        
0007260    S   t   r   e   a   m   .   P   u   t   B   y   t   e   [   b
0007300    s   ,   L   O   O   P   H   O   L   E   [   h   e   r   a   l
0007320    d   .   t   e   x   t   [   i   ]   ]   ]   ;  \r            
0007340                E   N   D   L   O   O   P   ;  \r                
0007360    S   t   r   e   a   m   .   P   u   t   B   y   t   e   [   b
0007400    s   ,   L   O   O   P   H   O   L   E   [   C   R   ]   ]   ;
0007420   \r                   I   F       e   c   h   o   L   F       T
0007440    H   E   N       S   t   r   e   a   m   .   P   u   t   B   y
0007460    t   e   [   b   s   ,   L   O   O   P   H   O   L   E   [   L
0007500    F   ]   ]   ;  \r                   S   t   r   e   a   m   .
0007520    S   e   n   d   N   o   w   [   b   s 376 001  \0 266 353   ]
0007540    ;  \r                   E   N   D   ;  \r  \r           U   N
0007560    T   I   L       s   e   r   v   e   r   S   t   o   p       D
0007600    O  \r                   E   N   A   B   L   E       B   E   G
0007620    I   N  \r                   P   u   p   S   t   r   e   a   m
0007640    .   S   t   r   e   a   m   C   l   o   s   i   n   g       =
0007660    >  \r                           B   E   G   I   N  \r        
0007700                    W   r   i   t   e   S   t   r   i   n   g   [
0007720    "   C   o   n   n   e   c   t   i   o   n       w   i   t   h
0007740        "   ]   ;  \r                           A   p   p   e   n
0007760    d   P   u   p   A   d   d   r   e   s   s   [   e   r   r   s
0010000    t   r   ,   @   r   e   m   o   t   e   ]   ;  \r            
0010020                W   r   i   t   e   S   t   r   i   n   g   [   "
0010040    c   l   o   s   e   d       b   e   c   a   u   s   e       .
0010060    .   .       "   ]   ;  \r                           W   r   i
0010100    t   e   L   i   n   e   [   w   h   y   T   e   x   t   [   w
0010120    h   y   ]   ]   ;  \r                           b   s   . 376
0010140  001  \0   > 354   d   e   l   e   t   e   [   b   s   ]   ;  \r
0010160                            E   X   I   T   ;  \r                
0010200            E   N   D   ;  \r                   S   t   r   e   a
0010220    m   .   S   S   T   C   h   a   n   g   e       =   >  \r    
0010240                        B   E   G   I   N  \r                    
0010260        I   F       s   s   t   =   5       T   H   E   N        
0010300    -   -   W   A   R   N   I   N   G   !           T   h   i   s
0010320        i   s       d   a   n   g   e   r   o   u   s   !   !  \r
0010340                                    B   E   G   I   N  \r        
0010360                            S   t   r   e   a   m   .   S   e   t
0010400    S   S   T   [   b   s   ,   6   ]   ;  \r                    
0010420                S   t   r   e   a   m   .   S   e   n   d   N   o
0010440    w   [   b   s   ]   ;  \r                                   E
0010460    N   D   ;  \r                           I   F       s   s   t
0010500    =   1       T   H   E   N  \r                                
0010520    B   E   G   I   N  \r                                   W   r
0010540    i   t   e   C 376 001  \0 341 232   h   a   r   [   C   R   ]
0010560    ;   W   r   i   t   e   L   i   n   e   [   "   !   S   y   n
0010600    c   h   !   "   ]   ;  \r                                   E
0010620    N   D   ;  \r                           I   F       s   s   t
0010640    =   6       T   H   E   N  \r                                
0010660    B   E   G   I   N  \r                                   W   r
0010700    i   t   e   C   h   a   r   [   C   R   ]   ;   W   r   i   t
0010720    e   L   i   n   e   [   "   !   T   i   m   i   n   g   M   a
0010740    r   k   R   e   p   l   y   !   "   ]   ;  \r                
0010760                    E   N   D   ;  \r                           I
0011000    F       s   s   t           I   N       [   2   .   .   4   ]
0011020        T   H   E   N  \r                                   B   E
0011040    G   I   N  \r                                   W   r   i   t
0011060    e   C   h   a   r   [   C   R   ]   ;   W   r   i   t   e   S
0011100    t   r   i   n   g   [   "   M   a   r   k       T   y   p   e
0011120        "   ]   ;  \r                                   W   r   i
0011140    t   e   D   e   c   i   m   a   l 376 001  \0 274 033   [   s
0011160    s   t   ]   ;   W   r   i   t   e   S   t   r   i   n   g   [
0011200    "   ,       A   r   g   u   m   e   n   t       =       "   ]
0011220    ;  \r                                   e   a   t   B   y   t
0011240    e       _       T   R   U   E   ;  \r                        
0011260            E   N   D   ;  \r                           I   F    
0011300    s   e   r   v   e   r   S   t   o   p       T   H   E   N    
0011320    E   X   I   T       E   L   S   E       R   E   S   U   M   E
0011340    ;  \r                           E   N   D   ;  \r            
0011360        S   t   r   e   a   m   .   T   i   m   e   O   u   t    
0011400    =   >       I   F       s   e   r   v   e   r   S   t   o   p
0011420        T   H   E   N       E   X   I   T       E   L   S   E    
0011440    R   E   S   U   M   E   ;  \r                   E   N   D   ;
0011460   \r                   c       _       L   O   O   P   H   O   L
0011500    E   [   S   t   r   e   a   m   .   G   e   t   B   y   t   e
0011520    [   b   s   ]   ]   ;  \r                   I   F       e   a
0011540    t   B   y   t   e       T   H   E   N  \r             376 001
0011560   \0   4 271               B   E   G   I   N  \r                
0011600            W   r   i   t   e   D   e   c   i   m   a   l   [   L
0011620    O   O   P   H   O   L   E   [   c   ]   ]   ;   W   r   i   t
0011640    e   C   h   a   r   [   C   R   ]   ;  \r                    
0011660        e   a   t   B   y   t   e       _       F   A   L   S   E
0011700    ;  \r                           E   N   D  \r                
0011720    E   L   S   E  \r                           B   E   G   I   N
0011740   \r                           I   F       c   #   L   F       T
0011760    H   E   N  \r                                   B   E   G   I
0012000    N  \r                                   W   r   i   t   e   C
0012020    h   a   r   [   c   ]   ;  \r                                
0012040    S   t   r   e   a   m   .   P   u   t   B   y   t   e   [   b
0012060    s   ,   L   O   O   P   H   O   L   E   [   c   ]   ]   ;  \r
0012100                                    E   N   D   ;  \r            
0012120                I   F       c   =   C   R       A   N   D       e
0012140    c   h   o   L   F       T   H   E   N       S   t   r   e   a
0012160    m   .   P 376 001  \0 201   j   u   t   B   y   t   e   [   b
0012200    s   ,   L   O   O   P   H   O   L   E   [   L   F   ]   ]   ;
0012220   \r                           S   t   r   e   a   m   .   S   e
0012240    n   d   N   o   w   [   b   s   ]   ;  \r                    
0012260        E   N   D   ;  \r                   I   F       l   i   s
0012300    t   e   n   e   r   =   N   I   L       T   H   E   N       E
0012320    X   I   T   ;  \r           E   N   D   L   O   O   P   ;  \r
0012340            W   r   i   t   e   L   i   n   e   [   "   S   e   r
0012360    v   e   r       d   y   i   n   g   .   .   .   "   ]   ;  \r
0012400            b   s   .   d   e   l   e   t   e   [   b   s   ]   ;
0012420   \r           E   X   I   T   S  \r                   S   h   o
0012440    r   t   L   i   f   e       =   >       N   U   L   L   ;  \r
0012460            E   N   D   ;  \r  \r   -   -   M   a   i   n   l   i
0012500    n   e       c   o   d   e  \r  \r           D   i   s   p   l
0012520    a   y   D   e   f   s   .   S   e   t   S   y   s   t   e   m
0012540    D   i   s   p   l   a   y   S   i   z   e   [   4   0   ,   4
0012560    0   ]   ;  \r           A   d 376 001  \0   , 303   j   u   s
0012600    t   B   u   f   f   e   r   P   a   r   m   s   [   3   0   ,
0012620    2   6   6   ]   ;  \r           c   o   n   n   e   c   t   e
0012640    d       _       F   A   L   S   E   ;  \r           P   u   p
0012660    P   a   c   k   a   g   e   M   a   k   e   [   ]   ;  \r    
0012700        W   r   i   t   e   C   h   a   r   [   C   R   ]   ;    
0012720    W   r   i   t   e   L   i   n   e   [   "   A   l   t   o    
0012740    M   e   s   a       T   e   l   n   e   t   "   ]   ;  \r    
0012760        D   O  \t   -   -       l   o   o   p       u   n   t   i
0013000    l       s   t   o   p   p   e   d       b   y       u   s   e
0013020    r       t   y   p   i   n   g       q       o   r       Q    
0013040    (   l   a   s   t       c   a   s   e       b   e   l   o   w
0013060    )   .  \r                   E   N   A   B   L   E       P   u
0013100    p   N   a   m   e   T   r   o   u   b   l   e       =   >  \r
0013120                            B   E   G   I   N  \r                
0013140            W   r   i   t   e   S   t   r   i   n   g   [   "    
0013160    .   .   .       E   r   r   o   r   :       "   ] 376 001  \0
0013200    2 312   ;  \r                           W   r   i   t   e   L
0013220    i   n   e   [   e   ]   ;  \r                           L   O
0013240    O   P   ;  \r                           E   N   D   ;  \r    
0013260                W   r   i   t   e   C   h   a   r   [   C   R   ]
0013300    ;       W   r   i   t   e   S   t   r   i   n   g   [   "   #
0013320        "   ]   ;  \r                   c   h       _       R   e
0013340    a   d   C   h   a   r   [   ]   ;  \r                   S   E
0013360    L   E   C   T       c   h       F   R   O   M  \r            
0013400                '   c   ,       '   C       =   >      \r        
0013420                            B   E   G   I   N  \r                
0013440                    I   F       c   o   n   n   e   c   t   e   d
0013460        T   H   E   N  \r                                        
0013500    B   E   G   I   N  \r                                        
0013520    W   r   i   t   e   S   t   r   i   n   g   [   "   C   o   n
0013540    n   e   c   t   i   o   n       a   l   r   e   a   d   y    
0013560    o   p   e   n       t   o   :       "   ]   ;  \r            
0013600          376 001  \0 240   S                       s   .   l   e
0013620    n   g   t   h       _       0   ;  \r                        
0013640                    A   p   p   e   n   d   P   u   p   A   d   d
0013660    r   e   s   s   [   s   ,   @   a   d   d   r   e   s   s   ]
0013700    ;  \r                                           W   r   i   t
0013720    e   S   t   r   i   n   g   [   s   ]   ;  \r                
0013740                            G   O   T   O       R   e   j   e   c
0013760    t   ;  \r                                           E   N   D
0014000    ;  \r                                   W   r   i   t   e   S
0014020    t   r   i   n   g   [   "   C   o   n   n   e   c   t   i   o
0014040    n       t   o       "   ]   ;  \r                            
0014060        R   e   a   d   I   D   [   s       !       R   u   b   o
0014100    u   t       =   >       G   O   T   O       R   e   j   e   c
0014120    t   ]   ;  \r                                   G   e   t   P
0014140    u   p   A   d   d   r   e   s   s   [   @   a   d   d   r   e
0014160    s   s   ,   s   ]   ;  \r                                   s
0014200    .   l   e   n   g   t   h 376 001  \0 277   n       _       0
0014220    ;  \r                                   A   p   p   e   n   d
0014240    P   u   p   A   d   d   r   e   s   s   [   s   ,   @   a   d
0014260    d   r   e   s   s   ]   ;  \r                                
0014300    W   r   i   t   e   S   t   r   i   n   g   [   "       (   .
0014320    .   .   =       "   ]   ;  \r                                
0014340    W   r   i   t   e   S   t   r   i   n   g   [   s   ]   ;  \r
0014360                                    W   r   i   t   e   S   t   r
0014400    i   n   g   [   "       )       i   s       "   ]   ;  \r    
0014420                                m   y   S   t   r   e   a   m    
0014440    _       P   u   p   B   y   t   e   S   t   r   e   a   m   C
0014460    r   e   a   t   e   [   m   y   S   o   c   k   e   t   ,   a
0014500    d   d   r   e   s   s   ,   S   e   c   o   n   d   s   T   o
0014520    T   o   c   k   s   [   1   ]  \r                            
0014540        !       S   t   r   e   a   m   C   l   o   s   i   n   g
0014560        =   >  \r                                                
0014600    B   E   G   I   N  \r                         376 001  \0   `
0014620    -                           W   r   i   t   e   L   i   n   e
0014640    [   "   i   n   c   o   m   p   l   e   t   e   "   ]   ;  \r
0014660                                                    W   r   i   t
0014700    e   S   t   r   i   n   g   [   "           b   e   c   a   u
0014720    s   e   :   "   ]   ;  \r                                    
0014740                W   r   i   t   e   S   t   r   i   n   g   [   w
0014760    h   y   T   e   x   t   [   w   h   y   ]   ]   ;  \r        
0015000                                            L   O   O   P   ;  \r
0015020                                                    E   N   D   ]
0015040    ;  \r                                   W   r   i   t   e   L
0015060    i   n   e   [   "   c   o   m   p   l   e   t   e   "   ]   ;
0015100    W   r   i   t   e   C   h   a   r   [   C   R   ]   ;  \r    
0015120                                c   o   n   n   e   c   t   e   d
0015140        _       T   R   U   E   ;  \r                            
0015160        S   e   n   d   M   a   r   k   [   m   y   S   t   r   e
0015200    a   m   ,   4   ,   1   0   ]   ;       -   -   t   e   r   m
0015220    i 376 001  \0 340   V   n   a   l       t   y   p   e  \r    
0015240                                S   e   n   d   M   a   r   k   [
0015260    m   y   S   t   r   e   a   m   ,   2   ,   8   0   ]   ;    
0015300    -   -   l   i   n   e       w   i   d   t   h  \r            
0015320                        S   e   n   d   M   a   r   k   [   m   y
0015340    S   t   r   e   a   m   ,   3   ,   3   9   ]   ;       -   -
0015360    s   c   r   e   e   n       h   e   i   g   h   t  \r        
0015400                            E   X   I   T   S  \r                
0015420                    R   e   j   e   c   t       =   >       N   U
0015440    L   L   ;  \r                                   E   N   D   ;
0015460   \r                           '   d   ,       '   D       =   >
0015500       \r                                   B   E   G   I   N  \r
0015520                                    W   r   i   t   e   S   t   r
0015540    i   n   g   [   "   D   i   s   c   o   n   n   e   c   t   .
0015560    .   .       "   ]   ;  \r                                   m
0015600    y   S   t   r   e   a   m   .   d   e   l   e   t   e   [   m
0015620    y   S   t   r   e   a 376 001  \0 203   <   m   ]   ;  \r    
0015640                                c   o   n   n   e   c   t   e   d
0015660        _       F   A   L   S   E   ;  \r                        
0015700            W   r   i   t   e   S   t   r   i   n   g   [   "   C
0015720    o   n   n   e   c   t   i   o   n       C   l   o   s   e   d
0015740    "   ]   ;  \r                                   E   N   D   ;
0015760   \r                           '   e   ,       '   E       =   >
0016000       \r                                   B   E   G   I   N  \r
0016020                                    W   r   i   t   e   S   t   r
0016040    i   n   g   [   "   E   s   c   a   p   e       C   h   a   r
0016060    a   c   t   e   r       i   s       "   ]   ;  \r            
0016100                        e   s   c   a   p   e   C   h   a   r    
0016120    _       R   e   a   d   C   h   a   r   [   ]   ;  \r        
0016140                            W   r   i   t   e   C   h   a   r   [
0016160    e   s   c   a   p   e   C   h   a   r   ]   ;  \r            
0016200                        E   N   D   ;  \r                        
0016220    '   l   ,       '   L       =   >      \r 376 001  \0 304 241
0016240                                    B   E   G   I   N  \r        
0016260                            W   r   i   t   e   S   t   r   i   n
0016300    g   [   "   L   i   n   e   f   e   e   d       E   c   h   o
0016320        i   s       "   ]   ;  \r                                
0016340    I   F       e   c   h   o   L   F       T   H   E   N  \r    
0016360                                        B   E   G   I   N  \r    
0016400                                        W   r   i   t   e   S   t
0016420    r   i   n   g   [   "   O   f   f   "   ]   ;  \r            
0016440                                e   c   h   o   L   F       _    
0016460    F   A   L   S   E   ;  \r                                    
0016500        E   N   D  \r                                   E   L   S
0016520    E  \r                                           B   E   G   I
0016540    N  \r                                           W   r   i   t
0016560    e   S   t   r   i   n   g   [   "   O   n   "   ]   ;  \r    
0016600                                        e   c   h   o   L   F    
0016620    _       T   R   U   E   ;  \r                                
0016640  376 001  \0 025  \t           E   N   D   ;  \r                
0016660                    E   N   D   ;  \r                           '
0016700    n   ,       '   N       =   >      \r                        
0016720            B   E   G   I   N  \r                                
0016740    a   d   d   r   e   s   s   :       P   u   p   A   d   d   r
0016760    e   s   s   ;  \r                                   s   :    
0017000    S   T   R   I   N   G       _       [   8   0   ]   ;  \r    
0017020                                W   r   i   t   e   S   t   r   i
0017040    n   g   [   "   N   a   m   e       l   o   o   k   u   p    
0017060    o   f       "   ]   ;  \r                                   R
0017100    e   a   d   I   D   [   s   !       R   u   b   o   u   t    
0017120    =   >       G   O   T   O       R   e   j   e   c   t   ]   ;
0017140   \r                                   G   e   t   P   u   p   A
0017160    d   d   r   e   s   s   [   @   a   d   d   r   e   s   s   ,
0017200    s   ]   ;  \r                                   s   .   l   e
0017220    n   g   t   h       _       0   ;  \r                        
0017240            A   p   p 376 001  \0   B   &   e   n   d   P   u   p
0017260    A   d   d   r   e   s   s   [   s   ,   @   a   d   d   r   e
0017300    s   s   ]   ;  \r                                   W   r   i
0017320    t   e   S   t   r   i   n   g   [   "       .   .   .   =    
0017340    "   ]   ;  \r                                   W   r   i   t
0017360    e   S   t   r   i   n   g   [   s   ]   ;  \r                
0017400                    E   X   I   T   S  \r                        
0017420            R   e   j   e   c   t       =   >       N   U   L   L
0017440    ;  \r                                   E   N   D   ;  \r    
0017460                        '   q   ,       '   Q       =   >      \r
0017500                                    B   E   G   I   N  \r        
0017520                            P   u   p   P   a   c   k   a   g   e
0017540    D   e   s   t   r   o   y   [   ]   ;  \r                    
0017560                W   r   i   t   e   L   i   n   e   [   "   Q   u
0017600    i   t   "   ]   ;       W   r   i   t   e   C   h   a   r   [
0017620    C   R   ]   ;  \r                                   S   T   O
0017640    P   ;  \r                             376 001  \0 250   {    
0017660    P   u   p   P   a   c   k   a   g   e   M   a   k   e   [   ]
0017700    ;  \r                                   E   N   D   ;  \r    
0017720                        '   s   ,       '   S       =   >      \r
0017740                                    B   E   G   I   N  \r        
0017760                            W   r   i   t   e   S   t   r   i   n
0020000    g   [   "   S   e   r   v   e   r       T   e   l   n   e   t
0020020        "   ]   ;  \r                                   I   F    
0020040    l   i   s   t   e   n   e   r   =   N   I   L       T   H   E
0020060    N  \r                                           B   E   G   I
0020100    N  \r                                           s   e   r   v
0020120    e   r   S   t   o   p       _       F   A   L   S   E   ;  \r
0020140                                            l   i   s   t   e   n
0020160    e   r       _       C   r   e   a   t   e   P   u   p   B   y
0020200    t   e   S   t   r   e   a   m   L   i   s   t   e   n   e   r
0020220        [   s   o   c   N   u   m   ,       E   c   h   o   ,    
0020240    S   e   c   o   n   d   s   T   o   T   o   c   k   s   [ 376
0020260  001  \0 022 017   3   ]   ]   ;  \r                            
0020300                W   r   i   t   e   S   t   r   i   n   g   [   "
0020320    O   n   "   ]   ;  \r                                        
0020340    E   N   D  \r                                   E   L   S   E
0020360   \r                                           B   E   G   I   N
0020400   \r                                           s   e   r   v   e
0020420    r   S   t   o   p       _       T   R   U   E   ;  \r        
0020440                                    D   e   s   t   r   o   y   P
0020460    u   p   L   i   s   t   e   n   e   r   [   l   i   s   t   e
0020500    n   e   r   ]   ;  \r                                        
0020520    l   i   s   t   e   n   e   r   _   N   I   L   ;  \r        
0020540                                    W   r   i   t   e   S   t   r
0020560    i   n   g   [   "   O   f   f   "   ]   ;  \r                
0020600                            E   N   D   ;  \r                    
0020620                E   N   D   ;  \r                           '   ?
0020640        =   >      \r                                   B   E   G
0020660    I   N  \r     376 001  \0   f   x                            
0020700    W   r   i   t   e   L   i   n   e   [   "   C   (   o   n   n
0020720    e   c   t   )   ,       Q   (   u   i   t   )   ,       L   (
0020740    i   n   e   f   e   e   d       E   c   h   o       O   n   /
0020760    O   f   f   )   "   ]   ;  \r                                
0021000    W   r   i   t   e   L   i   n   e   [   "   N   (   a   m   e
0021020        l   o   o   k   u   p   )   ,       S   (   e   r   v   e
0021040    r       O   n   /   O   f   f   )   ,   "   ]   ;  \r        
0021060                            W   r   i   t   e   L   i   n   e   [
0021100    "   D   (   i   s   c   o   n   n   e   c   t   )   ,       E
0021120    (   s   c   a   p   e       C   h   a   r       i   s   )   "
0021140    ]   ;  \r                                   E   N   D   ;  \r
0021160                            E   N   D   C   A   S   E       =   >
0021200        N   U   L   L   ;  \r                           I   F    
0021220    c   o   n   n   e   c   t   e   d       T   H   E   N  \r    
0021240                                B   E   G   I   N  \r            
0021260                        W   r   i   t 376 001  \0 233   b   e   L
0021300    i   n   e   [   "       #   "   ]   ;  \r                    
0021320                T   a   l   k   [   ]   ;  \r                    
0021340                E   N   D   ;  \r                           P   r
0021360    o   c   e   s   s   D   e   f   s   .   Y   i   e   l   d   [
0021400    ]   ;  \r                           E   N   D   L   O   O   P
0021420    ;  \r           E   N   D   . 032   (   1   7   9   2   )   \
0021440    2   9   0   b   6   B   7   1   2   b   8   B   1   8   2   b
0021460    4   B   9   4   b   4   B   1   7   0   b   3   3   B   6   8
0021500    2   t   2       1   t   0       1   2   t   2       1   t   0
0021520        2   8   6   b   5   B   2   1   t   2       1   t   0    
0021540    1   7   4   t   2       1   t   0       1   0   t   2       2
0021560    t   0       3   6   8   b   4   B   5   3   9   t   2       1
0021600    t   0       1   0   t   2       1   t   0       2   2   8   t
0021620    2       1   t   0       2   6   7   t   2       1   t   0    
0021640    1   0   t   2       1   t   0       5   6   b   3   3   B   5
0021660    1   4   t   2       1   t   0       5   8   0   b   1 376  \0
0021700      223 004   3   B   1   1   9   8   t   2       1   t   0    
0021720    1   6   t   2       2   t   0       8   8   5   t   2       1
0021740    t   0  \r 377  \0  \0   S   r   v   r   T   n   D   e   f   s
0021760    .   m   e   s   a  \0 376  \0 260 002 214   -   -   S   r   v
0022000    r   T   n   D   e   f   s   .   m   e   s   a  \r   -   -   S
0022020    e   r   v   e   r       t   e   l   n   e   t       w   i   t
0022040    h       o   l   d       s   t   y   l   e       s   t   r   e
0022060    a   m       h   o   o   k   s  \r   -   -   L   S   t   e   w
0022100    a   r   t       A   u   g   u   s   t       1   7   ,       1
0022120    9   7   8           1   2   :   5   8       P   M  \r  \r   S
0022140    r   v   r   T   n   D   e   f   s   :       D   E   F   I   N
0022160    I   T   I   O   N   S       =  \r           B   E   G   I   N
0022200   \r           S   r   v   r   T   n   :       P   R   O   G   R
0022220    A   M   ;  \r           E   N   D   .  \r 032   (   1   7   9
0022240    2   )   \   1   0   0   b   1   0   B  \r 377  \0  \0   S   r
0022260    v   r   T   n   .   m   e   s   a  \0 376 001  \0   ^ 336   -
0022300    -   S   r   v   r   T   n   .   m   e   s   a  \r   -   -   S
0022320    e   r   v   e   r       t   e   l   n   e   t       w   i   t
0022340    h       o   l   d       s   t   y   l   e       s   t   r   e
0022360    a   m       h   o   o   k   s  \r   -   -   C   o   p   i   e
0022400    s       o   u   t   p   u   t       t   o       d   i   s   p
0022420    l   a   y   ,       t   a   k   e   s       k   e   y   b   o
0022440    a   r   d       i   f       a   n   y   t   h   i   n   g    
0022460    i   s       t   h   e   r   e  \r   -   -   L   S   t   e   w
0022500    a   r   t       S   e   p   t   e   m   b   e   r       6   ,
0022520        1   9   7   8           7   :   1   2       P   M  \r  \r
0022540    D   I   R   E   C   T   O   R   Y  \r           I   O   D   e
0022560    f   s   :       F   R   O   M       "   I   O   D   e   f   s
0022600    "   ,  \r           P   r   o   c   e   s   s   D   e   f   s
0022620    :       F   R   O   M       "   P   r   o   c   e   s   s   D
0022640    e   f   s   "       U   S   I   N   G       [   D   e   t   a
0022660    c   h   ,   S   e   t   T   i   m   e   o   u   t   ,   M 376
0022700  001  \0 274 230   s   e   c   T   o   T   i   c   k   s   ]   ,
0022720   \r           P   u   p   S   t   r   e   a   m   :       F   R
0022740    O   M       "   P   u   p   S   t   r   e   a   m   "   ,  \r
0022760            S   r   v   r   T   n   D   e   f   s   :       F   R
0023000    O   M       "   S   r   v   r   T   n   D   e   f   s   "   ,
0023020   \r           S   t   r   e   a   m   :       F   R   O   M    
0023040    "   S   t   r   e   a   m   "   ,  \r           S   t   r   e
0023060    a   m   D   e   f   s   :       F   R   O   M       "   S   t
0023100    r   e   a   m   D   e   f   s   "   ;  \r  \r   S   r   v   r
0023120    T   n   :       M   O   N   I   T   O   R  \r           I   M
0023140    P   O   R   T   S       I   O   D   e   f   s   ,       P   u
0023160    p   S   t   r   e   a   m   ,       S   t   r   e   a   m   ,
0023200        P   r   o   c   e   s   s   D   e   f   s  \r           E
0023220    X   P   O   R   T   S       S   r   v   r   T   n   D   e   f
0023240    s  \r           S   H   A   R   E   S       S   t   r   e   a
0023260    m   D   e   f   s       =  \r  \r   B   E   G   I   N       O
0023300    P   E   N     376 001  \0   6 305   I   O   D   e   f   s   ,
0023320        S   t   r   e   a   m   ,       S   t   r   e   a   m   D
0023340    e   f   s   ;  \r  \r   l   i   s   t   e   n   e   r   :    
0023360    P   u   p   S   t   r   e   a   m   .   P   u   p   L   i   s
0023400    t   e   n   e   r       _       N   I   L   ;  \r   s   o   c
0023420    N   u   m   :       P   u   p   S   t   r   e   a   m   .   P
0023440    u   p   S   o   c   k   e   t   I   D       _       [   0   ,
0023460    1   ]   ;           -   -   t   e   l   n   e   t       s   o
0023500    c   k   e   t  \r   h   e   r   a   l   d   :       S   T   R
0023520    I   N   G       _       "   M   e   s   a       S   e   r   v
0023540    e   r       T   e   l   n   e   t   "   ;  \r   m   y   S   t
0023560    r   e   a   m   :       S   t   r   e   a   m   .   H   a   n
0023600    d   l   e   ;  \r   c   l   o   s   e   d   :       B   O   O
0023620    L   E   A   N       _       T   R   U   E   ;  \r   e   c   h
0023640    o   L   F   :       B   O   O   L   E   A   N       _       T
0023660    R   U   E   ;  \r   c   h   a   r   s   :       B   O   O   L
0023700    E   A   N       _       F   A   L 376 001  \0 217 261   S   E
0023720    ;  \r   o   p   e   n   ,   s   e   n   d   e   r   :       C
0023740    O   N   D   I   T   I   O   N   ;  \r   t   i   m   e   L   a
0023760    s   t   S   e   n   t   :       I   N   T   E   G   E   R   ;
0024000   \r   c   l   o   c   k   :       P   O   I   N   T   E   R    
0024020    T   O       I   N   T   E   G   E   R       =       L   O   O
0024040    P   H   O   L   E   [   4   3   0   B   ]   ;  \r   k   e   y
0024060    S   t   r   e   a   m   ,       d   i   s   p   l   a   y   S
0024100    t   r   e   a   m   :       S   t   r   e   a   m   H   a   n
0024120    d   l   e   ;  \r  \r   m   y   S   t   r   e   a   m   O   b
0024140    j   e   c   t   :       S   t   r   e   a   m   O   b   j   e
0024160    c   t       _  \r           [  \r           r   e   s   e   t
0024200    :       R   e   s   e   t   ,  \r           g   e   t   :    
0024220    G   e   t   ,  \r           p   u   t   b   a   c   k   :    
0024240    P   u   t   B   a   c   k   ,  \r           p   u   t   :    
0024260    P   u   t   ,  \r           e   n   d   o   f   :       E   n
0024300    d   o   f   ,  \r           d   e   s   t   r   o   y 376 001
0024320   \0 335 317   :       D   e   s   t   r   o   y   ,  \r        
0024340    b   o   d   y   :       O   t   h   e   r   [   ]  \r        
0024360    ]   ;  \r  \r   R   e   s   e   t   :       P   R   O   C   E
0024400    D   U   R   E   [   o   s   :       S   t   r   e   a   m   H
0024420    a   n   d   l   e   ]       =  \r           B   E   G   I   N
0024440   \r           N   U   L   L   ;  \r           E   N   D   ;  \r
0024460   \r   G   e   t   :       P   R   O   C   E   D   U   R   E   [
0024500    o   s   :       S   t   r   e   a   m   H   a   n   d   l   e
0024520    ]       R   E   T   U   R   N   S       [   U   N   S   P   E
0024540    C   I   F   I   E   D   ]       =  \r           B   E   G   I
0024560    N  \r           e   a   t   B   y   t   e   :       B   O   O
0024600    L   E   A   N   ;  \r           c   :       U   N   S   P   E
0024620    C   I   F   I   E   D   ;  \r                   B   E   G   I
0024640    N  \r                   E   N   A   B   L   E       B   E   G
0024660    I   N  \r                   S   S   T   C   h   a   n   g   e
0024700        =   >  \r                           B   E   G   I   N  \r
0024720              376 001  \0   v  \0               I   F       s   s
0024740    t   =   5       T   H   E   N           -   -   W   A   R   N
0024760    I   N   G   !           T   h   i   s       i   s       d   a
0025000    n   g   e   r   o   u   s   !   !  \r                        
0025020            B   E   G   I   N  \r                                
0025040    S   e   t   S   S   T   [   m   y   S   t   r   e   a   m   ,
0025060    6   ]   ;  \r                                   S   e   n   d
0025100    N   o   w   [   m   y   S   t   r   e   a   m   ]   ;  \r    
0025120                                E   N   D   ;  \r                
0025140            I   F       s   s   t       I   N       [   2   .   .
0025160    4   ]       T   H   E   N       e   a   t   B   y   t   e    
0025200    _       T   R   U   E   ;  \r                           R   E
0025220    S   U   M   E   ;  \r                           E   N   D   ;
0025240   \r                   P   u   p   S   t   r   e   a   m   .   S
0025260    t   r   e   a   m   C   l   o   s   i   n   g       =   >  \r
0025300                            B   E   G   I   N  \r                
0025320            c   l   o   s   e   d 376 001  \0   =   M       _    
0025340    T   R   U   E   ;  \r                           W   a   i   t
0025360    F   o   r   O   p   e   n   [   ]   ;  \r                    
0025400        R   E   T   R   Y   ;  \r                           E   N
0025420    D   ;  \r                   S   t   r   e   a   m   .   T   i
0025440    m   e   O   u   t       =   >       R   E   S   U   M   E   ;
0025460   \r                   E   N   D   ;  \r                   I   F
0025500        k   e   y   S   t   r   e   a   m   .   e   n   d   o   f
0025520    [   k   e   y   S   t   r   e   a   m   ]       T   H   E   N
0025540   \r                           B   E   G   I   N  \r            
0025560                W   a   i   t   F   o   r   O   p   e   n   [   ]
0025600    ;  \r                           e   a   t   B   y   t   e    
0025620    _       T   R   U   E   ;  \r                           W   H
0025640    I   L   E       e   a   t   B   y   t   e       D   O  \r    
0025660                                e   a   t   B   y   t   e       _
0025700        F   A   L   S   E   ;  \r                                
0025720    c       _       G   e   t   B   y   t   e   [   m 376 001  \0
0025740  255 273   y   S   t   r   e   a   m   ]   ;  \r                
0025760                    E   N   D   L   O   O   P   ;  \r            
0026000                R   E   T   U   R   N   [   c   ]   ;  \r        
0026020                    E   N   D  \r                   E   L   S   E
0026040        R   E   T   U   R   N       [   k   e   y   S   t   r   e
0026060    a   m   .   g   e   t   [   k   e   y   S   t   r   e   a   m
0026100    ]   ]   ;  \r                   E   N   D   ;  \r           E
0026120    N   D   ;  \r  \r   P   u   t   B   a   c   k   :       P   R
0026140    O   C   E   D   U   R   E   [   o   s   :       S   t   r   e
0026160    a   m   H   a   n   d   l   e   ,       t   h   i   n   g   :
0026200        U   N   S   P   E   C   I   F   I   E   D   ]       =  \r
0026220            B   E   G   I   N  \r           N   U   L   L   ;  \r
0026240            E   N   D   ;  \r  \r   P   u   t   :       P   R   O
0026260    C   E   D   U   R   E   [   o   s   :       S   t   r   e   a
0026300    m   H   a   n   d   l   e   ,       t   h   i   n   g   :    
0026320    U   N   S   P   E   C   I   F   I   E   D   ]       =  \r    
0026340        B 376 001  \0   q 032   E   G   I   N       E   N   A   B
0026360    L   E       P   u   p   S   t   r   e   a   m   .   S   t   r
0026400    e   a   m   C   l   o   s   i   n   g       =   >  \r        
0026420            B   E   G   I   N  \r                   c   l   o   s
0026440    e   d       _       T   R   U   E   ;  \r                   W
0026460    a   i   t   F   o   r   O   p   e   n   [   ]   ;  \r        
0026500            R   E   T   R   Y   ;  \r                   E   N   D
0026520    ;  \r           c   :       C   H   A   R   A   C   T   E   R
0026540    ;  \r           d   i   s   p   l   a   y   S   t   r   e   a
0026560    m   .   p   u   t   [   d   i   s   p   l   a   y   S   t   r
0026600    e   a   m   ,   t   h   i   n   g   ]   ;  \r           W   a
0026620    i   t   F   o   r   O   p   e   n   [   ]   ;  \r           P
0026640    u   t   B   y   t   e   [   m   y   S   t   r   e   a   m   ,
0026660    t   h   i   n   g   ]   ;  \r           c   h   a   r   s    
0026700    _       T   R   U   E   ;  \r           c       _       t   h
0026720    i   n   g   ;  \r           I   F       c   =   C   R       A
0026740    N   D       e   c   h   o 376 001  \0 362   >   L   F       T
0026760    H   E   N       P   u   t   B   y   t   e   [   m   y   S   t
0027000    r   e   a   m   ,   L   O   O   P   H   O   L   E   [   L   F
0027020    ]   ]   ;  \r           I   F       c   =   C   R       T   H
0027040    E   N       M   y   S   e   n   d   N   o   w   [   ]   ;  \r
0027060            E   N   D   ;  \r  \r   E   n   d   o   f   :       P
0027100    R   O   C   E   D   U   R   E   [   o   s   :       S   t   r
0027120    e   a   m   H   a   n   d   l   e   ]       R   E   T   U   R
0027140    N   S       [   B   O   O   L   E   A   N   ]       =  \r    
0027160        B   E   G   I   N  \r           R   E   T   U   R   N   [
0027200    c   l   o   s   e   d   ]   ;  \r           E   N   D   ;  \r
0027220   \r   D   e   s   t   r   o   y   :       E   N   T   R   Y    
0027240    P   R   O   C   E   D   U   R   E   [   o   s   :       S   t
0027260    r   e   a   m   H   a   n   d   l   e   ]       =  \r        
0027300    B   E   G   I   N  \r           m   y   S   t   r   e   a   m
0027320    .   d   e   l   e   t   e   [   m   y   S   t   r   e   a   m
0027340    ]   ;  \r           E   N   D   ;  \r  \r   M 376 001  \0 376
0027360   \t   y   S   e   n   d   N   o   w   :       E   N   T   R   Y
0027400        P   R   O   C   E   D   U   R   E       =  \r           B
0027420    E   G   I   N  \r           S   e   n   d   i   t   [   ]   ;
0027440   \r           E   N   D   ;  \r  \r   S   e   n   d   i   t   :
0027460        I   N   T   E   R   N   A   L       P   R   O   C   E   D
0027500    U   R   E       =  \r           B   E   G   I   N  \r        
0027520    S   e   n   d   N   o   w   [   m   y   S   t   r   e   a   m
0027540    ]   ;  \r           c   h   a   r   s       _       F   A   L
0027560    S   E   ;  \r           t   i   m   e   L   a   s   t   S   e
0027600    n   t       _       c   l   o   c   k   ^   ;  \r           E
0027620    N   D   ;  \r  \r   S   e   n   d   O   c   c   a   s   i   o
0027640    n   a   l   l   y   :       E   N   T   R   Y       P   R   O
0027660    C   E   D   U   R   E       =  \r           B   E   G   I   N
0027700   \r           W   H   I   L   E       N   O   T       c   l   o
0027720    s   e   d       D   O  \r                   W   A   I   T    
0027740    s   e   n   d   e   r   ;  \r                   I   F       c
0027760    h 376 001  \0 374   !   a   r   s       A   N   D       (   c
0030000    l   o   c   k   ^   -   t   i   m   e   L   a   s   t   S   e
0030020    n   t   )   >   5   0       T   H   E   N       S   e   n   d
0030040    i   t   [   ]   ;  \r                   E   N   D   L   O   O
0030060    P   ;  \r           E   N   D   ;  \r  \r   W   a   i   t   F
0030100    o   r   O   p   e   n   :       E   N   T   R   Y       P   R
0030120    O   C   E   D   U   R   E       =  \r           B   E   G   I
0030140    N  \r           W   H   I   L   E       c   l   o   s   e   d
0030160        D   O       W   A   I   T       o   p   e   n       E   N
0030200    D   L   O   O   P   ;  \r           E   N   D   ;  \r  \r   S
0030220    e   r   v   e   r   S   t   a   r   t   :       E   N   T   R
0030240    Y       P   R   O   C   E   D   U   R   E       [   b   s   :
0030260        H   a   n   d   l   e   ,       r   e   m   o   t   e   :
0030300        P   u   p   S   t   r   e   a   m   .   P   u   p   A   d
0030320    d   r   e   s   s   ]       =  \r           B   E   G   I   N
0030340   \r           i   :       C   A   R   D   I   N   A   L   ;  \r
0030360            e   a   t   B 376 001  \0 332   #   y   t   e   :    
0030400    B   O   O   L   E   A   N       _       F   A   L   S   E   ;
0030420   \r           -   -       M   a   i   n   l   i   n   e       o
0030440    f       s   e   r   v   e   r  \r           I   F       c   l
0030460    o   s   e   d       T   H   E   N  \r                   B   E
0030500    G   I   N       E   N   A   B   L   E       P   u   p   S   t
0030520    r   e   a   m   .   S   t   r   e   a   m   C   l   o   s   i
0030540    n   g       =   >       G   O   T   O       C   l   o   s   e
0030560    i   t   ;  \r                   F   O   R       i       I   N
0030600        [   0   .   .   h   e   r   a   l   d   .   l   e   n   g
0030620    t   h   )  \r                           D   O  \r            
0030640                P   u   t   B   y   t   e   [   b   s   ,   L   O
0030660    O   P   H   O   L   E   [   h   e   r   a   l   d   .   t   e
0030700    x   t   [   i   ]   ]   ]   ;  \r                           E
0030720    N   D   L   O   O   P   ;  \r                   P   u   t   B
0030740    y   t   e   [   b   s   ,   L   O   O   P   H   O   L   E   [
0030760    C   R   ]   ]   ;  \r                   I 376 001  \0   ' 303
0031000    F       e   c   h   o   L   F       T   H   E   N       P   u
0031020    t   B   y   t   e   [   b   s   ,   L   O   O   P   H   O   L
0031040    E   [   L   F   ]   ]   ;  \r                   S   e   n   d
0031060    N   o   w   [   b   s   ]   ;  \r                   m   y   S
0031100    t   r   e   a   m       _       b   s   ;  \r                
0031120    c   l   o   s   e   d       _       F   A   L   S   E   ;  \r
0031140                    P   r   o   c   e   s   s   D   e   f   s   .
0031160    D   e   t   a   c   h   [   F   O   R   K       S   e   n   d
0031200    O   c   c   a   s   i   o   n   a   l   l   y   ]   ;  \r    
0031220                B   R   O   A   D   C   A   S   T       o   p   e
0031240    n   ;  \r                   E   N   D   ;  \r           E   X
0031260    I   T   S  \r                   C   l   o   s   e   i   t    
0031300    =   >  \r                           B   E   G   I   N  \r    
0031320                        b   s   .   d   e   l   e   t   e   [   b
0031340    s   ]   ;  \r                           c   l   o   s   e   d
0031360        _       T   R   U   E   ;  \r                           E
0031400  376 001  \0 005 346   N   D   ;  \r           E   N   D   ;  \r
0031420   \r   -   -   M   a   i   n   l   i   n   e       c   o   d   e
0031440   \r           W   r   i   t   e   L   i   n   e   [   "   S   t
0031460    a   r   t   i   n   g       S   e   r   v   e   r       T   e
0031500    l   n   e   t   "   ]   ;  \r           l   i   s   t   e   n
0031520    e   r       _       P   u   p   S   t   r   e   a   m   .   C
0031540    r   e   a   t   e   P   u   p   B   y   t   e   S   t   r   e
0031560    a   m   L   i   s   t   e   n   e   r       [   s   o   c   N
0031600    u   m   ,       S   e   r   v   e   r   S   t   a   r   t   ,
0031620        P   u   p   S   t   r   e   a   m   .   S   e   c   o   n
0031640    d   s   T   o   T   o   c   k   s   [   3   ]   ]   ;  \r    
0031660        P   r   o   c   e   s   s   D   e   f   s   .   S   e   t
0031700    T   i   m   e   o   u   t   [   @   o   p   e   n   ,   P   r
0031720    o   c   e   s   s   D   e   f   s   .   M   s   e   c   T   o
0031740    T   i   c   k   s   [   1   0   0   0   ]   ]   ;  \r        
0031760    P   r   o   c   e   s   s   D   e   f   s   .   S   e   t   T
0032000    i   m   e   o   u 376 001  \0   k   r   t   [   @   s   e   n
0032020    d   e   r   ,   P   r   o   c   e   s   s   D   e   f   s   .
0032040    M   s   e   c   T   o   T   i   c   k   s   [   1   0   0   0
0032060    ]   ]   ;  \r           k   e   y   S   t   r   e   a   m    
0032100    _       I   O   D   e   f   s   .   G   e   t   I   n   p   u
0032120    t   S   t   r   e   a   m   [   ]   ;  \r           d   i   s
0032140    p   l   a   y   S   t   r   e   a   m       _       I   O   D
0032160    e   f   s   .   G   e   t   O   u   t   p   u   t   S   t   r
0032200    e   a   m   [   ]   ;  \r           I   O   D   e   f   s   .
0032220    S   e   t   I   n   p   u   t   S   t   r   e   a   m   [   @
0032240    m   y   S   t   r   e   a   m   O   b   j   e   c   t   ]   ;
0032260   \r           I   O   D   e   f   s   .   S   e   t   O   u   t
0032300    p   u   t   S   t   r   e   a   m   [   @   m   y   S   t   r
0032320    e   a   m   O   b   j   e   c   t   ]   ;  \r           W   a
0032340    i   t   F   o   r   O   p   e   n   [   ]   ;  \r           E
0032360    N   D   . 032   (   1   7   9   2   )   \   3   9   2   b   6
0032400    B   6   5   9   b   5   B   5   6   b 376  \0   s 374 336   3
0032420    B   1   7   5   b   3   3   B   2   4   8   t   2       1   t
0032440    0       1   0   t   2       1   t   0       3   1   8   b   7
0032460    B   7   6   b   3   B   1   5   1   t   2       1   t   0    
0032500    8   t   2       2   t   0       2   2   4   b   6   B   8   4
0032520    b   7   B   8   3   b   9   B   4   8   b   6   B   1   0   2
0032540    b   1   6   B   1   4   5   b   1   1   B   7   3   b   1   1
0032560    B   5   1   8   t   2       1   t   0       9   9   b   1   3
0032600    B  \r 374                                                    
0032603