$ 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