$ 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