$ od -c -N 50000 [eris]<LispManual>TerminalTables.im!3
0000000   \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e   c
0000020        T   e   r   m   i   n   a   l       T   a   b   l   e   s
0000040    }  \r   {   T   i   t   l   e       T   e   r   m   i   n   a
0000060    l       T   a   b   l   e   s   }  \r   {   T   e   x   t  \r
0000100   \r   {   T   a   g       T   e   r   m   i   n   a   l   T   a
0000120    b   l   e   s   }  \r  \r   {   i   n   d   e   x       *   B
0000140    E   G   I   N   *       t   e   r   m   i   n   a   l       t
0000160    a   b   l   e   s   }  \r  \r   A       r   e   a   d   t   a
0000200    b   l   e       c   o   n   t   a   i   n   s       i   n   p
0000220    u   t   /   o   u   t   p   u   t       i   n   f   o   r   m
0000240    a   t   i   o   n       t   h   a   t       i   s       {   i
0000260    t       m   e   d   i   a   -   i   n   d   e   p   e   n   d
0000300    e   n   t   }   .           F   o   r       e   x   a   m   p
0000320    l   e   ,       t   h   e       a   c   t   i   o   n       o
0000340    f       p   a   r   e   n   t   h   e   s   e   s       i   s
0000360        t   h   e       s   a   m   e       r   e   g   a   r   d
0000400    l   e   s   s       o   f       t   h   e       d   e   v   i
0000420    c   e       f   r   o   m       w   h   i   c   h       t   h
0000440    e       i   n   p   u   t       i   s       b   e   i   n   g
0000460        p   e   r   f   o   r   m   e   d   .           A       t
0000500    e   r   m   i   n   a   l       t   a   b   l   e       i   s
0000520        a   n       o   b   j   e   c   t       t   h   a   t    
0000540    c   o   n   t   a   i   n   s       i   n   f   o   r   m   a
0000560    t   i   o   n       t   h   a   t       p   e   r   t   a   i
0000600    n   s       t   o       {   i   t       t   e   r   m   i   n
0000620    a   l   }       i   n   p   u   t   /   o   u   t   p   u   t
0000640        o   p   e   r   a   t   i   o   n   s       o   n   l   y
0000660    ,       s   u   c   h       a   s       t   h   e       c   h
0000700    a   r   a   c   t   e   r       t   o       t   y   p   e    
0000720    t   o       d   e   l   e   t   e       t   h   e       l   a
0000740    s   t       c   h   a   r   a   c   t   e   r       o   r    
0000760    t   o       d   e   l   e   t   e       t   h   e       l   a
0001000    s   t       l   i   n   e   .           I   n       a   d   d
0001020    i   t   i   o   n   ,       t   e   r   m   i   n   a   l    
0001040    t   a   b   l   e   s       c   o   n   t   a   i   n       s
0001060    u   c   h       i   n   f   o   r   m   a   t   i   o   n    
0001100    a   s       h   o   w       l   i   n   e   -   b   u   f   f
0001120    e   r   i   n   g       i   s       t   o       b   e       p
0001140    e   r   f   o   r   m   e   d   ,       h   o   w       c   o
0001160    n   t   r   o   l       c   h   a   r   a   c   t   e   r   s
0001200        a   r   e       t   o       b   e       e   c   h   o   e
0001220    d   /   p   r   i   n   t   e   d   ,       w   h   e   t   h
0001240    e   r       l   o   w   e   r       c   a   s   e       i   n
0001260    p   u   t       i   s       t   o       b   e       c   o   n
0001300    v   e   r   t   e   d       t   o       u   p   p   e   r    
0001320    c   a   s   e   ,       e   t   c   .  \r  \r  \r   U   s   i
0001340    n   g       t   h   e       f   u   n   c   t   i   o   n   s
0001360        b   e   l   o   w   ,       t   h   e       u   s   e   r
0001400        m   a   y       c   h   a   n   g   e   ,       r   e   s
0001420    e   t   ,       o   r       c   o   p   y       t   e   r   m
0001440    i   n   a   l       t   a   b   l   e   s   ,       o   r    
0001460    c   r   e   a   t   e       a       n   e   w       t   e   r
0001500    m   i   n   a   l       t   a   b   l   e       a   n   d    
0001520    i   n   s   t   a   l   l       i   t       a   s       t   h
0001540    e       p   r   i   m   a   r   y       t   e   r   m   i   n
0001560    a   l       t   a   b   l   e   {   i   n   d   e   x       p
0001600    r   i   m   a   r   y       t   e   r   m   i   n   a   l    
0001620    t   a   b   l   e   }       v   i   a       {   f   n       S
0001640    E   T   T   E   R   M   T   A   B   L   E   }   .           H
0001660    o   w   e   v   e   r   ,       u   n   l   i   k   e       r
0001700    e   a   d   t   a   b   l   e   s   ,       t   e   r   m   i
0001720    n   a   l       t   a   b   l   e   s       c   a   n   n   o
0001740    t       b   e       p   a   s   s   e   d       a   s       a
0001760    r   g   u   m   e   n   t   s       t   o       i   n   p   u
0002000    t   /   o   u   t   p   u   t       f   u   n   c   t   i   o
0002020    n   s   .  \r  \r  \r  \r   {   B   e   g   i   n       S   u
0002040    b   S   e   c       T   e   r   m   i   n   a   l       T   a
0002060    b   l   e       F   u   n   c   t   i   o   n   s   }  \r   {
0002100    T   i   t   l   e       T   e   r   m   i   n   a   l       T
0002120    a   b   l   e       F   u   n   c   t   i   o   n   s   }  \r
0002140    {   T   e   x   t  \r  \r  \r   {   F   n   D   e   f       {
0002160    F   n   N   a   m   e       T   E   R   M   T   A   B   L   E
0002200    P   }       {   F   n   A   r   g   s       T   T   B   L   }
0002220   \r   {   T   e   x   t  \r   R   e   t   u   r   n   s       {
0002240    a   r   g       T   T   B   L   }   ,       i   f       {   a
0002260    r   g       T   T   B   L   }       i   s       a       r   e
0002300    a   l       t   e   r   m   i   n   a   l       t   a   b   l
0002320    e   ,       {   l   i   s   p       N   I   L   }       o   t
0002340    h   e   r   w   i   s   e   .  \r   }   }  \r  \r  \r   {   F
0002360    n   D   e   f       {   F   n   N   a   m   e       G   E   T
0002400    T   E   R   M   T   A   B   L   E   }       {   F   n   A   r
0002420    g   s       T   T   B   L   }  \r   {   T   e   x   t  \r   I
0002440    f       {   a   r   g       T   T   B   L   }   =   {   l   i
0002460    s   p       N   I   L   }   ,       r   e   t   u   r   n   s
0002500        t   h   e       p   r   i   m   a   r   y       (   i   .
0002520    e   .   ,       c   u   r   r   e   n   t   )       t   e   r
0002540    m   i   n   a   l       t   a   b   l   e   .           I   f
0002560        {   a   r   g       T   T   B   L   }       i   s       a
0002600        r   e   a   l       t   e   r   m   i   n   a   l       t
0002620    a   b   l   e   ,       r   e   t   u   r   n       {   a   r
0002640    g       T   T   B   L   }   .           O   t   h   e   r   w
0002660    i   s   e   ,       g   e   n   e   r   a   t   e   s       a
0002700    n  \r   {   l   i   s   p       I   L   L   E   G   A   L    
0002720    T   E   R   M   I   N   A   L       T   A   B   L   E   }   {
0002740    i   n   d   e   x       I   L   L   E   G   A   L       T   E
0002760    R   M   I   N   A   L       T   A   B   L   E       E   r   r
0003000    o   r   }       e   r   r   o   r   .  \r   }   }  \r  \r  \r
0003020    {   F   n   D   e   f       {   F   n   N   a   m   e       S
0003040    E   T   T   E   R   M   T   A   B   L   E   }       {   F   n
0003060    A   r   g   s       T   T   B   L   }  \r   {   T   e   x   t
0003100   \r   S   e   t   s       t   h   e       p   r   i   m   a   r
0003120    y       t   e   r   m   i   n   a   l       t   a   b   l   e
0003140        t   o       b   e       {   a   r   g       T   T   B   L
0003160    }   .           R   e   t   u   r   n   s       t   h   e    
0003200    p   r   e   v   i   o   u   s       {   a   r   g       T   T
0003220    B   L   }   .           G   e   n   e   r   a   t   e   s    
0003240    a   n       {   l   i   s   p       I   L   L   E   G   A   L
0003260        T   E   R   M   I   N   A   L       T   A   B   L   E   }
0003300    {   i   n   d   e   x       I   L   L   E   G   A   L       T
0003320    E   R   M   I   N   A   L       T   A   B   L   E       E   r
0003340    r   o   r   }       e   r   r   o   r       i   f       {   a
0003360    r   g       T   T   B   L   }       i   s       n   o   t    
0003400    a       r   e   a   l       t   e   r   m   i   n   a   l    
0003420    t   a   b   l   e   .  \r   }   }  \r  \r  \r   {   F   n   D
0003440    e   f       {   F   n   N   a   m   e       C   O   P   Y   T
0003460    E   R   M   T   A   B   L   E   }       {   F   n   A   r   g
0003500    s       T   T   B   L   }  \r   {   T   e   x   t  \r   R   e
0003520    t   u   r   n   s       a       c   o   p   y       o   f    
0003540    {   a   r   g       T   T   B   L   }   .           {   a   r
0003560    g       T   T   B   L   }       c   a   n       b   e       a
0003600        r   e   a   l       t   e   r   m   i   n   a   l       t
0003620    a   b   l   e   ,       {   l   i   s   p       N   I   L   }
0003640    ,       o   r       {   l   i   s   p       O   R   I   G   }
0003660    ,       i   n       w   h   i   c   h       c   a   s   e    
0003700    i   t       r   e   t   u   r   n   s       a       c   o   p
0003720    y       o   f       t   h   e       {   i   t       o   r   i
0003740    g   i   n   a   l   }       s   y   s   t   e   m       t   e
0003760    r   m   i   n   a   l       t   a   b   l   e   .           N
0004000    o   t   e       t   h   a   t       {   f   n       C   O   P
0004020    Y   T   E   R   M   T   A   B   L   E   }       i   s       t
0004040    h   e       o   n   l   y       f   u   n   c   t   i   o   n
0004060        t   h   a   t  \r   {   i   t       c   r   e   a   t   e
0004100    s   }       a       t   e   r   m   i   n   a   l       t   a
0004120    b   l   e   .  \r   }   }  \r  \r  \r   {   F   n   D   e   f
0004140        {   F   n   N   a   m   e       R   E   S   E   T   T   E
0004160    R   M   T   A   B   L   E   }       {   F   n   A   r   g   s
0004200        T   T   B   L       F   R   O   M   }  \r   {   T   e   x
0004220    t  \r   C   o   p   i   e   s       (   s   m   a   s   h   e
0004240    s   )       {   a   r   g       F   R   O   M   }       i   n
0004260    t   o       {   a   r   g       T   T   B   L   }   .        
0004300    {   a   r   g       F   R   O   M   }       a   n   d       {
0004320    a   r   g       T   T   B   L   }       c   a   n       b   e
0004340        {   l   i   s   p       N   I   L   }       o   r       a
0004360        r   e   a   l       t   e   r   m   i   n   a   l       t
0004400    a   b   l   e   .           I   n       a   d   d   i   t   i
0004420    o   n   ,       {   a   r   g       F   R   O   M   }       c
0004440    a   n       b   e       {   l   i   s   p       O   R   I   G
0004460    }   ,       m   e   a   n   i   n   g       t   o       u   s
0004500    e       t   h   e       s   y   s   t   e   m   '   s       o
0004520    r   i   g   i   n   a   l       t   e   r   m   i   n   a   l
0004540        t   a   b   l   e   .  \r   }   }  \r  \r  \r   }   {   E
0004560    n   d       S   u   b   S   e   c       T   e   r   m   i   n
0004600    a   l       T   a   b   l   e       F   u   n   c   t   i   o
0004620    n   s   }  \r  \r  \r  \r   {   B   e   g   i   n       S   u
0004640    b   S   e   c       T   e   r   m   i   n   a   l       S   y
0004660    n   t   a   x       C   l   a   s   s   e   s   }  \r   {   T
0004700    i   t   l   e       T   e   r   m   i   n   a   l       S   y
0004720    n   t   a   x       C   l   a   s   s   e   s   }  \r   {   T
0004740    e   x   t  \r  \r   {   i   n   d   e   x       t   e   r   m
0004760    i   n   a   l       s   y   n   t   a   x       c   l   a   s
0005000    s   e   s   }  \r  \r   A       t   e   r   m   i   n   a   l
0005020        t   a   b   l   e       a   s   s   o   c   i   a   t   e
0005040    s       w   i   t   h       e   a   c   h       c   h   a   r
0005060    a   c   t   e   r       a       s   i   n   g   l   e       "
0005100    t   e   r   m   i   n   a   l       s   y   n   t   a   x    
0005120    c   l   a   s   s   "   ,       o   n   e       o   f       {
0005140    l   i   s   p       C   H   A   R   D   E   L   E   T   E   }
0005160    ,       {   l   i   s   p       L   I   N   E   D   E   L   E
0005200    T   E   }   ,       {   l   i   s   p       W   O   R   D   D
0005220    E   L   E   T   E   }       (   I   n   t   e   r   l   i   s
0005240    p   -   D       o   n   l   y   )   ,       {   l   i   s   p
0005260        R   E   T   Y   P   E   }   ,       {   l   i   s   p    
0005300    C   T   R   L   V   }   ,       {   l   i   s   p       E   O
0005320    L   }   ,       a   n   d       {   l   i   s   p       N   O
0005340    N   E   }   .           U   n   l   i   k   e       r   e   a
0005360    d   t   a   b   l   e       c   l   a   s   s   e   s   ,    
0005400    o   n   l   y       o   n   e       c   h   a   r   a   c   t
0005420    e   r       i   n       a       p   a   r   t   i   c   u   l
0005440    a   r       t   e   r   m   i   n   a   l       t   a   b   l
0005460    e       c   a   n       b   e   l   o   n   g       t   o    
0005500    e   a   c   h       o   f       t   h   e       c   l   a   s
0005520    s   e   s       (   e   x   c   e   p   t       f   o   r    
0005540    t   h   e       d   e   f   a   u   l   t       c   l   a   s
0005560    s       {   l   i   s   p       N   O   N   E   }   )   .    
0005600        W   h   e   n       a       n   e   w       c   h   a   r
0005620    a   c   t   e   r       i   s       a   s   s   i   g   n   e
0005640    d       o   n   e       o   f       t   h   e   s   e       s
0005660    y   n   t   a   x       c   l   a   s   s   e   s       b   y
0005700        {   f   n       S   E   T   S   Y   N   T   A   X   }   ,
0005720        t   h   e       p   r   e   v   i   o   u   s       c   h
0005740    a   r   a   c   t   e   r       i   s       d   i   s   a   b
0005760    l   e   d       (   i   .   e   .   ,       r   e   a   s   s
0006000    i   g   n   e   d       t   h   e       s   y   n   t   a   x
0006020        c   l   a   s   s       {   l   i   s   p       N   O   N
0006040    E   }   )   ,       a   n   d       t   h   e       v   a   l
0006060    u   e       o   f       {   f   n       S   E   T   S   Y   N
0006100    T   A   X   }       i   s       t   h   e       c   o   d   e
0006120        f   o   r       t   h   e       p   r   e   v   i   o   u
0006140    s       c   h   a   r   a   c   t   e   r       o   f       t
0006160    h   a   t       c   l   a   s   s   ,       i   f       a   n
0006200    y   ,       o   t   h   e   r   w   i   s   e       {   l   i
0006220    s   p       N   I   L   }   .  \r  \r   T   h   e       t   e
0006240    r   m   i   n   a   l       s   y   n   t   a   x       c   l
0006260    a   s   s   e   s       a   r   e       i   n   t   e   r   p
0006300    r   e   t   e   d       a   s       f   o   l   l   o   w   s
0006320    :  \r  \r   {   B   e   g   i   n       L   a   b   e   l   e
0006340    d   L   i   s   t       t   e   r   m   i   n   a   l       s
0006360    y   n   t   a   x       c   l   a   s   s   e   s   }  \r  \r
0006400    {   N   a   m   e       {   l   i   s   p       C   H   A   R
0006420    D   E   L   E   T   E   }       o   r       {   l   i   s   p
0006440        D   E   L   E   T   E   C   H   A   R   }   {   i   n   d
0006460    e   x       C   H   A   R   D   E   L   E   T   E       (   s
0006500    y   n   t   a   x       c   l   a   s   s   )   }   {   i   n
0006520    d   e   x       D   E   L   E   T   E   C   H   A   R       (
0006540    s   y   n   t   a   x       c   l   a   s   s   )   }   }  \r
0006560    {   T   e   x   t  \r   (   I   n   i   t   i   a   l   l   y
0006600        c   o   n   t   r   o   l   -   A   {   i   n   d   e   x
0006620        c   o   n   t   r   o   l   -   A   }       u   n   d   e
0006640    r       T   e   n   e   x   ,       d   e   l   {   i   n   d
0006660    e   x       d   e   l   }       u   n   d   e   r       T   o
0006700    p   s   2   0   ,       B   a   c   k   S   p   a   c   e   {
0006720    i   n   d   e   x       B   a   c   k   S   p   a   c   e   }
0006740        i   n       I   n   t   e   r   l   i   s   p   -   D   )
0006760            T   y   p   i   n   g       t   h   i   s       c   h
0007000    a   r   a   c   t   e   r       d   e   l   e   t   e   s    
0007020    t   h   e       p   r   e   v   i   o   u   s       c   h   a
0007040    r   a   c   t   e   r       t   y   p   e   d   .           R
0007060    e   p   e   a   t   e   d       u   s   e       o   f       t
0007100    h   i   s       c   h   a   r   a   c   t   e   r       d   e
0007120    l   e   t   e   s       s   u   c   c   e   s   s   i   v   e
0007140        c   h   a   r   a   c   t   e   r   s       b   a   c   k
0007160        t   o       t   h   e       b   e   g   i   n   n   i   n
0007200    g       o   f       t   h   e       l   i   n   e   .  \r   }
0007220   \r  \r  \r   {   N   a   m   e       {   l   i   s   p       L
0007240    I   N   E   D   E   L   E   T   E   }       o   r       {   l
0007260    i   s   p       D   E   L   E   T   E   L   I   N   E   }   {
0007300    i   n   d   e   x       L   I   N   E   D   E   L   E   T   E
0007320        (   s   y   n   t   a   x       c   l   a   s   s   )   }
0007340    {   i   n   d   e   x       D   E   L   E   T   E   L   I   N
0007360    E       (   s   y   n   t   a   x       c   l   a   s   s   )
0007400    }   }  \r   {   T   e   x   t  \r   (   I   n   i   t   i   a
0007420    l   l   y       c   o   n   t   r   o   l   -   Q   {   i   n
0007440    d   e   x       c   o   n   t   r   o   l   -   Q   }       i
0007460    n       I   n   t   e   r   l   i   s   p   -   1   0       u
0007500    n   d   e   r       T   e   n   e   x       a   n   d       i
0007520    n       I   n   t   e   r   l   i   s   p   -   D   ,       c
0007540    o   n   t   r   o   l   -   U   {   i   n   d   e   x       c
0007560    o   n   t   r   o   l   -   U   }       u   n   d   e   r    
0007600    T   o   p   s   2   0   )           T   y   p   i   n   g    
0007620    t   h   i   s       c   h   a   r   a   c   t   e   r       d
0007640    e   l   e   t   e   s       t   h   e       w   h   o   l   e
0007660        l   i   n   e   ;       i   t       c   a   n   n   o   t
0007700        b   e       u   s   e   d       r   e   p   e   a   t   e
0007720    d   l   y   .  \r   }  \r  \r   {   N   a   m   e       {   l
0007740    i   s   p       W   O   R   D   D   E   L   E   T   E   }   {
0007760    i   n   d   e   x       W   O   R   D   D   E   L   E   T   E
0010000        (   s   y   n   t   a   x       c   l   a   s   s   )   }
0010020    }  \r   {   T   e   x   t  \r   (   I   n   t   e   r   l   i
0010040    s   p   -   D       o   n   l   y   ;       i   n   i   t   i
0010060    a   l   l   y       c   o   n   t   r   o   l   -   W   )   {
0010100    i   n   d   e   x       c   o   n   t   r   o   l   -   W   }
0010120            T   y   p   i   n   g       t   h   i   s       c   h
0010140    a   r   a   c   t   e   r       d   e   l   e   t   e   s    
0010160    t   h   e       p   r   e   v   i   o   u   s       "   w   o
0010200    r   d   "   ,       i   .   e   .   ,       s   e   q   u   e
0010220    n   c   e       o   f       n   o   n   -   s   e   p   a   r
0010240    a   t   o   r       c   h   a   r   a   c   t   e   r   s   .
0010260   \r   }  \r  \r  \r   {   N   a   m   e       {   l   i   s   p
0010300        R   E   T   Y   P   E   }   {   i   n   d   e   x       R
0010320    E   T   Y   P   E       (   s   y   n   t   a   x       c   l
0010340    a   s   s   )   }   }  \r   {   T   e   x   t  \r   (   I   n
0010360    i   t   i   a   l   l   y       c   o   n   t   r   o   l   -
0010400    R   )   {   i   n   d   e   x       c   o   n   t   r   o   l
0010420    -   R   }           C   a   u   s   e   s       t   h   e    
0010440    l   i   n   e       t   o       b   e       r   e   t   y   p
0010460    e   d       a   s       I   n   t   e   r   l   i   s   p    
0010500    s   e   e   s       i   t       (   u   s   e   f   u   l    
0010520    w   h   e   n       r   e   p   e   a   t   e   d       d   e
0010540    l   e   t   i   o   n   s       m   a   k   e       i   t    
0010560    d   i   f   f   i   c   u   l   t       t   o       s   e   e
0010600        w   h   a   t       r   e   m   a   i   n   s   )   .  \r
0010620    }  \r  \r  \r   {   N   a   m   e       {   l   i   s   p    
0010640    C   T   R   L   V   }       o   r       {   l   i   s   p    
0010660    C   N   T   R   L   V   }   {   i   n   d   e   x       C   T
0010700    R   L   V       (   s   y   n   t   a   x       c   l   a   s
0010720    s   )   }   {   i   n   d   e   x       C   N   T   R   L   V
0010740        (   s   y   n   t   a   x       c   l   a   s   s   )   }
0010760    }  \r   {   T   e   x   t  \r   (   I   n   i   t   i   a   l
0011000    l   y       c   o   n   t   r   o   l   -   V   )   {   i   n
0011020    d   e   x       c   o   n   t   r   o   l   -   V   }        
0011040    W   h   e   n       f   o   l   l   o   w   e   d       b   y
0011060        {   l   i   s   p       A   }   ,       {   l   i   s   p
0011100        B   }   ,       {   e   l   l   i   p   s   i   s   }    
0011120    {   l   i   s   p       Z   }   ,       i   n   p   u   t   s
0011140        t   h   e       c   o   r   r   e   s   p   o   n   d   i
0011160    n   g       c   o   n   t   r   o   l       c   h   a   r   a
0011200    c   t   e   r       c   o   n   t   r   o   l   -   A   ,    
0011220    c   o   n   t   r   o   l   -   B   ,       {   e   l   l   i
0011240    p   s   i   s   }       c   o   n   t   r   o   l   -   Z   .
0011260            T   h   i   s       a   l   l   o   w   s       i   n
0011300    t   e   r   r   u   p   t       c   h   a   r   a   c   t   e
0011320    r   s       t   o       b   e       i   n   p   u   t       w
0011340    i   t   h   o   u   t       c   a   u   s   i   n   g       a
0011360    n       i   n   t   e   r   r   u   p   t   .  \r   }  \r  \r
0011400   \r   {   N   a   m   e       {   l   i   s   p       E   O   L
0011420    }   {   i   n   d   e   x       E   O   L       (   s   y   n
0011440    t   a   x       c   l   a   s   s   )   }   }  \r   {   T   e
0011460    x   t  \r   O   n       i   n   p   u   t       f   r   o   m
0011500        a       t   e   r   m   i   n   a   l   ,       t   h   e
0011520        {   l   i   s   p       E   O   L   }       c   h   a   r
0011540    a   c   t   e   r       s   i   g   n   a   l   s       t   o
0011560        t   h   e       l   i   n   e       b   u   f   f   e   r
0011600    i   n   g       r   o   u   t   i   n   e       t   o       p
0011620    a   s   s       t   h   e       i   n   p   u   t       b   a
0011640    c   k       t   o       t   h   e       c   a   l   l   i   n
0011660    g       f   u   n   c   t   i   o   n   .           I   t    
0011700    a   l   s   o       i   s       u   s   e   d       t   o    
0011720    t   e   r   m   i   n   a   t   e       i   n   p   u   t   s
0011740        t   o       {   f   n       R   E   A   D   L   I   N   E
0011760    }       (   {   P   a   g   e   R   e   f       F   n       R
0012000    E   A   D   L   I   N   E   }   )   .           I   n       g
0012020    e   n   e   r   a   l   ,       w   h   e   n   e   v   e   r
0012040        t   h   e       p   h   r   a   s   e       c   a   r   r
0012060    i   a   g   e   -   r   e   t   u   r   n       l   i   n   e
0012100    f   e   e   d       i   s       u   s   e   d   ,       w   h
0012120    a   t       i   s       m   e   a   n   t       i   s       t
0012140    h   e       c   h   a   r   a   c   t   e   r       w   i   t
0012160    h       t   e   r   m   i   n   a   l       s   y   n   t   a
0012200    x       c   l   a   s   s       {   l   i   s   p       E   O
0012220    L   }   .  \r   }  \r  \r  \r   {   N   a   m   e       {   l
0012240    i   s   p       N   O   N   E   }   {   i   n   d   e   x    
0012260    N   O   N   E       (   s   y   n   t   a   x       c   l   a
0012300    s   s   )   }   }  \r   {   T   e   x   t  \r   T   h   e    
0012320    t   e   r   m   i   n   a   l       s   y   n   t   a   x    
0012340    c   l   a   s   s       o   f       a   l   l       o   t   h
0012360    e   r       c   h   a   r   a   c   t   e   r   s   .  \r   }
0012400   \r  \r  \r   {   E   n   d       L   a   b   e   l   e   d   L
0012420    i   s   t       t   e   r   m   i   n   a   l       s   y   n
0012440    t   a   x       c   l   a   s   s   e   s   }  \r  \r  \r   {
0012460    n   o   t   e       c   u   r   r   e   n   t   l   y   ,    
0012500    D   E   L   E   T   E   C   H   A   R       a   n   d       D
0012520    E   L   E   T   E   L   I   N   E       a   r   e       n   o
0012540    t       a   c   c   e   p   t   e   d       b   y       I   n
0012560    t   e   r   l   i   s   p   -   D       a   s       v   a   l
0012600    i   d       t   e   r   m   i   n   a   l       s   y   n   t
0012620    a   x       c   l   a   s   s   e   s   ,       b   u   t    
0012640    C   N   T   R   L   V       i   s   .   }  \r  \r  \r  \r   {
0012660    f   n       G   E   T   S   Y   N   T   A   X   }   ,       {
0012700    f   n       S   E   T   S   Y   N   T   A   X   }   ,       a
0012720    n   d       {   f   n       S   Y   N   T   A   X   P   }    
0012740    a   l   l       w   o   r   k       o   n       t   e   r   m
0012760    i   n   a   l       t   a   b   l   e   s       a   s       w
0013000    e   l   l       a   s       r   e   a   d   t   a   b   l   e
0013020    s       (   s   e   e       {   P   a   g   e   R   e   f    
0013040    F   n       G   E   T   S   Y   N   T   A   X   }   )   .    
0013060        W   h   e   n       g   i   v   e   n       {   l   i   s
0013100    p       N   I   L   }       a   s       a       {   a   r   g
0013120        T   A   B   L   E   }       a   r   g   u   m   e   n   t
0013140    ,       {   f   n       G   E   T   S   Y   N   T   A   X   }
0013160        a   n   d       {   f   n       S   Y   N   T   A   X   P
0013200    }       u   s   e       t   h   e       p   r   i   m   a   r
0013220    y       r   e   a   d   t   a   b   l   e   {   i   n   d   e
0013240    x       p   r   i   m   a   r   y       r   e   a   d   t   a
0013260    b   l   e   }       o   r       p   r   i   m   a   r   y    
0013300    t   e   r   m   i   n   a   l       t   a   b   l   e   {   i
0013320    n   d   e   x       p   r   i   m   a   r   y       t   e   r
0013340    m   i   n   a   l       t   a   b   l   e   }       d   e   p
0013360    e   n   d   i   n   g       o   n       w   h   i   c   h    
0013400    t   a   b   l   e       c   o   n   t   a   i   n   s       t
0013420    h   e       i   n   d   i   c   a   t   e   d       {   a   r
0013440    g       C   L   A   S   S   }       a   r   g   u   m   e   n
0013460    t   .           F   o   r       e   x   a   m   p   l   e   ,
0013500        {   l   i   s   p       (   S   E   T   S   Y   N   T   A
0013520    X       {   a   r   g       C   H   }       '   B   R   E   A
0013540    K   )   }       r   e   f   e   r   s       t   o       t   h
0013560    e       p   r   i   m   a   r   y       r   e   a   d   t   a
0013600    b   l   e   ,       a   n   d       {   l   i   s   p       (
0013620    S   E   T   S   Y   N   T   A   X       {   a   r   g       C
0013640    H   }       '   C   H   A   R   D   E   L   E   T   E   )   }
0013660        r   e   f   e   r   s       t   o       t   h   e       p
0013700    r   i   m   a   r   y       t   e   r   m   i   n   a   l    
0013720    t   a   b   l   e   .           I   n       t   h   e       a
0013740    b   s   e   n   c   e       o   f       s   u   c   h       i
0013760    n   f   o   r   m   a   t   i   o   n   ,       a   l   l    
0014000    t   h   r   e   e       f   u   n   c   t   i   o   n   s    
0014020    d   e   f   a   u   l   t       t   o       t   h   e       p
0014040    r   i   m   a   r   y       r   e   a   d   t   a   b   l   e
0014060    ;       e   .   g   .   ,       {   l   i   s   p       (   S
0014100    E   T   S   Y   N   T   A   X       '   {   l   b   r   a   c
0014120    k   e   t   }       '   %   [   )   }       r   e   f   e   r
0014140    s       t   o       t   h   e       p   r   i   m   a   r   y
0014160        r   e   a   d       t   a   b   l   e   .           I   f
0014200        g   i   v   e   n       i   n   c   o   m   p   a   t   i
0014220    b   l   e       {   a   r   g       C   L   A   S   S   }    
0014240    a   n   d       t   a   b   l   e       a   r   g   u   m   e
0014260    n   t   s   ,       a   l   l       t   h   r   e   e       f
0014300    u   n   c   t   i   o   n   s       g   e   n   e   r   a   t
0014320    e       e   r   r   o   r   s   .           F   o   r       e
0014340    x   a   m   p   l   e   ,       {   l   i   s   p       (   S
0014360    E   T   S   Y   N   T   A   X       {   a   r   g       C   H
0014400    }       '   B   R   E   A   K       {   a   r   g       T   T
0014420    B   L   }   )   }   ,       w   h   e   r   e       {   a   r
0014440    g       T   T   B   L   }       i   s       a       t   e   r
0014460    m   i   n   a   l       t   a   b   l   e   ,       g   e   n
0014500    e   r   a   t   e   s       a   n       {   l   i   s   p    
0014520    I   L   L   E   G   A   L       R   E   A   D   T   A   B   L
0014540    E   }   {   i   n   d   e   x       I   L   L   E   G   A   L
0014560        R   E   A   D   T   A   B   L   E       E   r   r   o   r
0014600    }       e   r   r   o   r   ,       a   n   d       {   l   i
0014620    s   p       (   G   E   T   S   Y   N   T   A   X       '   C
0014640    H   A   R   D   E   L   E   T   E       {   a   r   g       R
0014660    D   T   B   L   }   )   }       g   e   n   e   r   a   t   e
0014700    s       a   n       {   l   i   s   p       I   L   L   E   G
0014720    A   L       T   E   R   M   I   N   A   L       T   A   B   L
0014740    E   }   {   i   n   d   e   x       I   L   L   E   G   A   L
0014760        T   E   R   M   I   N   A   L       T   A   B   L   E    
0015000    E   r   r   o   r   }       e   r   r   o   r   .  \r  \r  \r
0015020   \r   {   N   o   t   e       c   u   r   r   e   n   t   l   y
0015040    ,       W   O   R   D   D   E   L   E   T   E       i   s    
0015060    n   o   t       i   n       I   n   t   e   r   l   i   s   p
0015100    -   1   0   .           W   i   l   l       i   t       e   v
0015120    e   r       g   e   t       p   u   t       i   n   ?   ?   }
0015140   \r  \r   {   N   o   t   e           W   O   R   D   D   E   L
0015160    E   T   E       d   o   e   s   n   '   t       s   h   o   w
0015200        u   p       i   n       I   n   t   e   r   l   i   s   p
0015220    -   D       w   h   e   n       i   n   s   p   e   c   t   i
0015240    n   g       a       t   e   r   m   t   a   b   l   e   .    
0015260    -   -   m   j   s   }  \r  \r   {   i   n   d   e   x       *
0015300    E   N   D   *       s   y   n   t   a   x       c   l   a   s
0015320    s   e   s   }  \r  \r   }   {   E   n   d       S   u   b   S
0015340    e   c       T   e   r   m   i   n   a   l       S   y   n   t
0015360    a   x       C   l   a   s   s   e   s   }  \r  \r  \r  \r  \r
0015400    {   B   e   g   i   n       S   u   b   S   e   c       T   e
0015420    r   m   i   n   a   l       C   o   n   t   r   o   l       F
0015440    u   n   c   t   i   o   n   s   }  \r   {   T   i   t   l   e
0015460        T   e   r   m   i   n   a   l       C   o   n   t   r   o
0015500    l       F   u   n   c   t   i   o   n   s   }  \r   {   T   e
0015520    x   t  \r  \r   {   i   n   d   e   x       e   c   h   o   i
0015540    n   g   }  \r   {   i   n   d   e   x       c   o   n   t   r
0015560    o   l       c   h   a   r   a   c   t   e   r       e   c   h
0015600    o   i   n   g   }  \r  \r  \r   {   F   n   D   e   f       {
0015620    F   n   N   a   m   e       E   C   H   O   C   O   N   T   R
0015640    O   L   }       {   F   n   A   r   g   s       C   H   A   R
0015660        M   O   D   E       T   T   B   L   }  \r   {   T   e   x
0015700    t  \r   U   s   e   d       t   o       i   n   d   i   c   a
0015720    t   e       h   o   w       c   o   n   t   r   o   l       c
0015740    h   a   r   a   c   t   e   r   s       a   r   e       t   o
0015760        b   e       e   c   h   o   e   d       o   r       p   r
0016000    i   n   t   e   d   .           {   a   r   g       C   H   A
0016020    R   }       i   s       a       c   h   a   r   a   c   t   e
0016040    r       o   r       c   h   a   r   a   c   t   e   r       c
0016060    o   d   e   .           {   a   r   g       M   O   D   E   }
0016100        m   a   y       b   e       o   n   e       o   f       t
0016120    h   e       a   t   o   m   s       {   l   i   s   p       I
0016140    G   N   O   R   E   }   ,       {   l   i   s   p       R   E
0016160    A   L   }   ,       {   l   i   s   p       S   I   M   U   L
0016200    A   T   E   }   ,       o   r       {   l   i   s   p       I
0016220    N   D   I   C   A   T   E   }   ,   {   f   o   o   t  \r   {
0016240    l   i   s   p       U   P   A   R   R   O   W   }       i   s
0016260        a   n       o   b   s   o   l   e   t   e       s   y   n
0016300    o   n   y   m       o   f       {   l   i   s   p       I   N
0016320    D   I   C   A   T   E   }   .  \r   }   {   c   o   m   m   e
0016340    n   t       e   n   d   f   o   o   t   n   o   t   e   }  \r
0016360    w   h   i   c   h       s   p   e   c   i   f   y       h   o
0016400    w       t   h   e       c   o   n   t   r   o   l       c   h
0016420    a   r   a   c   t   e   r       s   h   o   u   l   d       b
0016440    e       p   r   i   n   t   e   d   :  \r  \r   {   B   e   g
0016460    i   n       L   a   b   e   l   e   d   L   i   s   t       E
0016500    C   H   O   C   O   N   T   R   O   L       M   O   D   E    
0016520    a   r   g   u   m   e   n   t   }  \r  \r   {   N   a   m   e
0016540        {   l   i   s   p       I   G   N   O   R   E   }   }  \r
0016560    {   T   e   x   t       {   a   r   g       C   H   A   R   }
0016600        i   s       n   e   v   e   r       p   r   i   n   t   e
0016620    d   .   }  \r  \r   {   N   a   m   e       {   l   i   s   p
0016640        R   E   A   L   }   }  \r   {   T   e   x   t       {   a
0016660    r   g       C   H   A   R   }       i   t   s   e   l   f    
0016700    i   s       p   r   i   n   t   e   d   ;       i   .   e   .
0016720    ,       t   h   e       r   a   w       c   o   n   t   r   o
0016740    l       c   h   a   r   a   c   t   e   r       i   s       s
0016760    e   n   t       t   o       t   h   e       t   e   r   m   i
0017000    n   a   l   .           S   o   m   e       t   e   r   m   i
0017020    n   a   l   s   ,       p   a   r   t   i   c   u   l   a   r
0017040    l   y       d   i   s   p   l   a   y   s   ,       r   e   s
0017060    p   o   n   d       t   o       c   e   r   t   a   i   n    
0017100    c   o   n   t   r   o   l       c   h   a   r   a   c   t   e
0017120    r   s       i   n       i   n   t   e   r   e   s   t   i   n
0017140    g       w   a   y   s   .   }  \r  \r   {   N   a   m   e    
0017160    {   l   i   s   p       S   I   M   U   L   A   T   E   }   }
0017200   \r   {   T   e   x   t       O   u   t   p   u   t       o   f
0017220        {   a   r   g       C   H   A   R   }       i   s       s
0017240    i   m   u   l   a   t   e   d   .           F   o   r       e
0017260    x   a   m   p   l   e   ,       c   o   n   t   r   o   l   -
0017300    I       (   t   a   b   )       m   a   y       b   e       s
0017320    i   m   u   l   a   t   e   d       b   y       p   r   i   n
0017340    t   i   n   g       s   p   a   c   e   s   .           T   h
0017360    e       s   i   m   u   l   a   t   i   o   n       i   s    
0017400    m   a   c   h   i   n   e   -   s   p   e   c   i   f   i   c
0017420        a   n   d       b   e   y   o   n   d       t   h   e    
0017440    c   o   n   t   r   o   l       o   f       t   h   e       u
0017460    s   e   r   .   }  \r  \r   {   N   a   m   e       {   l   i
0017500    s   p       I   N   D   I   C   A   T   E   }   }  \r   {   T
0017520    e   x   t       {   a   r   g       C   H   A   R   }       i
0017540    s       p   r   i   n   t   e   d       a   s       {   l   i
0017560    s   p       ^   }       f   o   l   l   o   w   e   d       b
0017600    y       t   h   e       c   o   r   r   e   s   p   o   n   d
0017620    i   n   g       a   l   p   h   a   b   e   t   i   c       c
0017640    h   a   r   a   c   t   e   r   .   }  \r  \r   {   E   n   d
0017660        L   a   b   e   l   e   d   L   i   s   t       E   C   H
0017700    O   C   O   N   T   R   O   L       M   O   D   E       a   r
0017720    g   u   m   e   n   t   }  \r  \r  \r   T   h   e       v   a
0017740    l   u   e       o   f       {   f   n       E   C   H   O   C
0017760    O   N   T   R   O   L   }       i   s       t   h   e       p
0020000    r   e   v   i   o   u   s       o   u   t   p   u   t       m
0020020    o   d   e       f   o   r       {   a   r   g       C   H   A
0020040    R   }   .           I   f       {   a   r   g       M   O   D
0020060    E   }   =   {   l   i   s   p       N   I   L   }   ,       {
0020100    f   n       E   C   H   O   C   O   N   T   R   O   L   }    
0020120    r   e   t   u   r   n   s       t   h   e       c   u   r   r
0020140    e   n   t       o   u   t   p   u   t       m   o   d   e    
0020160    w   i   t   h   o   u   t       c   h   a   n   g   i   n   g
0020200        i   t   .  \r  \r   N   o   t   e       t   h   a   t    
0020220    a   l   t   h   o   u   g   h       t   h   e       n   a   m
0020240    e       o   f       t   h   i   s       f   u   n   c   t   i
0020260    o   n       s   u   g   g   e   s   t   s       e   c   h   o
0020300    i   n   g       o   n   l   y   ,       i   t       a   f   f
0020320    e   c   t   s       {   i   t       a   l   l   }       o   u
0020340    t   p   u   t       o   f       t   h   e       c   o   n   t
0020360    r   o   l       c   h   a   r   a   c   t   e   r   ,       b
0020400    o   t   h       e   c   h   o   i   n   g       o   f       i
0020420    n   p   u   t       a   n   d       p   r   i   n   t   i   n
0020440    g       o   f       o   u   t   p   u   t   .           T   h
0020460    e       t   w   o       c   a   n   n   o   t       b   e    
0020500    s   p   e   c   i   f   i   e   d       i   n   d   e   p   e
0020520    n   d   e   n   t   l   y   ,       w   h   i   c   h       c
0020540    a   n       l   e   a   d       t   o       s   o   m   e    
0020560    t   r   i   c   k   i   n   e   s   s       i   n       {   f
0020600    n       D   E   L   E   T   E   C   O   N   T   R   O   L   }
0020620        m   e   s   s   a   g   e   s       (   b   e   l   o   w
0020640    )   .  \r  \r   I   n       I   n   t   e   r   l   i   s   p
0020660    -   1   0   ,       e   c   h   o   i   n   g       i   n   f
0020700    o   r   m   a   t   i   o   n       c   a   n       b   e    
0020720    s   p   e   c   i   f   i   e   d       o   n   l   y       f
0020740    o   r       c   o   n   t   r   o   l       c   h   a   r   a
0020760    c   t   e   r   s       (   a   l   t   h   o   u   g   h    
0021000    {   i   t       a   l   l   }       e   c   h   o   i   n   g
0021020        c   a   n       b   e       d   i   s   a   b   l   e   d
0021040        u   s   i   n   g       {   f   n       E   C   H   O   M
0021060    O   D   E   }   ,       b   e   l   o   w   )   .           T
0021100    h   e   r   e   f   o   r   e   ,       i   f       {   a   r
0021120    g       C   H   A   R   }       i   s       a   n       a   l
0021140    p   h   a   b   e   t   i   c       c   h   a   r   a   c   t
0021160    e   r       (   o   r       c   o   d   e   )   ,       i   t
0021200        r   e   f   e   r   s       t   o       t   h   e       c
0021220    o   r   r   e   s   p   o   n   d   i   n   g       c   o   n
0021240    t   r   o   l       c   h   a   r   a   c   t   e   r   ,    
0021260    e   .   g   .   ,       {   l   i   s   p       (   E   C   H
0021300    O   C   O   N   T   R   O   L       '   Z       '   I   N   D
0021320    I   C   A   T   E   )   }       m   a   k   e   s       c   o
0021340    n   t   r   o   l   -   Z       e   c   h   o       a   s    
0021360    {   l   i   s   p       ^   Z   }   .           A   l   l    
0021400    o   t   h   e   r       v   a   l   u   e   s       o   f    
0021420    {   a   r   g       C   H   A   R   }       g   e   n   e   r
0021440    a   t   e       {   l   i   s   p       I   L   L   E   G   A
0021460    L       A   R   G   }       e   r   r   o   r   s   .   {   i
0021500    n   d   e   x       I   L   L   E   G   A   L       A   R   G
0021520        E   r   r   o   r   }           I   n       I   n   t   e
0021540    r   l   i   s   p   -   D       a   n   d       I   n   t   e
0021560    r   l   i   s   p   -   V   A   X   ,       i   t       i   s
0021600        p   o   s   s   i   b   l   e       t   o       s   p   e
0021620    c   i   f   y       e   c   h   o   i   n   g       i   n   f
0021640    o   r   m   a   t   i   o   n       f   o   r       {   i   t
0021660        a   l   l   }       c   h   a   r   a   c   t   e   r   s
0021700    ,       u   s   i   n   g       t   h   e       f   u   n   c
0021720    t   i   o   n       {   f   n       E   C   H   O   C   H   A
0021740    R   }   .  \r   }   }  \r  \r  \r   {   F   n   D   e   f    
0021760    {   F   n   N   a   m   e       E   C   H   O   C   H   A   R
0022000    }       {   F   n   A   r   g   s       C   H   A   R   C   O
0022020    D   E       M   O   D   E       T   T   B   L   }  \r   {   T
0022040    e   x   t  \r   (   I   n   t   e   r   l   i   s   p   -   D
0022060    ,       I   n   t   e   r   l   i   s   p   -   V   A   X    
0022100    o   n   l   y   )           L   i   k   e       {   f   n    
0022120    E   C   H   O   C   O   N   T   R   O   L   }   ,       b   u
0022140    t       {   a   r   g       C   H   A   R   C   O   D   E   }
0022160        m   u   s   t       b   e       a       c   h   a   r   a
0022200    c   t   e   r       c   o   d   e   ,       a   n   d       c
0022220    a   n       s   p   e   c   i   f   y       {   i   t       a
0022240    n   y   }       c   h   a   r   a   c   t   e   r   {   e   m
0022260    d   a   s   h   }   n   o       c   o   e   r   c   i   o   n
0022300    s       a   r   e       p   e   r   f   o   r   m   e   d   .
0022320            T   h   e       {   l   i   s   p       I   N   D   I
0022340    C   A   T   E   }       m   o   d   e       f   o   r       "
0022360    m   e   t   a   "       c   h   a   r   a   c   t   e   r   s
0022400    ,       i   .   e   .   ,       c   h   a   r   a   c   t   e
0022420    r   s       w   h   o   s   e       c   o   d   e   s       a
0022440    r   e       i   n       t   h   e       r   a   n   g   e    
0022460    2   0   0   Q       t   h   r   o   u   g   h       3   7   7
0022500    Q   ,       c   a   u   s   e   s       t   h   e       c   h
0022520    a   r   a   c   t   e   r       t   o       b   e       p   r
0022540    i   n   t   e   d       f   o   l   l   o   w   i   n   g    
0022560    a       {   l   i   s   p       #   }   .           F   o   r
0022600        e   x   a   m   p   l   e   ,       m   e   t   a   -   A
0022620        w   o   u   l   d       p   r   i   n   t       a   s    
0022640    {   l   i   s   p       #   A   }   ,       m   e   t   a   -
0022660    c   o   n   t   r   o   l   -   B       a   s       {   l   i
0022700    s   p       #   ^   B   }   .  \r  \r   {   a   r   g       C
0022720    H   A   R   C   O   D   E   }       c   a   n       a   l   s
0022740    o       b   e       a       l   i   s   t       o   f       c
0022760    h   a   r   a   c   t   e   r   s   ,       i   n       w   h
0023000    i   c   h       c   a   s   e       {   f   n       E   C   H
0023020    O   C   H   A   R   }       i   s       a   p   p   l   i   e
0023040    d       t   o       e   a   c   h       o   f       t   h   e
0023060    m       w   i   t   h       a   r   g   u   m   e   n   t   s
0023100        {   a   r   g       M   O   D   E   }       a   n   d    
0023120    {   a   r   g       T   T   B   L   }   .  \r   }   }  \r  \r
0023140   \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a   m
0023160    e       E   C   H   O   M   O   D   E   }       {   F   n   A
0023200    r   g   s       F   L   G       T   T   B   L   }  \r   {   T
0023220    e   x   t  \r   I   f       {   a   r   g       F   L   G   }
0023240    =   {   l   i   s   p       T   }   ,       t   u   r   n   s
0023260        e   c   h   o   i   n   g       f   o   r       t   e   r
0023300    m   i   n   a   l       t   a   b   l   e       {   a   r   g
0023320        T   T   B   L   }       o   n   .           I   f       {
0023340    a   r   g       F   L   G   }   =   {   l   i   s   p       N
0023360    I   L   }   ,       t   u   r   n   s       e   c   h   o   i
0023400    n   g       o   f   f   .           R   e   t   u   r   n   s
0023420        t   h   e       p   r   e   v   i   o   u   s       s   e
0023440    t   t   i   n   g   .  \r   }   }  \r  \r  \r  \r   {   F   n
0023460    D   e   f       {   F   n   N   a   m   e       G   E   T   E
0023500    C   H   O   M   O   D   E   }       {   F   n   A   r   g   s
0023520        T   T   B   L   }  \r   {   T   e   x   t  \r   R   e   t
0023540    u   r   n   s       t   h   e       c   u   r   r   e   n   t
0023560        e   c   h   o       m   o   d   e       f   o   r       {
0023600    a   r   g       T   T   B   L   }   .  \r   }   }  \r  \r  \r
0023620   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0023640    D   E   L   E   T   E   C   O   N   T   R   O   L   }       {
0023660    F   n   A   r   g   s       T   Y   P   E       M   E   S   S
0023700    A   G   E       T   T   B   L   }  \r   {   T   e   x   t  \r
0023720    S   p   e   c   i   f   i   e   s       t   h   e       o   u
0023740    t   p   u   t       p   r   o   t   o   c   o   l       w   h
0023760    e   n       a       {   l   i   s   p       C   H   A   R   D
0024000    E   L   E   T   E   }   {   i   n   d   e   x       C   H   A
0024020    R   D   E   L   E   T   E       (   s   y   n   t   a   x    
0024040    c   l   a   s   s   )   }       o   r       {   l   i   s   p
0024060        L   I   N   E   D   E   L   E   T   E   }   {   i   n   d
0024100    e   x       L   I   N   E   D   E   L   E   T   E       (   s
0024120    y   n   t   a   x       c   l   a   s   s   )   }       i   s
0024140        t   y   p   e   d   .           I   n       t   h   e    
0024160    c   a   s   e       o   f       c   h   a   r   a   c   t   e
0024200    r       d   e   l   e   t   i   o   n   ,       I   n   t   e
0024220    r   l   i   s   p   -   1   0       i   s       i   n   i   t
0024240    i   a   l   l   y       s   e   t       u   p       f   o   r
0024260        h   a   r   d   c   o   p   y       t   e   r   m   i   n
0024300    a   l   s   :       i   t       e   c   h   o   s       t   h
0024320    e       c   h   a   r   a   c   t   e   r   s       b   e   i
0024340    n   g       d   e   l   e   t   e   d   ,       p   r   e   c
0024360    e   d   i   n   g       t   h   e       f   i   r   s   t    
0024400    b   y       a       {   l   i   s   p       \   }       a   n
0024420    d       f   o   l   l   o   w   i   n   g       t   h   e    
0024440    l   a   s   t       b   y       a       {   l   i   s   p    
0024460    \   }   ,       s   o       t   h   a   t       i   t       i
0024500    s       e   a   s   y       t   o       s   e   e       e   x
0024520    a   c   t   l   y       w   h   a   t       w   a   s       d
0024540    e   l   e   t   e   d   ,       v   i   z   .   ,       t   h
0024560    e       c   h   a   r   a   c   t   e   r   s       b   e   t
0024600    w   e   e   n       t   h   e       {   l   i   s   p       \
0024620    }   '   s   .           I   n   t   e   r   l   i   s   p   -
0024640    D       a   n   d       I   n   t   e   r   l   i   s   p   -
0024660    V   A   X       a   r   e       i   n   i   t   i   a   l   l
0024700    y       s   e   t       u   p       t   o       p   h   y   s
0024720    i   c   a   l   l   y       e   r   a   s   e       t   h   e
0024740        d   e   l   e   t   e   d       c   h   a   r   a   c   t
0024760    e   r   s       f   r   o   m       t   h   e       d   i   s
0025000    p   l   a   y   ,       b   a   c   k   i   n   g       u   p
0025020        o   v   e   r       t   h   e   m   .           T   h   e
0025040        v   a   r   i   o   u   s       v   a   l   u   e   s    
0025060    o   f       {   a   r   g       T   Y   P   E   }       s   p
0025100    e   c   i   f   y       d   i   f   f   e   r   e   n   t    
0025120    p   h   a   s   e   s       o   f       t   h   e       d   e
0025140    l   e   t   i   o   n   ,       a   s       f   o   l   l   o
0025160    w   s   :   {   i   n   d   e   x       c   o   n   t   r   o
0025200    l   -   A   }   {   i   n   d   e   x       c   o   n   t   r
0025220    o   l   -   Q   }  \r  \r  \r   {   B   e   g   i   n       L
0025240    a   b   e   l   e   d   L   i   s   t       i   n   t   e   r
0025260    p   r   e   t   a   t   i   o   n   s       o   f       T   Y
0025300    P   E   }  \r  \r  \r   {   L   a   b   e   l       {   l   i
0025320    s   p       1   S   T   C   H   D   E   L   }   }  \r   {   T
0025340    e   x   t  \r   {   a   r   g       M   E   S   S   A   G   E
0025360    }       i   s       t   h   e       m   e   s   s   a   g   e
0025400        p   r   i   n   t   e   d       t   h   e       f   i   r
0025420    s   t       t   i   m   e       {   l   i   s   p       C   H
0025440    A   R   D   E   L   E   T   E   }       i   s       t   y   p
0025460    e   d   .           I   n   i   t   i   a   l   l   y       "
0025500    {   l   i   s   p       \   }   "       i   n       I   n   t
0025520    e   r   l   i   s   p   -   1   0   .   {   i   n   d   e   x
0025540        \       (   P   r   i   n   t   e   d       b   y       S
0025560    y   s   t   e   m   )   }  \r   }  \r  \r   {   L   a   b   e
0025600    l       {   l   i   s   p       N   T   H   C   H   D   E   L
0025620    }   }  \r   {   T   e   x   t  \r   {   a   r   g       M   E
0025640    S   S   A   G   E   }       i   s       t   h   e       m   e
0025660    s   s   a   g   e       p   r   i   n   t   e   d       o   n
0025700        s   u   b   s   e   q   u   e   n   t       {   l   i   s
0025720    p       C   H   A   R   D   E   L   E   T   E   }   '   s    
0025740    (   w   i   t   h   o   u   t       i   n   t   e   r   v   e
0025760    n   i   n   g       c   h   a   r   a   c   t   e   r   s   )
0026000    .           I   n   i   t   i   a   l   l   y       "   "    
0026020    i   n       I   n   t   e   r   l   i   s   p   -   1   0   .
0026040   \r   }  \r  \r   {   L   a   b   e   l       {   l   i   s   p
0026060        P   O   S   T   C   H   D   E   L   }   }  \r   {   T   e
0026100    x   t  \r   {   a   r   g       M   E   S   S   A   G   E   }
0026120        i   s       t   h   e       m   e   s   s   a   g   e    
0026140    p   r   i   n   t   e   d       w   h   e   n       i   n   p
0026160    u   t       i   s       r   e   s   u   m   e   d       f   o
0026200    l   l   o   w   i   n   g       a       s   e   q   u   e   n
0026220    c   e       o   f       o   n   e       o   r       m   o   r
0026240    e       {   l   i   s   p       C   H   A   R   D   E   L   E
0026260    T   E   '   }   s   .  \r   I   n   i   t   i   a   l   l   y
0026300        "   {   l   i   s   p       \   }   "       i   n       I
0026320    n   t   e   r   l   i   s   p   -   1   0   .   {   i   n   d
0026340    e   x       \       (   P   r   i   n   t   e   d       b   y
0026360        S   y   s   t   e   m   )   }  \r   }  \r  \r   {   L   a
0026400    b   e   l       {   l   i   s   p       E   M   P   T   Y   C
0026420    H   D   E   L   }   }  \r   {   T   e   x   t  \r   {   a   r
0026440    g       M   E   S   S   A   G   E   }       i   s       t   h
0026460    e       m   e   s   s   a   g   e       p   r   i   n   t   e
0026500    d       w   h   e   n       a       {   l   i   s   p       C
0026520    H   A   R   D   E   L   E   T   E   }       i   s       t   y
0026540    p   e   d       a   n   d       t   h   e   r   e       a   r
0026560    e       n   o       c   h   a   r   a   c   t   e   r   s    
0026600    i   n       t   h   e       b   u   f   f   e   r   .  \r   I
0026620    n   i   t   i   a   l   l   y       "   {   l   i   s   p    
0026640    #   #   {   C   R   s   y   m   b   o   l   }   }   "       i
0026660    n       I   n   t   e   r   l   i   s   p   -   1   0   .   {
0026700    i   n   d   e   x       #   #       (   P   r   i   n   t   e
0026720    d       b   y       S   y   s   t   e   m   )   }  \r   }  \r
0026740   \r   {   L   a   b   e   l       {   l   i   s   p       E   C
0026760    H   O   }   }  \r   {   T   e   x   t  \r   T   h   e       c
0027000    h   a   r   a   c   t   e   r   s       d   e   l   e   t   e
0027020    d       b   y       {   l   i   s   p       C   H   A   R   D
0027040    E   L   E   T   E   }       a   r   e       e   c   h   o   e
0027060    d   .           {   a   r   g       M   E   S   S   A   G   E
0027100    }       i   s       i   g   n   o   r   e   d   .  \r   }  \r
0027120   \r   {   L   a   b   e   l       {   l   i   s   p       N   O
0027140    E   C   H   O   }   }  \r   {   T   e   x   t  \r   T   h   e
0027160        c   h   a   r   a   c   t   e   r   s       d   e   l   e
0027200    t   e   d       b   y       {   l   i   s   p       C   H   A
0027220    R   D   E   L   E   T   E   }       a   r   e       n   o   t
0027240        e   c   h   o   e   d           {   a   r   g       M   E
0027260    S   S   A   G   E   }       i   s       i   g   n   o   r   e
0027300    d   .  \r   }  \r  \r   {   L   a   b   e   l       {   l   i
0027320    s   p       L   I   N   E   D   E   L   E   T   E   }   }  \r
0027340    {   T   e   x   t  \r   {   a   r   g       M   E   S   S   A
0027360    G   E   }       i   s       t   h   e       m   e   s   s   a
0027400    g   e       p   r   i   n   t   e   d       w   h   e   n    
0027420    {   l   i   s   p       L   I   N   E   D   E   L   E   T   E
0027440    }       c   h   a   r   a   c   t   e   r       i   s       t
0027460    y   p   e   d   .           I   n   i   t   i   a   l   l   y
0027500        "   {   l   i   s   p       #   #   {   C   R   s   y   m
0027520    b   o   l   }   }   "   .   {   i   n   d   e   x       #   #
0027540        (   P   r   i   n   t   e   d       b   y       S   y   s
0027560    t   e   m   )   }  \r   }  \r   {   E   n   d       L   a   b
0027600    e   l   e   d   L   i   s   t       i   n   t   e   r   p   r
0027620    e   t   a   t   i   o   n   s       o   f       T   Y   P   E
0027640    }  \r  \r  \r   N   o   t   e   :           I   n       I   n
0027660    t   e   r   l   i   s   p   -   1   0   ,       t   h   e    
0027700    {   l   i   s   p       L   I   N   E   D   E   L   E   T   E
0027720    }   ,       {   l   i   s   p       1   S   T   C   H   D   E
0027740    L   }   ,       {   l   i   s   p       N   T   H   C   H   D
0027760    E   L   }   ,       {   l   i   s   p       P   O   S   T   C
0030000    H   D   E   L   }   ,       a   n   d       {   l   i   s   p
0030020        E   M   P   T   Y   C   H   D   E   L   }       m   e   s
0030040    s   a   g   e   s       m   u   s   t       b   e       4    
0030060    c   h   a   r   a   c   t   e   r   s       o   r       f   e
0030100    w   e   r       i   n       l   e   n   g   t   h   .  \r  \r
0030120   \r   {   f   n       D   E   L   E   T   E   C   O   N   T   R
0030140    O   L   }       r   e   t   u   r   n   s       t   h   e    
0030160    p   r   e   v   i   o   u   s       m   e   s   s   a   g   e
0030200        a   s       a       s   t   r   i   n   g   .           I
0030220    f       {   a   r   g       M   E   S   S   A   G   E   }   =
0030240    {   l   i   s   p       N   I   L   }   ,       t   h   e    
0030260    v   a   l   u   e       r   e   t   u   r   n   e   d       i
0030300    s       t   h   e       p   r   e   v   i   o   u   s       m
0030320    e   s   s   a   g   e       w   i   t   h   o   u   t       c
0030340    h   a   n   g   i   n   g       i   t   .           F   o   r
0030360        {   l   i   s   p       E   C   H   O   }       a   n   d
0030400        {   l   i   s   p       N   O   E   C   H   O   }   ,    
0030420    t   h   e       v   a   l   u   e       o   f       {   f   n
0030440        D   E   L   E   T   E   C   O   N   T   R   O   L   }    
0030460    i   s       t   h   e       p   r   e   v   i   o   u   s    
0030500    e   c   h   o       m   o   d   e   ,       i   .   e   .   ,
0030520        {   l   i   s   p       E   C   H   O   }       o   r    
0030540    {   l   i   s   p       N   O   E   C   H   O   }   .  \r  \r
0030560    {   n   o   t   e       w   h   i   c   h       i   s       l
0030600    o   u   s   y   ,       b   e   c   a   u   s   e       i   t
0030620        m   e   a   n   s       y   o   u       c   a   n   '   t
0030640        d   o       (   R   E   S   E   T   S   A   V   E       N
0030660    I   L       (   L   I   S   T       '   D   E   L   E   T   E
0030700    C   O   N   T   R   O   L       t   y   p   e           (   D
0030720    E   L   E   T   E   C   O   N   T   R   O   L       t   y   p
0030740    e       n   e   w   v   a   l   u   e   )   )   )       w   i
0030760    t   h   o   u   t       r   e   g   a   r   d       t   o    
0031000    T   Y   P   E   .   }      \r   }   }  \r  \r  \r   {   F   n
0031020    D   e   f       {   F   n   N   a   m   e       G   E   T   D
0031040    E   L   E   T   E   C   O   N   T   R   O   L   }       {   F
0031060    n   A   r   g   s       T   Y   P   E       T   T   B   L   }
0031100   \r   {   T   e   x   t  \r   R   e   t   u   r   n   s       t
0031120    h   e       c   u   r   r   e   n   t       {   f   n       D
0031140    E   L   E   T   E   C   O   N   T   R   O   L   }       m   o
0031160    d   e       f   o   r       {   a   r   g       T   Y   P   E
0031200    }       i   n       {   a   r   g       T   T   B   L   }   .
0031220   \r   }   }  \r  \r  \r   I   f       t   h   e       u   s   e
0031240    r   '   s       t   e   r   m   i   n   a   l       i   s    
0031260    a       d   i   s   p   l   a   y   ,       {   f   n       D
0031300    E   L   E   T   E   C   O   N   T   R   O   L   }       a   n
0031320    d       {   f   n       E   C   H   O   C   O   N   T   R   O
0031340    L   }       c   a   n       b   e       u   s   e   d       t
0031360    o       m   a   k   e       i   t       r   e   a   l   l   y
0031400        d   e   l   e   t   e       t   h   e       l   a   s   t
0031420        c   h   a   r   a   c   t   e   r       b   y       p   e
0031440    r   f   o   r   m   i   n   g       t   h   e       f   o   l
0031460    l   o   w   i   n   g   :  \r  \r   {   B   e   g   i   n    
0031500    L   a   b   e   l   e   d   L   i   s   t       B   a   c   k
0031520    s   p   a   c   e       k   l   u   d   g   e   }  \r  \r   {
0031540    L   a   b   e   l       {   l   i   s   p       (   E   C   H
0031560    O   C   O   N   T   R   O   L       8       '   R   E   A   L
0031600    )   }   }  \r   {   I   t   e   m       8       i   s       t
0031620    h   e       c   o   d   e       f   o   r       c   o   n   t
0031640    r   o   l   -   H   ,       w   h   i   c   h       i   s    
0031660    b   a   c   k   s   p   a   c   e   ;       w   e       w   a
0031700    n   t       t   h   e       t   e   r   m   i   n   a   l    
0031720    t   o       r   e   a   l   l   y       b   a   c   k   s   p
0031740    a   c   e       w   h   e   n       w   e       s   e   n   d
0031760        {   l   i   s   p       ^   H   }   .  \r   }  \r  \r   {
0032000    L   a   b   e   l       {   l   i   s   p       (   D   E   L
0032020    E   T   E   C   O   N   T   R   O   L       '   N   O   E   C
0032040    H   O   )   }   }  \r   {   I   t   e   m       D   o       n
0032060    o   t       e   c   h   o       t   h   e       d   e   l   e
0032100    t   e   d       c   h   a   r   a   c   t   e   r   s   .   }
0032120   \r  \r   {   L   a   b   e   l       {   l   i   s   p       (
0032140    D   E   L   E   T   E   C   O   N   T   R   O   L       '   1
0032160    S   T   C   H   D   E   L       "   ^   H       ^   H   "   )
0032200    }   }  \r   {   L   a   b   e   l       {   l   i   s   p    
0032220    (   D   E   L   E   T   E   C   O   N   T   R   O   L       '
0032240    N   T   H   C   H   D   E   L       "   ^   H       ^   H   "
0032260    )   }   }  \r   {   I   t   e   m       E   r   a   s   e    
0032300    e   a   c   h       c   h   a   r   a   c   t   e   r       b
0032320    y       b   a   c   k   s   p   a   c   i   n   g       o   v
0032340    e   r       i   t   ,       p   r   i   n   t   i   n   g    
0032360    a       s   p   a   c   e   ,       t   h   e   n       b   a
0032400    c   k   s   p   a   c   i   n   g       a   g   a   i   n    
0032420    t   o       p   u   t       t   h   e       c   a   r   r   i
0032440    a   g   e       i   n       t   h   e       r   i   g   h   t
0032460        p   l   a   c   e   .   }  \r  \r   {   E   n   d       L
0032500    a   b   e   l   e   d   L   i   s   t       B   a   c   k   s
0032520    p   a   c   e       k   l   u   d   g   e   }  \r  \r  \r   T
0032540    h   e       f   o   l   l   o   w   i   n   g       f   u   n
0032560    c   t   i   o   n   s       m   a   n   i   p   u   l   a   t
0032600    e       t   h   e       {   f   n       R   A   I   S   E   }
0032620        m   o   d   e   ,       w   h   i   c   h       d   e   t
0032640    e   r   m   i   n   e   s       w   h   e   t   h   e   r    
0032660    l   o   w   e   r       c   a   s   e       c   h   a   r   a
0032700    c   t   e   r   s       a   r   e       c   o   n   v   e   r
0032720    t   e   d       t   o       u   p   p   e   r       c   a   s
0032740    e       w   h   e   n       i   n   p   u   t       f   r   o
0032760    m       t   h   e       t   e   r   m   i   n   a   l   .    
0033000        (   T   h   e   r   e       c   u   r   r   e   n   t   l
0033020    y       i   s       n   o       "   r   a   i   s   e   "    
0033040    m   o   d   e       f   o   r       i   n   p   u   t       f
0033060    r   o   m       f   i   l   e   s   .   )  \r  \r   {   i   n
0033100    d   e   x       l   o   w   e   r       c   a   s   e       i
0033120    n   p   u   t   }  \r  \r   {   F   n   D   e   f       {   F
0033140    n   N   a   m   e       R   A   I   S   E   }       {   F   n
0033160    A   r   g   s       F   L   G       T   T   B   L   }  \r   {
0033200    T   e   x   t  \r   S   e   t   s       t   h   e       {   f
0033220    n       R   A   I   S   E   }       m   o   d   e       f   o
0033240    r       t   e   r   m   i   n   a   l       t   a   b   l   e
0033260        {   a   r   g       T   T   B   L   }   .           I   f
0033300        {   a   r   g       F   L   G   }   =   {   l   i   s   p
0033320        N   I   L   }   ,       a   l   l       c   h   a   r   a
0033340    c   t   e   r   s       a   r   e       p   a   s   s   e   d
0033360        a   s       t   y   p   e   d   .           I   f       {
0033400    a   r   g       F   L   G   }   =   {   l   i   s   p       T
0033420    }   ,       i   n   p   u   t       i   s       e   c   h   o
0033440    e   d       a   s       t   y   p   e   d   ,       b   u   t
0033460        l   o   w   e   r   c   a   s   e       l   e   t   t   e
0033500    r   s       a   r   e       c   o   n   v   e   r   t   e   d
0033520        t   o       u   p   p   e   r       c   a   s   e   .    
0033540        I   f       {   a   r   g       F   L   G   }   =   {   l
0033560    i   s   p       0   }   ,       i   n   p   u   t       i   s
0033600        c   o   n   v   e   r   t   e   d       t   o       u   p
0033620    p   e   r       c   a   s   e       {   i   t       b   e   f
0033640    o   r   e   }       i   t       i   s       e   c   h   o   e
0033660    d   .           R   e   t   u   r   n   s       t   h   e    
0033700    p   r   e   v   i   o   u   s       s   e   t   t   i   n   g
0033720    .  \r   }   }  \r  \r   {   F   n   D   e   f       {   F   n
0033740    N   a   m   e       G   E   T   R   A   I   S   E   }       {
0033760    F   n   A   r   g   s       T   T   B   L   }  \r   {   T   e
0034000    x   t  \r   R   e   t   u   r   n   s       t   h   e       c
0034020    u   r   r   e   n   t       {   f   n       R   A   I   S   E
0034040    }       m   o   d   e       f   o   r       {   a   r   g    
0034060    T   T   B   L   }   .  \r   }   }  \r  \r  \r   }   {   E   n
0034100    d       S   u   b   S   e   c       T   e   r   m   i   n   a
0034120    l       C   o   n   t   r   o   l       F   u   n   c   t   i
0034140    o   n   s   }  \r  \r  \r  \r   {   B   e   g   i   n       S
0034160    u   b   S   e   c       L   i   n   e   -   B   u   f   f   e
0034200    r   i   n   g   }  \r   {   T   i   t   l   e       L   i   n
0034220    e   -   B   u   f   f   e   r   i   n   g   }  \r   {   T   e
0034240    x   t  \r  \r   {   i   n   d   e   x       *   B   E   G   I
0034260    N   *       l   i   n   e   -   b   u   f   f   e   r   i   n
0034300    g   }  \r   {   i   n   d   e   x       *   P   R   I   M   A
0034320    R   Y   *       l   i   n   e   -   b   u   f   f   e   r   i
0034340    n   g   }  \r  \r  \r   C   h   a   r   a   c   t   e   r   s
0034360        t   y   p   e   d       a   t       t   h   e       t   e
0034400    r   m   i   n   a   l       a   r   e       s   t   o   r   e
0034420    d       i   n       t   w   o       b   u   f   f   e   r   s
0034440        b   e   f   o   r   e       t   h   e   y       a   r   e
0034460        p   a   s   s   e   d       t   o       a   n       i   n
0034500    p   u   t       f   u   n   c   t   i   o   n   .           A
0034520    l   l       c   h   a   r   a   c   t   e   r   s       t   y
0034540    p   e   d       i   n       a   r   e       p   u   t       i
0034560    n   t   o       t   h   e       l   o   w   -   l   e   v   e
0034600    l       "   s   y   s   t   e   m       b   u   f   f   e   r
0034620    "   ,   {   i   n   d   e   x       *   P   R   I   M   A   R
0034640    Y   *       s   y   s   t   e   m       b   u   f   f   e   r
0034660    }       w   h   i   c   h       a   l   l   o   w   s       t
0034700    y   p   e   -   a   h   e   a   d   .           W   h   e   n
0034720        a   n       i   n   p   u   t       f   u   n   c   t   i
0034740    o   n       i   s       e   n   t   e   r   e   d   ,       c
0034760    h   a   r   a   c   t   e   r   s       a   r   e       t   r
0035000    a   n   s   f   e   r   r   e   d       t   o       t   h   e
0035020        "   l   i   n   e       b   u   f   f   e   r   "   {   i
0035040    n   d   e   x       *   P   R   I   M   A   R   Y   *       l
0035060    i   n   e       b   u   f   f   e   r   }       u   n   t   i
0035100    l       a       c   h   a   r   a   c   t   e   r       w   i
0035120    t   h       t   e   r   m   i   n   a   l       s   y   n   t
0035140    a   x       c   l   a   s   s       {   l   i   s   p       E
0035160    O   L   }       a   p   p   e   a   r   s       (   o   r   ,
0035200        f   o   r       c   a   l   l   s       f   r   o   m    
0035220    {   f   n       R   E   A   D   }   ,       w   h   e   n    
0035240    t   h   e       c   o   u   n   t       o   f       u   n   b
0035260    a   l   a   n   c   e   d       o   p   e   n       p   a   r
0035300    e   n   t   h   e   s   e   s   {   i   n   d   e   x       p
0035320    a   r   e   n   t   h   e   s   e   s       c   o   u   n   t
0035340    i   n   g       b   y       R   E   A   D   }       r   e   a
0035360    c   h   e   s       0   )   .   {   f   o   o   t  \r   {   f
0035400    n       P   E   E   K   C   }       i   s       a   n       e
0035420    x   c   e   p   t   i   o   n   ;       i   t       r   e   t
0035440    u   r   n   s       t   h   e       c   h   a   r   a   c   t
0035460    e   r       i   m   m   e   d   i   a   t   e   l   y       w
0035500    h   e   n       i   t   s       s   e   c   o   n   d       a
0035520    r   g   u   m   e   n   t       i   s       {   l   i   s   p
0035540        N   I   L   }   .  \r   }   {   c   o   m   m   e   n   t
0035560        e   n   d   f   o   o   t   n   o   t   e   }  \r   U   n
0035600    t   i   l       t   h   i   s       t   i   m   e   ,       t
0035620    h   e       u   s   e   r       c   a   n       d   e   l   e
0035640    t   e       c   h   a   r   a   c   t   e   r   s       o   n
0035660    e       a   t       a       t   i   m   e       f   r   o   m
0035700        t   h   e       l   i   n   e       b   u   f   f   e   r
0035720        b   y       t   y   p   i   n   g       t   h   e       c
0035740    u   r   r   e   n   t       {   l   i   s   p       C   H   A
0035760    R   D   E   L   E   T   E   }       c   h   a   r   a   c   t
0036000    e   r   ,       o   r       d   e   l   e   t   e       t   h
0036020    e       e   n   t   i   r   e       l   i   n   e       b   u
0036040    f   f   e   r       b   a   c   k       t   o       t   h   e
0036060        l   a   s   t       c   a   r   r   i   a   g   e   -   r
0036100    e   t   u   r   n       b   y       t   y   p   i   n   g    
0036120    t   h   e       c   u   r   r   e   n   t       {   l   i   s
0036140    p       L   I   N   E   D   E   L   E   T   E   }   .  \r  \r
0036160   \r   N   o   t   e       t   h   a   t       t   h   i   s    
0036200    l   i   n   e       e   d   i   t   i   n   g       i   s    
0036220    {   i   t       n   o   t   }       p   e   r   f   o   r   m
0036240    e   d       b   y       {   f   n       R   E   A   D   }    
0036260    o   r       {   f   n       R   A   T   O   M   }   ,       b
0036300    u   t       b   y       I   n   t   e   r   l   i   s   p   ,
0036320        i   .   e   .   ,       i   t       d   o   e   s       n
0036340    o   t       m   a   t   t   e   r       (   n   o   r       i
0036360    s       i   t       n   e   c   e   s   s   a   r   i   l   y
0036400        k   n   o   w   n   )       w   h   i   c   h       f   u
0036420    n   c   t   i   o   n       w   i   l   l       u   l   t   i
0036440    m   a   t   e   l   y       p   r   o   c   e   s   s       t
0036460    h   e       c   h   a   r   a   c   t   e   r   s   ,       o
0036500    n   l   y       t   h   a   t       t   h   e   y       a   r
0036520    e       s   t   i   l   l       i   n       t   h   e       I
0036540    n   t   e   r   l   i   s   p       l   i   n   e       b   u
0036560    f   f   e   r   .           H   o   w   e   v   e   r   ,    
0036600    t   h   e       f   u   n   c   t   i   o   n       t   h   a
0036620    t       i   s       r   e   q   u   e   s   t   i   n   g    
0036640    i   n   p   u   t       a   t       t   h   e       t   i   m
0036660    e       t   h   e       b   u   f   f   e   r   i   n   g    
0036700    s   t   a   r   t   s       d   o   e   s       d   e   t   e
0036720    r   m   i   n   e       w   h   e   t   h   e   r       p   a
0036740    r   e   n   t   h   e   s   e   s       c   o   u   n   t   i
0036760    n   g   {   i   n   d   e   x       p   a   r   e   n   t   h
0037000    e   s   e   s       c   o   u   n   t   i   n   g       b   y
0037020        R   E   A   D   }       i   s       o   b   s   e   r   v
0037040    e   d   .           F   o   r       e   x   a   m   p   l   e
0037060    ,       i   f       a       p   r   o   g   r   a   m       p
0037100    e   r   f   o   r   m   s       {   l   i   s   p       (   P
0037120    R   O   G   N       (   R   A   T   O   M   )       (   R   E
0037140    A   D   )   )   }       a   n   d       t   h   e       u   s
0037160    e   r       t   y   p   e   s       i   n       "   {   l   i
0037200    s   p       A       (   B       C       D   )   }   "   ,    
0037220    t   h   e       u   s   e   r       m   u   s   t       t   y
0037240    p   e       i   n       t   h   e       c   a   r   r   i   a
0037260    g   e   -   r   e   t   u   r   n       f   o   l   l   o   w
0037300    i   n   g       t   h   e       r   i   g   h   t       p   a
0037320    r   e   n   t   h   e   s   i   s       b   e   f   o   r   e
0037340        a   n   y       a   c   t   i   o   n       i   s       t
0037360    a   k   e   n   ,       b   e   c   a   u   s   e       t   h
0037400    e       l   i   n   e       b   u   f   f   e   r   i   n   g
0037420        i   s       h   a   p   p   e   n   i   n   g       u   n
0037440    d   e   r       {   f   n       R   A   T   O   M   }   .    
0037460        I   f       t   h   e       p   r   o   g   r   a   m    
0037500    h   a   d       p   e   r   f   o   r   m   e   d       {   l
0037520    i   s   p       (   P   R   O   G   N       (   R   E   A   D
0037540    )       (   R   E   A   D   )   )   }   ,       t   h   e    
0037560    l   i   n   e   -   b   u   f   f   e   r   i   n   g       w
0037600    o   u   l   d       b   e       u   n   d   e   r       {   f
0037620    n       R   E   A   D   }   ,       s   o       t   h   a   t
0037640        t   h   e       r   i   g   h   t       p   a   r   e   n
0037660    t   h   e   s   i   s       w   o   u   l   d       t   e   r
0037700    m   i   n   a   t   e       l   i   n   e       b   u   f   f
0037720    e   r   i   n   g   ,       a   n   d       n   o       t   e
0037740    r   m   i   n   a   t   i   n   g       c   a   r   r   i   a
0037760    g   e   -   r   e   t   u   r   n       w   o   u   l   d    
0040000    b   e       r   e   q   u   i   r   e   d   .  \r  \r   O   n
0040020    c   e       a       c   a   r   r   i   a   g   e   -   r   e
0040040    t   u   r   n       h   a   s       b   e   e   n       t   y
0040060    p   e   d   ,       t   h   e       e   n   t   i   r   e    
0040100    l   i   n   e       i   s       "   a   v   a   i   l   a   b
0040120    l   e   "       e   v   e   n       i   f       n   o   t    
0040140    a   l   l       o   f       i   t       i   s       p   r   o
0040160    c   e   s   s   e   d       b   y       t   h   e       f   u
0040200    n   c   t   i   o   n       i   n   i   t   i   a   t   i   n
0040220    g       t   h   e       r   e   q   u   e   s   t       f   o
0040240    r       i   n   p   u   t   .           I   f       a   n   y
0040260        c   h   a   r   a   c   t   e   r   s       a   r   e    
0040300    "   l   e   f   t       o   v   e   r   "   ,       t   h   e
0040320    y       a   r   e       r   e   t   u   r   n   e   d       i
0040340    m   m   e   d   i   a   t   e   l   y       o   n       t   h
0040360    e       n   e   x   t       r   e   q   u   e   s   t       f
0040400    o   r       i   n   p   u   t   .           F   o   r       e
0040420    x   a   m   p   l   e   ,       {   l   i   s   p       (   L
0040440    I   S   T       (   R   A   T   O   M   )       (   R   E   A
0040460    D   C   )       (   R   A   T   O   M   )   )   }       w   h
0040500    e   n       t   h   e       i   n   p   u   t       i   s    
0040520    "   {   l   i   s   p       A       B   {   C   R   s   y   m
0040540    b   o   l   }   }   "       r   e   t   u   r   n   s       t
0040560    h   e       t   h   r   e   e   -   e   l   e   m   e   n   t
0040600        l   i   s   t       {   l   i   s   p       (   A       %
0040620            B   )   }       a   n   d       l   e   a   v   e   s
0040640        t   h   e       c   a   r   r   i   a   g   e   -   r   e
0040660    t   u   r   n       i   n       t   h   e       b   u   f   f
0040700    e   r   .  \r  \r   I   f       a       c   a   r   r   i   a
0040720    g   e   -   r   e   t   u   r   n       i   s       t   y   p
0040740    e   d       w   h   e   n       t   h   e       i   n   p   u
0040760    t       u   n   d   e   r       {   f   n       R   E   A   D
0041000    }       i   s       n   o   t       "   c   o   m   p   l   e
0041020    t   e   "       (   t   h   e       p   a   r   e   n   t   h
0041040    e   s   e   s       a   r   e       n   o   t       b   a   l
0041060    a   n   c   e   d       o   r       a       s   t   r   i   n
0041100    g       i   s       i   n       p   r   o   g   r   e   s   s
0041120    )   ,       l   i   n   e       b   u   f   f   e   r   i   n
0041140    g       c   o   n   t   i   n   u   e   s   ,       b   u   t
0041160        t   h   e       l   i   n   e   s       c   o   m   p   l
0041200    e   t   e   d       s   o       f   a   r       a   r   e    
0041220    n   o   t       a   v   a   i   l   a   b   l   e       f   o
0041240    r       e   d   i   t   i   n   g       w   i   t   h       {
0041260    l   i   s   p       C   H   A   R   D   E   L   E   T   E   }
0041300        o   r       {   l   i   s   p       L   I   N   E   D   E
0041320    L   E   T   E   }   .  \r  \r  \r  \r   T   h   e       f   u
0041340    n   c   t   i   o   n       {   f   n       C   O   N   T   R
0041360    O   L   }       i   s       a   v   a   i   l   a   b   l   e
0041400        t   o       d   e   f   e   a   t       l   i   n   e   -
0041420    b   u   f   f   e   r   i   n   g   :  \r  \r   {   F   n   D
0041440    e   f       {   F   n   N   a   m   e       C   O   N   T   R
0041460    O   L   }       {   F   n   A   r   g   s       M   O   D   E
0041500        T   T   B   L   }  \r   {   T   e   x   t  \r   I   f    
0041520    {   a   r   g       M   O   D   E   }   =   {   l   i   s   p
0041540        T   }   ,       e   l   i   m   i   n   a   t   e   s    
0041560    I   n   t   e   r   l   i   s   p   '   s       n   o   r   m
0041600    a   l       l   i   n   e   -   b   u   f   f   e   r   i   n
0041620    g       f   o   r       t   h   e       t   e   r   m   i   n
0041640    a   l       t   a   b   l   e       {   a   r   g       T   T
0041660    B   L   }   .           I   f       {   a   r   g       M   O
0041700    D   E   }   =   {   l   i   s   p       N   I   L   }   ,    
0041720    r   e   s   t   o   r   e   s       l   i   n   e   -   b   u
0041740    f   f   e   r   i   n   g       (   n   o   r   m   a   l   )
0041760    .           W   h   e   n       o   p   e   r   a   t   i   n
0042000    g       w   i   t   h       a       t   e   r   m   i   n   a
0042020    l       t   a   b   l   e       i   n       w   h   i   c   h
0042040        {   l   i   s   p       (   C   O   N   T   R   O   L    
0042060    T   )   }       h   a   s       b   e   e   n       p   e   r
0042100    f   o   r   m   e   d   ,       c   h   a   r   a   c   t   e
0042120    r   s       a   r   e       r   e   t   u   r   n   e   d    
0042140    t   o       t   h   e       c   a   l   l   i   n   g       f
0042160    u   n   c   t   i   o   n       w   i   t   h   o   u   t    
0042200    l   i   n   e   -   b   u   f   f   e   r   i   n   g       a
0042220    s       d   e   s   c   r   i   b   e   d       b   e   l   o
0042240    w   .  \r  \r   {   f   n       C   O   N   T   R   O   L   }
0042260        r   e   t   u   r   n   s       i   t   s       p   r   e
0042300    v   i   o   u   s       s   e   t   t   i   n   g   .  \r   }
0042320    }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0042340    m   e       G   E   T   C   O   N   T   R   O   L   }       {
0042360    F   n   A   r   g   s       T   T   B   L   }  \r   {   T   e
0042400    x   t  \r   R   e   t   u   r   n   s       t   h   e       c
0042420    u   r   r   e   n   t       c   o   n   t   r   o   l       m
0042440    o   d   e       f   o   r       {   a   r   g       T   T   B
0042460    L   }   .  \r   }   }  \r  \r   T   h   e       f   u   n   c
0042500    t   i   o   n       t   h   a   t       i   n   i   t   i   a
0042520    t   e   s       t   h   e       r   e   q   u   e   s   t    
0042540    f   o   r       i   n   p   u   t       d   e   t   e   r   m
0042560    i   n   e   s       h   o   w       t   h   e       l   i   n
0042600    e       i   s       t   r   e   a   t   e   d       w   h   e
0042620    n       {   l   i   s   p       (   C   O   N   T   R   O   L
0042640        T   )   }       i   s       i   n       e   f   f   e   c
0042660    t   :  \r  \r  \r   {   B   e   g   i   n       L   a   b   e
0042700    l   e   d   L   i   s   t       f   u   n   c   t   i   o   n
0042720        t   h   a   t       i   n   i   t   i   a   t   e   s    
0042740    t   h   e       r   e   q   u   e   s   t   }  \r  \r   {   L
0042760    a   b   e   l       {   f   n       R   E   A   D   }   }  \r
0043000    {   T   e   x   t  \r   {   i   n   d   e   x       R   E   A
0043020    D       F   N   }   I   f       t   h   e       e   x   p   r
0043040    e   s   s   i   o   n       b   e   i   n   g       t   y   p
0043060    e   d       i   s       a       l   i   s   t   ,       t   h
0043100    e       e   f   f   e   c   t       i   s       t   h   e    
0043120    s   a   m   e       a   s       t   h   o   u   g   h       d
0043140    o   n   e       w   i   t   h       {   l   i   s   p       (
0043160    C   O   N   T   R   O   L       N   I   L   )   }   ,       i
0043200    .   e   .   ,       l   i   n   e   -   b   u   f   f   e   r
0043220    i   n   g       c   o   n   t   i   n   u   e   s       u   n
0043240    t   i   l       a       c   a   r   r   i   a   g   e   -   r
0043260    e   t   u   r   n       o   r       m   a   t   c   h   i   n
0043300    g       p   a   r   e   n   t   h   e   s   e   s   .        
0043320    I   f       t   h   e       e   x   p   r   e   s   s   i   o
0043340    n       b   e   i   n   g       t   y   p   e   d       i   s
0043360        n   o   t       a       l   i   s   t   ,       i   t    
0043400    i   s       r   e   t   u   r   n   e   d       a   s       s
0043420    o   o   n       a   s       a       b   r   e   a   k       o
0043440    r       s   e   p   a   r   a   t   o   r       c   h   a   r
0043460    a   c   t   e   r   {   i   n   d   e   x       b   r   e   a
0043500    k       c   h   a   r   a   c   t   e   r   s   }   {   i   n
0043520    d   e   x       s   e   p   a   r   a   t   o   r       c   h
0043540    a   r   a   c   t   e   r   s   }       i   s       e   n   c
0043560    o   u   n   t   e   r   e   d   ,       e   .   g   .   ,    
0043600    {   l   i   s   p       (   R   E   A   D   )   }       w   h
0043620    e   n       t   h   e       i   n   p   u   t       i   s    
0043640    "   {   l   i   s   p       A   B   C   }   <   s   p   a   c
0043660    e   >   "       i   m   m   e   d   i   a   t   e   l   y    
0043700    r   e   t   u   r   n   s       {   l   i   s   p       A   B
0043720    C   }   .           {   l   i   s   p       C   H   A   R   D
0043740    E   L   E   T   E   }       a   n   d       {   l   i   s   p
0043760        L   I   N   E   D   E   L   E   T   E   }           a   r
0044000    e       a   v   a   i   l   a   b   l   e       o   n       t
0044020    h   o   s   e       c   h   a   r   a   c   t   e   r   s    
0044040    s   t   i   l   l       i   n       t   h   e       b   u   f
0044060    f   e   r   .           T   h   u   s   ,       i   f       a
0044100        p   r   o   g   r   a   m       i   s       p   e   r   f
0044120    o   r   m   i   n   g       s   e   v   e   r   a   l       r
0044140    e   a   d   s       u   n   d   e   r       {   l   i   s   p
0044160        (   C   O   N   T   R   O   L       T   )   }   ,       a
0044200    n   d       t   h   e       u   s   e   r       t   y   p   e
0044220    s       "   {   l   i   s   p       N   O   W       I   S    
0044240    T   H   E       T   I   M   E   }   "  \r   f   o   l   l   o
0044260    w   e   d       b   y       c   o   n   t   r   o   l   -   Q
0044300    ,       o   n   l   y       {   l   i   s   p       T   I   M
0044320    E   }       i   s       d   e   l   e   t   e   d   ,       s
0044340    i   n   c   e       t   h   e       r   e   s   t       o   f
0044360        t   h   e       l   i   n   e       h   a   s       a   l
0044400    r   e   a   d   y       b   e   e   n       t   r   a   n   s
0044420    m   i   t   t   e   d       t   o       {   f   n       R   E
0044440    A   D   }       a   n   d       p   r   o   c   e   s   s   e
0044460    d   .  \r  \r   A   n       e   x   c   e   p   t   i   o   n
0044500        t   o       t   h   e       a   b   o   v   e       o   c
0044520    c   u   r   s       w   h   e   n       t   h   e       b   r
0044540    e   a   k       o   r       s   e   p   a   r   a   t   o   r
0044560        c   h   a   r   a   c   t   e   r       i   s       a   n
0044600        o   p   e   n   i   n   g       p   a   r   e   n   t   h
0044620    e   s   i   s   ,       b   r   a   c   k   e   t       o   r
0044640        d   o   u   b   l   e   -   q   u   o   t   e   ,       s
0044660    i   n   c   e       r   e   t   u   r   n   i   n   g       a
0044700    t       t   h   i   s       p   o   i   n   t       w   o   u
0044720    l   d       l   e   a   v   e       t   h   e       l   i   n
0044740    e       b   u   f   f   e   r       i   n       a       "   f
0044760    u   n   n   y   "       s   t   a   t   e   .           T   h
0045000    u   s       i   f       t   h   e       i   n   p   u   t    
0045020    t   o       {   l   i   s   p       (   R   E   A   D   )   }
0045040        i   s       "   {   l   i   s   p       A   B   C   (   }
0045060    "   ,       t   h   e       {   l   i   s   p       A   B   C
0045100    }       i   s       n   o   t       r   e   a   d       u   n
0045120    t   i   l       a       c   a   r   r   i   a   g   e   -   r
0045140    e   t   u   r   n       o   r       m   a   t   c   h   i   n
0045160    g       p   a   r   e   n   t   h   e   s   e   s       i   s
0045200        e   n   c   o   u   n   t   e   r   e   d   .           I
0045220    n       t   h   i   s       c   a   s   e       t   h   e    
0045240    u   s   e   r       c   o   u   l   d       {   l   i   s   p
0045260        L   I   N   E   D   E   L   E   T   E   }       t   h   e
0045300        e   n   t   i   r   e       l   i   n   e   ,       s   i
0045320    n   c   e       a   l   l       o   f       t   h   e       c
0045340    h   a   r   a   c   t   e   r   s       a   r   e       s   t
0045360    i   l   l       i   n       t   h   e       b   u   f   f   e
0045400    r   .  \r   }  \r  \r   {   L   a   b   e   l       {   f   n
0045420        R   A   T   O   M   }   }  \r   {   T   e   x   t  \r   {
0045440    i   n   d   e   x       R   A   T   O   M       F   N   }   C
0045460    h   a   r   a   c   t   e   r   s       a   r   e       r   e
0045500    t   u   r   n   e   d       a   s       s   o   o   n       a
0045520    s       a       b   r   e   a   k       o   r       s   e   p
0045540    a   r   a   t   o   r       c   h   a   r   a   c   t   e   r
0045560        i   s       e   n   c   o   u   n   t   e   r   e   d   .
0045600            U   n   t   i   l       t   h   e   n   ,       {   l
0045620    i   s   p       L   I   N   E   D   E   L   E   T   E   }    
0045640    a   n   d       {   l   i   s   p       C   H   A   R   D   E
0045660    L   E   T   E   }       m   a   y       b   e       u   s   e
0045700    d       a   s       w   i   t   h       {   f   n       R   E
0045720    A   D   }   .           F   o   r       e   x   a   m   p   l
0045740    e   ,       {   l   i   s   p       (   R   A   T   O   M   )
0045760    }       f   o   l   l   o   w   e   d       b   y       "   {
0046000    l   i   s   p       A   B   C   }   <   c   o   n   t   r   o
0046020    l   -   A   >   <   s   p   a   c   e   >   "       r   e   t
0046040    u   r   n   s       {   l   i   s   p       A   B   }   .    
0046060        {   l   i   s   p       (   R   A   T   O   M   )   }    
0046100    f   o   l   l   o   w   e   d       b   y       "   {   l   i
0046120    s   p       (   }   <   c   o   n   t   r   o   l   -   A   >
0046140    "       r   e   t   u   r   n   s       {   l   i   s   p    
0046160    (   }       a   n   d       t   y   p   e   s       {   l   i
0046200    s   p       #   #   }   {   i   n   d   e   x       #   #    
0046220    (   P   r   i   n   t   e   d       b   y       S   y   s   t
0046240    e   m   )   }       i   n   d   i   c   a   t   i   n   g    
0046260    t   h   a   t       c   o   n   t   r   o   l   -   A       w
0046300    a   s       a   t   t   e   m   p   t   e   d       w   i   t
0046320    h       n   o   t   h   i   n   g       i   n       t   h   e
0046340        b   u   f   f   e   r   ,       s   i   n   c   e       t
0046360    h   e       {   l   i   s   p       (   }       i   s       a
0046400        b   r   e   a   k       c   h   a   r   a   c   t   e   r
0046420        a   n   d       w   o   u   l   d       t   h   e   r   e
0046440    f   o   r   e       a   l   r   e   a   d   y       h   a   v
0046460    e       b   e   e   n       r   e   a   d   .  \r   }  \r  \r
0046500    {   L   a   b   e   l       {   f   n       R   E   A   D   C
0046520    }       o   r       {   f   n       P   E   E   K   C   }   }
0046540   \r   {   T   e   x   t  \r   {   i   n   d   e   x       R   E
0046560    A   D   C       F   N   }   {   i   n   d   e   x       P   E
0046600    E   K   C       F   N   }   T   h   e       c   h   a   r   a
0046620    c   t   e   r       i   s       r   e   t   u   r   n   e   d
0046640        i   m   m   e   d   i   a   t   e   l   y   ;       n   o
0046660        l   i   n   e       e   d   i   t   i   n   g       i   s
0046700        p   o   s   s   i   b   l   e   .           I   n       p
0046720    a   r   t   i   c   u   l   a   r   ,       {   l   i   s   p
0046740        (   R   E   A   D   C   )   }       i   s       p   e   r
0046760    f   e   c   t   l   y       h   a   p   p   y       t   o    
0047000    r   e   t   u   r   n       t   h   e       {   l   i   s   p
0047020        C   H   A   R   D   E   L   E   T   E   }       o   r    
0047040    {   l   i   s   p       L   I   N   E   D   E   L   E   T   E
0047060    }       c   h   a   r   a   c   t   e   r   s   ,       o   r
0047100        t   h   e       {   f   n       E   S   C   A   P   E   }
0047120        c   h   a   r   a   c   t   e   r       (   {   l   i   s
0047140    p       %   }   )   {   i   n   d   e   x       %       (   e
0047160    s   c   a   p   e       c   h   a   r   a   c   t   e   r   )
0047200    }   .  \r   }  \r  \r   {   E   n   d       L   a   b   e   l
0047220    e   d   L   i   s   t       f   u   n   c   t   i   o   n    
0047240    t   h   a   t       i   n   i   t   i   a   t   e   s       t
0047260    h   e       r   e   q   u   e   s   t   }  \r  \r  \r  \r  \r
0047300    T   h   e       s   y   s   t   e   m       b   u   f   f   e
0047320    r       a   n   d       l   i   n   e       b   u   f   f   e
0047340    r       c   a   n       b   e       d   i   r   e   c   t   l
0047360    y       m   a   n   i   p   u   l   a   t   e   d       u   s
0047400    i   n   g       t   h   e       f   o   l   l   o   w   i   n
0047420    g       f   u   n   c   t   i   o   n   s   .  \r  \r  \r   {
0047440    F   n   D   e   f       {   F   n   N   a   m   e       C   L
0047460    E   A   R   B   U   F   }       {   F   n   A   r   g   s    
0047500    F   I   L   E       F   L   G   }  \r   {   T   e   x   t  \r
0047520    C   l   e   a   r   s       t   h   e       i   n   p   u   t
0047540        b   u   f   f   e   r   {   i   n   d   e   x       i   n
0047560    p   u   t       b   u   f   f   e   r   }       f   o   r    
0047600    {   a   r   g       F   I   L   E   }   .           I   f    
0047620    {   a   r   g       F   I   L   E   }       i   s       {   l
0047640    i   s   p       T   }       a   n   d       {   a   r   g    
0047660    F   L   G   }       i   s       {   l   i   s   p       T   }
0047700    ,       t   h   e       c   o   n   t   e   n   t   s       o
0047720    f       I   n   t   e   r   l   i   s   p   '   s       s   y
0047740    s   t   e   m       b   u   f   f   e   r   {   i   n   d   e
0047760    x       s   y   s   t   e   m       b   u   f   f   e   r   }
0050000        a   n   d       l   i   n   e       b   u   f   f   e   r
0050020    {   i   n   d   e   x       l   i   n   e       b   u   f   f
0050040    e   r   }       a   r   e       s   a   v   e   d       (   a
0050060    n   d       c   a   n       b   e       o   b   t   a   i   n
0050100    e   d       v   i   a       {   i   n   d   e   x       S   Y
0050120    S   B   U   F       F   N   }   {   f   n       S   Y   S   B
0050140    U   F   }       a   n   d       {   i   n   d   e   x       L
0050160    I   N   B   U   F       F   N   }   {   f   n       L   I   N
0050200    B   U   F   }       d   e   s   c   r   i   b   e   d       b
0050220    e   l   o   w   )   .  \r  \r   W   h   e   n       {   i   n
0050240    d   e   x       c   o   n   t   r   o   l   -   D   }   c   o
0050260    n   t   r   o   l   -   D       o   r       {   i   n   d   e
0050300    x       c   o   n   t   r   o   l   -   E   }   c   o   n   t
0050320    r   o   l   -   E       i   s       t   y   p   e   d   ,    
0050340    o   r       a   n   y       o   f       t   h   e       i   n
0050360    t   e   r   r   u   p   t       c   h   a   r   a   c   t   e
0050400    r   s       t   h   a   t       r   e   q   u   i   r   e    
0050420    t   e   r   m   i   n   a   l       i   n   t   e   r   a   c
0050440    t   i   o   n       i   s       t   y   p   e   d       (   {
0050460    i   n   d   e   x       c   o   n   t   r   o   l   -   H   }
0050500    c   o   n   t   r   o   l   -   H   ,       {   i   n   d   e
0050520    x       c   o   n   t   r   o   l   -   P   }   c   o   n   t
0050540    r   o   l   -   P   ,       o   r       {   i   n   d   e   x
0050560        c   o   n   t   r   o   l   -   S   }   c   o   n   t   r
0050600    o   l   -   S   )   ,       I   n   t   e   r   l   i   s   p
0050620        a   u   t   o   m   a   t   i   c   a   l   l   y       p
0050640    e   r   f   o   r   m   s       {   l   i   s   p       (   C
0050660    L   E   A   R   B   U   F       T       T   )   }   .        
0050700    F   o   r       c   o   n   t   r   o   l   -   P   ,       c
0050720    o   n   t   r   o   l   -   S   ,       a   n   d   ,       w
0050740    h   e   n       t   h   e       b   r   e   a   k       i   s
0050760        e   x   i   t   e   d       n   o   r   m   a   l   l   y
0051000    ,       c   o   n   t   r   o   l   -   H   ,       I   n   t
0051020    e   r   l   i   s   p       r   e   s   t   o   r   e   s    
0051040    t   h   e       b   u   f   f   e   r       a   f   t   e   r
0051060        t   h   e       i   n   t   e   r   a   c   t   i   o   n
0051100    .  \r  \r   T   h   e       a   c   t   i   o   n       o   f
0051120        {   l   i   s   p       (   C   L   E   A   R   B   U   F
0051140        T   )   }   ,       i   .   e   .   ,       c   l   e   a
0051160    r   i   n   g       o   f       t   y   p   e   a   h   e   a
0051200    d   ,       i   s       a   l   s   o       a   v   a   i   l
0051220    a   b   l   e       a   s       t   h   e       {   l   i   s
0051240    p       R   U   B   O   U   T   }       i   n   t   e   r   r
0051260    u   p   t       c   h   a   r   a   c   t   e   r   ,       i
0051300    n   i   t   i   a   l   l   y       a   s   s   i   g   n   e
0051320    d       t   o       t   h   e       d   e   l       k   e   y
0051340    {   i   n   d   e   x       d   e   l   }       i   n       I
0051360    n   t   e   r   l   i   s   p   -   D       a   n   d       i
0051400    n       I   n   t   e   r   l   i   s   p   -   1   0       u
0051420    n   d   e   r       T   e   n   e   x   ,       c   o   n   t
0051440    r   o   l   -   Z       u   n   d   e   r       T   o   p   s
0051460    2   0   {   i   n   d   e   x       c   o   n   t   r   o   l
0051500    -   Z       (   T   O   P   S   -   2   0   )       T   e   r
0051520    m   }   .               N   o   t   e       t   h   a   t    
0051540    t   h   i   s       i   n   t   e   r   r   u   p   t       c
0051560    l   e   a   r   s       b   o   t   h       b   u   f   f   e
0051600    r   s       a   t       t   h   e       t   i   m   e       i
0051620    t       i   s       {   i   t       t   y   p   e   d   }   ,
0051640        w   h   e   r   e   a   s       t   h   e       a   c   t
0051660    i   o   n       o   f       t   h   e       {   l   i   s   p
0051700        C   H   A   R   D   E   L   E   T   E   }       a   n   d
0051720        {   l   i   s   p       L   I   N   E   D   E   L   E   T
0051740    E   }       c   h   a   r   a   c   t   e   r       o   c   c
0051760    u   r       a   t       t   h   e       t   i   m   e       t
0052000    h   e   y       a   r   e       {   i   t       r   e   a   d
0052020    }   .  \r   }   }  \r  \r  \r  \r   {   F   n   D   e   f    
0052040    {   F   n   N   a   m   e       S   Y   S   B   U   F   }    
0052060    {   F   n   A   r   g   s       F   L   G   }  \r   {   T   e
0052100    x   t  \r   I   f       {   a   r   g       F   L   G   }   =
0052120    {   l   i   s   p       T   }   ,       r   e   t   u   r   n
0052140    s       t   h   e       c   o   n   t   e   n   t   s       o
0052160    f       t   h   e       s   y   s   t   e   m       b   u   f
0052200    f   e   r   {   i   n   d   e   x       s   y   s   t   e   m
0052220        b   u   f   f   e   r   }       (   a   s       a       s
0052240    t   r   i   n   g   )       t   h   a   t       w   a   s    
0052260    s   a   v   e   d       a   t       t   h   e       l   a   s
0052300    t       {   l   i   s   p       (   C   L   E   A   R   B   U
0052320    F       T       T   )   }   .           I   f       {   a   r
0052340    g       F   L   G   }   =   {   l   i   s   p       N   I   L
0052360    }   ,       c   l   e   a   r   s       t   h   i   s       i
0052400    n   t   e   r   n   a   l       b   u   f   f   e   r   .  \r
0052420    }   }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N
0052440    a   m   e       L   I   N   B   U   F   }       {   F   n   A
0052460    r   g   s       F   L   G   }  \r   {   T   e   x   t  \r   S
0052500    a   m   e       a   s       {   f   n       S   Y   S   B   U
0052520    F   }       f   o   r       t   h   e       l   i   n   e    
0052540    b   u   f   f   e   r   {   i   n   d   e   x       l   i   n
0052560    e       b   u   f   f   e   r   }   .  \r   }   }  \r  \r  \r
0052600    I   f       b   o   t   h       t   h   e       s   y   s   t
0052620    e   m       b   u   f   f   e   r       a   n   d       I   n
0052640    t   e   r   l   i   s   p   '   s       l   i   n   e       b
0052660    u   f   f   e   r       a   r   e       e   m   p   t   y   ,
0052700        t   h   e       i   n   t   e   r   n   a   l       b   u
0052720    f   f   e   r   s       a   s   s   o   c   i   a   t   e   d
0052740        w   i   t   h       {   f   n       L   I   N   B   U   F
0052760    }       a   n   d       {   f   n       S   Y   S   B   U   F
0053000    }       a   r   e       n   o   t       c   h   a   n   g   e
0053020    d       b   y       a       {   l   i   s   p       (   C   L
0053040    E   A   R   B   U   F       T       T   )   }   .  \r  \r  \r
0053060    {   F   n   D   e   f       {   F   n   N   a   m   e       B
0053100    K   S   Y   S   B   U   F   }       {   F   n   A   r   g   s
0053120        X       F   L   G       R   D   T   B   L   }  \r   {   T
0053140    e   x   t  \r   {   f   n       B   K   S   Y   S   B   U   F
0053160    }       s   e   t   s       t   h   e       s   y   s   t   e
0053200    m       b   u   f   f   e   r       t   o       t   h   e    
0053220    {   f   n       P   R   I   N   1   }   -   n   a   m   e    
0053240    o   f       {   a   r   g       X   }   .           T   h   e
0053260        e   f   f   e   c   t       i   s       t   h   e       s
0053300    a   m   e       a   s       t   h   o   u   g   h       t   h
0053320    e       u   s   e   r       t   y   p   e   d       {   a   r
0053340    g       X   }   .           S   o   m   e       i   m   p   l
0053360    e   m   e   n   t   a   t   i   o   n   s       h   a   v   e
0053400        a       l   i   m   i   t       o   n       t   h   e    
0053420    l   e   n   g   t   h       o   f       {   a   r   g       X
0053440    }   ,       i   n       w   h   i   c   h       c   a   s   e
0053460        c   h   a   r   a   c   t   e   r   s       i   n       {
0053500    a   r   g       X   }       b   e   y   o   n   d       t   h
0053520    e       l   i   m   i   t       a   r   e       i   g   n   o
0053540    r   e   d   .           R   e   t   u   r   n   s       {   a
0053560    r   g       X   }   .  \r  \r   I   f       {   a   r   g    
0053600    F   L   G   }       i   s       {   a   r   g       T   }   ,
0053620        t   h   e   n       t   h   e       {   f   n       P   R
0053640    I   N   2   }   -   n   a   m   e       o   f       {   a   r
0053660    g       X   }       i   s       u   s   e   d   ,       c   o
0053700    m   p   u   t   e   d       w   i   t   h       r   e   s   p
0053720    e   c   t       t   o       t   h   e       r   e   a   d   t
0053740    a   b   l   e       {   a   r   g       R   D   T   B   L   }
0053760    .  \r  \r   N   o   t   e       t   h   a   t       i   f    
0054000    t   h   e       u   s   e   r       i   s       t   y   p   i
0054020    n   g       a   t       t   h   e       s   a   m   e       t
0054040    i   m   e       a   s       t   h   e       {   f   n       B
0054060    K   S   Y   S   B   U   F   }       i   s       b   e   i   n
0054100    g       p   e   r   f   o   r   m   e   d   ,       t   h   e
0054120        r   e   l   a   t   i   v   e       o   r   d   e   r    
0054140    o   f       t   h   e       t   y   p   e   -   i   n       a
0054160    n   d       t   h   e       c   h   a   r   a   c   t   e   r
0054200    s       o   f       {   a   r   g       X   }       i   s    
0054220    u   n   p   r   e   d   i   c   t   a   b   l   e   .  \r  \r
0054240    C   o   m   p   a   t   i   b   i   l   i   t   y       n   o
0054260    t   e   :       S   o   m   e       i   m   p   l   e   m   e
0054300    n   t   a   t   i   o   n   s       o   f       {   f   n    
0054320    B   K   S   Y   S   B   U   F   }       (   I   n   t   e   r
0054340    l   i   s   p   -   1   0   )       u   s   e       a       "
0054360    s   y   s   t   e   m   "       b   u   f   f   e   r   ,    
0054400    f   r   o   m       w   h   i   c   h       k   e   y   b   o
0054420    a   r   d       i   n   t   e   r   r   u   p   t   s       a
0054440    r   e       a   l   s   o       p   r   o   c   e   s   s   e
0054460    d   .           I   n       t   h   i   s       c   a   s   e
0054500    ,       {   f   n       B   K   S   Y   S   B   U   F   }    
0054520    o   f       a   n       i   n   t   e   r   r   u   p   t    
0054540    c   h   a   r   a   c   t   e   r       a   c   t   u   a   l
0054560    l   y       i   n   v   o   k   e   s       t   h   e       i
0054600    n   t   e   r   r   u   p   t       a   t       s   o   m   e
0054620        (   a   s   y   n   c   h   r   o   n   o   u   s   )    
0054640    t   i   m   e       a   f   t   e   r       t   h   e       {
0054660    f   n       B   K   S   Y   S   B   U   F   }       i   s    
0054700    i   n   i   t   i   a   t   e   d   .           I   n       o
0054720    t   h   e   r       i   m   p   l   e   m   e   n   t   a   t
0054740    i   o   n   s       (   I   n   t   e   r   l   i   s   p   -
0054760    D   )   ,       t   h   e       c   h   a   r   a   c   t   e
0055000    r   s       a   r   e       n   o   t       p   r   o   c   e
0055020    s   s   e   d       f   o   r       i   n   t   e   r   r   u
0055040    p   t   s   ,       a   n   d       i   t       i   s       p
0055060    o   s   s   i   b   l   e       t   o       {   f   n       B
0055100    K   S   Y   S   B   U   F   }       c   h   a   r   a   c   t
0055120    e   r   s       w   h   i   c   h       w   o   u   l   d    
0055140    o   t   h   e   r   w   i   s   e       b   e       i   m   p
0055160    o   s   s   i   b   l   e       t   o       t   y   p   e   .
0055200   \r   }   }  \r  \r  \r   {   B   e   g   i   n       N   o   t
0055220    e   }  \r   D   a   t   e   :       1   2       A   U   G    
0055240    8   3       0   0   :   2   4       P   D   T  \r   F   r   o
0055260    m   :       M   A   S   I   N   T   E   R   .   P   A  \r   S
0055300    u   b   j   e   c   t   :       F   L   G       a   n   d    
0055320    R   D   T   B   L       a   r   g   s       f   o   r       M
0055340    K   S   T   R   I   N   G       a   n   d       B   K   S   Y
0055360    S   B   U   F  \r  \r   I       h   a   v   e       f   i   x
0055400    e   d       I   n   t   e   r   l   i   s   p   -   1   0    
0055420    a   l   s   o       t   o       a   l   l   o   w       F   L
0055440    G       a   n   d       R   D   T   B   L       a   r   g   u
0055460    m   e   n   t   s       f   o   r       M   K   S   T   R   I
0055500    N   G       a   n   d       B   K   S   Y   S   B   U   F   .
0055520       \r  \r   T   h   i   s       i   s       a       s   l   i
0055540    g   h   t   l   y       i   n   c   o   m   p   a   t   i   b
0055560    l   e       c   h   a   n   g   e       f   o   r       B   K
0055600    S   Y   S   B   U   F   :       i   t       u   s   e   d    
0055620    t   o       b   e       t   h   a   t       B   K   S   Y   S
0055640    B   U   F   (   (   A   )   )       d   i   d   n   '   t    
0055660    d   o       A   N   Y   T   H   I   N   G       a   n   d    
0055700    n   o   w       i   t       a   c   t   u   a   l   l   y    
0055720    b   k   s   y   s   b   u   f   '   s       t   h   e       P
0055740    R   I   N   1   -   p   n   a   m   e       o   f       (   A
0055760    )   .  \r   {   E   n   d       N   o   t   e   }  \r  \r  \r
0056000   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0056020    B   K   L   I   N   B   U   F   }       {   F   n   A   r   g
0056040    s       S   T   R   }  \r   {   T   e   x   t  \r   {   a   r
0056060    g       S   T   R   }       i   s       a       s   t   r   i
0056100    n   g   .           {   f   n       B   K   L   I   N   B   U
0056120    F   }       s   e   t   s       I   n   t   e   r   l   i   s
0056140    p   '   s       l   i   n   e       b   u   f   f   e   r    
0056160    t   o       {   a   r   g       S   T   R   }   .           S
0056200    o   m   e       i   m   p   l   e   m   e   n   t   a   t   i
0056220    o   n   s       h   a   v   e       a       l   i   m   i   t
0056240        o   n       t   h   e       l   e   n   g   t   h       o
0056260    f       {   a   r   g       S   T   R   }   ,       i   n    
0056300    w   h   i   c   h       c   a   s   e       c   h   a   r   a
0056320    c   t   e   r   s       i   n       {   a   r   g       S   T
0056340    R   }       b   e   y   o   n   d       t   h   e       l   i
0056360    m   i   t       a   r   e       i   g   n   o   r   e   d   .
0056400            R   e   t   u   r   n   s       {   a   r   g       S
0056420    T   R   }   .  \r   }   }  \r  \r  \r   {   i   n   d   e   x
0056440        B   K   L   I   N   B   U   F       F   N   }   {   f   n
0056460        B   K   L   I   N   B   U   F   }   ,       {   i   n   d
0056500    e   x       B   K   S   Y   S   B   U   F       F   N   }   {
0056520    f   n       B   K   S   Y   S   B   U   F   }   ,       {   i
0056540    n   d   e   x       L   I   N   B   U   F       F   N   }   {
0056560    f   n       L   I   N   B   U   F   }   ,       a   n   d    
0056600    {   i   n   d   e   x       S   Y   S   B   U   F       F   N
0056620    }   {   f   n       S   Y   S   B   U   F   }       p   r   o
0056640    v   i   d   e       a       w   a   y       o   f       "   u
0056660    n   d   o   i   n   g   "       a       {   i   n   d   e   x
0056700        C   L   E   A   R   B   U   F       F   N   }   {   f   n
0056720        C   L   E   A   R   B   U   F   }   .           T   h   u
0056740    s       t   o       "   p   e   e   k   "       a   t       v
0056760    a   r   i   o   u   s       c   h   a   r   a   c   t   e   r
0057000    s       i   n       t   h   e       b   u   f   f   e   r   ,
0057020        o   n   e       c   o   u   l   d       p   e   r   f   o
0057040    r   m       {   l   i   s   p       (   C   L   E   A   R   B
0057060    U   F       T       T   )   }   ,       e   x   a   m   i   n
0057100    e       t   h   e       b   u   f   f   e   r   s       v   i
0057120    a       {   f   n       L   I   N   B   U   F   }       a   n
0057140    d       {   f   n       S   Y   S   B   U   F   }   ,       a
0057160    n   d       t   h   e   n       p   u   t       t   h   e   m
0057200        b   a   c   k   .  \r  \r   T   h   e       m   o   r   e
0057220        c   o   m   m   o   n       u   s   e       o   f       t
0057240    h   e   s   e       f   u   n   c   t   i   o   n   s       i
0057260    s       i   n       s   a   v   i   n   g       a   n   d    
0057300    r   e   s   t   o   r   i   n   g       t   y   p   e   a   h
0057320    e   a   d       w   h   e   n       a       p   r   o   g   r
0057340    a   m       r   e   q   u   i   r   e   s       s   o   m   e
0057360        u   n   a   n   t   i   c   i   p   a   t   e   d       (
0057400    f   r   o   m       t   h   e       u   s   e   r   '   s    
0057420    s   t   a   n   d   p   o   i   n   t   )       i   n   p   u
0057440    t   .           T   h   e       f   u   n   c   t   i   o   n
0057460        {   f   n       R   E   S   E   T   B   U   F   S   }    
0057500    p   r   o   v   i   d   e   s       a       c   o   n   v   e
0057520    n   i   e   n   t       w   a   y       o   f       s   i   m
0057540    p   l   y       c   l   e   a   r   i   n   g       t   h   e
0057560        i   n   p   u   t       b   u   f   f   e   r   ,       p
0057600    e   r   f   o   r   m   i   n   g       a   n       i   n   t
0057620    e   r   a   c   t   i   o   n       w   i   t   h       t   h
0057640    e       u   s   e   r   ,       a   n   d       t   h   e   n
0057660        r   e   s   t   o   r   i   n   g       t   h   e       i
0057700    n   p   u   t       b   u   f   f   e   r   .      \r  \r  \r
0057720    {   F   n   D   e   f       {   F   n   N   a   m   e       R
0057740    E   S   E   T   B   U   F   S   }  \r   {   F   n   A   r   g
0057760    s       F   O   R   M   {   S   U   B       1   }       F   O
0060000    R   M   {   S   U   B       2   }       {   e   l   l   i   p
0060020    s   i   s   }       F   O   R   M   {   S   U   B       N   }
0060040    }  \r   {   T   y   p   e       N   O   S   P   R   E   A   D
0060060        N   L   A   M   B   D   A   }  \r   {   T   e   x   t  \r
0060100    C   l   e   a   r   s       a   n   y       t   y   p   e   a
0060120    h   e   a   d       (   r   i   n   g   i   n   g       t   h
0060140    e       t   e   r   m   i   n   a   l   '   s       b   e   l
0060160    l       i   f       t   h   e   r   e       w   a   s   ,    
0060200    i   n   d   e   e   d   ,       t   y   p   e   a   h   e   a
0060220    d   )   ,       e   v   a   l   u   a   t   e   s       {   a
0060240    r   g       F   O   R   M   {   s   u   b       1   }   }   ,
0060260        {   a   r   g       F   O   R   M   {   s   u   b       2
0060300    }   }   ,   {   e   l   l   i   p   s   i   s   }       {   a
0060320    r   g       F   O   R   M   {   s   u   b       N   }   }   ,
0060340        t   h   e   n       r   e   s   t   o   r   e   s       t
0060360    h   e       t   y   p   e   a   h   e   a   d   .           R
0060400    e   t   u   r   n   s       t   h   e       v   a   l   u   e
0060420        o   f       {   a   r   g       F   O   R   M   {   s   u
0060440    b       N   }   }   .           C   o   m   p   i   l   e   s
0060460        o   p   e   n   .  \r   }   }  \r  \r  \r  \r   {   i   n
0060500    d   e   x       *   E   N   D   *       l   i   n   e   -   b
0060520    u   f   f   e   r   i   n   g   }  \r  \r   }   {   E   n   d
0060540        S   u   b   S   e   c       L   i   n   e   -   B   u   f
0060560    f   e   r   i   n   g   }  \r  \r  \r  \r  \r   {   i   n   d
0060600    e   x       *   E   N   D   *       t   e   r   m   i   n   a
0060620    l       t   a   b   l   e   s   }  \r  \r   }   {   E   n   d
0060640        S   u   b   S   e   c       T   e   r   m   i   n   a   l
0060660        T   a   b   l   e   s   }  \r  \r  \r  \0  \0   a 273  \0
0060700   \0  \0 005   G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0  \0
0060720   \0  \0  \0  \0   a 273  \0 001   z 270                        
0060732