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