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