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