$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronCG1Impl.Mesa!15
0000000    -   -       S   a   f   f   r   o   n   C   G   1   I   m   p
0000020    l   .   m   e   s   a  \r       -   -       C   o   p   y   r
0000040    i   g   h   t     323       1   9   8   7       b   y       X
0000060    e   r   o   x       C   o   r   p   o   r   a   t   i   o   n
0000100    .           A   l   l       r   i   g   h   t   s       r   e
0000120    s   e   r   v   e   d   .  \r       -   -       G   e   n   e
0000140    r   a   t   e   d       b   y       R   a   u   e   n   .   p
0000160    a       a   t       A   u   g   u   s   t       7   ,       1
0000200    9   8   8       7   :   5   7   :   3   1       p   m       P
0000220    D   T  \r       -   -           u   s   i   n   g       T   h
0000240    r   e   e   C   a   s   a   b   a   F   o   u   r       [   1
0000260    .   2   ]       o   f       J   u   n   e       1   ,       1
0000300    9   8   7       6   :   0   0   :   0   0       p   m       P
0000320    D   T  \r  \r   D   I   R   E   C   T   O   R   Y  \r  \t   S
0000340    a   f   f   r   o   n   A   G   7   a   D   e   f   ,  \r  \t
0000360    S   a   f   f   r   o   n   A   G   1   a   D   e   f   ,  \r
0000400   \t   S   a   f   f   r   o   n   A   G   4   D   e   f   ,  \r
0000420   \t   S   a   f   f   r   o   n   A   G   2   D   e   f   ,  \r
0000440   \t   S   a   f   f   r   o   n   A   G   5   D   e   f   ,  \r
0000460   \t   S   a   f   f   r   o   n   A   G   9   D   e   f   ,  \r
0000500   \t   S   a   f   f   r   o   n   G   e   n   e   r   i   c   D
0000520    e   f   ,  \r  \t   T   h   r   e   e   C   4   S   u   p   p
0000540    o   r   t   ,  \r  \t   S   a   f   f   r   o   n   C   G   1
0000560    D   e   f       U   S   I   N   G   [   ]   ,  \r  \t   S   a
0000600    f   f   r   o   n   A   T   D   e   f   ;  \r  \r   S   a   f
0000620    f   r   o   n   C   G   1   I   m   p   l   :       C   E   D
0000640    A   R       P   R   O   G   R   A   M       I   M   P   O   R
0000660    T   S       S   a   f   f   r   o   n   A   G   7   a   D   e
0000700    f   ,       S   a   f   f   r   o   n   A   G   1   a   D   e
0000720    f   ,       S   a   f   f   r   o   n   A   G   4   D   e   f
0000740    ,       S   a   f   f   r   o   n   A   G   2   D   e   f   ,
0000760        S   a   f   f   r   o   n   A   G   5   D   e   f   ,    
0001000    S   a   f   f   r   o   n   A   G   9   D   e   f       E   X
0001020    P   O   R   T   S       S   a   f   f   r   o   n   C   G   1
0001040    D   e   f   =      \r   B   E   G   I   N  \r   O   P   E   N
0001060        S   a   f   f   r   o   n   A   G   7   a   D   e   f   ,
0001100        S   a   f   f   r   o   n   A   G   1   a   D   e   f   ,
0001120        S   a   f   f   r   o   n   A   G   4   D   e   f   ,    
0001140    S   a   f   f   r   o   n   A   G   2   D   e   f   ,       S
0001160    a   f   f   r   o   n   A   G   5   D   e   f   ,       S   a
0001200    f   f   r   o   n   A   G   9   D   e   f   ,       S   a   f
0001220    f   r   o   n   G   e   n   e   r   i   c   D   e   f   ,    
0001240    T   h   r   e   e   C   4   S   u   p   p   o   r   t   ,    
0001260    S   a   f   f   r   o   n   A   T   D   e   f   ;  \r   S   a
0001300    f   f   r   o   n   C   G   1   L   i   n   k   P   r   o   c
0001320    :       P   U   B   L   I   C       P   R   O   C   [   p   r
0001340    o   d   L   i   n   k   A   r   r   a   y   :       S   e   e
0001360    P   r   o   d   L   i   n   k   A   r   r   a   y   ,       t
0001400    k   n   L   i   n   k   A   r   r   a   y   :       T   o   k
0001420    e   n   L   i   n   k   A   r   r   a   y   ]       =  \r   B
0001440    E   G   I   N  \r   p   r   o   d   L   i   n   k   A   r   r
0001460    a   y   [   0   ]       _       S   e   e   m   a   i   n   g
0001500    o   a   l   ;  \r   p   r   o   d   L   i   n   k   A   r   r
0001520    a   y   [   1   ]       _       S   e   e   t   o   p   m   o
0001540    d   u   l   e   p   ;  \r   p   r   o   d   L   i   n   k   A
0001560    r   r   a   y   [   2   ]       _       S   e   e   g   o   a
0001600    l   a   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a
0001620    y   [   3   ]       _       S   e   e   g   o   a   l   b   ;
0001640   \r   p   r   o   d   L   i   n   k   A   r   r   a   y   [   4
0001660    ]       _       S   e   e   m   o   d   u   l   e   i   m   p
0001700    l   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y
0001720    [   5   ]       _       S   e   e   m   o   d   u   l   e   d
0001740    e   f   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a
0001760    y   [   6   ]       _       S   e   e   d   i   r   e   c   t
0002000    o   r   y   a   ;  \r   p   r   o   d   L   i   n   k   A   r
0002020    r   a   y   [   7   ]       _       S   e   e   d   i   r   e
0002040    c   t   o   r   y   b   ;  \r   p   r   o   d   L   i   n   k
0002060    A   r   r   a   y   [   8   ]       _       S   e   e   d   i
0002100    r   e   c   t   o   r   y   c   ;  \r   p   r   o   d   L   i
0002120    n   k   A   r   r   a   y   [   9   ]       _       S   e   e
0002140    i   n   c   l   u   d   e   l   i   s   t   a   ;  \r   p   r
0002160    o   d   L   i   n   k   A   r   r   a   y   [   1   0   ]    
0002200    _       S   e   e   i   n   c   l   u   d   e   l   i   s   t
0002220    b   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y
0002240    [   1   1   ]       _       S   e   e   i   n   c   l   u   d
0002260    e   i   t   e   m   a   ;  \r   p   r   o   d   L   i   n   k
0002300    A   r   r   a   y   [   1   2   ]       _       S   e   e   i
0002320    n   c   l   u   d   e   i   t   e   m   b   ;  \r   p   r   o
0002340    d   L   i   n   k   A   r   r   a   y   [   1   3   ]       _
0002360        S   e   e   i   n   c   l   u   d   e   i   t   e   m   c
0002400    ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y   [
0002420    1   4   ]       _       S   e   e   i   n   c   l   u   d   e
0002440    i   t   e   m   d   ;  \r   p   r   o   d   L   i   n   k   A
0002460    r   r   a   y   [   1   5   ]       _       S   e   e   u   s
0002500    i   n   g   n   o   t   h   i   n   g   ;  \r   p   r   o   d
0002520    L   i   n   k   A   r   r   a   y   [   1   6   ]       _    
0002540    S   e   e   u   s   i   n   g   r   e   s   t   r   i   c   t
0002560    e   d   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a
0002600    y   [   1   7   ]       _       S   e   e   u   s   i   n   g
0002620    u   n   r   e   s   t   r   i   c   t   e   d   ;  \r   p   r
0002640    o   d   L   i   n   k   A   r   r   a   y   [   1   8   ]    
0002660    _       S   e   e   d   e   f   b   o   d   y   a   ;  \r   p
0002700    r   o   d   L   i   n   k   A   r   r   a   y   [   1   9   ]
0002720        _       S   e   e   d   e   f   b   o   d   y   b   ;  \r
0002740    p   r   o   d   L   i   n   k   A   r   r   a   y   [   2   0
0002760    ]       _       S   e   e   d   e   f   b   o   d   y   c   ;
0003000   \r   p   r   o   d   L   i   n   k   A   r   r   a   y   [   2
0003020    1   ]       _       S   e   e   d   e   f   b   o   d   y   d
0003040    ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y   [
0003060    2   2   ]       _       S   e   e   d   e   f   h   e   a   d
0003100    ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y   [
0003120    2   3   ]       _       S   e   e   d   e   f   i   n   i   t
0003140    i   o   n   s   ;  \r   p   r   o   d   L   i   n   k   A   r
0003160    r   a   y   [   2   4   ]       _       S   e   e   c   e   d
0003200    a   r   y   e   s   ;  \r   p   r   o   d   L   i   n   k   A
0003220    r   r   a   y   [   2   5   ]       _       S   e   e   c   e
0003240    d   a   r   n   o   ;  \r   p   r   o   d   L   i   n   k   A
0003260    r   r   a   y   [   2   6   ]       _       S   e   e   p   r
0003300    o   g   h   e   a   d   ;  \r   p   r   o   d   L   i   n   k
0003320    A   r   r   a   y   [   2   7   ]       _       S   e   e   r
0003340    e   s   i   d   e   n   t   ;  \r   p   r   o   d   L   i   n
0003360    k   A   r   r   a   y   [   2   8   ]       _       S   e   e
0003400    c   l   a   s   s   p   r   o   g   r   a   m   ;  \r   p   r
0003420    o   d   L   i   n   k   A   r   r   a   y   [   2   9   ]    
0003440    _       S   e   e   c   l   a   s   s   m   o   n   i   t   o
0003460    r   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y
0003500    [   3   0   ]       _       S   e   e   i   n   t   e   r   f
0003520    a   c   e   ;  \r   p   r   o   d   L   i   n   k   A   r   r
0003540    a   y   [   3   1   ]       _       S   e   e   e   x   p   o
0003560    r   t   s   a   ;  \r   p   r   o   d   L   i   n   k   A   r
0003600    r   a   y   [   3   2   ]       _       S   e   e   e   x   p
0003620    o   r   t   s   b   ;  \r   p   r   o   d   L   i   n   k   A
0003640    r   r   a   y   [   3   3   ]       _       S   e   e   e   x
0003660    p   o   r   t   s   c   ;  \r   p   r   o   d   L   i   n   k
0003700    A   r   r   a   y   [   3   4   ]       _       S   e   e   b
0003720    i   n   d   i   t   e   m   a   ;  \r   p   r   o   d   L   i
0003740    n   k   A   r   r   a   y   [   3   5   ]       _       S   e
0003760    e   b   i   n   d   i   t   e   m   b   ;  \r   p   r   o   d
0004000    L   i   n   k   A   r   r   a   y   [   3   6   ]       _    
0004020    S   e   e   b   i   n   d   i   t   e   m   c   ;  \r   p   r
0004040    o   d   L   i   n   k   A   r   r   a   y   [   3   7   ]    
0004060    _       S   e   e   c   a   s   e   l   a   b   e   l   t   y
0004100    p   e   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a
0004120    y   [   3   8   ]       _       S   e   e   c   a   s   e   l
0004140    a   b   e   l   t   e   s   t   ;  \r   p   r   o   d   L   i
0004160    n   k   A   r   r   a   y   [   3   9   ]       _       S   e
0004200    e   c   a   s   e   l   a   b   e   l   P   o   n   e   ;  \r
0004220    p   r   o   d   L   i   n   k   A   r   r   a   y   [   4   0
0004240    ]       _       S   e   e   c   a   s   e   l   a   b   e   l
0004260    P   m   o   r   e   ;  \r   p   r   o   d   L   i   n   k   A
0004300    r   r   a   y   [   4   1   ]       _       S   e   e   c   a
0004320    s   e   t   e   s   t   a   ;  \r   p   r   o   d   L   i   n
0004340    k   A   r   r   a   y   [   4   2   ]       _       S   e   e
0004360    c   a   s   e   t   e   s   t   b   ;  \r   p   r   o   d   L
0004400    i   n   k   A   r   r   a   y   [   4   3   ]       _       S
0004420    e   e   b   l   o   c   k   a   ;  \r   p   r   o   d   L   i
0004440    n   k   A   r   r   a   y   [   4   4   ]       _       S   e
0004460    e   b   l   o   c   k   b   ;  \r   p   r   o   d   L   i   n
0004500    k   A   r   r   a   y   [   4   5   ]       _       S   e   e
0004520    e   x   i   t   s   l   i   s   t   ;  \r   p   r   o   d   L
0004540    i   n   k   A   r   r   a   y   [   4   6   ]       _       S
0004560    e   e   e   x   i   t   s   e   m   p   t   y   ;  \r   p   r
0004600    o   d   L   i   n   k   A   r   r   a   y   [   4   7   ]    
0004620    _       S   e   e   p   u   b   l   i   c   p   u   b   l   i
0004640    c   ;  \r   p   r   o   d   L   i   n   k   A   r   r   a   y
0004660    [   4   8   ]       _       S   e   e   p   u   b   l   i   c
0004700    p   r   i   v   a   t   e   ;  \r   p   r   o   d   L   i   n
0004720    k   A   r   r   a   y   [   4   9   ]       _       S   e   e
0004740    p   u   b   l   i   c   e   m   p   t   y   ;  \r   E   N   D
0004760    ;  \r  \r   S   e   e   m   a   i   n   g   o   a   l   :    
0005000    P   R   O   C       [   n   o   d   e   s   :       L   I   S
0005020    T       O   F       R   E   F       A   N   Y   ,       p   o
0005040    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0005060    g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R
0005100    N   S       [   L   I   S   T       O   F       R   E   F    
0005120    A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a
0005140    c   k   :       L   I   S   T       O   F       R   E   F    
0005160    A   N   Y       _       n   o   d   e   s   ;  \r   t   o   p
0005200    :       T   o   p   N   o   d   e   ;  \r   t   o   p       _
0005220        N   A   R   R   O   W   [   s   t   a   c   k   .   f   i
0005240    r   s   t   ]   ;  \r   s   t   a   c   k       _       s   t
0005260    a   c   k   .   r   e   s   t   ;  \r   s   t   a   c   k    
0005300    _       C   O   N   S   [   t   o   p   ,       s   t   a   c
0005320    k   ]   ;  \r   R   E   T   U   R   N       [   s   t   a   c
0005340    k   ]  \r   E   N   D   ;  \r  \r   S   e   e   t   o   p   m
0005360    o   d   u   l   e   p   :       P   R   O   C       [   n   o
0005400    d   e   s   :       L   I   S   T       O   F       R   E   F
0005420        A   N   Y   ,       p   o   s   i   t   i   o   n   :    
0005440    I   N   T   ,       l   e   n   g   t   h   :       I   N   T
0005460    ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S   T
0005500        O   F       R   E   F       A   N   Y   ]       =  \r   B
0005520    E   G   I   N  \r   s   t   a   c   k   :       L   I   S   T
0005540        O   F       R   E   F       A   N   Y       _       n   o
0005560    d   e   s   ;  \r   g   o   a   l   :       M   o   d   u   l
0005600    e   P   N   o   d   e   ;  \r   g   o   a   l       _       N
0005620    A   R   R   O   W   [   s   t   a   c   k   .   f   i   r   s
0005640    t   ]   ;  \r   s   t   a   c   k       _       s   t   a   c
0005660    k   .   r   e   s   t   ;  \r   s   t   a   c   k       _    
0005700    C   O   N   S   [   B   u   i   l   d   T   o   p   m   o   d
0005720    u   l   e   p   P   r   o   d   N   o   d   e   [   p   o   s
0005740    i   t   i   o   n   ,       l   e   n   g   t   h   ,       g
0005760    o   a   l   ]   ,       s   t   a   c   k   ]   ;  \r   R   E
0006000    T   U   R   N       [   s   t   a   c   k   ]  \r   E   N   D
0006020    ;  \r  \r   S   e   e   g   o   a   l   a   :       P   R   O
0006040    C       [   n   o   d   e   s   :       L   I   S   T       O
0006060    F       R   E   F       A   N   Y   ,       p   o   s   i   t
0006100    i   o   n   :       I   N   T   ,       l   e   n   g   t   h
0006120    :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S    
0006140    [   L   I   S   T       O   F       R   E   F       A   N   Y
0006160    ]       =  \r   B   E   G   I   N  \r   s   t   a   c   k   :
0006200        L   I   S   T       O   F       R   E   F       A   N   Y
0006220        _       n   o   d   e   s   ;  \r   m   o   d   u   l   e
0006240    :       M   o   d   u   l   e   P   N   o   d   e   ;  \r   m
0006260    o   d   u   l   e       _       N   A   R   R   O   W   [   s
0006300    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0006320    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0006340   \r   s   t   a   c   k       _       C   O   N   S   [   m   o
0006360    d   u   l   e   ,       s   t   a   c   k   ]   ;  \r   R   E
0006400    T   U   R   N       [   s   t   a   c   k   ]  \r   E   N   D
0006420    ;  \r  \r   S   e   e   g   o   a   l   b   :       P   R   O
0006440    C       [   n   o   d   e   s   :       L   I   S   T       O
0006460    F       R   E   F       A   N   Y   ,       p   o   s   i   t
0006500    i   o   n   :       I   N   T   ,       l   e   n   g   t   h
0006520    :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S    
0006540    [   L   I   S   T       O   F       R   E   F       A   N   Y
0006560    ]       =  \r   B   E   G   I   N  \r   s   t   a   c   k   :
0006600        L   I   S   T       O   F       R   E   F       A   N   Y
0006620        _       n   o   d   e   s   ;  \r   m   o   d   u   l   e
0006640    :       M   o   d   u   l   e   P   N   o   d   e   ;  \r   m
0006660    o   d   u   l   e       _       N   A   R   R   O   W   [   s
0006700    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0006720    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0006740   \r   s   t   a   c   k       _       C   O   N   S   [   m   o
0006760    d   u   l   e   ,       s   t   a   c   k   ]   ;  \r   R   E
0007000    T   U   R   N       [   s   t   a   c   k   ]  \r   E   N   D
0007020    ;  \r  \r   S   e   e   m   o   d   u   l   e   i   m   p   l
0007040    :       P   R   O   C       [   n   o   d   e   s   :       L
0007060    I   S   T       O   F       R   E   F       A   N   Y   ,    
0007100    p   o   s   i   t   i   o   n   :       I   N   T   ,       l
0007120    e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E   T
0007140    U   R   N   S       [   L   I   S   T       O   F       R   E
0007160    F       A   N   Y   ]       =  \r   B   E   G   I   N  \r   s
0007200    t   a   c   k   :       L   I   S   T       O   F       R   E
0007220    F       A   N   Y       _       n   o   d   e   s   ;  \r   d
0007240    i   r   e   c   t   o   r   y   :       D   i   r   e   c   t
0007260    o   r   y   N   o   d   e   ;  \r   i   d   e   n   t   l   i
0007300    s   t   :       I   d   e   n   t   L   i   s   t   N   o   d
0007320    e   ;  \r   c   e   d   a   r   :       C   e   d   a   r   N
0007340    o   d   e   ;  \r   p   r   o   g   h   e   a   d   :       P
0007360    r   o   g   H   e   a   d   N   o   d   e   ;  \r   t   r   u
0007400    s   t   e   d   :       J   u   n   k   N   o   d   e   ;  \r
0007420    c   h   e   c   k   e   d   :       C   h   e   c   k   e   d
0007440    N   o   d   e   ;  \r   b   l   o   c   k   :       B   l   o
0007460    c   k   N   o   d   e   ;  \r   b   l   o   c   k       _    
0007500    N   A   R   R   O   W   [   s   t   a   c   k   .   f   i   r
0007520    s   t   ]   ;  \r   s   t   a   c   k       _       s   t   a
0007540    c   k   .   r   e   s   t   ;  \r   c   h   e   c   k   e   d
0007560        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0007600    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0007620    s   t   a   c   k   .   r   e   s   t   ;  \r   t   r   u   s
0007640    t   e   d       _       N   A   R   R   O   W   [   s   t   a
0007660    c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k
0007700        _       s   t   a   c   k   .   r   e   s   t   ;  \r   p
0007720    r   o   g   h   e   a   d       _       N   A   R   R   O   W
0007740    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0007760    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0010000    t   ;  \r   c   e   d   a   r       _       N   A   R   R   O
0010020    W   [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r
0010040    s   t   a   c   k       _       s   t   a   c   k   .   r   e
0010060    s   t   ;  \r   i   d   e   n   t   l   i   s   t       _    
0010100    N   A   R   R   O   W   [   s   t   a   c   k   .   f   i   r
0010120    s   t   ]   ;  \r   s   t   a   c   k       _       s   t   a
0010140    c   k   .   r   e   s   t   ;  \r   d   i   r   e   c   t   o
0010160    r   y       _       N   A   R   R   O   W   [   s   t   a   c
0010200    k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k    
0010220    _       s   t   a   c   k   .   r   e   s   t   ;  \r   s   t
0010240    a   c   k       _       C   O   N   S   [   B   u   i   l   d
0010260    M   o   d   u   l   e   P   i   m   p   l   P   r   o   d   N
0010300    o   d   e   [   p   o   s   i   t   i   o   n   ,       l   e
0010320    n   g   t   h   ,       d   i   r   e   c   t   o   r   y   ,
0010340        i   d   e   n   t   l   i   s   t   ,       c   e   d   a
0010360    r   ,       p   r   o   g   h   e   a   d   ,       c   h   e
0010400    c   k   e   d   ,       b   l   o   c   k   ]   ,       s   t
0010420    a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t
0010440    a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   m   o
0010460    d   u   l   e   d   e   f   :       P   R   O   C       [   n
0010500    o   d   e   s   :       L   I   S   T       O   F       R   E
0010520    F       A   N   Y   ,       p   o   s   i   t   i   o   n   :
0010540        I   N   T   ,       l   e   n   g   t   h   :       I   N
0010560    T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S
0010600    T       O   F       R   E   F       A   N   Y   ]       =  \r
0010620    B   E   G   I   N  \r   s   t   a   c   k   :       L   I   S
0010640    T       O   F       R   E   F       A   N   Y       _       n
0010660    o   d   e   s   ;  \r   d   i   r   e   c   t   o   r   y   :
0010700        D   i   r   e   c   t   o   r   y   N   o   d   e   ;  \r
0010720    i   d   e   n   t   l   i   s   t   :       I   d   e   n   t
0010740    L   i   s   t   N   o   d   e   ;  \r   c   e   d   a   r   :
0010760        C   e   d   a   r   N   o   d   e   ;  \r   d   e   f   h
0011000    e   a   d   :       D   e   f   H   e   a   d   N   o   d   e
0011020    ;  \r   d   e   f   b   o   d   y   :       D   e   f   B   o
0011040    d   y   N   o   d   e   ;  \r   d   e   f   b   o   d   y    
0011060    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0011100    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0011120    t   a   c   k   .   r   e   s   t   ;  \r   d   e   f   h   e
0011140    a   d       _       N   A   R   R   O   W   [   s   t   a   c
0011160    k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k    
0011200    _       s   t   a   c   k   .   r   e   s   t   ;  \r   c   e
0011220    d   a   r       _       N   A   R   R   O   W   [   s   t   a
0011240    c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k
0011260        _       s   t   a   c   k   .   r   e   s   t   ;  \r   i
0011300    d   e   n   t   l   i   s   t       _       N   A   R   R   O
0011320    W   [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r
0011340    s   t   a   c   k       _       s   t   a   c   k   .   r   e
0011360    s   t   ;  \r   d   i   r   e   c   t   o   r   y       _    
0011400    N   A   R   R   O   W   [   s   t   a   c   k   .   f   i   r
0011420    s   t   ]   ;  \r   s   t   a   c   k       _       s   t   a
0011440    c   k   .   r   e   s   t   ;  \r   s   t   a   c   k       _
0011460        C   O   N   S   [   B   u   i   l   d   M   o   d   u   l
0011500    e   P   d   e   f   P   r   o   d   N   o   d   e   [   p   o
0011520    s   i   t   i   o   n   ,       l   e   n   g   t   h   ,    
0011540    d   i   r   e   c   t   o   r   y   ,       i   d   e   n   t
0011560    l   i   s   t   ,       c   e   d   a   r   ,       d   e   f
0011600    h   e   a   d   ,       d   e   f   b   o   d   y   ]   ,    
0011620    s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [
0011640    s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e
0011660    d   i   r   e   c   t   o   r   y   a   :       P   R   O   C
0011700        [   n   o   d   e   s   :       L   I   S   T       O   F
0011720        R   E   F       A   N   Y   ,       p   o   s   i   t   i
0011740    o   n   :       I   N   T   ,       l   e   n   g   t   h   :
0011760        I   N   T   ]  \r  \t   R   E   T   U   R   N   S       [
0012000    L   I   S   T       O   F       R   E   F       A   N   Y   ]
0012020        =  \r   B   E   G   I   N  \r   s   t   a   c   k   :    
0012040    L   I   S   T       O   F       R   E   F       A   N   Y    
0012060    _       n   o   d   e   s   ;  \r   s   t   a   c   k       _
0012100        C   O   N   S   [   B   u   i   l   d   D   i   r   e   c
0012120    t   o   r   y   e   m   p   t   y   P   r   o   d   N   o   d
0012140    e   [   p   o   s   i   t   i   o   n   ,       l   e   n   g
0012160    t   h   ]   ,       s   t   a   c   k   ]   ;  \r   R   E   T
0012200    U   R   N       [   s   t   a   c   k   ]  \r   E   N   D   ;
0012220   \r  \r   S   e   e   d   i   r   e   c   t   o   r   y   b   :
0012240        P   R   O   C       [   n   o   d   e   s   :       L   I
0012260    S   T       O   F       R   E   F       A   N   Y   ,       p
0012300    o   s   i   t   i   o   n   :       I   N   T   ,       l   e
0012320    n   g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U
0012340    R   N   S       [   L   I   S   T       O   F       R   E   F
0012360        A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t
0012400    a   c   k   :       L   I   S   T       O   F       R   E   F
0012420        A   N   Y       _       n   o   d   e   s   ;  \r   i   n
0012440    c   l   u   d   e   l   i   s   t   :       D   i   r   e   c
0012460    t   o   r   y   N   o   d   e   ;  \r   i   n   c   l   u   d
0012500    e   l   i   s   t       _       N   A   R   R   O   W   [   s
0012520    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0012540    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0012560   \r   s   t   a   c   k       _       C   O   N   S   [   i   n
0012600    c   l   u   d   e   l   i   s   t   ,       s   t   a   c   k
0012620    ]   ;  \r   R   E   T   U   R   N       [   s   t   a   c   k
0012640    ]  \r   E   N   D   ;  \r  \r   S   e   e   d   i   r   e   c
0012660    t   o   r   y   c   :       P   R   O   C       [   n   o   d
0012700    e   s   :       L   I   S   T       O   F       R   E   F    
0012720    A   N   Y   ,       p   o   s   i   t   i   o   n   :       I
0012740    N   T   ,       l   e   n   g   t   h   :       I   N   T   ]
0012760   \r  \t   R   E   T   U   R   N   S       [   L   I   S   T    
0013000    O   F       R   E   F       A   N   Y   ]       =  \r   B   E
0013020    G   I   N  \r   s   t   a   c   k   :       L   I   S   T    
0013040    O   F       R   E   F       A   N   Y       _       n   o   d
0013060    e   s   ;  \r   s   t   a   c   k       _       C   O   N   S
0013100    [   B   u   i   l   d   D   i   r   e   c   t   o   r   y   e
0013120    m   p   t   y   P   r   o   d   N   o   d   e   [   p   o   s
0013140    i   t   i   o   n   ,       l   e   n   g   t   h   ]   ,    
0013160    s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [
0013200    s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e
0013220    i   n   c   l   u   d   e   l   i   s   t   a   :       P   R
0013240    O   C       [   n   o   d   e   s   :       L   I   S   T    
0013260    O   F       R   E   F       A   N   Y   ,       p   o   s   i
0013300    t   i   o   n   :       I   N   T   ,       l   e   n   g   t
0013320    h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S
0013340        [   L   I   S   T       O   F       R   E   F       A   N
0013360    Y   ]       =  \r   B   E   G   I   N  \r   s   t   a   c   k
0013400    :       L   I   S   T       O   F       R   E   F       A   N
0013420    Y       _       n   o   d   e   s   ;  \r   i   n   c   l   u
0013440    d   e   i   t   e   m   :       I   n   c   l   u   d   e   I
0013460    t   e   m   N   o   d   e   ;  \r   i   n   c   l   u   d   e
0013500    i   t   e   m       _       N   A   R   R   O   W   [   s   t
0013520    a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c
0013540    k       _       s   t   a   c   k   .   r   e   s   t   ;  \r
0013560    s   t   a   c   k       _       C   O   N   S   [   B   u   i
0013600    l   d   D   i   r   e   c   t   o   r   y   m   o   r   e   P
0013620    r   o   d   N   o   d   e   [   p   o   s   i   t   i   o   n
0013640    ,       l   e   n   g   t   h   ,       B   u   i   l   d   D
0013660    i   r   e   c   t   o   r   y   e   m   p   t   y   P   r   o
0013700    d   N   o   d   e   [   i   n   c   l   u   d   e   i   t   e
0013720    m   .   p   o   s   i   t   i   o   n   ,       i   n   c   l
0013740    u   d   e   i   t   e   m   .   p   o   s   i   t   i   o   n
0013760        -       i   n   c   l   u   d   e   i   t   e   m   .   l
0014000    e   n   g   t   h   ]   ,       i   n   c   l   u   d   e   i
0014020    t   e   m   ]   ,       s   t   a   c   k   ]   ;  \r   R   E
0014040    T   U   R   N       [   s   t   a   c   k   ]  \r   E   N   D
0014060    ;  \r  \r   S   e   e   i   n   c   l   u   d   e   l   i   s
0014100    t   b   :       P   R   O   C       [   n   o   d   e   s   :
0014120        L   I   S   T       O   F       R   E   F       A   N   Y
0014140    ,       p   o   s   i   t   i   o   n   :       I   N   T   ,
0014160        l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R
0014200    E   T   U   R   N   S       [   L   I   S   T       O   F    
0014220    R   E   F       A   N   Y   ]       =  \r   B   E   G   I   N
0014240   \r   s   t   a   c   k   :       L   I   S   T       O   F    
0014260    R   E   F       A   N   Y       _       n   o   d   e   s   ;
0014300   \r   i   n   c   l   u   d   e   l   i   s   t   :       D   i
0014320    r   e   c   t   o   r   y   N   o   d   e   ;  \r   i   n   c
0014340    l   u   d   e   i   t   e   m   :       I   n   c   l   u   d
0014360    e   I   t   e   m   N   o   d   e   ;  \r   i   n   c   l   u
0014400    d   e   i   t   e   m       _       N   A   R   R   O   W   [
0014420    s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t
0014440    a   c   k       _       s   t   a   c   k   .   r   e   s   t
0014460    ;  \r   i   n   c   l   u   d   e   l   i   s   t       _    
0014500    N   A   R   R   O   W   [   s   t   a   c   k   .   f   i   r
0014520    s   t   ]   ;  \r   s   t   a   c   k       _       s   t   a
0014540    c   k   .   r   e   s   t   ;  \r   s   t   a   c   k       _
0014560        C   O   N   S   [   B   u   i   l   d   D   i   r   e   c
0014600    t   o   r   y   m   o   r   e   P   r   o   d   N   o   d   e
0014620    [   p   o   s   i   t   i   o   n   ,       l   e   n   g   t
0014640    h   ,       i   n   c   l   u   d   e   l   i   s   t   ,    
0014660    i   n   c   l   u   d   e   i   t   e   m   ]   ,       s   t
0014700    a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t
0014720    a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   i   n
0014740    c   l   u   d   e   i   t   e   m   a   :       P   R   O   C
0014760        [   n   o   d   e   s   :       L   I   S   T       O   F
0015000        R   E   F       A   N   Y   ,       p   o   s   i   t   i
0015020    o   n   :       I   N   T   ,       l   e   n   g   t   h   :
0015040        I   N   T   ]  \r  \t   R   E   T   U   R   N   S       [
0015060    L   I   S   T       O   F       R   E   F       A   N   Y   ]
0015100        =  \r   B   E   G   I   N  \r   s   t   a   c   k   :    
0015120    L   I   S   T       O   F       R   E   F       A   N   Y    
0015140    _       n   o   d   e   s   ;  \r   I   d   :       I   d   N
0015160    o   d   e   ;  \r   S   t   r   i   n   g   :       S   t   r
0015200    i   n   g   N   o   d   e   ;  \r   u   s   i   n   g   :    
0015220    U   s   i   n   g   N   o   d   e   ;  \r   u   s   i   n   g
0015240        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0015260    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0015300    s   t   a   c   k   .   r   e   s   t   ;  \r   S   t   r   i
0015320    n   g       _       N   A   R   R   O   W   [   s   t   a   c
0015340    k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k    
0015360    _       s   t   a   c   k   .   r   e   s   t   ;  \r   I   d
0015400        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0015420    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0015440    s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c
0015460    k       _       C   O   N   S   [   B   u   i   l   d   I   n
0015500    c   l   u   d   e   I   t   e   m   P   r   o   d   N   o   d
0015520    e   [   p   o   s   i   t   i   o   n   ,       l   e   n   g
0015540    t   h   ,       I   d   ,       B   u   i   l   d   I   d   O
0015560    r   S   t   r   i   n   g   s   t   r   i   n   g   P   r   o
0015600    d   N   o   d   e   [   S   t   r   i   n   g   .   p   o   s
0015620    i   t   i   o   n   ,       S   t   r   i   n   g   .   l   e
0015640    n   g   t   h   ,       S   t   r   i   n   g   ]   ,       I
0015660    d   ,       u   s   i   n   g   ]   ,       s   t   a   c   k
0015700    ]   ;  \r   R   E   T   U   R   N       [   s   t   a   c   k
0015720    ]  \r   E   N   D   ;  \r  \r   S   e   e   i   n   c   l   u
0015740    d   e   i   t   e   m   b   :       P   R   O   C       [   n
0015760    o   d   e   s   :       L   I   S   T       O   F       R   E
0016000    F       A   N   Y   ,       p   o   s   i   t   i   o   n   :
0016020        I   N   T   ,       l   e   n   g   t   h   :       I   N
0016040    T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S
0016060    T       O   F       R   E   F       A   N   Y   ]       =  \r
0016100    B   E   G   I   N  \r   s   t   a   c   k   :       L   I   S
0016120    T       O   F       R   E   F       A   N   Y       _       n
0016140    o   d   e   s   ;  \r   I   d   :       I   d   N   o   d   e
0016160    ;  \r   u   s   i   n   g   :       U   s   i   n   g   N   o
0016200    d   e   ;  \r   u   s   i   n   g       _       N   A   R   R
0016220    O   W   [   s   t   a   c   k   .   f   i   r   s   t   ]   ;
0016240   \r   s   t   a   c   k       _       s   t   a   c   k   .   r
0016260    e   s   t   ;  \r   I   d       _       N   A   R   R   O   W
0016300    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0016320    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0016340    t   ;  \r   s   t   a   c   k       _       C   O   N   S   [
0016360    B   u   i   l   d   I   n   c   l   u   d   e   I   t   e   m
0016400    P   r   o   d   N   o   d   e   [   p   o   s   i   t   i   o
0016420    n   ,       l   e   n   g   t   h   ,       I   d   ,       B
0016440    u   i   l   d   I   d   O   r   S   t   r   i   n   g   i   d
0016460    P   r   o   d   N   o   d   e   [   I   d   .   p   o   s   i
0016500    t   i   o   n   ,       I   d   .   l   e   n   g   t   h   ,
0016520        I   d   ]   ,       I   d   ,       u   s   i   n   g   ]
0016540    ,       s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N
0016560        [   s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S
0016600    e   e   i   n   c   l   u   d   e   i   t   e   m   c   :    
0016620    P   R   O   C       [   n   o   d   e   s   :       L   I   S
0016640    T       O   F       R   E   F       A   N   Y   ,       p   o
0016660    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0016700    g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R
0016720    N   S       [   L   I   S   T       O   F       R   E   F    
0016740    A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a
0016760    c   k   :       L   I   S   T       O   F       R   E   F    
0017000    A   N   Y       _       n   o   d   e   s   ;  \r   I   d   :
0017020        I   d   N   o   d   e   ;  \r   u   s   i   n   g   :    
0017040    U   s   i   n   g   N   o   d   e   ;  \r   u   s   i   n   g
0017060        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0017100    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0017120    s   t   a   c   k   .   r   e   s   t   ;  \r   I   d       _
0017140        N   A   R   R   O   W   [   s   t   a   c   k   .   f   i
0017160    r   s   t   ]   ;  \r   s   t   a   c   k       _       s   t
0017200    a   c   k   .   r   e   s   t   ;  \r   s   t   a   c   k    
0017220    _       C   O   N   S   [   B   u   i   l   d   I   n   c   l
0017240    u   d   e   I   t   e   m   P   r   o   d   N   o   d   e   [
0017260    p   o   s   i   t   i   o   n   ,       l   e   n   g   t   h
0017300    ,       I   d   ,       B   u   i   l   d   I   d   O   r   S
0017320    t   r   i   n   g   i   d   P   r   o   d   N   o   d   e   [
0017340    I   d   .   p   o   s   i   t   i   o   n   ,       I   d   .
0017360    l   e   n   g   t   h   ,       I   d   ]   ,       I   d   ,
0017400        u   s   i   n   g   ]   ,       s   t   a   c   k   ]   ;
0017420   \r   R   E   T   U   R   N       [   s   t   a   c   k   ]  \r
0017440    E   N   D   ;  \r  \r   S   e   e   i   n   c   l   u   d   e
0017460    i   t   e   m   d   :       P   R   O   C       [   n   o   d
0017500    e   s   :       L   I   S   T       O   F       R   E   F    
0017520    A   N   Y   ,       p   o   s   i   t   i   o   n   :       I
0017540    N   T   ,       l   e   n   g   t   h   :       I   N   T   ]
0017560   \r  \t   R   E   T   U   R   N   S       [   L   I   S   T    
0017600    O   F       R   E   F       A   N   Y   ]       =  \r   B   E
0017620    G   I   N  \r   s   t   a   c   k   :       L   I   S   T    
0017640    O   F       R   E   F       A   N   Y       _       n   o   d
0017660    e   s   ;  \r   I   d   l   o   c   a   l   :       I   d   N
0017700    o   d   e   ;  \r   I   d   g   l   o   b   a   l   :       I
0017720    d   N   o   d   e   ;  \r   u   s   i   n   g   :       U   s
0017740    i   n   g   N   o   d   e   ;  \r   u   s   i   n   g       _
0017760        N   A   R   R   O   W   [   s   t   a   c   k   .   f   i
0020000    r   s   t   ]   ;  \r   s   t   a   c   k       _       s   t
0020020    a   c   k   .   r   e   s   t   ;  \r   I   d   g   l   o   b
0020040    a   l       _       N   A   R   R   O   W   [   s   t   a   c
0020060    k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k    
0020100    _       s   t   a   c   k   .   r   e   s   t   ;  \r   I   d
0020120    l   o   c   a   l       _       N   A   R   R   O   W   [   s
0020140    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0020160    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0020200   \r   s   t   a   c   k       _       C   O   N   S   [   B   u
0020220    i   l   d   I   n   c   l   u   d   e   I   t   e   m   P   r
0020240    o   d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,
0020260        l   e   n   g   t   h   ,       I   d   l   o   c   a   l
0020300    ,       B   u   i   l   d   I   d   O   r   S   t   r   i   n
0020320    g   i   d   P   r   o   d   N   o   d   e   [   I   d   l   o
0020340    c   a   l   .   p   o   s   i   t   i   o   n   ,       I   d
0020360    l   o   c   a   l   .   l   e   n   g   t   h   ,       I   d
0020400    l   o   c   a   l   ]   ,       I   d   g   l   o   b   a   l
0020420    ,       u   s   i   n   g   ]   ,       s   t   a   c   k   ]
0020440    ;  \r   R   E   T   U   R   N       [   s   t   a   c   k   ]
0020460   \r   E   N   D   ;  \r  \r   S   e   e   u   s   i   n   g   n
0020500    o   t   h   i   n   g   :       P   R   O   C       [   n   o
0020520    d   e   s   :       L   I   S   T       O   F       R   E   F
0020540        A   N   Y   ,       p   o   s   i   t   i   o   n   :    
0020560    I   N   T   ,       l   e   n   g   t   h   :       I   N   T
0020600    ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S   T
0020620        O   F       R   E   F       A   N   Y   ]       =  \r   B
0020640    E   G   I   N  \r   s   t   a   c   k   :       L   I   S   T
0020660        O   F       R   E   F       A   N   Y       _       n   o
0020700    d   e   s   ;  \r   s   t   a   c   k       _       C   O   N
0020720    S   [   B   u   i   l   d   U   s   i   n   g   n   o   t   h
0020740    i   n   g   P   r   o   d   N   o   d   e   [   p   o   s   i
0020760    t   i   o   n   ,       l   e   n   g   t   h   ]   ,       s
0021000    t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s
0021020    t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   u
0021040    s   i   n   g   r   e   s   t   r   i   c   t   e   d   :    
0021060    P   R   O   C       [   n   o   d   e   s   :       L   I   S
0021100    T       O   F       R   E   F       A   N   Y   ,       p   o
0021120    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0021140    g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R
0021160    N   S       [   L   I   S   T       O   F       R   E   F    
0021200    A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a
0021220    c   k   :       L   I   S   T       O   F       R   E   F    
0021240    A   N   Y       _       n   o   d   e   s   ;  \r   i   d   l
0021260    i   s   t   :       I   d   L   i   s   t   N   o   d   e   ;
0021300   \r   i   d   l   i   s   t       _       N   A   R   R   O   W
0021320    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0021340    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0021360    t   ;  \r   s   t   a   c   k       _       C   O   N   S   [
0021400    B   u   i   l   d   U   s   i   n   g   r   e   s   t   r   i
0021420    c   t   e   d   P   r   o   d   N   o   d   e   [   p   o   s
0021440    i   t   i   o   n   ,       l   e   n   g   t   h   ,       i
0021460    d   l   i   s   t   ]   ,       s   t   a   c   k   ]   ;  \r
0021500    R   E   T   U   R   N       [   s   t   a   c   k   ]  \r   E
0021520    N   D   ;  \r  \r   S   e   e   u   s   i   n   g   u   n   r
0021540    e   s   t   r   i   c   t   e   d   :       P   R   O   C    
0021560    [   n   o   d   e   s   :       L   I   S   T       O   F    
0021600    R   E   F       A   N   Y   ,       p   o   s   i   t   i   o
0021620    n   :       I   N   T   ,       l   e   n   g   t   h   :    
0021640    I   N   T   ]  \r  \t   R   E   T   U   R   N   S       [   L
0021660    I   S   T       O   F       R   E   F       A   N   Y   ]    
0021700    =  \r   B   E   G   I   N  \r   s   t   a   c   k   :       L
0021720    I   S   T       O   F       R   E   F       A   N   Y       _
0021740        n   o   d   e   s   ;  \r   s   t   a   c   k       _    
0021760    C   O   N   S   [   B   u   i   l   d   U   s   i   n   g   u
0022000    n   r   e   s   t   r   i   c   t   e   d   P   r   o   d   N
0022020    o   d   e   [   p   o   s   i   t   i   o   n   ,       l   e
0022040    n   g   t   h   ]   ,       s   t   a   c   k   ]   ;  \r   R
0022060    E   T   U   R   N       [   s   t   a   c   k   ]  \r   E   N
0022100    D   ;  \r  \r   S   e   e   d   e   f   b   o   d   y   a   :
0022120        P   R   O   C       [   n   o   d   e   s   :       L   I
0022140    S   T       O   F       R   E   F       A   N   Y   ,       p
0022160    o   s   i   t   i   o   n   :       I   N   T   ,       l   e
0022200    n   g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U
0022220    R   N   S       [   L   I   S   T       O   F       R   E   F
0022240        A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t
0022260    a   c   k   :       L   I   S   T       O   F       R   E   F
0022300        A   N   Y       _       n   o   d   e   s   ;  \r   o   p
0022320    e   n   :       B   i   n   d   L   i   s   t   N   o   d   e
0022340    ;  \r   d   e   c   l   i   s   t   :       D   e   c   L   i
0022360    s   t   N   o   d   e   ;  \r   d   e   c   l   i   s   t    
0022400    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0022420    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0022440    t   a   c   k   .   r   e   s   t   ;  \r   o   p   e   n    
0022460    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0022500    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0022520    t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c   k
0022540        _       C   O   N   S   [   B   u   i   l   d   D   e   f
0022560    B   o   d   y   P   r   o   d   N   o   d   e   [   p   o   s
0022600    i   t   i   o   n   ,       l   e   n   g   t   h   ,       o
0022620    p   e   n   ,       d   e   c   l   i   s   t   ]   ,       s
0022640    t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s
0022660    t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   d
0022700    e   f   b   o   d   y   b   :       P   R   O   C       [   n
0022720    o   d   e   s   :       L   I   S   T       O   F       R   E
0022740    F       A   N   Y   ,       p   o   s   i   t   i   o   n   :
0022760        I   N   T   ,       l   e   n   g   t   h   :       I   N
0023000    T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S
0023020    T       O   F       R   E   F       A   N   Y   ]       =  \r
0023040    B   E   G   I   N  \r   s   t   a   c   k   :       L   I   S
0023060    T       O   F       R   E   F       A   N   Y       _       n
0023100    o   d   e   s   ;  \r   o   p   e   n   :       B   i   n   d
0023120    L   i   s   t   N   o   d   e   ;  \r   d   e   c   l   i   s
0023140    t   :       D   e   c   L   i   s   t   N   o   d   e   ;  \r
0023160    d   e   c   l   i   s   t       _       N   A   R   R   O   W
0023200    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0023220    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0023240    t   ;  \r   o   p   e   n       _       N   A   R   R   O   W
0023260    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0023300    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0023320    t   ;  \r   s   t   a   c   k       _       C   O   N   S   [
0023340    B   u   i   l   d   D   e   f   B   o   d   y   P   r   o   d
0023360    N   o   d   e   [   p   o   s   i   t   i   o   n   ,       l
0023400    e   n   g   t   h   ,       o   p   e   n   ,       d   e   c
0023420    l   i   s   t   ]   ,       s   t   a   c   k   ]   ;  \r   R
0023440    E   T   U   R   N       [   s   t   a   c   k   ]  \r   E   N
0023460    D   ;  \r  \r   S   e   e   d   e   f   b   o   d   y   c   :
0023500        P   R   O   C       [   n   o   d   e   s   :       L   I
0023520    S   T       O   F       R   E   F       A   N   Y   ,       p
0023540    o   s   i   t   i   o   n   :       I   N   T   ,       l   e
0023560    n   g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U
0023600    R   N   S       [   L   I   S   T       O   F       R   E   F
0023620        A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t
0023640    a   c   k   :       L   I   S   T       O   F       R   E   F
0023660        A   N   Y       _       n   o   d   e   s   ;  \r   o   p
0023700    e   n   :       B   i   n   d   L   i   s   t   N   o   d   e
0023720    ;  \r   d   e   c   l   i   s   t   :       D   e   c   L   i
0023740    s   t   N   o   d   e   ;  \r   d   e   c   l   i   s   t    
0023760    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0024000    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0024020    t   a   c   k   .   r   e   s   t   ;  \r   o   p   e   n    
0024040    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0024060    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0024100    t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c   k
0024120        _       C   O   N   S   [   B   u   i   l   d   D   e   f
0024140    B   o   d   y   P   r   o   d   N   o   d   e   [   p   o   s
0024160    i   t   i   o   n   ,       l   e   n   g   t   h   ,       o
0024200    p   e   n   ,       d   e   c   l   i   s   t   ]   ,       s
0024220    t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s
0024240    t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   d
0024260    e   f   b   o   d   y   d   :       P   R   O   C       [   n
0024300    o   d   e   s   :       L   I   S   T       O   F       R   E
0024320    F       A   N   Y   ,       p   o   s   i   t   i   o   n   :
0024340        I   N   T   ,       l   e   n   g   t   h   :       I   N
0024360    T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S
0024400    T       O   F       R   E   F       A   N   Y   ]       =  \r
0024420    B   E   G   I   N  \r   s   t   a   c   k   :       L   I   S
0024440    T       O   F       R   E   F       A   N   Y       _       n
0024460    o   d   e   s   ;  \r   o   p   e   n   :       B   i   n   d
0024500    L   i   s   t   N   o   d   e   ;  \r   d   e   c   l   i   s
0024520    t   :       D   e   c   L   i   s   t   N   o   d   e   ;  \r
0024540    d   e   c   l   i   s   t       _       N   A   R   R   O   W
0024560    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0024600    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0024620    t   ;  \r   o   p   e   n       _       N   A   R   R   O   W
0024640    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0024660    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0024700    t   ;  \r   s   t   a   c   k       _       C   O   N   S   [
0024720    B   u   i   l   d   D   e   f   B   o   d   y   P   r   o   d
0024740    N   o   d   e   [   p   o   s   i   t   i   o   n   ,       l
0024760    e   n   g   t   h   ,       o   p   e   n   ,       d   e   c
0025000    l   i   s   t   ]   ,       s   t   a   c   k   ]   ;  \r   R
0025020    E   T   U   R   N       [   s   t   a   c   k   ]  \r   E   N
0025040    D   ;  \r  \r   S   e   e   d   e   f   h   e   a   d   :    
0025060    P   R   O   C       [   n   o   d   e   s   :       L   I   S
0025100    T       O   F       R   E   F       A   N   Y   ,       p   o
0025120    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0025140    g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R
0025160    N   S       [   L   I   S   T       O   F       R   E   F    
0025200    A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a
0025220    c   k   :       L   I   S   T       O   F       R   E   F    
0025240    A   N   Y       _       n   o   d   e   s   ;  \r   d   e   f
0025260    i   n   i   t   i   o   n   s   :       J   u   n   k   N   o
0025300    d   e   ;  \r   l   o   c   k   s   :       L   o   c   k   s
0025320    N   o   d   e   ;  \r   i   m   p   o   r   t   s   :       M
0025340    o   d   u   l   e   L   i   s   t   N   o   d   e   ;  \r   s
0025360    h   a   r   e   s   :       S   h   a   r   e   s   N   o   d
0025400    e   ;  \r   t   i   l   d   e   :       J   u   n   k   N   o
0025420    d   e   ;  \r   p   u   b   l   i   c   :       A   c   c   e
0025440    s   s   N   o   d   e   ;  \r   p   u   b   l   i   c       _
0025460        N   A   R   R   O   W   [   s   t   a   c   k   .   f   i
0025500    r   s   t   ]   ;  \r   s   t   a   c   k       _       s   t
0025520    a   c   k   .   r   e   s   t   ;  \r   t   i   l   d   e    
0025540    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0025560    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0025600    t   a   c   k   .   r   e   s   t   ;  \r   s   h   a   r   e
0025620    s       _       N   A   R   R   O   W   [   s   t   a   c   k
0025640    .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _
0025660        s   t   a   c   k   .   r   e   s   t   ;  \r   i   m   p
0025700    o   r   t   s       _       N   A   R   R   O   W   [   s   t
0025720    a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c
0025740    k       _       s   t   a   c   k   .   r   e   s   t   ;  \r
0025760    l   o   c   k   s       _       N   A   R   R   O   W   [   s
0026000    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0026020    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0026040   \r   d   e   f   i   n   i   t   i   o   n   s       _       N
0026060    A   R   R   O   W   [   s   t   a   c   k   .   f   i   r   s
0026100    t   ]   ;  \r   s   t   a   c   k       _       s   t   a   c
0026120    k   .   r   e   s   t   ;  \r   s   t   a   c   k       _    
0026140    C   O   N   S   [   B   u   i   l   d   D   e   f   H   e   a
0026160    d   P   r   o   d   N   o   d   e   [   p   o   s   i   t   i
0026200    o   n   ,       l   e   n   g   t   h   ,       l   o   c   k
0026220    s   ,       i   m   p   o   r   t   s   ,       s   h   a   r
0026240    e   s   ,       p   u   b   l   i   c   ]   ,       s   t   a
0026260    c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t   a
0026300    c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   d   e   f
0026320    i   n   i   t   i   o   n   s   :       P   R   O   C       [
0026340    n   o   d   e   s   :       L   I   S   T       O   F       R
0026360    E   F       A   N   Y   ,       p   o   s   i   t   i   o   n
0026400    :       I   N   T   ,       l   e   n   g   t   h   :       I
0026420    N   T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I
0026440    S   T       O   F       R   E   F       A   N   Y   ]       =
0026460   \r   B   E   G   I   N  \r   s   t   a   c   k   :       L   I
0026500    S   T       O   F       R   E   F       A   N   Y       _    
0026520    n   o   d   e   s   ;  \r   s   t   a   c   k       _       C
0026540    O   N   S   [   B   u   i   l   d   J   u   n   k   P   r   o
0026560    d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,    
0026600    l   e   n   g   t   h   ]   ,       s   t   a   c   k   ]   ;
0026620   \r   R   E   T   U   R   N       [   s   t   a   c   k   ]  \r
0026640    E   N   D   ;  \r  \r   S   e   e   c   e   d   a   r   y   e
0026660    s   :       P   R   O   C       [   n   o   d   e   s   :    
0026700    L   I   S   T       O   F       R   E   F       A   N   Y   ,
0026720        p   o   s   i   t   i   o   n   :       I   N   T   ,    
0026740    l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E
0026760    T   U   R   N   S       [   L   I   S   T       O   F       R
0027000    E   F       A   N   Y   ]       =  \r   B   E   G   I   N  \r
0027020    s   t   a   c   k   :       L   I   S   T       O   F       R
0027040    E   F       A   N   Y       _       n   o   d   e   s   ;  \r
0027060    s   t   a   c   k       _       C   O   N   S   [   B   u   i
0027100    l   d   C   e   d   a   r   y   e   s   P   r   o   d   N   o
0027120    d   e   [   p   o   s   i   t   i   o   n   ,       l   e   n
0027140    g   t   h   ]   ,       s   t   a   c   k   ]   ;  \r   R   E
0027160    T   U   R   N       [   s   t   a   c   k   ]  \r   E   N   D
0027200    ;  \r  \r   S   e   e   c   e   d   a   r   n   o   :       P
0027220    R   O   C       [   n   o   d   e   s   :       L   I   S   T
0027240        O   F       R   E   F       A   N   Y   ,       p   o   s
0027260    i   t   i   o   n   :       I   N   T   ,       l   e   n   g
0027300    t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N
0027320    S       [   L   I   S   T       O   F       R   E   F       A
0027340    N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a   c
0027360    k   :       L   I   S   T       O   F       R   E   F       A
0027400    N   Y       _       n   o   d   e   s   ;  \r   s   t   a   c
0027420    k       _       C   O   N   S   [   B   u   i   l   d   C   e
0027440    d   a   r   n   o   P   r   o   d   N   o   d   e   [   p   o
0027460    s   i   t   i   o   n   ,       l   e   n   g   t   h   ]   ,
0027500        s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N    
0027520    [   s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e
0027540    e   p   r   o   g   h   e   a   d   :       P   R   O   C    
0027560    [   n   o   d   e   s   :       L   I   S   T       O   F    
0027600    R   E   F       A   N   Y   ,       p   o   s   i   t   i   o
0027620    n   :       I   N   T   ,       l   e   n   g   t   h   :    
0027640    I   N   T   ]  \r  \t   R   E   T   U   R   N   S       [   L
0027660    I   S   T       O   F       R   E   F       A   N   Y   ]    
0027700    =  \r   B   E   G   I   N  \r   s   t   a   c   k   :       L
0027720    I   S   T       O   F       R   E   F       A   N   Y       _
0027740        n   o   d   e   s   ;  \r   r   e   s   i   d   e   n   t
0027760    :       J   u   n   k   N   o   d   e   ;  \r   s   a   f   e
0030000    :       S   a   f   e   N   o   d   e   ;  \r   c   l   a   s
0030020    s   :       C   l   a   s   s   N   o   d   e   ;  \r   a   r
0030040    g   u   m   e   n   t   s   :       A   r   g   u   m   e   n
0030060    t   s   N   o   d   e   ;  \r   l   o   c   k   s   :       L
0030100    o   c   k   s   N   o   d   e   ;  \r   i   n   t   e   r   f
0030120    a   c   e   :       I   n   t   e   r   f   a   c   e   N   o
0030140    d   e   ;  \r   t   i   l   d   e   :       J   u   n   k   N
0030160    o   d   e   ;  \r   p   u   b   l   i   c   :       A   c   c
0030200    e   s   s   N   o   d   e   ;  \r   p   u   b   l   i   c    
0030220    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0030240    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0030260    t   a   c   k   .   r   e   s   t   ;  \r   t   i   l   d   e
0030300        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0030320    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0030340    s   t   a   c   k   .   r   e   s   t   ;  \r   i   n   t   e
0030360    r   f   a   c   e       _       N   A   R   R   O   W   [   s
0030400    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0030420    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0030440   \r   l   o   c   k   s       _       N   A   R   R   O   W   [
0030460    s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t
0030500    a   c   k       _       s   t   a   c   k   .   r   e   s   t
0030520    ;  \r   a   r   g   u   m   e   n   t   s       _       N   A
0030540    R   R   O   W   [   s   t   a   c   k   .   f   i   r   s   t
0030560    ]   ;  \r   s   t   a   c   k       _       s   t   a   c   k
0030600    .   r   e   s   t   ;  \r   c   l   a   s   s       _       N
0030620    A   R   R   O   W   [   s   t   a   c   k   .   f   i   r   s
0030640    t   ]   ;  \r   s   t   a   c   k       _       s   t   a   c
0030660    k   .   r   e   s   t   ;  \r   s   a   f   e       _       N
0030700    A   R   R   O   W   [   s   t   a   c   k   .   f   i   r   s
0030720    t   ]   ;  \r   s   t   a   c   k       _       s   t   a   c
0030740    k   .   r   e   s   t   ;  \r   r   e   s   i   d   e   n   t
0030760        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0031000    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0031020    s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c
0031040    k       _       C   O   N   S   [   B   u   i   l   d   P   r
0031060    o   g   H   e   a   d   P   r   o   d   N   o   d   e   [   p
0031100    o   s   i   t   i   o   n   ,       l   e   n   g   t   h   ,
0031120        s   a   f   e   ,       c   l   a   s   s   ,       a   r
0031140    g   u   m   e   n   t   s   ,       l   o   c   k   s   ,    
0031160    i   n   t   e   r   f   a   c   e   ,       p   u   b   l   i
0031200    c   ]   ,       s   t   a   c   k   ]   ;  \r   R   E   T   U
0031220    R   N       [   s   t   a   c   k   ]  \r   E   N   D   ;  \r
0031240   \r   S   e   e   r   e   s   i   d   e   n   t   :       P   R
0031260    O   C       [   n   o   d   e   s   :       L   I   S   T    
0031300    O   F       R   E   F       A   N   Y   ,       p   o   s   i
0031320    t   i   o   n   :       I   N   T   ,       l   e   n   g   t
0031340    h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S
0031360        [   L   I   S   T       O   F       R   E   F       A   N
0031400    Y   ]       =  \r   B   E   G   I   N  \r   s   t   a   c   k
0031420    :       L   I   S   T       O   F       R   E   F       A   N
0031440    Y       _       n   o   d   e   s   ;  \r   s   t   a   c   k
0031460        _       C   O   N   S   [   B   u   i   l   d   J   u   n
0031500    k   P   r   o   d   N   o   d   e   [   p   o   s   i   t   i
0031520    o   n   ,       l   e   n   g   t   h   ]   ,       s   t   a
0031540    c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t   a
0031560    c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   c   l   a
0031600    s   s   p   r   o   g   r   a   m   :       P   R   O   C    
0031620    [   n   o   d   e   s   :       L   I   S   T       O   F    
0031640    R   E   F       A   N   Y   ,       p   o   s   i   t   i   o
0031660    n   :       I   N   T   ,       l   e   n   g   t   h   :    
0031700    I   N   T   ]  \r  \t   R   E   T   U   R   N   S       [   L
0031720    I   S   T       O   F       R   E   F       A   N   Y   ]    
0031740    =  \r   B   E   G   I   N  \r   s   t   a   c   k   :       L
0031760    I   S   T       O   F       R   E   F       A   N   Y       _
0032000        n   o   d   e   s   ;  \r   s   t   a   c   k       _    
0032020    C   O   N   S   [   B   u   i   l   d   C   l   a   s   s   p
0032040    r   o   g   r   a   m   P   r   o   d   N   o   d   e   [   p
0032060    o   s   i   t   i   o   n   ,       l   e   n   g   t   h   ]
0032100    ,       s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N
0032120        [   s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S
0032140    e   e   c   l   a   s   s   m   o   n   i   t   o   r   :    
0032160    P   R   O   C       [   n   o   d   e   s   :       L   I   S
0032200    T       O   F       R   E   F       A   N   Y   ,       p   o
0032220    s   i   t   i   o   n   :       I   N   T   ,       l   e   n
0032240    g   t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R
0032260    N   S       [   L   I   S   T       O   F       R   E   F    
0032300    A   N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a
0032320    c   k   :       L   I   S   T       O   F       R   E   F    
0032340    A   N   Y       _       n   o   d   e   s   ;  \r   s   t   a
0032360    c   k       _       C   O   N   S   [   B   u   i   l   d   C
0032400    l   a   s   s   m   o   n   i   t   o   r   P   r   o   d   N
0032420    o   d   e   [   p   o   s   i   t   i   o   n   ,       l   e
0032440    n   g   t   h   ]   ,       s   t   a   c   k   ]   ;  \r   R
0032460    E   T   U   R   N       [   s   t   a   c   k   ]  \r   E   N
0032500    D   ;  \r  \r   S   e   e   i   n   t   e   r   f   a   c   e
0032520    :       P   R   O   C       [   n   o   d   e   s   :       L
0032540    I   S   T       O   F       R   E   F       A   N   Y   ,    
0032560    p   o   s   i   t   i   o   n   :       I   N   T   ,       l
0032600    e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E   T
0032620    U   R   N   S       [   L   I   S   T       O   F       R   E
0032640    F       A   N   Y   ]       =  \r   B   E   G   I   N  \r   s
0032660    t   a   c   k   :       L   I   S   T       O   F       R   E
0032700    F       A   N   Y       _       n   o   d   e   s   ;  \r   i
0032720    m   p   o   r   t   s   :       M   o   d   u   l   e   L   i
0032740    s   t   N   o   d   e   ;  \r   e   x   p   o   r   t   s   :
0032760        M   o   d   u   l   e   L   i   s   t   N   o   d   e   ;
0033000   \r   s   h   a   r   e   s   :       S   h   a   r   e   s   N
0033020    o   d   e   ;  \r   s   h   a   r   e   s       _       N   A
0033040    R   R   O   W   [   s   t   a   c   k   .   f   i   r   s   t
0033060    ]   ;  \r   s   t   a   c   k       _       s   t   a   c   k
0033100    .   r   e   s   t   ;  \r   e   x   p   o   r   t   s       _
0033120        N   A   R   R   O   W   [   s   t   a   c   k   .   f   i
0033140    r   s   t   ]   ;  \r   s   t   a   c   k       _       s   t
0033160    a   c   k   .   r   e   s   t   ;  \r   i   m   p   o   r   t
0033200    s       _       N   A   R   R   O   W   [   s   t   a   c   k
0033220    .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _
0033240        s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a
0033260    c   k       _       C   O   N   S   [   B   u   i   l   d   I
0033300    n   t   e   r   f   a   c   e   P   r   o   d   N   o   d   e
0033320    [   p   o   s   i   t   i   o   n   ,       l   e   n   g   t
0033340    h   ,       i   m   p   o   r   t   s   ,       e   x   p   o
0033360    r   t   s   ,       s   h   a   r   e   s   ]   ,       s   t
0033400    a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t
0033420    a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   e   x
0033440    p   o   r   t   s   a   :       P   R   O   C       [   n   o
0033460    d   e   s   :       L   I   S   T       O   F       R   E   F
0033500        A   N   Y   ,       p   o   s   i   t   i   o   n   :    
0033520    I   N   T   ,       l   e   n   g   t   h   :       I   N   T
0033540    ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S   T
0033560        O   F       R   E   F       A   N   Y   ]       =  \r   B
0033600    E   G   I   N  \r   s   t   a   c   k   :       L   I   S   T
0033620        O   F       R   E   F       A   N   Y       _       n   o
0033640    d   e   s   ;  \r   s   t   a   c   k       _       C   O   N
0033660    S   [   B   u   i   l   d   M   o   d   u   l   e   L   i   s
0033700    t   e   m   p   t   y   P   r   o   d   N   o   d   e   [   p
0033720    o   s   i   t   i   o   n   ,       l   e   n   g   t   h   ]
0033740    ,       s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N
0033760        [   s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S
0034000    e   e   e   x   p   o   r   t   s   b   :       P   R   O   C
0034020        [   n   o   d   e   s   :       L   I   S   T       O   F
0034040        R   E   F       A   N   Y   ,       p   o   s   i   t   i
0034060    o   n   :       I   N   T   ,       l   e   n   g   t   h   :
0034100        I   N   T   ]  \r  \t   R   E   T   U   R   N   S       [
0034120    L   I   S   T       O   F       R   E   F       A   N   Y   ]
0034140        =  \r   B   E   G   I   N  \r   s   t   a   c   k   :    
0034160    L   I   S   T       O   F       R   E   F       A   N   Y    
0034200    _       n   o   d   e   s   ;  \r   m   o   d   u   l   e   l
0034220    i   s   t   :       M   o   d   u   l   e   L   i   s   t   N
0034240    o   d   e   ;  \r   m   o   d   u   l   e   l   i   s   t    
0034260    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0034300    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0034320    t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c   k
0034340        _       C   O   N   S   [   m   o   d   u   l   e   l   i
0034360    s   t   ,       s   t   a   c   k   ]   ;  \r   R   E   T   U
0034400    R   N       [   s   t   a   c   k   ]  \r   E   N   D   ;  \r
0034420   \r   S   e   e   e   x   p   o   r   t   s   c   :       P   R
0034440    O   C       [   n   o   d   e   s   :       L   I   S   T    
0034460    O   F       R   E   F       A   N   Y   ,       p   o   s   i
0034500    t   i   o   n   :       I   N   T   ,       l   e   n   g   t
0034520    h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S
0034540        [   L   I   S   T       O   F       R   E   F       A   N
0034560    Y   ]       =  \r   B   E   G   I   N  \r   s   t   a   c   k
0034600    :       L   I   S   T       O   F       R   E   F       A   N
0034620    Y       _       n   o   d   e   s   ;  \r   s   t   a   c   k
0034640        _       C   O   N   S   [   B   u   i   l   d   M   o   d
0034660    u   l   e   L   i   s   t   e   m   p   t   y   P   r   o   d
0034700    N   o   d   e   [   p   o   s   i   t   i   o   n   ,       l
0034720    e   n   g   t   h   ]   ,       s   t   a   c   k   ]   ;  \r
0034740    R   E   T   U   R   N       [   s   t   a   c   k   ]  \r   E
0034760    N   D   ;  \r  \r   S   e   e   b   i   n   d   i   t   e   m
0035000    a   :       P   R   O   C       [   n   o   d   e   s   :    
0035020    L   I   S   T       O   F       R   E   F       A   N   Y   ,
0035040        p   o   s   i   t   i   o   n   :       I   N   T   ,    
0035060    l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E
0035100    T   U   R   N   S       [   L   I   S   T       O   F       R
0035120    E   F       A   N   Y   ]       =  \r   B   E   G   I   N  \r
0035140    s   t   a   c   k   :       L   I   S   T       O   F       R
0035160    E   F       A   N   Y       _       n   o   d   e   s   ;  \r
0035200    e   x   p   :       E   x   p   N   o   d   e   ;  \r   e   x
0035220    p       _       N   A   R   R   O   W   [   s   t   a   c   k
0035240    .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _
0035260        s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a
0035300    c   k       _       C   O   N   S   [   B   u   i   l   d   B
0035320    i   n   d   I   t   e   m   u   n   n   a   m   e   d   P   r
0035340    o   d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,
0035360        l   e   n   g   t   h   ,       e   x   p   ]   ,       s
0035400    t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s
0035420    t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   b
0035440    i   n   d   i   t   e   m   b   :       P   R   O   C       [
0035460    n   o   d   e   s   :       L   I   S   T       O   F       R
0035500    E   F       A   N   Y   ,       p   o   s   i   t   i   o   n
0035520    :       I   N   T   ,       l   e   n   g   t   h   :       I
0035540    N   T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I
0035560    S   T       O   F       R   E   F       A   N   Y   ]       =
0035600   \r   B   E   G   I   N  \r   s   t   a   c   k   :       L   I
0035620    S   T       O   F       R   E   F       A   N   Y       _    
0035640    n   o   d   e   s   ;  \r   I   d   :       I   d   N   o   d
0035660    e   ;  \r   e   x   p   :       E   x   p   N   o   d   e   ;
0035700   \r   e   x   p       _       N   A   R   R   O   W   [   s   t
0035720    a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c
0035740    k       _       s   t   a   c   k   .   r   e   s   t   ;  \r
0035760    I   d       _       N   A   R   R   O   W   [   s   t   a   c
0036000    k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k    
0036020    _       s   t   a   c   k   .   r   e   s   t   ;  \r   s   t
0036040    a   c   k       _       C   O   N   S   [   B   u   i   l   d
0036060    B   i   n   d   I   t   e   m   n   a   m   e   d   P   r   o
0036100    d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,    
0036120    l   e   n   g   t   h   ,       I   d   ,       e   x   p   ]
0036140    ,       s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N
0036160        [   s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S
0036200    e   e   b   i   n   d   i   t   e   m   c   :       P   R   O
0036220    C       [   n   o   d   e   s   :       L   I   S   T       O
0036240    F       R   E   F       A   N   Y   ,       p   o   s   i   t
0036260    i   o   n   :       I   N   T   ,       l   e   n   g   t   h
0036300    :       I   N   T   ]  \r  \t   R   E   T   U   R   N   S    
0036320    [   L   I   S   T       O   F       R   E   F       A   N   Y
0036340    ]       =  \r   B   E   G   I   N  \r   s   t   a   c   k   :
0036360        L   I   S   T       O   F       R   E   F       A   N   Y
0036400        _       n   o   d   e   s   ;  \r   I   d   :       I   d
0036420    N   o   d   e   ;  \r   e   x   p   :       E   x   p   N   o
0036440    d   e   ;  \r   e   x   p       _       N   A   R   R   O   W
0036460    [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s
0036500    t   a   c   k       _       s   t   a   c   k   .   r   e   s
0036520    t   ;  \r   I   d       _       N   A   R   R   O   W   [   s
0036540    t   a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a
0036560    c   k       _       s   t   a   c   k   .   r   e   s   t   ;
0036600   \r   s   t   a   c   k       _       C   O   N   S   [   B   u
0036620    i   l   d   B   i   n   d   I   t   e   m   n   a   m   e   d
0036640    P   r   o   d   N   o   d   e   [   p   o   s   i   t   i   o
0036660    n   ,       l   e   n   g   t   h   ,       I   d   ,       e
0036700    x   p   ]   ,       s   t   a   c   k   ]   ;  \r   R   E   T
0036720    U   R   N       [   s   t   a   c   k   ]  \r   E   N   D   ;
0036740   \r  \r   S   e   e   c   a   s   e   l   a   b   e   l   t   y
0036760    p   e   :       P   R   O   C       [   n   o   d   e   s   :
0037000        L   I   S   T       O   F       R   E   F       A   N   Y
0037020    ,       p   o   s   i   t   i   o   n   :       I   N   T   ,
0037040        l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R
0037060    E   T   U   R   N   S       [   L   I   S   T       O   F    
0037100    R   E   F       A   N   Y   ]       =  \r   B   E   G   I   N
0037120   \r   s   t   a   c   k   :       L   I   S   T       O   F    
0037140    R   E   F       A   N   Y       _       n   o   d   e   s   ;
0037160   \r   i   d   e   n   t   :       I   d   e   n   t   N   o   d
0037200    e   ;  \r   t   y   p   e   e   x   p   :       T   y   p   e
0037220    E   x   p   N   o   d   e   ;  \r   t   y   p   e   e   x   p
0037240        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0037260    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0037300    s   t   a   c   k   .   r   e   s   t   ;  \r   i   d   e   n
0037320    t       _       N   A   R   R   O   W   [   s   t   a   c   k
0037340    .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _
0037360        s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a
0037400    c   k       _       C   O   N   S   [   B   u   i   l   d   S
0037420    e   l   e   c   t   L   a   b   e   l   t   y   p   e   P   r
0037440    o   d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,
0037460        l   e   n   g   t   h   ,       i   d   e   n   t   ,    
0037500    t   y   p   e   e   x   p   ]   ,       s   t   a   c   k   ]
0037520    ;  \r   R   E   T   U   R   N       [   s   t   a   c   k   ]
0037540   \r   E   N   D   ;  \r  \r   S   e   e   c   a   s   e   l   a
0037560    b   e   l   t   e   s   t   :       P   R   O   C       [   n
0037600    o   d   e   s   :       L   I   S   T       O   F       R   E
0037620    F       A   N   Y   ,       p   o   s   i   t   i   o   n   :
0037640        I   N   T   ,       l   e   n   g   t   h   :       I   N
0037660    T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S
0037700    T       O   F       R   E   F       A   N   Y   ]       =  \r
0037720    B   E   G   I   N  \r   s   t   a   c   k   :       L   I   S
0037740    T       O   F       R   E   F       A   N   Y       _       n
0037760    o   d   e   s   ;  \r   c   a   s   e   l   a   b   e   l   P
0040000    :       S   e   l   e   c   t   T   e   s   t   L   i   s   t
0040020    N   o   d   e   ;  \r   c   a   s   e   l   a   b   e   l   P
0040040        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0040060    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0040100    s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c
0040120    k       _       C   O   N   S   [   B   u   i   l   d   S   e
0040140    l   e   c   t   L   a   b   e   l   t   e   s   t   P   r   o
0040160    d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,    
0040200    l   e   n   g   t   h   ,       c   a   s   e   l   a   b   e
0040220    l   P   ]   ,       s   t   a   c   k   ]   ;  \r   R   E   T
0040240    U   R   N       [   s   t   a   c   k   ]  \r   E   N   D   ;
0040260   \r  \r   S   e   e   c   a   s   e   l   a   b   e   l   P   o
0040300    n   e   :       P   R   O   C       [   n   o   d   e   s   :
0040320        L   I   S   T       O   F       R   E   F       A   N   Y
0040340    ,       p   o   s   i   t   i   o   n   :       I   N   T   ,
0040360        l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R
0040400    E   T   U   R   N   S       [   L   I   S   T       O   F    
0040420    R   E   F       A   N   Y   ]       =  \r   B   E   G   I   N
0040440   \r   s   t   a   c   k   :       L   I   S   T       O   F    
0040460    R   E   F       A   N   Y       _       n   o   d   e   s   ;
0040500   \r   c   a   s   e   t   e   s   t   :       R   e   l   a   t
0040520    i   o   n   N   o   d   e   ;  \r   c   a   s   e   t   e   s
0040540    t       _       N   A   R   R   O   W   [   s   t   a   c   k
0040560    .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _
0040600        s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a
0040620    c   k       _       C   O   N   S   [   B   u   i   l   d   S
0040640    e   l   e   c   t   T   e   s   t   L   i   s   t   o   n   e
0040660    P   r   o   d   N   o   d   e   [   p   o   s   i   t   i   o
0040700    n   ,       l   e   n   g   t   h   ,       c   a   s   e   t
0040720    e   s   t   ]   ,       s   t   a   c   k   ]   ;  \r   R   E
0040740    T   U   R   N       [   s   t   a   c   k   ]  \r   E   N   D
0040760    ;  \r  \r   S   e   e   c   a   s   e   l   a   b   e   l   P
0041000    m   o   r   e   :       P   R   O   C       [   n   o   d   e
0041020    s   :       L   I   S   T       O   F       R   E   F       A
0041040    N   Y   ,       p   o   s   i   t   i   o   n   :       I   N
0041060    T   ,       l   e   n   g   t   h   :       I   N   T   ]  \r
0041100   \t   R   E   T   U   R   N   S       [   L   I   S   T       O
0041120    F       R   E   F       A   N   Y   ]       =  \r   B   E   G
0041140    I   N  \r   s   t   a   c   k   :       L   I   S   T       O
0041160    F       R   E   F       A   N   Y       _       n   o   d   e
0041200    s   ;  \r   c   a   s   e   l   a   b   e   l   P   :       S
0041220    e   l   e   c   t   T   e   s   t   L   i   s   t   N   o   d
0041240    e   ;  \r   c   a   s   e   t   e   s   t   :       R   e   l
0041260    a   t   i   o   n   N   o   d   e   ;  \r   c   a   s   e   t
0041300    e   s   t       _       N   A   R   R   O   W   [   s   t   a
0041320    c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c   k
0041340        _       s   t   a   c   k   .   r   e   s   t   ;  \r   c
0041360    a   s   e   l   a   b   e   l   P       _       N   A   R   R
0041400    O   W   [   s   t   a   c   k   .   f   i   r   s   t   ]   ;
0041420   \r   s   t   a   c   k       _       s   t   a   c   k   .   r
0041440    e   s   t   ;  \r   s   t   a   c   k       _       C   O   N
0041460    S   [   B   u   i   l   d   S   e   l   e   c   t   T   e   s
0041500    t   L   i   s   t   m   o   r   e   P   r   o   d   N   o   d
0041520    e   [   p   o   s   i   t   i   o   n   ,       l   e   n   g
0041540    t   h   ,       c   a   s   e   l   a   b   e   l   P   ,    
0041560    c   a   s   e   t   e   s   t   ]   ,       s   t   a   c   k
0041600    ]   ;  \r   R   E   T   U   R   N       [   s   t   a   c   k
0041620    ]  \r   E   N   D   ;  \r  \r   S   e   e   c   a   s   e   t
0041640    e   s   t   a   :       P   R   O   C       [   n   o   d   e
0041660    s   :       L   I   S   T       O   F       R   E   F       A
0041700    N   Y   ,       p   o   s   i   t   i   o   n   :       I   N
0041720    T   ,       l   e   n   g   t   h   :       I   N   T   ]  \r
0041740   \t   R   E   T   U   R   N   S       [   L   I   S   T       O
0041760    F       R   E   F       A   N   Y   ]       =  \r   B   E   G
0042000    I   N  \r   s   t   a   c   k   :       L   I   S   T       O
0042020    F       R   E   F       A   N   Y       _       n   o   d   e
0042040    s   ;  \r   o   p   t   r   e   l   a   t   i   o   n   :    
0042060    R   e   l   a   t   i   o   n   N   o   d   e   ;  \r   o   p
0042100    t   r   e   l   a   t   i   o   n       _       N   A   R   R
0042120    O   W   [   s   t   a   c   k   .   f   i   r   s   t   ]   ;
0042140   \r   s   t   a   c   k       _       s   t   a   c   k   .   r
0042160    e   s   t   ;  \r   s   t   a   c   k       _       C   O   N
0042200    S   [   o   p   t   r   e   l   a   t   i   o   n   ,       s
0042220    t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s
0042240    t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   c
0042260    a   s   e   t   e   s   t   b   :       P   R   O   C       [
0042300    n   o   d   e   s   :       L   I   S   T       O   F       R
0042320    E   F       A   N   Y   ,       p   o   s   i   t   i   o   n
0042340    :       I   N   T   ,       l   e   n   g   t   h   :       I
0042360    N   T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I
0042400    S   T       O   F       R   E   F       A   N   Y   ]       =
0042420   \r   B   E   G   I   N  \r   s   t   a   c   k   :       L   I
0042440    S   T       O   F       R   E   F       A   N   Y       _    
0042460    n   o   d   e   s   ;  \r   e   x   p   :       E   x   p   N
0042500    o   d   e   ;  \r   e   x   p       _       N   A   R   R   O
0042520    W   [   s   t   a   c   k   .   f   i   r   s   t   ]   ;  \r
0042540    s   t   a   c   k       _       s   t   a   c   k   .   r   e
0042560    s   t   ;  \r   s   t   a   c   k       _       C   O   N   S
0042600    [   B   u   i   l   d   R   e   l   a   t   i   o   n   p   o
0042620    s   i   t   i   v   e   P   r   o   d   N   o   d   e   [   p
0042640    o   s   i   t   i   o   n   ,       l   e   n   g   t   h   ,
0042660        B   u   i   l   d   R   e   l   a   t   i   o   n   T   a
0042700    i   l   r   e   l   o   p   P   r   o   d   N   o   d   e   [
0042720    e   x   p   .   p   o   s   i   t   i   o   n   ,       e   x
0042740    p   .   p   o   s   i   t   i   o   n       +       e   x   p
0042760    .   l   e   n   g   t   h       -       e   x   p   .   p   o
0043000    s   i   t   i   o   n   ,       B   u   i   l   d   R   e   l
0043020    o   p   e   q   P   r   o   d   N   o   d   e   [   e   x   p
0043040    .   p   o   s   i   t   i   o   n   ,       e   x   p   .   p
0043060    o   s   i   t   i   o   n       -       e   x   p   .   l   e
0043100    n   g   t   h   ]   ,       e   x   p   ]   ]   ,       s   t
0043120    a   c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t
0043140    a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   b   l
0043160    o   c   k   a   :       P   R   O   C       [   n   o   d   e
0043200    s   :       L   I   S   T       O   F       R   E   F       A
0043220    N   Y   ,       p   o   s   i   t   i   o   n   :       I   N
0043240    T   ,       l   e   n   g   t   h   :       I   N   T   ]  \r
0043260   \t   R   E   T   U   R   N   S       [   L   I   S   T       O
0043300    F       R   E   F       A   N   Y   ]       =  \r   B   E   G
0043320    I   N  \r   s   t   a   c   k   :       L   I   S   T       O
0043340    F       R   E   F       A   N   Y       _       n   o   d   e
0043360    s   ;  \r   s   c   o   p   e   :       S   c   o   p   e   N
0043400    o   d   e   ;  \r   e   x   i   t   s   :       E   x   i   t
0043420    L   i   s   t   N   o   d   e   ;  \r   e   x   i   t   s    
0043440    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0043460    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0043500    t   a   c   k   .   r   e   s   t   ;  \r   s   c   o   p   e
0043520        _       N   A   R   R   O   W   [   s   t   a   c   k   .
0043540    f   i   r   s   t   ]   ;  \r   s   t   a   c   k       _    
0043560    s   t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c
0043600    k       _       C   O   N   S   [   B   u   i   l   d   B   l
0043620    o   c   k   P   r   o   d   N   o   d   e   [   p   o   s   i
0043640    t   i   o   n   ,       l   e   n   g   t   h   ,       s   c
0043660    o   p   e   ,       e   x   i   t   s   ]   ,       s   t   a
0043700    c   k   ]   ;  \r   R   E   T   U   R   N       [   s   t   a
0043720    c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e   b   l   o
0043740    c   k   b   :       P   R   O   C       [   n   o   d   e   s
0043760    :       L   I   S   T       O   F       R   E   F       A   N
0044000    Y   ,       p   o   s   i   t   i   o   n   :       I   N   T
0044020    ,       l   e   n   g   t   h   :       I   N   T   ]  \r  \t
0044040    R   E   T   U   R   N   S       [   L   I   S   T       O   F
0044060        R   E   F       A   N   Y   ]       =  \r   B   E   G   I
0044100    N  \r   s   t   a   c   k   :       L   I   S   T       O   F
0044120        R   E   F       A   N   Y       _       n   o   d   e   s
0044140    ;  \r   s   c   o   p   e   :       S   c   o   p   e   N   o
0044160    d   e   ;  \r   e   x   i   t   s   :       E   x   i   t   L
0044200    i   s   t   N   o   d   e   ;  \r   e   x   i   t   s       _
0044220        N   A   R   R   O   W   [   s   t   a   c   k   .   f   i
0044240    r   s   t   ]   ;  \r   s   t   a   c   k       _       s   t
0044260    a   c   k   .   r   e   s   t   ;  \r   s   c   o   p   e    
0044300    _       N   A   R   R   O   W   [   s   t   a   c   k   .   f
0044320    i   r   s   t   ]   ;  \r   s   t   a   c   k       _       s
0044340    t   a   c   k   .   r   e   s   t   ;  \r   s   t   a   c   k
0044360        _       C   O   N   S   [   B   u   i   l   d   B   l   o
0044400    c   k   P   r   o   d   N   o   d   e   [   p   o   s   i   t
0044420    i   o   n   ,       l   e   n   g   t   h   ,       s   c   o
0044440    p   e   ,       e   x   i   t   s   ]   ,       s   t   a   c
0044460    k   ]   ;  \r   R   E   T   U   R   N       [   s   t   a   c
0044500    k   ]  \r   E   N   D   ;  \r  \r   S   e   e   e   x   i   t
0044520    s   l   i   s   t   :       P   R   O   C       [   n   o   d
0044540    e   s   :       L   I   S   T       O   F       R   E   F    
0044560    A   N   Y   ,       p   o   s   i   t   i   o   n   :       I
0044600    N   T   ,       l   e   n   g   t   h   :       I   N   T   ]
0044620   \r  \t   R   E   T   U   R   N   S       [   L   I   S   T    
0044640    O   F       R   E   F       A   N   Y   ]       =  \r   B   E
0044660    G   I   N  \r   s   t   a   c   k   :       L   I   S   T    
0044700    O   F       R   E   F       A   N   Y       _       n   o   d
0044720    e   s   ;  \r   e   x   i   t   l   i   s   t   :       E   x
0044740    i   t   L   i   s   t   N   o   d   e   ;  \r   e   x   i   t
0044760    l   i   s   t       _       N   A   R   R   O   W   [   s   t
0045000    a   c   k   .   f   i   r   s   t   ]   ;  \r   s   t   a   c
0045020    k       _       s   t   a   c   k   .   r   e   s   t   ;  \r
0045040    s   t   a   c   k       _       C   O   N   S   [   e   x   i
0045060    t   l   i   s   t   ,       s   t   a   c   k   ]   ;  \r   R
0045100    E   T   U   R   N       [   s   t   a   c   k   ]  \r   E   N
0045120    D   ;  \r  \r   S   e   e   e   x   i   t   s   e   m   p   t
0045140    y   :       P   R   O   C       [   n   o   d   e   s   :    
0045160    L   I   S   T       O   F       R   E   F       A   N   Y   ,
0045200        p   o   s   i   t   i   o   n   :       I   N   T   ,    
0045220    l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R   E
0045240    T   U   R   N   S       [   L   I   S   T       O   F       R
0045260    E   F       A   N   Y   ]       =  \r   B   E   G   I   N  \r
0045300    s   t   a   c   k   :       L   I   S   T       O   F       R
0045320    E   F       A   N   Y       _       n   o   d   e   s   ;  \r
0045340    s   t   a   c   k       _       C   O   N   S   [   B   u   i
0045360    l   d   E   x   i   t   L   i   s   t   e   m   p   t   y   P
0045400    r   o   d   N   o   d   e   [   p   o   s   i   t   i   o   n
0045420    ,       l   e   n   g   t   h   ]   ,       s   t   a   c   k
0045440    ]   ;  \r   R   E   T   U   R   N       [   s   t   a   c   k
0045460    ]  \r   E   N   D   ;  \r  \r   S   e   e   p   u   b   l   i
0045500    c   p   u   b   l   i   c   :       P   R   O   C       [   n
0045520    o   d   e   s   :       L   I   S   T       O   F       R   E
0045540    F       A   N   Y   ,       p   o   s   i   t   i   o   n   :
0045560        I   N   T   ,       l   e   n   g   t   h   :       I   N
0045600    T   ]  \r  \t   R   E   T   U   R   N   S       [   L   I   S
0045620    T       O   F       R   E   F       A   N   Y   ]       =  \r
0045640    B   E   G   I   N  \r   s   t   a   c   k   :       L   I   S
0045660    T       O   F       R   E   F       A   N   Y       _       n
0045700    o   d   e   s   ;  \r   s   t   a   c   k       _       C   O
0045720    N   S   [   B   u   i   l   d   A   c   c   e   s   s   p   u
0045740    b   l   i   c   P   r   o   d   N   o   d   e   [   p   o   s
0045760    i   t   i   o   n   ,       l   e   n   g   t   h   ]   ,    
0046000    s   t   a   c   k   ]   ;  \r   R   E   T   U   R   N       [
0046020    s   t   a   c   k   ]  \r   E   N   D   ;  \r  \r   S   e   e
0046040    p   u   b   l   i   c   p   r   i   v   a   t   e   :       P
0046060    R   O   C       [   n   o   d   e   s   :       L   I   S   T
0046100        O   F       R   E   F       A   N   Y   ,       p   o   s
0046120    i   t   i   o   n   :       I   N   T   ,       l   e   n   g
0046140    t   h   :       I   N   T   ]  \r  \t   R   E   T   U   R   N
0046160    S       [   L   I   S   T       O   F       R   E   F       A
0046200    N   Y   ]       =  \r   B   E   G   I   N  \r   s   t   a   c
0046220    k   :       L   I   S   T       O   F       R   E   F       A
0046240    N   Y       _       n   o   d   e   s   ;  \r   s   t   a   c
0046260    k       _       C   O   N   S   [   B   u   i   l   d   A   c
0046300    c   e   s   s   p   r   i   v   a   t   e   P   r   o   d   N
0046320    o   d   e   [   p   o   s   i   t   i   o   n   ,       l   e
0046340    n   g   t   h   ]   ,       s   t   a   c   k   ]   ;  \r   R
0046360    E   T   U   R   N       [   s   t   a   c   k   ]  \r   E   N
0046400    D   ;  \r  \r   S   e   e   p   u   b   l   i   c   e   m   p
0046420    t   y   :       P   R   O   C       [   n   o   d   e   s   :
0046440        L   I   S   T       O   F       R   E   F       A   N   Y
0046460    ,       p   o   s   i   t   i   o   n   :       I   N   T   ,
0046500        l   e   n   g   t   h   :       I   N   T   ]  \r  \t   R
0046520    E   T   U   R   N   S       [   L   I   S   T       O   F    
0046540    R   E   F       A   N   Y   ]       =  \r   B   E   G   I   N
0046560   \r   s   t   a   c   k   :       L   I   S   T       O   F    
0046600    R   E   F       A   N   Y       _       n   o   d   e   s   ;
0046620   \r   s   t   a   c   k       _       C   O   N   S   [   B   u
0046640    i   l   d   A   c   c   e   s   s   e   m   p   t   y   P   r
0046660    o   d   N   o   d   e   [   p   o   s   i   t   i   o   n   ,
0046700        l   e   n   g   t   h   ]   ,       s   t   a   c   k   ]
0046720    ;  \r   R   E   T   U   R   N       [   s   t   a   c   k   ]
0046740   \r   E   N   D   ;  \r  \r   E   N   D   .   .  \r            
0046755