$ od -c -N 50000 [eris]<LispManual>LUhashfile.im!4
0000000 { B e g i n S u b S e c W H
0000020 E R E I S P a c k a g e } \r {
0000040 T i t l e W H E R E I S P a
0000060 c k a g e } \r { T e x t \r \r { i
0000100 n d e x W H E R E I S p a c
0000120 k a g e } \r \r { T a g W H E R
0000140 E I S p a c k a g e } \r \r T h e
0000160 W H E R E I S p a c k a g e
0000200 e x t e n d s t h e f u n
0000220 c t i o n { f n W H E R E I
0000240 S } ( { P a g e R e f F n
0000260 W H E R E I S } ) s u c h t
0000300 h a t , w h e n a s k e d
0000320 a b o u t a g i v e n n a
0000340 m e a s a f u n c t i o n
0000360 , { f n W H E R E I S } w
0000400 i l l c o n s u l t n o t
0000420 o n l y t h e c o m m a n d
0000440 s o f f i l e s t h a t
0000460 h a v e b e e n n o t i c e
0000500 d b y t h e f i l e p a
0000520 c k a g e ( { P a g e R e f
0000540 T a g F i l e P k g } ) b u
0000560 t a l s o a c o l l e c t
0000600 i o n o f h a s h f i l e
0000620 d a t a b a s e s ( { P a g e
0000640 R e f T a g H a s h f i l e
0000660 } ) t h a t a s s o c i a t
0000700 e s f u n c t i o n n a m e
0000720 s w i t h f i l e n a m e s
0000740 . \r \r \r { F n D e f { F n N a
0000760 m e W H E R E I S } { F n A
0001000 r g s N A M E T Y P E F I
0001020 L E S F N } \r { T e x t \r B e
0001040 h a v e s e x a c t l y l i
0001060 k e t h e d e f i n i t i o
0001100 n o n { P a g e R e f F n
0001120 W H E R E I S } u n l e s s
0001140 { a r g T Y P E } = { l i s
0001160 p F N S } ( o r { l i s p
0001200 N I L } ) a n d { a r g
0001220 F I L E S } = { l i s p T } .
0001240 I n t h i s c a s e ,
0001260 { f n W H E R E I S } w i l
0001300 l c o n s u l t , i n a d
0001320 d i t i o n t o t h e f i
0001340 l e s o n { v a r F I L E
0001360 L S T } , t h e h a s h f i
0001400 l e s t h a t a r e o n
0001420 t h e v a l u e o f { i n
0001440 d e x W H E R E I S . H A S H
0001460 V a r } { v a r W H E R E I
0001500 S . H A S H } ( i n i t i a l
0001520 l y { l i s p < L I S P > L
0001540 I B R A R Y > W H E R E I S . H
0001560 A S H } ) . \r } } \r \r \r N o t e
0001600 : M o s t s y s t e m f
0001620 u n c t i o n s c a l l { f
0001640 n W H E R E I S } w i t h
0001660 { a r g F I L E S } = { l i s
0001700 p T } , s o l o a d i n g
0001720 t h i s p a c k a g e a u
0001740 t o m a t i c a l l y m a k e
0001760 s t h e i n f o r m a t i o
0002000 n c o n t a i n e d i n t
0002020 h e { f n W H E R E I S }
0002040 d a t a b a s e a v a i l a b
0002060 l e t h r o u g h o u t t h
0002100 e s y s t e m . \r \r I n f o r
0002120 m a t i o n m a y b e a d
0002140 d e d t o a W H E R E I S
0002160 h a s h f i l e b y c r e
0002200 a t i n g n e w d a t a b a
0002220 s e s . I t i s o f t e
0002240 n u s e f u l t o h a v e
0002260 a s e p a r a t e d a t a
0002300 b a s e f o r l a r g e u
0002320 s e r s y s t e m s . e x
0002340 p l i c i t l y c a l l i n g
0002360 t h e f o l l o w i n g f
0002400 u n c t i o n : \r \r { F n D e f
0002420 { F n N a m e W H E R E I S
0002440 N O T I C E } { F n A r g s
0002460 F I L E G R O U P N E W F L G
0002500 D A T A B A S E F I L E } \r {
0002520 T e x t \r I n s e r t s t h e
0002540 i n f o r m a t i o n a b o
0002560 u t a l l o f t h e f u
0002600 n c t i o n s o n t h e f
0002620 i l e s i n { a r g F I L
0002640 E G R O U P } i n t o t h e
0002660 { f n W H E R E I S } d a
0002700 t a b a s e c o n t a i n e
0002720 d o n { a r g D A T A B A
0002740 S E F I L E } . I f { a r
0002760 g D A T A B A S E F I L E }
0003000 i s { l i s p N I L } , t
0003020 h e f i r s t e n t r y o
0003040 n { v a r W H E R E I S . H
0003060 A S H } i s u s e d . \r \r {
0003100 a r g F I L E G R O U P } i
0003120 s g i v e n a s a f i l
0003140 e g r o u p a r g u m e n t
0003160 t o { f n D I R E C T O R Y
0003200 } ( { P a g e R e f F n D
0003220 I R E C T O R Y } ) , s o {
0003240 l i s p & } , { l i s p $
0003260 } , e t c . m a y b e u
0003300 s e d . T o a v o i d a n
0003320 a l y s i n g c o m p i l e d
0003340 f i l e s a l s o , { a r
0003360 g F I L E G R O U P } s h o
0003400 u l d s p e c i f y a n e
0003420 x t e n s i o n . e . g . <
0003440 L I S P > L I B R A R Y > * .
0003460 o r < P R O J E C T > * . L S
0003500 P . \r \r I f { a r g N E W F
0003520 L G } i s n o n - { l i s p
0003540 N I L } , a n e w v e r
0003560 s i o n o f { a r g D A T
0003600 A B A S E F I L E } w i l l
0003620 b e c r e a t e d c o n t a
0003640 i n i n g t h e d a t a b a
0003660 s e f o r t h e f u n c t
0003700 i o n s s p e c i f i e d i
0003720 n { a r g F I L E G R O U P
0003740 } . I f { a r g N E W F
0003760 L G } i s a n u m b e r ,
0004000 t h e h a s h f i l e w
0004020 i l l b e c r e a t e d w
0004040 i t h { a r g N E W F L G }
0004060 e n t r i e s . O t h e r
0004100 w i s e , i t w i l l b e
0004120 c r e a t e d t o a l l o
0004140 w 2 0 0 0 0 e n t r i e s .
0004160 \r \r E x a m p l e : \r T h e f
0004200 o l l o w i n g s e q u e n c
0004220 e o f a c t i o n s w i l
0004240 l c a u s e a l l o f t
0004260 h e f i l e s o n t h e
0004300 P R O J E C T d i r e c t o r
0004320 y t o b e n o t i c e d
0004340 b y t h e W H E R E I S p
0004360 a c k a g e . \r \r ( W H E R E I
0004400 S N O T I C E ' < P R O J E C
0004420 T > * . T ' < P R O J E C T
0004440 > P R O J E C T W H E R E I S .
0004460 H A S H ) \r ( S E T Q W H E R
0004500 E I S . H A S H ( C O N S '
0004520 < P R O J E C T > P R O J E C T
0004540 W H E R E I S . H A S H W H E
0004560 R E I S . H A S H ) ) \r } } \r \r
0004600 } { E n d S u b S e c W H E
0004620 R E I S P a c k a g e } \r \r \r
0004640 { B e g i n S u b S e c H a
0004660 s h F i l e s } \r { T i t l e
0004700 H a s h F i l e s } \r { T e
0004720 x t \r \r { i n d e x * B E G I
0004740 N * h a s h f i l e f a c
0004760 i l i t y } \r \r { T a g H a s
0005000 h f i l e } \r \r \r T h e h a s
0005020 h f i l e f a c i l i t y
0005040 p e r m i t s i n f o r m a t
0005060 i o n a s s o c i a t e d w
0005100 i t h s t r i n g o r a t
0005120 o m " k e y s " t o b e
0005140 s t o r e d o n a n d r e
0005160 t r i e v e d f r o m f i l
0005200 e s . T h e i n f o r m a
0005220 t i o n ( o r " v a l u e s
0005240 " ) a s s o c i a t e d w i
0005260 t h t h e k e y s i n a
0005300 f i l e m a y b e n u m
0005320 b e r s , s t r i n g s , o
0005340 r a r b i t a r y I n t e
0005360 r l i s p e x p r e s s i o n
0005400 s . T h e a s s o c i a t
0005420 i o n s a r e m a i n t a i
0005440 n e d b y a h a s h i n g
0005460 s c h e m e t h a t m i n
0005500 i m i z e s t h e n u m b e
0005520 r o f f i l e o p e r a t
0005540 i o n s i t t a k e s t o
0005560 a c c e s s a v a l u e
0005600 f r o m i t s k e y . \r \r A
0005620 h a s h f i l e i s c r e
0005640 a t e d b y t h e f u n c
0005660 t i o n { f n C R E A T E H
0005700 A S H F I L E } : \r \r { F n
0005720 D e f { F n N a m e C R E A
0005740 T E H A S H F I L E } { F n A
0005760 r g s F I L E } \r { T e x t \r
0006000 A n e w v e r s i o n o f
0006020 { a r g F I L E } i s o
0006040 p e n e d a n d i n i t i a
0006060 l i z e d a s a h a s h f
0006100 i l e . A f t e r b e i n g
0006120 i n i t i a l i z e d , { a
0006140 r g F I L E } i s l e f t
0006160 o p e n a n d { f n C R
0006200 E A T E H A S H F I L E } r e
0006220 t u r n s a s i t s v a l
0006240 u e a " h a s h f i l e d
0006260 a t u m , " a h a n d l e
0006300 o n t h e h a s h f i l e
0006320 t h a t m a y b e u s e d
0006340 a s a n a r g u m e n t
0006360 f o r m o s t o f t h e
0006400 f u n c t i o n s d e s c r i
0006420 b e d b e l o w . \r } } \r \r {
0006440 F n D e f { F n N a m e O P
0006460 E N H A S H F I L E } { F n A
0006500 r g s F I L E A C C E S S }
0006520 \r { T e x t \r R e - o p e n s
0006540 t h e p r e v i o u s l y e
0006560 x i s t i n g h a s h f i l e
0006600 { a r g F I L E } . { a
0006620 r g A C C E S S } m a y b
0006640 e { l i s p I N P U T } (
0006660 o r { l i s p N I L } ) ,
0006700 i n w h i c h c a s e { a
0006720 r g F I L E } i s o p e n
0006740 e d f o r r e a d i n g o
0006760 n l y , o r { l i s p B O
0007000 T H } , i n w h i c h c a
0007020 s e { a r g F I L E } i s
0007040 o p e n f o r b o t h i
0007060 n p u t a n d o u t p u t .
0007100 C a u s e s a n e r r o
0007120 r { l i s p N O T A H A
0007140 S H F I L E } , { i n d e x N
0007160 O T A H A S H F I L E E r
0007200 r o r } i f { a r g F I L
0007220 E } i s n o t r e c o g n
0007240 i z e d a s a h a s h f i
0007260 l e . \r \r I f { a r g A C C
0007300 E S S } i s { l i s p B O
0007320 T H } a n d { a r g F I L
0007340 E } i s a h a s h f i l e
0007360 o p e n f o r r e a d i n
0007400 g o n l y , { f n O P E N
0007420 H A S H F I L E } a t t e m p
0007440 t s t o c l o s e i t a
0007460 n d r e - o p e n i t f o
0007500 r w r i t i n g . O t h e r
0007520 w i s e , i f { a r g F I
0007540 L E } d e s i g n a t e s a
0007560 n a l r e a d y o p e n h
0007600 a s h f i l e , { f n O P E
0007620 N H A S H F I L E } i s a
0007640 n o - o p . \r \r { f n O P E N
0007660 H A S H F I L E } r e t u r n
0007700 s a h a s h f i l e d a t
0007720 u m . \r } } \r \r { F n D e f {
0007740 F n N a m e H A S H F I L E P
0007760 } { F n A r g s X } \r { T e
0010000 x t \r R e t u r n s { a r g
0010020 X } i f { a r g X } i s
0010040 a h a s h f i l e d a t u
0010060 m ( i . e . , a v a l u e
0010100 r e t u r n e d b y { f n
0010120 C R E A T E H A S H F I L E }
0010140 o r { f n O P E N H A S H
0010160 F I L E } ) . I f { a r g
0010200 X } i s { l i s p N I L
0010220 } , r e t u r n s { v a r
0010240 S Y S H A S H F I L E } { i n d
0010260 e x S Y S H A S H F I L E V
0010300 a r } i f i t i s a h
0010320 a s h f i l e d a t u m .
0010340 I f { a r g X } i s t h
0010360 e n a m e o f a n o p e
0010400 n h a s h f i l e , r e t u
0010420 r n s t h e c o r r e s p o
0010440 n d i n g h a s h f i l e d
0010460 a t u m . O t h e r w i s e
0010500 , r e t u r n s { l i s p
0010520 N I L } . \r } } \r \r T h e f o
0010540 l l o w i n g f u n c t i o n
0010560 s r e q u i r e a n o p e
0010600 n h a s h f i l e a s a n
0010620 a r g u m e n t , i . e .
0010640 a n o b j e c t f o r w h
0010660 i c h { f n H A S H F I L E
0010700 P } i s n o n - { l i s p
0010720 N I L } . \r \r { F n D e f {
0010740 F n N a m e P U T H A S H F I
0010760 L E } { F n A r g s K E Y
0011000 V A L U E H A S H F I L E } \r
0011020 { T e x t \r P u t s { a r g
0011040 V A L U E } i n { a r g H
0011060 A S H F I L E } , i n d e x e
0011100 d u n d e r { a r g K E Y
0011120 } . I f { a r g V A L U
0011140 E } i s { l i s p N I L }
0011160 , a n y p r e v i o u s e
0011200 n t r y f o r { a r g K E
0011220 Y } i s d e l e t e d . \r
0011240 } } \r \r { F n D e f { F n N a
0011260 m e G E T H A S H F I L E }
0011300 { F n A r g s K E Y H A S H
0011320 F I L E } \r { T e x t \r R e t u
0011340 r n s t h e v a l u e c o
0011360 r r e s p o n d i n g t o {
0011400 a r g K E Y } i n { a r g
0011420 H A S H F I L E } . } } \r \r
0011440 { F n D e f { F n N a m e H
0011460 A S H F I L E P R O P } { F n
0011500 A r g s H A S H F I L E P R
0011520 O P } \r { T e x t \r R e t u r n
0011540 s t h e v a l u e o f t
0011560 h e { a r g P R O P } p r
0011600 o p e r t y o f { a r g H
0011620 A S H F I L E } . T h e r
0011640 e c o g n i z e d { a r g P
0011660 R O P } s a n d t h e v a
0011700 l u e s r e t u r n e d a r
0011720 e : \r \r { B e g i n L a b e l
0011740 e d L i s t T h e r e c o g
0011760 n i z e d P R O P s } \r \r { L
0012000 a b e l { l i s p N A M E }
0012020 } \r { I t e m \r T h e f u l l
0012040 n a m e o f t h e f i l
0012060 e . \r } \r \r { L a b e l { l i
0012100 s p A C C E S S } } \r { I t e
0012120 m \r { l i s p B O T H } i f
0012140 f i l e i s o p e n f o
0012160 r w r i t i n g , { l i s p
0012200 I N P U T } i f i t i s
0012220 r e a d - o n l y . \r } \r \r {
0012240 E n d L a b e l e d L i s t
0012260 T h e r e c o g n i z e d P
0012300 R O P s } \r \r } } \r \r \r { F n D
0012320 e f { F n N a m e C L O S E
0012340 H A S H F I L E } { F n A r g
0012360 s H A S H F I L E } \r { T e x
0012400 t \r C l o s e s t h e h a s
0012420 h f i l e a n d c l e a r
0012440 s a n y i n t e r n a l b
0012460 u f f e r s a s s o c i a t e
0012500 d w i t h i t . \r } } \r \r {
0012520 F n D e f { F n N a m e M A
0012540 P H A S H F I L E } { F n A r
0012560 g s H A S H F I L E M A P F
0012600 N } \r { T e x t \r F o r e a c
0012620 h e n t r y i n { a r g
0012640 H A S H F I L E } , p e r f o
0012660 r m s { l i s p ( { a r g
0012700 M A P F N } { a r g K E Y }
0012720 ( G E T H A S H F I L E { a
0012740 r g K E Y } { a r g H A S
0012760 H F I L E } ) ) } . I f {
0013000 a r g M A P F N } i s a
0013020 f u n c t i o n o f o n l y
0013040 o n e a r g u m e n t , p
0013060 e r f o r m s { l i s p ( {
0013100 a r g M A P F N } { a r g
0013120 K E Y } ) } t h e r e b y a
0013140 v o i d i n g t h e c a l l
0013160 t o { f n G E T H A S H F
0013200 I L E } n e e d e d t o o
0013220 b t a i n t h e v a l u e .
0013240 { a r g K E Y } i s t
0013260 e m p o r a r y , a s f o r
0013300 { f n G E T H A S H F I L E
0013320 } . { a r g V A L U E }
0013340 i s a l s o t e m p o r a r
0013360 y , f o r { l i s p S T R
0013400 I N G } , { l i s p N U M B
0013420 E R } , a n d { l i s p S
0013440 Y M B O L T A B L E } f i l e
0013460 s . \r } } \r \r \r { F n D e f
0013500 { F n N a m e R E H A S H F I
0013520 L E } { F n A r g s H A S H
0013540 F I L E } \r { T e x t \r A f t e
0013560 r m a n y i n s e r t i o n
0013600 s a n d d e l e t i o n s
0013620 m u c h o f t h e s p a c
0013640 e i n a h a s h f i l e
0013660 m a y b e u n u s a b l e .
0013700 { f n R E H A S H F I L E
0013720 } r e c l a i m s t h a t
0013740 s p a c e b y r e h a s h i
0013760 n g a l l t h e k e y s .
0014000 } } \r \r \r { F n D e f { F n N
0014020 a m e C O P Y H A S H F I L E
0014040 } { F n A r g s H A S H F I
0014060 L E N E W N A M E F N } \r
0014100 { T e x t \r C a l l s { f n
0014120 C R E A T E H A S H F I L E }
0014140 t o o p e n { a r g N E W
0014160 N A M E } a s a h a s h f
0014200 i l e , t h e n m a p s t
0014220 h r o u g h a l l t h e k
0014240 e y s i n { a r g H A S H
0014260 F I L E } , d o i n g t h e
0014300 e q u i v a l e n t o f : \r
0014320 \r { l i s p c o d e \r ( P U T H
0014340 A S H F I L E \r { a r g
0014360 K E Y } \r ( G E T H A S H
0014400 F I L E { a r g K E Y } {
0014420 a r g H A S H F I L E } ) \r
0014440 { a r g N E W H A S H F I
0014460 L E } ) } \r \r f o r e a c h
0014500 k e y { a r g K E Y } .
0014520 I n e s s e n c e , { f n
0014540 C O P Y H A S H F I L E } c o
0014560 p i e s { a r g H A S H F I
0014600 L E } t o { a r g N E W N
0014620 A M E } . \r \r I f { a r g F
0014640 N } i s g i v e n , t h e
0014660 n i t i s a p p l i e d
0014700 t o t h e s u c c e s s i v
0014720 e v a l u e s o f { a r g
0014740 H A S H F I L E } , t h e
0014760 o l d { a r g H A S H F I L
0015000 E } , a n d t h e n e w
0015020 h a s h f i l e , a n d t h
0015040 e v a l u e r e t u r n e d
0015060 i s u s e d a s t h e
0015100 v a l u e i n t h e n e w
0015120 f i l e . I n e f f e c
0015140 t , \r \r { l i s p c o d e \r ( P
0015160 U T H A S H F I L E \r { a
0015200 r g K E Y } \r ( { a r g
0015220 F N } ( G E T H A S H F I L
0015240 E { a r g K E Y } { a r g
0015260 H A S H F I L E } ) \r
0015300 { a r g H A S H F I L E
0015320 } \r { a r g N E
0015340 W H A S H F I L E } ) \r {
0015360 a r g N E W H A S H F I L E }
0015400 ) } \r \r i s e v a l u a t e d
0015420 f o r e a c h k e y .
0015440 T h u s , t h e u s e r c
0015460 a n i n t e r v e n e a s
0015500 e a c h k e y i s p r o c
0015520 e s s e d i n o r d e r t
0015540 o c o p y i n f o r m a t i
0015560 o n a s s o c i a t e d w i
0015600 t h t h e k e y . \r } } \r \r
0015620 \r { F n D e f { F n N a m e
0015640 H A S H F I L E S P L S T } {
0015660 F n A r g s H A S H F I L E }
0015700 \r { T e x t \r R e t u r n s a
0015720 " g e n e r a t o r " f o r
0015740 t h e k e y s i n { a r
0015760 g H A S H F I L E } t h a t
0016000 i s a c c e p t a b l e a
0016020 s a n a r g u m e n t t o
0016040 { f n F I X S P E L L } (
0016060 { P a g e R e f F n F I X S
0016100 P E L L } ) . { i n d e x g e
0016120 n e r a t o r s f o r s p e
0016140 l l i n g c o r r e c t i o n
0016160 } { i n d e x s p e l l i n g
0016200 c o r r e c t i o n o n h
0016220 a s h f i l e s } T h u s
0016240 , { l i s p ( F I X S P E L
0016260 L B A D W O R D 7 0 ( H A
0016300 S H F I L E S P L S T { a r g
0016320 H A S H F I L E } ) ) } w i
0016340 l l s p e l l i n g c o r r
0016360 e c t a w o r d u s i n g
0016400 t h e k e y s i n { a r
0016420 g H A S H F I L E } . \r } } \r
0016440 \r \r { F n D e f { F n N a m e
0016460 L O O K U P H A S H F I L E }
0016500 { F n A r g s K E Y V A L
0016520 U E H A S H F I L E C A L L
0016540 T Y P E } \r { T e x t \r A g e
0016560 n e r a l i z e d e n t r y
0016600 f o r i n s e r t i n g a n
0016620 d r e t r i e v i n g v a l
0016640 u e s ; p r o v i d e s c e
0016660 r t a i n o p t i o n s n o
0016700 t a v a i l a b l e w i t h
0016720 { f n G E T H A S H F I L E
0016740 } o r { f n P U T H A S H
0016760 F I L E } . { f n L O O K
0017000 U P H A S H F I L E } l o o k
0017020 s u p { a r g K E Y } i
0017040 n { a r g H A S H F I L E }
0017060 . { a r g C A L L T Y P E
0017100 } i s a n a t o m o r
0017120 a l i s t o f a t o m s .
0017140 T h e s e k e y w o r d s
0017160 a r e i n t e r p r e t e d
0017200 a s f o l l o w s : \r \r { B
0017220 e g i n L a b e l e d L i s t
0017240 C A L L T Y P E s } \r \r { I n
0017260 d e n t 1 5 p e r c e n t } \r
0017300 \r { L a b e l { l i s p R E
0017320 T R I E V E } } \r { T e x t \r I
0017340 f { a r g K E Y } i s f
0017360 o u n d , t h e n i f { a
0017400 r g C A L L T Y P E } i s
0017420 o r c o n t a i n s { l i s
0017440 p R E T R I E V E } , t h e
0017460 o l d v a l u e i s r e
0017500 t u r n e d f r o m { f n
0017520 L O O K U P H A S H F I L E } ;
0017540 o t h e r w i s e r e t u r
0017560 n s { l i s p T } . \r } \r \r
0017600 { N a m e { l i s p D E L E
0017620 T E } } \r { T e x t \r I f { a
0017640 r g C A L L T Y P E } i s
0017660 o r c o n t a i n s { l i s
0017700 p D E L E T E } , t h e v
0017720 a l u e a s s o c i a t e d
0017740 w i t h { a r g K E Y } i
0017760 s d e l e t e d f r o m t
0020000 h e f i l e . \r } \r \r { N a
0020020 m e { l i s p R E P L A C E
0020040 } } \r { T e x t \r I f { a r g
0020060 C A L L T Y P E } i s o r
0020100 c o n t a i n s { l i s p
0020120 R E P L A C E } , t h e o l
0020140 d v a l u e i s r e p l a
0020160 c e d w i t h { a r g V A
0020200 L U E } . \r } \r \r { N a m e {
0020220 l i s p I N S E R T } } \r { T
0020240 e x t \r I f { a r g C A L L
0020260 T Y P E } i s o r c o n t
0020300 a i n s { l i s p I N S E R
0020320 T } , { f n L O O K U P H A
0020340 S H F I L E } i n s e r t s
0020360 v a l u e a s t h e v a l
0020400 u e a s s o c i a t e d w i
0020420 t h { a r g K E Y } . \r } \r
0020440 \r \r { E n d L a b e l e d L i
0020460 s t C A L L T Y P E s } \r \r \r
0020500 I f { a r g K E Y } i s
0020520 n o t f o u n d , { f n L
0020540 O O K U P H A S H F I L E } r
0020560 e t u r n s { l i s p N I L
0020600 } . \r } } \r \r \r \r E x a m p l e
0020620 s : \r \r \r T o e i t h e r r
0020640 e t u r n a n o l d v a l
0020660 u e o r i n s e r t a n
0020700 e w v a l u e i n t h e
0020720 f i l e i f o n e d o e s
0020740 n o t a l r e a d y e x i
0020760 s t , p e r f o r m \r { l i s
0021000 p ( L O O K U P H A S H F I L
0021020 E { a r g K E Y } { a r g
0021040 N E W V A L U E } { a r g
0021060 H A S H F I L E } ' ( I N S E
0021100 R T R E T R I E V E ) ) } . \r
0021120 T h e v a l u e r e t u r n
0021140 e d w i l l b e { l i s p
0021160 N I L } i f { a r g N E
0021200 W V A L U E } w a s i n s e
0021220 r t e d , o r t h e o l d
0021240 v a l u e i f { a r g K
0021260 E Y } w a s f o u n d . \r
0021300 \r T o m e r e l y c h e c k
0021320 w h e t h e r { a r g K E
0021340 Y } e x i s t s i n t h e
0021360 f i l e w i t h o u t a c
0021400 t u a l l y r e t r i e v i n
0021420 g i t s v a l u e ( w h i
0021440 c h m a y b e e x p e n s
0021460 i v e f o r t h e m o r e
0021500 g e n e r a l v a l u e t y
0021520 p e s ) , p e r f o r m { l
0021540 i s p ( L O O K U P H A S H F
0021560 I L E { a r g K E Y } N I
0021600 L { a r g H A S H F I L E }
0021620 N I L ) } . \r \r T h e f u n
0021640 c t i o n { f n P U T H A S
0021660 H F I L E } c o u l d b e
0021700 d e f i n e d a s : \r \r { l i
0021720 s p c o d e \r ( L A M B D A (
0021740 K E Y V A L U E H A S H F I
0021760 L E ) \r ( i f V A L U
0022000 E = N I L \r t h e n
0022020 ( L O O K U P H A S H F I L E
0022040 K E Y N I L H A S H F I L
0022060 E ' D E L E T E ) \r
0022100 e l s e ( L O O K U P H A S
0022120 H F I L E K E Y V A L U E
0022140 H A S H F I L E ' ( I N S E R
0022160 T R E P L A C E ) ) \r
0022200 V A L U E ) ) } \r
0022220 \r \r A n d { f n G E T H A S
0022240 H F I L E } c o u l d b e
0022260 d e f i n e d a s : \r \r { l i
0022300 s p c o d e \r ( L A M B D A (
0022320 K E Y H A S H F I L E ) \r
0022340 ( L O O K U P H A S H F I L
0022360 E K E Y N I L H A S H F I
0022400 L E ' R E T R I E V E ) ) } \r
0022420 \r { n o t e H A S H i s a
0022440 n e w i m p l e m e n t a t
0022460 i o n o f t h e h a s h f
0022500 i l e p a c k a g e w h i c
0022520 h w o r k s i n b o t h
0022540 I n t e r l i s p - 1 0 a n d
0022560 I n t e r l i s p - D . I t
0022600 i s w r i t t e n i n I
0022620 n t e r l i s p a n d o p e
0022640 r a t i n g o n s t r e a m
0022660 s o f b y t e s . T h i s
0022700 p a c k a g e i m p l e m e
0022720 n t s t h e i n t e r f a c
0022740 e s d o c u m e n t e d i n
0022760 t h e I n t e r l i s p R
0023000 e f e r e n c e M a n u a l
0023020 ( a n d m a r k e d a s I
0023040 n t e r l i s p - 1 0 s p e c
0023060 i f i c ) a s w e l l a s
0023100 t h o s e o f t h e o r
0023120 i g i n a l i m p l e m e n t
0023140 a t i o n u s e d i n E M
0023160 Y C I N b a s e d s y s t e
0023200 m s , a n d w i l l b e
0023220 r e f e r r e d t o a s t
0023240 h e E M Y C I N p a c k a g
0023260 e . T h i s d o c u m e n t
0023300 o n l y d e a l s w i t h
0023320 d i f f e r e n c e s b e t
0023340 w e e n t h e v a r i o u s
0023360 p a c k a g e s . U s e r s
0023400 s h o u l d c o n s u l t
0023420 t h e I n t e r l i s p R e
0023440 f e r e n c e M a n u a l a
0023460 n d t h e E M Y C I N d o
0023500 c u m e n t a t i o n f o r
0023520 d e t a i l s . \r H a s h f i l
0023540 e s a r e c r e a t e d b
0023560 y c a l l i n g C R E A T E
0023600 H A S H F I L E . A " H a s
0023620 h F i l e " , a s r e f e r
0023640 e n c e d i n t h i s d o
0023660 c u m e n t , i s t h e d
0023700 a t u m r e t u r n e d b y
0023720 C R E A T E H A S H F I L E
0023740 o r O P E N H A S H F I L E ,
0023760 c u r r e n t l y a n a r
0024000 r a y r e c o r d c o n t a
0024020 i n i n g t h e h a s h f i
0024040 l e n a m e , a n d t h e
0024060 n u m b e r o f s l o t s
0024100 i n t h e f i l e , t h
0024120 e u s e d s l o t s a n d
0024140 o t h e r d e t a i l s .
0024160 A l l o t h e r f u n c t i
0024200 o n s w i t h h a s h f i l
0024220 e a r g u m e n t s u s e
0024240 t h i s d a t u m . A N I
0024260 L h a s h f i l e a r g u m
0024300 e n t r e f e r s t o S Y
0024320 S H A S H F I L E . K e y s
0024340 a r e s t r i n g s o r a
0024360 t o m s , a s i n t h e
0024400 o t h e r s y s t e m s . \r I
0024420 n t e r l i s p - 1 0 h a s h
0024440 f i l e s c a m e i n s e
0024460 v e r a l f l a v o r s , a
0024500 c c o r d i n g t o t h e
0024520 v a l u e s s t o r e d i n
0024540 t h e m . T h i s s y s t
0024560 e m o n l y s u p p o r t s
0024600 t h e m o s t g e n e r a
0024620 l E X P R t y p e o f h
0024640 a s h f i l e s ; t h e V A
0024660 L U E T Y P E a n d I T E M
0024700 L E N G T H a r g u m e n t s
0024720 a r e i g n o r e d . T h
0024740 i s d i s t i n c t i o n i
0024760 s g e n e r a l l y i n v i
0025000 s i b l e t o t h e u s e
0025020 r . \r T w o k e y h a s h i
0025040 n g i s s u p p o r t e d
0025060 i n t h i s s y s t e m .
0025100 T h e f u n c t i o n s t h
0025120 a t m a n i p u l a t e ' s
0025140 e c r e t p a g e s ' d o
0025160 n o t e x i s t i n t h i
0025200 s i m p l e m e n t a t i o n
0025220 . \r W h e n r u n n i n g i
0025240 n I n t e r l i s p - 1 0 ,
0025260 H A S H w i l l l o a d t
0025300 h e D F O R 1 0 . C O M p a
0025320 c k a g e f r o m t h e L
0025340 i s p U s e r s d i r e c t o
0025360 r y . \r F u n c t i o n s \r T h
0025400 e f u n c t i o n s i m p l
0025420 e m e n t e d a r e : \r h a s
0025440 h f i l e d a t a [ h a s h f i
0025460 l e ] ( E M Y C I N ) \r c l e
0025500 a r h a s h f i l e s [ c l o s
0025520 e , r e l e a s e ] ( E M Y C
0025540 I N ) \r c o l l e c t k e y s [
0025560 h a s h f i l e , d o u b l e ,
0025600 m k s t r i n g ] ( E M Y C I
0025620 N ) \r \r \r G l o b a l V a r
0025640 i a b l e s \r \r \r T h e v a r
0025660 i a b l e s u s e d b y t
0025700 h e s y s t e m o f i n t
0025720 e r e s t t o t h e u s e
0025740 r . \r H A S H T E X T C H A R
0025760 ^ A T h e c h a r a c t
0026000 e r s e p a r a t i n g t w
0026020 o k e y h a s h k e y s . \r
0026040 H A S H F I L E R D T B L O
0026060 R I G T h e h a s h f i l
0026100 e r e a d t a b l e . \r H F
0026120 G R O W T H F A C T O R 3
0026140 T h e r a t i o n o f t
0026160 o t a l s l o t s t o u s
0026200 e d s l o t s w h e n a
0026220 h a s h f i l e i s c r e a
0026240 t e d . \r R E H A S H G A G
0026260 N I L F l a g s w h e t h
0026300 e r t o p r i n t m e s s
0026320 a g e w h e n r e h a s h i
0026340 n g ; i n i t i a l l y o f
0026360 f . \r H A S H F I L E D E F A U
0026400 L T S I Z E 5 1 2 S i z
0026420 e u s e d w h e n # E n t
0026440 r i e s i s o m i t e d . \r
0026460 H A S H L O A D F A C T O R
0026500 . 8 7 5 T h e r a t i o ,
0026520 u s e d s l o t s / t o t a
0026540 l s l o t s , a t w h i c
0026560 h t h e s y s t e m r e h
0026600 a s h e s t h e f i l e ,
0026620 i n i t i a l l y 7 / 8 . \r S
0026640 Y S H A S H F I L E N I L
0026660 T h e c u r r e n t h a s
0026700 h f i l e . \r \r I m p l e m e n
0026720 t a t i o n \r \r T h e h a s h
0026740 f i l e p a c k a g e v i e
0026760 w s f i l e s a s a s e
0027000 q u e n c e o f b y t e s ,
0027020 r a n d o m l y a c c e s s
0027040 i b l e . N o n o t i c e
0027060 i s m a d e o f p a g e s
0027100 a n d i t i s a s s u m
0027120 e d t h a t t h e h o s t
0027140 c o m p u t e r b u f f e r
0027160 s I / O s u f f i e c i e n
0027200 t l y . \r H a s h f i l e s
0027220 c o n s i s t o f a l a y
0027240 e r o f p o i n t e r s f
0027260 o l l o w e d b y a s c i i
0027300 d a t a . P o i n t e r s
0027320 a r e 3 b y t e s w i d e
0027340 , p r e c e e d e d b y a
0027360 s t a t u s b y t e . T h
0027400 e p o i n t e r s p o i n t
0027420 t o k e y P N A M E S i
0027440 n t h e d a t a s e c t i
0027460 o n , w h e r e e a c h k
0027500 e y i s f o l l o w e d b
0027520 y i t s v a l u e . D e l
0027540 e t e d k e y p o i n t e r
0027560 s a r e r e u s e d , d e
0027600 l e t e d d a t a s p a c e
0027620 i s n o t , s o r e h a
0027640 s h i n g i s r e q u i r e
0027660 d i f m a n y i t e m s
0027700 h a v e b e e n " r e p l a
0027720 c e d " . \r T h e d a t a s
0027740 e c t i o n s t a r t s a t
0027760 4 * H A S H F I L E : S I Z E
0030000 + 9 , a n d c o n s i s
0030020 t s o f a l t e r n a t i n
0030040 g k e y s a n d v a l u e
0030060 s . A s d e l e t e d d a
0030100 t a i s n o t r e - w r i
0030120 t t e n , f i l e s s h o u
0030140 l d n o t b e a c c e s s
0030160 e d d i r e c t l y . \r \r W h
0030200 e n a k e y h a s h e s
0030220 i n t o a u s e d s l o t
0030240 , a p r o b e v a l u e
0030260 i s a d d e d t o i t t
0030300 o f i n d t h e n e x t
0030320 s l o t t o s e a r c h .
0030340 T h e p r o b e v a l u e
0030360 i s a s m a l l p r i m e
0030400 d e r i v e d f r o m t h
0030420 e o r i g i n a l h a s h
0030440 k e y . \r \r L i m i t a t i o n
0030460 s \r \r D u e t o t h e p o
0030500 i n t e r s i z e , o n l y
0030520 h a s h f i l e s o f <
0030540 6 m i l l i o n i n t i a l
0030560 e n t r i e s c a n b e
0030600 c r e a t e d , t h o u g h
0030620 t h e s e c a n g r o w t
0030640 o 1 4 m i l l i o n e n t
0030660 r i e s b e f o r e a u t o
0030700 m a t i c r e h a s h i n g
0030720 e x c e e d s t h e p o i n
0030740 t e r l i m i t . T h e t
0030760 o t a l f i l e l e n g t h
0031000 i s l i m i t e d t o 1
0031020 6 m i l l i o n b y t e s .
0031040 N o r a n g e c h e c k i
0031060 n g i s d o n e f o r t
0031100 h e s e l i m i t s . \r \r {
0031120 i n d e x * E N D * h a s h
0031140 f i l e f a c i l i t y }
0031160 \r \r \r } { E n d S u b S e c
0031200 H a s h F i l e s } \r \r \r \0 \0
0031220 % 021 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0
0031240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0
0031260 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0
0031300 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0
0031320 \0 \0 \0 002 H \0 \0 \0 005 G A C H A \0 \n
0031340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0
0031360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0
0031400 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0
0031420 \0 \0 \0 \0 \0 \0 001 266 \0 \0 \0 005 G A C H
0031440 A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0031460 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0
0031500 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0
0031520 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 004 \0 \0 \0 005 G
0031540 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0031560 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0031600 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N
0031620 I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 177 \0 \0
0031640 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0
0031660 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0
0031700 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L
0031720 \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0031740 b \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0
0031760 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0
0032000 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003
0032020 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0
0032040 \0 \0 \0 \n \0 \0 \0 005 G A C H A \0 \n \0
0032060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0
0032100 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0
0032120 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0
0032140 \0 \0 \0 \0 \0 \0 037 \0 \0 \0 005 G A C H A
0032160 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002
0032200 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0
0032220 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0
0032240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 005 G A
0032260 C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0032300 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002
0032320 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I
0032340 L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ' \0 \0 \0
0032360 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0
0032400 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0032420 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0
0032440 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 /
0032460 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0
0032500 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0
0032520 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N
0032540 I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0
0032560 \0 \0 001 \0 \0 \0 005 G A C H A \0 \n \0 \0
0032600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0
0032620 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0
0032640 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0
0032660 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C H A \0
0032700 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0
0032720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0
0032740 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0
0032760 \0 \0 \0 \0 \0 \0 \0 \0 022 \0 \0 \0 005 G A C
0033000 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033020 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001
0033040 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L
0033060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005
0033100 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0
0033120 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033140 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003
0033160 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0
0033200 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0
0033220 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0
0033240 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I
0033260 L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033300 \0 : \0 \0 \0 005 G A C H A \0 \n \0 \0 \0
0033320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0
0033340 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0
0033360 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0
0033400 \0 \0 \0 \0 = \0 \0 \0 005 G A C H A \0 \n
0033420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0
0033440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0
0033460 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0
0033500 \0 \0 \0 \0 \0 \0 \0 . \0 \0 \0 005 G A C H
0033520 A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033540 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0
0033560 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0
0033600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 W \0 \0 \0 005 G
0033620 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033640 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033660 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N
0033700 I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 N \0 \0
0033720 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0
0033740 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0
0033760 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L
0034000 \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0034020 = \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0
0034040 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0
0034060 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003
0034100 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0
0034120 \0 \0 \0 o \0 \0 \0 005 G A C H A \0 \n \0
0034140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0
0034160 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0
0034200 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0
0034220 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 005 G A C H A
0034240 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002
0034260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0
0034300 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0
0034320 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A
0034340 C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0034360 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002
0034400 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I
0034420 L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 017 \0 \0 \0
0034440 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0
0034460 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0034500 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0
0034520 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001
0034540 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0
0034560 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0
0034600 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N
0034620 I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0
0034640 \0 \0 255 \0 \0 \0 005 G A C H A \0 \n \0 \0
0034660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0
0034700 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0
0034720 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0
0034740 \0 \0 \0 \0 001 Q \0 \0 \0 005 G A C H A \0
0034760 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0
0035000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0
0035020 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0
0035040 \0 \0 \0 \0 \0 \0 \0 \0 247 \0 \0 \0 005 G A C
0035060 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0035100 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001
0035120 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L
0035140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005
0035160 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0
0035200 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0035220 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003
0035240 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 247 \0
0035260 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0
0035300 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0
0035320 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I
0035340 L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0035360 \0 001 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0
0035400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0
0035420 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0
0035440 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0
0035460 \0 \0 \0 \0 \f \0 \0 \0 005 G A C H A \0 \n
0035500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0
0035520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0
0035540 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0
0035560 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C H
0035600 A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0035620 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0
0035640 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0
0035660 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 033 \0 \0 \0 005 G
0035700 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0035720 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0035740 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N
0035760 I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0
0036000 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0
0036020 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0
0036040 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L
0036060 \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0036100 " \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0
0036120 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0
0036140 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003
0036160 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0
0036200 \0 \0 \0 001 \0 \0 \0 005 G A C H A \0 \n \0
0036220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0
0036240 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0
0036260 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0
0036300 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C H A
0036320 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002
0036340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0
0036360 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0
0036400 \0 \0 \0 \0 \0 \0 \0 \0 \0 031 \0 \0 \0 005 G A
0036420 C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0036440 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002
0036460 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I
0036500 L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0
0036520 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0
0036540 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0036560 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0
0036600 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001
0036620 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0
0036640 \0 \0 \0 \0 \0 2 216 \0 U z 270
0036653