$ od -c -N 50000 [_CD6_]<sil>GobSources.dm!1>gobd.bcpl 0000000 / / g o b d . b c p l \r / / n e 0000020 w g o b b l e r f o r s i 0000040 l f i l e s \r \r g e t " s y 0000060 s d e f s . d " \r g e t " g o 0000100 b . d e f s " \r \r s t a t i c \r 0000120 [ \r A d d D e l e t e N e t N u 0000140 m = 1 \r ] \r \r s t r u c t u r e 0000160 o l d n o d e : \r [ 032 ( 6 3 5 0000200 ) \ f 1 \r n o d e t y p e b y 0000220 t e \r u a t b i t 1 \r [ 032 l 0000240 4 2 6 9 \ f 1 \r i p i n b i t 0000260 7 \r b l w o r d 032 l 5 5 3 9 0000300 \ f 1 \r ] \r = [ 032 l 4 2 6 9 \ 0000320 f 1 \r b l a n k b i t 7 \r p 0000340 i n w o r d 032 l 5 5 3 9 \ f 1 0000360 \r ] \r n o d e s t p w o r d \r 0000400 n o d e a d r w o r d 032 l 4 2 0000420 6 9 \ f 1 \r ] \r m a n i f e s t 0000440 \r [ \r o n s i z e = ( s i z 0000460 e o l d n o d e ) / 1 6 \r ] \r 0000500 \r l e t R e a d N e t N a m e 0000520 ( l i n e , n a m e s t r , l v 0000540 N e t l e n g t h ) = v a l 0000560 o f / / r e t u r n s n e t 0000600 n u m b e r , o r 0 i f 0000620 t h i s i s n o t a n 0000640 e t n a m e \r [ 032 \ f 1 \r n a 0000660 m e s t r ! 0 = 0 \r l e t 0000700 l i n d e x = 1 \r i f R e 0000720 a d T o ( l i n e , $ : , l v 0000740 l i n d e x , n a m e s t r ) 0000760 t h e n r e s u l t i s 0 \r 0001000 l e t n e t s t r = v e c 0001020 1 0 ; n e t s t r ! 0 = 0 \r 0001040 i f R e a d T o ( l i n e , $ 0001060 < , l v l i n d e x ) t h e 0001100 n r e s u l t i s 0 \r i f 0001120 R e a d T o ( l i n e , $ > , l 0001140 v l i n d e x , n e t s t r ) 0001160 t h e n r e s u l t i s 0 0001200 \r l e t n e t n o = C S N 0001220 ( n e t s t r ) \r i f R e a d 0001240 T o ( l i n e , $ ( , l v l i 0001260 n d e x ) t h e n r e s u l 0001300 t i s 0 \r n e t s t r ! 0 = 0001320 0 \r i f R e a d T o ( l i n 0001340 e , $ ) , l v l i n d e x , 0001360 n e t s t r ) t h e n r e s 0001400 u l t i s 0 \r @ l v N e t l e 0001420 n g t h = C S N ( n e t s t 0001440 r ) \r r e s u l t i s n e t n 0001460 o \r 032 l 4 2 6 9 \ f 1 \r ] \r \r a 0001500 n d C S N ( s t x ) = v a 0001520 l o f \r [ 032 \ f 1 \r l e t n u 0001540 m = 0 \r f o r i = 1 0001560 t o s t x > > s t r . l e n g 0001600 t h d o 032 l 4 2 6 9 \ f 1 \r [ 0001620 032 l 4 2 6 9 \ f 1 \r l e t c 0001640 h = s t x > > s t r . c h a 0001660 r ^ i \r i f ( c h l s $ 0 0001700 ) % ( c h g r $ 9 ) t h e 0001720 n r e s u l t i s - 1 \r n u 0001740 m = n u m * 1 0 + c h - 0001760 $ 0 032 l 5 5 3 9 \ f 1 \r ] \r \r r 0002000 e s u l t i s n u m 032 l 4 2 6 0002020 9 \ f 1 \r ] \r \r a n d R e a d 0002040 T o ( s r c , s t o p c h a r , 0002060 l v I n d e x , d e s t ; n 0002100 u m a r g s n a ) = v a l 0002120 o f \r [ 032 \ f 1 \r l e t m a x 0002140 = s r c > > s t r . l e n g 0002160 t h \r [ 032 l 4 2 6 9 \ f 1 \r i f 0002200 @ l v I n d e x g r m a x 0002220 t h e n r e s u l t i s t 0002240 r u e \r l e t c h = s r c 0002260 > > s t r . c h a r ^ ( @ l v I 0002300 n d e x ) / / r e a d c h a 0002320 r \r @ l v I n d e x = @ l v 0002340 I n d e x + 1 \r i f c h e q 0002360 s t o p c h a r t h e n r 0002400 e s u l t i s f a l s e \r i f 0002420 n a g r 3 t h e n A p 0002440 p e n d C ( c h , d e s t ) 032 l 0002460 5 5 3 9 \ f 1 \r ] r e p e a t 0002500 032 l 4 2 6 9 \ f 1 \r ] \r a n d 0002520 P r o c e s s L i n e ( s r c ) 0002540 = v a l o f \r [ 032 \ f 1 \r l 0002560 e t n u m n o d e s = 0 \r 0002600 l e t s r c i n d e x = 1 0002620 \r l e t n o d e v = v e c 0002640 5 0 \r [ 032 l 4 2 6 9 \ f 1 \r n 0002660 o d e v ! 0 = 0 \r i f R e 0002700 a d T o ( s r c , $ { , l v s 0002720 r c i n d e x , n o d e v ) t 0002740 h e n b r e a k \r i f R e a 0002760 d T o ( s r c , $ } , l v s r 0003000 c i n d e x ) t h e n b r e 0003020 a k \r u n l e s s M a k e N 0003040 o d e ( n o d e v ) t h e n 0003060 b r e a k \r n u m n o d e s = 0003100 n u m n o d e s + 1 032 l 5 5 3 0003120 9 \ f 1 \r ] r e p e a t \r i f 0003140 n u m n o d e s e q 0 t 0003160 h e n r e s u l t i s f a l 0003200 s e \r r e s u l t i s t r u e 0003220 032 l 4 2 6 9 \ f 1 \r ] \r a n d 0003240 M a k e N o d e ( s t ) = v 0003260 a l o f \r [ 032 \ f 1 \r i f s t 0003300 > > s t r . l e n g t h e q 0003320 0 t h e n r e s u l t i s 0003340 f a l s e \r l e t n o d e p t 0003360 r = N e w I t e m + 1 + ( N 0003400 e w I t e m ! 0 ) * o n s i z e 0003420 / / p o i n t e r t o n e 0003440 x t n o d e t o a d d \r n 0003460 o d e p t r > > o l d n o d e . 0003500 n o d e t y p e = 0 \r n o d e 0003520 p t r > > o l d n o d e . u a t 0003540 = 0 \r l e t s t i n d e x 0003560 = 1 \r l e t c h = $ * 0003600 s \r w h i l e c h e q $ * 0003620 s d o [ c h = s t > > 0003640 s t r . c h a r ^ s t i n d e x 0003660 ; s t i n d e x = s t i n 0003700 d e x + 1 ] \r / / c h n o w 0003720 h a s f i r s t n o n - s 0003740 p a c e c h a r , s t i n d 0003760 e x p o i n t s t o t h e 0004000 n e x t o n e \r t e s t c 0004020 h g r $ Z / / n o r m a 0004040 l i c p i n ( s m a l l l 0004060 e t t e r ) , o r s p e c i 0004100 a l ( b i g ) \r i f s o \r [ 032 0004120 l 4 2 6 9 \ f 1 \r l e t n v 0004140 = v e c 5 ; n v ! 0 = 0 \r i 0004160 f R e a d T o ( s t , $ . , l 0004200 v s t i n d e x , n v ) t h 0004220 e n r e s u l t i s f a l s 0004240 e \r l e t b o a r d l o c = 0004260 C S N ( n v ) \r i f b o a r 0004300 d l o c e q - 1 t h e n 0004320 r e s u l t i s f a l s e \r n 0004340 v ! 0 = 0 \r i f R e a d T 0004360 o ( s t , $ * s , l v s t i n 0004400 d e x , n v ) t h e n r e s 0004420 u l t i s f a l s e \r l e t 0004440 p i n n o = C S N ( n v ) \r 0004460 i f p i n n o e q - 1 t 0004500 h e n r e s u l t i s f a l 0004520 s e \r n o d e p t r > > o l d n 0004540 o d e . i p i n = p i n n o 0004560 \r n o d e p t r > > o l d n o d 0004600 e . b l = 2 6 * b o a r d l 0004620 o c + ( c h - $ a ) \r \r 032 l 5 5 0004640 3 9 \ f 1 \r \r ] \r i f n o t \r [ 0004660 032 l 4 2 6 9 \ f 1 \r l e t n v 0004700 = v e c 5 ; n v ! 0 = 0 0004720 \r i f R e a d T o ( s t , $ * 0004740 s , l v s t i n d e x , n v ) 0004760 t h e n r e s u l t i s f 0005000 a l s e \r l e t p i n n o = 0005020 C S N ( n v ) \r i f p i n n 0005040 o e q - 1 t h e n r e s 0005060 u l t i s f a l s e \r n o d e 0005100 p t r > > o l d n o d e . n o d 0005120 e t y p e = c h \r n o d e p 0005140 t r > > o l d n o d e . p i n 0005160 = p i n n o 032 l 5 5 3 9 \ f 1 0005200 \r ] \r n o d e p t r > > o l d n 0005220 o d e . n o d e s t p = 0 \r 0005240 n o d e p t r > > o l d n o d e 0005260 . n o d e a d r = 0 \r N e w 0005300 I t e m ! 0 = N e w I t e m 0005320 ! 0 + 1 \r r e s u l t i s t r 0005340 u e \r 032 l 4 2 6 9 \ f 1 \r ] \r 0005360 \r / / A l g o r i t h m f o 0005400 r t e r m i n a t o r c h e 0005420 c k i n g i s i n t e n d e 0005440 d t o b e t h e f o l l 0005460 o w i n g : \r / / N o r m a l 0005500 l y , i g n o r e t e r m i 0005520 n a t o r d i f f e r e n c e 0005540 s b e t w e e n o l d a n 0005560 d n e w n e t . H o w e 0005600 v e r , \r / / i f n e t t 0005620 o u c h e s E d g e P i n o 0005640 r C a b l e P i n O R i f 0005660 e i t h e r o l d o r n 0005700 e w n e t n a m e e n d s 0005720 \r / / i n ! , c h e c k 0005740 t e r m i n a t o r e q u i v 0005760 a l e n c e e x p l i c i t l 0006000 y . \r \r a n d C o r r e c t O 0006020 l d N e t ( n e t n a m e , o l 0006040 d n e t l e n g t h ) b e \r [ 0006060 032 \ f 1 \r l e t n p b a s e 0006100 = N e w I t e m + 1 \r l e t 0006120 o l d n o d e c o u n t = N 0006140 e w I t e m ! 0 \r l e t c h e 0006160 c k T e r m i n a t o r s T o o 0006200 = ( n e t n a m e > > s t r . c 0006220 h a r ^ ( n e t n a m e > > s t 0006240 r . l e n g t h ) ) e q $ ! 0006260 \r f o r i = 0 t o o l d n 0006300 o d e c o u n t - 1 d o \r [ 032 0006320 l 4 2 6 9 \ f 1 \r / / f i l l 0006340 i n t h e p a r a m e t e r 0006360 s o f t h e o l d n o d 0006400 e \r l e t o n p t r = n p 0006420 b a s e + o n s i z e * i \r 0006440 l e t n o d e a d r = 0 \r 0006460 l e t n o d e s t p = 0 \r 0006500 l e t u a t = 0 \r l e t 0006520 n o d e t y p e = o n p t r 0006540 > > o l d n o d e . n o d e t y 0006560 p e \r t e s t n o d e t y p e 0006600 e q 0 \r i f s o / / n o 0006620 r m a l i c p i n \r [ 032 l 5 0006640 5 3 9 \ f 1 \r l e t b p = 0006660 B o a r d v e c ! ( o n p t r > 0006700 > o l d n o d e . b l ) \r i f 0006720 b p n e 0 d o \r [ 032 l 6 8 0006740 0 9 \ f 1 \r n o d e a d r = 0006760 l v ( b p > > i c d e s c . p 0007000 i n p t r ^ ( o n p t r > > o l 0007020 d n o d e . i p i n ) ) \r i f 0007040 ( ( @ n o d e a d r ) e q 0 0007060 ) & ( ( b p > > i c d e s c . i 0007100 c t y p e ) e q t e r m t y 0007120 p e ) t h e n u a t = 1 0007140 \r 032 l 8 0 7 9 \ f 1 \r ] 032 l 6 8 0007160 0 9 \ f 1 \r ] \r i f n o t n o 0007200 d e a d r = o n p t r > > o 0007220 l d n o d e . p i n + s e l 0007240 e c t o n n o d e t y p e i 0007260 n t o \r [ 032 l 5 5 3 9 \ f 1 \r c 0007300 a s e $ E : E p i n s \r c a 0007320 s e $ C : E p i n s + M 0007340 a x E p i n s \r c a s e $ G : 0007360 G n d v e c \r c a s e $ F : 0007400 V c c v e c \r c a s e $ M : 0007420 V e e v e c \r c a s e $ T : 0007440 V t t v e c \r c a s e $ D : 0007460 V d d v e c 032 l 6 8 0 9 \ f 1 0007500 \r ] \r i f n o d e t y p e e 0007520 q $ E % n o d e t y p e 0007540 e q $ C t h e n c h e c k 0007560 T e r m i n a t o r s T o o = t 0007600 r u e \r o n p t r > > o l d n o 0007620 d e . n o d e s t p = v a l 0007640 o f \r [ 032 l 5 5 3 9 \ f 1 \r i f 0007660 ( n o d e a d r e q 0 ) % 0007700 ( @ n o d e a d r e q 0 ) 0007720 t h e n r e s u l t i s 0 \r 0007740 l e t p = n o d e a d r 0007760 / / t h e n o d e i s o n 0010000 a l i s t w h i c h t e 0010020 r m i n a t e s a t a \r / 0010040 / s y m b o l t a b l e e n 0010060 t r y \r u n t i l @ p e q 0010100 - 1 d o p = @ p \r p = 0010120 p - ( o f f s e t s t r e c 0010140 . m a r k ) / 1 6 \r l e t s = 0010160 l v p > > s t r e c . s t \r i 0010200 f ( s > > s t r . c h a r ^ ( 0010220 s > > s t r . l e n g t h ) ) 0010240 e q $ ! t h e n c h e c k 0010260 T e r m i n a t o r s T o o = t 0010300 r u e \r r e s u l t i s p \r 032 0010320 l 6 8 0 9 \ f 1 \r ] \r o n p t r 0010340 > > o l d n o d e . n o d e a d 0010360 r = n o d e a d r \r o n p t 0010400 r > > o l d n o d e . u a t = 0010420 u a t \r 032 l 5 5 3 9 \ f 1 \r ] 0010440 \r \r \r / / a l l o l d n o d 0010460 e e n t r i e s a r e f i 0010500 l l e d i n - s e e i f 0010520 t h e o l d n e t a n d 0010540 s o m e n e w n e t a r e 0010560 \r / / i d e n t i c a l , o r 0010600 w h e t h e r t h e o l d 0010620 n e t i s o b s o l e t e 0010640 \r l e t o b s o l e t e = 0010660 f a l s e \r l e t n u a t = 0010700 0 \r l e t n e w s t p = 0010720 0 \r f o r i = 0 t o o 0010740 l d n o d e c o u n t - 1 d o 0010760 \r [ 032 l 4 2 6 9 \ f 1 \r l e t 0011000 o n p t r = n p b a s e + 0011020 o n s i z e * i \r i f c h 0011040 e c k T e r m i n a t o r s T o 0011060 o e q 0 & o n p t r > > 0011100 o l d n o d e . u a t e q 1 0011120 t h e n \r \t [ n u a t = 0011140 n u a t + 1 ; l o o p ] \r 0011160 l e t o l d s t p = o n p 0011200 t r > > o l d n o d e . n o d e 0011220 s t p \r i f o l d s t p e q 0011240 0 t h e n [ o b s o l e 0011260 t e = t r u e ; l o o p 0011300 ] \r i f n e w s t p e q 0011320 0 t h e n [ n e w s t p 0011340 = o l d s t p ; l o o p ] 0011360 \r i f n e w s t p n e o 0011400 l d s t p t h e n o b s o l 0011420 e t e = t r u e 032 l 5 5 3 9 0011440 \ f 1 \r ] \r \r / / c o u n t t 0011460 h e n u m b e r o f n o d 0011500 e s i n t h e n e w n e 0011520 t \r l e t n e w n o d e c o u 0011540 n t = 0 \r u n l e s s o b 0011560 s o l e t e d o \r [ 032 l 4 2 6 0011600 9 \ f 1 \r l e t n e w p = 0011620 n e w s t p > > s t r e c . l i 0011640 s t \r u n t i l ( @ n e w p ) 0011660 e q - 1 d o \r [ 032 l 5 5 3 0011700 9 \ f 1 \r n e w n o d e c o u n 0011720 t = n e w n o d e c o u n t 0011740 + 1 \r n e w p = @ n e w p 032 0011760 l 6 8 0 9 \ f 1 \r ] 032 l 5 5 3 9 0012000 \ f 1 \r \r ] \r i f o l d n o d 0012020 e c o u n t n e ( n e w n o 0012040 d e c o u n t + n u a t ) t 0012060 h e n o b s o l e t e = t 0012100 r u e \r t e s t o b s o l e t 0012120 e \r i f s o 032 l 4 2 6 9 \ f 1 \r 0012140 [ 032 l 4 2 6 9 \ f 1 \r / / w r i 0012160 t e t h e o l d n e t t 0012200 o t h e d e l e t e l i s 0012220 t \r l e t n a m e v = v e 0012240 c 5 0 ; n a m e v ! 0 = 0012260 0 \r A p p e n d S ( " * n * n D 0012300 E L E T E " , n a m e v ) \r 0012320 A p p e n d S ( n e t n a m e 0012340 , n a m e v ) \r A p p e n d C ( 0012360 $ : , n a m e v ) \r A p p e n d 0012400 S ( " < " , n a m e v ) \r A p 0012420 p e n d N ( A d d D e l e t e N 0012440 e t N u m , n a m e v ) \r A d d 0012460 D e l e t e N e t N u m = A 0012500 d d D e l e t e N e t N u m + 1 0012520 \r A p p e n d S ( " > ( " , n 0012540 a m e v ) \r A p p e n d N ( o l 0012560 d n e t l e n g t h , n a m e v 0012600 ) \r A p p e n d S ( " ) " , n a 0012620 m e v ) \r A p p e n d C ( $ * n 0012640 , n a m e v ) \r W S S ( A D F i 0012660 l e , n a m e v ) \r l e t o u 0012700 t c o u n t = 0 \r f o r i 0012720 = 0 t o o l d n o d e c o u 0012740 n t - 1 d o \r [ 032 l 5 5 3 8 ( 0012760 1 2 7 0 ) \ f 1 \r i f o u t c 0013000 o u n t g r 3 t h e n [ 0013020 o u t c o u n t = 0 ; W 0013040 S S ( A D F i l e , " * n " ) 0013060 ] \r o u t c o u n t = o u 0013100 t c o u n t + 1 \r W S S ( A D F 0013120 i l e , " * s * s * s * s " ) \r 0013140 l e t o n p t r = n p b a 0013160 s e + o n s i z e * i \r 0013200 l e t n o d e a d r = o n p t 0013220 r > > o l d n o d e . n o d e a 0013240 d r \r l e t d u m m y I C = v 0013260 e c i c d s i z e + 1 0 0 \r i 0013300 f n o d e a d r e q 0 t 0013320 h e n \t / / e n t i r e I C 0013340 h a s g o n e a w a y \r [ \t 0013360 / / s o k l u d g e u p a 0013400 t e m p o r a r y I C d e 0013420 s c r i p t o r 032 l 6 8 0 8 \ f 0013440 1 \r Z e r o ( d u m m y I C , 0013460 i c d s i z e + 1 0 0 ) \r d u m 0013500 m y I C > > i c d e s c . b l = 0013520 o n p t r > > o l d n o d e . b 0013540 l \r d u m m y I C > > i c d e s 0013560 c . m a r k = - 1 \r n o d e a d 0013600 r = d u m m y I C + i c d s i z 0013620 e + o n p t r > > o l d n o d e 0013640 . i p i n \r 032 l 8 0 7 8 \ f 1 \r 0013660 ] \r P r i n t N ( n o d e a d r 0013700 , A D F i l e , 0 ) \r 032 l 6 8 0 0013720 8 \ f 1 \r ] 032 l 5 5 3 8 \ f 1 \r 0013740 ] \r i f n o t / / r e o r d e 0013760 r t h e n e w n e t s a 0014000 m e a s t h e o l d n e 0014020 t - t h i s w i l l a u t 0014040 o m a t i c a l l y \r / / a s s 0014060 i g n a l l t h e o l d 0014100 n e t ' s t e r m i n a t o r 0014120 s \r [ 032 l 4 2 6 9 ( 6 3 5 ) \ f 0014140 1 \r l e t n = 0 \r l e t 0014160 p = l v ( n e w s t p > > s 0014200 t r e c . l i s t ) \r u n t i l 0014220 n e q o l d n o d e c o u 0014240 n t d o \r [ 032 l 5 5 3 9 \ f 1 0014260 \r l e t o n p t r = n p b 0014300 a s e + o n s i z e * n 0014320 \r l e t n o d e a d r = o 0014340 n p t r > > o l d n o d e . n o 0014360 d e a d r \r @ p = n o d e a d r 0014400 \r p = n o d e a d r \r n = 0014420 n + 1 032 l 6 8 0 9 \ f 1 \r ] \r 0014440 @ p = l v ( n e w s t p > > 0014460 s t r e c . m a r k ) / / c l 0014500 o s e t h e l i s t \r n e w 0014520 s t p > > s t r e c . o r d e r 0014540 e d = 1 \r n e w s t p > > s 0014560 t r e c . n e t l e n g t h = 0014600 o l d n e t l e n g t h 032 l 5 0014620 5 3 9 \ f 1 \r ] 032 l 4 2 6 9 \ f 0014640 1 \r ] \r 032 \ f 1 \r \0 0014652