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