$ 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