$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron2.0>Shared-Derived>SaffronAG9Def.Mesa!17 0000000 - - S a f f r o n A G 9 D e f 0000020 . m e s a \r - - C o p y r i 0000040 g h t 323 1 9 8 7 b y X e 0000060 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 s 0000120 e r v e d . \r - - G e n e r 0000140 a t e d b y h e d e r m a n 0000160 . p a a t A u g u s t 1 7 0000200 , 1 9 8 7 4 : 3 3 : 2 0 p 0000220 m P D T \r - - u s i n g 0000240 T h r e e C a s a b a F o u r 0000260 [ 1 . 2 ] o f J u n e 1 0000300 , 1 9 8 7 6 : 0 0 : 0 0 p 0000320 m P D T \r \r D I R E C T O R Y 0000340 \r \t S a f f r o n T r e e D e c 0000360 l s D e f , \r \t S a f f r o n G 0000400 e n e r i c D e f , \r \t S a f f 0000420 r o n A T D e f ; \r \r S a f f r 0000440 o n A G 9 D e f : C E D A R 0000460 D E F I N I T I O N S = \r B 0000500 E G I N \r O P E N S a f f r o 0000520 n T r e e D e c l s D e f , S 0000540 a f f r o n G e n e r i c D e f 0000560 , S a f f r o n A T D e f ; \r 0000600 \r - - M o d u l e P i m p l P 0000620 r o d \r \r M o d u l e P i m p l 0000640 P r o d D a t a : \t T Y P E = 0000660 R E F M o d u l e P i m p l 0000700 P r o d D a t a B o d y ; \r M o 0000720 d u l e P i m p l P r o d D a t 0000740 a B o d y : \t T Y P E = R E 0000760 C O R D [ \r D i r e c t o r y : 0001000 D i r e c t o r y N o d e , 0001020 I d e n t L i s t : I d e n t 0001040 L i s t N o d e , C e d a r : 0001060 C e d a r N o d e , P r o g 0001100 H e a d : P r o g H e a d N o 0001120 d e , C h e c k e d : C h e 0001140 c k e d N o d e , B l o c k : 0001160 B l o c k N o d e ] ; \r \r M o 0001200 d u l e P i m p l P r o d P r o 0001220 c s : \t M o d u l e P N o d e P 0001240 r o c s ; \r \r B u i l d M o d u 0001260 l e P i m p l P r o d N o d e : 0001300 \t P R O C [ p o s i t i o n : 0001320 I N T , l e n g t h : I N T 0001340 , D i r e c t o r y : D i r 0001360 e c t o r y N o d e , I d e n 0001400 t L i s t : I d e n t L i s t 0001420 N o d e , C e d a r : C e d 0001440 a r N o d e , P r o g H e a d 0001460 : P r o g H e a d N o d e , 0001500 C h e c k e d : C h e c k e d 0001520 N o d e , B l o c k : B l o 0001540 c k N o d e ] \r \t R E T U R N S 0001560 [ M o d u l e P N o d e ] ; \r \r 0001600 M o d u l e P i m p l P r o d M 0001620 a k e E n v i r o n m e n t : \t 0001640 M a k e E n v i r o n m e n t P 0001660 r o c T y p e ; \r M o d u l e P 0001700 i m p l P r o d E x p l o r e : 0001720 \t E x p l o r e P r o c T y p e 0001740 ; \r \r - - M o d u l e P d e f 0001760 P r o d \r \r M o d u l e P d e f 0002000 P r o d D a t a : \t T Y P E = 0002020 R E F M o d u l e P d e f P 0002040 r o d D a t a B o d y ; \r M o d 0002060 u l e P d e f P r o d D a t a B 0002100 o d y : \t T Y P E = R E C O 0002120 R D [ \r D i r e c t o r y : D 0002140 i r e c t o r y N o d e , I d 0002160 e n t L i s t : I d e n t L i 0002200 s t N o d e , C e d a r : C 0002220 e d a r N o d e , D e f H e a 0002240 d : D e f H e a d N o d e , 0002260 D e f B o d y : D e f B o d y 0002300 N o d e ] ; \r \r M o d u l e P d 0002320 e f P r o d P r o c s : \t M o d 0002340 u l e P N o d e P r o c s ; \r \r 0002360 B u i l d M o d u l e P d e f P 0002400 r o d N o d e : \t P R O C [ p o 0002420 s i t i o n : I N T , l e n 0002440 g t h : I N T , D i r e c t 0002460 o r y : D i r e c t o r y N o 0002500 d e , I d e n t L i s t : I 0002520 d e n t L i s t N o d e , C e 0002540 d a r : C e d a r N o d e , 0002560 D e f H e a d : D e f H e a d 0002600 N o d e , D e f B o d y : D 0002620 e f B o d y N o d e ] \r \t R E T 0002640 U R N S [ M o d u l e P N o d e 0002660 ] ; \r \r M o d u l e P d e f P r 0002700 o d M a k e E n v i r o n m e n 0002720 t : \t M a k e E n v i r o n m e 0002740 n t P r o c T y p e ; \r M o d u 0002760 l e P d e f P r o d E x p l o r 0003000 e : \t E x p l o r e P r o c T y 0003020 p e ; \r \r - - D i r e c t o r 0003040 y e m p t y P r o d \r \r D i r e 0003060 c t o r y e m p t y P r o d D a 0003100 t a : \t T Y P E = R E F D 0003120 i r e c t o r y e m p t y P r o 0003140 d D a t a B o d y ; \r D i r e c 0003160 t o r y e m p t y P r o d D a t 0003200 a B o d y : \t T Y P E = R E 0003220 C O R D [ \r ] ; \r \r D i r e c t 0003240 o r y e m p t y P r o d P r o c 0003260 s : \t D i r e c t o r y N o d e 0003300 P r o c s ; \r \r B u i l d D i r 0003320 e c t o r y e m p t y P r o d N 0003340 o d e : \t P R O C [ p o s i t i 0003360 o n : I N T , l e n g t h : 0003400 I N T ] \r \t R E T U R N S [ D 0003420 i r e c t o r y N o d e ] ; \r \r 0003440 D i r e c t o r y e m p t y P r 0003460 o d P r o c e s s D i r e c t o 0003500 r y C l a u s e : \t P r o c e s 0003520 s D i r e c t o r y C l a u s e 0003540 P r o c T y p e ; \r D i r e c t 0003560 o r y e m p t y P r o d E x p l 0003600 o r e D i r e c t o r y C l a u 0003620 s e : \t E x p l o r e D i r e c 0003640 t o r y C l a u s e P r o c T y 0003660 p e ; \r \r - - D i r e c t o r 0003700 y m o r e P r o d \r \r D i r e c 0003720 t o r y m o r e P r o d D a t a 0003740 : \t T Y P E = R E F D i r 0003760 e c t o r y m o r e P r o d D a 0004000 t a B o d y ; \r D i r e c t o r 0004020 y m o r e P r o d D a t a B o d 0004040 y : \t T Y P E = R E C O R D 0004060 [ \r D i r e c t o r y : D i r 0004100 e c t o r y N o d e , I n c l 0004120 u d e I t e m : I n c l u d e 0004140 I t e m N o d e ] ; \r \r D i r e 0004160 c t o r y m o r e P r o d P r o 0004200 c s : \t D i r e c t o r y N o d 0004220 e P r o c s ; \r \r B u i l d D i 0004240 r e c t o r y m o r e P r o d N 0004260 o d e : \t P R O C [ p o s i t i 0004300 o n : I N T , l e n g t h : 0004320 I N T , D i r e c t o r y : 0004340 D i r e c t o r y N o d e , 0004360 I n c l u d e I t e m : I n c 0004400 l u d e I t e m N o d e ] \r \t R 0004420 E T U R N S [ D i r e c t o r y 0004440 N o d e ] ; \r \r D i r e c t o r 0004460 y m o r e P r o d P r o c e s s 0004500 D i r e c t o r y C l a u s e : 0004520 \t P r o c e s s D i r e c t o r 0004540 y C l a u s e P r o c T y p e ; 0004560 \r D i r e c t o r y m o r e P r 0004600 o d E x p l o r e D i r e c t o 0004620 r y C l a u s e : \t E x p l o r 0004640 e D i r e c t o r y C l a u s e 0004660 P r o c T y p e ; \r \r - - I n 0004700 c l u d e I t e m f r o m p P r 0004720 o d \r \r I n c l u d e I t e m f 0004740 r o m p P r o d D a t a : \t T Y 0004760 P E = R E F I n c l u d e 0005000 I t e m f r o m p P r o d D a t 0005020 a B o d y ; \r I n c l u d e I t 0005040 e m f r o m p P r o d D a t a B 0005060 o d y : \t T Y P E = R E C O 0005100 R D [ \r I d : I d N o d e , 0005120 S t r i n g : S t r i n g N o 0005140 d e , U s i n g : U s i n g 0005160 N o d e ] ; \r \r I n c l u d e I 0005200 t e m f r o m p P r o d P r o c 0005220 s : \t I n c l u d e I t e m N o 0005240 d e P r o c s ; \r \r B u i l d I 0005260 n c l u d e I t e m f r o m p P 0005300 r o d N o d e : \t P R O C [ p o 0005320 s i t i o n : I N T , l e n 0005340 g t h : I N T , I d : I d 0005360 N o d e , S t r i n g : S t 0005400 r i n g N o d e , U s i n g : 0005420 U s i n g N o d e ] \r \t R E T 0005440 U R N S [ I n c l u d e I t e m 0005460 N o d e ] ; \r \r I n c l u d e I 0005500 t e m f r o m p P r o d P r o c 0005520 e s s D i r e c t o r y C l a u 0005540 s e : \t P r o c e s s D i r e c 0005560 t o r y C l a u s e P r o c T y 0005600 p e ; \r I n c l u d e I t e m f 0005620 r o m p P r o d E x p l o r e D 0005640 i r e c t o r y C l a u s e : \t 0005660 E x p l o r e D i r e c t o r y 0005700 C l a u s e P r o c T y p e ; \r 0005720 \r - - I n c l u d e I t e m t 0005740 y p e P r o d \r \r I n c l u d e 0005760 I t e m t y p e P r o d D a t a 0006000 : \t T Y P E = R E F I n c 0006020 l u d e I t e m t y p e P r o d 0006040 D a t a B o d y ; \r I n c l u d 0006060 e I t e m t y p e P r o d D a t 0006100 a B o d y : \t T Y P E = R E 0006120 C O R D [ \r I d : I d N o d e 0006140 , U s i n g : U s i n g N o 0006160 d e ] ; \r \r I n c l u d e I t e 0006200 m t y p e P r o d P r o c s : \t 0006220 I n c l u d e I t e m N o d e P 0006240 r o c s ; \r \r B u i l d I n c l 0006260 u d e I t e m t y p e P r o d N 0006300 o d e : \t P R O C [ p o s i t i 0006320 o n : I N T , l e n g t h : 0006340 I N T , I d : I d N o d e 0006360 , U s i n g : U s i n g N o 0006400 d e ] \r \t R E T U R N S [ I n c 0006420 l u d e I t e m N o d e ] ; \r \r 0006440 I n c l u d e I t e m t y p e P 0006460 r o d P r o c e s s D i r e c t 0006500 o r y C l a u s e : \t P r o c e 0006520 s s D i r e c t o r y C l a u s 0006540 e P r o c T y p e ; \r I n c l u 0006560 d e I t e m t y p e P r o d E x 0006600 p l o r e D i r e c t o r y C l 0006620 a u s e : \t E x p l o r e D i r 0006640 e c t o r y C l a u s e P r o c 0006660 T y p e ; \r \r - - I n c l u d 0006700 e I t e m p l a i n P r o d \r \r 0006720 I n c l u d e I t e m p l a i n 0006740 P r o d D a t a : \t T Y P E = 0006760 R E F I n c l u d e I t e m 0007000 p l a i n P r o d D a t a B o d 0007020 y ; \r I n c l u d e I t e m p l 0007040 a i n P r o d D a t a B o d y : 0007060 \t T Y P E = R E C O R D [ \r 0007100 I d : I d N o d e , U s i n 0007120 g : U s i n g N o d e ] ; \r \r 0007140 I n c l u d e I t e m p l a i n 0007160 P r o d P r o c s : \t I n c l u 0007200 d e I t e m N o d e P r o c s ; 0007220 \r \r B u i l d I n c l u d e I t 0007240 e m p l a i n P r o d N o d e : 0007260 \t P R O C [ p o s i t i o n : 0007300 I N T , l e n g t h : I N T 0007320 , I d : I d N o d e , U s 0007340 i n g : U s i n g N o d e ] \r 0007360 \t R E T U R N S [ I n c l u d e 0007400 I t e m N o d e ] ; \r \r I n c l 0007420 u d e I t e m p l a i n P r o d 0007440 P r o c e s s D i r e c t o r y 0007460 C l a u s e : \t P r o c e s s D 0007500 i r e c t o r y C l a u s e P r 0007520 o c T y p e ; \r I n c l u d e I 0007540 t e m p l a i n P r o d E x p l 0007560 o r e D i r e c t o r y C l a u 0007600 s e : \t E x p l o r e D i r e c 0007620 t o r y C l a u s e P r o c T y 0007640 p e ; \r \r - - I n c l u d e I 0007660 t e m t y p e a n d i d P r o d 0007700 \r \r I n c l u d e I t e m t y p 0007720 e a n d i d P r o d D a t a : \t 0007740 T Y P E = R E F I n c l u 0007760 d e I t e m t y p e a n d i d P 0010000 r o d D a t a B o d y ; \r I n c 0010020 l u d e I t e m t y p e a n d i 0010040 d P r o d D a t a B o d y : \t T 0010060 Y P E = R E C O R D [ \r I d 0010100 l o c a l : I d N o d e , I 0010120 d g l o b a l : I d N o d e , 0010140 U s i n g : U s i n g N o d 0010160 e ] ; \r \r I n c l u d e I t e m 0010200 t y p e a n d i d P r o d P r o 0010220 c s : \t I n c l u d e I t e m N 0010240 o d e P r o c s ; \r \r B u i l d 0010260 I n c l u d e I t e m t y p e a 0010300 n d i d P r o d N o d e : \t P R 0010320 O C [ p o s i t i o n : I N T 0010340 , l e n g t h : I N T , I 0010360 d l o c a l : I d N o d e , 0010400 I d g l o b a l : I d N o d e 0010420 , U s i n g : U s i n g N o 0010440 d e ] \r \t R E T U R N S [ I n c 0010460 l u d e I t e m N o d e ] ; \r \r 0010500 I n c l u d e I t e m t y p e a 0010520 n d i d P r o d P r o c e s s D 0010540 i r e c t o r y C l a u s e : \t 0010560 P r o c e s s D i r e c t o r y 0010600 C l a u s e P r o c T y p e ; \r 0010620 I n c l u d e I t e m t y p e a 0010640 n d i d P r o d E x p l o r e D 0010660 i r e c t o r y C l a u s e : \t 0010700 E x p l o r e D i r e c t o r y 0010720 C l a u s e P r o c T y p e ; \r 0010740 \r - - U s i n g r e s t r i c 0010760 t e d P r o d \r \r U s i n g r e 0011000 s t r i c t e d P r o d D a t a 0011020 : \t T Y P E = R E F U s i 0011040 n g r e s t r i c t e d P r o d 0011060 D a t a B o d y ; \r U s i n g r 0011100 e s t r i c t e d P r o d D a t 0011120 a B o d y : \t T Y P E = R E 0011140 C O R D [ \r I d L i s t : I d 0011160 L i s t N o d e ] ; \r \r U s i n 0011200 g r e s t r i c t e d P r o d P 0011220 r o c s : \t U s i n g N o d e P 0011240 r o c s ; \r \r B u i l d U s i n 0011260 g r e s t r i c t e d P r o d N 0011300 o d e : \t P R O C [ p o s i t i 0011320 o n : I N T , l e n g t h : 0011340 I N T , I d L i s t : I d 0011360 L i s t N o d e ] \r \t R E T U R 0011400 N S [ U s i n g N o d e ] ; \r \r 0011420 U s i n g r e s t r i c t e d P 0011440 r o d M a k e I n t e r f a c e 0011460 T G N : \t M a k e I n t e r f a 0011500 c e T G N P r o c T y p e ; \r \r 0011520 - - U s i n g n o t h i n g P 0011540 r o d \r \r U s i n g n o t h i n 0011560 g P r o d D a t a : \t T Y P E 0011600 = R E F U s i n g n o t h i 0011620 n g P r o d D a t a B o d y ; \r 0011640 U s i n g n o t h i n g P r o d 0011660 D a t a B o d y : \t T Y P E = 0011700 R E C O R D [ \r ] ; \r \r U s i 0011720 n g n o t h i n g P r o d P r o 0011740 c s : \t U s i n g N o d e P r o 0011760 c s ; \r \r B u i l d U s i n g n 0012000 o t h i n g P r o d N o d e : \t 0012020 P R O C [ p o s i t i o n : I 0012040 N T , l e n g t h : I N T ] 0012060 \r \t R E T U R N S [ U s i n g N 0012100 o d e ] ; \r \r U s i n g n o t h 0012120 i n g P r o d M a k e I n t e r 0012140 f a c e T G N : \t M a k e I n t 0012160 e r f a c e T G N P r o c T y p 0012200 e ; \r \r - - U s i n g u n r e 0012220 s t r i c t e d P r o d \r \r U s 0012240 i n g u n r e s t r i c t e d P 0012260 r o d D a t a : \t T Y P E = 0012300 R E F U s i n g u n r e s t r 0012320 i c t e d P r o d D a t a B o d 0012340 y ; \r U s i n g u n r e s t r i 0012360 c t e d P r o d D a t a B o d y 0012400 : \t T Y P E = R E C O R D [ 0012420 \r ] ; \r \r U s i n g u n r e s t 0012440 r i c t e d P r o d P r o c s : 0012460 \t U s i n g N o d e P r o c s ; 0012500 \r \r B u i l d U s i n g u n r e 0012520 s t r i c t e d P r o d N o d e 0012540 : \t P R O C [ p o s i t i o n : 0012560 I N T , l e n g t h : I N 0012600 T ] \r \t R E T U R N S [ U s i n 0012620 g N o d e ] ; \r \r U s i n g u n 0012640 r e s t r i c t e d P r o d M a 0012660 k e I n t e r f a c e T G N : \t 0012700 M a k e I n t e r f a c e T G N 0012720 P r o c T y p e ; \r \r - - D e 0012740 f B o d y P r o d \r \r D e f B o 0012760 d y P r o d D a t a : \t T Y P E 0013000 = R E F D e f B o d y P r 0013020 o d D a t a B o d y ; \r D e f B 0013040 o d y P r o d D a t a B o d y : 0013060 \t T Y P E = R E C O R D [ \r 0013100 B i n d L i s t : B i n d L i 0013120 s t N o d e , D e c L i s t : 0013140 D e c L i s t N o d e ] ; \r \r 0013160 D e f B o d y P r o d P r o c s 0013200 : \t D e f B o d y N o d e P r o 0013220 c s ; \r \r B u i l d D e f B o d 0013240 y P r o d N o d e : \t P R O C [ 0013260 p o s i t i o n : I N T , l 0013300 e n g t h : I N T , B i n d 0013320 L i s t : B i n d L i s t N o 0013340 d e , D e c L i s t : D e c 0013360 L i s t N o d e ] \r \t R E T U R 0013400 N S [ D e f B o d y N o d e ] ; 0013420 \r \r D e f B o d y P r o d M a k 0013440 e C o n t e x t T r e e : \t M a 0013460 k e C o n t e x t T r e e P r o 0013500 c T y p e ; \r D e f B o d y P r 0013520 o d M a k e C o n t e x t T r e 0013540 e 1 : \t M a k e C o n t e x t T 0013560 r e e 1 P r o c T y p e ; \r \r - 0013600 - D e f H e a d P r o d \r \r D 0013620 e f H e a d P r o d D a t a : \t 0013640 T Y P E = R E F D e f H e 0013660 a d P r o d D a t a B o d y ; \r 0013700 D e f H e a d P r o d D a t a B 0013720 o d y : \t T Y P E = R E C O 0013740 R D [ \r L o c k s : L o c k s 0013760 N o d e , M o d u l e L i s t 0014000 : M o d u l e L i s t N o d e 0014020 , S h a r e s : S h a r e s 0014040 N o d e , A c c e s s : A c 0014060 c e s s N o d e ] ; \r \r D e f H 0014100 e a d P r o d P r o c s : \t D e 0014120 f H e a d N o d e P r o c s ; \r 0014140 \r B u i l d D e f H e a d P r o 0014160 d N o d e : \t P R O C [ p o s i 0014200 t i o n : I N T , l e n g t 0014220 h : I N T , L o c k s : L 0014240 o c k s N o d e , M o d u l e 0014260 L i s t : M o d u l e L i s t 0014300 N o d e , S h a r e s : S h 0014320 a r e s N o d e , A c c e s s 0014340 : A c c e s s N o d e ] \r \t R 0014360 E T U R N S [ D e f H e a d N o 0014400 d e ] ; \r \r D e f H e a d P r o 0014420 d f o o : \t f o o P r o c T y p 0014440 e ; \r \r - - C e d a r y e s P 0014460 r o d \r \r C e d a r y e s P r o 0014500 d D a t a : \t T Y P E = R E 0014520 F C e d a r y e s P r o d D a 0014540 t a B o d y ; \r C e d a r y e s 0014560 P r o d D a t a B o d y : \t T Y 0014600 P E = R E C O R D [ \r ] ; \r 0014620 \r C e d a r y e s P r o d P r o 0014640 c s : \t C e d a r N o d e P r o 0014660 c s ; \r \r B u i l d C e d a r y 0014700 e s P r o d N o d e : \t P R O C 0014720 [ p o s i t i o n : I N T , 0014740 l e n g t h : I N T ] \r \t R E 0014760 T U R N S [ C e d a r N o d e ] 0015000 ; \r \r C e d a r y e s P r o d f 0015020 o o : \t f o o P r o c T y p e ; 0015040 \r \r - - C e d a r n o P r o d 0015060 \r \r C e d a r n o P r o d D a t 0015100 a : \t T Y P E = R E F C e 0015120 d a r n o P r o d D a t a B o d 0015140 y ; \r C e d a r n o P r o d D a 0015160 t a B o d y : \t T Y P E = R 0015200 E C O R D [ \r ] ; \r \r C e d a r 0015220 n o P r o d P r o c s : \t C e d 0015240 a r N o d e P r o c s ; \r \r B u 0015260 i l d C e d a r n o P r o d N o 0015300 d e : \t P R O C [ p o s i t i o 0015320 n : I N T , l e n g t h : 0015340 I N T ] \r \t R E T U R N S [ C e 0015360 d a r N o d e ] ; \r \r C e d a r 0015400 n o P r o d f o o : \t f o o P r 0015420 o c T y p e ; \r \r - - P r o g 0015440 H e a d P r o d \r \r P r o g H e 0015460 a d P r o d D a t a : \t T Y P E 0015500 = R E F P r o g H e a d P 0015520 r o d D a t a B o d y ; \r P r o 0015540 g H e a d P r o d D a t a B o d 0015560 y : \t T Y P E = R E C O R D 0015600 [ \r S a f e : S a f e N o d e 0015620 , C l a s s : C l a s s N o 0015640 d e , A r g u m e n t s : A 0015660 r g u m e n t s N o d e , L o 0015700 c k s : L o c k s N o d e , 0015720 I n t e r f a c e : I n t e r 0015740 f a c e N o d e , A c c e s s 0015760 : A c c e s s N o d e ] ; \r \r 0016000 P r o g H e a d P r o d P r o c 0016020 s : \t P r o g H e a d N o d e P 0016040 r o c s ; \r \r B u i l d P r o g 0016060 H e a d P r o d N o d e : \t P R 0016100 O C [ p o s i t i o n : I N T 0016120 , l e n g t h : I N T , S 0016140 a f e : S a f e N o d e , C 0016160 l a s s : C l a s s N o d e , 0016200 A r g u m e n t s : A r g u 0016220 m e n t s N o d e , L o c k s 0016240 : L o c k s N o d e , I n t 0016260 e r f a c e : I n t e r f a c 0016300 e N o d e , A c c e s s : A 0016320 c c e s s N o d e ] \r \t R E T U 0016340 R N S [ P r o g H e a d N o d e 0016360 ] ; \r \r P r o g H e a d P r o d 0016400 f o o : \t f o o P r o c T y p e 0016420 ; \r \r - - C l a s s p r o g r 0016440 a m P r o d \r \r C l a s s p r o 0016460 g r a m P r o d D a t a : \t T Y 0016500 P E = R E F C l a s s p r 0016520 o g r a m P r o d D a t a B o d 0016540 y ; \r C l a s s p r o g r a m P 0016560 r o d D a t a B o d y : \t T Y P 0016600 E = R E C O R D [ \r ] ; \r \r 0016620 C l a s s p r o g r a m P r o d 0016640 P r o c s : \t C l a s s N o d e 0016660 P r o c s ; \r \r B u i l d C l a 0016700 s s p r o g r a m P r o d N o d 0016720 e : \t P R O C [ p o s i t i o n 0016740 : I N T , l e n g t h : I 0016760 N T ] \r \t R E T U R N S [ C l a 0017000 s s N o d e ] ; \r \r C l a s s p 0017020 r o g r a m P r o d f o o : \t f 0017040 o o P r o c T y p e ; \r \r - - 0017060 C l a s s m o n i t o r P r o d 0017100 \r \r C l a s s m o n i t o r P r 0017120 o d D a t a : \t T Y P E = R 0017140 E F C l a s s m o n i t o r P 0017160 r o d D a t a B o d y ; \r C l a 0017200 s s m o n i t o r P r o d D a t 0017220 a B o d y : \t T Y P E = R E 0017240 C O R D [ \r ] ; \r \r C l a s s m 0017260 o n i t o r P r o d P r o c s : 0017300 \t C l a s s N o d e P r o c s ; 0017320 \r \r B u i l d C l a s s m o n i 0017340 t o r P r o d N o d e : \t P R O 0017360 C [ p o s i t i o n : I N T , 0017400 l e n g t h : I N T ] \r \t R 0017420 E T U R N S [ C l a s s N o d e 0017440 ] ; \r \r C l a s s m o n i t o r 0017460 P r o d f o o : \t f o o P r o c 0017500 T y p e ; \r \r - - I n t e r f 0017520 a c e P r o d \r \r I n t e r f a 0017540 c e P r o d D a t a : \t T Y P E 0017560 = R E F I n t e r f a c e 0017600 P r o d D a t a B o d y ; \r I n 0017620 t e r f a c e P r o d D a t a B 0017640 o d y : \t T Y P E = R E C O 0017660 R D [ \r M o d u l e L i s t i m 0017700 p o r t s : M o d u l e L i s 0017720 t N o d e , M o d u l e L i s 0017740 t e x p o r t s : M o d u l e 0017760 L i s t N o d e , S h a r e s 0020000 : S h a r e s N o d e ] ; \r \r 0020020 I n t e r f a c e P r o d P r o 0020040 c s : \t I n t e r f a c e N o d 0020060 e P r o c s ; \r \r B u i l d I n 0020100 t e r f a c e P r o d N o d e : 0020120 \t P R O C [ p o s i t i o n : 0020140 I N T , l e n g t h : I N T 0020160 , M o d u l e L i s t i m p o 0020200 r t s : M o d u l e L i s t N 0020220 o d e , M o d u l e L i s t e 0020240 x p o r t s : M o d u l e L i 0020260 s t N o d e , S h a r e s : 0020300 S h a r e s N o d e ] \r \t R E T 0020320 U R N S [ I n t e r f a c e N o 0020340 d e ] ; \r \r I n t e r f a c e P 0020360 r o d f o o : \t f o o P r o c T 0020400 y p e ; \r \r - - M o d u l e L 0020420 i s t e m p t y P r o d \r \r M o 0020440 d u l e L i s t e m p t y P r o 0020460 d D a t a : \t T Y P E = R E 0020500 F M o d u l e L i s t e m p t 0020520 y P r o d D a t a B o d y ; \r M 0020540 o d u l e L i s t e m p t y P r 0020560 o d D a t a B o d y : \t T Y P E 0020600 = R E C O R D [ \r ] ; \r \r M 0020620 o d u l e L i s t e m p t y P r 0020640 o d P r o c s : \t M o d u l e L 0020660 i s t N o d e P r o c s ; \r \r B 0020700 u i l d M o d u l e L i s t e m 0020720 p t y P r o d N o d e : \t P R O 0020740 C [ p o s i t i o n : I N T , 0020760 l e n g t h : I N T ] \r \t R 0021000 E T U R N S [ M o d u l e L i s 0021020 t N o d e ] ; \r \r M o d u l e L 0021040 i s t e m p t y P r o d f o o : 0021060 \t f o o P r o c T y p e ; \r \r - 0021100 - M o d u l e L i s t m o r e 0021120 P r o d \r \r M o d u l e L i s t 0021140 m o r e P r o d D a t a : \t T Y 0021160 P E = R E F M o d u l e L 0021200 i s t m o r e P r o d D a t a B 0021220 o d y ; \r M o d u l e L i s t m 0021240 o r e P r o d D a t a B o d y : 0021260 \t T Y P E = R E C O R D [ \r 0021300 M o d u l e L i s t : M o d u 0021320 l e L i s t N o d e , M o d u 0021340 l e I t e m : M o d u l e I t 0021360 e m N o d e ] ; \r \r M o d u l e 0021400 L i s t m o r e P r o d P r o c 0021420 s : \t M o d u l e L i s t N o d 0021440 e P r o c s ; \r \r B u i l d M o 0021460 d u l e L i s t m o r e P r o d 0021500 N o d e : \t P R O C [ p o s i t 0021520 i o n : I N T , l e n g t h 0021540 : I N T , M o d u l e L i s 0021560 t : M o d u l e L i s t N o d 0021600 e , M o d u l e I t e m : M 0021620 o d u l e I t e m N o d e ] \r \t 0021640 R E T U R N S [ M o d u l e L i 0021660 s t N o d e ] ; \r \r M o d u l e 0021700 L i s t m o r e P r o d f o o : 0021720 \t f o o P r o c T y p e ; \r \r - 0021740 - M o d u l e I t e m o n e P 0021760 r o d \r \r M o d u l e I t e m o 0022000 n e P r o d D a t a : \t T Y P E 0022020 = R E F M o d u l e I t e 0022040 m o n e P r o d D a t a B o d y 0022060 ; \r M o d u l e I t e m o n e P 0022100 r o d D a t a B o d y : \t T Y P 0022120 E = R E C O R D [ \r I d : 0022140 I d N o d e ] ; \r \r M o d u l e 0022160 I t e m o n e P r o d P r o c s 0022200 : \t M o d u l e I t e m N o d e 0022220 P r o c s ; \r \r B u i l d M o d 0022240 u l e I t e m o n e P r o d N o 0022260 d e : \t P R O C [ p o s i t i o 0022300 n : I N T , l e n g t h : 0022320 I N T , I d : I d N o d e ] 0022340 \r \t R E T U R N S [ M o d u l e 0022360 I t e m N o d e ] ; \r \r M o d u 0022400 l e I t e m o n e P r o d f o o 0022420 : \t f o o P r o c T y p e ; \r \r 0022440 - - M o d u l e I t e m t w o 0022460 P r o d \r \r M o d u l e I t e m 0022500 t w o P r o d D a t a : \t T Y P 0022520 E = R E F M o d u l e I t 0022540 e m t w o P r o d D a t a B o d 0022560 y ; \r M o d u l e I t e m t w o 0022600 P r o d D a t a B o d y : \t T Y 0022620 P E = R E C O R D [ \r I d r 0022640 e c o r d : I d N o d e , I 0022660 d t y p e : I d N o d e ] ; \r 0022700 \r M o d u l e I t e m t w o P r 0022720 o d P r o c s : \t M o d u l e I 0022740 t e m N o d e P r o c s ; \r \r B 0022760 u i l d M o d u l e I t e m t w 0023000 o P r o d N o d e : \t P R O C [ 0023020 p o s i t i o n : I N T , l 0023040 e n g t h : I N T , I d r e 0023060 c o r d : I d N o d e , I d 0023100 t y p e : I d N o d e ] \r \t R 0023120 E T U R N S [ M o d u l e I t e 0023140 m N o d e ] ; \r \r M o d u l e I 0023160 t e m t w o P r o d f o o : \t f 0023200 o o P r o c T y p e ; \r \r - - 0023220 S h a r e s a b s e n t P r o d 0023240 \r \r S h a r e s a b s e n t P r 0023260 o d D a t a : \t T Y P E = R 0023300 E F S h a r e s a b s e n t P 0023320 r o d D a t a B o d y ; \r S h a 0023340 r e s a b s e n t P r o d D a t 0023360 a B o d y : \t T Y P E = R E 0023400 C O R D [ \r ] ; \r \r S h a r e s 0023420 a b s e n t P r o d P r o c s : 0023440 \t S h a r e s N o d e P r o c s 0023460 ; \r \r B u i l d S h a r e s a b 0023500 s e n t P r o d N o d e : \t P R 0023520 O C [ p o s i t i o n : I N T 0023540 , l e n g t h : I N T ] \r \t 0023560 R E T U R N S [ S h a r e s N o 0023600 d e ] ; \r \r S h a r e s a b s e 0023620 n t P r o d f o o : \t f o o P r 0023640 o c T y p e ; \r \r - - S h a r 0023660 e s p r e s e n t P r o d \r \r S 0023700 h a r e s p r e s e n t P r o d 0023720 D a t a : \t T Y P E = R E F 0023740 S h a r e s p r e s e n t P r 0023760 o d D a t a B o d y ; \r S h a r 0024000 e s p r e s e n t P r o d D a t 0024020 a B o d y : \t T Y P E = R E 0024040 C O R D [ \r I d L i s t : I d 0024060 L i s t N o d e ] ; \r \r S h a r 0024100 e s p r e s e n t P r o d P r o 0024120 c s : \t S h a r e s N o d e P r 0024140 o c s ; \r \r B u i l d S h a r e 0024160 s p r e s e n t P r o d N o d e 0024200 : \t P R O C [ p o s i t i o n : 0024220 I N T , l e n g t h : I N 0024240 T , I d L i s t : I d L i s 0024260 t N o d e ] \r \t R E T U R N S [ 0024300 S h a r e s N o d e ] ; \r \r S h 0024320 a r e s p r e s e n t P r o d f 0024340 o o : \t f o o P r o c T y p e ; 0024360 \r \r - - L o c k s a b s e n t 0024400 P r o d \r \r L o c k s a b s e n 0024420 t P r o d D a t a : \t T Y P E 0024440 = R E F L o c k s a b s e n 0024460 t P r o d D a t a B o d y ; \r L 0024500 o c k s a b s e n t P r o d D a 0024520 t a B o d y : \t T Y P E = R 0024540 E C O R D [ \r ] ; \r \r L o c k s 0024560 a b s e n t P r o d P r o c s : 0024600 \t L o c k s N o d e P r o c s ; 0024620 \r \r B u i l d L o c k s a b s e 0024640 n t P r o d N o d e : \t P R O C 0024660 [ p o s i t i o n : I N T , 0024700 l e n g t h : I N T ] \r \t R E 0024720 T U R N S [ L o c k s N o d e ] 0024740 ; \r \r L o c k s a b s e n t P r 0024760 o d f o o : \t f o o P r o c T y 0025000 p e ; \r \r - - L o c k s p r e 0025020 s e n t P r o d \r \r L o c k s p 0025040 r e s e n t P r o d D a t a : \t 0025060 T Y P E = R E F L o c k s 0025100 p r e s e n t P r o d D a t a B 0025120 o d y ; \r L o c k s p r e s e n 0025140 t P r o d D a t a B o d y : \t T 0025160 Y P E = R E C O R D [ \r E x 0025200 p : E x p N o d e , L a m b 0025220 d a : L a m b d a N o d e ] ; 0025240 \r \r L o c k s p r e s e n t P r 0025260 o d P r o c s : \t L o c k s N o 0025300 d e P r o c s ; \r \r B u i l d L 0025320 o c k s p r e s e n t P r o d N 0025340 o d e : \t P R O C [ p o s i t i 0025360 o n : I N T , l e n g t h : 0025400 I N T , E x p : E x p N o 0025420 d e , L a m b d a : L a m b 0025440 d a N o d e ] \r \t R E T U R N S 0025460 [ L o c k s N o d e ] ; \r \r L o 0025500 c k s p r e s e n t P r o d f o 0025520 o : \t f o o P r o c T y p e ; \r 0025540 \r - - L a m b d a a b s e n t 0025560 P r o d \r \r L a m b d a a b s e 0025600 n t P r o d D a t a : \t T Y P E 0025620 = R E F L a m b d a a b s 0025640 e n t P r o d D a t a B o d y ; 0025660 \r L a m b d a a b s e n t P r o 0025700 d D a t a B o d y : \t T Y P E 0025720 = R E C O R D [ \r ] ; \r \r L a 0025740 m b d a a b s e n t P r o d P r 0025760 o c s : \t L a m b d a N o d e P 0026000 r o c s ; \r \r B u i l d L a m b 0026020 d a a b s e n t P r o d N o d e 0026040 : \t P R O C [ p o s i t i o n : 0026060 I N T , l e n g t h : I N 0026100 T ] \r \t R E T U R N S [ L a m b 0026120 d a N o d e ] ; \r \r L a m b d a 0026140 a b s e n t P r o d f o o : \t f 0026160 o o P r o c T y p e ; \r \r - - 0026200 L a m b d a p r e s e n t P r o 0026220 d \r \r L a m b d a p r e s e n t 0026240 P r o d D a t a : \t T Y P E = 0026260 R E F L a m b d a p r e s e 0026300 n t P r o d D a t a B o d y ; \r 0026320 L a m b d a p r e s e n t P r o 0026340 d D a t a B o d y : \t T Y P E 0026360 = R E C O R D [ \r I d e n t : 0026400 I d e n t N o d e , T y p e 0026420 E x p : T y p e E x p N o d e 0026440 ] ; \r \r L a m b d a p r e s e n 0026460 t P r o d P r o c s : \t L a m b 0026500 d a N o d e P r o c s ; \r \r B u 0026520 i l d L a m b d a p r e s e n t 0026540 P r o d N o d e : \t P R O C [ p 0026560 o s i t i o n : I N T , l e 0026600 n g t h : I N T , I d e n t 0026620 : I d e n t N o d e , T y p 0026640 e E x p : T y p e E x p N o d 0026660 e ] \r \t R E T U R N S [ L a m b 0026700 d a N o d e ] ; \r \r L a m b d a 0026720 p r e s e n t P r o d f o o : \t 0026740 f o o P r o c T y p e ; \r E N D 0026760 . . \r 0026763