$ od -c -N 50000 [eris]<LispCore>SOURCES>FASL!9
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 " F A S
0000060 L " ) \r 006 001 ( i l : f i l e c r
0000100 e a t e d " 1 8 - O c t - 8 6
0000120 2 3 : 5 7 : 0 4 " 006 004 i l :
0000140 { e r i s } < l i s p c o r e >
0000160 s o u r c e s > f a s l . \ ; 8
0000200 006 001 6 6 1 5 1 \r \r
0000220 i l : | c h a n g e s | i
0000240 l : | t o : | ( i l : s t r
0000260 u c t u r e s u n i m p l e m
0000300 e n t e d - o p c o d e o b j
0000320 e c t - n o t - d u m p a b l e
0000340 \r
0000360
0000400 i n c o n s i s t e
0000420 n t - t a b l e h a n d l e
0000440 o p t a b l e ) \r
0000460
0000500 ( i l : v a r s i
0000520 l : f a s l c o m s ) \r
0000540
0000560 ( i l : p r o
0000600 p s ( i l : f a s l i l : m
0000620 a k e f i l e - e n v i r o n m
0000640 e n t ) ) \r
0000660
0000700 ( i l : f n s s o - t h
0000720 a t - t h e - f i l e - w i l l
0000740 - g e t - c o m p i l e d ) \r
0000760
0001000 ( i l :
0001020 f u n c t i o n s t a b l e -
0001040 s t a t s d o t t e d - l i s
0001060 t - l e n g t h s t a t e - c
0001100 a s e f a t - s t r i n g - p
0001120 \r
0001140
0001160 r e m e m b e r e
0001200 l e m e n t s - i d e n t i c a
0001220 l - p e n d - b l o c k e n
0001240 d - t e x t w r i t e - o p
0001260 \r
0001300
0001320 l o o k u p - v a l u
0001340 e s a v e - v a l u e d u m
0001360 p - v a l u e - f e t c h d u
0001400 m p - c h a r a c t e r \r
0001420
*
0001460 d u m p - s y m b o l d u
0001500 m p - l i s t d u m p - s i m
0001520 p l e - v e c t o r d u m p -
0001540 a r r a y - d e s c r i p t o r
0001560 \r
0001600
0001620 d u m p - b i t - a
0001640 r r a y d u m p - g e n e r a
0001660 l - a r r a y d u m p - a r r
0001700 a y w r i t e - i n t e g e r
0001720 - b y t e s \r
0001740
0001760 i n t e
0002000 g e r - b y t e - l i s t d u
0002020 m p - r a t i o n a l d u m p
0002040 - c o m p l e x d u m p - i n
0002060 t e g e r \r
0002100
0002120 d u m p -
0002140 p a c k a g e d u m p - d c o
0002160 d e d u m p - s t r i n g d
0002200 u m p - f l o a t 3 2 o p e n
0002220 - f a s l - h a n d l e \r
0002240
*
0002300 w i t h - o p e n - h a n d
0002320 l e b e g i n - t e x t b e
0002340 g i n - b l o c k v a l u e -
0002360 d u m p a b l e - p \r
0002400
*
0002440 d u m p - v a l u e d u m p -
0002460 f u n c t i o n - d e f d u m
0002500 p - f u n c a l l d u m p - e
0002520 v a l \r
0002540
0002560 c l o s e - f
0002600 a s l - h a n d l e m a k e -
0002620 o p t a b l e f a s l - e n d
0002640 - o f - b l o c k d e f o p
0002660 d e f r a n g e \r
0002700
0002720 a d
0002740 d - o p - t r a n s l a t i o n
0002760 o p c o d e - s e q u e n c e
0003000 f a s l - e x t e n d e d s
0003020 e t e s c a p e \r
0003040
0003060 u n
0003100 i m p l e m e n t e d - o p c o
0003120 d e w i t h - o p t a b l e
0003140 p r o c e s s - f i l e c h e
0003160 c k - v e r s i o n \r
0003200
*
0003240 p r o c e s s - s e g m e n t
0003260 r e a d - t e x t p r o c e s
0003300 s - b l o c k d o - o p c l
0003320 e a r - t a b l e \r
0003340
0003360 s
0003400 t o r e - v a l u e f e t c h
0003420 - v a l u e c o l l e c t - l
0003440 i s t ) \r
0003460
0003500 ( i l : d e f i n e - t y p
0003520 e s f a s l - o p s ) \r
0003540
0003560 ( f a s l -
0003600 o p s f a s l - s h o r t - i
0003620 n t e g e r f a s l - n i l
0003640 f a s l - t f a s l - i n t e
0003660 g e r \r
0003700
0003720 f a s l - l a
0003740 r g e - i n t e g e r f a s l
0003760 - r a t i o f a s l - c o m p
0004000 l e x f a s l - v e c t o r
0004020 \r
0004040
0004060 f a s l - c r e a t e
0004100 - a r r a y f a s l - i n i t
0004120 i a l i z e - a r r a y f a s
0004140 l - i n i t i a l i z e - b i t
0004160 - a r r a y \r
0004200
0004220 f a s l
0004240 - t h i n - s t r i n g f a s
0004260 l - f a t - s t r i n g f a s
0004300 l - c h a r a c t e r f a s l
0004320 - l i s p - s y m b o l \r
0004340
*
0004400 f a s l - k e y w o r d - s
0004420 y m b o l f a s l - f i n d -
0004440 p a c k a g e f a s l - s y m
0004460 b o l - i n - p a c k a g e \r
0004500
*
0004540 f a s l - l i s t f a
0004560 s l - l i s t * f a s l - d c
0004600 o d e f a s l - t a b l e - s
0004620 t o r e f a s l - t a b l e -
0004640 f e t c h \r
0004660
0004700 f a s l -
0004720 v e r i f y - t a b l e - s i z
0004740 e f a s l - e v a l f a s l
0004760 - f l o a t 3 2 \r
0005000
0005020 f a
0005040 s l - s e t f - s y m b o l - f
0005060 u n c t i o n f a s l - f u n
0005100 c a l l ) \r \r i l :
0005120 | p r e v i o u s | i l : | d
0005140 a t e : | " 1 2 - O c t - 8 6
0005160 1 7 : 3 3 : 0 1 " i l : { e
0005200 r i s } < l i s p c o r e > s o
0005220 u r c e s > f a s l . \ ; 7 ) \r
0005240 \r \r ; C o p y r i g h t ( c
0005260 ) 1 9 8 6 b y X e r o x
0005300 C o r p o r a t i o n . A l
0005320 l r i g h t s r e s e r v e
0005340 d . \r \r ( i l : p r e t t y c o
0005360 m p r i n t i l : f a s l c o
0005400 m s ) \r \r ( i l : r p a q q 006
0005420 002 i l : f a s l c o m s 006 001 \r
0005440 ( ( i l : c
0005460 o m s ( i l : * i l : | ; ;
0005500 ; | " C o m m o n d e f i n
0005520 i t i o n s . " ) \r
0005540 ( i l :
0005560 d e c l a r e \ : i l : e v a
0005600 l @ c o m p i l e i l : e v a
0005620 l @ l o a d i l : d o n t c o
0005640 p y ( i l : f i l e s ( i l
0005660 : l o a d c o m p ) \r
0005700
*
0006000 i l : l l
0006020 c h a r ) ) \r
0006040 ( i l : f n s
0006060 s o - t h a t - t h e - f i l
0006100 e - w i l l - g e t - c o m p i
0006120 l e d ) \r
0006140 ( i l : s t r u c
0006160 t u r e s f a s l - e r r o r
0006200 u n i m p l e m e n t e d - o
0006220 p c o d e o b j e c t - n o t
0006240 - d u m p a b l e \r
0006260
0006300 u n e x p e c t e d - e
0006320 n d - o f - b l o c k i n c o
0006340 n s i s t e n t - t a b l e ) \r
0006360
0006400 ( e x p o r t ( i l : v a
0006420 r i a b l e s s i g n a t u r
0006440 e ) ) \r
0006460 ( i l : v a r i a b
0006500 l e s c h e c k - t a b l e -
0006520 s i z e f a s l - e x t e n d
0006540 e d e n d - m a r k v e r s
0006560 i o n - r a n g e c u r r e n
0006600 t - v e r s i o n \r
0006620
0006640 ) \r
0006660 ( i l : f u n c t
0006700 i o n s t a b l e - s t a t s
0006720 ) ) \r ( i
0006740 l : c o m s ( i l : * i l :
0006760 | ; ; ; | " D u m p e r . " )
0007000 \r
0007020 ( i l : s t r u c t u r e
0007040 s h a n d l e ) \r
0007060 ( i l :
0007100 v a r i a b l e s d u m m y -
0007120 h a n d l e ) \r
0007140 ( i l : v a
0007160 r i a b l e s + s m a l l e s
0007200 t - f o u r - b y t e - i n t e
0007220 g e r + + l a r g e s t - f o
0007240 u r - b y t e - i n t e g e r +
0007260 ) \r
0007300 ( i l : v a r i a b l e
0007320 s * g a t h e r - d u m p e r
0007340 - s t a t s * * t a b l e - a
0007360 t t e m p t s * * t a b l e -
0007400 h i t s * ) \r
0007420 ( i l : f u n
0007440 c t i o n s r e s e t - d u m
0007460 p e r - s t a t s ) \r
0007500 ( i l
0007520 : f u n c t i o n s d o t t e
0007540 d - l i s t - l e n g t h s t
0007560 a t e - c a s e f a t - s t r
0007600 i n g - p r e m e m b e r \r
0007620
0007640 e l e m e n t
0007660 s - i d e n t i c a l - p e n
0007700 d - b l o c k e n d - t e x t
0007720 w r i t e - o p l o o k u p
0007740 - v a l u e s a v e - v a l u
0007760 e ) \r
0010000 ( i l : f u n c t i o
0010020 n s d u m p - v a l u e - f e
0010040 t c h d u m p - c h a r a c t
0010060 e r d u m p - s y m b o l d
0010100 u m p - l i s t \r
0010120
0010140 d u m p - s i m p l e - v
0010160 e c t o r d u m p - a r r a y
0010200 - d e s c r i p t o r d u m p
0010220 - b i t - a r r a y d u m p -
0010240 g e n e r a l - a r r a y \r
0010260
0010300 d u m p - a r r
0010320 a y w r i t e - i n t e g e r
0010340 - b y t e s i n t e g e r - b
0010360 y t e - l i s t d u m p - r a
0010400 t i o n a l d u m p - c o m p
0010420 l e x \r
0010440 d u
0010460 m p - i n t e g e r d u m p -
0010500 p a c k a g e d u m p - d c o
0010520 d e d u m p - s t r i n g d
0010540 u m p - f l o a t 3 2 ) \r
0010560 (
0010600 i l : f u n c t i o n s o p e
0010620 n - f a s l - h a n d l e w i
0010640 t h - o p e n - h a n d l e b
0010660 e g i n - t e x t b e g i n -
0010700 b l o c k \r
0010720
0010740 v a l u e - d u m p a b l e - p
0010760 d u m p - v a l u e d u m p
0011000 - f u n c t i o n - d e f d u
0011020 m p - f u n c a l l d u m p -
0011040 e v a l \r
0011060 c
0011100 l o s e - f a s l - h a n d l e
0011120 ) ) \r ( i
0011140 l : c o m s ( i l : * i l :
0011160 | ; ; ; | " R e a d e r . " )
0011200 \r
0011220 ( i l : d e f i n e - t y
0011240 p e s f a s l - o p s ) \r
0011260
0011300 ( i l : s t r u c t u r e s o
0011320 p t a b l e ) \r
0011340 ( i l : *
0011360 i l : | ; ; | \r
0011400
0011420 " T h i s s h o u l d n ' t
0011440 h a v e t o b e i n h
0011460 e r e , b u t d e f s t r u
0011500 c t i s n ' t c o m p l e t
0011520 e y e t . " ) \r
0011540 ( i l : o
0011560 p t i m i z e r s o p t a b l
0011600 e - v e c t o r ) \r
0011620 ( i l :
0011640 f u n c t i o n s m a k e - o
0011660 p t a b l e f a s l - e n d -
0011700 o f - b l o c k d e f o p d
0011720 e f r a n g e a d d - o p - t
0011740 r a n s l a t i o n \r
0011760
0012000 o p c o d e - s e q u
0012020 e n c e f a s l - e x t e n d
0012040 e d s e t e s c a p e u n i
0012060 m p l e m e n t e d - o p c o d
0012100 e ) \r
0012120 ( i l : v a r i a b l
0012140 e s * d e f a u l t - o p t a
0012160 b l e * * c u r r e n t - o p
0012200 t a b l e * i n i t i a l - v
0012220 a l u e - t a b l e - s i z e
0012240 \r
0012260 v a l u e -
0012300 t a b l e - i n c r e m e n t
0012320 * v a l u e - t a b l e * * b
0012340 l o c k - l e v e l * d e b u
0012360 g - r e a d e r d e b u g - s
0012400 t r e a m ) \r
0012420 ( i l : f u n
0012440 c t i o n s w i t h - o p t a
0012460 b l e p r o c e s s - f i l e
0012500 c h e c k - v e r s i o n p
0012520 r o c e s s - s e g m e n t r
0012540 e a d - t e x t \r
0012560
0012600 p r o c e s s - b l o c k
0012620 s k i p - t e x t n e x t -
0012640 v a l u e d o - o p n e w -
0012660 v a l u e - t a b l e c l e a
0012700 r - t a b l e \r
0012720
0012740 s t o r e - v a l u e f e
0012760 t c h - v a l u e c o l l e c
0013000 t - l i s t ) \r
0013020 ( f a s l -
0013040 o p s f a s l - s h o r t - i
0013060 n t e g e r f a s l - n i l
0013100 f a s l - t f a s l - i n t e
0013120 g e r f a s l - l a r g e - i
0013140 n t e g e r \r
0013160
0013200 f a s l - r a t i o f a s l
0013220 - c o m p l e x f a s l - v e
0013240 c t o r f a s l - c r e a t e
0013260 - a r r a y f a s l - i n i t
0013300 i a l i z e - a r r a y \r
0013320
0013340 f a s l - i n i t
0013360 i a l i z e - b i t - a r r a y
0013400 f a s l - t h i n - s t r i n
0013420 g f a s l - f a t - s t r i n
0013440 g f a s l - c h a r a c t e r
0013460 \r
0013500 f a s l -
0013520 l i s p - s y m b o l f a s l
0013540 - k e y w o r d - s y m b o l
0013560 f a s l - f i n d - p a c k a g
0013600 e \r
0013620 f a s l
0013640 - s y m b o l - i n - p a c k a
0013660 g e f a s l - l i s t f a s
0013700 l - l i s t * f a s l - d c o
0013720 d e f a s l - t a b l e - s t
0013740 o r e \r
0013760 f a
0014000 s l - t a b l e - f e t c h f
0014020 a s l - v e r i f y - t a b l e
0014040 - s i z e f a s l - e v a l
0014060 f a s l - f l o a t 3 2 \r
0014100
0014120 f a s l - s e t f
0014140 - s y m b o l - f u n c t i o n
0014160 f a s l - f u n c a l l ) ) \r
0014200 ( i l : *
0014220 i l : | ; ; | " A r r a n g
0014240 e f o r t h e c o r r e c
0014260 t c o m p i l e r t o b e
0014300 u s e d " ) \r
0014320 ( i l : p r o p i l : f
0014340 i l e t y p e i l : f a s l )
0014360 \r ( i l :
0014400 * i l : | ; ; | " A r r a n
0014420 g e f o r t h e p r o p e
0014440 r m a k e f i l e e n v i r
0014460 o n m e n t " ) \r
0014500 ( i l : p r o p i l :
0014520 m a k e f i l e - e n v i r o n
0014540 m e n t i l : f a s l ) ) ) \r
0014560 \r \r \r 006 004 ( i l : * i l : | ;
0014600 ; ; | " C o m m o n d e f i
0014620 n i t i o n s . " ) 006 001 \r \r ( i
0014640 l : d e c l a r e \ : i l : e
0014660 v a l @ c o m p i l e i l : e
0014700 v a l @ l o a d i l : d o n t
0014720 c o p y \r ( i l : f i l e s l
0014740 o a d ( i l : l o a d c o m p
0014760 ) \r i l : l l c h
0015000 a r ) \r ) \r ( i l : d e f i n e
0015020 q \r \r ( 006 004 s o - t h a t - t h
0015040 e - f i l e - w i l l - g e t -
0015060 c o m p i l e d 006 001 \r ( l a
0015100 m b d a ( x ) ) ) \r ) \r ( i l
0015120 : d e f i n e - c o n d i t i o
0015140 n 006 002 f a s l - e r r o r 006 001
0015160 e r r o r ) \r \r ( i l : d e f
0015200 i n e - c o n d i t i o n 006 002
0015220 u n i m p l e m e n t e d - o p
0015240 c o d e 006 001 f a s l - e r r o
0015260 r : r e p o r t ( f o r m a
0015300 t t " U n i m p l e m e n t
0015320 e d F A S L o p : ~ S " \r
0015340
*
0015440 ( u n i m p l e m e n t
0015460 e d - o p c o d e - o p n a m e
0015500 \r
0015520
*
0015600 i l : c o n d i t i
0015620 o n ) ) \r
0015640
*
0015700 o p n a m e ) \r \r ( i
0015720 l : d e f i n e - c o n d i t i
0015740 o n 006 002 o b j e c t - n o t -
0015760 d u m p a b l e 006 001 f a s l -
0016000 e r r o r : r e p o r t ( f
0016020 o r m a t t " O b j e c t
0016040 n o t d u m p a b l e : ~ & ~
0016060 S " \r
0016100
*
0016160 ( o b j e c t - n o
0016200 t - d u m p a b l e - o b j e c
0016220 t \r
0016240
*
0016320 i l :
0016340 c o n d i t i o n ) ) \r
0016360
*
0016420 o b j e c
0016440 t ) \r \r ( i l : d e f i n e - c
0016460 o n d i t i o n 006 002 u n e x p
0016500 e c t e d - e n d - o f - b l o
0016520 c k 006 001 f a s l - e r r o r
0016540 : r e p o r t ( f o r m a t
0016560 t \r
0016600
*
0016660 " U n e x p e c t e d F
0016700 A S L - E N D - O F - B L O C K
0016720 a t ~ D . " \r
0016740
*
0017040 ( i l : g e t f i l e p t r (
0017060 \r
0017100
*
0017160 u n e x p e c t
0017200 e d - e n d - o f - b l o c k -
0017220 s t r e a m \r
0017240
*
0017340 i l
0017360 : c o n d i t i o n ) ) \r
0017400
*
0017500 ) \r
0017520
*
0017560 s t r e a m )
0017600 \r \r ( i l : d e f i n e - c o n
0017620 d i t i o n 006 002 i n c o n s i
0017640 s t e n t - t a b l e 006 001 f a
0017660 s l - e r r o r : r e p o r t
0017700 ( f o r m a t t \r
0017720
*
0017760 " I n c o n s i s
0020000 t e n t F A S L t a b l e
0020020 s i z e . ~ & E x p e c t e d
0020040 ~ D b u t f o u n d ~ D .
0020060 " \r
0020100
*
0020160 ( i n c o n s i s t e n
0020200 t - t a b l e - e x p e c t e d
0020220 \r
0020240
*
0020320 i l : c o
0020340 n d i t i o n ) \r
0020360
*
0020440 ( l e n g
0020460 t h ( o p t a b l e - v e c t
0020500 o r \r
0020520
*
0020600 ( i
0020620 n c o n s i s t e n t - t a b l
0020640 e - t a b l e \r
0020660
*
0020760 i l : c o n d i t i o n
0021000 ) ) ) ) \r
0021020
*
0021060 t a b l e e x p e c t e
0021100 d ) \r \r ( I L : * F O L L O W
0021120 I N G D E F I N I T I O N S
0021140 E X P O R T E D ) \r \r \r ( d e f
0021160 c o n s t a n t 006 002 s i g n a
0021200 t u r e 006 001 1 4 5 " F i r s
0021220 t b y t e o f a F A S L
0021240 f i l e . " ) \r \r \r \r ( I L :
0021260 * E N D E X P O R T E D D
0021300 E F I N I T I O N S ) \r \r ( d e
0021320 f v a r 006 002 c h e c k - t a b
0021340 l e - s i z e 006 001 t ) \r \r ( d
0021360 e f c o n s t a n t 006 002 f a s
0021400 l - e x t e n d e d 006 001 2 5 4
0021420 ) \r \r ( d e f c o n s t a n t
0021440 006 002 e n d - m a r k 006 001 2 5 5
0021460 ) \r \r ( d e f c o n s t a n t
0021500 006 002 v e r s i o n - r a n g e 006
0021520 001 ' ( 2 . 2 ) " H a n d
0021540 l e s ( c a r v e r s i o n
0021560 - r a n g e ) < = v e r s i
0021600 o n < = ( c d r v e r s i
0021620 o n - r a n g e ) " \r ) \r
0021640 \r ( d e f c o n s t a n t 006 002
0021660 c u r r e n t - v e r s i o n 006
0021700 001 2 ) \r \r ( d e f u n 006 002 t
0021720 a b l e - s t a t s 006 001 ( t a
0021740 b l e ) ( l e t ( ( i t e m
0021760 s ( l i s t ( c o n s ' -
0022000 - t o t a l - - ( l e n g t h
0022020 t a b l e ) ) ) ) ) \r
0022040
0022060 ( d o t
0022100 i m e s ( i ( l e n g t h
0022120 t a b l e ) \r
0022140
*
0022200 i t e m s ) \r
0022220
*
0022260 ( l e t * ( ( t y p e ( t
0022300 y p e - o f ( a r e f t a b
0022320 l e i ) ) ) \r
0022340
*
0022400 ( p a i r ( o r
0022420 ( f i n d t y p e i t e m s
0022440 : t e s t ' e q u a l : k
0022460 e y \r
0022500
*
0022560 ' c a r ) \r
0022600
*
0022640 (
0022660 c a r ( p u s h ( c o n s
0022700 t y p e 0 ) \r
0022720
*
0023000 i t e m s
0023020 ) ) ) ) ) \r
0023040
*
0023100 ( i n c f ( c d r p a
0023120 i r ) ) ) ) ) ) \r \r \r \r \r 006 004 (
0023140 i l : * i l : | ; ; ; | " D
0023160 u m p e r . " ) 006 001 \r \r ( d e f
0023200 s t r u c t ( 006 002 h a n d l e
0023220 006 001 ( : c o n s t r u c t o r
0023240 m a k e - h a n d l e ) ) s
0023260 t r e a m ( s t a t e : b l
0023300 o c k - e n d ) \r
0023320
*
0023360 ( l
0023400 a s t - i n d e x 0 ) \r
0023420
*
0023500 ( h a s h ( m a k e - h a
0023520 s h - t a b l e : t e s t #
0023540 ' e q ) ) ) \r \r ( d e f c o n s
0023560 t a n t 006 002 d u m m y - h a n
0023600 d l e 006 001 ( m a k e - h a n d
0023620 l e : s t r e a m ( o p e n
0023640 " { n u l l } " : d i r e c
0023660 t i o n : o u t p u t ) \r
0023700
0023720 :
0023740 s t a t e : b l o c k : h a
0023760 s h n i l ) ) \r \r ( d e f c
0024000 o n s t a n t 006 002 + s m a l l
0024020 e s t - f o u r - b y t e - i n
0024040 t e g e r + 006 001 ( - ( e x p
0024060 t 2 3 1 ) ) ) \r \r ( d e f
0024100 c o n s t a n t 006 002 + l a r g
0024120 e s t - f o u r - b y t e - i n
0024140 t e g e r + 006 001 ( 1 - ( e x
0024160 p t 2 3 1 ) ) ) \r \r ( d e
0024200 f v a r 006 002 * g a t h e r - d
0024220 u m p e r - s t a t s * 006 001 n
0024240 i l ) \r \r ( d e f v a r 006 002 *
0024260 t a b l e - a t t e m p t s * 006
0024300 001 0 " N u m b e r o f t
0024320 a b l e l o o k u p s b y
0024340 t h e F A S L d u m p e r .
0024360 " ) \r \r ( d e f v a r 006 002 * t
0024400 a b l e - h i t s * 006 001 0 "
0024420 N u m b e r o f s u c c e s
0024440 s f u l t a b l e l o o k u
0024460 p s b y t h e F A S L d
0024500 u m p e r . " ) \r \r ( d e f u n
0024520 006 002 r e s e t - d u m p e r -
0024540 s t a t s 006 001 n i l ( s e t
0024560 q * t a b l e - a t t e m p t
0024600 s * 0 * t a b l e - h i t s
0024620 * 0 ) ) \r \r ( d e f u n 006 002
0024640 d o t t e d - l i s t - l e n g
0024660 t h 006 001 ( x ) ( d o ( ( n
0024700 0 ( + n 2 ) ) \r
0024720
0024740 (
0024760 f a s t x ( c d d r f a s
0025000 t ) ) \r
0025020
0025040 ( s l o w x (
0025060 c d r s l o w ) ) ) \r
0025100
0025120 ( n
0025140 i l ) \r
0025160
0025200 ( c o n d \r
0025220
*
0025260 ( ( n u l l f a s t ) \r
0025300
*
0025340 ( r e t u r n n ) ) \r
0025360
*
0025420 ( ( a t o m f a s t
0025440 ) \r
0025460
0025500 ( r e t u r n
0025520 ( v a l u e s n t ) ) ) \r
0025540
*
0025600 ( ( n u l l ( c d r
0025620 f a s t ) ) \r
0025640
0025660 ( r e
0025700 t u r n ( 1 + n ) ) ) \r
0025720
*
0025760 ( ( a t o m ( c d r f
0026000 a s t ) ) \r
0026020
0026040 ( r e t
0026060 u r n ( v a l u e s ( 1 +
0026100 n ) \r
0026120
*
0026160 t ) ) ) \r
0026200
*
0026240 ( ( a n d ( e q f a s t
0026260 s l o w ) \r
0026300
*
0026340 ( > n 0 ) ) \r
0026360
*
0026420 ( r e t u r n n i l ) ) ) )
0026440 ) \r \r ( d e f m a c r o 006 002 s
0026460 t a t e - c a s e 006 001 ( & r e
0026500 s t c l a u s e s ) ` ( e c
0026520 a s e ( h a n d l e - s t a t
0026540 e h a n d l e ) \r
0026560
*
0026620 , @ c l a u s e s
0026640 ) ) \r \r ( d e f u n 006 002 f a t
0026660 - s t r i n g - p 006 001 ( s t r
0026700 i n g ) ( c o n d \r
0026720
0026740 ( ( i l :
0026760 s t r i n g p s t r i n g ) \r
0027000
*
0027040 ( e q ( i l : f e t c h (
0027060 i l : s t r i n g p i l : t y
0027100 p ) \r
0027120
0027140 i
0027160 l : o f s t r i n g ) \r
0027200
*
0027240 i l : \ \ s t . p o s 1 6 )
0027260 ) \r
0027300
0027320 ( t ( i l : % f a t - s t
0027340 r i n g - a r r a y - p s t r
0027360 i n g ) ) ) ) \r \r ( d e f m a c
0027400 r o 006 002 r e m e m b e r 006 001
0027420 ( v a l u e & b o d y b o d
0027440 y ) ( l e t ( ( r e m e m b
0027460 e r - v a l ( i l : g e n s y
0027500 m ) ) ) \r
0027520
*
0027560 ` ( l e t ( ( , r e m e m b e
0027600 r - v a l , v a l u e ) ) \r
0027620
*
0027700 ( w h e n r e m e m b e r (
0027720 w r i t e - o p h a n d l e
0027740 ' f a s l - t a b l e - s t o r
0027760 e ) ) \r
0030000
*
0030040 , @ b o d y \r
0030060
*
0030120 ( w h
0030140 e n r e m e m b e r ( s a v
0030160 e - v a l u e h a n d l e ,
0030200 r e m e m b e r - v a l ) ) ) )
0030220 ) \r \r ( d e f u n 006 002 e l e m
0030240 e n t s - i d e n t i c a l - p
0030260 006 001 ( a r r a y ) ( l e t *
0030300 ( ( s e q ( i l : \ \ f l a
0030320 t t e n - a r r a y a r r a y
0030340 ) ) \r
0030360
0030400 ( t
0030420 e s t e l t ( a r e f s e q
0030440 0 ) ) ) \r
0030460
*
0030520 ( e v e r y # ' ( l a m b d a
0030540 ( x ) \r
0030560
*
0030620 (
0030640 e q l x t e s t e l t ) )
0030660 s e q ) ) ) \r \r ( d e f u n 006
0030700 002 e n d - b l o c k 006 001 ( h a
0030720 n d l e ) ( s t a t e - c a s
0030740 e ( : b l o c k ( w h e n
0030760 c h e c k - t a b l e - s i z e
0031000 ( w r i t e - o p h a n d l
0031020 e ' \r
0031040
*
0031140 f a s l - v e r i f y - t a b l
0031160 e - s i z e ) \r
0031200
*
0031240 ( d u m
0031260 p - v a l u e h a n d l e (
0031300 h a n d l e - l a s t - i n d e
0031320 x h a n d l e ) \r
0031340
*
0031420 n i l ) ) \r
0031440
*
0031500 ( i l : b o u t
0031520 ( h a n d l e - s t r e a m
0031540 h a n d l e ) \r
0031560
*
0031620 e n d -
0031640 m a r k ) \r
0031660
*
0031720 ( s e t f ( h a n d l e
0031740 - l a s t - i n d e x h a n d
0031760 l e ) \r
0032000
*
0032040 0 ) \r
0032060
*
0032120 ( s e t f ( h a
0032140 n d l e - h a s h h a n d l e
0032160 ) \r
0032200
*
0032240 ( m a k e - h a s h -
0032260 t a b l e : t e s t # ' e q
0032300 ) ) \r
0032320
*
0032360 ( s e t f ( h a n d l e - s t
0032400 a t e h a n d l e ) \r
0032420
*
0032460 :
0032500 b l o c k - e n d ) ) ) ) \r \r (
0032520 d e f u n 006 002 e n d - t e x t
0032540 006 001 ( h a n d l e ) ( s t a
0032560 t e - c a s e ( : t e x t (
0032600 i l : b o u t ( h a n d l e -
0032620 s t r e a m h a n d l e ) \r
0032640
*
0032720 e n d - m a r k ) \r
0032740
*
0033000 ( s e t f ( h
0033020 a n d l e - s t a t e h a n d
0033040 l e ) \r
0033060
*
0033120 : b l o c k ) ) ) )
0033140 \r \r ( d e f u n 006 002 w r i t e
0033160 - o p 006 001 ( h a n d l e o p
0033200 n a m e ) ( s t a t e - c a s
0033220 e ( : b l o c k ( l e t (
0033240 ( s t r e a m ( h a n d l e -
0033260 s t r e a m h a n d l e ) ) \r
0033300
*
0033360 ( o p s e q
0033400 ( o p c o d e - s e q u e n c
0033420 e o p n a m e ) ) ) \r
0033440
*
0033520 ( i f ( n u l l o
0033540 p s e q ) \r
0033560
*
0033640 ( e r r o r ' u n i m p
0033660 l e m e n t e d - o p c o d e
0033700 : o p n a m e \r
0033720
*
0034000 o p n
0034020 a m e ) \r
0034040
*
0034120 ( d o l i s t ( o p o p
0034140 s e q ) \r
0034160
*
0034240 ( i l : b o u
0034260 t s t r e a m o p ) ) ) ) )
0034300 ) ) \r \r ( d e f u n 006 002 l o o
0034320 k u p - v a l u e 006 001 ( h a n
0034340 d l e v a l u e ) ( i l : g
0034360 e t h a s h v a l u e ( h a
0034400 n d l e - h a s h h a n d l e
0034420 ) ) ) \r \r ( d e f u n 006 002 s a
0034440 v e - v a l u e 006 001 ( h a n d
0034460 l e v a l u e ) ( s e t f
0034500 ( i l : g e t h a s h v a l u
0034520 e ( h a n d l e - h a s h h
0034540 a n d l e ) ) \r
0034560
0034600 (
0034620 h a n d l e - l a s t - i n d e
0034640 x h a n d l e ) ) \r
0034660
0034700 ( i n c
0034720 f ( h a n d l e - l a s t - i
0034740 n d e x h a n d l e ) ) ) \r \r
0034760 ( d e f u n 006 002 d u m p - v a
0035000 l u e - f e t c h 006 001 ( h a n
0035020 d l e i n d e x ) ( w r i t
0035040 e - o p h a n d l e ' f a s
0035060 l - t a b l e - f e t c h ) \r
0035100
*
0035140 ( d u m p - v a l u
0035160 e h a n d l e i n d e x n
0035200 i l ) ) \r \r ( d e f u n 006 002 d
0035220 u m p - c h a r a c t e r 006 001
0035240 ( h a n d l e c h a r r e m
0035260 e m b e r ) ( d e c l a r e
0035300 ( i g n o r e r e m e m b e r
0035320 ) ) \r
0035340
*
0035420 006 003 ( i l : * " C h a r a c t
0035440 e r s d o n ' t g e t r e
0035460 m e m b e r e d . " ) 006 001 \r
0035500
*
0035540 ( l e t
0035560 ( ( c o d e ( c h a r - c o d
0035600 e c h a r ) ) \r
0035620
*
0035660 ( s t r
0035700 e a m ( h a n d l e - s t r e
0035720 a m h a n d l e ) ) ) \r
0035740
*
0036000 (
0036020 w r i t e - o p h a n d l e
0036040 ' f a s l - c h a r a c t e r )
0036060 \r
0036100
*
0036140 ( i f ( < c o d e 2
0036160 5 6 ) \r
0036200
*
0036240 ( i l : b o
0036260 u t s t r e a m c o d e ) \r
0036300
*
0036360 ( p r o g n ( i l
0036400 : b o u t s t r e a m 2 5 5
0036420 ) \r
0036440
*
0036500 (
0036520 i l : b o u t 1 6 s t r e a m
0036540 c o d e ) ) ) ) ) \r \r ( d e f
0036560 u n 006 002 d u m p - s y m b o l
0036600 006 001 ( h a n d l e s y m b o
0036620 l r e m e m b e r ) 006 003 006 001
0036640 006 003 ( i l : * i l
0036660 : | ; ; | \r 006 001
0036700 006 003 " N o
0036720 p o i n t i n r e m e m b
0036740 e r i n g t h e p n a m e
0036760 b e c a u s e S Y M B O L - N
0037000 A M E a l w a y s g i v e s
0037020 y o u a n e w o n e . "
0037040 ) 006 001 \r ( l e t ( ( p n
0037060 a m e ( s y m b o l - n a m e
0037100 s y m b o l ) ) \r
0037120 ( p a c k a g e ( s y m
0037140 b o l - p a c k a g e s y m b
0037160 o l ) ) ) \r ( r
0037200 e m e m b e r s y m b o l (
0037220 c o n d \r
0037240
0037260 ( ( k e y w o r d p s y m b
0037300 o l ) \r
0037320
0037340 ( w r i t e - o p h a n d l
0037360 e ' f a s l - k e y w o r d -
0037400 s y m b o l ) \r
0037420
0037440 ( d u m p - v a l u e
0037460 h a n d l e p n a m e n i
0037500 l ) ) \r
0037520
0037540 ( ( s t r i n g - e q u a l (
0037560 p a c k a g e - n a m e p a c
0037600 k a g e ) \r
0037620
0037640 " L I S P "
0037660 ) \r
0037700 (
0037720 w r i t e - o p h a n d l e
0037740 ' f a s l - l i s p - s y m b o
0037760 l ) \r
0040000
0040020 ( d u m p - v a l u e h a n d
0040040 l e p n a m e n i l ) ) \r
0040060
0040100 ( t ( w
0040120 r i t e - o p h a n d l e '
0040140 f a s l - s y m b o l - i n - p
0040160 a c k a g e ) \r
0040200
0040220 ( d u m p - v a l
0040240 u e h a n d l e p n a m e
0040260 n i l ) \r
0040300
0040320 ( d u m p - v a l u e
0040340 h a n d l e p a c k a g e r
0040360 e m e m b e r ) ) ) ) ) ) \r \r (
0040400 d e f u n 006 002 d u m p - l i s
0040420 t 006 001 ( h a n d l e l i s t
0040440 r e m e m b e r ) ( m u l t
0040460 i p l e - v a l u e - b i n d
0040500 ( l e n g t h d o t t e d ) \r
0040520
*
0040560 (
0040600 d o t t e d - l i s t - l e n g
0040620 t h l i s t ) \r
0040640
*
0040700 ( u n l e s s
0040720 l e n g t h ( e r r o r ' o
0040740 b j e c t - n o t - d u m p a b
0040760 l e : o b j e c t \r
0041000
*
0041100 l i s t ) ) \r
0041120
*
0041160 ( r e m e m b e r
0041200 l i s t ( w r i t e - o p
0041220 h a n d l e ( i f d o t t e
0041240 d \r
0041260
*
0041360 ' f a s l - l i s t *
0041400 \r
0041420
*
0041520 ' f a s l - l i s t ) )
0041540 \r
0041560
*
0041620 ( d u m p - v a l
0041640 u e h a n d l e ( i f d o
0041660 t t e d ( 1 + l e n g t h )
0041700 \r
0041720
*
0042000 l e
0042020 n g t h ) \r
0042040
*
0042120 n i l ) \r
0042140
*
0042200 ( d
0042220 o t i m e s ( i l e n g t h
0042240 ) \r
0042260
*
0042320 (
0042340 d u m p - v a l u e h a n d l
0042360 e ( c a r l i s t ) ) \r
0042400
*
0042460 ( p o p
0042500 l i s t ) ) \r
0042520
*
0042560 ( w h
0042600 e n d o t t e d ( d u m p -
0042620 v a l u e h a n d l e l i s
0042640 t n i l ) ) ) ) ) \r \r ( d e f
0042660 u n 006 002 d u m p - s i m p l e
0042700 - v e c t o r 006 001 ( h a n d l
0042720 e v e c t o r r e m e m b e
0042740 r ) ( l e t ( ( l e n g t h
0042760 ( l e n g t h v e c t o r )
0043000 ) ) \r
0043020
*
0043060 ( r e m e
0043100 m b e r v e c t o r ( w r i
0043120 t e - o p h a n d l e \r
0043140
*
0043240 ' f a
0043260 s l - v e c t o r ) \r
0043300
*
0043360 ( d u m p -
0043400 v a l u e h a n d l e l e n
0043420 g t h r e m e m b e r ) \r
0043440
*
0043520 ( d o
0043540 t i m e s ( i l e n g t h )
0043560 \r
0043600
*
0043660 ( d u m p - v a l
0043700 u e h a n d l e \r
0043720
*
0044020 ( s v r e f v e
0044040 c t o r i ) \r
0044060
*
0044160 r e m e m b e r ) ) )
0044200 ) ) \r \r ( d e f u n 006 002 d u m
0044220 p - a r r a y - d e s c r i p t
0044240 o r 006 001 ( h a n d l e a r r
0044260 a y r e m e m b e r & k e y
0044300 ( i n i t i a l - e l e m e n
0044320 t n i l u s e - s i n g l e
0044340 - e l t ) ) \r ( r e m e m
0044360 b e r a r r a y ( w r i t e
0044400 - o p h a n d l e ' f a s l
0044420 - c r e a t e - a r r a y ) \r
0044440 ( d u m p - v
0044460 a l u e h a n d l e ( i f
0044500 ( e q l ( a r r a y - r a n k
0044520 a r r a y ) \r
0044540
0044560 1 )
0044600 \r
0044620
0044640 ( c a r ( a r r a y - d i
0044660 m e n s i o n s a r r a y ) )
0044700 \r
0044720
0044740 ( a r r a y - d i m e n s i
0044760 o n s a r r a y ) ) \r
0045000 r e m
0045020 e m b e r ) \r
0045040 ( d u m p - v a l u e h a n
0045060 d l e ` ( : e l e m e n t - t
0045100 y p e , ( a r r a y - e l e m
0045120 e n t - t y p e a r r a y )
0045140 : a d j u s t a b l e \r
0045160
*
0045220 , ( a d j u s t a b l e - a r
0045240 r a y - p a r r a y ) \r
0045260
*
0045320 , @ ( w h e n ( a r r a y
0045340 - h a s - f i l l - p o i n t e
0045360 r - p a r r a y ) \r
0045400
*
0045440 ` ( : f i l l -
0045460 p o i n t e r , ( f i l l - p
0045500 o i n t e r a r r a y ) ) ) \r
0045520
*
0045560 , @ ( w h e n u s e
0045600 - s i n g l e - e l t ` ( : i
0045620 n i t i a l - e l e m e n t ,
0045640 i n i t i a l - e l e m e n t )
0045660 ) ) \r
0045700 r e m e m b e r ) ) )
0045720 \r \r ( d e f u n 006 002 d u m p -
0045740 b i t - a r r a y 006 001 ( h a n
0045760 d l e a r r a y r e m e m b
0046000 e r ) ( l e t ( ( n b i t s
0046020 ( a r r a y - t o t a l - s i
0046040 z e a r r a y ) ) ) \r
0046060
*
0046120 (
0046140 u n l e s s ( z e r o p ( i
0046160 l : \ \ a r r a y - o f f s e t
0046200 a r r a y ) ) \r
0046220
*
0046300 ( e r r o r ' o b j e c
0046320 t - n o t - d u m p a b l e :
0046340 o b j e c t a r r a y ) ) \r
0046360
*
0046440 ( r e m e m b e r a r r a
0046460 y ( w r i t e - o p h a n d
0046500 l e ' \r
0046520
*
0046600 f
0046620 a s l - i n i t i a l i z e - b
0046640 i t - a r r a y ) \r
0046660
*
0046740 ( d u m p - v a l u e
0046760 h a n d l e n b i t s r e m
0047000 e m b e r ) \r
0047020
*
0047100 ( d u m p - a r r a y - d e s
0047120 c r i p t o r h a n d l e a
0047140 r r a y \r
0047160
*
0047240 r e m e m b e r )
0047260 \r
0047300
*
0047340 ( i l : \
0047360 \ b o u t s ( h a n d l e - s
0047400 t r e a m h a n d l e ) \r
0047420
*
0047500 (
0047520 i l : \ \ a r r a y - b a s e
0047540 a r r a y ) \r
0047560
*
0047640 0 \r
0047660
*
0047740 ( c e i l
0047760 i n g n b i t s 8 ) ) ) ) )
0050000 \r \r ( d e f u n 006 002 d u m p -
0050020 g e n e r a l - a r r a y 006 001
0050040 ( h a n d l e a r r a y r e
0050060 m e m b e r ) 006 003 006 001 006 003 ( i
0050100 l : * i l : | ; ; | \r 006 001
0050120
*
0050160 006 003 " A r r a y s d o
0050200 n ' t g e t r e m e m b e r
0050220 e d . D i s p l a c e m e n t
0050240 i n f o r m a t i o n i s
0050260 l o s t . " ) 006 001 \r ( l e
0050300 t * ( ( n e l t s ( a r r a
0050320 y - t o t a l - s i z e a r r
0050340 a y ) ) \r (
0050360 e l t - t y p e ( a r r a y -
0050400 e l e m e n t - t y p e a r r
0050420 a y ) ) ) \r (
0050440 w r i t e - o p h a n d l e
0050460 ' f a s l - i n i t i a l i z e
0050500 - a r r a y ) \r
0050520 ( d u m p - a r r a y - d e s
0050540 c r i p t o r h a n d l e a
0050560 r r a y n i l ) \r
0050600 ( d u m p - v a l u e h
0050620 a n d l e n e l t s n i l )
0050640 \r ( l e t (
0050660 ( i n d i r e c t ( m a k e -
0050700 a r r a y n e l t s : d i s
0050720 p l a c e d - t o a r r a y
0050740 : e l e m e n t - t y p e e l
0050760 t - t y p e ) ) ) \r
0051000 ( d o t i m e s
0051020 ( i n e l t s ) \r
0051040
0051060 ( d u m p - v a l u e h a n d
0051100 l e ( a r e f i n d i r e c
0051120 t i ) \r
0051140
0051160 n i l ) ) ) ) ) \r \r ( d e f u
0051200 n 006 002 d u m p - a r r a y 006 001
0051220 ( h a n d l e a r r a y r
0051240 e m e m b e r ) ( c o n d \r
0051260
*
0051320 ( ( i l
0051340 : d i s p l a c e d - a r r a y
0051360 - p a r r a y ) \r
0051400
*
0051440 ( e r r o r '
0051460 o b j e c t - n o t - d u m p a
0051500 b l e : o b j e c t a r r a
0051520 y ) ) \r
0051540
*
0051600 ( ( a d j u s t a b l e - a r
0051620 r a y - p a r r a y ) \r
0051640
*
0051700 ( d u m p
0051720 - g e n e r a l - a r r a y h
0051740 a n d l e a r r a y r e m e
0051760 m b e r ) ) \r
0052000
*
0052040 ( ( t y p e p a r r a
0052060 y ' ( a r r a y b i t ) ) \r
0052100
*
0052140 ( d
0052160 u m p - b i t - a r r a y h a
0052200 n d l e a r r a y r e m e m
0052220 b e r ) ) \r
0052240
*
0052300 ( ( t y p e p a r r a y
0052320 ' v e c t o r ) \r
0052340
*
0052400 ( d u m p - s i
0052420 m p l e - v e c t o r h a n d
0052440 l e a r r a y r e m e m b e
0052460 r ) ) \r
0052500
*
0052540 ( t ( d u m p - g e n e r a
0052560 l - a r r a y h a n d l e a
0052600 r r a y r e m e m b e r ) ) )
0052620 ) \r \r ( d e f u n 006 002 w r i t
0052640 e - i n t e g e r - b y t e s 006
0052660 001 ( h a n d l e n b y t e s
0052700 v a l u e ) ( l e t ( ( s
0052720 t r e a m ( h a n d l e - s t
0052740 r e a m h a n d l e ) ) ) \r
0052760
*
0053040 ( d o l i s t ( b y
0053060 t e ( i n t e g e r - b y t e
0053100 - l i s t v a l u e n b y t
0053120 e s ) ) \r
0053140
*
0053220 ( i l : b o u t s t r e a
0053240 m b y t e ) ) ) ) \r \r ( d e f
0053260 u n 006 002 i n t e g e r - b y t
0053300 e - l i s t 006 001 ( v a l u e
0053320 n b y t e s ) ( d o ( ( c o
0053340 u n t 0 ( 1 + c o u n t )
0053360 ) \r
0053400
0053420 (
0053440 r e s u l t n i l ) \r
0053460
*
0053520 ( n v a l u
0053540 e ) \r
0053560
*
0053620 b y t e ) \r
0053640
*
0053700 ( ( > = c o u n t n b y
0053720 t e s ) \r
0053740
*
0054000 r e s u l t ) \r
0054020
*
0054060 ( m u l t i p l e -
0054100 v a l u e - s e t q ( n b y
0054120 t e ) \r
0054140
*
0054200 ( f l o o r n
0054220 2 5 6 ) ) \r
0054240
*
0054300 ( p u s h b y t e r e s
0054320 u l t ) ) ) \r \r ( d e f u n 006
0054340 002 d u m p - r a t i o n a l 006 001
0054360 ( h a n d l e v a l u e r
0054400 e m e m b e r ) ( d e c l a r
0054420 e ( i g n o r e r e m e m b
0054440 e r ) ) \r
0054460
*
0054520 ( w r i t e - o p h a n d
0054540 l e ' f a s l - r a t i o ) \r
0054560
*
0054620 ( d u
0054640 m p - v a l u e h a n d l e
0054660 ( n u m e r a t o r v a l u e
0054700 ) \r
0054720
*
0054760 n i l ) \r
0055000
*
0055040 ( d u m p - v a
0055060 l u e h a n d l e ( d e n o
0055100 m i n a t o r v a l u e ) \r
0055120
*
0055200 n i l ) ) \r \r ( d e f u n
0055220 006 002 d u m p - c o m p l e x 006
0055240 001 ( h a n d l e v a l u e
0055260 r e m e m b e r ) ( d e c l a
0055300 r e ( i g n o r e r e m e m
0055320 b e r ) ) \r
0055340
*
0055400 ( w r i t e - o p h a n d
0055420 l e ' f a s l - c o m p l e x
0055440 ) \r
0055460
0055500 ( d
0055520 u m p - v a l u e h a n d l e
0055540 ( r e a l p a r t v a l u e
0055560 ) \r
0055600
*
0055640 n i l ) \r
0055660
*
0055720 ( d u m p - v a l u
0055740 e h a n d l e ( i m a g p a
0055760 r t v a l u e ) \r
0056000
*
0056040 n i l
0056060 ) ) \r \r ( d e f u n 006 002 d u m
0056100 p - i n t e g e r 006 001 ( h a n
0056120 d l e v a l u e r e m e m b
0056140 e r ) ( d e c l a r e ( i g
0056160 n o r e r e m e m b e r ) ) \r
0056200
*
0056240 ( c o n
0056260 d \r
0056300
*
0056340 ( ( a n d ( < = 0 v a l
0056360 u e ) \r
0056400
*
0056440 ( < v a l u
0056460 e 1 2 8 ) ) \r
0056500
*
0056540 ( i l : b o u t
0056560 ( h a n d l e - s t r e a m
0056600 h a n d l e ) \r
0056620
*
0056660 v
0056700 a l u e ) ) \r
0056720
*
0056760 ( ( a n d ( < =
0057000 + s m a l l e s t - f o u r - b
0057020 y t e - i n t e g e r + v a l
0057040 u e \r
0057060
*
0057120 + l a r g e
0057140 s t - f o u r - b y t e - i n t
0057160 e g e r + ) ) \r
0057200
*
0057240 ( w r i t e - o
0057260 p h a n d l e ' f a s l - i
0057300 n t e g e r ) \r
0057320
*
0057360 ( w r i t e - i
0057400 n t e g e r - b y t e s h a n
0057420 d l e 4 v a l u e ) ) \r
0057440
*
0057500 ( t
0057520 ( w r i t e - o p h a n d l e
0057540 ' f a s l - l a r g e - i n t
0057560 e g e r ) \r
0057600
*
0057640 ( l e t * ( (
0057660 m i n b i t s ( 1 + ( i n t
0057700 e g e r - l e n g t h v a l u
0057720 e ) ) ) \r
0057740
*
0060000 ( n
0060020 b y t e s ( c e i l i n g (
0060040 i n t e g e r - l e n g t h v
0060060 a l u e ) \r
0060100
*
0060160 8 )
0060200 ) ) 006 003 006 001 \r
0060220
*
0060260 006 003 ( i l : *
0060300 i l : | ; ; | " A c c o r d
0060320 i n g t o t h e b o o k ,
0060340 M I N B I T S g i v e s t
0060360 h e m i n i m u m f i e l d
0060400 w i d t h f o r t h i s
0060420 n u m b e r i n 2 ' s c o
0060440 m p l e m e n t r e p r e s e
0060460 n t a t i o n . " ) 006 001 \r
0060500
*
0060560 ( d u m p - v a l u e
0060600 h a n d l e n b y t e s n
0060620 i l ) \r
0060640
*
0060700 ( w r i
0060720 t e - i n t e g e r - b y t e s
0060740 h a n d l e n b y t e s v
0060760 a l u e ) ) ) ) ) \r \r ( d e f u
0061000 n 006 002 d u m p - p a c k a g e
0061020 006 001 ( h a n d l e p a c k a
0061040 g e r e m e m b e r ) ( r e
0061060 m e m b e r p a c k a g e (
0061100 w r i t e - o p h a n d l e
0061120 ' f a s l - f i n d - p a c k a
0061140 g e ) \r
0061160
*
0061220 ( d u m p - v
0061240 a l u e h a n d l e ( p a c
0061260 k a g e - n a m e p a c k a g
0061300 e ) \r
0061320
*
0061360 r
0061400 e m e m b e r ) ) ) \r \r ( d e f
0061420 u n 006 002 d u m p - d c o d e 006
0061440 001 ( h a n d l e d c o d e
0061460 r e m e m b e r ) 006 003 006 001
0061500 006 003 ( i l : * i l
0061520 : | ; ; | \r 006 001
0061540
*
0061600 006 003 " D C O D E s
0061620 d o n ' t g e t r e m e m b
0061640 e r e d b e c a u s e t h e
0061660 y a r e n e v e r E Q . "
0061700 ) 006 001 \r ( l e t ( ( s t
0061720 r e a m ( h a n d l e - s t r
0061740 e a m h a n d l e ) ) ) \r
0061760 ( m a c r o l e t
0062000 ( ( d u m p - s e q ( s e q
0062020 d u m p - l e n g t h & r e s
0062040 t s t u f f ) \r
0062060
0062100 ` ( l e t ( ( s e q ,
0062120 s e q ) ) \r
0062140
0062160 , @ ( a n d d u m
0062200 p - l e n g t h ' ( ( d u m p
0062220 - v a l u e h a n d l e ( l
0062240 e n g t h s e q ) \r
0062260
*
0062340 r e m e m b e r )
0062360 ) ) \r
0062400
0062420 ( i f ( l i s t p s e
0062440 q ) \r
0062460
0062500 ( d o l i s t (
0062520 e l t s e q ) \r
0062540
*
0062600 , @ s t u f f ) \r
0062620
*
0062660 ( d o t i m e s ( i n d e x
0062700 ( l e n g t h s e q ) ) \r
0062720
*
0062760 ( l e t (
0063000 ( e l t ( a r e f s e q i
0063020 n d e x ) ) ) \r
0063040
*
0063100 , @ s t u f f )
0063120 ) ) ) ) ) \r
0063140 ( w r i t e - o p h
0063160 a n d l e ' f a s l - d c o d
0063200 e ) \r
0063220 ( d u m p - v a l u e h a
0063240 n d l e ( l e n g t h ( i l
0063260 : d c o d e - n a m e - t a b l
0063300 e d c o d e ) ) \r
0063320
0063340 r e m e m b e r ) \r
0063360 ( l e t * (
0063400 ( c o d e - a r r a y ( i l :
0063420 d c o d e - c o d e - a r r a y
0063440 d c o d e ) ) \r
0063460 (
0063500 n b y t e s ( l e n g t h c
0063520 o d e - a r r a y ) ) ) \r
0063540
0063560 ( d u m p - v a l u e h a
0063600 n d l e n b y t e s r e m e
0063620 m b e r ) \r
0063640 ( d o t i
0063660 m e s ( i n b y t e s ) \r
0063700
0063720 ( i l : b
0063740 o u t s t r e a m ( a r e f
0063760 c o d e - a r r a y i ) ) )
0064000 ) \r
0064020 ( d u m p - s e q ( i l : d
0064040 c o d e - n a m e - t a b l e
0064060 d c o d e ) \r
0064100 n i l
0064120 \r
0064140 ( i l : b o u t
0064160 s t r e a m ( f i r s t e l
0064200 t ) ) \r
0064220 ( d u m p -
0064240 v a l u e h a n d l e ( s e
0064260 c o n d e l t ) \r
0064300
0064320 r e m e m b e r )
0064340 \r
0064360 ( d u m p - v a l
0064400 u e h a n d l e ( t h i r d
0064420 e l t ) \r
0064440
0064460 r e m e m b e r ) ) \r
0064500 ( d u
0064520 m p - v a l u e h a n d l e
0064540 ( i l : d c o d e - f r a m e -
0064560 n a m e d c o d e ) \r
0064600
0064620 r e m e m b e r ) \r
0064640 ( i l : b
0064660 o u t s t r e a m ( i l : d
0064700 c o d e - n l o c a l s d c o
0064720 d e ) ) \r
0064740 ( i l : b o u t s t r
0064760 e a m ( i l : d c o d e - n f
0065000 r e e v a r s d c o d e ) ) \r
0065020 (
0065040 i l : b o u t s t r e a m (
0065060 i l : d c o d e - a r g - t y p
0065100 e d c o d e ) ) \r
0065120 ( d u m p - v
0065140 a l u e h a n d l e ( i l :
0065160 d c o d e - n u m - a r g s d
0065200 c o d e ) \r
0065220 r e m e
0065240 m b e r ) \r
0065260 ( d u m p - v a l u e
0065300 h a n d l e ( i l : d c o d
0065320 e - c l o s u r e - p d c o d
0065340 e ) \r
0065360 r e m e m b e
0065400 r ) \r
0065420 ( d u m p - v a l u e h a
0065440 n d l e ( i l : d c o d e - d
0065460 e b u g g i n g - i n f o d c
0065500 o d e ) \r
0065520 r e m e m
0065540 b e r ) \r
0065560 ( m a c r o l e t ( (
0065600 d u m p - f i x u p s ( l i s
0065620 t ) \r
0065640
0065660 ` ( d u m p - s e q ,
0065700 l i s t t ( d u m p - v a l
0065720 u e h a n d l e ( f i r s t
0065740 e l t ) ) \r
0065760
*
0066020 ( d u m p - v a l u e h a n d
0066040 l e ( s e c o n d e l t ) )
0066060 ) ) ) \r
0066100 ( d u m p -
0066120 f i x u p s ( i l : d c o d e
0066140 - f n - f i x u p s d c o d e
0066160 ) ) \r
0066200 ( d u m p - f
0066220 i x u p s ( i l : d c o d e -
0066240 s y m - f i x u p s d c o d e
0066260 ) ) \r
0066300 ( d u m p - f
0066320 i x u p s ( i l : d c o d e -
0066340 l i t - f i x u p s d c o d e
0066360 ) ) \r
0066400 ( d u m p - f
0066420 i x u p s ( i l : d c o d e -
0066440 t y p e - f i x u p s d c o d
0066460 e ) ) ) ) \r n i
0066500 l ) ) \r \r ( d e f u n 006 002 d u
0066520 m p - s t r i n g 006 001 ( h a n
0066540 d l e s t r i n g r e m e m
0066560 b e r ) \r ( r e m e m b e
0066600 r s t r i n g ( l e t ( (
0066620 s t r e a m ( h a n d l e - s
0066640 t r e a m h a n d l e ) ) \r
0066660
0066700 ( n c h a r s
0066720 ( l e n g t h s t r i n g )
0066740 ) ) \r
0066760 ( c o n
0067000 d \r
0067020 ( (
0067040 f a t - s t r i n g - p s t r
0067060 i n g ) \r
0067100
0067120 ( w r i t e - o p h a n d
0067140 l e ' f a s l - f a t - s t r
0067160 i n g ) \r
0067200
0067220 ( d u m p - v a l u e h a
0067240 n d l e n c h a r s r e m e
0067260 m b e r ) \r
0067300
0067320 ( d o ( ( i 0 ( 1 +
0067340 i ) ) \r
0067360
0067400 ( c s e t 0 ) )
0067420 \r
0067440
0067460 ( ( > = i n c h a r s )
0067500 ) 006 003 006 001
0067520 006 003 ( i l : * i l : \ ;
0067540 " A l w a y s r u n - e n c o
0067560 d e " ) 006 001 \r
0067600
0067620 ( l e t * ( (
0067640 c h a r ( c h a r - c o d e
0067660 ( c h a r s t r i n g i ) )
0067700 ) \r
0067720
0067740 ( n e w - c
0067760 s e t ( i l : l r s h c h a
0070000 r 8 ) ) ) \r
0070020
0070040 ( u
0070060 n l e s s ( e q l n e w - c
0070100 s e t c s e t ) \r
0070120
*
0070160 ( s e t q c s
0070200 e t n e w - c s e t ) \r
0070220
*
0070260 ( i l : b
0070300 o u t s t r e a m 2 5 5 ) \r
0070320
*
0070360 ( i
0070400 l : b o u t s t r e a m c s
0070420 e t ) ) \r
0070440
0070460 ( i l :
0070500 b o u t s t r e a m ( l o g
0070520 a n d c h a r 2 5 5 ) ) ) )
0070540 ) \r
0070560 ( t
0070600 ( w r i t e - o p h a n d l
0070620 e ' f a s l - t h i n - s t r
0070640 i n g ) \r
0070660
0070700 ( d u m p - v a l u e
0070720 h a n d l e n c h a r s r e
0070740 m e m b e r ) 006 003 006 001 \r
0070760
*
0071040 006 003 ( i l : *
0071060 i l : | ; ; | " s h o u l d
0071100 u s e \ \ b o u t s " ) 006 001
0071120 \r
0071140
0071160 ( d o t i m e s ( i n c h a
0071200 r s ) \r
0071220
0071240 ( i l : b o
0071260 u t s t r e a m ( c h a r -
0071300 c o d e ( c h a r s t r i n
0071320 g i ) ) ) ) ) ) ) ) ) \r \r ( d
0071340 e f u n 006 002 d u m p - f l o a
0071360 t 3 2 006 001 ( h a n d l e n u
0071400 m b e r r e m e m b e r ) 006
0071420 003 006 001
0071440 006 003 ( i l : * i l : \ ; " F
0071460 l o a t s d o n ' t g e t
0071500 r e m e m b e r e d " ) 006 001 \r
0071520 ( w r i t e - o p h a n d
0071540 l e ' f a s l - f l o a t 3 2
0071560 ) \r ( i l : \ \ b o u t s
0071600 ( h a n d l e - s t r e a m
0071620 h a n d l e ) \r
0071640 n u m b e r 0 4 ) ) \r \r
0071660 ( d e f u n 006 002 o p e n - f a
0071700 s l - h a n d l e 006 001 ( n a m
0071720 e & r e s t o p e n - o p t
0071740 i o n s ) ( l e t ( ( s t r
0071760 e a m ( a p p l y # ' o p e
0072000 n n a m e : d i r e c t i o
0072020 n : o u t p u t \r
0072040
*
0072140 o p e n - o p t i o n s ) )
0072160 ) \r
0072200
*
0072240 ( i l : s e t
0072260 f i l e p t r s t r e a m 0
0072300 ) \r
0072320
*
0072360 ( i l : b o u
0072400 t s t r e a m s i g n a t u
0072420 r e ) \r
0072440
*
0072500 ( i l : b
0072520 o u t 1 6 s t r e a m c u r
0072540 r e n t - v e r s i o n ) \r
0072560
*
0072640 ( m a k e - h a n d l
0072660 e : s t r e a m s t r e a m
0072700 ) ) ) \r \r ( d e f m a c r o 006
0072720 002 w i t h - o p e n - h a n d l
0072740 e 006 001 ( ( h a n d l e f i l
0072760 e n a m e & r e s t o p e n
0073000 - o p t i o n s ) \r
0073020
0073040 & b o d y \r
0073060
0073100 ( b o d y d e
0073120 c l s ) ) ( l e t ( ( a b o
0073140 r t ( i l : g e n s y m " F
0073160 A S L : W I T H - O P E N - F A
0073200 S L - H A N D L E " ) ) ) \r
0073220
*
0073260 ` ( l
0073300 e t ( ( , h a n d l e ( o p
0073320 e n - f a s l - h a n d l e ,
0073340 f i l e n a m e \r
0073360
*
0073440 ,
0073460 @ o p e n - o p t i o n s ) ) \r
0073500
*
0073560 ( , a b o r t t )
0073600 ) \r
0073620
*
0073660 , @ d e c l s \r
0073700
*
0073760 ( u n w i n d - p r o t
0074000 e c t ( m u l t i p l e - v a
0074020 l u e - p r o g 1 \r
0074040
*
0074140 ( p r o g n , @ b o d y ) \r
0074160
*
0074260 ( s e t q , a b o r
0074300 t n i l ) ) \r
0074320
*
0074400 ( w h e n , h a n d l
0074420 e ( c l o s e - f a s l - h a
0074440 n d l e \r
0074460
*
0074560 , h a n d l e : a b o r t \r
0074600
*
0074700 , a b o r t
0074720 ) ) ) ) ) ) \r \r ( d e f u n 006
0074740 002 b e g i n - t e x t 006 001 ( h
0074760 a n d l e ) ( s t a t e - c a
0075000 s e ( ( : t e x t : b l o c
0075020 k - e n d ) ) \r
0075040
0075060 ( : b l o c
0075100 k ( e n d - b l o c k h a n
0075120 d l e ) ) ) \r
0075140
0075160 ( s e t f ( h a n d l e -
0075200 s t a t e h a n d l e ) \r
0075220
0075240 :
0075260 t e x t ) \r
0075300
0075320 ( h a n d l e - s t r e a m
0075340 h a n d l e ) ) \r \r ( d e f u n
0075360 006 002 b e g i n - b l o c k 006 001
0075400 ( h a n d l e ) ( s t a t e
0075420 - c a s e ( : b l o c k - e n
0075440 d ( b e g i n - t e x t h a
0075460 n d l e ) \r
0075500
*
0075540 ( e n d - t e x t h
0075560 a n d l e ) ) \r
0075600
0075620 ( : t e x
0075640 t ( e n d - t e x t h a n d
0075660 l e ) ) \r
0075700
0075720 ( : b l o c k )
0075740 ) ) \r \r ( d e f u n 006 002 v a l
0075760 u e - d u m p a b l e - p 006 001
0076000 ( o b j )
0076020
0076040 006 003 ( i l : * ( c o
0076060 n d ( ( t y p e p o b j \r 006
0076100 001
0076120
*
0076160 006 003
0076200 ( q u o t e ( o r s y m b o
0076220 l n u m b e r i l : c h a r
0076240 a c t e r \r 006 001
0076260
*
0076340 006 003 p a c k a g e
0076360 i l : d c o d e s i m p l e -
0076400 s t r i n g ) ) ) \r 006 001
0076420
*
0076500 006 003 ( v a l u
0076520 e s t t ) ) ( ( t y p e p
0076540 o b j \r 006 001
0076560
*
0076640 006 003 ( q u o t e i l :
0076660 e v a l - a t - l o a d ) ) \r 006
0076700 001
0076720
*
0076760 006 003
0077000 ( v a l u e - d u m p a b l e -
0077020 p ( \r 006 001
0077040
*
0077120 006 003 i l : e v a l - a t -
0077140 l o a d - f o r m o b j ) ) )
0077160 \r 006 001
0077200
*
0077260 006 003 ( ( t y p e p o b j ( q
0077300 u o t e ( o r c o n s \r 006
0077320 001
0077340
*
0077400 006 003
0077420 s i m p l e - a r r a y ) ) )
0077440 ( v a l u e s t n i l ) ) \r
0077460 006 001
0077500
*
0077540 006
0077560 003 ( ( t y p e p o b j ( q u
0077600 o t e a r r a y ) ) \r 006 001
0077620
*
0077700 006 003 ( i f
0077720 ( i l : a r r a y - d i s p l
0077740 a c e d - p o b j ) \r 006 001
0077760
*
0100040 006 003 ( v a
0100060 l u e s n i l t ) ( v a l
0100100 u e s t n i l ) ) ) \r 006 001
0100120
*
0100200 006 003 ( t
0100220 ( v a l u e s n i l t ) )
0100240 ) ) 006 001 \r ( i l : c o n d
0100260 i t i o n - c a s e ( p r o g
0100300 n ( d u m p - v a l u e d u
0100320 m m y - h a n d l e o b j n
0100340 i l ) \r
0100360
0100400 t ) \r ( o
0100420 b j e c t - n o t - d u m p a b
0100440 l e n i l n i l ) ) ) \r \r (
0100460 d e f u n 006 002 d u m p - v a l
0100500 u e 006 001 ( h a n d l e v a l
0100520 u e & o p t i o n a l ( r e
0100540 m e m b e r t ) \r
0100560
0100600 & a u x i n d e x ) (
0100620 s t a t e - c a s e ( : b l o
0100640 c k ( c o n d \r
0100660
*
0100740 ( ( e q v a l u e
0100760 n i l ) \r
0101000
*
0101060 ( w r i t e - o p h a n d
0101100 l e ' f a s l - n i l ) ) \r
0101120
*
0101200 ( ( e q
0101220 v a l u e t ) \r
0101240
*
0101320 ( w r i t e - o p
0101340 h a n d l e ' f a s l - t ) )
0101360 \r
0101400
*
0101440 ( ( p
0101460 r o g 1 ( s e t q i n d e x
0101500 ( l o o k u p - v a l u e h
0101520 a n d l e \r
0101540
*
0101640 v a
0101660 l u e ) ) \r
0101700
*
0101760 ( w h e n
0102000 * g a t h e r - d u m p e r - s
0102020 t a t s * \r
0102040
*
0102140 ( i n c f * t a b l e - a t t
0102160 e m p t s * ) ) ) \r
0102200
*
0102260 ( w h e n * g a
0102300 t h e r - d u m p e r - s t a t
0102320 s * ( i n c f \r
0102340
*
0102460 * t a b l e - h i t s * \r
0102500
*
0102620 )
0102640 ) \r
0102660
*
0102720 (
0102740 d u m p - v a l u e - f e t c h
0102760 h a n d l e i n d e x ) ) \r
0103000
*
0103060 ( t (
0103100 t y p e c a s e v a l u e \r
0103120
*
0103220 ( i n t e g e r ( d
0103240 u m p - i n t e g e r h a n d
0103260 l e \r
0103300
*
0103400 v a l u e
0103420 r e m e m b e r ) \r
0103440
*
0103540 ) \r
0103560
*
0103640 (
0103660 r a t i o n a l ( d u m p - r
0103700 a t i o n a l h a n d l e \r
0103720
*
0104040 v a l u e r e m
0104060 e m b e r \r
0104100
*
0104200 ) ) \r
0104220
*
0104320 ( s i n g l e - f l
0104340 o a t ( d u m p - f l o a t 3
0104360 2 \r
0104400
*
0104500 h a n d l e v a
0104520 l u e \r
0104540
*
0104640 r e m e m b
0104660 e r ) ) \r
0104700
*
0104760 ( c o m p
0105000 l e x ( d u m p - c o m p l e
0105020 x h a n d l e \r
0105040
*
0105160 v a l u e r e m e m b e r ) \r
0105200
*
0105300 ) \r
0105320
*
0105420 ( c h a r a c t e r
0105440 ( d u m p - c h a r a c t e r \r
0105460
*
0105600 h a n d l e v a l u e \r
0105620
*
0105740 r e m e m b e r ) ) \r
0105760
*
0106060 ( s y m b o l ( d u m p
0106100 - s y m b o l h a n d l e \r
0106120
*
0106240 v a l u e r e m e m
0106260 b e r ) ) \r
0106300
*
0106360 ( p a c
0106400 k a g e ( d u m p - p a c k a
0106420 g e h a n d l e \r
0106440
*
0106560 v a l u e r e m e m b e r )
0106600 \r
0106620
*
0106700 ) \r
0106720
*
0107020 ( c o n s ( d u m
0107040 p - l i s t h a n d l e v a
0107060 l u e \r
0107100
*
0107200 r e m e m b e r
0107220 ) ) \r
0107240
*
0107320 ( d c o d e
0107340 ( d u m p - d c o d e h a n d
0107360 l e v a l u e \r
0107400
*
0107500 r e
0107520 m e m b e r ) ) \r
0107540
*
0107620 (
0107640 s t r i n g ( d u m p - s t r
0107660 i n g h a n d l e \r
0107700
*
0110020 v a l u e r e m e m b e r )
0110040 ) \r
0110060
*
0110140 ( a r r a y (
0110160 d u m p - a r r a y h a n d l
0110200 e v a l u e \r
0110220
*
0110320 r e m
0110340 e m b e r ) ) \r
0110360
*
0110440 ( c
0110460 o m p i l e r : : e v a l - w h
0110500 e n - l o a d \r
0110520
*
0110600 (
0110620 d u m p - e v a l h a n d l e
0110640 ( \r
0110660
*
0110740 c o m p i
0110760 l e r : : e v a l - w h e n - l
0111000 o a d - f o r m \r
0111020
*
0111140 v a l u e ) ) ) \r
0111160
*
0111260 ( o t h e r w i s e ( e r
0111300 r o r ' \r
0111320
*
0111420 o b j e c t - n
0111440 o t - d u m p a b l e \r
0111460
*
0111600 : o b j e c t v a l
0111620 u e \r
0111640
*
0111740 ) ) ) ) )
0111760 ) ) ) \r \r ( d e f u n 006 002 d u
0112000 m p - f u n c t i o n - d e f 006
0112020 001 ( h a n d l e d c o d e
0112040 n a m e ) ( s t a t e - c a s
0112060 e ( : b l o c k ( w r i t e
0112100 - o p h a n d l e ' \r
0112120
*
0112220 f a s l - s e t f - s
0112240 y m b o l - f u n c t i o n ) \r
0112260
*
0112360 ( d u m p - v a l u e h a n d
0112400 l e n a m e ) \r
0112420
*
0112500 ( d u m p - v
0112520 a l u e h a n d l e d c o d
0112540 e ) ) ) ) \r \r ( d e f u n 006 002
0112560 d u m p - f u n c a l l 006 001 (
0112600 h a n d l e f u n c t i o n )
0112620 ( s t a t e - c a s e ( : b
0112640 l o c k ( w r i t e - o p h
0112660 a n d l e ' f a s l - f u n c
0112700 a l l ) \r
0112720
*
0112760 ( d
0113000 u m p - v a l u e h a n d l e
0113020 f u n c t i o n ) ) ) ) \r \r (
0113040 d e f u n 006 002 d u m p - e v a
0113060 l 006 001 ( h a n d l e f o r m
0113100 ) ( s t a t e - c a s e ( :
0113120 b l o c k ( w r i t e - o p
0113140 h a n d l e ' f a s l - e v a
0113160 l ) \r
0113200
*
0113240 ( d u m p - v a l u e
0113260 h a n d l e f o r m ) ) ) )
0113300 \r \r ( d e f u n 006 002 c l o s e
0113320 - f a s l - h a n d l e 006 001 (
0113340 h a n d l e & r e s t c l o
0113360 s e - o p t i o n s & k e y
0113400 a b o r t & a l l o w - o t h
0113420 e r - k e y s ) \r ( s t a
0113440 t e - c a s e ( : t e x t (
0113460 e n d - t e x t h a n d l e )
0113500 \r
0113520 ( e n d - b l o c
0113540 k h a n d l e ) ) \r
0113560 ( : b l o c k ( e n
0113600 d - b l o c k h a n d l e ) )
0113620 \r ( : b l o
0113640 c k - e n d ) ) \r ( s e t
0113660 f ( h a n d l e - s t a t e
0113700 h a n d l e ) \r
0113720 : c l o s e d ) \r ( a p
0113740 p l y # ' c l o s e ( h a n
0113760 d l e - s t r e a m h a n d l
0114000 e ) \r c l o
0114020 s e - o p t i o n s ) ) \r \r \r \r
0114040 \r 006 004 ( i l : * i l : | ; ; ;
0114060 | " R e a d e r . " ) 006 001 \r \r
0114100 ( i l : d e f - d e f i n e - t
0114120 y p e 006 002 f a s l - o p s 006 001
0114140 " F A S L f i l e o p c o
0114160 d e s " ) \r \r ( d e f s t r u
0114200 c t ( 006 002 o p t a b l e 006 001
0114220 ( : c o n s t r u c t o r n e
0114240 w - o p t a b l e ) ) v e c t
0114260 o r o p n a m e s n e x t )
0114300 \r \r \r \r \r 006 004 ( i l : * i l :
0114320 | ; ; | " T h i s s h o u l
0114340 d n ' t h a v e t o b e
0114360 i n h e r e , b u t d e f
0114400 s t r u c t i s n ' t c o m
0114420 p l e t e y e t . " ) 006 001 \r \r
0114440 ( i l : d e f o p t i m i z e r
0114460 006 002 o p t a b l e - v e c t o
0114500 r 006 001 ( i l : x ) ` ( i l :
0114520 f e t c h ( o p t a b l e v
0114540 e c t o r ) \r
0114560
*
0114620 i l : o f \r
0114640
*
0114700 , i l : x
0114720 ) ) \r \r ( d e f u n 006 002 m a k
0114740 e - o p t a b l e 006 001 n i l
0114760 ( l e t ( ( t a b l e ( n e
0115000 w - o p t a b l e ) ) \r
0115020
0115040 ( v e c t o
0115060 r ( m a k e - a r r a y 2 5
0115100 6 : i n i t i a l - e l e m e
0115120 n t ' u n i m p l e m e n t e
0115140 d - o p c o d e ) ) ) \r
0115160
0115200 ( s e t f (
0115220 o p t a b l e - v e c t o r t
0115240 a b l e ) \r
0115260
0115300 v e c t o r )
0115320 \r
0115340 ( s
0115360 e t f ( s v r e f v e c t o
0115400 r e n d - m a r k ) \r
0115420
0115440 '
0115460 f a s l - e n d - o f - b l o c
0115500 k ) \r
0115520
0115540 t a b l e ) ) \r \r ( d e f u n
0115560 006 002 f a s l - e n d - o f - b l
0115600 o c k 006 001 ( s t r e a m o p
0115620 ) ( i f ( z e r o p * b l
0115640 o c k - l e v e l * ) \r
0115660
*
0115720 ( t h r o w ' f a s
0115740 l - b l o c k - f i n i s h e d
0115760 ) \r
0116000
0116020 ( e r r o
0116040 r ' u n e x p e c t e d - e n
0116060 d - o f - b l o c k : s t r e
0116100 a m s t r e a m ) ) ) \r \r ( i
0116120 l : d e f d e f i n e r 006 002 d
0116140 e f o p 006 001 f a s l - o p s
0116160 ( i l : n a m e ( o p c o d e
0116200 & k e y ( i n d i r e c t
0116220 0 ) \r
0116240
*
0116300 ( t a b l e ' * d e f a u l
0116320 t - o p t a b l e * ) ) \r
0116340
*
0116400 & b o d y \r
0116420
0116440 ( b o
0116460 d y d e c l s d o c ) ) \r
0116500
0116520 ( i f ( z
0116540 e r o p i n d i r e c t ) \r
0116560
0116600 ` (
0116620 p r o g n ( d e f u n ( 006 002
0116640 i l : \ \ \ , 006 001 i l : n a m
0116660 e ) ( s t r e a m o p c o d
0116700 e ) , ( o r d o c \r
0116720
*
0117020 " F A S L o p c o
0117040 d e i m p l e m e n t a t i o
0117060 n " \r
0117100
*
0117200 ) , @ d e c l
0117220 s \r
0117240
*
0117340 , @ b o d y ) \r
0117360 \r
0117400
0117420 ( s e t f ( e
0117440 l t ( o p t a b l e - v e c t
0117460 o r , t a b l e ) \r
0117500
*
0117540 , o p
0117560 c o d e ) \r
0117600
*
0117640 ' , i l : n a m e ) \r
0117660
*
0117720 ( a d d - o p - t r a
0117740 n s l a t i o n ' , i l : n a
0117760 m e , o p c o d e , t a b l
0120000 e ) ) \r
0120020
0120040 ` ( p r o g n ( u n l e
0120060 s s ( o p t a b l e - n e x t
0120100 , t a b l e ) \r
0120120
*
0120160 ( s e t f ( o p
0120200 t a b l e - n e x t , t a b l
0120220 e ) \r
0120240
*
0120300 ( m a k e - o p t
0120320 a b l e ) ) \r
0120340
*
0120400 ( s e t e s c a p e
0120420 , t a b l e ) ) \r
0120440
*
0120500 ( d e f o p ( 006 002 i l : \ \ \
0120520 , 006 001 i l : n a m e ) ( , o
0120540 p c o d e : i n d i r e c t \r
0120560
*
0120660 , ( 1 - i n d i
0120700 r e c t ) : t a b l e \r
0120720
*
0121020 ( o p t a b l e - n e x
0121040 t , t a b l e ) ) \r
0121060
*
0121120 , ( o r d o c " F
0121140 A S L o p c o d e i m p l e
0121160 m e n t a t i o n " ) , @ d e
0121200 c l s , @ b o d y ) \r ) ) ) \r
0121220 \r ( i l : d e f d e f i n e r
0121240 006 002 d e f r a n g e 006 001 \r
0121260 f a s l - o p s ( i l : n a m
0121300 e ( f i r s t - o p c o d e
0121320 & k e y ( i n d i r e c t 0
0121340 ) \r
0121360 ( t
0121400 a b l e ' * d e f a u l t - o
0121420 p t a b l e * ) ) \r
0121440 r a n
0121460 g e o f f s e t & b o d y
0121500 ( b o d y d e c l s d o c )
0121520 ) \r ( i f (
0121540 z e r o p i n d i r e c t ) \r
0121560 ` ( p
0121600 r o g n ( d e f u n ( 006 002 i
0121620 l : \ \ \ , 006 001 i l : n a m e
0121640 ) ( s t r e a m o p c o d e
0121660 ) , ( o r d o c " F A S L
0121700 o p c o d e i m p l e m e n
0121720 t a t i o n " ) \r
0121740
*
0122020 , @ d e c l s \r
0122040
*
0122120 , @ b
0122140 o d y ) \r \r
0122160 ( l e t
0122200 ( ( p a c k a g e ( s y m b o
0122220 l - p a c k a g e ' , i l : n
0122240 a m e ) ) \r
0122260
0122300 ( p n a m e ( s y m b o l -
0122320 n a m e ' , i l : n a m e ) )
0122340 ) \r
0122360 ( d o t
0122400 i m e s ( i , r a n g e ) \r
0122420
*
0122460 ( l e t ( ( o p c o d e (
0122500 + i , f i r s t - o p c o d
0122520 e ) ) ) \r
0122540
0122560 ( s e t f
0122600 ( e l t ( o p t a b l e - v
0122620 e c t o r , t a b l e ) \r
0122640
*
0122700 o
0122720 p c o d e ) \r
0122740
*
0123000 ' , i l : n a m e ) \r
0123020
*
0123060 ( a d d - o p - t r a n
0123100 s l a t i o n ( i n t e r n
0123120 ( c o n c a t e n a t e \r
0123140
*
0123240 ' s t r i n g p n a m e \r
0123260
*
0123360 ( w r i t e - t o - s t r i n
0123400 g \r
0123420
*
0123500 ( + i , o f f s
0123520 e t ) ) ) \r
0123540
*
0123620 p a c k a g e ) \r
0123640
*
0123700 o p c
0123720 o d e \r
0123740
*
0124000 , t a b l e ) ) ) ) ) \r
0124020 ` ( p r o g
0124040 n ( u n l e s s ( o p t a b
0124060 l e - n e x t , t a b l e ) \r
0124100
0124120 ( s e t
0124140 f ( o p t a b l e - n e x t
0124160 , t a b l e ) \r
0124200
0124220 ( m a k e -
0124240 o p t a b l e ) ) \r
0124260
0124300 ( s e t e s c a p e
0124320 , t a b l e ) ) \r
0124340 (
0124360 d e f r a n g e ( 006 002 i l : \
0124400 \ \ , 006 001 i l : n a m e ) (
0124420 , f i r s t - o p c o d e : i
0124440 n d i r e c t , ( 1 - i n d
0124460 i r e c t ) : t a b l e \r
0124500
*
0124560 ( o p t a b l e - n
0124600 e x t , t a b l e ) ) , ( o
0124620 r d o c \r
0124640
*
0124740 " F A S L o p c o d e i m p
0124760 l e m e n t a t i o n " \r
0125000
*
0125120 ) , @ d e c l s \r
0125140
*
0125260 , @ b o d y ) \r ) ) ) \r \r ( d e
0125300 f u n 006 002 a d d - o p - t r a
0125320 n s l a t i o n 006 001 ( n a m e
0125340 o p c o d e t a b l e ) (
0125360 l e t ( ( p a i r ( a s s o
0125400 c n a m e ( o p t a b l e -
0125420 o p n a m e s t a b l e ) ) )
0125440 ) \r
0125460
*
0125520 ( i f p a i r ( s
0125540 e t f ( c d r p a i r ) \r
0125560
*
0125660 o p c o d e ) \r
0125700
*
0125760 ( p u s h ( c o n s n a m e
0126000 o p c o d e ) \r
0126020
*
0126100 ( o p t a b l e - o
0126120 p n a m e s t a b l e ) ) ) )
0126140 ) \r \r ( d e f u n 006 002 o p c o
0126160 d e - s e q u e n c e 006 001 ( o
0126200 p n a m e & o p t i o n a l
0126220 ( t a b l e * d e f a u l t -
0126240 o p t a b l e * ) \r
0126260
0126300 & a u x e n t
0126320 r y ) ( c o n d \r
0126340
*
0126400 ( ( n u l l t a
0126420 b l e ) \r
0126440
*
0126500 n i l ) \r
0126520
*
0126560 ( ( s e t q e n t r
0126600 y ( a s s o c o p n a m e
0126620 ( o p t a b l e - o p n a m e s
0126640 t a b l e ) ) ) \r
0126660
*
0126720 ( l i s t ( c
0126740 d r e n t r y ) ) ) \r
0126760
*
0127020 ( ( s e t q
0127040 e n t r y ( o p c o d e - s e
0127060 q u e n c e o p n a m e ( o
0127100 p t a b l e - n e x t \r
0127120
*
0127220 t
0127240 a b l e ) ) ) \r
0127260
*
0127320 ( c o n s f a s l
0127340 - e x t e n d e d e n t r y )
0127360 ) \r
0127400
0127420 (
0127440 t n i l ) ) ) \r \r ( d e f u n
0127460 006 002 f a s l - e x t e n d e d
0127500 006 001 ( s t r e a m o p ) (
0127520 w i t h - o p t a b l e ( o p
0127540 t a b l e - n e x t * c u r r
0127560 e n t - o p t a b l e * ) \r
0127600
*
0127640 ( d o - o p s t r
0127660 e a m ) ) ) \r \r ( d e f u n 006
0127700 002 s e t e s c a p e 006 001 ( t a
0127720 b l e ) ( s e t f ( s v r e
0127740 f ( o p t a b l e - v e c t o
0127760 r t a b l e ) \r
0130000
0130020 f
0130040 a s l - e x t e n d e d ) \r
0130060
0130100 # ' f
0130120 a s l - e x t e n d e d ) ) \r \r
0130140 ( d e f u n 006 002 u n i m p l e
0130160 m e n t e d - o p c o d e 006 001
0130200 ( s t r e a m o p c o d e )
0130220 ( e r r o r ' u n i m p l e m
0130240 e n t e d - o p c o d e : o p
0130260 n a m e o p c o d e ) ) \r \r (
0130300 d e f v a r 006 002 * d e f a u l
0130320 t - o p t a b l e * 006 001 ( m a
0130340 k e - o p t a b l e ) ) \r \r (
0130360 d e f v a r 006 002 * c u r r e n
0130400 t - o p t a b l e * 006 001 n i l
0130420 ) \r \r ( d e f p a r a m e t e r
0130440 006 002 i n i t i a l - v a l u e
0130460 - t a b l e - s i z e 006 001 2 0
0130500 4 8 ) \r \r ( d e f c o n s t a n
0130520 t 006 002 v a l u e - t a b l e -
0130540 i n c r e m e n t 006 001 1 0 2 4
0130560 ) \r \r ( d e f v a r 006 002 * v a
0130600 l u e - t a b l e * 006 001 n i l
0130620 ) \r \r ( d e f v a r 006 002 * b l
0130640 o c k - l e v e l * 006 001 0 ) \r
0130660 \r ( d e f v a r 006 002 d e b u g
0130700 - r e a d e r 006 001 n i l ) \r \r
0130720 ( d e f v a r 006 002 d e b u g -
0130740 s t r e a m 006 001 n i l ) \r \r (
0130760 d e f m a c r o 006 002 w i t h -
0131000 o p t a b l e 006 001 ( t a b l e
0131020 & b o d y b o d y ) ` ( l
0131040 e t ( ( * c u r r e n t - o p
0131060 t a b l e * , t a b l e ) ) \r
0131100
*
0131160 , @ b o d y ) ) \r \r ( d e f u n
0131200 006 002 p r o c e s s - f i l e 006
0131220 001 ( s t r e a m & k e y (
0131240 t e x t - f n # ' ( l a m b d
0131260 a ( t e x t ) \r
0131300
*
0131340 ( p r i
0131360 n c t e x t ) \r
0131400
*
0131440 ( t e r
0131460 p r i ) ) ) \r
0131500
0131520 ( i t e m - f n n i l ) )
0131540 " C a l l s F A S L : P R O
0131560 C E S S - S E G M E N T w i t
0131600 h t h e a p p r o r i a t e
0131620 a r g u m e n t s f o r e
0131640 a c h s e g m e n t i n t
0131660 h e f i l e . T h e s t r
0131700 e a m s h o u l d b e p o
0131720 s i t i o n e d a t t h e
0131740 b e g i n n i n g . " \r (
0131760 u n l e s s ( e q l ( i l :
0132000 b i n s t r e a m ) \r
0132020 s i g n
0132040 a t u r e ) \r
0132060 ( e r r o r " N o t a F
0132100 A S L f i l e . " ) ) \r
0132120 ( c h e c k - v e r s i o n s
0132140 t r e a m ) \r ( d o n i
0132160 l ( ( i l : e o f p s t r e
0132200 a m ) \r
0132220 ( v a l u e s ) ) \r
0132240 ( p r o c e s s - s e g m e n
0132260 t s t r e a m t e x t - f n
0132300 i t e m - f n ) ) ) \r \r ( d e
0132320 f u n 006 002 c h e c k - v e r s
0132340 i o n 006 001 ( s t r e a m ) (
0132360 l e t ( ( v e r s i o n ( i
0132400 l : b i n 1 6 s t r e a m ) )
0132420 ) \r
0132440
0132460 ( o r ( a n d ( <
0132500 = ( c a r v e r s i o n - r
0132520 a n g e ) \r
0132540
*
0132600 v e r s i o n ) \r
0132620
*
0132660 ( < = v e r s
0132700 i o n ( c d r v e r s i o n
0132720 - r a n g e ) ) ) \r
0132740
*
0133000 ( e r r o r " V e r s i o n
0133020 n o t s u p p o r t e d :
0133040 ~ D . " v e r s i o n ) ) ) )
0133060 \r \r ( d e f u n 006 002 p r o c e
0133100 s s - s e g m e n t 006 001 ( s t
0133120 r e a m & o p t i o n a l t
0133140 e x t - f n i t e m - f n (
0133160 o p t a b l e * d e f a u l t
0133200 - o p t a b l e * ) ) \r (
0133220 i f t e x t - f n ( f u n c
0133240 a l l t e x t - f n ( r e a
0133260 d - t e x t s t r e a m ) ) \r
0133300 ( s k i p - t e x
0133320 t s t r e a m ) ) \r ( p
0133340 r o c e s s - b l o c k s t r
0133360 e a m i t e m - f n o p t a
0133400 b l e ) ) \r \r ( d e f u n 006 002
0133420 r e a d - t e x t 006 001 ( s t r
0133440 e a m ) ( d o ( ( r e s u l
0133460 t ( m a k e - a r r a y 5 1
0133500 2 : e l e m e n t - t y p e
0133520 ' c h a r a c t e r : a d j u
0133540 s t a b l e t \r
0133560
*
0133620 : f i l l - p o
0133640 i n t e r 0 ) ) \r
0133660
0133700 ( b y t e (
0133720 i l : b i n s t r e a m ) \r
0133740
*
0134000 ( i l : b i n s t r e
0134020 a m ) ) ) \r
0134040
0134060 ( ( e q l b y t e e
0134100 n d - m a r k ) \r
0134120
0134140 ( c o e r c e
0134160 r e s u l t ' s t r i n g ) )
0134200 \r
0134220 (
0134240 v e c t o r - p u s h - e x t e
0134260 n d ( c o d e - c h a r b y
0134300 t e ) \r
0134320
0134340 r e s u l t )
0134360 ) ) \r \r ( d e f u n 006 002 p r o
0134400 c e s s - b l o c k 006 001 ( s t
0134420 r e a m & o p t i o n a l i
0134440 t e m - f n ( o p t a b l e
0134460 * d e f a u l t - o p t a b l e
0134500 * ) ) \r ( c a t c h ' f
0134520 a s l - b l o c k - f i n i s h
0134540 e d ( w i t h - o p t a b l e
0134560 o p t a b l e ( d o ( ( *
0134600 v a l u e - t a b l e * ( n e
0134620 w - v a l u e - t a b l e ) ) \r
0134640
*
0134720 v a l ) \r
0134740
*
0135020 n i l \r
0135040
*
0135120 ( s e t f v a l (
0135140 d o - o p s t r e a m 0 ) )
0135160 \r
0135200
*
0135240 ( w h e n
0135260 i t e m - f n ( f u n c a l l
0135300 i t e m - f n v a l ) ) ) )
0135320 ) ) \r \r ( d e f u n 006 002 s k i
0135340 p - t e x t 006 001 ( s t r e a m
0135360 ) ( d o ( ( b y t e ( i l
0135400 : b i n s t r e a m ) ) ) \r
0135420
0135440 ( ( e
0135460 q l b y t e e n d - m a r k
0135500 ) \r
0135520
0135540 ( v a l u e s ) ) ) ) \r \r ( d
0135560 e f m a c r o 006 002 n e x t - v
0135600 a l u e 006 001 n i l ' ( d o -
0135620 o p s t r e a m ) ) \r \r ( d e
0135640 f u n 006 002 d o - o p 006 001 ( s
0135660 t r e a m & o p t i o n a l
0135700 ( * b l o c k - l e v e l * (
0135720 1 + * b l o c k - l e v e l *
0135740 ) ) ) \r ( l e t ( ( o p
0135760 ( i l : b i n s t r e a m )
0136000 ) \r v a l ) \r
0136020 ( w h e n d e
0136040 b u g - r e a d e r ( f o r m
0136060 a t d e b u g - s t r e a m
0136100 " ~ V T ~ A ( ~ 3 O ) ~ % "
0136120 ( * * b l o c k - l e v e l *
0136140 4 ) \r
0136160
0136200 ( c a r ( r a s s
0136220 o c o p ( o p t a b l e - o
0136240 p n a m e s * c u r r e n t -
0136260 o p t a b l e * ) ) ) \r
0136300
0136320 o p
0136340 ) ) \r ( s e t q
0136360 v a l ( f u n c a l l ( s
0136400 v r e f ( o p t a b l e - v e
0136420 c t o r * c u r r e n t - o p
0136440 t a b l e * ) \r
0136460
0136500 o p ) \r
0136520
0136540 s t r e a m o p
0136560 ) ) \r ( w h e n
0136600 d e b u g - r e a d e r ( f
0136620 o r m a t d e b u g - s t r e
0136640 a m " ~ V T V a l u e : ~ S
0136660 ~ % " ( * * b l o c k - l e
0136700 v e l * 4 ) \r
0136720
0136740 v a l ) ) \r
0136760 ( r e t u r n -
0137000 f r o m d o - o p v a l ) )
0137020 ) \r \r ( d e f u n 006 002 n e w -
0137040 v a l u e - t a b l e 006 001 n i
0137060 l ( m a k e - a r r a y i n
0137100 i t i a l - v a l u e - t a b l
0137120 e - s i z e : f i l l - p o i
0137140 n t e r 0 : e x t e n d a b
0137160 l e t ) ) \r \r ( d e f u n 006
0137200 002 c l e a r - t a b l e 006 001 (
0137220 & o p t i o n a l ( t a b l e
0137240 * v a l u e - t a b l e * ) )
0137260 ( s e t f ( f i l l - p o i
0137300 n t e r t a b l e ) \r
0137320
*
0137400 0 ) ) \r \r ( d e f
0137420 u n 006 002 s t o r e - v a l u e
0137440 006 001 ( o b j & o p t i o n a
0137460 l ( t a b l e * v a l u e -
0137500 t a b l e * ) ) 006 003 006 001 \r
0137520
*
0137600 006 003 ( i l : * i l : | ; ; |
0137620 \r 006 001 006 003 " T h i s m a y
0137640 w a n t t o c h a n g e t
0137660 o a n o t h e r r e p r e s
0137700 e n t a t i o n i f w e c
0137720 a n ' t m a k e V E C T O R
0137740 - P U S H - E X T E N D f a s
0137760 t e n o u g h . " ) 006 001 \r
0140000 ( v e c t o r - p u s h - e x
0140020 t e n d o b j t a b l e v
0140040 a l u e - t a b l e - i n c r e
0140060 m e n t ) \r o b j ) \r \r (
0140100 d e f u n 006 002 f e t c h - v a
0140120 l u e 006 001 ( i n d e x & o p
0140140 t i o n a l ( t a b l e * v
0140160 a l u e - t a b l e * ) ) ( a
0140200 r e f t a b l e i n d e x )
0140220 ) \r \r ( d e f u n 006 002 c o l l
0140240 e c t - l i s t 006 001 ( s t r e
0140260 a m n e l t s d o t t e d )
0140300 ( i f ( a n d d o t t e d
0140320 ( e q l n e l t s 2 ) ) \r
0140340
*
0140400 ( r
0140420 e t u r n - f r o m c o l l e
0140440 c t - l i s t ( c o n s ( d
0140460 o - o p s t r e a m ) \r
0140500
*
0140600 ( d o - o
0140620 p s t r e a m ) ) ) ) \r
0140640
*
0140700 ( w h e n d o t
0140720 t e d ( d e c f n e l t s )
0140740 ) \r
0140760
0141000 ( l e t
0141020 ( ( r e s u l t ( i l : | t
0141040 o | n e l t s i l : | c o l
0141060 l e c t | ( d o - o p s t r
0141100 e a m ) ) ) ) 006 003 006 001 \r
0141120
*
0141160 006 003
0141200 ( i l : * i l : | ; ; | \r 006
0141220 001
0141240
*
0141300 006 003 " A s s u m e d o t t e
0141320 d a n d o t h e r t h a n
0141340 a s i m p l e c o n s i
0141360 s r a r e . " ) 006 001 \r
0141400
*
0141440 ( w h e n
0141460 d o t t e d ( s e t f ( c
0141500 d r ( l a s t r e s u l t )
0141520