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