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