$ od -c -N 50000 [Indigo]<Chipmonk>XPLAmaker>PLAmaker-sources.dm!2 0000000 377 \0 \0 P L A M a k e r I m p l . 0000020 m e s a \0 373 234 266 263 020 \0 \0 376 001 \0 334 0000040 300 - - P l a M a k e r I m p l 0000060 . m e s a \r - - a p r o g r 0000100 a m t o r u n w i t h i n 0000120 C h i p m o n k \r \r - - w r 0000140 i t t e n b y E . M c C r 0000160 e i g h t , A u g u s t 7 , 0000200 1 9 8 1 3 : 5 2 P M \r - 0000220 - m o d i f i e d b y C a 0000240 r y K o r n f e l d , O c t 0000260 o b e r 1 , 1 9 8 1 1 0 0000300 : 1 1 A M \r - - m o d i f i 0000320 e d b y E . M c C r e i g 0000340 h t , A p r i l 2 5 , 1 9 0000360 8 4 1 0 : 3 6 : 2 8 a m P 0000400 S T \r \r D I R E C T O R Y \r 0000420 I O D e f s , \r I n l i n e 0000440 D 376 001 \0 016 8 e f s , \r p p d 0000460 d e f s , \r p p d e f s , \r 0000500 p p d d d e f s , \r S e 0000520 g m e n t D e f s , \r S t r 0000540 e a m D e f s , \r S t r i n 0000560 g D e f s , \r S y s t e m D 0000600 e f s , \r Z o n e A l l o c 0000620 D e f s ; \r \r P l a M a k e r I 0000640 m p l : P R O G R A M \r I 0000660 M P O R T S \r I n l i n 0000700 e D e f s , p p d d d e f s , 0000720 p p d d e f s , p p d e f s 0000740 , S e g m e n t D e f s , S 0000760 t r e a m D e f s , \r I 0001000 O D e f s , S t r i n g D e f 0001020 s , Z o n e A l l o c D e f s 0001040 = \r B 376 001 \0 G 275 E G I N 0001060 O P E N p p d d d e f s , p 0001100 p d d e f s , p p d e f s , 0001120 i o : I O D e f s ; \r \r \r 0001140 Z : U N C O U N T E D Z O N 0001160 E _ Z o n e A l l o c D e f 0001200 s . G e t A n X M Z o n e [ ] ; 0001220 \r \r P u n t : S I G N A L 0001240 = C O D E ; \r \r \r - - 0001260 A l l o f t h e p e r i p 0001300 h e r a l c e l l s m u s t 0001320 c o n t a i n a n a d j a 0001340 c e n t p a i r o f b i t 0001360 s , a n d \r - - a l l 0001400 o f t h e c e n t e r c e 0001420 l l s m u s t c o n t a i n 0001440 a r e c t a n g u 376 001 \0 260 \n 0001460 l a r q u a d o f b i t s 0001500 \r \r C e l l : T Y P E = 0001520 L O N G P O I N T E R T O 0001540 o b j e c t _ N I L ; \r 0001560 D C e l l : T Y P E = A 0001600 R R A Y B O O L E A N - - d 0001620 a t a i n c e l l - - O F 0001640 C e l l ; \r D C e l l P r 0001660 : T Y P E = A R R A Y B 0001700 O O L E A N - - d a t a i 0001720 n e v e n c e l l - - O 0001740 F D C e l l ; \r \r M A X I 0001760 D L E N G T H : C A R D I N A 0002000 L = 1 0 0 ; \r S t o p C 0002020 O D E : C H A R A C T E R = 0002040 ' * ; \r H A S H S I Z E 0002060 376 001 \0 227 305 : C A R D I N A L 0002100 = 2 9 ; - - M a y b e s 0002120 m a l l f o r b i g P L A 0002140 ' s \r \r n a m e I n d e x : 0002160 T Y P E = [ 0 . . M A X I 0002200 D L E N G T H ) ; \r h a s h 0002220 I n d e x : T Y P E = [ 0 0002240 . . H A S H S I Z E ) ; \r \r 0002260 I O L i n k : T Y P E = L 0002300 O N G P O I N T E R T O I 0002320 O ; \r P T e r m L i n k : 0002340 T Y P E = L O N G P O I N 0002360 T E R T O P r o d u c t T e 0002400 r m ; \r I O T e r m L i n k 0002420 : T Y P E = L O N G P O 0002440 I N T E R T O I O T e r m ; 0002460 \r \r S 376 001 \0 > 224 t a t e s : 0002500 T Y P E = { A b s e n t , 0002520 A s s e r t , I n v e r t } 0002540 ; \r T B S t a t e s : T Y 0002560 P E = { b o t t o m , t o 0002600 p } ; \r D i r e c t i o n : 0002620 T Y P E = { v e r t i c a 0002640 l , h o r i z o n t a l , d 0002660 i a g o n a l , u p , d o w 0002700 n , l e f t , r i g h t , \r 0002720 \t u p A n d L e f t , u p A n 0002740 d R i g h t , d o w n A n d L 0002760 e f t , d o w n A n d R i g h 0003000 t } ; \r \r I O : T Y P E 0003020 = R E C O R D [ \r \t n e x t : 0003040 I O L i n k , \r \t T o p B o t 0003060 t o m : T B S t a 376 001 \0 372 273 t 0003100 e s , \r \t p o s i t i o n : C 0003120 A R D I N A L , \r \t n a m e : 0003140 S E Q U E N C E l e n g t h : 0003160 C A R D I N A L O F C H A 0003200 R A C T E R ] ; \r \r P r o d 0003220 u c t T e r m : T Y P E = 0003240 R E C O R D [ \r \t n e x t : P 0003260 T e r m L i n k , \r \t o u t p u 0003300 t : I O T e r m L i n k , \r \t 0003320 i n p u t : I O T e r m L i n 0003340 k ] ; \r \r I O T e r m : T 0003360 Y P E = R E C O R D [ \r \t t 0003400 e r m : S E Q U E N C E t c 0003420 o u n t : C A R D I N A L O 0003440 F S t a t e s ] ; \r \r I O 0003460 L I S T : T Y P E = R E 376 0003500 001 \0 233 G C O R D [ n o d e : S 0003520 E Q U E N C E I O c o u n t : 0003540 C A R D I N A L O F I O L 0003560 i n k ] ; \r \r H a s h T a b 0003600 l e : T Y P E = A R R A Y 0003620 h a s h I n d e x O F I O 0003640 L i n k ; \r h a s h P T e r 0003660 m : A R R A Y h a s h I n d 0003700 e x O F P T e r m L i n k ; 0003720 \r \r i n p u t s , o u t p 0003740 u t s : H a s h T a b l e ; \r 0003760 i n C o u n t , o u t C o 0004000 u n t : C A R D I N A L ; \r 0004020 i n p u t L i s t , o u t p 0004040 u t L i s t : L O N G P O I 0004060 N T E R T O I O L I S T ; \r 0004100 S c 376 001 \0 2 242 o u n t : I 0004120 N T E G E R _ 0 ; \r P T 0004140 e r m C o u n t , b o i s t C 0004160 o u n t , m i n B o i s t S p 0004200 a c e : C A R D I N A L ; \r \r 0004220 \r - - i n : S t r e a m D 0004240 e f s . S t r e a m H a n d l e 0004260 ; \r l i n e : S T R I N G 0004300 _ [ M A X I D L E N G T H ] 0004320 ; \r l i n e I n : S T R I 0004340 N G _ [ M A X I D L E N G T 0004360 H ] ; \r e o l : B O O L E 0004400 A N ; \r \r P L A D e c o d e 0004420 r , P L A D a t a : D C e l 0004440 l P r ; \r P L A D e c o d e 0004460 r D a t a , P L A D e c o d e 0004500 r D a t a T o p , 376 001 \0 \n 1 P 0004520 L A D e c o d e r D a t a B o t 0004540 t o m , \r P L A D e c o 0004560 d e r T o p L e f t C o r n e r 0004600 , P L A D e c o d e r B o t t 0004620 o m L e f t C o r n e r , \r 0004640 P L A D e c o d e r L e f t 0004660 G n d , P L A D e c o d e r G 0004700 n d , P L A D e c o d e r D a 0004720 t a G n d , \r P L A D a 0004740 t a H G n d , P L A D a t a V 0004760 G n d , P L A D a t a G n d , 0005000 P L A D a t a T o p G n d , \r 0005020 P L A D a t a B o t t o 0005040 m G n d , P L A D a t a R i g 0005060 h t G n d , \r P L A D a 0005100 t a T o p R i g h t C o r n 376 001 0005120 \0 ^ r e r , P L A D a t a R i 0005140 g h t , P L A D a t a B o t t 0005160 o m R i g h t C o r n e r : C 0005200 e l l ; \r P L A D e c o d e 0005220 r L e f t , P L A D a t a T o 0005240 p , P L A D a t a B o t t o m 0005260 , P L A D e c o d e r T o p , 0005300 \r P L A D e c o d e r 0005320 B o t t o m , P L A O u t M u 0005340 x : D C e l l ; \r - - c 0005360 o l u m n : F A L S E = > 0005400 e v e n c o l u m n , T R U 0005420 E = > o d d c o l u m n \r 0005440 d e c o d e C e l l , d a 0005460 t a C e l l : C e l l ; - 0005500 - s a m p l e s f o r m e 0005520 a s u 376 001 \0 o 222 r e m e n t s \r 0005540 \r \r R d I D : P R O C E D 0005560 U R E [ i d : S T R I N G ] 0005600 = \r B E G I N \r 0005620 i n C o m m e n t : B O O L 0005640 E A N _ F A L S E ; \r 0005660 i : n a m e I n d e x _ 0005700 0 ; \r p r e v C h a r : 0005720 C H A R A C T E R _ ' ; 0005740 \r c h a r : C H A R A 0005760 C T E R _ i o . R e a d C h 0006000 a r [ ] ; \r W H I L E 0006020 c h a r = i o . S P O R 0006040 c h a r = i o . T A B O R 0006060 c h a r = i o . C R O R 0006100 c h a r = i o . L F D O 0006120 \r c 376 001 \0 1 375 h a r 0006140 _ i o . R e a d C h a r [ ] 0006160 ; \r E N D L O O P ; 0006200 \r W H I L E c h a r 0006220 # i o . C R D O \r 0006240 S E L E C T T R U E F R O 0006260 M \r i n C o m 0006300 m e n t A N D c h a r = 0006320 ' - A N D p r e v C h a r 0006340 = ' - = > \r 0006360 { c h a r _ ' ; i 0006400 n C o m m e n t _ F A L S E 0006420 } ; \r i n C o 0006440 m m e n t = > N U L L ; \r 0006460 c h a r = i 0006500 o . S P O R c h a r = i 0006520 o . L F O R c h a r 376 001 \0 0006540 273 372 = i o . T A B = > E X 0006560 I T ; \r c h a 0006600 r = ' - A N D p r e v C 0006620 h a r = ' - = > \r 0006640 { c h a r _ ' 0006660 ; i n C o m m e n t _ T 0006700 R U E ; i _ i - 1 } ; \r 0006720 E N D C A S E 0006740 = > { i d [ i ] _ c h a r 0006760 ; i _ i + 1 } ; \r 0007000 p r e v C h a r _ c 0007020 h a r ; \r c h a r 0007040 _ i o . R e a d C h a r [ ] ; 0007060 \r E N D L O O P ; \r 0007100 i d ^ . l e n g t h _ 0007120 i ; \r e o l _ ( c 0007140 h a 376 001 \0 J : r = i o . C R 0007160 O R c h a r = i o . L F 0007200 ) ; \r E N D ; \r \r R 0007220 e a d I O : P R O C E D U R E 0007240 [ S t o p C o d e : C H A R 0007260 A C T E R ] R E T U R N S [ 0007300 c o u n t : C A R D I N A L 0007320 _ 0 , \r \t \t \t \t \t \t h a 0007340 s h T a b l e : H a s h T a b 0007360 l e ] = \r B E G I N \r 0007400 T e r m : I O L i n k 0007420 ; \r i d : S T R I N G 0007440 _ [ M A X I D L E N G T H ] 0007460 ; \r i d 2 : S T R I N 0007500 G _ [ M A X I D L E N G T H 0007520 ] ; \r T B : T B S t a 0007540 t e s ; \r 376 001 \0 9 364 k , 0007560 i , h a s h : C A R D I N 0007600 A L ; \r \r F O R i I 0007620 N h a s h I n d e x D O h 0007640 a s h T a b l e [ i ] _ N I 0007660 L E N D L O O P ; \r \r 0007700 D O \r \r - - g e t t 0007720 h e n a m e o f t h e I 0007740 O t e r m a n d i t s p 0007760 o s i t i o n \r R d I D 0010000 [ i d ] ; \r I F i d [ 0010020 0 ] = S t o p C o d e T H 0010040 E N E X I T ; \r h a s 0010060 h _ h a s h C o d e [ i d ] 0010100 ; \r R d I D [ i d 2 ] ; 0010120 \r I F i d 2 [ 0 ] = 0010140 ' t O R i d 2 [ 0 376 001 \0 265 0010160 \v ] = ' T \r \t T H E N T 0010200 B _ t o p \r \t E L S 0010220 E T B _ b o t t o m ; \r \r 0010240 \r - - c r e a t e a 0010260 n I O n o d e \r T e 0010300 r m _ Z . N E W [ I O [ i d 0010320 . l e n g t h ] ] ; \r S 0010340 c o u n t _ S c o u n t + 0010360 1 ; \r B E G I N O P 0010400 E N T e r m ; \r \t T o p B o t 0010420 t o m _ T B ; \r \t p o s i t 0010440 i o n _ c o u n t ; \r \t c o 0010460 u n t _ c o u n t + 1 ; 0010500 \r \t F O R k I N [ 0 . . i 0010520 d . l e n g t h ) D O \r \t 0010540 n a m e [ k ] _ i d [ k ] ; 0010560 \r 376 001 \0 I 232 \t E N D L O O P ; \r 0010600 \t n e x t _ h a s h T a b l 0010620 e [ h a s h ] ; \r \t h a s h T a 0010640 b l e [ h a s h ] _ T e r m 0010660 ; \r E N D ; \r \r 0010700 E N D L O O P ; \r \r R E 0010720 T U R N [ c o u n t , h a s h 0010740 T a b l e ] ; \r \r E N D ; \r 0010760 \r \r R e a d P T e r m s : 0011000 P R O C E D U R E [ ] = \r 0011020 B E G I N \r P T 0011040 e r m , P T : P T e r m L i 0011060 n k _ N I L ; \r i d 0011100 : S T R I N G _ [ M A X I 0011120 D L E N G T H ] ; \r a l 0011140 l o c : B O O L E A N _ T 0011160 R U E ; \r 376 001 \0 241 366 d o 0011200 n e , f o u n d : B O O L E 0011220 A N _ F A L S E ; \r 0011240 k , o u t I D , h a s h : 0011260 C A R D I N A L _ 0 ; \r \r 0011300 P T e r m C o u n t _ 0011320 0 ; \r \r D O \r \r \t - - 0011340 a l l o c a t e a n e w P 0011360 r o d u c t T e r m N o d e 0011400 \r \t I F a l l o c T H E N 0011420 B E G I N \r \t a l l o c 0011440 _ F A L S E ; \r \t P T e 0011460 r m _ Z . N E W [ P r o d u 0011500 c t T e r m ] ; \r \t P T e 0011520 r m . i n p u t _ Z . N E W 0011540 [ I O T e r m [ i n C o u n t ] 0011560 ] ; \r \t P T e r 376 001 \0 313 226 0011600 m . o u t p u t _ Z . N E W 0011620 [ I O T e r m [ o u t C o u n t 0011640 ] ] ; \r \t S c o u n t _ 0011660 S c o u n t + 3 ; \r \t 0011700 P T e r m C o u n t _ P T 0011720 e r m C o u n t + 1 ; \r \t 0011740 E N D ; \r \t F O R k I N 0011760 [ 0 . . i n C o u n t ) D O \r 0012000 \t P T e r m . i n p u t 0012020 . t e r m [ k ] _ A b s e n 0012040 t ; \r \t E N D L O O P ; \r \t 0012060 F O R k I N [ 0 . . o u t 0012100 C o u n t ) D O \r \t P 0012120 T e r m . o u t p u t . t e r m 0012140 [ k ] _ A b s e n t ; \r \t 0012160 E N D L O O P ; \r \r \t - - g 0012200 376 001 \0 224 < e t t h e o u t p 0012220 u t t e r m \r \t R d I D [ i d 0012240 ] ; \r \t I F i d [ 0 ] = ' 0012260 * T H E N E X I T ; \r \t o u 0012300 t I D _ l o o k U p [ i d , 0012320 o u t p u t s ] ; \r \t P T e r 0012340 m . o u t p u t . t e r m [ o u 0012360 t I D ] _ A s s e r t ; \r \r 0012400 \t - - d i s c a r d t h e 0012420 s y n t a c t i c s e p a r a 0012440 t o r ' = ' \r \t R d I D [ i d 0012460 ] ; \r \r \t - - g e t t h e 0012500 i n p u t t e r m s \r \t h a s 0012520 h _ 0 ; \r \t d o n e _ F 0012540 A L S E ; \r \t W H I L E N O T 0012560 d o n e D O \r \t R d I D 0012600 [ i d ] ; 376 001 \0 332 225 \r \t k 0012620 _ l o o k U p [ i d , i n p 0012640 u t s ] ; \r \t h a s h _ 0012660 h a s h + k ; \r \t I F 0012700 i d [ 0 ] = ' - \r \t 0012720 T H E N P T e r m . i n p u t 0012740 . t e r m [ k ] _ I n v e r 0012760 t \r \t E L S E P T e r 0013000 m . i n p u t . t e r m [ k ] 0013020 _ A s s e r t ; \r \r \t - - 0013040 d i s c a r d s y n t a c t 0013060 i c s e p a r a t o r \r \t 0013100 R d I D [ i d ] ; \r \t d o n 0013120 e _ i d [ 0 ] = ' ; ; 0013140 \r \t E N D L O O P ; \r \r \t - - 0013160 i n s e r t t h e P r o d u 0013200 c t T e r m i n 376 001 \0 z 310 t 0013220 o t h e P T e r m m a t r 0013240 i x \r \t I F h a s h > = H 0013260 A S H S I Z E T H E N h a s 0013300 h _ h a s h M O D H A S 0013320 H S I Z E ; \r \t P T _ h a s 0013340 h P T e r m [ h a s h ] ; \r \t f 0013360 o u n d _ F A L S E ; \r \t D 0013400 O \r \t I F P T = N I L \r 0013420 \t T H E N E X I T 0013440 \r \t E L S E f o u n 0013460 d _ T R U E ; \r \t F O R 0013500 k I N [ 0 . . i n C o u n 0013520 t ) U N T I L N O T f o u 0013540 n d D O \r \t f o u n d 0013560 _ P T . i n p u t . t e r m 0013600 [ k ] = P T e r m . i n p 376 0013620 001 \0 316 327 u t . t e r m [ k ] ; \r 0013640 \t E N D L O O P ; \r \t 0013660 I F f o u n d \r \t 0013700 T H E N E X I T \r \t 0013720 E L S E P T _ P T . n e x 0013740 t ; \r \t E N D L O O P ; \r \r 0013760 \t I F f o u n d T H E N P 0014000 T . o u t p u t . t e r m [ o u 0014020 t I D ] _ A s s e r t \r \t 0014040 E L S E B E G I N \r \t \t 0014060 P T e r m . n e x t _ h a s 0014100 h P T e r m [ h a s h ] ; \r \t \t 0014120 h a s h P T e r m [ h a s h ] 0014140 _ P T e r m ; \r \t \t a l l o c 0014160 _ T R U E ; \r \t E 0014200 N D ; \r \r E N D L O O P 0014220 ; \r \r 376 001 \0 260 027 - - r 0014240 e l e a s e u n u s e d P T 0014260 e r m n o d e s p a c e \r 0014300 I F N O T a l l o c 0014320 \r \t T H E N B E G I N \r \t 0014340 Z . F R E E [ @ P T e r m . i 0014360 n p u t ] ; \r \t Z . F R E 0014400 E [ @ P T e r m . o u t p u t ] 0014420 ; \r \t Z . F R E E [ @ P T 0014440 e r m ] ; \r \t S c o u n t 0014460 _ S c o u n t - 3 ; \r \t 0014500 P T e r m C o u n t _ 0014520 P T e r m C o u n t - 1 ; \r 0014540 \t E N D ; \r \r E N D ; \r 0014560 \r \r F r e e B l o c k s : 0014600 P R O C E D U R E [ ] = \r 0014620 B E G I N \r 376 001 \0 O 262 0014640 I O P t r , I O T e m p : 0014660 I O L i n k ; \r p , p 0014700 T e m p : P T e r m L i n k ; 0014720 \r i : h a s h I n d e 0014740 x ; \r \r - - r e l e a 0014760 s e s p a c e f o r i n p 0015000 u t a n d o u t p u t n o 0015020 d e l i s t s \r Z . F 0015040 R E E [ @ i n p u t L i s t ] ; 0015060 \r Z . F R E E [ @ o u t 0015100 p u t L i s t ] ; \r S c 0015120 o u n t _ S c o u n t - 0015140 2 ; \r \r - - r e l e a 0015160 s e n o d e s p a c e f o 0015200 r i n p u t t e r m s \r 0015220 F O R i I N h a s 376 001 0015240 \0 \f 233 h I n d e x D O \r 0015260 F O R I O P t r _ i n 0015300 p u t s [ i ] , I O T e m p 0015320 U N T I L I O P t r = N I L 0015340 D O \r \t I O T e m p _ I O P 0015360 t r . n e x t ; \r \t Z . F R E E 0015400 [ @ I O P t r ] ; \r \t S c o u n 0015420 t _ S c o u n t - 1 ; \r 0015440 E N D L O O P ; \r 0015460 E N D L O O P ; \r \r 0015500 - - r e l e a s e n o d e 0015520 s p a c e f o r o u t p u 0015540 t t e r m s \r F O R 0015560 i I N h a s h I n d e x D 0015600 O \r F O R I O P 0015620 t r _ o u t p u t s [ i ] , I 0015640 O T e 376 001 \0 355 226 m p U N T I L 0015660 I O P t r = N I L D O \r \t I 0015700 O T e m p _ I O P t r . n e 0015720 x t ; \r \t Z . F R E E [ @ I O P 0015740 t r ] ; \r \t S c o u n t _ S 0015760 c o u n t - 1 ; \r 0016000 E N D L O O P ; \r E N 0016020 D L O O P ; \r \r - - r 0016040 e l e a s e n o d e s p a c 0016060 e f o r p r o d u c t t e 0016100 r m s \r F O R i I N 0016120 h a s h I n d e x D O \r 0016140 F O R p _ h a s 0016160 h P T e r m [ i ] , p T e m p 0016200 U N T I L p = N I L D O \r 0016220 \t p T e m p _ p . n e x t ; 0016240 \r \t Z . F R E E 376 001 \0 | 377 [ @ p 0016260 . o u t p u t ] ; \r \t Z . F R E 0016300 E [ @ p . i n p u t ] ; \r \t Z . 0016320 F R E E [ @ p ] ; \r \t S c o u n 0016340 t _ S c o u n t - 3 ; \r 0016360 E N D L O O P ; \r 0016400 E N D L O O P ; \r \r E 0016420 N D ; \r \r h a s h C o d e : 0016440 P R O C E D U R E [ n a m e 0016460 : S T R I N G ] R E T U R N 0016500 S [ h a s h I n d e x ] = \r 0016520 B E G I N \r j : 0016540 n a m e I n d e x ; \r 0016560 i : I N T E G E R ; \r 0016600 S t a r t : C A R D I N A L ; 0016620 \r \r S t a r t _ i 0016640 _ 0 ; \r I F n 376 001 \0 0016660 ) 207 a m e [ 0 ] = ' - T H 0016700 E N S t a r t _ 1 ; \r 0016720 F O R j I N [ S t a r 0016740 t . . n a m e ^ . l e n g t h ) 0016760 D O \r i _ i * 0017000 1 0 + ( n a m e [ j ] - 0017020 ' 0 ) ; \r I F n a 0017040 m e [ j ] > = ' a T H E N 0017060 i _ i - 3 2 ; - - h 0017100 a s h o n u p p e r c a s 0017120 e o n l y \r E N D 0017140 L O O P ; \r i _ i 0017160 M O D H A S H S I Z E ; \r 0017200 R E T U R N [ I F i < 0017220 0 T H E N i + H A S H S 0017240 I Z E E L S E i ] ; \r 0017260 E 376 001 \0 W 221 N D ; \r \r s t 0017300 r c m p : P R O C E D U R E 0017320 [ s : S T R I N G , n : I 0017340 O L i n k ] R E T U R N S [ 0017360 B O O L E A N ] = \r B 0017400 E G I N \r i : I N T E 0017420 G E R ; \r O f f , j : 0017440 n a m e I n d e x ; \r \r 0017460 O f f _ 0 ; \r I F 0017500 s [ 0 ] = ' - T H E N 0017520 O f f _ 1 ; \r F O R 0017540 j _ 0 , j + 1 U N 0017560 T I L j = s . l e n g t h 0017600 - O f f D O \r i 0017620 _ n . n a m e [ j ] - s [ 0017640 j + O f f ] ; - - c h e c k 0017660 f o r e q u 376 001 \0 036 005 a l i t 0017700 y r e g a r d l e s s o f 0017720 c a s e \r I F i 0017740 = 0 T H E N L O O P ; \r 0017760 I F i = 3 2 A 0020000 N D s [ j ] > = ' A T H 0020020 E N L O O P ; \r I 0020040 F i = - 3 2 A N D s [ 0020060 j ] > = ' a T H E N L O 0020100 O P ; \r R E T U R N 0020120 [ F A L S E ] ; \r R 0020140 E P E A T F I N I S H E D = 0020160 > R E T U R N [ T R U E ] \r 0020200 E N D L O O P ; \r 0020220 E N D ; \r \r l o o k U p 0020240 : P R O C E D U R E [ s : 0020260 S T R I N G , h a s h 376 001 \0 242 0020300 ? T a b l e : H a s h T a b l 0020320 e ] R E T U R N S [ C A R D 0020340 I N A L ] = \r B E G I 0020360 N \r n : I O L i n k ; 0020400 \r h : h a s h I n d e 0020420 x ; \r \r h _ h a s h 0020440 C o d e [ s ] ; \r F O R 0020460 n _ h a s h T a b l e [ h 0020500 ] , n ^ . n e x t U N T I L 0020520 n = N I L D O \r 0020540 I F s t r c m p [ s , n 0020560 ] T H E N R E T U R N [ n . 0020600 p o s i t i o n ] E N D L O O 0020620 P ; \r R E T U R N [ 0 ] 0020640 ; \r E N D ; \r \r \t \r 0020660 B u i l d P r o d u c t T e 0020700 r 376 001 \0 273 H m s : P R O C E D 0020720 U R E [ s i : S t r e a m D 0020740 e f s . S t r e a m H a n d l e 0020760 ] = \r B E G I N - - 0021000 c a l l e d o n c e i n 0021020 m a i n \r l i n e : S 0021040 T R I N G _ [ M A X I D L E 0021060 N G T H ] ; \r i : h a 0021100 s h I n d e x ; \r I O P 0021120 t r : I O L i n k ; \r 0021140 e c h o : B O O L E A N ; \r 0021160 s a v e I n : S t r e a 0021200 m D e f s . S t r e a m H a n d 0021220 l e ; \r \r F O R i I 0021240 N h a s h I n d e x D O h 0021260 a s h P T e r m [ i ] _ N I 0021300 L E N D L 376 001 \0 343 | O O P ; \r 0021320 e o l _ F A L S E ; 0021340 \r s a v e I n _ i o 0021360 . G e t I n p u t S t r e a m [ 0021400 ] ; \r i o . S e t I n p 0021420 u t S t r e a m [ s i ] ; \r 0021440 e c h o _ i o . S e t E 0021460 c h o [ F A L S E ] ; \r \r 0021500 - - r e a d I n p u t t 0021520 e r m s a n d b u i l d i 0021540 n p u t t e r m h a s h t 0021560 a b l e \r [ i n C o u n 0021600 t , i n p u t s ] _ R e a 0021620 d I O [ S t o p C O D E ] ; \r \r 0021640 - - r e a d o u t p 0021660 u t t e r m s a n d b u i 0021700 l d o u t p u t t 376 001 \0 002 \0 0021720 e r m h a s h t a b l e \r 0021740 [ o u t C o u n t , o u 0021760 t p u t s ] _ R e a d I O [ 0022000 S t o p C O D E ] ; \r \r 0022020 - - b u i l d I O L i s t 0022040 o f I O d e s c r i p t o 0022060 r s a r r a n g e d b y p 0022100 o s i t i o n \r i n p u 0022120 t L i s t _ Z . N E W [ I O 0022140 L I S T [ i n C o u n t ] ] ; \r 0022160 o u t p u t L i s t _ 0022200 Z . N E W [ I O L I S T [ o u 0022220 t C o u n t ] ] ; \r S c 0022240 o u n t _ S c o u n t + 0022260 2 ; \r F O R i I N 0022300 h a s h I n d e x D O \r 0022320 376 001 \0 034 362 F O R I O P 0022340 t r _ i n p u t s [ i ] , I O 0022360 P t r . n e x t U N T I L I 0022400 O P t r = N I L D O \r \t i n p 0022420 u t L i s t [ I O P t r . p o s 0022440 i t i o n ] _ I O P t r ; \r 0022460 E N D L O O P ; \r 0022500 E N D L O O P ; \r \r 0022520 F O R i I N h a s h I n 0022540 d e x D O \r F O 0022560 R I O P t r _ o u t p u t s [ 0022600 i ] , I O P t r . n e x t U 0022620 N T I L I O P t r = N I L D 0022640 O \r \t o u t p u t L i s t [ I O 0022660 P t r . p o s i t i o n ] _ 0022700 I O P t r ; \r E N D 0022720 L O O P ; 376 001 \0 355 \v \r E 0022740 N D L O O P ; \r \r \r \r - 0022760 - i n p u t t h e p r o d 0023000 u c t t e r m s a n d b u 0023020 i l d t h e p r o d u c t 0023040 t e r m m a t r i x \r 0023060 R e a d P T e r m s ; \r \r 0023100 i o . S e t I n p u t S t r e 0023120 a m [ s a v e I n ] ; \r 0023140 [ ] _ i o . S e t E c h o [ 0023160 e c h o ] ; \r \r E N D ; 0023200 \r \r F i n d P L A C e l l s 0023220 : P R O C E D U R E [ c e l 0023240 l F a m i l y : S T R I N G ] 0023260 = \r B E G I N \r 0023300 P L A D e c o d e r _ F i 0023320 n d D C e l l P r [ 376 001 \0 312 022 c 0023340 e l l F a m i l y : c e l l F 0023360 a m i l y , r e q u i r e d : 0023400 T R U E , \r m e m 0023420 b e r P r e f i x : " D e c o 0023440 d e r " L ] ; \r d e c o 0023460 d e C e l l _ P L A D e c o 0023500 d e r [ T R U E ] [ F A L S E ] 0023520 ; \r P L A D e c o d e r 0023540 T o p _ F i n d D C e l l [ 0023560 \r c e l l F a m i l 0023600 y : c e l l F a m i l y , m 0023620 e m b e r P r e f i x : " D e 0023640 c o d e r T o p " L ] ; \r 0023660 P L A D e c o d e r B o t t o 0023700 m _ F i n d D C e l l [ \r 0023720 c e l l F a m i l y 376 0023740 001 \0 - { : c e l l F a m i l y 0023760 , m e m b e r P r e f i x : 0024000 " D e c o d e r B o t t o m " L 0024020 ] ; \r P L A D e c o d e 0024040 r L e f t _ F i n d D C e l 0024060 l [ \r c e l l F a m 0024100 i l y : c e l l F a m i l y , 0024120 m e m b e r P r e f i x : " 0024140 D e c o d e r L e f t " L , v 0024160 C o m p a t : d e c o d e C e 0024200 l l ] ; \r P L A D e c o 0024220 d e r T o p L e f t C o r n e r 0024240 _ F i n d C e l l [ \r 0024260 c e l l F a m i l y : c 0024300 e l l F a m i l y , m e m b e 0024320 r : " D e c o d e r T o p L e 0024340 f t C o 376 001 \0 307 $ r n e r " L ] 0024360 ; \r P L A D e c o d e r 0024400 B o t t o m L e f t C o r n e r 0024420 _ F i n d C e l l [ \r 0024440 c e l l F a m i l y : c 0024460 e l l F a m i l y , m e m b e 0024500 r : " D e c o d e r B o t t o 0024520 m L e f t C o r n e r " L ] ; \r 0024540 P L A D a t a _ F i 0024560 n d D C e l l P r [ c e l l F a 0024600 m i l y : c e l l F a m i l y 0024620 , r e q u i r e d : T R U E 0024640 , \r m e m b e r P r 0024660 e f i x : " D a t a " L ] ; \r 0024700 d a t a C e l l _ P 0024720 L A D a t a [ F A L S E ] [ F A 0024740 L S E ] ; \r 376 001 \0 0 \t C 0024760 h e c k P i t c h C o m p a t a 0025000 b i l i t y [ d e c o d e C e l 0025020 l , d a t a C e l l , v e r 0025040 t i c a l , [ 1 , 2 ] , [ 0025060 1 , 1 ] ] ; \r P L A D 0025100 e c o d e r D a t a _ F i n 0025120 d C e l l [ \r c e l 0025140 l F a m i l y : c e l l F a m 0025160 i l y , m e m b e r : " D e 0025200 c o d e r D a t a " L , v C o 0025220 m p a t : d a t a C e l l ] ; 0025240 \r P L A D e c o d e r D 0025260 a t a T o p _ F i n d C e l 0025300 l [ \r c e l l F a m 0025320 i l y : c e l l F a m i l y , 0025340 m e m b e r : " D e c o 376 001 0025360 \0 k ( d e r D a t a T o p " L , 0025400 h C o m p a t : P L A D e c 0025420 o d e r D a t a ] ; \r P 0025440 L A D e c o d e r D a t a B o t 0025460 t o m _ F i n d C e l l [ \r 0025500 c e l l F a m i l y 0025520 : c e l l F a m i l y , m e 0025540 m b e r : " D e c o d e r D a 0025560 t a B o t t o m " L , \r 0025600 h C o m p a t : P L A D e 0025620 c o d e r D a t a ] ; \r 0025640 P L A D a t a T o p _ F i n 0025660 d D C e l l [ \r c e 0025700 l l F a m i l y : c e l l F a 0025720 m i l y , m e m b e r P r e f 0025740 i x : " D a t a T o p " L , 0025760 h C o 376 001 \0 215 337 m p a t : d a 0026000 t a C e l l ] ; \r - - P 0026020 L A D a t a B o t t o m _ F 0026040 i n d D C e l l [ \r - - 0026060 c e l l F a m i l y : c e 0026100 l l F a m i l y , m e m b e r 0026120 P r e f i x : " D a t a B o t 0026140 t o m " L ] ; \r P L A O 0026160 u t M u x _ F i n d D C e l 0026200 l [ c e l l F a m i l y : c e 0026220 l l F a m i l y , m e m b e r 0026240 P r e f i x : " O u t M u x " 0026260 L ] ; \r C h e c k P i t 0026300 c h C o m p a t a b i l i t y [ 0026320 d a t a C e l l , P L A O u t 0026340 M u x [ F A L S E ] , h o r i 0026360 z o n t a l , 376 001 \0 336 M [ 1 , 0026400 1 ] , [ 1 , 1 ] ] ; \r 0026420 P L A D a t a R i g h t _ 0026440 F i n d C e l l [ \r 0026460 c e l l F a m i l y : c e l 0026500 l F a m i l y , m e m b e r : 0026520 " D a t a R i g h t " L , v 0026540 C o m p a t : d a t a C e l l 0026560 ] ; \r P L A D a t a T o 0026600 p R i g h t C o r n e r _ F 0026620 i n d C e l l [ \r c 0026640 e l l F a m i l y : c e l l F 0026660 a m i l y , m e m b e r : " 0026700 D a t a T o p R i g h t C o r n 0026720 e r " L ] ; \r P L A D a 0026740 t a B o t t o m R i g h t C o r 0026760 n e r _ F i n d C e l 376 001 \0 0027000 275 002 l [ \r c e l l F 0027020 a m i l y : c e l l F a m i l 0027040 y , m e m b e r : " D a t a 0027060 B o t t o m R i g h t C o r n e 0027100 r " L ] ; \r P L A D e c 0027120 o d e r L e f t G n d _ F i 0027140 n d C e l l [ \r c e 0027160 l l F a m i l y : c e l l F a 0027200 m i l y , m e m b e r : " D 0027220 e c o d e r L e f t G n d " L ] 0027240 ; \r P L A D e c o d e r 0027260 G n d _ F i n d C e l l [ \r 0027300 c e l l F a m i l y 0027320 : c e l l F a m i l y , m e 0027340 m b e r : " D e c o d e r G n 0027360 d " L , v C o m p a t : P L 0027400 A D 376 001 \0 201 340 e c o d e r L e f 0027420 t G n d , h C o m p a t : d 0027440 e c o d e C e l l ] ; \r 0027460 P L A D e c o d e r D a t a G n 0027500 d _ F i n d C e l l [ \r 0027520 c e l l F a m i l y : 0027540 c e l l F a m i l y , m e m b 0027560 e r : " D e c o d e r D a t a 0027600 G n d " L , h C o m p a t : 0027620 P L A D e c o d e r D a t a ] ; 0027640 \r P L A D a t a H G n d 0027660 _ F i n d C e l l [ \r 0027700 c e l l F a m i l y : c 0027720 e l l F a m i l y , m e m b e 0027740 r : " D a t a H G n d " L , 0027760 v C o m p a t : P L A D e c o 0030000 d e r G n d , 376 001 \0 Q 206 h C o 0030020 m p a t : d a t a C e l l ] ; 0030040 \r P L A D a t a G n d 0030060 _ F i n d C e l l [ \r 0030100 c e l l F a m i l y : c e 0030120 l l F a m i l y , m e m b e r 0030140 : " D a t a G n d " L , v C 0030160 o m p a t : P L A D a t a H G 0030200 n d ] ; \r P L A D a t a 0030220 V G n d _ F i n d C e l l [ 0030240 \r c e l l F a m i l 0030260 y : c e l l F a m i l y , m 0030300 e m b e r : " D a t a V G n d 0030320 " L , v C o m p a t : d a t 0030340 a C e l l , h C o m p a t : 0030360 P L A D a t a G n d ] ; \r 0030400 P L A D a t a T o p G 376 001 \0 364 0030420 342 n d _ F i n d C e l l [ \r 0030440 c e l l F a m i l y 0030460 : c e l l F a m i l y , m e 0030500 m b e r : " D a t a T o p G n 0030520 d " L , h C o m p a t : P L 0030540 A D a t a V G n d ] ; \r 0030560 P L A D a t a B o t t o m G n d 0030600 _ F i n d C e l l [ \r 0030620 c e l l F a m i l y : c 0030640 e l l F a m i l y , m e m b e 0030660 r : " D a t a B o t t o m G n 0030700 d " L , h C o m p a t : P L 0030720 A D a t a V G n d ] ; \r 0030740 P L A D a t a R i g h t G n d 0030760 _ F i n d C e l l [ \r 0031000 c e l l F a m i l y : c e 0031020 l 376 001 \0 227 267 l F a m i l y , m 0031040 e m b e r : " D a t a R i g h 0031060 t G n d " L , v C o m p a t : 0031100 P L A D a t a H G n d ] ; \r 0031120 E N D ; \r \r F i n d C 0031140 e l l : P R O C E D U R E [ 0031160 \r c e l l F a m i l y : 0031200 S T R I N G , m e m b e r : 0031220 S T R I N G , r e q u i r e 0031240 d : B O O L E A N _ F A L 0031260 S E , \r v C o m p a t : 0031300 C e l l _ N I L , h C o 0031320 m p a t : C e l l _ N I L 0031340 ] R E T U R N S [ C e l l ] 0031360 = \r B E G I N O P E 0031400 N S t r i n g D e f s ; \r 0031420 s : S 376 001 \0 303 j T R I N G 0031440 _ [ 1 0 0 ] ; \r s . 0031460 l e n g t h _ 0 ; \r 0031500 A p p e n d S t r i n g [ t o : 0031520 s , f r o m : c e l l F a 0031540 m i l y ] ; \r A p p e n 0031560 d S t r i n g [ t o : s , f 0031600 r o m : m e m b e r ] ; \r 0031620 F O R c p : L O N G P 0031640 O I N T E R T O c L i s t 0031660 _ c e l l L i s t , c p . n 0031700 x t W H I L E c p # N I 0031720 L D O \r I F S t 0031740 r i n g D e f s . E q u i v a l 0031760 e n t S t r i n g [ c p . n a m 0032000 e , s ] T H E N \r 0032020 B E G I N \r 376 001 \0 u 206 0032040 c : C e l l _ 0032060 c p . o b ; \r I 0032100 F v C o m p a t # N I L 0032120 T H E N C h e c k P i t c h C 0032140 o m p a t a b i l i t y [ c , 0032160 v C o m p a t , v e r t i c a 0032200 l ] ; \r I F h 0032220 C o m p a t # N I L T H E 0032240 N C h e c k P i t c h C o m p 0032260 a t a b i l i t y [ c , h C o 0032300 m p a t , h o r i z o n t a l 0032320 ] ; \r R E T U R 0032340 N [ c ] ; \r E N 0032360 D ; \r E N D L O O P 0032400 ; \r I F r e q u i r e 0032420 d T H E N { E x p l a i n [ 0032440 376 001 \0 035 361 " M i s s i n g c e 0032460 l l i n f a m i l y " L , 0032500 s ] ; S I G N A L P u n t } 0032520 ; \r R E T U R N [ N I L 0032540 ] ; \r E N D ; \r \r F 0032560 i n d D C e l l : P R O C E D 0032600 U R E [ \r c e l l F a 0032620 m i l y , m e m b e r P r e f 0032640 i x : S T R I N G , r e q u 0032660 i r e d : B O O L E A N _ 0032700 F A L S E , \r v C o m p 0032720 a t : C e l l _ N I L , 0032740 h C o m p a t : C e l l _ 0032760 N I L ] R E T U R N S [ d : 0033000 D C e l l ] = \r B E 0033020 G I N O P E N S t r i n g D 0033040 e f s ; \r 376 001 \0 Y 2 o r 0033060 i g i n a l L e n g t h : C A 0033100 R D I N A L _ m e m b e r P 0033120 r e f i x . l e n g t h ; \r 0033140 m e m b e r : S T R I N G 0033160 _ [ 5 0 ] ; \r m e m 0033200 b e r . l e n g t h _ 0 ; \r 0033220 A p p e n d S t r i n g 0033240 [ t o : m e m b e r , f r o 0033260 m : m e m b e r P r e f i x ] 0033300 ; \r A p p e n d S t r i 0033320 n g [ t o : m e m b e r , f 0033340 r o m : " 0 " L ] ; \r 0033360 d [ F A L S E ] _ F i n d C 0033400 e l l [ c e l l F a m i l y , 0033420 m e m b e r , r e q u i r e d 0033440 , v C o m p a t , 376 001 \0 \v ' 0033460 h C o m p a t ] ; \r m e 0033500 m b e r . l e n g t h _ o r 0033520 i g i n a l L e n g t h ; \r 0033540 A p p e n d S t r i n g [ t 0033560 o : m e m b e r , f r o m : 0033600 " 1 " L ] ; \r d [ T R 0033620 U E ] _ F i n d C e l l [ c 0033640 e l l F a m i l y , m e m b e 0033660 r , r e q u i r e d , v C o 0033700 m p a t , h C o m p a t ] ; \r 0033720 I F v C o m p a t # 0033740 N I L O R h C o m p a t 0033760 # N I L \r \t T H E N C h e c 0034000 k P i t c h C o m p a t a b i l 0034020 i t y [ d [ F A L S E ] , d [ 0034040 T R U E ] , d i a g o n a l 376 0034060 001 \0 l ; ] ; \r E N D ; 0034100 - - o f F i n d D C e l l 0034120 \r \r F i n d D C e l l P r : 0034140 P R O C E D U R E [ \r 0034160 c e l l F a m i l y , m e m 0034200 b e r P r e f i x : S T R I N 0034220 G , r e q u i r e d : B O O 0034240 L E A N _ F A L S E , \r 0034260 v C o m p a t : C e l l 0034300 _ N I L , h C o m p a t : 0034320 C e l l _ N I L ] R E T U 0034340 R N S [ p : D C e l l P r ] 0034360 = \r B E G I N O P E 0034400 N S t r i n g D e f s ; \r 0034420 o r i g i n a l L e n g t h 0034440 : C A R D I N A L _ m e m 0034460 b e r P 376 001 \0 242 c r e f i x . l 0034500 e n g t h ; \r m e m b e 0034520 r : S T R I N G _ [ 5 0 ] 0034540 ; \r m e m b e r . l e n 0034560 g t h _ 0 ; \r A p p 0034600 e n d S t r i n g [ t o : m e 0034620 m b e r , f r o m : m e m b 0034640 e r P r e f i x ] ; \r A 0034660 p p e n d S t r i n g [ t o : 0034700 m e m b e r , f r o m : " 0 0034720 " L ] ; \r p [ F A L S E 0034740 ] _ F i n d D C e l l [ c e 0034760 l l F a m i l y , m e m b e r 0035000 , r e q u i r e d , v C o m 0035020 p a t , h C o m p a t ] ; \r 0035040 m e m b e r . l e n g t h 0035060 _ o r i g i n 376 001 \0 271 307 a l 0035100 L e n g t h ; \r A p p e 0035120 n d S t r i n g [ t o : m e m 0035140 b e r , f r o m : " 1 " L ] 0035160 ; \r p [ T R U E ] _ 0035200 F i n d D C e l l [ c e l l F a 0035220 m i l y , m e m b e r , r e 0035240 q u i r e d , v C o m p a t , 0035260 h C o m p a t ] ; \r I 0035300 F v C o m p a t # N I L 0035320 O R h C o m p a t # N I L 0035340 \r \t T H E N C h e c k P i t c 0035360 h C o m p a t a b i l i t y [ p 0035400 [ F A L S E ] [ F A L S E ] , 0035420 p [ T R U E ] [ F A L S E ] , 0035440 d i a g o n a l ] ; \r E 0035460 N D ; - - o f F i n 376 001 0035500 \0 T 322 d D C e l l \r \r C h e 0035520 c k P i t c h C o m p a t a b i 0035540 l i t y : P R O C E D U R E 0035560 [ \r c 1 , c 2 : C e 0035600 l l , d i r : D i r e c t i 0035620 o n , r e p 1 : P o i n t 0035640 _ [ 1 , 1 ] , r e p 2 : 0035660 P o i n t _ [ 1 , 1 ] ] 0035700 = \r B E G I N O P E N 0035720 S t r i n g D e f s ; \r \r 0035740 F i n d C e l l N a m e : 0035760 P R O C E D U R E [ c : C e 0036000 l l ] R E T U R N S [ S T R 0036020 I N G ] = \r B E G 0036040 I N \r F O R c p : 0036060 L O N G P O I N T E R T O 0036100 c L 376 001 \0 g 036 i s t _ c e 0036120 l l L i s t , c p . n x t W 0036140 H I L E c p # N I L D O 0036160 \r I F c = 0036200 c p . o b T H E N R E T U R 0036220 N [ c p . n a m e ] E N D L O 0036240 O P ; \r R E T U R N 0036260 [ " " ] ; \r E N D ; 0036300 \r \r I F S t e p P [ , 0036320 c 1 , d i r , r e p 1 ] 0036340 # S t e p P [ , c 2 , d i 0036360 r , r e p 2 ] T H E N \r 0036400 B E G I N \r 0036420 c e l l N a m e s : S T R I N 0036440 G _ [ 5 0 ] ; \r 0036460 c e l l N a m e s . l e n g t h 0036500 _ 0 ; \r 376 001 \0 / 031 0036520 A p p e n d S t r i n g [ t o 0036540 : c e l l N a m e s , f r o 0036560 m : F i n d C e l l N a m e [ 0036600 c 1 ] ] ; \r A p p e 0036620 n d S t r i n g [ t o : c e l 0036640 l N a m e s , f r o m : " 0036660 - " L ] ; \r A p p 0036700 e n d S t r i n g [ t o : c e 0036720 l l N a m e s , f r o m : F 0036740 i n d C e l l N a m e [ c 2 ] ] 0036760 ; \r S E L E C T d 0037000 i r F R O M \r 0037020 v e r t i c a l , u p , d o 0037040 w n = > \r 0037060 E x p l a i n [ " I n c o m p a 0037100 t i b l e c e l l v e 376 001 \0 0037120 l 220 r t i c a l p i t c h e s 0037140 " L , c e l l N a m e s ] ; \r 0037160 h o r i z o n t 0037200 a l , l e f t , r i g h t 0037220 = > \r E x p 0037240 l a i n [ " I n c o m p a t i b 0037260 l e c e l l h o r i z o n t 0037300 a l p i t c h e s " L , c e 0037320 l l N a m e s ] ; \r 0037340 E N D C A S E = > E x p 0037360 l a i n [ " I n c o m p a t i b 0037400 l e c e l l s i z e s " L , 0037420 c e l l N a m e s ] ; \r 0037440 - - S I G N A L P u n 0037460 t ; \r E N D ; \r 0037500 E N D ; - - o f C h 0037520 e c 376 001 \0 227 254 k P i t c h C o m 0037540 p a t a b i l i t y \r \r R e 0037560 p l i c a t e : P R O C E D U 0037600 R E [ c : C e l l , p : 0037620 P o i n t , n : C A R D I N 0037640 A L _ 1 , d i r : D i r 0037660 e c t i o n _ d o w n ] \r 0037700 R E T U R N S [ P o i n 0037720 t ] = \r B E G I N \r 0037740 I F c = N I L T H 0037760 E N R E T U R N [ p ] ; - 0040000 - n o c e l l \r F O 0040020 R i : C A R D I N A L I N 0040040 [ 0 . . n ) D O \r 0040060 S E L E C T d i r F R O M 0040100 \r v e r t i c a 0040120 l , d o w n 376 001 \0 306 255 , h o 0040140 r i z o n t a l , r i g h t 0040160 = > \r B E G 0040200 I N \r l p p 0040220 _ i n s e r t L i s t [ l p 0040240 p , m a k e L i s t [ c . p . 0040260 a n o t h e r m e [ c ] , p . 0040300 x , p . y , 0 , 0 ] ] ; \r 0040320 p _ S t 0040340 e p P [ p , c , d i r ] ; \r 0040360 E N D ; \r 0040400 l e f t , u p 0040420 = > \r B E G 0040440 I N \r p _ 0040460 S t e p P [ p , c , d i r 0040500 ] ; \r l p p 0040520 _ i n s e r t L i s 376 001 \0 237 0040540 002 t [ l p p , m a k e L i s t 0040560 [ c . p . a n o t h e r m e [ c 0040600 ] , p . x , p . y , 0 , 0040620 0 ] ] ; \r E 0040640 N D ; \r E N D C 0040660 A S E = > N U L L ; \r 0040700 E N D L O O P ; \r 0040720 R E T U R N [ p ] ; \r E 0040740 N D ; \r \r R e p l i c a t e 0040760 E v e n O d d : P R O C E D U 0041000 R E [ d : D C e l l , p : 0041020 P o i n t , n : C A R D I 0041040 N A L , d i r : D i r e c t 0041060 i o n ] \r R E T U R N S 0041100 [ P o i n t ] = \r B 0041120 E G I N \r I F d [ F A 0041140 L 376 001 \0 323 317 S E ] = N I L 0041160 A N D d [ T R U E ] = N I 0041200 L T H E N R E T U R N [ p ] 0041220 ; - - n o c e l l s \r 0041240 F O R i : C A R D I N 0041260 A L I N [ 0 . . n ) D O \r 0041300 I F d [ i M O D 0041320 2 = 0 ] # N I L T H E N 0041340 S E L E C T d i r F R O M 0041360 \r v e r t i c a 0041400 l , d o w n , h o r i z o n 0041420 t a l , r i g h t = > \r 0041440 B E G I N \r 0041460 l p p _ i n 0041500 s e r t L i s t [ l p p , m a 0041520 k e L i s t [ d [ i M O D 2 0041540 = 0 ] . 376 001 \0 310 250 p . a n o 0041560 t h e r m e [ d [ i M O D 2 0041600 = 0 ] ] , p . x , p . y 0041620 , 0 , 0 ] ] ; \r 0041640 p _ S t e p P [ p , 0041660 d [ i M O D 2 = 0 ] , 0041700 d i r ] ; \r 0041720 E N D ; \r l e 0041740 f t , u p = > \r 0041760 B E G I N \r 0042000 p _ S t e p P [ p , 0042020 d [ i M O D 2 = 0 ] , 0042040 d i r ] ; \r 0042060 l p p _ i n s e r t L i s 0042100 t [ l p p , m a k e L i s t [ 0042120 d [ i M O D 2 = 0 ] . p 0042140 . a n o t h e r m e [ 376 001 \0 025 I 0042160 d [ i M O D 2 = 0 ] ] , 0042200 p . x , p . y , 0 , 0 ] 0042220 ] ; \r E N D 0042240 ; \r E N D C A S 0042260 E = > N U L L \r 0042300 E L S E p _ S t e p P [ p 0042320 , d [ N O T ( i M O D 2 0042340 = 0 ) ] , d i r ] ; \r 0042360 E N D L O O P ; \r 0042400 R E T U R N [ p ] ; \r E 0042420 N D ; \r \r S t e p P : P R 0042440 O C E D U R E [ \r p : 0042460 P o i n t _ [ 0 , 0 ] , 0042500 c : C e l l , d i r : D 0042520 i r e c t i o n , r e p : P 0042540 o i n t _ [ 1 , 1 ] ] \r 0042560 376 001 \0 031 \n R E T U R N S 0042600 [ P o i n t ] = \r B E 0042620 G I N \r I F c = N 0042640 I L T H E N R E T U R N [ p 0042660 ] \r E L S E \r 0042700 S E L E C T d i r F R O M 0042720 \r u p = > R 0042740 E T U R N [ [ p . x , p . y 0042760 - r e p . y * c . s i z e [ 1 0043000 ] ] ] ; \r v e r 0043020 t i c a l , d o w n = > R 0043040 E T U R N [ [ p . x , p . y 0043060 + r e p . y * c . s i z e [ 1 0043100 ] ] ] ; \r h o r 0043120 i z o n t a l , r i g h t = 0043140 > R E T U R N [ [ p . x + 0043160 r e p . x 376 001 \0 206 ) * c . s i z 0043200 e [ 0 ] , p . y ] ] ; \r 0043220 l e f t = > R E T 0043240 U R N [ [ p . x - r e p . x 0043260 * c . s i z e [ 0 ] , p . y ] 0043300 ] ; \r u p A n d 0043320 L e f t = > R E T U R N [ [ 0043340 p . x - r e p . x * c . s i 0043360 z e [ 0 ] , p . y - r e p 0043400 . y * c . s i z e [ 1 ] ] ] ; \r 0043420 u p A n d R i g 0043440 h t = > R E T U R N [ [ p . 0043460 x - r e p . x * c . s i z e 0043500 [ 0 ] , p . y + r e p . y 0043520 * c . s i z e [ 1 ] ] ] ; \r 0043540 d o w n A n d L e f 0043560 t = > R E T U R 376 001 \0 204 \a N 0043600 [ [ p . x - r e p . x * c . 0043620 s i z e [ 0 ] , p . y + r 0043640 e p . y * c . s i z e [ 1 ] ] ] 0043660 ; \r E N D C A S 0043700 E - - d o w n A n d R i g h 0043720 t , d i a g o n a l - - = 0043740 > \r R E T U 0043760 R N [ [ p . x + r e p . x * 0044000 c . s i z e [ 0 ] , p . y + 0044020 r e p . y * c . s i z e [ 1 ] 0044040 ] ] ; \r E N D ; \r \r 0044060 H a l f : P R O C E D U R E 0044100 [ x : C A R D I N A L ] R E 0044120 T U R N S [ C A R D I N A L ] 0044140 = I N L I N E { R E T U R 0044160 N [ ( x + 1 ) / 2 ] } ; \r 376 0044200 001 \0 233 _ \r M a k e N e w C e 0044220 l l : P R O C E D U R E [ n 0044240 a m e : S T R I N G , l p p 0044260 : L O N G P O I N T E R T 0044300 O l i s t ] \r R E T U 0044320 R N S [ c p : L O N G P O 0044340 I N T E R T O c L i s t ] 0044360 = \r B E G I N \r 0044400 m i n : P o i n t _ [ L A 0044420 S T [ l o c N u m ] , L A S T 0044440 [ l o c N u m ] ] ; \r m 0044460 a x : P o i n t _ [ F I R 0044500 S T [ l o c N u m ] , F I R S 0044520 T [ l o c N u m ] ] ; \r 0044540 F O R l p : L O N G P O I 0044560 N T E R T O l i s t _ l 0044600 p p , 376 001 \0 313 261 l p . n x t 0044620 W H I L E l p # N I L D 0044640 O \r i i : [ 0 . . 0044660 1 ] _ I F I n l i n e D e 0044700 f s . B I T A N D [ l p . i d x 0044720 , 4 ] = 0 T H E N 0 0044740 E L S E 1 ; \r m i 0044760 n _ [ M I N [ m i n . x , 0045000 l p . l x ] , M I N [ m i n . 0045020 y , l p . l y ] ] ; \r 0045040 m a x _ [ \r 0045060 M A X [ m a x . x , l p . 0045100 l x + l p . o b . s i z e [ 0045120 i i ] ] , M A X [ \r 0045140 m a x . y , l p . l y 0045160 + l p . o b . s i z e [ i i 0045200 + 1 ] ] ] ; \r 376 001 \0 327 365 0045220 E N D L O O P ; \r 0045240 F O R l p : L O N G P O I 0045260 N T E R T O l i s t _ l 0045300 p p , l p . n x t W H I L E 0045320 l p # N I L D O \r 0045340 l p . l x _ l p . l x 0045360 - m i n . x ; l p . l y 0045400 _ l p . l y - m i n . y ; 0045420 l p . s e l e c t e d _ F 0045440 A L S E ; E N D L O O P ; \r 0045460 c p _ a l o c C L i s 0045500 t [ ] ; \r c p . n x t 0045520 _ c e l l L i s t ; \r 0045540 c e l l L i s t _ c p ; \r 0045560 c p . o b _ m a k e C 0045600 e l l [ m a x . x - m i 376 001 0045620 \0 204 002 n . x , m a x . y - 0045640 m i n . y , 0 , l p p ] ; \r 0045660 c p . n a m e _ n a 0045700 m e ; \r E N D ; - - 0045720 o f M a k e N e w C e l l \r 0045740 \r D r a w C e l l : P R O 0045760 C E D U R E [ o b p : L O N 0046000 G P O I N T E R T O o b j 0046020 e c t ] = \r B E G I N 0046040 \r l p : L O N G P O 0046060 I N T E R T O l i s t _ 0046100 m a k e L i s t [ o b p . p . a 0046120 n o t h e r m e [ o b p ] , x 0046140 x , y y , 0 , 0 ] ; \r 0046160 o b p . r e t u r n a b l e 0046200 _ F A L S E ; \r m a 0046220 s t e 376 001 \0 355 < r L i s t _ 0046240 i n s e r t L i s t [ m a s t e 0046260 r L i s t , l p ] ; \r 0046300 a n y C h a n g e s _ s i n 0046320 c e I O c h a n g e s _ T R 0046340 U E ; \r s e l N e w T h 0046360 i n g [ m a s t e r L i s t , 0046400 l p , T R U E ] ; \r p 0046420 u t M a r k [ x x , y y ] ; \r 0046440 r e D r a w R e c t [ g 0046460 e t R e c t [ l p ] , 0 , T 0046500 R U E , T R U E , F A L S E 0046520 ] ; \r E N D ; - - 0046540 o f D r a w C e l l \r \r E 0046560 x p l a i n : P R O C E D U R 0046600 E [ w h y , e x p l a n a t 0046620 i o n : S T R 376 001 \0 9 234 I N G 0046640 ] = \r B E G I N \r 0046660 I F e x p l a n a t i o n 0046700 = N I L T H E N e x p l 0046720 a n a t i o n _ " " L ; \r 0046740 [ ] _ t y p e I n C [ 0046760 " C a n ' t r u n P L A m a 0047000 k e r [ C o n f i r m ] " L , 0047020 w h y , e x p l a n a t i o 0047040 n ] \r E N D ; \r \r F 0047060 i x E x t e n s i o n : P R O 0047100 C E D U R E [ s , e x t : 0047120 S T R I N G ] R E T U R N S 0047140 [ s e : S T R I N G ] = \r 0047160 B E G I N \r F O R 0047200 i : C A R D I N A L I N 0047220 [ 0 . . s . l e n g t h ) 376 001 \0 0047240 354 371 D O I F s [ i ] = 0047260 ' . T H E N R E T U R N [ s 0047300 ] E N D L O O P ; \r s 0047320 e _ G e t S t r i n g [ s . 0047340 l e n g t h + e x t . l e n 0047360 g t h ] ; \r S t r i n g 0047400 D e f s . A p p e n d S t r i n 0047420 g [ t o : s e , f r o m : 0047440 s ] ; \r S t r i n g D e 0047460 f s . A p p e n d S t r i n g [ 0047500 t o : s e , f r o m : e x 0047520 t ] ; \r F r e e S t r i 0047540 n g [ s ] ; \r E N D ; \r 0047560 \r R e q u e s t S t r i n g 0047600 : P R O C E D U R E [ s 1 : 0047620 S T R I N G _ N I L , s 2 0047640 : 376 001 \0 ^ / S T R I N G _ 0047660 N I L , s 3 : S T R I N G 0047700 _ N I L ] \r R E T U R 0047720 N S [ s R e s u l t : S T R I 0047740 N G ] = \r B E G I N \r 0047760 o k : B O O L E A N ; 0050000 \r [ o k , s R e s u l 0050020 t , ] _ t y p e I n [ \r 0050040 I F s 1 # N I L T 0050060 H E N s 1 E L S E " " L , 0050100 \r I F s 2 # N I L 0050120 T H E N s 2 E L S E " " 0050140 L , \r I F s 3 # N 0050160 I L T H E N s 3 E L S E 0050200 " " L ] ; \r I F N O T 0050220 o k T H E N S I G N A L 0050240 P u n t ; \r 376 001 \0 % 266 E 0050260 N D ; \r \r R e q u e s t I n 0050300 t e g e r : P R O C E D U R E 0050320 [ s 1 : S T R I N G _ N I 0050340 L , s 2 : S T R I N G _ 0050360 N I L ] \r R E T U R N S 0050400 [ I N T E G E R ] = \r 0050420 B E G I N \r D O \r 0050440 s : S T R I N G _ R 0050460 e q u e s t S t r i n g [ s 1 , 0050500 s 2 ] ; \r n : I 0050520 N T E G E R _ S t r i n g D 0050540 e f s . S t r i n g T o D e c i 0050560 m a l [ s : s \r 0050600 ! S t r i n g D e f s . I n 0050620 v a l i d N u m b e r = > { 0050640 F r e e S t r i n g [ s 376 001 \0 233 0050660 ; ] ; L O O P } ] ; \r 0050700 F r e e S t r i n g [ s ] ; 0050720 \r R E T U R N [ n ] 0050740 ; \r E N D L O O P ; 0050760 \r E N D ; \r \r l a y 0051000 d o w n T o p : P R O C E D U 0051020 R E [ p : P o i n t _ [ 0051040 0 , 0 ] ] R E T U R N S [ 0051060 h p : P o i n t ] = \r 0051100 B E G I N \r O r B , 0051120 k : C A R D I N A L ; \r 0051140 f l a g : B O O L E A N _ 0051160 T R U E ; \r \r - - p 0051200 l a c e t h e t o p l e f 0051220 t c o r n e r c e l l , l 0051240 e a v e m a r k a t b o t 0051260 t 376 001 \0 217 X o m r i g h t c 0051300 o r n e r \r h p _ S 0051320 t e p P [ S t e p P [ p , P L 0051340 A D e c o d e r D a t a T o p , 0051360 d o w n ] , P L A D e c o d 0051400 e r T o p L e f t C o r n e r , 0051420 u p ] ; \r h p _ R 0051440 e p l i c a t e [ P L A D e c o 0051460 d e r T o p L e f t C o r n e r 0051500 , h p , 1 , r i g h t ] ; 0051520 \r h p _ S t e p P [ 0051540 h p , P L A D e c o d e r T o 0051560 p L e f t C o r n e r , d o w 0051600 n ] ; \r \r - - p l a c 0051620 e t h e d e c o d e r c e 0051640 l l s , l e a v e m a r k 0051660 a t b o t 376 001 \0 024 Z t o m r 0051700 i g h t c o r n e r \r 0051720 F O R k I N [ 0 . . i n C 0051740 o u n t ) D O \r \t f l a g _ 0051760 i n p u t L i s t [ k ] . T o 0052000 p B o t t o m = b o t t o m ; \r 0052020 \t h p _ S t e p P [ h p , 0052040 P L A D e c o d e r T o p [ f l 0052060 a g ] , u p ] ; \r \t h p _ 0052100 R e p l i c a t e [ P L A D e c 0052120 o d e r T o p [ f l a g ] , h 0052140 p , 1 , r i g h t ] ; \r \t h 0052160 p _ S t e p P [ h p , P L 0052200 A D e c o d e r T o p [ f l a g 0052220 ] , d o w n ] ; \r 0052240 E N D L O O P ; \r \r - - 0052260 p l a c e t h e 376 001 \0 025 243 0052300 i n t e r f a c e c e l l b 0052320 e t w e e n t h e A N D a 0052340 n d O R p l a n e s \r 0052360 h p _ S t e p P [ h p , 0052400 P L A D e c o d e r D a t a T o 0052420 p , u p ] ; \r h p _ 0052440 R e p l i c a t e [ P L A D e 0052460 c o d e r D a t a T o p , h p 0052500 , 1 , r i g h t ] ; \r 0052520 h p _ S t e p P [ h p , 0052540 P L A D e c o d e r D a t a T o 0052560 p , d o w n ] ; \r \r - 0052600 - p l a c e t h e d a t a 0052620 c e l l s , l e a v e m a 0052640 r k a t b o t t o m r i g 0052660 h t c o r n e r \r O r 0052700 376 001 \0 x 262 B _ 0 ; \r 0052720 F O R k I N [ 0 . . o u t 0052740 C o u n t ) D O \r \t f l a g 0052760 _ o u t p u t L i s t [ k ] . 0053000 T o p B o t t o m = b o t t o m 0053020 ; \r \t h p _ S t e p P [ h p 0053040 , P L A D a t a T o p [ f l a 0053060 g ] , u p ] ; \r \t h p _ R 0053100 e p l i c a t e [ P L A D a t a 0053120 T o p [ f l a g ] , h p , 1 0053140 , r i g h t ] ; \r \t h p _ 0053160 S t e p P [ h p , P L A D a t 0053200 a T o p [ f l a g ] , d o w n 0053220 ] ; \r \t O r B _ O r B + 0053240 1 ; \r \t I F ( O r B = b o 0053260 i s t C o u n t ) A N D ( o 0053300 u t C o u 376 001 \0 314 366 n t - k 0053320 ) > m i n B o i s t S p a c 0053340 e \r \t T H E N B E G I N 0053360 \r \t \t O r B _ 0 ; \r \t \t h p 0053400 _ S t e p P [ h p , P L A 0053420 D a t a T o p G n d , u p ] ; 0053440 \r \t \t h p _ R e p l i c a t 0053460 e [ P L A D a t a T o p G n d , 0053500 h p , 1 , r i g h t ] ; \r 0053520 \t \t h p _ S t e p P [ h p , 0053540 P L A D a t a T o p G n d , 0053560 d o w n ] ; \r \t E N 0053600 D ; \r E N D L O O P 0053620 ; \r \r - - p l a c e 0053640 t o p r i g h t c o r n e r 0053660 c e l l , l e a v e m a r 0053700 k a t l e f t 376 001 \0 260 262 b 0053720 o t t o m o f r o w \r 0053740 h p _ S t e p P [ h p , 0053760 P L A D a t a T o p R i g h t C 0054000 o r n e r , u p ] ; \r 0054020 h p _ R e p l i c a t e [ P 0054040 L A D a t a T o p R i g h t C o 0054060 r n e r , h p , 1 , r i g 0054100 h t ] ; \r h p _ S t 0054120 e p P [ p , P L A D e c o d e 0054140 r D a t a T o p , d o w n ] ; 0054160 \r \r E N D ; \r \r \r l 0054200 a y d o w n B o d y : P R O C 0054220 E D U R E [ p : P o i n t 0054240 _ [ 0 , 0 ] ] R E T U R N 0054260 S [ h p : P o i n t ] = \r 0054300 \r B E G I N \r 376 0054320 001 \0 024 304 i , j , k : C A R 0054340 D I N A L _ 0 ; \r A 0054360 n d B , O r B : C A R D I N 0054400 A L _ 0 ; \r P T , 0054420 P T 0 , P T 1 : P T e r m L 0054440 i n k ; \r f l a g : B 0054460 O O L E A N _ T R U E ; \r \r 0054500 F O R i I N h a s 0054520 h I n d e x D O \r 0054540 F O R P T _ h a s h P T e 0054560 r m [ i ] , P T . n e x t U 0054600 N T I L P T = N I L D O \r \r 0054620 \t h p _ p ; \r \t j _ j 0054640 + 1 ; \r \r \t - - l a y d o w 0054660 n t h e D e c o d e r P u 0054700 l l u p \r \t h p _ R e p l i 0054720 c a t e 376 001 \0 353 021 [ P L A D e c 0054740 o d e r L e f t [ f l a g ] , 0054760 h p , 1 , r i g h t ] ; \r \r 0055000 \t - - l a y d o w n t h e 0055020 p r o d u c t t e r m i n p 0055040 u t s \r \t F O R k I N [ 0 0055060 . . i n C o u n t ) D O \r \t 0055100 S E L E C T P T . i n p u t 0055120 . t e r m [ k ] F R O M \r \t 0055140 A s s e r t = > \r \t \t h 0055160 p _ R e p l i c a t e [ P L 0055200 A D e c o d e r [ T R U E ] [ F 0055220 A L S E ] , h p , 1 , r i 0055240 g h t ] ; \r \t I n v e r 0055260 t = > \r \t \t h p _ R e p l 0055300 i c a t e [ P L A D e c o d e r 0055320 [ F A L S E ] [ T 376 001 \0 256 \n R U 0055340 E ] , h p , 1 , r i g h t 0055360 ] ; \r \t A b s e n t = 0055400 > \r \t \t h p _ R e p l i c a 0055420 t e [ P L A D e c o d e r [ F A 0055440 L S E ] [ F A L S E ] , h p , 0055460 1 , r i g h t ] ; \r \t 0055500 E N D C A S E ; \r \t E N D L O O 0055520 P ; \r \t I F f l a g \r \t 0055540 T H E N P T 0 _ P T \r 0055560 \t E L S E P T 1 _ P 0055600 T ; \r \r \t - - l a y d o w n 0055620 t h e O R p l a n e i n 0055640 p a i r s \r \t f l a g _ N O 0055660 T f l a g ; \r \t I F f l a g 0055700 T H E N B E G I N \r \r \t 0055720 - - l a y d o w n t h 376 001 0055740 \0 251 \ e i n t e r f a c e b 0055760 l o c k \r \t h p _ S t 0056000 e p P [ h p , P L A D e c o d 0056020 e r [ F A L S E ] [ F A L S E ] 0056040 , u p ] ; \r \t h p _ 0056060 R e p l i c a t e [ P L A D e c 0056100 o d e r D a t a , h p , 1 , 0056120 r i g h t ] ; \r \r \t - - 0056140 l a y d o w n t h e o u t 0056160 p u t s t h a t t h e p r 0056200 o d u c t t e r m d r i v e 0056220 s \r \t O r B _ 0 ; \r \t 0056240 F O R k I N [ 0 . . 0056260 o u t C o u n t ) D O \r \t 0056300 h p _ R e p l i c a t 0056320 e [ P L A D a t a [ P T 1 . o u 0056340 t p u 376 001 \0 a 213 t . t e r m [ k 0056360 ] = A s s e r t ] \r \t \t \t 0056400 [ P T 0 . o u t p u t . t e r m 0056420 [ k ] = A s s e r t ] , h p , 0056440 1 , r i g h t ] ; \r \t 0056460 O r B _ O r B + 1 ; 0056500 \r \t I F O r B = 0056520 b o i s t C o u n t A N D ( 0056540 o u t C o u n t - k ) > m i 0056560 n B o i s t S p a c e \r \t 0056600 T H E N B E G I N \r \t 0056620 \t h p _ R e p l i c a t e 0056640 [ P L A D a t a V G n d , h p 0056660 , 1 , r i g h t ] ; \r \t \t 0056700 O r B _ 0 ; \r \t \t E N D ; \r 0056720 \t E N D L O O P ; \r \r 0056740 \t - - l 376 001 \0 . 247 a y d 0056760 o w n t h e r i g h t e n 0057000 d c e l l \r \t h p _ 0057020 R e p l i c a t e [ P L A D a t 0057040 a R i g h t , h p , 1 , r 0057060 i g h t ] ; \r \r \t E N D ; \r \r 0057100 \t - - S t e p d o w n t 0057120 o t h e n e w l a y e r \r 0057140 \t p _ S t e p P [ p , P 0057160 L A D e c o d e r [ F A L S E ] 0057200 [ F A L S E ] , d o w n ] ; \r 0057220 \r \t - - l a y d o w n t h 0057240 e b o i s t e r s t r i p 0057260 e v e r y b o i s t C o u n t 0057300 l a y e r s \r \t A n d B _ 0057320 A n d B + 1 ; \r \t I F 0057340 A n d B = b o i s t C 376 001 \0 0057360 016 K o u n t A N D ( P T e r 0057400 m C o u n t - j ) > m i 0057420 n B o i s t S p a c e \r \t 0057440 T H E N B E G I N \r \t \t A n 0057460 d B _ 0 ; \r \t \t h p _ R 0057500 e p l i c a t e [ P L A D e c o 0057520 d e r L e f t G n d , p , 1 0057540 , r i g h t ] ; \r \t \t F O R 0057560 k I N [ 0 . . i n C o u 0057600 n t ) D O \r \t \t h p _ 0057620 R e p l i c a t e [ P L A D e c 0057640 o d e r G n d , h p , 1 , 0057660 r i g h t ] ; \r \t \t E N D L O 0057700 O P ; \r \t \t h p _ R e p l i 0057720 c a t e [ P L A D e c o d e r D 0057740 a t a G n d , h p , 1 , r 0057760 i g 376 001 \0 243 222 h t ] ; \r \t \t O r 0060000 B _ 0 ; \r \t \t F O R k I 0060020 N [ 0 . . o u t C o u n t ) 0060040 D O \r \t \t h p _ R e p 0060060 l i c a t e [ P L A D a t a H G 0060100 n d , h p , 1 , r i g h t 0060120 ] ; \r \t \t O r B _ O r 0060140 B + 1 ; \r \t \t I F ( 0060160 O r B = b o i s t C o u n t 0060200 ) A N D ( o u t C o u n t - 0060220 k ) > m i n B o i s t S p a 0060240 c e \r \t \t T H E N B 0060260 E G I N \r \t \t \t h p _ R e p 0060300 l i c a t e [ P L A D a t a G n 0060320 d , h p , 1 , r i g h t ] 0060340 ; \r \t \t \t O r B _ 0 ; \r \t \t 0060360 E 376 001 \0 237 021 N D ; \r 0060400 \t \t E N D L O O P ; \r \t \t 0060420 h p _ R e p l i c a t e [ P 0060440 L A D a t a R i g h t G n d , 0060460 h p , 1 , r i g h t ] ; \r \t 0060500 \t p _ S t e p P [ p , P L 0060520 A D e c o d e r L e f t G n d , 0060540 d o w n ] ; \r \t E N D 0060560 ; \r \r E N D L O O P ; 0060600 \r E N D L O O P ; \r \r 0060620 - - c h e c k f o r o d 0060640 d n u m b e r o f p r o d 0060660 u c t t e r m s a n d f i 0060700 n i s h l a y o u t \r 0060720 - - i f n e c e s s a r y \r 0060740 I F N O T f l a g T 0060760 H E N B E G I N \r \r \t 376 001 \0 227 0061000 265 - - l a y d o w n a N U 0061020 L L A N D t e r m r o w \r 0061040 \t h p _ p ; \r \t h p _ R 0061060 e p l i c a t e [ P L A D e c o 0061100 d e r L e f t [ f l a g ] , h 0061120 p , 1 , r i g h t ] ; \r \t h 0061140 p _ R e p l i c a t e [ P L 0061160 A D e c o d e r [ F A L S E ] [ 0061200 F A L S E ] , h p , i n C o 0061220 u n t , r i g h t ] ; \r \r \t - 0061240 - l a y d o w n t h e i n 0061260 t e r f a c e b l o c k \r \t 0061300 h p _ S t e p P [ h p , 0061320 P L A D e c o d e r [ F A L S 0061340 E ] [ F A L S E ] , u p ] ; \r 0061360 \t h p _ R e p l i c a 0061400 t 376 001 \0 [ { e [ P L A D e c o d 0061420 e r D a t a , h p , 1 , r 0061440 i g h t ] ; \r \r \t - - l 0061460 a y d o w n t h e o u t p u 0061500 t s t h a t t h e p r o d 0061520 u c t t e r m d r i v e s \r 0061540 \t O r B _ 0 ; \r \t 0061560 F O R k I N [ 0 . . o u 0061600 t C o u n t ) D O \r \t 0061620 h p _ R e p l i c a t e [ 0061640 P L A D a t a [ F A L S E ] \r \t 0061660 \t \t [ P T 0 . o u t p u t 0061700 . t e r m [ k ] = A s s e r t ] 0061720 , h p , 1 , r i g h t ] ; 0061740 \r \t O r B _ O r B 0061760 + 1 ; \r \t I F O 0062000 r B = b 376 001 \0 i 201 o i s t C 0062020 o u n t A N D ( o u t C o u 0062040 n t - k ) > m i n B o i s t 0062060 S p a c e \r \t T H 0062100 E N B E G I N \r \t \t h p _ 0062120 R e p l i c a t e [ P L A D a 0062140 t a V G n d , h p , 1 , r 0062160 i g h t ] ; \r \t \t O r B _ 0062200 0 ; \r \t \t E N D ; \r \t 0062220 E N D L O O P ; \r \r \t - - 0062240 l a y d o w n t h e r i g 0062260 h t e n d c e l l \r \t 0062300 h p _ R e p l i c a t e [ P 0062320 L A D a t a R i g h t , h p , 0062340 1 , r i g h t ] ; \r \r \t 0062360 - - S t e p d o w n t o 0062400 t h e n e w l a 376 001 \0 ( 273 0062420 y e r \r \t p _ S t e p 0062440 P [ p , P L A D e c o d e r [ 0062460 F A L S E ] [ F A L S E ] , d 0062500 o w n ] ; \r \r \t E N D ; \r \r 0062520 h p _ p ; \r \r E 0062540 N D ; \r \r l a y d o w n B o 0062560 t t o m : P R O C E D U R E 0062600 [ p : P o i n t _ [ 0 , 0062620 0 ] ] R E T U R N S [ h p : 0062640 P o i n t ] = \r \r B 0062660 E G I N \r O r B , k 0062700 : C A R D I N A L _ 0 ; \r 0062720 f l a g : B O O L E 0062740 A N _ T R U E ; \r \r 0062760 h p _ p ; \r h p 0063000 _ R e p l i c a t e [ P L A 0063020 376 001 \0 267 202 D e c o d e r B o t t 0063040 o m L e f t C o r n e r , h p 0063060 , 1 , r i g h t ] ; \r 0063100 F O R k I N [ 0 . . i 0063120 n C o u n t ) D O \r \t f l a g 0063140 _ i n p u t L i s t [ k ] . 0063160 T o p B o t t o m = b o t t o m 0063200 ; \r \t h p _ R e p l i c a t 0063220 e [ P L A D e c o d e r B o t t 0063240 o m [ f l a g ] , h p , 1 , 0063260 r i g h t ] ; \r E 0063300 N D L O O P ; \r h p 0063320 _ R e p l i c a t e [ P L A D 0063340 e c o d e r D a t a B o t t o m 0063360 , h p , 1 , r i g h t ] ; 0063400 \r F O R k I N [ 0063420 0 . . o u 376 001 \0 I 322 t C o u n t 0063440 ) D O \r \t f l a g _ o u t 0063460 p u t L i s t [ k ] . T o p B o 0063500 t t o m = b o t t o m ; \r \t h p 0063520 _ R e p l i c a t e [ P L A 0063540 O u t M u x [ f l a g ] , h p 0063560 , 1 , r i g h t ] ; \r \t O r 0063600 B _ O r B + 1 ; \r \t I F 0063620 O r B = b o i s t C o u n 0063640 t A N D ( o u t C o u n t - 0063660 k ) > m i n B o i s t S p a 0063700 c e \r \t T H E N B E G I N 0063720 \r \t \t h p _ R e p l i c a 0063740 t e [ P L A D a t a B o t t o m 0063760 G n d , h p , 1 , r i g h 0064000 t ] ; \r \t \t O r B _ 0 ; \r 0064020 \t \t E N D ; \r 376 001 \0 \n 241 0064040 E N D L O O P ; \r h 0064060 p _ R e p l i c a t e [ P L 0064100 A D a t a B o t t o m R i g h t 0064120 C o r n e r , h p , 1 , r 0064140 i g h t ] ; \r E N D ; \r 0064160 \r \r o k : B O O L E A N ; 0064200 \r - - b o d y H e i g h t , 0064220 d e c o d e r D a t a X , d 0064240 a t a X , d a t a R i g h t X 0064260 : l o c N u m ; \r - - c u 0064300 r P t : P o i n t ; \r - - 0064320 d e c o d e r W i d t h , w o 0064340 r d s P e r D a t a R o w , w 0064360 o r d C o u n t , w o r d W i 0064400 d t h : C A R D I N A L ; \r 0064420 - - l o g W o r d s P e r D 376 0064440 001 \0 ` 024 a t a R o w : I N T E 0064460 G E R ; \r f i l e N a m e , 0064500 m e m N a m e , c e l l F a 0064520 m i l y , P L A N a m e , w 0064540 d P e r R o w S t r : S T R I 0064560 N G _ N I L ; \r s : S 0064600 t r e a m D e f s . S t r e a m 0064620 H a n d l e _ N I L ; \r 0064640 l p p : L O N G P O I N T E 0064660 R T O l i s t _ N I L ; 0064700 - - l i s t o f c e l 0064720 l s a l r e a d y p l a c e 0064740 d \r \r - - M a i n 0064760 B o d y \r \r B E G 0065000 I N \r E N A B L E P u n t 0065020 = > G O T O E x i t ; 0065040 - - f 376 001 \0 d [ o r e x i t 0065060 s \r [ o k , f i l e N a m 0065100 e , ] _ t y p e I n [ " " 0065120 L , " D a t a f i l e : " L 0065140 , " . s l i m f o r m a t " 0065160 L ] ; \r I F N O T o k 0065200 T H E N G O T O E x i t ; \r 0065220 f i l e N a m e _ F i x 0065240 E x t e n s i o n [ f i l e N a 0065260 m e , " . s l i m " L ] ; \r 0065300 s _ S t r e a m D e f s . 0065320 N e w B y t e S t r e a m [ \r 0065340 f i l e N a m e , S t r 0065360 e a m D e f s . R e a d ! \r 0065400 S e g m e n t D e f s . F 0065420 i l e N a m e E r r o r = > 0065440 { \r E 376 001 \0 317 210 x p 0065460 l a i n [ " C a n ' t f i n d 0065500 . s l i m f i l e " L , n 0065520 a m e ] ; G O T O E x i t } 0065540 ] ; \r \r [ o k , c e l l F 0065560 a m i l y , ] _ t y p e I 0065600 n [ " C e l l f a m i l y : " 0065620 L , " " L , " " L ] ; \r 0065640 I F N O T o k T H E N G 0065660 O T O E x i t ; \r [ o k , 0065700 P L A N a m e , ] _ t y 0065720 p e I n [ " N a m e o f c o 0065740 m p l e t e d P L A c e l l 0065760 : " L , " " L , " " L ] ; \r 0066000 I F N O T o k T H E N 0066020 G O T O E x i t ; \r F i 0066040 n d P L A C e l l s [ c e l 376 001 0066060 \0 i 352 l F a m i l y ] ; \r \r 0066100 - - B u i l d t h e P L A 0066120 ' s P r o d u c t T e r m 0066140 M a t r i x \r B u i l d P r 0066160 o d u c t T e r m s [ s ] ; \r \r 0066200 - - C o n s t r u c t t 0066220 h e P L A s y m b o l \r 0066240 B E G I N \r f l a g : 0066260 B O O L E A N _ T R U E ; \r 0066300 p , h p : P o i n t 0066320 ; \r \r p _ h p _ 0066340 [ 0 , 0 ] ; \r b o i s 0066360 t C o u n t _ R e q u e s t 0066400 I n t e g e r [ " N u m b e r 0066420 o f M i n T e r m s b e t 0066440 w e e n G N D L i n e s : " 0066460 L ] ; 376 001 \0 7 k \r m i n 0066500 B o i s t S p a c e _ R e q 0066520 u e s t I n t e g e r [ " M i n 0066540 i m u m n u m b e r o f M 0066560 i n T e r m s b e t w e e n 0066600 G N D l i n e s " L ] ; \r \r 0066620 - - l a y d o w n t 0066640 h e t o p o f t h e P L 0066660 A \r p _ l a y d o w 0066700 n T o p [ p ] ; \r \r - - 0066720 l a y d o w n t h e b o d 0066740 y o f t h e P L A \r 0066760 p _ l a y d o w n B o d y 0067000 [ p ] ; \r \r - - l a y 0067020 d o w n t h e b o t t o m 0067040 o f t h e P L A \r p 0067060 _ l a y d o 376 001 \0 e 262 w n B 0067100 o t t o m [ p ] ; \r \r E N D 0067120 ; \r \r D r a w C e l l [ M a 0067140 k e N e w C e l l [ P L A N a m 0067160 e , l p p ] . o b ] ; \r P 0067200 L A N a m e _ N I L ; - 0067220 - w e g a v e t h e n a 0067240 m e t o t h e c e l l \r \r 0067260 \r \r \r - - w o r d s P e r D a t 0067300 a R o w _ 1 ; l o g W o r 0067320 d s P e r D a t a R o w _ 0 0067340 ; \r - - I F P L A O u t M u x 0067360 [ F A L S E ] # N I L T H E N 0067400 \r - - B E G I N \r - - t 0067420 : C A R D I N A L ; \r - - 0067440 [ o k , w d P e r R o w S t r 0067460 , ] _ t y p e I n [ 376 001 \0 0067500 o 006 " " L , " W o r d s p e 0067520 r r o w : " L , " ( p o w e 0067540 r o f 2 ) " L ] ; \r - - 0067560 I F N O T o k T H E N G 0067600 O T O E x i t ; \r - - t 0067620 _ S t r i n g D e f s . S t r 0067640 i n g T o N u m b e r [ s : w 0067660 d P e r R o w S t r , r a d i 0067700 x : 1 0 ] ; \r - - F O R 0067720 w o r d s P e r D a t a R o w 0067740 _ 1 , 2 * w o r d s P e r D 0067760 a t a R o w W H I L E w o r 0070000 d s P e r D a t a R o w < t D 0070020 O \r - - l o g W o r d s 0070040 P e r D a t a R o w _ l o g 0070060 W o r d s P e r D a t a R o w + 0070100 1 ; 376 001 \0 366 ] \r - - E N 0070120 D L O O P ; \r - - E N D ; \r 0070140 \r - - M B . R e C a s t [ m e m 0070160 : m b M e m , n e w W o r d 0070200 W i d t h : m b M e m . w i d 0070220 t h * w o r d s P e r D a t a R 0070240 o w ] ; \r - - M B . S u p p r e 0070260 s s D e f a u l t W o r d s [ m 0070300 e m : m b M e m , d e f a u 0070320 l t : F A L S E ] ; \r - - [ d 0070340 e c o d e r W i d t h , w o r 0070360 d C o u n t , w o r d W i d t 0070400 h ] _ M B . A n a l y z e M 0070420 e m o r y [ m b M e m ] ; \r \r - 0070440 - d e c o d e r W i d t h _ 0070460 d e c o d e r W i d t h + l o g 0070500 W o r d s P e 376 001 \0 322 ` r D a t 0070520 a R o w ; \r - - w o r d C o u n 0070540 t _ w o r d C o u n t + 0070560 ( w o r d C o u n t M O D 2 0070600 ) + 2 * l o g W o r d s P e r D 0070620 a t a R o w ; \r \r - - b o d y H 0070640 e i g h t _ S t e p P [ , 0070660 d e c o d e C e l l , d o w n 0070700 A n d R i g h t , [ x : 1 , 0070720 y : w o r d C o u n t ] ] . 0070740 y ; \r - - d e c o d e r D a t a 0070760 X _ S t e p P [ , d e c o 0071000 d e C e l l , d o w n A n d R 0071020 i g h t , [ x : d e c o d e 0071040 r W i d t h , y : 1 ] ] . x 0071060 ; \r - - d a t a X _ S t e p 0071100 P [ [ d e c o d e r D a 376 001 \0 304 0071120 257 t a X , 0 ] , P L A D e c 0071140 o d e r D a t a , r i g h t ] 0071160 . x ; \r - - d a t a R i g h t X 0071200 _ S t e p P [ \r - - [ d 0071220 a t a X , 0 ] , P L A D a t 0071240 a [ F A L S E ] [ F A L S E ] , 0071260 r i g h t , [ x : w o r d 0071300 W i d t h , y : 1 ] ] . x ; 0071320 \r \r - - [ ] _ R e p l i c a 0071340 t e E v e n O d d [ \r - - P 0071360 L A D e c o d e r L e f t , S 0071400 t e p P [ [ 0 , 0 ] , P L A 0071420 D e c o d e r L e f t [ F A L S 0071440 E ] , l e f t ] , w o r d C 0071460 o u n t , d o w n ] ; \r - - [ 0071500 ] _ R e p l i c a t e [ \r - 0071520 - 376 001 \0 002 231 P L A D e c o d 0071540 e r T o p L e f t C o r n e r , 0071560 S t e p P [ [ 0 , 0 ] , P 0071600 L A D e c o d e r T o p L e f t 0071620 C o r n e r , u p A n d L e f 0071640 t ] ] ; \r - - [ ] _ R e p l 0071660 i c a t e [ \r - - P L A D e 0071700 c o d e r B o t t o m L e f t C 0071720 o r n e r , S t e p P [ \r - - 0071740 [ 0 , b o d y H e i g h t 0071760 ] , P L A D e c o d e r B o t 0072000 t o m L e f t C o r n e r , l 0072020 e f t ] ] ; \r - - [ ] _ R e 0072040 p l i c a t e [ \r - - P L A 0072060 D e c o d e r T o p , S t e p 0072100 P [ [ 0 , 0 ] , P L A D e c 0072120 o d e r T o 376 001 \0 3 1 p , u p 0072140 ] , d e c o d e r W i d t h , 0072160 r i g h t ] ; \r - - [ ] _ 0072200 R e p l i c a t e [ P L A D e c 0072220 o d e r B o t t o m , [ 0 , 0072240 b o d y H e i g h t ] , d e c 0072260 o d e r W i d t h , r i g h t 0072300 ] ; \r - - [ ] _ R e p l i c 0072320 a t e [ \r - - P L A D e c o 0072340 d e r D a t a T o p , S t e p 0072360 P [ [ d e c o d e r D a t a X , 0072400 0 ] , P L A D e c o d e r D 0072420 a t a T o p , u p ] ] ; \r - - 0072440 c u r P t _ R e p l i c a t 0072460 e [ P L A D e c o d e r D a t a 0072500 , [ d e c o d e r D a t a X , 0072520 0 ] , w o r d C o 376 001 \0 301 343 0072540 u n t / 2 , d o w n ] ; \r - - 0072560 [ ] _ R e p l i c a t e [ P 0072600 L A D e c o d e r D a t a B o t 0072620 t o m , c u r P t ] ; \r - - [ 0072640 ] _ R e p l i c a t e E v e 0072660 n O d d [ \r - - P L A D a t 0072700 a T o p , S t e p P [ [ d a t 0072720 a X , 0 ] , P L A D a t a T 0072740 o p [ F A L S E ] , u p ] , \r 0072760 - - w o r d W i d t h , 0073000 r i g h t ] ; \r - - [ ] _ 0073020 R e p l i c a t e [ \r - - P 0073040 L A D a t a T o p R i g h t C o 0073060 r n e r , S t e p P [ [ d a t 0073100 a R i g h t X , 0 ] , P L A 0073120 D a t a T o p R i g h t C o r n 0073140 376 001 \0 ' 256 e r , u p ] ] ; \r - 0073160 - [ ] _ R e p l i c a t e [ 0073200 P L A D a t a R i g h t , [ d 0073220 a t a R i g h t X , 0 ] , w 0073240 o r d C o u n t / 2 , d o w n 0073260 ] ; \r - - [ ] _ R e p l i c 0073300 a t e [ P L A D a t a B o t t o 0073320 m R i g h t C o r n e r , [ d 0073340 a t a R i g h t X , b o d y H 0073360 e i g h t ] ] ; \r - - I F w o 0073400 r d s P e r D a t a R o w = 1 0073420 T H E N \r - - [ ] _ R e 0073440 p l i c a t e E v e n O d d [ P 0073460 L A D a t a B o t t o m , [ d 0073500 a t a X , b o d y H e i g h t 0073520 ] , w o r d W i d t h , r i 0073540 g h t ] \r 376 001 \0 330 a - - E L S E 0073560 \r - - B E G I N \r - - c 0073600 u r P t _ [ d a t a X , b 0073620 o d y H e i g h t ] ; \r - - 0073640 F O R i : C A R D I N A L 0073660 I N [ 0 . . w o r d W i d t h 0073700 / w o r d s P e r D a t a R o w 0073720 ) D O \r - - c u r P t 0073740 _ R e p l i c a t e [ P L A 0073760 O u t M u x [ F A L S E ] , c 0074000 u r P t , 1 , r i g h t ] ; 0074020 \r - - c u r P t _ R 0074040 e p l i c a t e [ P L A O u t M 0074060 u x [ T R U E ] , c u r P t , 0074100 w o r d s P e r D a t a R o w 0074120 / 2 - 1 , r i g h t ] ; \r - - 0074140 E N D L O O 376 001 \0 304 312 P 0074160 ; \r - - E N D ; \r - - M a k 0074200 e D e c o d e r B l o c k [ P L 0074220 A D e c o d e r , [ 0 , 0 ] 0074240 , [ d e c o d e r W i d t h , 0074260 w o r d C o u n t ] , m b M 0074300 e m ] ; \r - - M a k e D a t a B 0074320 l o c k [ P L A D a t a , [ d 0074340 a t a X , 0 ] , [ w o r d W 0074360 i d t h , w o r d C o u n t / 0074400 2 ] , m b M e m ] ; \r \r - - D 0074420 r a w C e l l [ M a k e N e w C 0074440 e l l [ P L A N a m e , l p p 0074460 ] . o b ] ; \r E X I T S E 0074500 x i t = > N U L L ; \r E 0074520 N D ; \r \r - - g i v e b 0074540 a c k a l l t h e s t o 376 0074560 001 \0 367 ` r a g e w e a l l o 0074600 c a t e d \r \r - - F r e e B l o 0074620 c k s [ ] ; \r Z _ Z o n 0074640 e A l l o c D e f s . D e s t r 0074660 o y A n X M Z o n e [ Z ] ; \r 0074700 I F f i l e N a m e # N 0074720 I L T H E N F r e e S t r i 0074740 n g [ f i l e N a m e ] ; \r 0074760 I F m e m N a m e # N I L 0075000 T H E N F r e e S t r i n g 0075020 [ m e m N a m e ] ; \r I F 0075040 c e l l F a m i l y # N I L 0075060 T H E N F r e e S t r i n g 0075100 [ c e l l F a m i l y ] ; \r 0075120 I F P L A N a m e # N I L 0075140 T H E N F r e e S t r i n g 0075160 [ P L A 376 \0 235 313 222 N a m e ] ; \r 0075200 I F w d P e r R o w S t r 0075220 # N I L T H E N F r e e 0075240 S t r i n g [ w d P e r R o w S 0075260 t r ] ; \r I F s # N I 0075300 L T H E N s . d e s t r o y 0075320 [ s ] ; \r a n y C h a n g e 0075340 s _ s i n c e I O c h a n g 0075360 e s _ T R U E ; \r \r E N 0075400 D . - - o f P L A M a k e 0075420 r I m p l \r 377 \0 \0 P L A M a k e 0075440 r . c o n f i g \0 373 230 [ 250 354 \0 \0 0075460 376 001 \0 [ N - - P L A M a k e r 0075500 . c o n f i g \r - - m o d i f 0075520 i e d b y C a r y K o r n 0075540 f e l d : O c t o b e r 1 0075560 , 1 9 8 1 1 0 : 0 6 A M 0075600 \r - - w r i t t e n b y M 0075620 c C r e i g h t : A u g u s 0075640 t 7 , 1 9 8 1 5 : 0 2 0075660 P M \r \r P L A M a k e r : C O 0075700 N F I G U R A T I O N \r I M P O 0075720 R T S \r p p d d d e f s , p 0075740 p d d e f s , p p d e f s , S e 0075760 g m e n t D e f s , I O D e f s 0076000 , Z o n e A l l o c D e f s , \r 0076020 S t r e a m D e f s , S t r 0076040 i n g D e f s \r C O N T R O L \r 0076060 P l a 376 \0 8 205 ; M a k e r I 0076100 m p l = \r B E G I N \r P l a M 0076120 a k e r I m p l ; \r E N D . \r 032 0076140 ( 1 7 9 2 ) \ 3 b 8 B 1 1 6 b 8 0076160 B \r 377 \0 \0 P L A m a k e r - s o 0076200 u r c e s . c m \0 373 227 343 O 327 \0 \0 0076220 376 \0 021 246 @ P L A M a k e r I m p 0076240 l . m e s a 377 \0 \0 P L A m a k e 0076260 r - s a v e . c m \0 373 234 266 331 221 \0 0076300 \0 376 \0 313 220 250 f t p i n d i g o 0076320 c o n n / c c h i p m o n k 0076340 d i r / c > X P L A m a k e 0076360 r s t / c P L A M a k e r . 0076400 c h i p b c d P L A M a k e r 0076420 . s y m b o l s d u m p / c 0076440 P L A m a k e r - s o u r c e s 0076460 . d m @ P L A m a k e r - s o 0076500 u r c e s . c m @ P L A M a k 0076520 e r . c o n f i g P L A m a k 0076540 e r - s o u r c e s . c m P L 0076560 A m a k e r - s a v e . c m P 0076600 L A m a k e r - d e l e t e . c 0076620 m 377 \0 \0 P L A m a k e r - d e l 0076640 e t e . c m \0 373 234 266 331 221 \0 \0 376 \0 0076660 234 271 274 d e l e t e @ P L A m a 0076700 k e r - s o u r c e s . c m @ 0076720 M a k e P L A . c o n f i g P 0076740 L A m a k e r - s a v e . c m 0076760 P L A m a k e r - d e l e t e . 0077000 c m \r @ . s y m b o l s . . . @ 0077020 d e l e t e P L A m a k e r 0077040 . s y m b o l s \r @ . c h i p b 0077060 c d . . . @ d e l e t e P L 0077100 A m a k e r . c h i p b c d \r 374 0077120