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