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