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