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