$ od -c -N 50000 [IO]<DoradoLogic>route.dm!8
0000000 377 \0 \0 r o u t e - b a c k u p .
0000020 c m \0 373 235 324 355 340 \0 \0 376 001 \0 O 321 f
0000040 t p I o / c c o n n / c D
0000060 o r a d o L o g i c s t o r e
0000100 / c r o u t e . r u n s t o
0000120 r e / c r o u t e . s y m s
0000140 d u m p / c r o u t e . d m
0000160 r o u t e - b a c k u p . c m
0000200 s y s d e f s . d s t r e a m
0000220 s . d a l t o f i l e s y s .
0000240 d r o u t e . d e f s r o u
0000260 t e . b c p l r o u t e s y m
0000300 s . b c p l r o u t e a . b c
0000320 p l r o u t e b . b c p l r
0000340 o u t e c . b c p l r o u t e
0000360 m i s c . b c p l r o u t e l
0000400 e n g t h . b c p l r o u t e
0000420 t w a s s i g n . b c p l r 376
0000440 001 \0 324 X o u t e b a c k p a n e
0000460 l . b c p l r o u t e r e s i
0000500 s t . b c p l r o u t e m u l
0000520 t i w i r e . b c p l r o u t
0000540 e p c . b c p l r o u t e t e
0000560 r m . b c p l r o u t e p u l
0000600 l . b c p l r o u t e c o r r
0000620 e c t . b c p l r o u t e c o
0000640 r r e c t o u t . b c p l r o
0000660 u t e s p e r g e . b c p l r
0000700 o u t e d o s o r t e d . b c p
0000720 l r o u t e s o r t . b c p l
0000740 r o u t e n e i g h b o r . b
0000760 c p l r o u t e i c . b c p l
0001000 r o u t e c o m p u t e c l u
0001020 s t e r s . b c p l r o u t e
0001040 n e t r 376 001 \0 260 022 e s . b c p l
0001060 r o u t e n e t s w a p . b c
0001100 p l r o u t e a r c l e n . b
0001120 c p l r o u t e c o m b i n .
0001140 b c p l r o u t e s p a n t r
0001160 e e . b c p l r o u t e h e u
0001200 r i s t i c . b c p l r o u t
0001220 e i n i t . b c p l r o u t e
0001240 a u x . b c p l r o u t e b o
0001260 a r d . b c p l r o u t e s w
0001300 a p z o n e . b c p l r o u t
0001320 e - c o m p i l e . c m t e m
0001340 p l a t e . b r o v e r l a y
0001360 s . b r b c p l r u n t i m e
0001400 . b r l o a d r a m . b r m
0001420 d i . b r b c p l r u n t i m
0001440 e m c . b r o v 376 \0 V 367 w e r
0001460 l a y s i n i t . b r t i m e
0001500 c o n v a . b r t i m e c o n
0001520 v b . b r t i m e i o . b r
0001540 s y s . b k r o u t e - l o a
0001560 d . c m r o u t e - p r i n t
0001600 . c m \r 377 \0 \0 s y s d e f s . d
0001620 \0 373 224 247 331 + \0 \0 376 001 \0 ' 204 / /
0001640 S y s D e f s . D - - O S
0001660 d e f i n i t i o n s f o r
0001700 u s e r s \r \r / / L a s t m
0001720 o d i f i e d D e c e m b e r
0001740 2 7 , 1 9 7 8 1 2 : 1 6
0001760 A M b y B o g g s \r \r m a
0002000 n i f e s t \r [ \r n O s V e r s
0002020 i o n = 1 6 \r n O s V e r s
0002040 i o n C o m p a t i b l e =
0002060 1 6 \r \r / / * * * * * F
0002100 I N I S H C O
0002120 D E S * * * * * \r f c
0002140 O K = 0 \r f c A b o r t =
0002160 1 \r ] \r \r / / * * * * *
0002200 E V E N T T Y
0002220 P E S * * * * * \r 376 001 \0
0002240 317 231 \r / / - - - - - - - - - - -
0002260 - - - - - - - - - - - - - - - -
*
0002360 - \r s t r u c t u r e E V M :
0002400 \t \t / / E v e n t m e s s a g
0002420 e . 0 t e r m i n a t e s
0002440 \r / / - - - - - - - - - - - - -
0002460 - - - - - - - - - - - - - - - -
*
0002540 - - - - - - - - - - - - - - - \r
0002560 [ \r t y p e b i t 1 2 \r l e
0002600 n g t h b i t 4 \r ] \r \r m a
0002620 n i f e s t \t \t / / r e g i s t
0002640 e r 376 001 \0 274 , e d e v e n t
0002660 t y p e s \r [ \r e v e n t B o o
0002700 t e d = 1 \r e v e n t A b o
0002720 u t T o D i e = 2 \r e v e n
0002740 t I n s t a l l = 3 \r e v e
0002760 n t R F C = 4 \r e v e n t I
0003000 n L d = 5 \r e v e n t C a l
0003020 l S u b s y s = 6 \r e v e n
0003040 t E F T P = 7 \r ] \r \r / /
0003060 * * * * * U S E R
0003100 P A R A M S F
0003120 O R M A T * * * *
0003140 * \r \r / / - - - - - - - - - - -
0003160 - - - - - - - - - - - - - - - -
*
0003240 - - - - - - - 376 001 \0 312 ) - - - -
0003260 - - - - - - \r s t r u c t u r e
0003300 U P E : \t \t / / U s e r P a
0003320 r a m e t e r s . 0 t e r m
0003340 i n a t e s \r / / - - - - - - -
0003360 - - - - - - - - - - - - - - - -
*
0003460 - - - - - \r [ \r t y p e b i t
0003500 1 2 \r l e n g t h b i t 4
0003520 \r ] \r \r m a n i f e s t \r [ \r /
0003540 / r e g i s t e r e d u s e r
0003560 p a r a m e t e r t y p e s
0003600 \r g l o b a l S w i t c h e s
0003620 = 1 \t / / F r o m E x e c u
0003640 t i v e \r \t \t \t / / b o 376 001 \0 ^
0003660 % d y i s A S C I I c o d
0003700 e s ( 1 p e r w o r d ) \r
0003720 o p e n S t r e a m s = 2 \t
0003740 \t / / I n t e r p r e t a t i o
0003760 n i s p r i v a t e , \r \t \t
0004000 \t / / b u t t y p e i s p
0004020 u b l i c \r p r i v a t e T y p
0004040 e = # 4 0 0 0 \t / / S t a r
0004060 t a s s i g n i n g p r i v
0004100 a t e t y p e s h e r e \r \r
0004120 l U s e r P a r a m s = 1 6
0004140 \r l I n L d M e s s a g e =
0004160 1 9 \r ] \r \r / / * * * * *
0004200 J U N T A L E
0004220 V E L N A M E
0004240 S * * * * * \r \r / / - - - -
0004260 - 376 001 \0 ~ 242 - - - - - - - - - -
0004300 - - - - - - - - - - - - - - - -
*
0004360 - - - - - - - - - - - - - \r m a
0004400 n i f e s t \r / / - - - - - - -
0004420 - - - - - - - - - - - - - - - -
*
0004520 - - - - - \r [ \r l e v B a s i c
0004540 = 0 \t \t / / B a s i c l e
0004560 v e l ( S w a t , f i n i s
0004600 h ) \r l e v B u f f e r = 1
0004620 \t \t / / K e y b o a r d i t e
0004640 m b u f f e r \r l e v F i l e
0004660 P o i n t e 376 001 \0 - m r s =
0004700 2 \r l e v B c p l = 3 \t \t /
0004720 / B C P L r u n t i m e s u
0004740 p p o r t \r l e v S t a t i c s
0004760 = 4 \r l e v B F S b a s e
0005000 = 5 \r l e v B F S w r i t e
0005020 = 6 \r l e v A l l o c = 7
0005040 \r l e v S t r e a m s = 8 \r
0005060 l e v D i r e c t o r y = 9
0005100 \r l e v K e y b o a r d = 1
0005120 0 \r l e v D i s p l a y = 1
0005140 1 \r l e v M a i n = 1 2 \r \r
0005160 l e v T o t a l = 1 2 \t \t /
0005200 / M o s t c a p a b l e l e
0005220 v e l \r ] \r \f \r / / * * * * *
0005240 K E Y B O A R D
0005260 * * * * * \r \r / / - 376 001 \0 003 030
0005300 - - - - - - - - - - - - - - - -
*
0005400 - - - - - - - - - - - \r s t r u
0005420 c t u r e K B T R A N S : \r /
0005440 / - - - - - - - - - - - - - - -
0005460 - - - - - - - - - - - - - - - -
*
0005540 - - - - - - - - - - - - - \r [ \r
0005560 T r a n s i t i o n w o r d
0005600 = \t / / F i r s t w o r d
0005620 n e 0 = > s o m e
0005640 k e y t r a n s i t i o n e d
0005660 : \r [ \r G o i n g D
0005700 376 001 \0 q @ o w n b i t \t / / T
0005720 r u e i f k e y i n d e x
0005740 d e s c e n d i n g \r G o
0005760 i n g U p b i t \r K e y
0006000 I n d e x b i t 1 4 \t / / I
0006020 n d e x o f m o v i n g k
0006040 e y i f a n y \r ] \r K
0006060 e y S t a t e w o r d 5 \t \t
0006100 / / T a b l e o f k e y s
0006120 t a t e a f t e r t r a n s
0006140 i t i o n \r C u r s o r X \t w o
0006160 r d \t \t / / P r e s e n t l o
0006200 c a t i o n o f c u r s o r
0006220 \r C u r s o r Y \t w o r d \r ] \r
0006240 \r / / - - - - - - - - - - - - -
0006260 - - - - - - - - - - - - - - - -
0006300 - - - - - 376 001 \0 271 177 - - - - - -
0006320 - - - - - - - - - - - - - - - -
*
0006360 - - - - \r s t r u c t u r e K
0006400 B K E Y : \r / / - - - - - - - -
0006420 - - - - - - - - - - - - - - - -
*
0006520 - - - - \r [ \r L e t t e r b i
0006540 t \t / / T r u e i f c h a r
0006560 i s a l e t t e r ( u s
0006600 e f o r l o c k i n t e r
0006620 p ) \r S h i f t C o d e b i t
0006640 7 \t / / C o d e t o u s e
0006660 i f s h i f t i s o n \r
0006700 N o r m C o d e b 376 001 \0 262 026 i
0006720 t 8 \t / / C o d e t o u s
0006740 e o t h e r w i s e \r ] \r \r /
0006760 / - - - - - - - - - - - - - - -
0007000 - - - - - - - - - - - - - - - -
*
0007060 - - - - - - - - - - - - - \r s t
0007100 r u c t u r e O s B U F : \r /
0007120 / - - - - - - - - - - - - - - -
0007140 - - - - - - - - - - - - - - - -
*
0007220 - - - - - - - - - - - - - \r [ \r
0007240 F i r s t w o r d \t / / =
0007260 > f i r s t w o r d o f
0007300 r i n g b u f f e r \r L a s 376
0007320 001 \0 y 344 t w o r d \t / / =
0007340 > l a s t w o r d o f r
0007360 i n g b u f f e r + 1 \r I n
0007400 w o r d \t \t / / = > p l a
0007420 c e t o p u t n e x t i
0007440 t e m \r O u t w o r d \t / /
0007460 = > n e x t i t e m t o
0007500 t a k e \r ] \r \f \r / / * * *
0007520 * * B C P L F R
0007540 A M E S * * * * * \r \r
0007560 / / - - - - - - - - - - - - - -
0007600 - - - - - - - - - - - - - - - -
*
0007660 - - - - - - - - - - - - - - \r s
0007700 t r u c t u r e F R A M E : \r
0007720 / / - - 376 \0 240 r 030 - - - - - - -
0007740 - - - - - - - - - - - - - - - -
*
0010040 - - - \r [ \r c a l l e r s F r a
0010060 m e w o r d \r s a v e d P C
0010100 w o r d \r t e m p w o r d \r e
0010120 x t r a A r g u m e n t s w o
0010140 r d \r f o r m a l s ^ 0 , 1 0
0010160 0 w o r d \r ] \r 377 \0 \0 s t r e
0010200 a m s . d \0 373 224 \a ` 252 \0 \0 376 001 \0
0010220 002 ~ / / S t r e a m s . D -
0010240 - C o m m o n d e c l a r a
0010260 t i o n s f o r s t r e a m
0010300 s t u f f \r / / C o p y r i
0010320 g h t X e r o x C o r p o r
0010340 a t i o n 1 9 7 9 \r / / L a
0010360 s t m o d i f i e d J u l y
0010400 1 1 , 1 9 7 9 7 : 0 5
0010420 P M b y T a f t \r \r / / - -
0010440 - - - - - - - - - - - - - - - -
*
0010540 - - - - - - - - - \r s t r u c t
0010560 u r e S T : \t \t / / b a s i
0010600 c s t r e a m \r / / - - - - -
0010620 - - 376 001 \0 367 V - - - - - - - - -
0010640 - - - - - - - - - - - - - - - -
*
0010720 - - - - - - - - - - - \r [ \r p a
0010740 r 1 w o r d \t \t / / p a r
0010760 w o r d s a r e u s e d f
0011000 o r v a r i o u s n e f a r
0011020 i o u s p u r p o s e s \r p a
0011040 r 2 w o r d \t \t / / a n d
0011060 s o m e t i m e s e x p o r t
0011100 e d b y s t r e a m i m p
0011120 l e m e n t a t i o n s . \r c l
0011140 o s e w o r d \r g e t s w o
0011160 r d \r p u t s w o r d \r r e s
0011200 e t w o r d \r p u t b a c k
0011220 w o r d \r e r 376 001 \0 224 - r o r
0011240 w o r d \r e n d o f w o r d \r
0011260 s t a t e o f w o r d \r t y p
0011300 e w o r d \r p a r 3 w o r d
0011320 \r ] \r m a n i f e s t l S T
0011340 = s i z e S T / 1 6 \r \r m a
0011360 n i f e s t \t \t / / R e g i s
0011400 t e r e d s t r e a m t y p
0011420 e s \r [ \r s t T y p e D i s k
0011440 = 1 0 0 0 1 b \r s t T y p e D
0011460 i s p l a y = 1 0 1 0 1 b \r
0011500 s t T y p e K e y s = 1 0 2
0011520 0 1 b \r ] \r \r / / T h i s d
0011540 e c l a r a t i o n ( a n d
0011560 i t s e l a b o r a t i o n
0011600 i n F S p ) m u s t p a r
0011620 a l l e l t h e \r / / 376 001 \0 %
0011640 035 m a c h i n e - l a n g u a
0011660 g e d e c l a r a t i o n i
0011700 n F a s t S t r e a m s A . a
0011720 s m . \r / / T h e d e c l a
0011740 r a t i o n o f l F S p m
0011760 u s t b e g r e a t e r t
0012000 h a n t h e a c t u a l s
0012020 i z e o f F S p \r \r m a n i
0012040 f e s t l F S p = 1 2 \r /
0012060 / - - - - - - - - - - - - - - -
0012100 - - - - - - - - - - - - - - - -
*
0012160 - - - - - - - - - - - - \r s t r
0012200 u c t u r e F S : \t \t / / F
0012220 a s t S t r e a m \r / / - - -
0012240 - 376 001 \0 216 326 - - - - - - - - - -
0012260 - - - - - - - - - - - - - - - -
*
0012340 - - - - - - - - - - - - - \r [ \r
0012360 @ S T \t \t \t / / a s t a n d
0012400 a r d s t r e a m , p l u s
0012420 . . . \r f s p w o r d l F S
0012440 p \t \t / / s o m e s t u f f
0012460 p r i v a t e t o t h e
0012500 f a s t s t r e a m m o d u
0012520 l e \r ] \r m a n i f e s t l F
0012540 S = s i z e F S / 1 6 \r \r
0012560 m a n i f e s t \r [ \r / / F a
0012600 s t S t r e a m i t e m s
0012620 i z e s \r c h a r I t e m =
0012640 1 \r w o r d 376 001 \0 022 236 I t e m
0012660 = 2 \r \r / / D i s k S t r
0012700 e a m ( K S ) l e n g t h \r
0012720 l K S = l F S + 2 6 \r \r / /
0012740 K S t y p e s \r k s T y p e
0012760 R e a d O n l y = 1 \r k s T
0013000 y p e W r i t e O n l y = 2
0013020 \r k s T y p e R e a d W r i t e
0013040 = 3 \r ] \r \r / / - - - - - -
0013060 - - - - - - - - - - - - - - - -
*
0013160 - - - - \r s t r u c t u r e S
0013200 S D : \t \t / / S c a n S t r
0013220 e a m D e s c r i p t o r \r /
0013240 / - - - - - - - - - - 376 001 \0 233 311
0013260 - - - - - - - - - - - - - - - -
*
0013360 \r [ \r d a w o r d \t \t \t / /
0013400 D i s k a d d r e s s o f
0013420 l a s t p a g e r e t u r n
0013440 e d \r p a g e N u m b e r w o
0013460 r d \t \t / / P a g e n u m b
0013500 e r \r n u m C h a r s w o r d
0013520 \t \t / / N u m b e r o f c
0013540 h a r a c t e r s i n p a g
0013560 e \r / / R e s t o f S S D
0013600 i s p r i v a t e t o t
0013620 h e i m p l e m e n t a t i o
0013640 n \r ] \r \f \r / / - - - - - - - -
0013660 376 001 \0 353 025 - - - - - - - - - - -
0013700 - - - - - - - - - - - - - - - -
*
0013760 - - - - - - - \r s t r u c t u r
0014000 e D S : \t \t / / D i s p l a
0014020 y S t r e a m ( D s p S t r
0014040 e a m s B . b c p l , . . . A
0014060 . a s m ) \r / / - - - - - - - -
0014100 - - - - - - - - - - - - - - - -
*
0014200 - - \r [ \r @ S T = \r [ \r
0014220 f d c b w o r d \t \t / /
0014240 t h i s i s S T . p a r 1
0014260 ; - > 376 001 \0 241 F i r s t
0014300 d c b \r l d c b w o r d
0014320 \t \t / / t h i s i s S T .
0014340 p a r 2 ; - > L a s t d c
0014360 b \r b l a n k w o r d
0014400 9 \t \t / / s k i p o v e r
0014420 r e s t o f s t r e a m d
0014440 e f i n i t i o n e x c e p t
0014460 . . . \r c d c b w o r d
0014500 \t \t / / " C u r r e n t " d
0014520 c b i n S T . p a r 3 \r
0014540 ] \r s c r o l l \t w o r d \t \t
0014560 / / U s e r s c r o l l r
0014600 o u t i n e i f w a n t e d
0014620 \r c o m p a c t \t w o r d \t \t /
0014640 / S y s t e m c o m p a c t
0014660 r o u t i n e \r / 376 001 \0 243 j /
0014700 M u c h , m u c h m o r e
0014720 s t u f f y o u d o n ' t
0014740 n e e d \r ] \r m a n i f e s t
0014760 l D S = ( s i z e D S /
0015000 1 6 ) + 2 0 \r \r m a n i f e
0015020 s t \r [ \t \t \t / / D S o p t
0015040 i o n s \r D S c o m p a c t l e
0015060 f t = 1 \t / / e l i m i n
0015100 a t e l e a d i n g b l a n
0015120 k w o r d s \r D S c o m p a c
0015140 t r i g h t = 2 \t / / e l
0015160 i m i n a t e t r a i l i n g
0015200 b l a n k w o r d s \r D S s
0015220 t o p r i g h t = 4 \t \t / /
0015240 d i s c a r d r a t h e r
0015260 t h a n s c r o l l o n 376
0015300 001 \0 357 e l i n e o v e r f l o
0015320 w \r D S s t o p b o t t o m =
0015340 8 \t / / d i s c a r d r a
0015360 t h e r t h a n l o s e s
0015400 c r e e n d a t a \r D S n o n
0015420 e = 1 6 \t \t / / s o 0
0015440 c a n d e f a u l t t o l
0015460 e f t + r i g h t \r \r D S d e l
0015500 e t e = 1 \t \t / / ' h o w
0015520 ' v a l u e s f o r S h o
0015540 w D i s p l a y S t r e a m \r D
0015560 S a l o n e = 2 \r D S a b o
0015600 v e = 3 \r D S b e l o w =
0015620 4 \r ] \r \r \r / / T h e f o
0015640 l l o w i n g d e f i n i t i
0015660 o n s d o n ' t h a v e m
0015700 u c h 376 001 \0 360 c t o d o w
0015720 i t h s t r e a m s , \r / /
0015740 b u t t h e y h a v e t
0015760 o b e i n s o m e O S
0016000 d e c l a r a t i o n f i l e
0016020 , \r / / a n d m o s t u
0016040 s e r s a l r e a d y g e t
0016060 t h i s o n e , s o . . .
0016100 \r / / - - - - - - - - - - - - -
0016120 - - - - - - - - - - - - - - - -
*
0016200 - - - - - - - - - - - - - \r s t
0016220 r u c t u r e Z N : \t \t / /
0016240 F r e e S t o r a g e Z o n
0016260 e ( A l l o c . b c p l ) \r /
0016300 / - - - - - - - - 376 001 \0 362 365 - -
0016320 - - - - - - - - - - - - - - - -
*
0016420 \r [ \r A l l o c a t e w o r d
0016440 \t \t / / C a l l 0 \r F r e e
0016460 w o r d \t \t / / C a l l 1 \r /
0016500 / p l u s m u c h m o r e
0016520 s t u f f p r i v a t e t
0016540 o t h e a l l o c a t o r \r
0016560 ] \r \r \r m a n i f e s t \r [ \r /
0016600 / * * m u s t m a t c h
0016620 p r i v a t e d e f i n i t i
0016640 o n s i n D i r s . b c p l
0016660 * * \r v e r N e w = 1 4 0
0016700 0 0 0 b \r v e r N e w A l w 376 \0
0016720 r 207 A a y s = 1 6 0 0 0 0 b
0016740 \r v e r L a t e s t C r e a t e
0016760 = 4 0 0 0 0 b + 2 \r v e r L
0017000 a t e s t = 1 \r v e r O l d
0017020 e s t = 1 0 0 0 0 0 b \r \r l
0017040 H D = 3 / / H o l e
0017060 D e s c r i p t o r l e n g t
0017100 h \r ] \r \r 377 \0 \0 a l t o f i l e
0017120 s y s . d \0 373 226 @ { 270 \0 \0 376 001 \0
0017140 b 273 / / A l t o F i l e S y s
0017160 . D - - D e f i n i t i o n
0017200 s f o r t h i n g s k e p
0017220 t o n a d i s k . \r / /
0017240 C o p y r i g h t X e r o x
0017260 C o r p o r a t i o n 1 9 7 9
0017300 \r / / L a s t m o d i f i e
0017320 d N o v e m b e r 1 7 , 1
0017340 9 8 0 4 : 3 2 P M b y
0017360 B o g g s \r \r m a n i f e s t
0017400 m a x S t r i n g I n d e x =
0017420 2 5 5 \r s t r u c t u r e S
0017440 T R I N G : [ l e n g t h
0017460 b y t e ; c h a r ^ 1 , m a x
0017500 S t r i n g I n d e x b y t e
0017520 ] \r m a n i f e s t l S T R
0017540 I N 376 001 \0 D 224 G = s i z e
0017560 S T R I N G / 1 6 \r \r s t r u c
0017600 t u r e T I M E : [ h w
0017620 o r d 1 ; l w o r d 1
0017640 ] \r m a n i f e s t l T I M E
0017660 = s i z e T I M E / 1 6 \r
0017700 \r \r / / F I L E
0017720 D E S C R I P T
0017740 O R S \r \r / / - - - - - -
0017760 - - - - - - - - - - - - - - - -
*
0020060 - - - - - \r s t r u c t u r e
0020100 S N : \t \t / / F i l e S e r
0020120 i a l N u m b e r \r / / - - -
0020140 - - - - - - - 376 001 \0 257 004 - - - -
0020160 - - - - - - - - - - - - - - - -
*
0020240 - - - - - - - - - - - - - \r [ \r
0020260 w o r d 1 w o r d = \r
0020300 [ \r d i r e c t o r y
0020320 b i t 1 \t / / t h i s f
0020340 i l e i s a d i r e c t o
0020360 r y \r r a n d o m b i t
0020400 1 \r n o l o g b i t \t
0020420 \t / / n o l o n g e r u s
0020440 e d \r p a r t 1 b i t
0020460 1 3 \r ] \r w o r d 2 w o
0020500 r d = p a r t 2 w o r
0020520 d \r ] \r m a n i f e s t l S N
0020540 = s i z e S N / 1 376 001 \0 221
0020560 ; 6 \r \r \r / / f i l e p o i
0020600 n t e r - - d e s c r i b e
0020620 s a p a r t i c u l a r f
0020640 i l e b y l a b e l & l
0020660 e a d e r p a g e p o s i t
0020700 i o n \r / / - - - - - - - - - -
0020720 - - - - - - - - - - - - - - - -
*
0021020 - \r s t r u c t u r e F P : \t
0021040 \t / / F i l e P o i n t e r
0021060 \r / / - - - - - - - - - - - - -
0021100 - - - - - - - - - - - - - - - -
*
0021160 - 376 001 \0 i 257 - - - - - - - - - -
0021200 - - - \r [ \r s e r i a l N u m b
0021220 e r @ S N \r v e r s i o n w
0021240 o r d \r b l a n k w o r d \t \t
0021260 / / e x p a n s i o n t o
0021300 2 - w o r d v i r t u a l D
0021320 a ' s \r l e a d e r V i r t u a
0021340 l D a w o r d \r ] \r m a n i f
0021360 e s t l F P = s i z e F
0021400 P / 1 6 \r \r \r / / f i l e a
0021420 d d r e s s - - d e s c r i
0021440 b e s a p a r t i c u l a r
0021460 s p o t i n s o m e f i
0021500 l e , b u t \r / / \t \t d o e s
0021520 n o t c o n t a i n e n o
0021540 u g h i n f o t o r e a d
0021560 i t ( S 376 001 \0 Z = N , v n
0021600 m i s s i n g ) \r / / - - - -
0021620 - - - - - - - - - - - - - - - -
*
0021720 - - - - - - - \r s t r u c t u r
0021740 e F A : \t \t / / F i l e A
0021760 d d r e s s \r / / - - - - - - -
0022000 - - - - - - - - - - - - - - - -
*
0022100 - - - - \r [ \r d a w o r d \t \t
0022120 \t / / V i r t u a l D A f
0022140 o r t h e p a g e \r p a g e
0022160 N u m b e r w o r d 376 001 \0 374 \t
0022200 \t \t / / P a g e n u m b e r
0022220 i n f i l e ( 0 , 1 ,
0022240 . . . . ) \r c h a r P o s w o
0022260 r d \t \t / / B y t e p o s i
0022300 t i o n o n t h e p a g e
0022320 \r ] \r m a n i f e s t l F A
0022340 = s i z e F A / 1 6 \r \r \r /
0022360 / c o m p l e t e f i l e
0022400 a d d r e s s - - c o m p l
0022420 e t e i n f o r m a t i o n
0022440 n e e d e d t o a d d r e s
0022460 s \r / / \t \t a n y b y t e i
0022500 n t h e f i l e s t r u c
0022520 t u r e \r / / - - - - - - - - -
0022540 - - - - - - - - - - - - - - - -
*
0022600 376 001 \0 351 037 - - - - - - - - - - -
0022620 - - - - - - - - - - - - - - - -
0022640 - - - - - - - \r s t r u c t u r
0022660 e C F A : \t \t / / C o m p l
0022700 e t e F i l e A d d r e s s
0022720 \r / / - - - - - - - - - - - - -
0022740 - - - - - - - - - - - - - - - -
*
0023020 - - - - - - - - - - - - - - \r [
0023040 \r f p @ F P \r f a @ F A \r ]
0023060 \r m a n i f e s t l C F A =
0023100 s i z e C F A / 1 6 \r \f \r /
0023120 / D I S K
0023140 D E S C R I P T
0023160 O R \r \r / / - - - - - - - -
0023200 - - - - - 376 001 \0 373 034 - - - - - -
0023220 - - - - - - - - - - - - - - - -
*
0023300 - - - - - - - - \r s t r u c t u
0023320 r e K D H : \t \t / / D i s k
0023340 D e s c r i p t o r H e a d
0023360 e r \r / / - - - - - - - - - - -
0023400 - - - - - - - - - - - - - - - -
*
0023500 \r [ \r k d w o r d = \t \t / /
0023520 F i r s t w o r d ( f o r
0023540 l v . . . ) \r n D i s k s w
0023560 o r d \t \t / / N u m b e r o
0023600 f d i s k s \r n T 376 001 \0 337 317 r
0023620 a c k s w o r d \t \t / / N u
0023640 m b e r o f t r a c k s \r n
0023660 H e a d s w o r d \t \t / / N
0023700 u m b e r o f h e a d s \r n
0023720 S e c t o r s w o r d \t \t / /
0023740 N u m b e r o f s e c t o
0023760 r s \r l a s t S n @ S N \t \t /
0024000 / L a s t s e r i a l n u
0024020 m b e r u s e d o n d i s
0024040 k \r b l a n k w o r d \t \t / /
0024060 f o r m e r l y b i t T a b
0024100 l e C h a n g e d ( O S 1 7
0024120 a n d b e f o r e ) \r d i s k
0024140 B T s i z e w o r d \t \t / /
0024160 N u m b e r o f v a l i d
0024200 w o r d s i n t h e d i 376
0024220 001 \0 263 V s k b i t t a b l e
0024240 \r d e f a u l t V e r s i o n s
0024260 K e p t w o r d \t / / D e f
0024300 a u l t # f i l e v e r s
0024320 i o n s r e t a i n e d \r \t \t
0024340 \t \t / / ( 0 i m p l i e s
0024360 n o m u l t i p l e v e r s
0024400 i o n f e a t u r e ) \r f r e
0024420 e P a g e s w o r d \r b l a n
0024440 k w o r d 6 \r ] \r m a n i f
0024460 e s t l K D H e a d e r =
0024500 s i z e K D H / 1 6 \r \f \r / /
0024520 L E A D E
0024540 R P A G E \r \r / /
0024560 l e a d e r p a g e - - n
0024600 o t e t h a t t h e d e f
0024620 i n i t 376 001 \0 254 211 i o n i s
0024640 i n d e p e n d e n t o f p
0024660 a g e s i z e \r / / \t \t ( a s
0024700 s u m e s a t l e a s t 2
0024720 5 6 w o r d s c a n b e
0024740 s t o r e d ) \r \r m a n i f e s
0024760 t m a x L e n g t h F n =
0025000 3 9 \t \t / / F o r a l l O S
0025020 r o u t i n e s \r m a n i f e
0025040 s t m a x L e n g t h F n I n
0025060 W o r d s = ( m a x L e n g
0025100 t h F n + 2 ) / 2 / / e n o u
0025120 g h f o r f i n a l " . "
0025140 \r \r / / - - - - - - - - - - - -
0025160 - - - - - - - - - - - - - - - -
*
0025220 - - - - - - - - - 376 001 \0 F 237 - -
0025240 - - - - - - - - - - - - - - - -
0025260 - - - - \r s t r u c t u r e L
0025300 D : \t \t / / L e a d e r P a
0025320 g e \r / / - - - - - - - - - - -
0025340 - - - - - - - - - - - - - - - -
*
0025440 \r [ \r c r e a t e d @ T I M E
0025460 \r w r i t t e n @ T I M E \r r
0025500 e a d @ T I M E \r n a m e w
0025520 o r d m a x L e n g t h F n I
0025540 n W o r d s \r l e a d e r P r o
0025560 p s w o r d 2 1 0 \t / / P
0025600 r o p e r t i e s s t o r e d
0025620 i n l e a d e r p a g 376 001
0025640 \0 q 270 e \r s p a r e w o r d
0025660 2 5 6 - 3 * l T I M E - m a x L
0025700 e n g t h F n I n W o r d s - 2
0025720 1 0 - 2 - l F P - l F A \r p r o
0025740 p e r t y B e g i n b y t e \t
0025760 / / I n d e x i n L D o
0026000 f l e a d e r P r o p s \r p r
0026020 o p e r t y L e n g t h b y t
0026040 e \t / / n u m b e r o f w
0026060 o r d s = 2 1 0 \r c o n s e
0026100 c u t i v e b i t \t \t / / H
0026120 i n t t h a t f i l e i s
0026140 a l l o c a t e d c o n s e
0026160 c u t i v e l y \r b l a n k 1
0026200 b i t 7 \r c h a n g e S e r i
0026220 a l b i t 8 \t / / B u m p
0026240 e d 376 001 \0 . 340 e a c h t i m
0026260 e n a m e = > F P m a p
0026300 c h a n g e s \r d i r F p w
0026320 o r d l F P \t \t / / H i n t
0026340 f o r d i r e c t o r y \r h
0026360 i n t L a s t P a g e F a @ F
0026400 A \t / / E O F h i n t \r ] \r
0026420 \r \r / / - - - - - - - - - - - -
0026440 - - - - - - - - - - - - - - - -
*
0026520 - - - - - - - - - - - - - - - \r
0026540 s t r u c t u r e F P R O P :
0026560 \t / / F i l e p r o p e r t
0026600 i e s ( p a r t l y i n l
0026620 e a d e r ) \r / / - - - - - - -
0026640 - - - - - - - - 376 001 \0 001 \t - - -
0026660 - - - - - - - - - - - - - - - -
*
0026740 - - - - - - - - - \r [ \t \t \t / /
0026760 0 t e r m i n a t e s l i
0027000 s t \r t y p e b i t 8 \r l e
0027020 n g t h b i t 8 \r ] \r \r m a
0027040 n i f e s t \r [ \r / / F P R O
0027060 P t y p e s 0 - 1 7 7 b a
0027100 r e r e s e r v e d f o r
0027120 t h e s y s t e m . \r f p r o
0027140 p T y p e D S h a p e = 1 \t
0027160 / / c o n t a i n s a D S
0027200 H A P E ( i n l e a d e r
0027220 p a g e o f S y s D i r ) \r
0027240 f p r o p T y p e P a r t 376 001 \0
0027260 205 J i t i o n N a m e = 2
0027300 / / c o n t a i n s a S
0027320 T R I N G w h i c h i s t
0027340 h e n a m e o f t h i s \r
0027360 \t \t \t / / p a r t i t i o n
0027400 ( i n l e a d e r p a g e
0027420 o f S y s D i r ) \r / / F R
0027440 P O P t y p e s 2 0 0 b - 2
0027460 7 7 b a r e f o r u s e r
0027500 s . \r / / t y p e 2 0 0 b
0027520 u s e d b y B r a v o X \r
0027540 / / t y p e 2 0 1 b u s e
0027560 d b y E . S c h m i d t \r
0027600 ] \r \r / / - - - - - - - - - - -
0027620 - - - - - - - - - - - - - - - -
*
0027660 - - 376 001 \0 304 022 - - - - - - - - -
0027700 - - - - - - - - - - - - - - - -
0027720 - - - - - \r s t r u c t u r e
0027740 D S H A P E : \t / / S h a p e
0027760 o f t h e d i s k ( a
0030000 p r o p e r t y i n l e a d
0030020 e r o f S y s D i r ) \r / /
0030040 - - - - - - - - - - - - - - - -
*
0030140 - - - - - - - - - - - \r [ \r n D
0030160 i s k s w o r d \t \t / / N u
0030200 m b e r o f d i s k s \r n T
0030220 r a c k s w o r d \t \t / / N
0030240 u m b e r o f t r a c k s \r
0030260 n H e a d s 376 001 \0 ^ 7 w o r d
0030300 \t \t / / N u m b e r o f h
0030320 e a d s \r n S e c t o r s w o
0030340 r d \t \t / / N u m b e r o f
0030360 s e c t o r s \r ] \r m a n i f
0030400 e s t l D S H A P E = s i
0030420 z e D S H A P E / 1 6 \r \f \r /
0030440 / D I R E C
0030460 T O R I E S \r \r / /
0030500 - - - - - - - - - - - - - - - -
*
0030600 - - - - - - - - - - - \r s t r u
0030620 c t u r e D V : \t \t / / D i
0030640 r e c t o r y e n t r y v a
0030660 l u e \r / / - - - - - - 376 \0 363 300
0030700 332 - - - - - - - - - - - - - - -
0030720 - - - - - - - - - - - - - - - -
*
0031000 - - - - - - \r [ \r t y p e b i
0031020 t 6 \r l e n g t h b i t 1
0031040 0 \r f p @ F P \r n a m e @ S
0031060 T R I N G \r ] \r m a n i f e s t
0031100 l D V = o f f s e t D V
0031120 . n a m e / 1 6 / / * * n
0031140 o t e : l e n g t h o f h
0031160 e a d e r o n l y \r \r m a n i
0031200 f e s t \t \t / / D V t y p e
0031220 s \r [ \r d v T y p e F r e e =
0031240 0 \r d v T y p e F i l e =
0031260 1 \r ] \r 377 \0 \0 r o u t e . d e f
0031300 s \0 373 236 X 341 f \0 \0 376 001 \0 352 270 / /
0031320 r o u t e . d e f s \r / /
0031340 l a s t m o d i f i e d b y
0031360 D . R u m p h , M a r c h
0031400 8 , 1 9 8 5 3 : 2 3 P
0031420 M \r / / m o d i f i e d b y
0031440 D . B o g g s , A p r i l
0031460 1 6 , 1 9 8 3 4 : 0 3
0031500 P M \r \r e x t e r n a l \r [ \r G
0031520 e t s / / C o m m o n O S
0031540 p r o c e d u r e s \r P u t s
0031560 \r E n d o f s \r O p e n F i l e
0031600 \r C r e a t e D i s k S t r e a
0031620 m \r G e t C o m p l e t e F a \r
0031640 C l o s e s \r R e s e t s \r C a
0031660 l l S w a t \r S y s E r r \r D e
0031700 f a u l t A r g s \r A l l o 376 001
0031720 \0 360 027 c a t e \r F r e e \r M o v
0031740 e B l o c k \r S e t B l o c k \r
0031760 Z e r o \r N o o p \r F i l e P o
0032000 s \r S e t F i l e P o s \r T r u
0032020 n c a t e D i s k S t r e a m \r
0032040 U s c \r G e t F i x e d \r F i x
0032060 e d L e f t \r I n i t i a l i z
0032100 e Z o n e \r A d d T o Z o n e \r
0032120 \r G e t F i l e \t / / R o u t
0032140 e p r o c e d u r e s \r A d d
0032160 S p a c e \r W e A r e \r S w a p
0032200 I n \r \r w o r s t E r r o r L e
0032220 v e l / / R o u t e s t a
0032240 t i c s \r s w a p Z o n e \r \r O
0032260 n c e O n l y I n i t C o d e
0032300 / / R o u t e I n i t p r o
0032320 c e d 376 001 \0 023 271 u r e s \r \r A D
0032340 F i l e / / R o u t e I n i
0032360 t s t a t i c s \r E r F i l e
0032400 \r O u t F i l e \r I m p l i c i
0032420 t F i l e \r C o m m e n t s F i
0032440 l e \r O l d W l F i l e \r c h a
0032460 r T a b \r C o r r e c t i n g \r
0032500 n o r o u t e \r b o a r d L o c
0032520 a t i o n \r n l F i l e N a m e
0032540 \r w l O l d F i l e N a m e \r w
0032560 l N e w F i l e N a m e \r o u t
0032600 L i m i t \r o u t T h r e s h o
0032620 l d \r s a v e d O u t T h r e s
0032640 h o l d \r S i l Z o n e \r S t a
0032660 n d a r d M e t r i c \r d o n t
0032700 C a r e N e t \r k f \r b o a r d
0032720 \r r e v \r t i m 376 001 \0 264 245 e \r p
0032740 c t e x t \r r a n d o m T a b l
0032760 e \r r a n d o m I n d e x \r r a
0033000 n d o m T r a i l e r \r \r D e f
0033020 i n e N a m e e / / R o u t
0033040 e S y m s p r o c e d u r e s
0033060 a n d s t a t i c s \r D e f
0033100 i n e N a m e \r M a p N a m e e
0033120 s \r F i n d N a m e e s S t r i
0033140 n g \r F i n d N a m e e s N a m
0033160 e \r M u s t F i n d N a m e e \r
0033200 T r y F i n d i n g N a m e e \r
0033220 T r y F i n d i n g N a m e \r S
0033240 e t u p S p a c e \r o b j e c t
0033260 Z o n e \r S t C o m p \r W s s \r
0033300 A p p e n d C \r E x p a n d T e
0033320 m p l a t e \r C o p y S t 376 001 \0
0033340 006 270 r i n g \r G e t B i t \r S e
0033360 t B i t \r O f f s e t L e g a l
0033400 \r R e m a r k \r W a r n i n g \r
0033420 S e r i o u s \r D i s a s t e r
0033440 \r C a l l S m a r t S w a t \r S
0033460 h u c k s \r P a r s e P i n \r N
0033500 o r m a l i z e B o a r d L o c
0033520 \r \r F i l e I n / / R o u t
0033540 e a p r o c e d u r e s a n
0033560 d s t a t i c s \r R e a d A l
0033600 l N e t L i n e s \r C h e c k U
0033620 n u s e d P i n s \r c o p y C o
0033640 m m e n t s \r \r M a k e O u t p
0033660 u t F i l e / / R o u t e b
0033700 p r o c e d u r e s a n d
0033720 s t a t i c s \r N L C o m p F n
0033740 \r A 376 001 \0 L 332 s s i g n N e t N
0033760 u m b e r \r Z e r o T h e T a b
0034000 l e \r P r i n t N e t \r P r i n
0034020 t P i n \r P r i n t B a s i c P
0034040 i n \r H e a d i n g \r \r c u r r
0034060 e n t l e v e l / / R o u t
0034100 e b s t a t i c s \r h e a d i
0034120 n g p r e s e n t \r z e r o P e
0034140 n d i n g \r o u t c o u n t \r c
0034160 u r r e n t F i l e \r b a s e N
0034200 e t N u m b e r \r n e t C o u n
0034220 t \r n e t O f f s e t \r t w P a
0034240 r t N o \r \r R e a d I C T y p e
0034260 / / R o u t e c p r o c e
0034300 d u r e s \r N e w I C I n s t \r
0034320 N e w N e t \r R e a d N e t N a
0034340 m e \r G e t V 376 001 \0 035 331 a l i d
0034360 C h a r \r c h a r \r T r y I n s
0034400 e r t i n g \r I n s e r t D e v
0034420 i c e I f P o s s i b l e \r G e
0034440 t P a t t e r n C o o r d \r F i
0034460 n d I c i n s t \r G e t P i n C
0034500 o o r d \r B o a r d P i n C o o
0034520 r d \r I c c l a s s \r N p i n s
0034540 \r F i n d N e t \r n i t e m s \r
0034560 D o I n S o r t O r d e r \r C o
0034600 u n t \r A d d T o L i s t \r N a
0034620 m e C o m p a r e F n \r N o A d
0034640 d e d C a p s \r M a n h a t t a
0034660 n D i s t F n \r E u c l i d e a
0034700 n D i s t F n \r \r C o m p u t e
0034720 L e n g t h s / / R o u t e
0034740 L e n g t h p r o c e 376 001 \0 357
0034760 \b d u r e s \r \r A s s i g n T W
0035000 N e t / / R o u t e T W N e
0035020 t A s s i g n p r o c e d u r
0035040 e s \r \r M a k e C o n n I n s t
0035060 F i l e / / R o u t e B a c
0035100 k P a n e l p r o c e d u r e
0035120 s \r M a k e O l d B P F i l e \r
0035140 M a k e L o a d i n g C h a r t
0035160 \r \r B P F i l e / / R o u t
0035200 e B a c k P a n e l s t a t i
0035220 c s \r \r M a k e R e s i s t a n
0035240 c e F i l e / / R o u t e R
0035260 e s i s t p r o c e d u r e s
0035300 \r \r d o R e s i s t a n c e s
0035320 / / R o u t e R e s i s t s
0035340 t a t i c s \r \r M u l t i W i r
0035360 e 376 001 \0 227 9 / / R o u t e M
0035400 u l t i W i r e p r o c e d u
0035420 r e s \r M u l t i W i r e P a n
0035440 i c \r \r d o M u l t i W i r e
0035460 / / R o u t e M u l t i W i r
0035500 e s t a t i c s \r \r P C / /
0035520 R o u t e P C p r o c e d u
0035540 r e s \r P C P a n i c \r \r d o P
0035560 C / / R o u t e P C s t a
0035600 t i c s \r P C P r o t o t y p e
0035620 \r \r L o c a t e A v a i l T e r
0035640 m s / / R o u t e T e r m
0035660 p r o c e d u r e s \r F r e e T
0035700 e r m S t o r a g e \r A d d E c
0035720 l T e r m i n a t o r s \r \r C o
0035740 r r e l a t e O l d A n d N e w
0035760 / / R o 376 001 \0 336 276 u t e C o
0036000 r r e c t p r o c e d u r e s
0036020 a n d s t a t i c s \r C o r
0036040 r e l a t e R e m a i n i n g \r
0036060 d e l e t e P o s F i l e \r \r P
0036100 r i n t N e w N e t \t / / R o
0036120 u t e C o r r e c t O u t p r
0036140 o c e d u r e s \r D e l e t e N
0036160 e t s \r R e p o r t N e w C u t
0036200 P i n s \r R e p o r t R e p a i
0036220 r e d P i n s \r \r P u l l C o m
0036240 p o n e n t s / / R o u t e
0036260 P u l l p r o c e d u r e s \r
0036300 \r D I P 3 W i d e / / R o u
0036320 t e I C p r o c e d u r e s \r
0036340 D I P 4 W i d e \r D I P 6 W i d
0036360 e \r D I P 9 W i d e \r 376 001 \0 ) 302
0036400 S I P \r Q I T P l a t \r E c l 4
0036420 G A t t r i b u t e s \r E c l 3
0036440 G A t t r i b u t e s \r E c l 2
0036460 G A t t r i b u t e s \r E c l 1
0036500 G A t t r i b u t e s \r E T C A
0036520 t t r i b u t e s \r T E C A t t
0036540 r i b u t e s \r E c l T e r m A
0036560 t t r i b u t e s \r F 1 0 0 K A
0036600 t t r i b u t e s \r N u l l A t
0036620 t r i b u t e s \r E c l 4 G n d
0036640 \r E c l 3 G n d \r E c l 2 G n d
0036660 \r E c l 1 G n d \r E c l C o n v
0036700 e r t e r \r E c l T e r m \r F 1
0036720 0 0 K \r F T T L \r T T L \r D y n
0036740 a m i c R a m 3 S u p p l y \r D
0036760 y n a m i c R a m 1 S u p p l y
0037000 376 001 \0 p 360 \r \r D e c l a r e A v
0037020 a i l a b l e N a m e s / /
0037040 R o u t e B o a r d p r o c e
0037060 d u r e s a n d s t a t i c
0037100 s \r R e a d B o a r d C o d e \r
0037120 S e t u p B o a r d \r S e t u p
0037140 I C c l a s s e s \r S e t u p I
0037160 C c l a s s \r \r F i n d I n d e
0037200 x F r o m C o o r d / / B o
0037220 a r d ' s p r o c e d u r e s
0037240 a n d s t a t i c s \r F i n
0037260 d C o o r d F r o m S t r i n g
0037300 \r D e c l a r e I n i t i a l N
0037320 e t s \r Z e r o T a b l e P o i
0037340 n t \r L e v e l T r a n s f o r
0037360 m \r m a x I C s \r b o a r d I n
0037400 t e r f a 376 001 \0 S 342 c e V e r s
0037420 i o n \r C o m p u t e M W C o o
0037440 r d s \r C o m p u t e P C C o o
0037460 r d s \r D e s c r i b e H o l e
0037500 s \r O t h e r P C H o l e s \r S
0037520 e t u p M o r e I C C l a s s e
0037540 s \r A d d D e c o u p l i n g C
0037560 a p s \r \r S p e r g e / / R
0037600 o u t e S p e r g e p r o c e
0037620 d u r e s \r \r S w a p D o I n S
0037640 o r t O r d e r / / R o u t
0037660 e D o S o r t e d p r o c e d
0037700 u r e s \r \r B i n S e a r c h
0037720 / / R o u t e S o r t p r o
0037740 c e d u r e s \r A d d T o H e a
0037760 p \r P u l l F r o m H e a p \r S
0040000 o r t \r \r O v e r l 376 001 \0 345 002 a
0040020 p s C l a i m e d A r e a / /
0040040 R o u t e N e i g h b o r p
0040060 r o c e d u r e s \r C l a i m A
0040100 r e a \r F i n d N e a r e s t \r
0040120 \r c o v e r e d A r e a s / /
0040140 R o u t e N e i g h b o r s
0040160 t a t i c s \r \r C o m p u t e C
0040200 l u s t e r s / / R o u t e
0040220 C o m p u t e C l u s t e r s
0040240 p r o c e d u r e s \r \r R o u t
0040260 e N e t \t / / R o u t e N e t
0040300 R e s p r o c e d u r e s \r R
0040320 o u t e N e t I f E x t e r n a
0040340 l \r R o u t e E a r l y N e t s
0040360 \r \r R o u t e N e t S w a p \t /
0040400 / R o u t e N e t S w a p 376
0040420 001 \0 362 231 p r o c e d u r e s \r M
0040440 a k e F i r s t \r H a s E x t e
0040460 r n a l C o n n e c t i o n \r \r
0040500 p o i n t V / / R o u t e N
0040520 e t S w a p s t a t i c s \r \r
0040540 C o m b i n R o u t e / / R
0040560 o u t e C o m b i n p r o c e
0040600 d u r e s \r \r b e s t T o t a l
0040620 N e t L e n g t h / / R o u
0040640 t e C o m b i n s t a t i c s
0040660 \r f o r c e F i r s t N o d e T
0040700 o E n d \r e x h a u s t T h r e
0040720 s h \r n \r X \r Y \r P e r m \r c l
0040740 u s t e r B a s e V e c \r \r G e
0040760 n e r a t e G o o d P e r m /
0041000 / R o u t e S p a n T r e e
0041020 p r o c 376 001 \0 206 ! e d u r e s \r
0041040 \r H e u r i s t i c I m p r o v
0041060 e / / R o u t e H e u r i s
0041100 t i c p r o c e d u r e s \r G
0041120 e t O r d e r e d R a n d o m S
0041140 e t \r R a n d o m \r \r h e u r i
0041160 s t i c W o r k / / R o u t
0041200 e H e u r i s t i c s t a t i
0041220 c s \r \r A r c L e n g t h / /
0041240 R o u t e A r c L e n p r o
0041260 c e d u r e s \r \r m e m o T a b
0041300 l e / / R o u t e A r c L e
0041320 n s t a t i c s \r D i s t F n
0041340 \r \r N e w S w a p Z o n e / /
0041360 R o u t e S w a p Z o n e p
0041400 r o c e d u r e s \r \r P u t T e
0041420 m p l a t e / / 376 001 \0 277 245 T
0041440 e m p l a t e p r o c e d u r
0041460 e s \r ] \r \r m a n i f e s t \r [
0041500 \r i n t e r f a c e V e r s i o
0041520 n = 1 / / b e t w e e
0041540 n R o u t e a n d b o a r
0041560 d s u b r o u t i n e s \r \r D
0041600 i r P r e a m b l e S i z e = 6
0041620 \r e m p t y = 0 \r i n f i n
0041640 i t y = # 7 7 7 7 7 \r m a r
0041660 k = - 1 \r u s e d = - 2
0041700 \r f i l e g o n e = - 1 \r n
0041720 o E r r o r = 0 \r w a r n i
0041740 n g = 1 \r s e r i o u s =
0041760 2 \r d i s a s t e r = 3 \r
0042000 \r i s W L F i l e = 1 \r i s
0042020 A D F i l e = 2 \r i s W 376 001
0042040 \0 336 d L S p l i t F i l e =
0042060 3 \r i s I C F i l e = 4 \r \r
0042100 d o i n g I n p u t = 1 \r d
0042120 o i n g C o r r e c t i o n =
0042140 2 \r d o i n g T r a c e s =
0042160 3 \r d o i n g R o u t i n g
0042200 = 4 \r d o i n g A D F i l e
0042220 = 5 \r d o i n g O u t p u t
0042240 = 6 \r \r d e g r e e = 3 3
0042260 / / f o r r a n d o m n
0042300 u m b e r g e n e r a t o r \r
0042320 m i d P o w e r = 1 3 \r \r m
0042340 a x N e t s = 1 0 0 / /
0042360 f o r r o u t e r v e c t o
0042400 r s \r ] \r \r \r s t r u c t u r e
0042420 s t r : \r [ 032 ( 6 3 5 ) \ f 1
0042440 \r l e 376 001 \0 251 s n g t h b y t
0042460 e \r c h a r ^ 1 , 3 5 b y t e
0042500 032 l 4 2 6 8 \ f 1 \r ] \r \r s t r
0042520 u c t u r e s t r i n g : \r [
0042540 032 \ f 1 \r l e n g t h b y t e
0042560 \r c h a r ^ 1 , 2 5 5 b y t e
0042600 032 l 4 2 6 8 \ f 1 \r ] \r \r s t r
0042620 u c t u r e K F : \t / / k n
0042640 o w n f i l e \r [ 032 \ f 1 \r n
0042660 e x t w o r d \r f p w o r d
0042700 5 \r i n p u t b i t \r o k t
0042720 o c r e a t e b i t \r u n u s
0042740 e d b i t 1 4 \r s t r i n g
0042760 @ s t r i n g 032 l 4 2 6 9 \ f
0043000 1 \r ] \r \r s t r u c t u r e n
0043020 a m e e : \r [ 032 \ f 1 \r n e x t
0043040 w o r d / / 376 001 \0 272 312 t o
0043060 n e x t n a m e e w i t h
0043100 t h i s n a m e ; m a r k
0043120 o f n a m e t e r m i n a
0043140 t e s l i s t \r b l a n k b
0043160 i t 1 2 \r t y p e b i t 4
0043200 032 l 4 2 6 9 \ f 1 \r ] \r \r s t r
0043220 u c t u r e n a m e : \r [ 032 \
0043240 f 1 \r n e x t w o r d / /
0043260 t o n e x t n a m e w i t
0043300 h t h i s h a s h ; 0 t
0043320 e r m i n a t e s l i s t \r m
0043340 a r k w o r d / / - 1 ,
0043360 t e r m i n a t e s n a m e
0043400 c h a i n a n d n e t ' s
0043420 p i n L i s t \r n a m e S t r i
0043440 n g : \r [ 032 l 4 2 6 9 \ f 376 001 \0
0043460 017 354 1 \r l e n g t h b y t e \r
0043500 c h a r ^ 1 , 1 b y t e 032 l 5
0043520 5 3 9 \ f 1 \r ] \r / / n a m e
0043540 s t r u c t u r e i m m e d
0043560 i a t e l y f o l l o w e d
0043600 b y f i r s t n a m e e \r f
0043620 i r s t N a m e e @ n a m e e
0043640 032 l 4 2 6 9 \ f 1 \r ] \r \r m a n
0043660 i f e s t \r [ 032 \ f 1 \r / / n
0043700 a m e e t y p e s \r t y p e N
0043720 e t = 1 \r t y p e I c i n s
0043740 t = 2 \r t y p e I c t y p e
0043760 = 3 \r t y p e I c c l a s s
0044000 = 4 \r t y p e O l d i n s t
0044020 = 5 \r t y p e P g m s y m b
0044040 o l = 6 \r t y p e N u l l
0044060 = 376 001 \0 \v $ 7 \r ] \r \r s t r u
0044100 c t u r e n e t : \r [ 032 \ f 1
0044120 \r n e x t w o r d \t / / t o
0044140 n e x t n a m e e w i t h
0044160 t h i s n a m e \r d o n t T
0044200 e r m i n a t e b i t \r i s S
0044220 a m e b i t / / a s a
0044240 n e t i n t h e o l d w
0044260 i r e l i s t \r i s T r a c e W
0044300 i r e d b i t / / s h o u
0044320 l d b e p a r t i t i o n e
0044340 d \r h a s B e e n R o u t e d
0044360 b i t \r w i r e E a r l y b i
0044400 t \r h a s N e t n u m b i t \r
0044420 i s P a r t i a l N e t b i t
0044440 / / o f a t r a c e - w
0044460 i r e d n e 376 001 \0 k 7 t \r b l
0044500 a n k b i t 5 \r t y p e b
0044520 i t 4 \t / / = t y p e N e t
0044540 \r p i n L i s t w o r d \t / /
0044560 p o i n t e r t o f i r s
0044600 t p i n o f p i n l i s
0044620 t \r s h o r t e s t a r c w o
0044640 r d = n e t n u m w o r d
0044660 = m i n S p e r g e w o r
0044700 d \r n e t l e n g t h w o r d
0044720 = c l u s t e r L i s t w
0044740 o r d 032 l 4 2 6 9 \ f 1 \r ] \r \r
0044760 s t r u c t u r e c l u s t e
0045000 r : \t / / f o r c l u s t e
0045020 r n u m b e r s > 0 \r [ 032
0045040 \ f 1 \r n e x t w o r d \t / /
0045060 t o n e x t e l e 376 001 \0 ?
0045100 N m e n t o f c l u s t e r
0045120 L i s t \r n u m b e r b y t e
0045140 \t / / n u m b e r o f t h
0045160 i s c l u s t e r \r i n d e x
0045200 b y t e \t / / i n d e x i
0045220 n p i n L i s t w h e r e
0045240 t h i s c l u s t e r s t a
0045260 r t s , 0 = > f i r s t
0045300 p i n 032 l 4 2 6 9 \ f 1 \r ] \r \r
0045320 s t r u c t u r e o l d i n s
0045340 t : \r [ 032 \ f 1 \r n e x t w o
0045360 r d / / t o n e x t n a
0045400 m e e w i t h t h i s n a
0045420 m e \r t y p e w o r d / /
0045440 = t y p e O l d i n s t \r i c
0045460 t y p e w o r d / / p o i
0045500 n 376 001 \0 $ 246 t e r t o i c t
0045520 y p e o r i c c l a s s b
0045540 l o c k f o r t h i s i n
0045560 s t a n c e 032 l 4 2 6 9 \ f 1 \r
0045600 ] \r \r s t r u c t u r e i c i
0045620 n s t : \r [ 032 \ f 1 \r n e x t
0045640 w o r d / / t o n e x t
0045660 n a m e e w i t h t h i s
0045700 n a m e \r t y p e w o r d /
0045720 / = t y p e I c i n s t \r i
0045740 c t y p e w o r d \t / / p o
0045760 i n t e r t o i c t y p e
0046000 o r i c c l a s s b l o c k
0046020 f o r t h i s I C t y p
0046040 e \r p i n a t t r i b u t e w
0046060 o r d / / p o i n t e r t
0046100 o l i s t 376 001 \0 245 p o f p
0046120 i n a t t r i b u t e s f o r
0046140 t h i s i c i n s t \r p i n
0046160 ^ 1 , 1 w o r d \t / / l i n
0046200 k s i n t h e p i n l i
0046220 s t 032 l 4 2 6 9 \ f 1 \r ] \r \r s
0046240 t r u c t u r e i c t y p e :
0046260 \r [ 032 \ f 1 \r n e x t w o r d
0046300 \t / / t o n e x t n a m e
0046320 e w i t h t h i s n a m e
0046340 \r n p i n s b i t 1 2 \r t y
0046360 p e b i t 4 / / = t y
0046400 p e I c t y p e \r i c c l a s s
0046420 w o r d \t / / p o i n t e r
0046440 t o i c c l a s s b l o c
0046460 k f o r t h i s I C t y
0046500 p e \r o u t p i n s 376 001 \0 r 214
0046520 w o r d \t / / o n e b i t
0046540 p e r p i n , t r u e i f
0046560 p i n e v e r u s e d i
0046600 n a n y i n s t a n c e \r \t
0046620 \t / / a s o u t p u t p i
0046640 n 032 l 4 2 6 9 \ f 1 \r ] \r \r s t
0046660 r u c t u r e p e r m u t a t
0046700 i o n : \r [ 032 \ f 1 \r n e l e m
0046720 e n t s w o r d \r e l e m e n
0046740 t ^ 1 , 1 w o r d 032 l 4 2 6 9
0046760 \ f 1 \r ] \r m a n i f e s t l
0047000 e n P e r m u t a t i o n =
0047020 o f f s e t p e r m u t a t i
0047040 o n . e l e m e n t / 1 6 \r \r s
0047060 t r u c t u r e c l a s s a t
0047100 t r i b u t e s : \r [ 032 \ f 1 \r
0047120 376 001 \0 322 256 i s T r a c e W i r e
0047140 d b i t \r i s C o n n e c t o
0047160 r b i t \r p r i n t U s e d L
0047200 i s t b i t \r b l a n k b i
0047220 t 9 032 l 4 2 6 9 \ f 1 \r ] \r \r
0047240 m a n i f e s t \r [ 032 \ f 1 \r i
0047260 s T r a c e W i r e d = 1
0047300 l s h i f t ( s i z e c l a
0047320 s s a t t r i b u t e s - o f f
0047340 s e t c l a s s a t t r i b u
0047360 t e s . i s T r a c e W i r e d
0047400 - 1 ) \r i s C o n n e c t o r
0047420 = 1 l s h i f t ( s i z e
0047440 c l a s s a t t r i b u t e s
0047460 - o f f s e t c l a s s a t t
0047500 r i b u t e s . i s C o n n e c
0047520 t o r - 1 376 001 \0 020 w ) \r p r i n
0047540 t U s e d L i s t = 1 l s
0047560 h i f t ( s i z e c l a s s
0047600 a t t r i b u t e s - o f f s e
0047620 t c l a s s a t t r i b u t e
0047640 s . p r i n t U s e d L i s t -
0047660 1 ) \r ] \r \r s t r u c t u r e
0047700 p i n a t t r i b u t e s : \r [
0047720 032 \ f 1 \r i s E c l b i t \r i
0047740 s T e r m i n a t o r b i t \r
0047760 i s O u t p u t b i t \r b l a
0050000 n k b i t 1 3 032 l 4 2 6 9 \
0050020 f 1 \r ] \r \r m a n i f e s t \r [
0050040 032 \ f 1 \r i s E c l = 1 l
0050060 s h i f t ( s i z e p i n a
0050100 t t r i b u t e s - o f f s e t
0050120 p i n a t t r i b 376 001 \0 320 246 u
0050140 t e s . i s E c l - 1 ) \r i s T
0050160 e r m i n a t o r = 1 l s
0050200 h i f t ( s i z e p i n a t
0050220 t r i b u t e s - o f f s e t
0050240 p i n a t t r i b u t e s . i s
0050260 T e r m i n a t o r - 1 ) \r i s
0050300 O u t p u t = 1 l s h i f
0050320 t ( s i z e p i n a t t r i
0050340 b u t e s - o f f s e t p i n
0050360 a t t r i b u t e s . i s O u t
0050400 p u t - 1 ) 032 l 4 2 6 9 \ f 1 \r
0050420 ] \r \r s t r u c t u r e i c c
0050440 l a s s : \r [ 032 \ f 1 \r n e x t
0050460 w o r d \t / / t o n e x t
0050500 n a m e e w i t h t h i s
0050520 n a m e \r @ c l a s s a t t 376
0050540 001 \0 363 = r i b u t e s = c l
0050560 a s s a t t r i b u t e s @ c
0050600 l a s s a t t r i b u t e s \r t
0050620 y p e b i t 4 / / = t
0050640 y p e I c c l a s s \r P i n O f
0050660 f s e t w o r d \t / / P i n
0050700 O f f s e t ( i c i n s t , p
0050720 i n N o , l v v e r t O f f
0050740 s e t , l v h o r i z O f f
0050760 s e t , l v i n f o ) \r P i
0051000 n A t t r i b u t e s w o r d
0051020 / / P i n I n f o ( i c i n
0051040 s t , p i n N o ) = p i n
0051060 a t t r i b u t e s \r I m p l i
0051100 c i t I C N e t s w o r d /
0051120 / I m p l i c i t I C N e t s
0051140 ( i c i 376 001 \0 260 j n s t ) g e
0051160 n e r a t e s \r \t / / i m p l
0051200 i c i t n e t s i n t o "
0051220 i m p l i c i t . n l " 032 l 4 2
0051240 6 9 \ f 1 \r n p i n s w o r d
0051260 / / # p i n s , o v e r
0051300 r i d d e n b y i c t y p e
0051320 b l o c k \r p e r m u t a t i
0051340 o n w o r d / / p o i n t
0051360 s t o a v e c t o r m a
0051400 p p i n g f r o m s p e r g
0051420 e d \r / / c o o r d i n a t
0051440 e o r d e r t o s t a n d
0051460 a r d o r d e r \r s p e r g e
0051500 v e c w o r d / / p o i n
0051520 t s t o a v e c t o r o
0051540 f s p e r g e d 376 001 \0 375 323 p
0051560 i n c o - o r d i n a t e s ,
0051600 o n e \r / / w o r d p e
0051620 r p i n , i n s t a n d a
0051640 r d o r d e r \r c u t P i n s
0051660 w o r d \t / / p o i n t s
0051700 t o v e c t o r c o n t a i
0051720 n i n g o n e b i t p e r
0051740 p i n , \r \t / / i n s t a
0051760 n d a r d o r d e r ; b i t
0052000 t r u e i f p i n c u t
0052020 f r o m t r a c e \r o l d C
0052040 u t P i n s w o r d / / a
0052060 s a b o v e , r e f e r r i
0052100 n g t o o l d w i r e l i
0052120 s t f i l e \r n P o t e n t i
0052140 a l P i n s w o r d \r L o 376 001
0052160 \0 R 351 c a t e P o t e n t i a l
0052200 P i n w o r d / / L o c a
0052220 t e P o t e n t i a l P i n ( i
0052240 c i n s t , p i n N o , l v
0052260 x , l v y , l v i n f
0052300 o , p i n N a m e ) 032 l 4 2 6
0052320 9 \ f 1 \r ] \r \r \r m a n i f e s
0052340 t \r [ 032 \ f 1 \r a b s o l u t e
0052360 = 1 / / v a l u e s r
0052400 e t u r n e d f r o m P i n
0052420 O f f s e t r o u t i n e \r r
0052440 e l a t i v e = 2 \r i l l e
0052460 g a l = 3 032 l 4 2 6 9 \ f 1
0052500 \r ] \r \r s t r u c t u r e i n
0052520 f o : / / i n f o r m a t i
0052540 o n a b o u t t r a c e - w
0052560 i r e 376 001 \0 330 h d p i n s \r [
0052600 032 \ f 1 \r u n u s e d b i t
0052620 9 \r u s e d F o r D e c o u p l
0052640 i n g b i t 1 \r d i s c o n
0052660 n e c t b i t 1 \r r e c o n
0052700 n e c t b i t 1 \r l e v e l
0052720 b i t 4 032 l 4 2 6 9 \ f 1 \r
0052740 ] \r \r m a n i f e s t \r [ 032 \ f
0052760 1 \r u s e d F o r D e c o u p l
0053000 i n g = 1 l s h i f t (
0053020 s i z e i n f o - o f f s e t
0053040 i n f o . u s e d F o r D e c
0053060 o u p l i n g - 1 ) \r D i s c o
0053100 n n e c t = 1 l s h i f t
0053120 ( s i z e i n f o - o f f s
0053140 e t i n f o . d i s c o n n e
0053160 c t - 1 ) \r R e 376 001 \0 215 S c o n
0053200 n e c t = 1 l s h i f t
0053220 ( s i z e i n f o - o f f s e
0053240 t i n f o . r e c o n n e c t
0053260 - 1 ) \r n o D i s c o n n e c t
0053300 = 0 \r n o R e c o n n e c t
0053320 = 0 \r T o p L e v e l =
0053340 1 \r B o t t o m L e v e l =
0053360 2 032 l 4 2 6 9 \ f 1 \r ] \r \r s t
0053400 r u c t u r e p i n a t t r i
0053420 b u t e : \r [ 032 \ f 1 \r n e x t
0053440 w o r d \t / / t o n e x t
0053460 p i n a t t r i b u t e f o
0053500 r t h i s i c i n s t \r p i
0053520 n N o w o r d / / a t t r
0053540 i b u t e w i t h t h i s
0053560 n a m e a p p l i e s 376 001 \0
0053600 b 272 t o t h i s p i n \r a t
0053620 t r i b u t e w o r d \r v a l
0053640 u e w o r d / / v a l u e
0053660 ( i f a n y ) o f t h i
0053700 s a t t r i b u t e 032 l 4 2 6
0053720 9 \ f 1 \r ] \r \r m a n i f e s t
0053740 \r [ 032 \ f 1 \r l e t t e r M a s
0053760 k = 1 \r u p p e r C a s e M
0054000 a s k = 2 \r l o w e r C a s
0054020 e M a s k = 4 \r d i g i t M
0054040 a s k = 8 \r c o l o n M a s
0054060 k = 1 6 \r b r e a k M a s k
0054100 = 3 2 \r l e g a l S p e c i
0054120 a l C h a r M a s k = 6 4 \r
0054140 a t s i g n M a s k = 1 2 8
0054160 \r n e t N a m e M a s k = l
0054200 e t 376 001 \0 305 304 t e r M a s k % d
0054220 i g i t M a s k % l e g a l S p
0054240 e c i a l C h a r M a s k % c o
0054260 l o n M a s k 032 l 4 2 6 9 \ f 1
0054300 \r ] \r \r s t r u c t u r e p g
0054320 m s y m b o l : \r [ 032 \ f 1 \r n
0054340 e x t w o r d \r v a l I s P t
0054360 r b i t \r s t a t i c H a s V
0054400 a l u e b i t \r u n u s e d
0054420 b i t 1 0 \r t y p e b i t
0054440 4 \r v a l u e w o r d 032 l 4 2
0054460 6 9 \ f 1 \r ] \r \r m a n i f e s
0054500 t [ m e m o T a b l e E n t
0054520 r i e s = 2 2 9 ] \r \r s t
0054540 r u c t u r e M E M O : \r \t [
0054560 k e y w o r d \r \t v a l u e
0054600 w o r d \r \t 376 \0 \a 335 241 ] \r 032 \
0054620 f 1 \r 377 \0 \0 r o u t e . b c p l
0054640 \0 373 236 Y 001 272 \0 \0 376 001 \0 G 224 / / r
0054660 o u t e . b c p l \r \r / / M a
0054700 i n d r i v e r m o d u l e
0054720 \r \r / / l a s t m o d i f i
0054740 e d b y R u m p h , M a r
0054760 c h 8 , 1 9 8 5 5 : 1 3
0055000 P M \r / / \t \t t o a d d s
0055020 t u f f t o s p l i t t h
0055040 e o u t p u t w i r e l i s
0055060 t , i f n e c e s s a r y
0055100 f o r F A B \r / / \t \t a l s o
0055120 c h a n g e s t o r o u t
0055140 e . d e f s , r o u t e i n i
0055160 t . b c p l , r o u t e b . b
0055200 c p l \r / / m o d i f i e d
0055220 b y R u m p h , D e c e m b
0055240 e r 5 , 1 9 8 4 5 376 001 \0
0055260 Z 257 : 2 5 P M \r / / \t \t v e r
0055300 s i o n d a t e c h a n g e
0055320 o n l y h e r e \r / / \t \t r
0055340 e a l f i x e s R o u t e C
0055360 o m b i n . b c p l a n d R
0055400 o u t e N e t R e s . b c p l \r
0055420 / / m o d i f i e d b y R
0055440 u m p h , N o v e m b e r 2
0055460 7 , 1 9 8 4 4 : 4 5 P M
0055500 \r / / \t \t v e r s i o n d a t
0055520 e c h a n g e o n l y - -
0055540 r e a l c h a n g e s i n
0055560 R o u t e C o m b i n . b c p
0055600 l \r / / m o d i f i e d b y
0055620 R u m p h , O c t o b e r
0055640 3 0 , 1 9 8 4 5 : 1 8 P
0055660 M \r 376 001 \0 362 227 / / \t \t v e r s i
0055700 o n d a t e c h a n g e o
0055720 n l y - - r e a l c h a n
0055740 g e s i n R o u t e B o a r
0055760 d . b c p l \r / / m o d i f i
0056000 e d b y M c C r e i g h t ,
0056020 O c t o b e r 3 0 , 1 9 8
0056040 1 2 : 5 8 P M \r \r g e t
0056060 " s y s d e f s . d " \r g e t
0056100 " s t r e a m s . d " \r g e t
0056120 " r o u t e . d e f s " \r \r e x
0056140 t e r n a l \r [ \r W s \r J u n t
0056160 a \r C o u n t e r J u n t a \r \r
0056200 U s e r R e a d O v e r l a y \r
0056220 L o c k P e n d i n g C o d e \r
0056240 R e l e a s e O v e r l a y \r R
0056260 e a d O v e r 376 001 \0 210 033 l a y \r
0056300 O v e r l a y F i r s t P n \r O
0056320 v e r l a y N p a g e s \r @ O v
0056340 e r l a y S a v e \r D e c l a r
0056360 e O v e r l a y P r e s e n t \r
0056400 \r c u r r O v e r l a y \r \r i n
0056420 i t C o d e E n d \r o v e r l a
0056440 y C o r e \r n p B i g g e s t O
0056460 v e r l a y \r \r d s p \r ] \r \r s
0056500 t a t i c \r [ 032 ( 6 3 5 ) \ f 1
0056520 \r w o r s t E r r o r L e v e l
0056540 = n o E r r o r \r i n p u t
0056560 K f \r r o u t e V e r s i o n \r
0056600 s w a p Z o n e = e m p t y
0056620 \r c u r r O v e r l a y = e
0056640 m p t y 032 l 4 2 6 9 \ f 1 \r ] \r
0056660 \r l e t M a i n ( b l 376 001 \0 314
0056700 Z v , p a r a m s , c f a ) b
0056720 e \r [ 032 \ f 1 \r r o u t e V e r
0056740 s i o n = " R o u t e -
0056760 M a r c h 8 , 1 9 8 5 " \r P
0057000 u t T e m p l a t e ( d s p ,
0057020 " * n * n * n * n * n $ S " ,
0057040 r o u t e V e r s i o n ) \r O n
0057060 c e O n l y I n i t C o d e ( b
0057100 l v , p a r a m s , c f a ) \r J
0057120 u n t a ( l e v S t r e a m s ,
0057140 D o R o u t e ) 032 l 4 2 6 8 \ f
0057160 1 \r ] \r \r a n d S a y G o o d
0057200 b y e ( ) b e \r [ 032 \ f 1 \r P
0057220 u t T e m p l a t e ( d s p ,
0057240 " $ S . . . f i n i s h e d
0057260 " , r o u t e V e r s i o n )
0057300 \r 376 001 \0 I 346 f i n i s h 032 l 4 2
0057320 6 9 \ f 1 \r ] \r \r a n d S w a
0057340 p I n ( e n t ) b e \r [ 032 \ f
0057360 1 \r i f e n t ! 1 e q # 6
0057400 0 0 0 + l v O v e r l a y S a
0057420 v e t h e n \r [ / / J S R
0057440 @ O v e r l a y S a v e m e
0057460 a n s s w a p p e d - o u t
0057500 s p e c i a l e n t r y 032 l 4
0057520 2 6 8 \ f 1 \r l e t o d =
0057540 e n t ! 2 \r D e c l a r e O v e
0057560 r l a y P r e s e n t ( o d ,
0057600 U s e r R e a d O v e r l a y (
0057620 o d ) ) 032 l 5 5 3 8 \ f 1 \r ]
0057640 032 l 4 2 6 8 \ f 1 \r ] \r \r a n d
0057660 U s e r R e a d O v e r l a y
0057700 ( o d ) = 376 001 \0 T \0 v a l o
0057720 f \r [ 032 \ f 1 \r i f c u r r O
0057740 v e r l a y n e e m p t y
0057760 t h e n \r [ 032 l 4 2 6 8 \ f 1 \r
0060000 L o c k P e n d i n g C o d e (
0060020 ) \r t e s t R e l e a s e O v
0060040 e r l a y ( c u r r O v e r l a
0060060 y , f a l s e ) \r i f n o t
0060100 C a l l S w a t ( " T w o o v
0060120 e r l a y s c o n t e n d i n
0060140 g f o r o v e r l a y s p
0060160 a c e " ) \r i f s o \r [ 032 l 5 5
0060200 3 8 \ f 1 \r R e l e a s e O v e
0060220 r l a y ( c u r r O v e r l a y
0060240 , t r u e ) \r c u r r O v e r
0060260 l a y = e m p t y 032 l 6 8 0
0060300 8 \ f 1 \r ] 032 l 5 5 3 376 001 \0 x t
0060320 8 \ f 1 \r ] \r i f s w a p Z o
0060340 n e n e e m p t y & \r
0060360 U s c ( o v e r l a y C o r e +
0060400 2 5 6 * O v e r l a y N p a g e
0060420 s ( o d ) , s w a p Z o n e )
0060440 g e 0 \r t h e n C
0060460 a l l S w a t ( " O v e r l a y
0060500 w a n t s s w a p Z o n e
0060520 s p a c e " ) \r R e a d O v e r
0060540 l a y ( O v e r l a y F i r s t
0060560 P n ( o d ) , o v e r l a y C
0060600 o r e , O v e r l a y N p a g
0060620 e s ( o d ) ) \r c u r r O v e r
0060640 l a y = o d \r r e s u l t i
0060660 s o v e r l a y C o r e 032 l 4
0060700 2 6 8 \ f 1 \r ] 032 \ f 1 \r \r a n
0060720 376 001 \0 021 r d D o R o u t e ( a
0060740 r g ) b e \r [ 032 \ f 1 \r s t a
0060760 t i c [ s t a c k N e e d s
0061000 = 1 0 0 0 ] \r \r A d d S p
0061020 a c e ( s t a c k N e e d s ) \t
0061040 / / l e a v e f o r s t a
0061060 c k \r A d d T o Z o n e ( S i l
0061100 Z o n e , O n c e O n l y I n
0061120 i t C o d e , i n i t C o d e
0061140 E n d - O n c e O n l y I n i t
0061160 C o d e + 1 ) \r \r l e t f i l
0061200 e Z o n e = I n i t i a l i
0061220 z e Z o n e ( A l l o c a t e (
0061240 S i l Z o n e , 4 0 0 ) , 4
0061260 0 0 ) \r \r / / n o w d o t h
0061300 e r e a l w o r k o n a
0061320 l l t h 376 001 \0 x V e f i l e
0061340 s \r i n p u t K f = k f \r u
0061360 n t i l i n p u t K f e q
0061400 e m p t y d o \r [ 032 l 4 2 6 8
0061420 \ f 1 \r i f i n p u t K f > >
0061440 K F . i n p u t t h e n \r [ 032
0061460 l 5 5 3 8 \ f 1 \r l e t F i l
0061500 e = G e t F i l e ( l v i
0061520 n p u t K f > > K F . s t r i n
0061540 g , 0 , 0 , f i l e Z o n
0061560 e ) / / o p e n t h e i n
0061600 p u t f i l e \r R e m a r k (
0061620 " * n R e a d i n g $ S " ,
0061640 l v i n p u t K f > > K F . s
0061660 t r i n g ) \r F i l e I n ( F i
0061700 l e ) \r C l o s e s ( F i l e )
0061720 032 l 6 8 0 8 \ f 1 \r 376 001 \0 377 200 ]
0061740 \r i n p u t K f = i n p u t
0061760 K f > > K F . n e x t 032 l 5 5 3
0062000 8 \ f 1 \r ] \r \r F r e e ( S i l
0062020 Z o n e , f i l e Z o n e ) \r
0062040 \r P u t s ( I m p l i c i t F i
0062060 l e , $ * n ) \r T r u n c a t
0062100 e D i s k S t r e a m ( I m p l
0062120 i c i t F i l e ) \r R e s e t s
0062140 ( I m p l i c i t F i l e ) \r R
0062160 e m a r k ( " * n R e a d i n g
0062200 $ S . i n l , t h e i m p
0062220 l i c i t p o w e r w i r i
0062240 n g " , n l F i l e N a m e )
0062260 \r F i l e I n ( I m p l i c i t
0062300 F i l e ) \r C l o s e s ( C o m
0062320 m e n t s F i l e ) \r C o m m 376
0062340 001 \0 303 271 e n t s F i l e = e
0062360 m p t y \r \r l e t o l d I m p
0062400 l i c i t P o s = v e c 2
0062420 \r F i l e P o s ( I m p l i c i
0062440 t F i l e , o l d I m p l i c
0062460 i t P o s ) \r T r u n c a t e D
0062500 i s k S t r e a m ( I m p l i c
0062520 i t F i l e ) \r \r i f C o r r
0062540 e c t i n g t h e n \r [ 032 l 4
0062560 2 6 8 ( 1 2 7 0 ) \ f 1 \r O l d
0062600 W l F i l e = G e t F i l e
0062620 ( w l O l d F i l e N a m e , "
0062640 " , c h a r I t e m ) \t \t / / F
0062660 o r c o m p a r i s o n \r l e
0062700 t o l d B o a r d T y p e =
0062720 v e c 2 0 \r l e t n c h a
0062740 r s = 376 001 \0 234 022 0 \r l e t
0062760 c h a r = G e t s ( O l d W
0063000 l F i l e ) \r w h i l e c h a
0063020 r n e $ * n d o \r [ 032 l 5
0063040 5 3 8 ( 6 3 5 ) \ f 1 \r n c h a
0063060 r s = n c h a r s + 1 \r o l
0063100 d B o a r d T y p e > > s t r .
0063120 c h a r ^ n c h a r s = c h
0063140 a r \r c h a r = G e t s ( O
0063160 l d W l F i l e ) 032 l 6 8 0 8 \
0063200 f 1 \r ] \r o l d B o a r d T y p
0063220 e > > s t r . l e n g t h =
0063240 n c h a r s \r i f S t C o m p
0063260 ( o l d B o a r d T y p e , Z
0063300 e r o T a b l e P o i n t ( 0 )
0063320 ) n e 0 t h e n \r D i s
0063340 a s t e r ( " B o 376 001 \0 P + a r
0063360 d t y p e d i f f e r s f
0063400 r o m o r i g i n a l " ) 032 l
0063420 5 5 3 8 \ f 1 \r C o r r e l a t
0063440 e O l d A n d N e w ( ) \r C l o
0063460 s e s ( O l d W l F i l e ) \r O
0063500 l d W l F i l e = e m p t y
0063520 032 l 5 5 3 8 ( 1 2 7 0 ) \ f 1 \r
0063540 ] \r \r u n l e s s n o r o u t
0063560 e d o \r [ 032 l 4 2 6 8 \ f 1 \r
0063600 M a p N a m e e s ( t y p e I c
0063620 c l a s s , L o c a t e A v a
0063640 i l T e r m s ) \r M a p N a m e
0063660 e s ( t y p e N e t , R o u t
0063700 e E a r l y N e t s ) \r M a p N
0063720 a m e e s ( t y p e N e t , A
0063740 d d E c l T e r m i n a t o 376 001
0063760 \0 R 0 r s ) \r M a p N a m e e s
0064000 ( t y p e N e t , R o u t e N
0064020 e t I f E x t e r n a l ) \r M a
0064040 p N a m e e s ( t y p e N e t ,
0064060 A d d E c l T e r m i n a t o
0064100 r s ) 032 l 5 5 3 8 \ f 1 \r ] \r \r
0064120 l e t c a p s A d d e d =
0064140 f a l s e \r u n l e s s n o r
0064160 o u t e d o \r [ 032 l 4 2 6 8 \
0064200 f 1 \r M a p N a m e e s ( t y p
0064220 e N e t , R o u t e N e t ) \r
0064240 M a p N a m e e s ( t y p e N e
0064260 t , A d d E c l T e r m i n a
0064300 t o r s ) / / m a y a d d
0064320 n e w s t u f f 032 l 5 5 3 8
0064340 \ f 1 \r ] \r \r u n t i l n o r
0064360 o u t 376 001 \0 317 v e d o \r [ 032 l
0064400 4 2 6 8 \ f 1 \r l e t n e w I
0064420 m p l i c i t P o s = v e c
0064440 2 \r F i l e P o s ( I m p l i
0064460 c i t F i l e , n e w I m p l
0064500 i c i t P o s ) \r i f o l d I
0064520 m p l i c i t P o s ! 0 e q
0064540 n e w I m p l i c i t P o s ! 0
0064560 & \r o l d I m p l i c i t P
0064600 o s ! 1 e q n e w I m p l i
0064620 c i t P o s ! 1 t h e n t e
0064640 s t c a p s A d d e d \r i f s
0064660 o b r e a k \r i f n o t [
0064700 A d d D e c o u p l i n g C a p
0064720 s ( ) ; c a p s A d d e d = t
0064740 r u e ; l o o p ] \r \r S e t
0064760 F i l e P o s ( 376 001 \0 P 370 I m p
0065000 l i c i t F i l e , o l d I m
0065020 p l i c i t P o s ) / / M o
0065040 r e i m p l i c i t s t u f
0065060 f \r R e a d A l l N e t L i n e
0065100 s ( I m p l i c i t F i l e ) \r
0065120 F i l e P o s ( I m p l i c i t
0065140 F i l e , o l d I m p l i c i
0065160 t P o s ) \r T r u n c a t e D i
0065200 s k S t r e a m ( I m p l i c i
0065220 t F i l e ) \r \r M a p N a m e e
0065240 s ( t y p e N e t , R o u t e
0065260 N e t ) \r M a p N a m e e s ( t
0065300 y p e N e t , A d d E c l T e
0065320 r m i n a t o r s ) / / m a
0065340 y a d d n e w s t u f f 032
0065360 l 5 5 3 9 \ f 1 \r ] \r C l 376 001 \0
0065400 M 335 o s e s ( I m p l i c i t F
0065420 i l e ) \r I m p l i c i t F i l
0065440 e = e m p t y \r \r M a p N a
0065460 m e e s ( t y p e I c c l a s s
0065500 , F r e e T e r m S t o r a g
0065520 e ) / / n o m o r e t e
0065540 r m i n a t o r s \r \r i f c o
0065560 v e r e d A r e a s n e 0
0065600 t h e n F r e e ( S i l Z o n
0065620 e , c o v e r e d A r e a s )
0065640 / / n o m o r e I C ' s
0065660 t o i n s e r t \r c o v e r
0065700 e d A r e a s = 0 \r \r M a p
0065720 N a m e e s ( t y p e I c i n s
0065740 t , C h e c k U n u s e d P i
0065760 n s ) \r \r M a p N a m e e s ( t
0066000 y p 376 001 \0 220 220 e N e t , A s s
0066020 i g n T W N e t ) \r \r i f C o
0066040 r r e c t i n g t h e n \r C o
0066060 r r e l a t e R e m a i n i n g
0066100 ( ) \r \r u n l e s s n o r o u
0066120 t e d o M a p N a m e e s (
0066140 t y p e N e t , R o u t e N e
0066160 t ) / / t r a c e - w i r e
0066200 d s t u f f \r \r u n l e s s
0066220 n o r o u t e d o \r [ 032 l 4 2
0066240 6 9 \ f 1 \r M a p N a m e e s (
0066260 t y p e N e t , C o m p u t e
0066300 L e n g t h s ) \r D o I n S o r
0066320 t O r d e r ( t y p e N e t ,
0066340 N L C o m p F n , A s s i g n
0066360 N e t N u m b e r ) 032 l 5 5 3 9
0066400 \ f 1 \r ] \r \r 376 001 \0 004 204 n e t O
0066420 f f s e t = 0 \r \r O u t F i
0066440 l e = G e t F i l e ( n l F
0066460 i l e N a m e , " . i c s " , c
0066500 h a r I t e m ) / / i c s f
0066520 i l e \r M a k e O u t p u t F i
0066540 l e ( O u t F i l e , i s I C
0066560 F i l e ) \r P u t s ( O u t F i
0066600 l e , $ * n ) ; T r u n c a
0066620 t e D i s k S t r e a m ( O u t
0066640 F i l e ) ; C l o s e s ( O u
0066660 t F i l e ) \r \r O u t F i l e
0066700 = G e t F i l e ( w l N e w F
0066720 i l e N a m e , " " , c h a r I
0066740 t e m ) / / w i r e l i s t
0066760 \r M a k e O u t p u t F i l e (
0067000 O u t F i l e , i s W 376 001 \0 %
0067020 336 L F i l e ) \r P u t s ( O u t
0067040 F i l e , $ * n ) ; T r u n
0067060 c a t e D i s k S t r e a m ( O
0067100 u t F i l e ) ; C l o s e s (
0067120 O u t F i l e ) \r \r i f b a s
0067140 e N e t N u m b e r g r o u
0067160 t L i m i t t h e n \r [ 032 l 4
0067200 2 6 9 \ f 1 \r o u t T h r e s h
0067220 o l d = s a v e d O u t T h
0067240 r e s h o l d \r \r O u t F i l e
0067260 = G e t F i l e ( w l N e w
0067300 F i l e N a m e , " 1 " , c h a
0067320 r I t e m ) / / w i r e l i
0067340 s t \r M a k e O u t p u t F i l
0067360 e ( O u t F i l e , i s W L S
0067400 p l i t F i l e ) \r P u t s ( O
0067420 u 376 001 \0 _ 243 t F i l e , $ * n
0067440 ) ; T r u n c a t e D i s k S
0067460 t r e a m ( O u t F i l e ) ;
0067500 C l o s e s ( O u t F i l e ) \r
0067520 \r n e t O f f s e t = n e t
0067540 C o u n t \r \r O u t F i l e =
0067560 G e t F i l e ( w l N e w F i
0067600 l e N a m e , " 2 " , c h a r I
0067620 t e m ) / / w i r e l i s t
0067640 \r M a k e O u t p u t F i l e (
0067660 O u t F i l e , i s W L S p l
0067700 i t F i l e ) \r P u t s ( O u t
0067720 F i l e , $ * n ) ; T r u n
0067740 c a t e D i s k S t r e a m ( O
0067760 u t F i l e ) ; C l o s e s (
0070000 O u t F i l e ) \r \r o u t T h r
0070020 e s h o l d 376 001 \0 } 370 = i n
0070040 f i n i t y \r n e t O f f s e t
0070060 = 1 032 l 5 5 3 9 \ f 1 \r ] \r
0070100 \r i f C o r r e c t i n g t
0070120 h e n \r [ 032 l 4 2 6 9 \ f 1 \r A
0070140 D F i l e = G e t F i l e (
0070160 n l F i l e N a m e , " . a d "
0070200 , c h a r I t e m ) / / a d
0070220 d / d e l e t e l i s t \r M a
0070240 k e O u t p u t F i l e ( A D F
0070260 i l e , i s A D F i l e ) \r P
0070300 u t s ( A D F i l e , $ * n )
0070320 ; T r u n c a t e D i s k S t
0070340 r e a m ( A D F i l e ) ; C l o
0070360 s e s ( A D F i l e ) 032 l 5 5 3
0070400 9 \ f 1 \r ] \r \r M a p N a m e e
0070420 s ( t y p e I c i n s 376 001 \0 260 O
0070440 t , M a k e C o n n I n s t F
0070460 i l e ) \r M a k e O l d B P F i
0070500 l e ( ) \r M a k e L o a d i n g
0070520 C h a r t ( ) \r i f d o M u l
0070540 t i W i r e t h e n M u l t
0070560 i W i r e ( ) \r i f d o P C
0070600 t h e n P C ( ) \r i f d o R
0070620 e s i s t a n c e s t h e n
0070640 M a k e R e s i s t a n c e F i
0070660 l e ( ) \r \r P u t s ( E r F i l
0070700 e , $ * n ) ; T r u n c a t
0070720 e D i s k S t r e a m ( E r F i
0070740 l e ) ; R e s e t s ( E r F i
0070760 l e ) \r G e t s ( E r F i l e )
0071000 ; P u t s ( E r F i l e , $
0071020 0 + w o r s t E r r o r L e v e
0071040 376 001 \0 2 037 l ) ; C l o s e s (
0071060 E r F i l e ) \r C o u n t e r J
0071100 u n t a ( S a y G o o d b y e )
0071120 032 l 4 2 6 8 ( 6 3 5 ) \ f 1 \r ]
0071140 \r \r a n d G e t F i l e ( f n
0071160 a m e , e x t , b y t e w o r d
0071200 , z o n e ; n u m a r g s n
0071220 a ) = v a l o f / / 1 f
0071240 o r b y t e s , 0 f o r w
0071260 o r d s \r [ 032 \ f 1 \r D e f a u
0071300 l t A r g s ( l v n a , - 1
0071320 , " " , c h a r I t e m ,
0071340 S i l Z o n e ) \r l e t v =
0071360 v e c 1 2 8 \r E x p a n d T
0071400 e m p l a t e ( v , " $ S $ S
0071420 " , f n a m e , e x t ) /
0071440 / a d d 376 001 \0 367 0 t h e e x
0071460 t e n s i o n \r l e t k f I n
0071500 d e x = k f \r w h i l e k
0071520 f I n d e x n e e m p t y
0071540 d o \r [ 032 l 4 2 6 8 \ f 1 \r l e
0071560 t d = S t C o m p ( v ,
0071600 l v k f I n d e x > > K F . s
0071620 t r i n g ) \r i f d g r 1
0071640 % d l s - 1 t h e n \r
0071660 [ 032 l 5 5 3 8 \ f 1 \r k f I n d
0071700 e x = k f I n d e x > > K F
0071720 . n e x t \r l o o p 032 l 6 8 0 8
0071740 \ f 1 \r ] \r l e t f i l e =
0071760 C r e a t e D i s k S t r e a
0072000 m ( l v k f I n d e x > > K F
0072020 . f p , k s T y p e R e a d W
0072040 r i t e , \r b y t 376 001 \0 322 \t e
0072060 w o r d , 0 , 0 , z o n e
0072100 ) \r i f f i l e e q 0 t
0072120 h e n C a l l S w a t ( " C a
0072140 n ' t o p e n f i l e " ,
0072160 l v k f I n d e x > > K F .
0072200 s t r i n g ) \r r e s u l t i s
0072220 f i l e 032 l 5 5 3 8 \ f 1 \r ]
0072240 \r C a l l S w a t ( " U n a n t
0072260 i c i p a t e d f i l e : "
0072300 , v ) 032 l 4 2 6 8 \ f 1 \r ] 032
0072320 \ f 1 \r \r a n d W e A r e ( d
0072340 o i n g W h a t ) b e \r [ 032 \
0072360 f 1 \r s t a t i c [ l a s t
0072400 T h i n g = 0 ; l a s t X = 0
0072420 ; l a s t Y = 0 ] \r i f d
0072440 o i n g W h a t n e l a s 376
0072460 001 \0 \t 261 t T h i n g t h e n
0072500 / / c h a n g e c u r s o r
0072520 \r [ 032 l 4 2 6 9 \ f 1 \r m a n i
0072540 f e s t [ A = 1 ; B = 2 ;
0072560 C = 4 ; D = # 1 0 ; E = #
0072600 2 0 ; F = # 4 0 ; G = # 1 0
0072620 0 ] \r l e t s e g m e n t s
0072640 = \r t a b l e \r [ 032 l 5 5 3 9
0072660 \ f 1 \r A + B + C + D + E + F \t
0072700 / / 0 \r B + C \t / / 1 \r A +
0072720 B + G + E + D \t / / 2 \r A + B
0072740 + G + C + D \t / / 3 \r F + G +
0072760 B + C / / 4 \r A + F + G + C
0073000 + D \t / / 5 \r A + F + E + D +
0073020 C + G \t / / 6 \r A + B + C \t /
0073040 / 7 \r A + B + C + D + E + F +
0073060 G / 376 001 \0 m * / 8 \r A + F
0073100 + G + B + C \t / / 9 032 l 6 8 0
0073120 9 \ f 1 \r ] ! d o i n g W h a t
0073140 \r \r @ # 4 3 1 = ( s e g m e
0073160 n t s & A ) n e 0 ? # 7 7
0073200 0 0 0 , 0 \r f o r i = 1 t
0073220 o 6 d o @ ( # 4 3 1 + i )
0073240 = \r ( ( s e g m e n t s & F
0073260 ) n e 0 ? # 1 0 0 0 0 0 ,
0073300 0 ) + ( ( s e g m e n t s & B
0073320 ) n e 0 ? # 4 0 0 , 0 )
0073340 \r @ ( # 4 3 1 + 7 ) = ( s e
0073360 g m e n t s & G ) n e 0 ?
0073400 # 7 7 0 0 0 , 0 \r f o r i =
0073420 8 t o 1 3 d o @ ( # 4 3
0073440 1 + i ) = \r ( ( s e g m e n
0073460 t s & E ) n e 376 001 \0 304 o 0 ?
0073500 # 1 0 0 0 0 0 , 0 ) + ( ( s
0073520 e g m e n t s & C ) n e 0 ?
0073540 # 4 0 0 , 0 ) \r @ ( # 4 3 1
0073560 + 1 4 ) = ( s e g m e n t s
0073600 & D ) n e 0 ? # 7 7 0 0 0
0073620 , 0 \r @ ( # 4 3 1 + 1 5 ) =
0073640 0 \r \r l a s t T h i n g =
0073660 d o i n g W h a t 032 l 5 5 3 9 \
0073700 f 1 \r ] \r l a s t X = l a s
0073720 t X + 4 \r i f l a s t X g r
0073740 4 0 0 t h e n \r [ 032 l 4 2 6
0073760 9 \ f 1 \r l a s t X = 0 \r l
0074000 a s t Y = l a s t Y + 1 6 \r
0074020 i f l a s t Y g r 6 0 0
0074040 t h e n l a s t Y = 0 032 l
0074060 5 5 3 9 \ f 1 \r ] \r @ # 4 2 376 \0
0074100 0 u m 6 = l a s t X + 1 0 0
0074120 \r @ # 4 2 7 = l a s t Y + 1
0074140 0 0 032 l 4 2 6 9 \ f 1 \r ] \r 032 \
0074160 f 1 \r 377 \0 \0 r o u t e s y m s .
0074200 b c p l \0 373 m 333 X 333 \0 \0 376 001 \0 034
0074220 021 / / r o u t e s y m s . b c p
0074240 l \r \r / / S y m b o l t a b
0074260 l e , s t o r a g e a l l o
0074300 c a t i o n , a n d s t r i
0074320 n g u t i l i t y m o d u l
0074340 e . \r \r / / l a s t m o d i
0074360 f i e d b y M c C r e i g h
0074400 t , J u l y 2 , 1 9 8 1
0074420 1 0 : 1 9 A M \r \r g e t "
0074440 r o u t e . d e f s " \r g e t
0074460 " s t r e a m s . d " \r \r s t a
0074500 t i c \r [ \r \t h a s h t a b =
0074520 0 \r \t h a s h t a b L e n =
0074540 2 5 1 \r \r \t o b j e c t Z o n
0074560 e \r \t p e r m a n e n t Z o n e
0074600 \r ] \r \r s t r u c t u r e o b
0074620 j 376 001 \0 214 210 e c t Z o n e : \r [
0074640 032 ( 6 3 5 ) \ f 1 \r A l l o c a
0074660 t e w o r d \r F r e e w o r
0074700 d \r f i r s t F r e e w o r d
0074720 \r n F r e e W o r d s w o r d
0074740 \r a d d e d S p a c e Z o n e
0074760 w o r d \r ] \r \r s t r u c t u r
0075000 e S B : \r [ 032 \ f 1 \r l e n g
0075020 t h w o r d \r p S b N e x t
0075040 w o r d \r p S b P r e v i o u s
0075060 w o r d 032 l 4 2 6 9 \ f 1 \r ]
0075100 \r \r s t r u c t u r e z o n e
0075120 : \r [ 032 \ f 1 \r A l l o c a t e
0075140 w o r d \r F r e e w o r d \r
0075160 O u t O f S p a c e R t n w o
0075200 r d \r M a l F o r m e d R t n
0075220 w o r d \r a 376 001 \0 221 260 n c h o r
0075240 @ S B \r r o v e r w o r d \r
0075260 m i n A d r w o r d \r m a x A
0075300 d r w o r d \r ] \r \r \r / /
0075320 N a m e e M a
0075340 n a g e m e n t \r
0075360 \r l e t D e f i n e N a m e e
0075400 ( s t r , t y p e , I n i t
0075420 , e x t r a L e n g t h , d
0075440 u p l i c a t e ; n u m a r g
0075460 s n a ) = v a l o f \r [
0075500 / / r e t u r n s p o i n t e
0075520 r t o n a m e e . V e r i
0075540 f i e s n e w r e c o r d
0075560 i f t y p e < 0 . I f d u
0075600 p l i c a t e \r / / i s p r
0075620 e s e n t a n d n 376 001 \0 233 364
0075640 o t f a l s e , t h e n a
0075660 n e w r e c o r d i s c
0075700 r e a t e d e v e n i f i
0075720 t \r / / d u p l i c a t e s
0075740 a n e x i s t i n g ( s t r
0075760 , t y p e ) p a i r . \r 032 \
0076000 f 1 \r l e t r e a l t y p e
0076020 = t y p e l s 0 ? - t y
0076040 p e , t y p e \r l e t n a m
0076060 e e L e n = s e l e c t o n
0076100 r e a l t y p e i n t o \r [
0076120 032 l 4 2 6 9 \ f 1 \r c a s e t
0076140 y p e N e t : s i z e n e t
0076160 / 1 6 \r c a s e t y p e I c i
0076200 n s t : s i z e i c i n s t
0076220 / 1 6 \r c a s e t y p e I c t
0076240 376 001 \0 264 002 y p e : s i z e i
0076260 c t y p e / 1 6 \r c a s e t y
0076300 p e I c c l a s s : s i z e
0076320 i c c l a s s / 1 6 \r c a s e
0076340 t y p e O l d i n s t : s i z
0076360 e o l d i n s t / 1 6 \r c a s
0076400 e t y p e P g m s y m b o l :
0076420 s i z e p g m s y m b o l /
0076440 1 6 \r c a s e t y p e N u l l
0076460 : s i z e n a m e e / 1 6 \r
0076500 d e f a u l t : C a l l S w a
0076520 t ( " I l l e g a l n a m e e
0076540 t y p e " ) 032 l 5 5 3 9 \ f 1
0076560 \r ] + ( ( n a g r 3 ) ? e
0076600 x t r a L e n g t h , 0 ) \r \r
0076620 l e t f i r s t N a m e e =
0076640 0 \r l e 376 001 \0 273 255 t f i r s
0076660 t E m p t y = n i l \r \r l e
0076700 t n a m e = D e f i n e N
0076720 a m e ( s t r , l v f i r s
0076740 t N a m e e , l v f i r s t
0076760 E m p t y , n a m e e L e n )
0077000 \r l e t n a m e e = 0 \r \r
0077020 u n l e s s f i r s t E m p t
0077040 y d o n a m e e = F i n
0077060 d N a m e e ( n a m e , t y p
0077100 e ) \r \r i f n a m e e e q
0077120 0 % ( n a g e 5 & d
0077140 u p l i c a t e n e f a l s
0077160 e ) t h e n \r [ 032 l 4 2 6 9 \
0077200 f 1 \r n a m e e = f i r s t
0077220 E m p t y ? f i r s t N a m e
0077240 e , A l l o c a t 376 001 \0 f 255 e
0077260 ( o b j e c t Z o n e , n a m
0077300 e e L e n ) \r Z e r o ( n a m e
0077320 e , n a m e e L e n ) \r u n l
0077340 e s s f i r s t E m p t y d
0077360 o n a m e e > > n a m e e . n
0077400 e x t = f i r s t N a m e e
0077420 > > n a m e e . n e x t \r f i r
0077440 s t N a m e e > > n a m e e . n
0077460 e x t = f i r s t E m p t y
0077500 ? l v n a m e > > n a m e .
0077520 m a r k , n a m e e \r n a m e
0077540 e > > n a m e e . t y p e =
0077560 r e a l t y p e \r i f ( n a
0077600 g r 2 ) & ( I n i t n e 0
0077620 ) t h e n I n i t ( n a m e
0077640 e ) 032 l 5 5 3 9 \ f 1 \r ] \r r 376
0077660 001 \0 v O e s u l t i s n a m e
0077700 e 032 l 4 2 6 9 \ f 1 \r ] \r \r a n
0077720 d M u s t F i n d N a m e e (
0077740 s t r i n g , t y p e ) =
0077760 D e f i n e N a m e e ( s t r i
0100000 n g , t y p e , S h u c k s
0100020 ) \r \r a n d S h u c k s ( n a
0100040 m e e ) b e C a l l S m a r
0100060 t S w a t ( " U n d e f i n e d
0100100 $ S : $ S " , \r s e l e c
0100120 t o n n a m e e > > n a m e e
0100140 . t y p e i n t o \r [ 032 \ f 1
0100160 \r c a s e t y p e N e t : "
0100200 n e t " \r c a s e t y p e I c
0100220 i n s t : " I C p o s i t i
0100240 o n " \r c a s e t y p e I c t
0100260 y p e : 376 001 \0 W 315 " I C t y
0100300 p e " \r c a s e t y p e I c c
0100320 l a s s : " I C c l a s s /
0100340 T r a c e - w i r e d n e t /
0100360 e t c " \r c a s e t y p e O l
0100400 d i n s t : " o l d I C p
0100420 o s i t i o n " \r c a s e t y
0100440 p e P g m s y m b o l : " s u
0100460 b r o u t i n e " \r d e f a u l
0100500 t : " c o n f u s i o n - - c
0100520 a l l M c C r e i g h t " 032 l
0100540 4 2 6 9 \ f 1 \r ] , F i n d N
0100560 a m e e s S t r i n g ( n a m e
0100600 e ) ) \r \r a n d T r y F i n d
0100620 i n g N a m e e ( s t r i n g ,
0100640 t y p e ) = v a l o f \r [
0100660 032 \ f 1 \r l e t 376 001 \0 9 367 n a
0100700 m e = T r y F i n d i n g N
0100720 a m e ( s t r i n g ) \r r e s u
0100740 l t i s ( n a m e e q 0 )
0100760 ? 0 , F i n d N a m e e ( n
0101000 a m e , t y p e ) 032 l 4 2 6 9
0101020 \ f 1 \r ] \r \r a n d M a p N a
0101040 m e e s ( t y p e , P r o c e
0101060 d u r e ) b e \r [ 032 \ f 1 \r f
0101100 o r i = 0 t o h a s h t a
0101120 b L e n - 1 d o \r [ 032 l 4 2 6
0101140 9 \ f 1 \r l e t n a m e =
0101160 h a s h t a b ! i \r w h i l e
0101200 n a m e n e 0 d o \r [ 032 l
0101220 5 5 3 9 \ f 1 \r l e t n a m e
0101240 e = l v n a m e > > n a m
0101260 e . f i r s t N a m e e + \r 376 001
0101300 \0 376 301 n a m e > > n a m e . n
0101320 a m e S t r i n g . l e n g t h
0101340 r s h i f t 1 \r \r w h i l e
0101360 @ n a m e e n e m a r k
0101400 d o \r [ 032 l 6 8 0 9 \ f 1 \r i f
0101420 n a m e e > > n a m e e . t y
0101440 p e e q t y p e t h e n
0101460 P r o c e d u r e ( n a m e e )
0101500 \r n a m e e = n a m e e > >
0101520 n a m e e . n e x t 032 l 8 0 7 9
0101540 \ f 1 \r ] \r n a m e = n a m
0101560 e > > n a m e . n e x t 032 l 6 8
0101600 0 9 \ f 1 \r ] 032 l 5 5 3 9 \ f 1
0101620 \r ] 032 l 4 2 6 9 \ f 1 \r ] \r \r a
0101640 n d F i n d N a m e e s S t r
0101660 i n g ( n a m e e ) = F i n
0101700 d N a 376 001 \0 ^ j m e e s N a m e
0101720 ( n a m e e ) + o f f s e t n
0101740 a m e . n a m e S t r i n g / 1
0101760 6 \r \r a n d F i n d N a m e e
0102000 s N a m e ( n a m e e ) = v
0102020 a l o f \r [ 032 \ f 1 \r w h i l e
0102040 @ n a m e e n e m a r k
0102060 d o n a m e e = @ n a m e
0102100 e \r r e s u l t i s n a m e e
0102120 - o f f s e t n a m e . m a r
0102140 k / 1 6 032 l 4 2 6 9 \ f 1 \r ] \r
0102160 \r a n d F i n d N a m e e ( n
0102200 a m e , t y p e ) = v a l
0102220 o f / / r e t u r n s n a m
0102240 e e i f d e f i n e d , e
0102260 l s e 0 . \r / / N e g a t i
0102300 v e t y p e 376 001 \0 U 265 m e a
0102320 n s n a m e e m u s t n o
0102340 t e x i s t . \r [ 032 l 2 9 9 8
0102360 \ f 1 \r l e t r e a l t y p e
0102400 = t y p e g e 0 ? t y
0102420 p e , - t y p e \r \r l e t n
0102440 a m e e = l v n a m e > >
0102460 n a m e . f i r s t N a m e e +
0102500 \r n a m e > > n a m e . n a m
0102520 e S t r i n g . l e n g t h r
0102540 s h i f t 1 \r u n t i l @ n
0102560 a m e e e q m a r k d o \r
0102600 [ 032 l 4 2 6 8 \ f 1 \r i f n a
0102620 m e e > > n a m e e . t y p e
0102640 e q r e a l t y p e t h e n
0102660 \r [ 032 l 5 5 3 8 \ f 1 \r i f t
0102700 y p e l s 0 t h e n 376 001 \0
0102720 Y 254 C a l l S w a t ( " n a m
0102740 e e a l r e a d y d e f i n
0102760 e d " ) \r r e s u l t i s n a
0103000 m e e 032 l 6 8 0 8 \ f 1 \r ] \r n
0103020 a m e e = n a m e e > > n a
0103040 m e e . n e x t 032 l 5 5 3 8 \ f
0103060 1 \r ] \r r e s u l t i s 0 032 l
0103100 4 2 6 8 \ f 1 \r ] \r \f \r / /
0103120 N a m e M a n
0103140 a g e m e n t \r \r a
0103160 n d D e f i n e N a m e ( s t
0103200 r , p f i r s t N a m e e ,
0103220 p f i r s t E m p t y , n a m
0103240 e e L e n ; n u m a r g s n
0103260 a ) = v a l o f \r [ 032 \ f 1
0103300 \r l e t s t r E x t r a W o r
0103320 d s 376 001 \0 223 334 = ( s t r > >
0103340 s t r . l e n g t h ) r s h i
0103360 f t 1 \r l e t n a m e =
0103400 T r y F i n d i n g N a m e ( s
0103420 t r ) \r i f n a l s 4 t
0103440 h e n \r [ 032 l 4 2 6 8 \ f 1 \r i
0103460 f n a m e n e 0 t h e n
0103500 r e s u l t i s n a m e \r D
0103520 e f i n e N a m e e ( s t r ,
0103540 t y p e N u l l ) \r r e s u l t
0103560 i s T r y F i n d i n g N a m
0103600 e ( s t r ) 032 l 5 5 3 8 \ f 1 \r
0103620 ] \r \r t e s t n a m e e q
0103640 0 \r i f n o t @ p f i r s t E
0103660 m p t y = f a l s e \r i f s
0103700 o \r [ 032 l 4 2 6 8 \ f 1 \r @ p f
0103720 i r s t E m p 376 001 \0 332 " t y =
0103740 t r u e \r n a m e = A l l
0103760 o c a t e ( o b j e c t Z o n e
0104000 , o f f s e t n a m e . f i
0104020 r s t N a m e e / 1 6 + s t r E
0104040 x t r a W o r d s + \r n a m e
0104060 e L e n ) \r l e t h = H a
0104100 s h ( s t r ) / / p l a c e
0104120 i n s y m b o l t a b l e
0104140 f o r t h i s s t r i n g \r
0104160 n a m e > > n a m e . n e x t
0104200 = @ h \r @ h = n a m e \r n
0104220 a m e > > n a m e . m a r k =
0104240 - 1 \r M o v e B l o c k ( l v
0104260 n a m e > > n a m e . n a m e
0104300 S t r i n g , s t r , 1 + s
0104320 t r E x t r a W o r d s 376 001 \0 334
0104340 \0 ) 032 l 5 5 3 8 \ f 1 \r ] \r @ p
0104360 f i r s t N a m e e = l v
0104400 n a m e > > n a m e . f i r s t
0104420 N a m e e + s t r E x t r a W o
0104440 r d s \r r e s u l t i s n a m
0104460 e 032 l 4 2 6 9 \ f 1 \r ] \r \r a n
0104500 d T r y F i n d i n g N a m e
0104520 ( s t r ) = v a l o f / /
0104540 r e t u r n s n a m e i f
0104560 d e f i n e d , e l s e 0 \r
0104600 [ 032 \ f 1 \r l e t n a m e =
0104620 @ ( H a s h ( s t r ) ) \r u n
0104640 t i l n a m e e q 0 d o
0104660 \r [ 032 l 4 2 6 8 \ f 1 \r i f S
0104700 t C o m p ( s t r , l v ( n a m
0104720 e > > n a m e . n a m e S t r i
0104740 n 376 001 \0 . 022 g ) ) e q 0 t
0104760 h e n r e s u l t i s n a m
0105000 e \r n a m e = n a m e > > n
0105020 a m e . n e x t 032 l 5 5 3 8 \ f
0105040 1 \r ] \r r e s u l t i s 0 032 l
0105060 4 2 6 8 \ f 1 \r ] \r \r a n d H
0105100 a s h ( s t r ) = v a l o f
0105120 \r [ 032 \ f 1 \r l e t r = 0
0105140 \r f o r i = 1 t o s t
0105160 r > > s t r . l e n g t h d o
0105200 r = r + ( s t r > > s t r
0105220 . c h a r ^ i ) \r i f h a s h
0105240 t a b e q 0 t h e n \r [ 032
0105260 l 4 2 6 8 \ f 1 \r h a s h t a b
0105300 = A l l o c a t e ( S i l Z
0105320 o n e , h a s h t a b L e n )
0105340 \r Z e r o ( 376 001 \0 ! 320 h a s h t
0105360 a b , h a s h t a b L e n ) 032 l
0105400 5 5 3 8 \ f 1 \r ] \r r e s u l t
0105420 i s h a s h t a b + ( r
0105440 r e m h a s h t a b L e n ) \r
0105460 032 l 4 2 6 8 \ f 1 \r ] \r \f \r / /
0105500 S t o r a g e
0105520 M a n a g e m e
0105540 n t \r \r a n d S e t u p S
0105560 p a c e ( ) b e \r [ 032 \ f 1 \r
0105600 p e r m a n e n t Z o n e =
0105620 A l l o c a t e ( S i l Z o n e
0105640 , s i z e o b j e c t Z o n
0105660 e / 1 6 ) \r p e r m a n e n t Z
0105700 o n e > > o b j e c t Z o n e .
0105720 A l l o c a t e = A l l o c
0105740 a t e P e r m a n e n 376 001 \0 r 343
0105760 t \r p e r m a n e n t Z o n e >
0106000 > o b j e c t Z o n e . F r e e
0106020 = F r e e P e r m a n e n t
0106040 \r \r o b j e c t Z o n e = A
0106060 l l o c a t e ( S i l Z o n e ,
0106100 s i z e o b j e c t Z o n e
0106120 / 1 6 ) \r o b j e c t Z o n e >
0106140 > o b j e c t Z o n e . A l l o
0106160 c a t e = A l l o c a t e O
0106200 b j e c t \r o b j e c t Z o n e
0106220 > > o b j e c t Z o n e . F r e
0106240 e = F r e e O b j e c t \r o
0106260 b j e c t Z o n e > > o b j e c
0106300 t Z o n e . n F r e e W o r d s
0106320 = 0 \r o b j e c t Z o n e >
0106340 > o b j e c t Z o n e . a d d e
0106360 376 001 \0 177 F d S p a c e Z o n e
0106400 = p e r m a n e n t Z o n e 032
0106420 l 4 2 6 9 \ f 1 \r ] \r \r a n d
0106440 A l l o c a t e O b j e c t ( o
0106460 b j e c t Z o n e , l e n g t
0106500 h ) = v a l o f \r [ 032 \ f 1
0106520 \r m a n i f e s t [ c h u n
0106540 k s i z e = 5 1 2 ; o b
0106560 j e c t T h r e s h o l d =
0106600 c h u n k s i z e / 1 0 ] \r \r
0106620 i f l e n g t h g r o b j
0106640 e c t T h r e s h o l d t h e
0106660 n r e s u l t i s \r A l l o
0106700 c a t e ( o b j e c t Z o n e >
0106720 > o b j e c t Z o n e . a d d e
0106740 d S p a c e Z o n e , l e n g
0106760 t h ) \r \r 376 001 \0 V d l e t n F
0107000 r e e W o r d s = o b j e c
0107020 t Z o n e > > o b j e c t Z o n
0107040 e . n F r e e W o r d s \r i f
0107060 l e n g t h g r n F r e e W
0107100 o r d s t h e n \r [ 032 l 4 2 6
0107120 9 \ f 1 \r l e t a c t u a l s
0107140 p a c e = n i l \r l e t b
0107160 l o c k s i z e = c h u n k
0107200 s i z e \r l e t b l o c k =
0107220 A l l o c a t e ( o b j e c t
0107240 Z o n e > > o b j e c t Z o n e
0107260 . a d d e d S p a c e Z o n e ,
0107300 b l o c k s i z e , l v a
0107320 c t u a l s p a c e ) \r i f b
0107340 l o c k e q e m p t y t h
0107360 e n \r [ 032 l 5 5 3 9 376 001 \0 p 4 \
0107400 f 1 \r b l o c k s i z e = (
0107420 l e n g t h g r a c t u a l
0107440 s p a c e ) ? l e n g t h , a
0107460 c t u a l s p a c e \r b l o c k
0107500 = A l l o c a t e ( o b j e
0107520 c t Z o n e > > o b j e c t Z o
0107540 n e . a d d e d S p a c e Z o n
0107560 e , \r b l o c k s i z e
0107600 ) 032 l 6 8 0 9 \ f 1 \r ] \r o b j
0107620 e c t Z o n e > > o b j e c t Z
0107640 o n e . f i r s t F r e e =
0107660 b l o c k \r o b j e c t Z o n e
0107700 > > o b j e c t Z o n e . n F r
0107720 e e W o r d s = b l o c k s
0107740 i z e \r n F r e e W o r d s =
0107760 b l o c k s i z e 032 l 5 5 3 376
0110000 001 \0 @ 330 9 \ f 1 \r ] \r n F r e e
0110020 W o r d s = n F r e e W o r
0110040 d s - l e n g t h \r l e t r e
0110060 s u l t = o b j e c t Z o n
0110100 e > > o b j e c t Z o n e . f i
0110120 r s t F r e e + n F r e e W o r
0110140 d s \r o b j e c t Z o n e > > o
0110160 b j e c t Z o n e . n F r e e W
0110200 o r d s = n F r e e W o r d
0110220 s \r r e s u l t i s r e s u l
0110240 t 032 l 4 2 6 9 \ f 1 \r ] \r \r a n
0110260 d F r e e O b j e c t ( o b j
0110300 e c t Z o n e , o b j e c t )
0110320 = C a l l S w a t ( " C a n
0110340 ' t f r e e o b j e c t " )
0110360 \r \r a n d A l l o c a t e P e
0110400 r m a n 376 001 \0 B U e n t ( z o n
0110420 e , l e n g t h , r e t u r
0110440 n O n N o S p a c e ; n u m a
0110460 r g s n a ) = v a l o f \r
0110500 [ 032 \ f 1 \r i f n a l s 3
0110520 t h e n r e t u r n O n N o
0110540 S p a c e = f a l s e \r z o
0110560 n e = S i l Z o n e \r A l l
0110600 o c a t e ( z o n e , # 7 7 7
0110620 7 7 , t r u e ) / / c o a
0110640 l e s c e f r e e b l o c k
0110660 s \r l e t o r i g R o v e r
0110700 = z o n e > > z o n e . r o v
0110720 e r \r l e t l o w e s t F i t
0110740 t i n g B l o c k = - 1 \r l
0110760 e t b i g g e s t B l o c k L
0111000 e n g t h = - 376 001 \0 225 { 1 \r
0111020 l e t r o v e r = o r i g
0111040 R o v e r \r [ 032 l 4 2 6 9 \ f 1
0111060 \r i f U s c ( r o v e r > > S
0111100 B . l e n g t h , b i g g e s t
0111120 B l o c k L e n g t h ) g r
0111140 0 t h e n \r b i g g e s t
0111160 B l o c k L e n g t h = r o
0111200 v e r > > S B . l e n g t h \r i
0111220 f U s c ( r o v e r > > S B .
0111240 l e n g t h , l e n g t h )
0111260 l e 0 t h e n l o o p \r i
0111300 f U s c ( r o v e r , l o w
0111320 e s t F i t t i n g B l o c k )
0111340 g e 0 t h e n l o o p \r
0111360 l o w e s t F i t t i n g B l o
0111400 c k = r o v e r 032 l 5 5 376 001
0111420 \0 n \r 3 9 \ f 1 \r ] r e p e a
0111440 t w h i l e v a l o f \r [ 032 l
0111460 4 2 6 9 \ f 1 \r r o v e r =
0111500 r o v e r > > S B . p S b N e x
0111520 t \r r e s u l t i s r o v e r
0111540 n e o r i g R o v e r 032 l 5
0111560 5 3 9 \ f 1 \r ] \r \r i f l o w
0111600 e s t F i t t i n g B l o c k
0111620 e q - 1 t h e n \r r e s
0111640 u l t i s A l l o c a t e ( z
0111660 o n e , l e n g t h , r e t
0111700 u r n O n N o S p a c e ) \r \r z
0111720 o n e > > z o n e . r o v e r
0111740 = l o w e s t F i t t i n g B
0111760 l o c k \r l e t b l o c k s i
0112000 z e = l o w e s t F i t t i
0112020 n g B 376 001 \0 . 337 l o c k > > S B
0112040 . l e n g t h \r l e t b l o c
0112060 k = A l l o c a t e ( z o n
0112100 e , b l o c k s i z e - 1 )
0112120 / / g e t t h e r o v e r
0112140 b l o c k \r l e t r e m a i
0112160 n d e r s i z e = b l o c k
0112200 s i z e - l e n g t h - 1 \r i f
0112220 r e m a i n d e r s i z e g
0112240 e s i z e S B / 1 6 d o \r
0112260 [ 032 l 4 2 6 9 \ f 1 \r l e t r
0112300 e m a i n d e r = b l o c k
0112320 + l e n g t h \r r e m a i n d e
0112340 r > > S B . l e n g t h = -
0112360 r e m a i n d e r s i z e \r ( b
0112400 l o c k - 1 ) > > S B . l e n g
0112420 t h = - ( l 376 001 \0 F 223 e n g
0112440 t h + 1 ) \r F r e e ( z o n e ,
0112460 r e m a i n d e r + 1 ) 032 l 5
0112500 5 3 9 \ f 1 \r ] \r r e s u l t i
0112520 s b l o c k 032 l 4 2 6 9 \ f 1
0112540 \r ] \r \r a n d F r e e P e r m
0112560 a n e n t ( z o n e , b l o c
0112600 k ) b e \r [ 032 \ f 1 \r C a l l
0112620 S w a t ( " W a r n i n g -
0112640 f r e e i n g s t o r a g e
0112660 d e c l a r e d a s p e r m
0112700 a m e n t " ) \r F r e e ( S i l
0112720 Z o n e , b l o c k ) 032 l 4 2
0112740 6 9 \ f 1 \r ] \r \f \r / / S
0112760 t r i n g R o
0113000 u t i n e s \r \r a n
0113020 d S t C o m p ( s 1 , s 376 001 \0
0113040 225 320 2 ) = v a l o f / / s
0113060 t r i n g c o m p a r e . R
0113100 e t u r n s m a g n i t u d e
0113120 3 i f s t r i n g s a r
0113140 e \r / / d i f f e r e n t ,
0113160 m a g n i t u d e 2 i f o
0113200 n e i s a p r e f i x o
0113220 f a n o t h e r , 1 i f
0113240 c a p i t a l i z a t i o n s
0113260 a r e \r / / d i f f e r e n t
0113300 . \r [ 032 \ f 1 \r l e t l s 1
0113320 = s 1 > > s t r . l e n g t h
0113340 \r l e t l s 2 = s 2 > > s
0113360 t r . l e n g t h \r l e t s 1
0113400 w i n s = 0 \r f o r i =
0113420 1 t o ( ( l s 1 l s l
0113440 s 2 376 001 \0 m 304 ) ? l s 1 , l
0113460 s 2 ) d o \r [ 032 l 4 2 6 8 \ f
0113500 1 \r l e t c 1 = s 1 > > s
0113520 t r . c h a r ^ i \r l e t c 2
0113540 = s 2 > > s t r . c h a r ^
0113560 i \r i f c 1 e q c 2 t h
0113600 e n l o o p \r i f ( ( c 1
0113620 x o r c 2 ) & ( $ A e q v
0113640 $ a ) ) n e 0 t h e n \r
0113660 r e s u l t i s ( ( c 1 % ( $
0113700 A x o r $ a ) ) g r ( c
0113720 2 % ( $ A x o r $ a ) ) ) ?
0113740 3 , - 3 \r i f s 1 w i n s
0113760 n e 0 t h e n l o o p \r
0114000 s 1 w i n s = ( ( c 1 g e
0114020 $ A ) & ( c 1 l e $ Z ) )
0114040 ? 1 , - 1 376 001 \0 337 231 032 l 5 5
0114060 3 8 \ f 1 \r ] \r i f l s 1 n
0114100 e l s 2 t h e n r e s u l
0114120 t i s ( l s 1 g r l s 2 )
0114140 ? 2 , - 2 \r r e s u l t i s
0114160 s 1 w i n s 032 l 4 2 6 8 \ f 1
0114200 \r ] \r \r a n d W s s ( s t r e
0114220 a m , s t r i n g ) b e \r [ 032
0114240 \ f 1 \r f o r i = 1 t o
0114260 s t r i n g > > s t r . l e n
0114300 g t h d o P u t s ( s t r e
0114320 a m , s t r i n g > > s t r . c
0114340 h a r ^ i ) 032 l 4 2 6 8 \ f 1 \r
0114360 ] \r \r a n d A p p e n d C ( s
0114400 t r i n g , c h a r ) b e \r [
0114420 032 \ f 1 \r i f c h a r g r
0114440 2 5 5 t h e n C a l 376 001 \0 267
0114460 204 l S w a t ( ) / / s o m e
0114500 b o d y g o t a r g u m e n
0114520 t s r e v e r s e d \r l e t
0114540 s t = s t r i n g > > s t r
0114560 . l e n g t h + 1 \r s t r i n g
0114600 > > s t r . c h a r ^ s t =
0114620 c h a r \r s t r i n g > > s t r
0114640 . l e n g t h = s t \r 032 l 4
0114660 2 6 8 \ f 1 \r ] \r \r a n d E x
0114700 p a n d T e m p l a t e ( s t r
0114720 , t e m p l a t e , p 1 ,
0114740 p 2 , p 3 , p 4 , p 5 ,
0114760 p 6 , p 7 , p 8 ; n u m a
0115000 r g s n a ) = v a l o f \r
0115020 [ 032 \ f 1 \r s t a t i c [ s
0115040 t r i n g ; s t r i n g l e n
0115060 g 376 001 \0 { 035 t h ] \r l e t L
0115100 o c a l P u t s ( s t r e a m ,
0115120 i t e m ) b e \r [ 032 l 4 2 6
0115140 9 \ f 1 \r s t r i n g l e n g t
0115160 h = s t r i n g l e n g t h
0115200 + 1 \r s t r i n g > > s t r . c
0115220 h a r ^ s t r i n g l e n g t h
0115240 = i t e m 032 l 5 5 3 9 \ f 1
0115260 \r ] \r s t r i n g = s t r \r
0115300 s t r i n g l e n g t h = 0
0115320 \r P u t T e m p l a t e ( l v
0115340 L o c a l P u t s - o f f s e t
0115360 S T . p u t s / 1 6 , t e m
0115400 p l a t e , p 1 , p 2 , p
0115420 3 , p 4 , p 5 , p 6 , p
0115440 7 , p 8 ) \r s t r > > s t r .
0115460 l e n g t h 376 001 \0 246 d = s t
0115500 r i n g l e n g t h \r r e s u l
0115520 t i s s t r 032 l 4 2 6 9 \ f 1
0115540 \r ] \r \r a n d C o p y S t r i
0115560 n g ( s o u r c e , d e s t )
0115600 b e \r [ 032 \ f 1 \r f o r i =
0115620 1 t o s o u r c e > > s t r
0115640 i n g . l e n g t h d o d e
0115660 s t > > s t r i n g . c h a r ^
0115700 i = s o u r c e > > s t r i
0115720 n g . c h a r ^ i \r d e s t > >
0115740 s t r i n g . l e n g t h =
0115760 s o u r c e > > s t r i n g . l
0116000 e n g t h 032 l 4 2 6 9 \ f 1 \r ]
0116020 \r \r a n d O f f s e t L e g a
0116040 l ( x , m o d u l u s , m i
0116060 n , m a x ) = v 376 001 \0 M @
0116100 a l o f \r [ 032 \ f 1 \r i f x
0116120 l s 0 t h e n r e s u l t
0116140 i s f a l s e \r i f x r e
0116160 m m o d u l u s n e 0 t
0116200 h e n r e s u l t i s f a l
0116220 s e \r x = x / m o d u l u s
0116240 \r r e s u l t i s ( x g e
0116260 m i n ) & ( x l e m a x ) 032
0116300 l 4 2 6 9 \ f 1 \r ] \r \f \r / /
0116320 E r r o r R
0116340 e p o r t i n g
0116360 R o u t i n e
0116400 s \r \r a n d R e m a r k ( T e
0116420 m p l a t e , p 1 , p 2 ,
0116440 p 3 , p 4 , p 5 , p 6 ;
0116460 n u m a r g s n a ) b e \r [
0116500 376 001 \0 256 222 032 \ f 1 \r P u t T e m
0116520 p l a t e ( E r F i l e , T e
0116540 m p l a t e , p 1 , p 2 ,
0116560 p 3 , p 4 , p 5 , p 6 ) 032
0116600 l 4 2 6 9 \ f 1 \r ] \r \r a n d
0116620 W a r n i n g ( T e m p l a t e
0116640 , p 1 , p 2 , p 3 , p 4
0116660 , p 5 , p 6 ; n u m a r g
0116700 s n a ) b e \r [ 032 \ f 1 \r i
0116720 f w o r s t E r r o r L e v e
0116740 l l s w a r n i n g t h e
0116760 n w o r s t E r r o r L e v e
0117000 l = w a r n i n g \r P u t T
0117020 e m p l a t e ( E r F i l e ,
0117040 T e m p l a t e , p 1 , p 2
0117060 , p 3 , p 4 , p 5 , p 6
0117100 ) 032 l 4 2 376 001 \0 371 267 6 9 \ f 1 \r
0117120 ] \r \r a n d S e r i o u s ( T
0117140 e m p l a t e , p 1 , p 2 ,
0117160 p 3 , p 4 , p 5 , p 6 ;
0117200 n u m a r g s n a ) b e \r
0117220 [ 032 \ f 1 \r i f w o r s t E r
0117240 r o r L e v e l l s s e r i
0117260 o u s t h e n w o r s t E r
0117300 r o r L e v e l = s e r i o
0117320 u s \r P u t T e m p l a t e ( E
0117340 r F i l e , T e m p l a t e ,
0117360 p 1 , p 2 , p 3 , p 4 ,
0117400 p 5 , p 6 ) 032 l 4 2 6 9 \ f
0117420 1 \r ] \r \r a n d D i s a s t e
0117440 r ( T e m p l a t e , p 1 ,
0117460 p 2 , p 3 , p 4 , p 5 ,
0117500 p 6 ; n u m a r g 376 001 \0 261 235 s
0117520 n a ) b e \r [ 032 \ f 1 \r P u
0117540 t T e m p l a t e ( E r F i l e
0117560 , T e m p l a t e , p 1 ,
0117600 p 2 , p 3 , p 4 , p 5 ,
0117620 p 6 ) \r T r u n c a t e D i s k
0117640 S t r e a m ( E r F i l e ) \r R
0117660 e s e t s ( E r F i l e ) \r G e
0117700 t s ( E r F i l e ) \r P u t s (
0117720 E r F i l e , $ 0 + d i s a s
0117740 t e r ) \r C l o s e s ( E r F i
0117760 l e ) \r f i n i s h 032 l 4 2 6 9
0120000 \ f 1 \r ] \r \r a n d C a l l S
0120020 m a r t S w a t ( T e m p l a t
0120040 e , p 1 , p 2 , p 3 , p
0120060 4 , p 5 , p 6 ; n u m a r
0120100 g s n a ) b e \r [ 032 \ f 1 376
0120120 001 \0 { 215 \r l e t m e s s a g e
0120140 = v e c 1 0 0 \r E x p a n
0120160 d T e m p l a t e ( m e s s a g
0120200 e , T e m p l a t e , p 1 ,
0120220 p 2 , p 3 , p 4 , p 5 ,
0120240 p 6 ) \r C a l l S w a t ( m e
0120260 s s a g e ) \r ] \r \f \r / / \t B
0120300 i t V e c t o
0120320 r R o u t i n
0120340 e s \r \r a n d G e t B i t (
0120360 v e c t o r , i n d e x ) =
0120400 1 & ( ( v e c t o r ! ( i
0120420 n d e x r s h i f t 4 ) )
0120440 r s h i f t ( i n d e x &
0120460 # 1 7 ) ) \r \r a n d S e t B i
0120500 t ( v e c t o r , i n d e x ,
0120520 v a l 376 \0 331 2 233 u e ) b e \r
0120540 [ 032 \ f 1 \r l e t s h i f t
0120560 = i n d e x & # 1 7 \r l
0120600 e t n e w M a s k = ( v a
0120620 l u e & 1 ) l s h i f t
0120640 s h i f t \r l e t o l d M a s
0120660 k = - 1 - ( 1 l s h i
0120700 f t s h i f t ) \r l e t w o
0120720 r d I n d e x = i n d e x
0120740 r s h i f t 4 \r v e c t o r !
0120760 w o r d I n d e x = ( v e c
0121000 t o r ! w o r d I n d e x &
0121020 o l d M a s k ) % n e w M a
0121040 s k 032 l 4 2 6 9 \ f 1 \r ] 032 \ f
0121060 1 \r 377 \0 \0 r o u t e a . b c p l
0121100 \0 373 230 \t 330 200 \0 \0 376 001 \0 t 340 / / r
0121120 o u t e a . b c p l \r \r / / N
0121140 e t - l i s t f i l e r e a
0121160 d - i n p h a s e \r \r / / l
0121200 a s t m o d i f i e d b y
0121220 E . M c C r e i g h t , O c
0121240 t o b e r 3 0 , 1 9 8 1
0121260 2 : 3 3 P M \r \r g e t " r o
0121300 u t e . d e f s " \r \r s t a t i
0121320 c [ c o p y C o m m e n t s
0121340 ] \r \r l e t F i l e I n ( i
0121360 n s ) b e \r [ 032 ( 6 3 5 ) \ f
0121400 1 \r c h a r = u s e d \r c o
0121420 p y C o m m e n t s = t r u
0121440 e \r \r / / R e a d c o m p o n
0121460 e n t s a n d b o a r d l
0121500 o c a t i o n s \r w h i l 376 001 \0
0121520 F z e G e t V a l i d C h a r
0121540 ( i n s ) e q $ * n d o
0121560 c h a r = u s e d / / f
0121600 o r l e a d i n g C R ' s \r
0121620 w h i l e G e t V a l i d C h
0121640 a r ( i n s ) n e $ @ d o
0121660 R e a d I C L i n e ( i n s )
0121700 \r \r w h i l e G e t V a l i d
0121720 C h a r ( i n s ) e q $ * n
0121740 d o c h a r = u s e d \r
0121760 R e a d A l l N e t L i n e s (
0122000 i n s ) 032 l 4 2 6 8 \ f 1 \r ] \r
0122020 \r a n d R e a d A l l N e t L
0122040 i n e s ( i n s ) b e \r [ 032 l
0122060 2 9 9 8 \ f 1 \r c h a r = u
0122100 s e d \r c o p y C o m m e n t s
0122120 = 376 001 \0 M 313 t r u e \r \r / /
0122140 r e a d s i g n a l n a m e
0122160 s a n d n o d e s \r w h i l
0122200 e G e t V a l i d C h a r ( i
0122220 n s ) n e f i l e g o n e
0122240 d o R e a d N e t L i n e ( i
0122260 n s ) 032 l 4 2 6 8 \ f 1 \r ] \r \r
0122300 a n d R e a d I C L i n e ( i
0122320 n s ) b e \r [ 032 l 2 9 9 8 \ f
0122340 1 \r W e A r e ( d o i n g I n p
0122360 u t ) \r \r l e t b o a r d l o
0122400 c = v e c 4 0 \r l e t a
0122420 t t r i b u t e s = v e c
0122440 2 0 \r \r R e a d N e t N a m e (
0122460 i n s , b o a r d l o c , a
0122500 t t r i b u t e s , e m p t y
0122520 , c o l o n 376 001 \0 i 366 M a s k
0122540 % a t s i g n M a s k ) \r N o r
0122560 m a l i z e B o a r d L o c ( b
0122600 o a r d l o c ) \r \r l e t i c
0122620 t y p e = R e a d I C T y p
0122640 e ( i n s ) \r l e t i c i n s
0122660 t = T r y F i n d i n g N a
0122700 m e e ( b o a r d l o c , t y
0122720 p e I c i n s t ) \r \r i f i c
0122740 i n s t e q e m p t y t h
0122760 e n \r i c i n s t = I n s
0123000 e r t D e v i c e I f P o s s i
0123020 b l e ( b o a r d l o c , i c t
0123040 y p e , 0 , t r u e ) \r \r i f
0123060 i c i n s t > > i c i n s t . i
0123100 c t y p e n e i c t y p e
0123120 t h e n \r [ 032 l 4 2 6 8 376 001 \0 276
0123140 | \ f 1 \r W a r n i n g ( " * n
0123160 B o a r d l o c a t i o n *
0123200 " $ S * " h a s m u l t i p
0123220 l e I C t y p e s a s s i
0123240 g n e d . " , \r b o a r d l o
0123260 c ) 032 l 5 5 3 8 \ f 1 \r ] 032 l 4
0123300 2 6 8 \ f 1 \r ] \r \r a n d R e
0123320 a d N e t L i n e ( i n s ) b
0123340 e \r [ 032 l 2 9 9 8 \ f 1 \r s t a
0123360 t i c [ N u l l N a m e =
0123400 0 ] \r \r W e A r e ( d o i n
0123420 g I n p u t ) \r l e t s n v
0123440 = v e c 1 2 8 \r l e t a t
0123460 t r i b u t e s = v e c 1
0123500 0 \r l e t c l u s t e r N u m
0123520 b e r = 0 \r u n l e s s R
0123540 e 376 001 \0 ; 274 a d N e t N a m e (
0123560 i n s , s n v , a t t r i b u t
0123600 e s , l v c l u s t e r N u m
0123620 b e r ) d o r e t u r n \r \r
0123640 i f ( s n v > > s t r . l e n
0123660 g t h e q 0 ) % ( s n v
0123700 e q " " ) t h e n / /
0123720 a s s i g n a n a m e t o
0123740 t h e s i g n a l \r [ 032 l 4
0123760 2 6 8 \ f 1 \r E x p a n d T e m
0124000 p l a t e ( s n v , " X X X $
0124020 D " , N u l l N a m e ) \r N u
0124040 l l N a m e = N u l l N a m
0124060 e + 1 032 l 5 5 3 8 \ f 1 \r ] \r \r
0124100 l e t n e t = D e f i n e
0124120 N a m e e ( s n v , t y p e N
0124140 e t , N e 376 001 \0 301 S w N e t )
0124160 \r f o r i = 1 t o a t t r
0124200 i b u t e s > > s t r . l e n g
0124220 t h d o \r [ 032 l 4 2 6 8 \ f 1
0124240 \r s w i t c h o n a t t r i b
0124260 u t e s > > s t r . c h a r ^ i
0124300 i n t o \r [ 032 l 5 5 3 8 \ f 1
0124320 \r c a s e $ ! : n e t > > n
0124340 e t . d o n t T e r m i n a t e
0124360 = t r u e \r e n d c a s e \r
0124400 \r c a s e $ % : n e t > > n
0124420 e t . w i r e E a r l y = t
0124440 r u e \r e n d c a s e \r \r d e f
0124460 a u l t : 032 l 6 8 0 8 \ f 1 \r ]
0124500 032 l 5 5 3 8 \ f 1 \r ] \r i f c
0124520 l u s t e r N u m b e r n e
0124540 0 t h e n n e t > 376 001 \0 206 8
0124560 > n e t . w i r e E a r l y =
0124600 t r u e \r \r / / r e a d a l
0124620 l t h e p i n s o n t h
0124640 i s l i n e \r w h i l e v a
0124660 l o f \r [ 032 l 4 2 6 8 \ f 1 \r G
0124700 e t V a l i d C h a r ( i n s )
0124720 \r r e s u l t i s ( c h a r
0124740 n e $ * n ) & ( c h a r
0124760 n e f i l e g o n e ) 032 l 5 5
0125000 3 8 \ f 1 \r ] d o \r [ 032 l 4 2
0125020 6 9 \ f 1 \r c h a r = u s e
0125040 d / / t h r o w a w a y
0125060 t h e : o r , \r G e t P i
0125100 n ( i n s , n e t , a t t r
0125120 i b u t e s , c l u s t e r N u
0125140 m b e r ) 032 l 5 5 3 9 \ f 1 \r ]
0125160 376 001 \0 021 . \r c h a r = u s e
0125200 d / / t h r o w a w a y
0125220 t h e f i n a l C R 032 l 4 2
0125240 6 9 \ f 1 \r ] \r \r a n d G e
0125260 t P i n ( i n s , n e t , a
0125300 t t r i b u t e s , c l u s t e
0125320 r N u m b e r ) b e \r [ 032 \ f
0125340 1 \r l e t n e t n a m e =
0125360 F i n d N a m e e s S t r i n g
0125400 ( n e t ) \r l e t p i n =
0125420 v e c 2 0 ; p i n ! 0 = 0
0125440 ; \r i f G e t V a l i d C h
0125460 a r ( i n s ) e q f i l e g
0125500 o n e t h e n r e t u r n \r
0125520 [ 032 l 4 2 6 8 \ f 1 \r i f ( c
0125540 h a r e q $ * n ) % ( c h a
0125560 r e q 376 001 \0 254 272 $ , ) t h
0125600 e n b r e a k \r i f c h a r
0125620 n e $ * s t h e n A p p
0125640 e n d C ( p i n , c h a r ) \r i
0125660 f E n d o f s ( i n s ) t h
0125700 e n b r e a k \r c h a r =
0125720 G e t s ( i n s ) 032 l 5 5 3 8 \
0125740 f 1 \r ] r e p e a t \r \r i f
0125760 p i n > > s t r . l e n g t h
0126000 l e 0 t h e n r e t u r n
0126020 / / n o t r e a l p i n \r
0126040 \r l e t b o a r d l o c =
0126060 v e c 2 0 \r l e t p i n N o
0126100 = n i l \r l e t m o d i f
0126120 i e r = n i l \r P a r s e P
0126140 i n ( p i n , b o a r d l o c
0126160 , l v p i n N o 376 001 \0 277 242 ,
0126200 l v m o d i f i e r ) \r \r l
0126220 e t i c i n s t = D e f i
0126240 n e N a m e e ( b o a r d l o c
0126260 , t y p e I c i n s t , C a
0126300 l l S w a t ) \r l e t x , y
0126320 = n i l , n i l \r i f p i
0126340 n N o l s 1 % p i n N o
0126360 g r N p i n s ( i c i n s t
0126400 ) % \r n o t G e t P i n C
0126420 o o r d ( i c i n s t , p i n
0126440 N o , l v x , l v y )
0126460 t h e n \r [ 032 l 4 2 6 8 \ f 1 \r
0126500 S e r i o u s ( " * n P i n $
0126520 S i s i l l e g a l . " ,
0126540 p i n ) \r r e t u r n 032 l 5 5 3
0126560 8 \ f 1 \r ] \r \r \r l e t i c 376
0126600 001 \0 252 033 t y p e = i c i n s
0126620 t > > i c i n s t . i c t y p e
0126640 \r i f i c t y p e > > n a m e
0126660 e . t y p e e q t y p e I c
0126700 t y p e t h e n \r i f ( m
0126720 o d i f i e r e q $ o ) t
0126740 h e n 032 l 4 2 6 8 \ f 1 \r S e
0126760 t B i t ( l v i c t y p e > >
0127000 i c t y p e . o u t p i n s ,
0127020 p i n N o , 1 ) 032 l 5 5 3 8 \
0127040 f 1 \r \r t e s t i c i n s t >
0127060 > i c i n s t . p i n ^ p i n N
0127100 o n e e m p t y & \r F i
0127120 n d N e t ( l v i c i n s t >
0127140 > i c i n s t . p i n ^ p i n N
0127160 o ) n e d o n t C a r e N e
0127200 t \r i f 376 001 \0 ~ M s o / / p
0127220 r e v i o u s l y w i r e d ,
0127240 c h e c k i f t o s a m
0127260 e n e t \r [ 032 l 4 2 6 8 \ f 1
0127300 \r l e t o l d N e t = F i
0127320 n d N e t ( i c i n s t > > i c
0127340 i n s t . p i n ^ p i n N o ) \r
0127360 t e s t n e t e q o l d N
0127400 e t \r i f s o / / . . . t o
0127420 t h e s a m e n e t a s
0127440 b e f o r e \r [ 032 l 5 5 3 8 \
0127460 f 1 \r u n l e s s n e t > > n
0127500 e t . i s T r a c e W i r e d
0127520 d o \r W a r n i n g ( " * n P
0127540 i n $ S h a s b e e n w
0127560 i r e d t o n e t $ S m
0127600 o r e t h a n 376 001 \0 022 a o n
0127620 c e . " , \r p i n , n e
0127640 t n a m e ) 032 l 6 8 0 8 \ f 1 \r
0127660 ] \r i f n o t / / . . . t o
0127700 a d i f f e r e n t n e t
0127720 \r [ 032 l 5 5 3 8 \ f 1 \r ( M a y
0127740 B e S e r i o u s ( i n s ) ) (
0127760 " * n P i n $ S c a n n o t
0130000 b e w i r e d t o n e t
0130020 $ S b e c a u s e i t i
0130040 s a l r e a d y w i r e d
0130060 t o t o n e t $ S . " , \r
0130100 p i n , n e t n a m e , F
0130120 i n d N a m e e s S t r i n g (
0130140 o l d N e t ) ) \r r e t u r n 032
0130160 l 6 8 0 8 \ f 1 \r ] 032 l 5 5 3 8
0130200 \ f 1 \r ] \r i f n o t / / 376 001
0130220 \0 305 Y p i n n o t w i r e
0130240 d b y t h i s n a m e ,
0130260 c a n n o t b e w i r e d
0130300 b y a n o t h e r n a m e \r
0130320 / / d u e t o N e w I C I
0130340 n s t c h e c k \r [ 032 l 4 2 6
0130360 8 \ f 1 \r u n l e s s n e t
0130400 e q d o n t C a r e N e t %
0130420 \r C u t T r a c e I f D i f f
0130440 e r e n t ( F i n d N a m e e s
0130460 N a m e ( n e t ) , x , y ,
0130500 p i n ) d o r e t u r n \r
0130520 \r t e s t n e t e q d o n
0130540 t C a r e N e t \r i f s o i c
0130560 i n s t > > i c i n s t . p i n
0130600 ^ p i n N o = n e t > > n e
0130620 t . p 376 001 \0 222 354 i n L i s t \r i
0130640 f n o t \r [ 032 l 5 5 3 8 \ f 1 \r
0130660 A d d P i n T o N e t ( n e t ,
0130700 l v ( i c i n s t > > i c i
0130720 n s t . p i n ^ p i n N o ) ,
0130740 c l u s t e r N u m b e r ) \r \r
0130760 n e t > > n e t . h a s B e e n
0131000 R o u t e d = f a l s e \r i
0131020 f n e t > > n e t . i s S a m
0131040 e t h e n \r S e r i o u s (
0131060 " * n N e t $ S c h a n g e
0131100 d a f t e r c o m m i t t e
0131120 d i n . A D f i l e . " ,
0131140 n e t n a m e ) 032 l 6 8 0 8 \
0131160 f 1 \r ] 032 l 5 5 3 8 \ f 1 \r ] \r
0131200 \r A d d A t t r i b u t e s ( i
0131220 c i n s t , p 376 001 \0 027 } i n N
0131240 o , a t t r i b u t e s ) 032 l
0131260 4 2 6 8 \ f 1 \r ] \r \r a n d A
0131300 d d P i n T o N e t ( n e t ,
0131320 n e w p i n , c l u s t e r N
0131340 u m b e r ) b e \r [ 032 l 2 9 9
0131360 8 \ f 1 \r l e t t h i s C l u
0131400 s t e r = e m p t y \r l e t
0131420 f i r s t G r e a t e r C l u
0131440 s t e r I n d e x = 0 \r \r /
0131460 / F i n d a l l t h e c
0131500 l u s t e r s t h a t m u s
0131520 t c o m e f i r s t \r \r i f
0131540 c l u s t e r N u m b e r g
0131560 r 0 t h e n \r [ 032 l 4 2 6 8
0131600 \ f 1 \r f i r s t G r e a t e r
0131620 C l u s t e r I n d e x 376 001 \0
0131640 217 7 = i n f i n i t y \r l e t
0131660 c l u s t e r = n e t > >
0131700 n e t . c l u s t e r L i s t \r
0131720 w h i l e c l u s t e r n e
0131740 e m p t y d o \r [ 032 l 5 5 3
0131760 8 \ f 1 \r i f c l u s t e r >
0132000 > c l u s t e r . n u m b e r
0132020 g e c l u s t e r N u m b e r
0132040 t h e n \r i f c l u s t e
0132060 r > > c l u s t e r . i n d e x
0132100 l s f i r s t G r e a t e r
0132120 C l u s t e r I n d e x t h e
0132140 n \r [ 032 l 6 8 0 8 \ f 1 \r f i r
0132160 s t G r e a t e r C l u s t e r
0132200 I n d e x = c l u s t e r >
0132220 > c l u s t e r . i n d e x 032 l
0132240 8 0 376 001 \0 313 027 7 8 \ f 1 \r ] \r i
0132260 f c l u s t e r > > c l u s t
0132300 e r . n u m b e r e q c l u
0132320 s t e r N u m b e r t h e n \r
0132340 [ 032 l 6 8 0 8 \ f 1 \r t h i s C
0132360 l u s t e r = c l u s t e r
0132400 ; b r e a k 032 l 8 0 7 8 \ f 1
0132420 \r ] \r c l u s t e r = c l u
0132440 s t e r > > c l u s t e r . n e
0132460 x t 032 l 6 8 0 8 \ f 1 \r ] \r \r i
0132500 f t h i s C l u s t e r e q
0132520 e m p t y t h e n \r [ 032 l 5
0132540 5 3 8 \ f 1 \r t h i s C l u s t
0132560 e r = A l l o c a t e ( o b
0132600 j e c t Z o n e , s i z e c
0132620 l u s t e r / 1 6 ) \r t h i s C
0132640 l u s t e r > 376 001 \0 u d > c l u
0132660 s t e r . n e x t = n e t >
0132700 > n e t . c l u s t e r L i s t
0132720 \r n e t > > n e t . c l u s t e
0132740 r L i s t = t h i s C l u s
0132760 t e r \r t h i s C l u s t e r >
0133000 > c l u s t e r . n u m b e r
0133020 = c l u s t e r N u m b e r \r
0133040 \r i f f i r s t G r e a t e r
0133060 C l u s t e r I n d e x e q
0133100 i n f i n i t y t h e n \r [ \t
0133120 / / c o u n t a l l p i n
0133140 s i n t h e n e t 032 l 6 8
0133160 0 8 \ f 1 \r f i r s t G r e a t
0133200 e r C l u s t e r I n d e x =
0133220 0 \r l e t p i n = @ ( n
0133240 e t > > n e t . p i n L 376 001 \0 E
0133260 9 i s t ) \r w h i l e p i n
0133300 n e m a r k d o \r [ 032 l 8 0
0133320 7 8 \ f 1 \r f i r s t G r e a t
0133340 e r C l u s t e r I n d e x =
0133360 \r f i r s t G r e a t e r C l
0133400 u s t e r I n d e x + 1 \r p i n
0133420 = @ p i n 032 l 9 3 4 8 \ f 1
0133440 \r ] 032 l 8 0 7 8 \ f 1 \r ] \r \r t
0133460 h i s C l u s t e r > > c l u s
0133500 t e r . i n d e x = f i r s
0133520 t G r e a t e r C l u s t e r I
0133540 n d e x 032 l 6 8 0 8 \ f 1 \r ]
0133560 \r 032 l 5 5 3 8 \ f 1 \r ] \r \r l e
0133600 t p i n = l v ( n e t >
0133620 > n e t . p i n L i s t ) \r w h
0133640 i l e f i r s t G r e a t e r
0133660 C 376 001 \0 231 365 l u s t e r I n d e
0133700 x g r 0 d o \r [ 032 l 4 2 6
0133720 8 \ f 1 \r p i n = @ p i n \r
0133740 f i r s t G r e a t e r C l u s
0133760 t e r I n d e x = f i r s t
0134000 G r e a t e r C l u s t e r I n
0134020 d e x - 1 032 l 5 5 3 8 \ f 1 \r ]
0134040 \r \r @ n e w p i n = @ p i n
0134060 \r @ p i n = n e w p i n \r \r
0134100 l e t c l u s t e r = n e
0134120 t > > n e t . c l u s t e r L i
0134140 s t \r w h i l e c l u s t e r
0134160 n e e m p t y d o \r [ 032 l
0134200 4 2 6 8 \ f 1 \r i f c l u s t
0134220 e r > > c l u s t e r . n u m b
0134240 e r g r c l u s t e r N u m
0134260 b e r t h 376 001 \0 H 202 e n \r c
0134300 l u s t e r > > c l u s t e r .
0134320 i n d e x = c l u s t e r >
0134340 > c l u s t e r . i n d e x + 1
0134360 \r c l u s t e r = c l u s t
0134400 e r > > c l u s t e r . n e x t
0134420 032 l 5 5 3 8 \ f 1 \r ] \r 032 l 4 2
0134440 6 8 \ f 1 \r ] \r \r a n d M a y
0134460 B e S e r i o u s ( s t r e a m
0134500 ) = s t r e a m e q I m
0134520 p l i c i t F i l e ? W a r n
0134540 i n g , S e r i o u s \r \r a n
0134560 d C h e c k U n u s e d P i n
0134600 s ( i c i n s t ) b e \r [ 032 (
0134620 1 2 7 0 ) \ f 1 \r u n l e s s
0134640 I c c l a s s ( i c i n s t ) >
0134660 > i c c l a s s . p r 376 001 \0 312 242
0134700 i n t U s e d L i s t d o r
0134720 e t u r n \r f o r p i n = 1
0134740 t o N p i n s ( i c i n s t )
0134760 d o \r [ 032 l 4 2 6 9 \ f 1 \r i
0135000 f i c i n s t > > i c i n s t
0135020 . p i n ^ p i n n e e m p t
0135040 y t h e n l o o p / / w
0135060 i r e d - u p \r l e t x , y
0135100 = n i l , n i l \r u n l e s s
0135120 G e t P i n C o o r d ( i c i
0135140 n s t , p i n , l v x ,
0135160 l v y ) d o l o o p / /
0135200 p i n m i s s i n g \r l e t
0135220 s t r = v e c 2 0 \r C u
0135240 t T r a c e I f D i f f e r e n
0135260 t ( D e f i n e N a m e ( " U N
0135300 376 001 \0 035 220 C O N N E C T E D " )
0135320 , x , y , \r E x p a n d T
0135340 e m p l a t e ( s t r , " $ S
0135360 . $ D " , F i n d N a m e e s
0135400 S t r i n g ( i c i n s t ) ,
0135420 p i n ) ) 032 l 5 5 3 9 \ f 1 \r ]
0135440 032 l 4 2 6 9 \ f 1 \r ] \r \r a n d
0135460 C u t T r a c e I f D i f f e
0135500 r e n t ( n a m e , x , y ,
0135520 p i n ) = v a l o f \r [ 032
0135540 l 2 9 9 8 ( 6 3 5 ) \ f 1 \r l e
0135560 t T W i c c l a s s , T W p
0135600 i n N o = 0 , 0 \r l e t i
0135620 n d e x = F i n d I n d e x
0135640 F r o m C o o r d ( x , y ,
0135660 l v T W i c c l a s s , l v
0135700 T W p i 376 001 \0 307 370 n N o ) \r i
0135720 f T W i c c l a s s n e 0
0135740 t h e n i f F i n d N a m
0135760 e e s N a m e ( T W i c c l a s
0136000 s ) n e n a m e t h e n \r
0136020 [ 032 l 4 2 6 8 \ f 1 \r l e t i
0136040 n f o = 0 \r ( T W i c c l a
0136060 s s > > i c c l a s s . P i n O
0136100 f f s e t ) ( T W i c c l a s s
0136120 , T W p i n N o , l v x ,
0136140 l v y , l v i n f o ) \r
0136160 u n l e s s ( i n f o < < i n
0136200 f o . d i s c o n n e c t ) d
0136220 o \r [ 032 l 5 5 3 8 \ f 1 \r W a r
0136240 n i n g ( " * n P i n $ S o
0136260 f n e t $ S c a n n o t
0136300 b e d i s c o n n 376 001 \0 " 021 e
0136320 c t e d f r o m $ S . " , \r
0136340 p i n , l v n a m e > > n
0136360 a m e . n a m e S t r i n g , \r
0136400 F i n d N a m e e s S t r i n
0136420 g ( T W i c c l a s s ) ) 032 l 6
0136440 8 0 8 \ f 1 \r ] \r i f T W i c
0136460 c l a s s > > i c c l a s s . c
0136500 u t P i n s n e e m p t y
0136520 t h e n \r S e t B i t ( T W i
0136540 c c l a s s > > i c c l a s s .
0136560 c u t P i n s , T W p i n N o
0136600 , 1 ) 032 l 5 5 3 8 \ f 1 \r ] \r
0136620 r e s u l t i s t r u e 032 l 4
0136640 2 6 8 \ f 1 \r ] \r 032 l 2 9 9 8 \
0136660 f 1 \r a n d A d d A t t r i b
0136700 u t e s ( i c i n s t , p i 376
0136720 001 \0 321 275 n N o , a t t r i b u
0136740 t e s ) b e \r [ 032 \ f 1 \r f o
0136760 r i = 1 t o a t t r i b u
0137000 t e s > > s t r . l e n g t h
0137020 d o 032 l 4 2 6 9 \ f 1 \r A d d A
0137040 t t r i b u t e ( i c i n s t ,
0137060 p i n N o , a t t r i b u t
0137100 e s > > s t r . c h a r ^ i ,
0137120 0 ) 032 l 5 5 3 9 \ f 1 \r ] \r \r a
0137140 n d A d d A t t r i b u t e (
0137160 i c i n s t , p i n N o , a
0137200 t t r i b u t e , v a l u e )
0137220 b e \r [ 032 \ f 1 \r l e t p i
0137240 n a t t r i b u t e = i c i
0137260 n s t > > i c i n s t . p i n a
0137300 t t r i b u t e \r w h i l e p
0137320 i n a t 376 001 \0 203 9 t r i b u t e
0137340 n e e m p t y d o \r [ 032 l
0137360 4 2 6 9 \ f 1 \r i f p i n a t
0137400 t r i b u t e > > p i n a t t r
0137420 i b u t e . p i n N o e q p
0137440 i n N o & \r p i n a t t r i
0137460 b u t e > > p i n a t t r i b u
0137500 t e . a t t r i b u t e e q
0137520 a t t r i b u t e & \r p i n
0137540 a t t r i b u t e > > p i n a t
0137560 t r i b u t e . v a l u e e q
0137600 v a l u e t h e n r e t u
0137620 r n \r \r p i n a t t r i b u t e
0137640 = p i n a t t r i b u t e >
0137660 > p i n a t t r i b u t e . n e
0137700 x t 032 l 5 5 3 9 \ f 1 \r ] \r \r p
0137720 i n a t t r i b u 376 001 \0 g 355 t e
0137740 = A l l o c a t e ( o b j e
0137760 c t Z o n e , s i z e p i n
0140000 a t t r i b u t e / 1 6 ) \r \r p
0140020 i n a t t r i b u t e > > p i n
0140040 a t t r i b u t e . p i n N o
0140060 = p i n N o \r p i n a t t r i
0140100 b u t e > > p i n a t t r i b u
0140120 t e . a t t r i b u t e = a
0140140 t t r i b u t e \r p i n a t t r
0140160 i b u t e > > p i n a t t r i b
0140200 u t e . v a l u e = v a l u
0140220 e \r \r p i n a t t r i b u t e >
0140240 > p i n a t t r i b u t e . n e
0140260 x t = i c i n s t > > i c i
0140300 n s t . p i n a t t r i b u t e
0140320 \r i c i n s t > > i c i n s 376 \0
0140340 / 255 275 t . p i n a t t r i b u t
0140360 e = p i n a t t r i b u t e
0140400 032 l 4 2 6 9 \ f 1 \r ] \r \r 032 \ f
0140420 1 \r 377 \0 \0 r o u t e b . b c p l
0140440 \0 373 236 Y \b d \0 \0 376 001 \0 245 033 / / r
0140460 o u t e b . b c p l \r \r / / O
0140500 u t p u t m o d u l e \r \r / /
0140520 l a s t m o d i f i e d b
0140540 y D . R u m p h , M a r c
0140560 h 8 , 1 9 8 5 6 : 0 9
0140600 P M \r / / t o a l l
0140620 o w f o r s p l i t t i n g
0140640 o f t h e w i r e l i s t
0140660 f i l e \r / / m o d i f i e
0140700 d b y D . R u m p h , M
0140720 a r c h 7 , 1 9 8 5 1 2
0140740 : 0 2 P M \r / / t o
0140760 c h a n g e A s s i g n N e
0141000 t p r i o r i t i e s ( n e
0141020 t l e n g t h , n o t s h
0141040 o r t e s t a r c ) \r / 376 001 \0
0141060 B 005 / m o d i f i e d b y
0141100 E . M c C r e i g h t , J u
0141120 l y 2 , 1 9 8 1 1 0 : 1
0141140 3 A M \r \r g e t " r o u t e
0141160 . d e f s " \r \r s t a t i c \r [
0141200 032 ( 1 2 7 0 ) \ f 1 \r n e t n u
0141220 m b e r = 0 \r o u t c o u
0141240 n t ; n o d e c o u n t ; h
0141260 e a d i n g p r e s e n t ; c
0141300 u r r e n t F i l e \r b a s e N
0141320 e t N u m b e r ; n e t C o u
0141340 n t ; n e t O f f s e t \r z e
0141360 r o P e n d i n g ; c u r r e
0141400 n t l e v e l ; n o s e N a m
0141420 e \r t w P a r t N o 032 l 4 2 6 9
0141440 \ f 1 \r ] \r \r l e t M a k e O
0141460 u t 376 001 \0 \ 257 p u t F i l e ( f
0141500 i l e , w h i c h F i l e )
0141520