$ od -c -N 50000 [eris]<LispCore>Morgue>Lyric>FASL!4
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 0 - D e c - 8 6
0000120 1 2 : 3 6 : 4 6 " 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 . \ ; 2
0000200 1 006 001 6 1 2 9 6 \r \r
0000220 i l : | c h a n g e s |
0000240 i l : | t o : | ( f a s l -
0000260 o p s f a s l - b i t m a p 1
0000300 6 f a s l - f u n c a l l f
0000320 a s l - s t r u c t u r e ) \r
0000340
0000360 ( i l :
0000400 f u n c t i o n s d u m p - b
0000420 i t m a p d u m p - s t r u c
0000440 t u r e d u m p - v a l u e )
0000460 \r
0000500 ( i
0000520 l : v a r s i l : f a s l c o
0000540 m s ) \r
0000560
0000600 ( i l : v a r i a b l e s v
0000620 e r s i o n - r a n g e c u r
0000640 r e n t - v e r s i o n ) \r \r
0000660 i l : | p r e v i o u
0000700 s | i l : | d a t e : | " 2
0000720 1 - N o v - 8 6 1 6 : 1 9 : 4
0000740 3 " i l : { e r i s } < l i s
0000760 p c o r e > s o u r c e s > f a
0001000 s l . \ ; 1 9 ) \r \r \r ; C o p
0001020 y r i g h t ( c ) 1 9 8 6
0001040 b y X e r o x C o r p o r a
0001060 t i o n . A l l r i g h t
0001100 s r e s e r v e d . \r \r ( i l
0001120 : p r e t t y c o m p r i n t
0001140 i l : f a s l c o m s ) \r \r ( i
0001160 l : r p a q q 006 002 i l : f a s
0001200 l c o m s 006 001 \r
0001220 ( ( i l : c o m s ( i l
0001240 : * i l : | ; ; ; | " C o m
0001260 m o n d e f i n i t i o n s .
0001300 " ) \r
0001320 ( i l : d e c l a r e
0001340 \ : i l : e v a l @ c o m p i
0001360 l e i l : e v a l @ l o a d
0001400 i l : d o n t c o p y ( i l :
0001420 f i l e s ( i l : l o a d c o
0001440 m p ) \r
0001460
*
0001560 i l : l l c h a r i l
0001600 : a d i s p l a y \r
0001620
*
0001720 i l : m o
0001740 d a r i t h ) ) \r
0001760 ( i l : s
0002000 t r u c t u r e s f a s l - e
0002020 r r o r u n i m p l e m e n t
0002040 e d - o p c o d e o b j e c t
0002060 - n o t - d u m p a b l e \r
0002100
0002120 u n e x p e c t
0002140 e d - e n d - o f - b l o c k
0002160 i n c o n s i s t e n t - t a b
0002200 l e ) \r
0002220 ( i l : v a r i a b
0002240 l e s s i g n a t u r e ) \r
0002260
0002300 ( i l : v a r i a b l e s c
0002320 h e c k - t a b l e - s i z e
0002340 f a s l - e x t e n d e d e n
0002360 d - m a r k v e r s i o n - r
0002400 a n g e c u r r e n t - v e r
0002420 s i o n \r
0002440 ) \r
0002460
0002500 ( i l : f u n c t i o n s
0002520 t a b l e - s t a t s ) ) \r
0002540 ( i l : c o m
0002560 s ( i l : * i l : | ; ; ; |
0002600 " D u m p e r . " ) \r
0002620 ( i
0002640 l : s t r u c t u r e s h a n
0002660 d l e ) \r
0002700 ( i l : v a r i a
0002720 b l e s d u m m y - h a n d l
0002740 e ) \r
0002760 ( i l : v a r i a b l
0003000 e s + s m a l l e s t - f o u
0003020 r - b y t e - i n t e g e r +
0003040 + l a r g e s t - f o u r - b y
0003060 t e - i n t e g e r + ) \r
0003100 (
0003120 i l : v a r i a b l e s * g a
0003140 t h e r - d u m p e r - s t a t
0003160 s * * t a b l e - a t t e m p
0003200 t s * * t a b l e - h i t s *
0003220 ) \r
0003240 ( i l : f u n c t i o n
0003260 s r e s e t - d u m p e r - s
0003300 t a t s ) \r
0003320 ( i l : f u n c
0003340 t i o n s d o t t e d - l i s
0003360 t - l e n g t h s t a t e - c
0003400 a s e f a t - s t r i n g - p
0003420 r e m e m b e r \r
0003440
0003460 e l e m e n t s - i d e
0003500 n t i c a l - p e n d - b l o
0003520 c k e n d - t e x t w r i t
0003540 e - o p l o o k u p - v a l u
0003560 e s a v e - v a l u e ) \r
0003600
0003620 ( i l : f u n c t i o n s d u
0003640 m p - v a l u e - f e t c h d
0003660 u m p - c h a r a c t e r d u
0003700 m p - s y m b o l d u m p - l
0003720 i s t \r
0003740 d u
0003760 m p - s i m p l e - v e c t o r
0004000 d u m p - a r r a y - d e s c
0004020 r i p t o r d u m p - b i t -
0004040 a r r a y d u m p - g e n e r
0004060 a l - a r r a y \r
0004100
0004120 d u m p - a r r a y w r
0004140 i t e - i n t e g e r - b y t e
0004160 s i n t e g e r - b y t e - l
0004200 i s t d u m p - r a t i o n a
0004220 l d u m p - c o m p l e x \r
0004240
0004260 d u m p - i n
0004300 t e g e r d u m p - p a c k a
0004320 g e d u m p - d c o d e d u
0004340 m p - s t r i n g d u m p - f
0004360 l o a t 3 2 d u m p - s t r u
0004400 c t u r e \r
0004420
0004440 d u m p - b i t m a p ) \r
0004460 (
0004500 i l : f u n c t i o n s o p e
0004520 n - f a s l - h a n d l e w i
0004540 t h - o p e n - h a n d l e b
0004560 e g i n - t e x t b e g i n -
0004600 b l o c k \r
0004620
0004640 v a l u e - d u m p a b l e - p
0004660 d u m p - v a l u e d u m p
0004700 - f u n c t i o n - d e f d u
0004720 m p - f u n c a l l d u m p -
0004740 e v a l \r
0004760 c
0005000 l o s e - f a s l - h a n d l e
0005020 ) ) \r ( i
0005040 l : c o m s ( i l : * i l :
0005060 | ; ; ; | " R e a d e r . " )
0005100 \r
0005120 ( i l : d e f i n e - t y
0005140 p e s f a s l - o p s ) \r
0005160
0005200 ( i l : s t r u c t u r e s o
0005220 p t a b l e ) \r
0005240 ( i l : f u
0005260 n c t i o n s m a k e - o p t
0005300 a b l e f a s l - e n d - o f
0005320 - b l o c k d e f o p d e f
0005340 r a n g e a d d - o p - t r a
0005360 n s l a t i o n \r
0005400
0005420 o p c o d e - s e q u e n
0005440 c e f a s l - e x t e n d e d
0005460 s e t e s c a p e u n i m p
0005500 l e m e n t e d - o p c o d e )
0005520 \r
0005540 ( i l : v a r i a b l e s
0005560 * d e f a u l t - o p t a b l
0005600 e * * c u r r e n t - o p t a
0005620 b l e * i n i t i a l - v a l
0005640 u e - t a b l e - s i z e \r
0005660
0005700 v a l u e - t a
0005720 b l e - i n c r e m e n t * v
0005740 a l u e - t a b l e * * b l o
0005760 c k - l e v e l * d e b u g -
0006000 r e a d e r d e b u g - s t r
0006020 e a m ) \r
0006040 ( i l : f u n c t
0006060 i o n s w i t h - o p t a b l
0006100 e p r o c e s s - f i l e c
0006120 h e c k - v e r s i o n p r o
0006140 c e s s - s e g m e n t r e a
0006160 d - t e x t \r
0006200
0006220 p r o c e s s - b l o c k s
0006240 k i p - t e x t n e x t - v a
0006260 l u e d o - o p n e w - v a
0006300 l u e - t a b l e c l e a r -
0006320 t a b l e \r
0006340
0006360 s t o r e - v a l u e f e t c
0006400 h - v a l u e c o l l e c t -
0006420 l i s t ) \r
0006440 ( f a s l - o p
0006460 s f a s l - s h o r t - i n t
0006500 e g e r f a s l - n i l f a
0006520 s l - t f a s l - i n t e g e
0006540 r f a s l - l a r g e - i n t
0006560 e g e r \r
0006600 f
0006620 a s l - r a t i o f a s l - c
0006640 o m p l e x f a s l - v e c t
0006660 o r f a s l - c r e a t e - a
0006700 r r a y f a s l - i n i t i a
0006720 l i z e - a r r a y \r
0006740
0006760 f a s l - i n i t i a
0007000 l i z e - b i t - a r r a y f
0007020 a s l - t h i n - s t r i n g
0007040 f a s l - f a t - s t r i n g
0007060 f a s l - c h a r a c t e r \r
0007100
0007120 f a s l - l i
0007140 s p - s y m b o l f a s l - k
0007160 e y w o r d - s y m b o l f a
0007200 s l - f i n d - p a c k a g e
0007220 \r
0007240 f a s l - s
0007260 y m b o l - i n - p a c k a g e
0007300 f a s l - l i s t f a s l -
0007320 l i s t * f a s l - i n t e r
0007340 l i s p - s y m b o l f a s l
0007360 - d c o d e \r
0007400
0007420 f a s l - t a b l e - s t o r
0007440 e f a s l - t a b l e - f e t
0007460 c h f a s l - v e r i f y - t
0007500 a b l e - s i z e f a s l - e
0007520 v a l \r
0007540 f a
0007560 s l - f l o a t 3 2 f a s l -
0007600 s e t f - s y m b o l - f u n c
0007620 t i o n f a s l - f u n c a l
0007640 l f a s l - b i t m a p 1 6
0007660 \r
0007700 f a s l - s
0007720 t r u c t u r e ) ) \r
0007740 ( i l : * i l : |
0007760 ; ; | " A r r a n g e f o r
0010000 t h e c o r r e c t c o m
0010020 p i l e r t o b e u s e d
0010040 " ) \r ( i
0010060 l : p r o p i l : f i l e t y
0010100 p e i l : f a s l ) \r
0010120 ( i l : * i l :
0010140 | ; ; | " A r r a n g e f o
0010160 r t h e p r o p e r m a k
0010200 e f i l e e n v i r o n m e n
0010220 t " ) \r (
0010240 i l : p r o p i l : m a k e f
0010260 i l e - e n v i r o n m e n t
0010300 i l : f a s l ) ) ) \r \r \r \r 006 004
0010320 ( i l : * i l : | ; ; ; | "
0010340 C o m m o n d e f i n i t i o
0010360 n s . " ) 006 001 \r \r ( i l : d e c
0010400 l a r e \ : i l : e v a l @ c
0010420 o m p i l e i l : e v a l @ l
0010440 o a d i l : d o n t c o p y
0010460 \r ( i l : f i l e s l o a d (
0010500 i l : l o a d c o m p ) \r
0010520 i l : l l c h a r i l
0010540 : a d i s p l a y i l : m o d
0010560 a r i t h ) \r ) \r \r ( x c l : d
0010600 e f i n e - c o n d i t i o n
0010620 006 002 f a s l - e r r o r 006 001 e
0010640 r r o r ) \r \r \r ( x c l : d e f
0010660 i n e - c o n d i t i o n 006 002
0010700 u n i m p l e m e n t e d - o p
0010720 c o d e 006 001 f a s l - e r r o
0010740 r : r e p o r t ( f o r m a
0010760 t t " U n i m p l e m e n t
0011000 e d F A S L o p : ~ S "
0011020 \r
0011040
*
0011120 o p n a m e ) \r
0011140
*
0011200 o
0011220 p n a m e ) \r \r \r ( x c l : d e
0011240 f i n e - c o n d i t i o n 006
0011260 002 o b j e c t - n o t - d u m p
0011300 a b l e 006 001 f a s l - e r r o
0011320 r : r e p o r t ( f o r m a
0011340 t t " O b j e c t n o t
0011360 d u m p a b l e : ~ & ~ S " \r
0011400
*
0011500 o b j e c t ) \r
0011520
*
0011560 o b j e
0011600 c t ) \r \r \r ( x c l : d e f i n
0011620 e - c o n d i t i o n 006 002 u n
0011640 e x p e c t e d - e n d - o f -
0011660 b l o c k 006 001 f a s l - e r r
0011700 o r : r e p o r t ( f o r m
0011720 a t t \r
0011740
*
0012020 " U n e x p e c t e
0012040 d F A S L - E N D - O F - B L
0012060 O C K a t ~ D . " \r
0012100
*
0012200 ( i l : g e t f i l e p
0012220 t r s t r e a m ) ) \r
0012240
*
0012320 s t r e a m ) \r \r \r ( x c l : d
0012340 e f i n e - c o n d i t i o n
0012360 006 002 i n c o n s i s t e n t - t
0012400 a b l e 006 001 f a s l - e r r o
0012420 r : r e p o r t ( f o r m a
0012440 t t \r
0012460
*
0012520 " I n c o n s i s t e n t F A
0012540 S L t a b l e s i z e . ~ &
0012560 E x p e c t e d ~ D b u t
0012600 f o u n d ~ D . " \r
0012620
*
0012700 e
0012720 x p e c t e d ( l e n g t h
0012740 ( o p t a b l e - v e c t o r \r
0012760
*
0013100 t a b l e ) ) ) \r
0013120
*
0013160 t a b
0013200 l e e x p e c t e d ) \r \r \r (
0013220 d e f c o n s t a n t 006 002 s i
0013240 g n a t u r e 006 001 1 4 5 " F
0013260 i r s t b y t e o f a F
0013300 A S L f i l e . " ) \r \r \r ( d
0013320 e f v a r 006 002 c h e c k - t a
0013340 b l e - s i z e 006 001 t ) \r \r \r
0013360 ( d e f c o n s t a n t 006 002 f
0013400 a s l - e x t e n d e d 006 001 2
0013420 5 4 ) \r \r \r ( d e f c o n s t a
0013440 n t 006 002 e n d - m a r k 006 001
0013460 2 5 5 ) \r \r \r ( d e f c o n s t
0013500 a n t 006 002 v e r s i o n - r a
0013520 n g e 006 001 ' ( 2 . 4 ) "
0013540 H a n d l e s ( c a r v e r
0013560 s i o n - r a n g e ) < = v
0013600 e r s i o n < = ( c d r v
0013620 e r s i o n - r a n g e ) " \r
0013640 ) \r \r \r ( d e f c o n s t a
0013660 n t 006 002 c u r r e n t - v e r
0013700 s i o n 006 001 4 ) \r \r \r ( d e f
0013720 u n 006 002 t a b l e - s t a t s
0013740 006 001 ( t a b l e ) ( l e t
0013760 ( ( i t e m s ( l i s t ( c
0014000 o n s ' - - t o t a l - - (
0014020 l e n g t h t a b l e ) ) ) )
0014040 ) \r
0014060
0014100 ( d o t i m e s ( i ( l
0014120 e n g t h t a b l e ) \r
0014140
*
0014200 i t e m s ) \r
0014220
*
0014260 ( l e t * ( ( t
0014300 y p e ( t y p e - o f ( a r
0014320 e f t a b l e i ) ) ) \r
0014340
*
0014400 ( p a i
0014420 r ( o r ( f i n d t y p e
0014440 i t e m s : t e s t ' e q
0014460 u a l : k e y \r
0014500
*
0014560 ' c a r ) \r
0014600
*
0014660 ( c a r ( p u s h
0014700 ( c o n s t y p e 0 ) \r
0014720
*
0015020 i t e m s ) ) ) ) ) \r
0015040
*
0015100 ( i n c f (
0015120 c d r p a i r ) ) ) ) ) ) \r \r
0015140 \r \r \r 006 004 ( i l : * i l : | ;
0015160 ; ; | " D u m p e r . " ) 006 001
0015200 \r \r \r ( d e f s t r u c t ( 006
0015220 002 h a n d l e 006 001 ( : c o n s
0015240 t r u c t o r m a k e - h a n
0015260 d l e ) ) s t r e a m ( s t
0015300 a t e : b l o c k - e n d ) \r
0015320
*
0015400 ( l a s t - i n d e x
0015420 0 ) \r
0015440
*
0015500 ( h a s h (
0015520 m a k e - h a s h - t a b l e
0015540 : t e s t # ' e q ) ) ) \r \r \r
0015560 ( d e f c o n s t a n t 006 002 d
0015600 u m m y - h a n d l e 006 001 ( m
0015620 a k e - h a n d l e : s t r e
0015640 a m ( o p e n " { n u l l }
0015660 " : d i r e c t i o n : o u
0015700 t p u t ) \r
0015720
0015740 : s t a t e : b
0015760 l o c k : h a s h n i l )
0016000 ) \r \r \r ( d e f c o n s t a n t
0016020 006 002 + s m a l l e s t - f o u
0016040 r - b y t e - i n t e g e r + 006
0016060 001 ( - ( e x p t 2 3 1 )
0016100 ) ) \r \r \r ( d e f c o n s t a
0016120 n t 006 002 + l a r g e s t - f o
0016140 u r - b y t e - i n t e g e r +
0016160 006 001 ( 1 - ( e x p t 2 3
0016200 1 ) ) ) \r \r \r ( d e f v a r
0016220 006 002 * g a t h e r - d u m p e r
0016240 - s t a t s * 006 001 n i l ) \r \r
0016260 \r ( d e f v a r 006 002 * t a b l
0016300 e - a t t e m p t s * 006 001 0
0016320 " N u m b e r o f t a b l e
0016340 l o o k u p s b y t h e
0016360 F A S L d u m p e r . " ) \r \r
0016400 \r ( d e f v a r 006 002 * t a b l
0016420 e - h i t s * 006 001 0 " N u m
0016440 b e r o f s u c c e s s f u
0016460 l t a b l e l o o k u p s
0016500 b y t h e F A S L d u m p
0016520 e r . " ) \r \r \r ( d e f u n 006
0016540 002 r e s e t - d u m p e r - s t
0016560 a t s 006 001 n i l ( s e t q
0016600 * t a b l e - a t t e m p t s *
0016620 0 * t a b l e - h i t s *
0016640 0 ) ) \r \r \r ( d e f u n 006 002 d
0016660 o t t e d - l i s t - l e n g t
0016700 h 006 001 ( x ) ( d o ( ( n
0016720 0 ( + n 2 ) ) \r
0016740
0016760 ( f
0017000 a s t x ( c d d r f a s t
0017020 ) ) \r
0017040
0017060 ( s l o w x ( c
0017100 d r s l o w ) ) ) \r
0017120
0017140 ( n i
0017160 l ) \r
0017200
0017220 ( c o n d \r
0017240
*
0017300 ( ( n u l l f a s t ) \r
0017320
*
0017360 ( r e t u r n n ) ) \r
0017400
*
0017440 ( ( a t o m f a s t )
0017460 \r
0017500
0017520 ( r e t u r n (
0017540 v a l u e s n t ) ) ) \r
0017560
*
0017620 ( ( n u l l ( c d r f
0017640 a s t ) ) \r
0017660
0017700 ( r e t
0017720 u r n ( 1 + n ) ) ) \r
0017740
*
0020000 ( ( a t o m ( c d r f a
0020020 s t ) ) \r
0020040
0020060 ( r e t u
0020100 r n ( v a l u e s ( 1 + n
0020120 ) \r
0020140
*
0020200 t ) ) ) \r
0020220
*
0020260 ( ( a n d ( e q f a s t
0020300 s l o w ) \r
0020320
*
0020360 ( > n 0 ) ) \r
0020400
*
0020440 ( r e t u r n n i l ) ) ) ) )
0020460 \r \r \r ( d e f m a c r o 006 002 s
0020500 t a t e - c a s e 006 001 ( & r e
0020520 s t c l a u s e s ) ` ( e c
0020540 a s e ( h a n d l e - s t a t
0020560 e h a n d l e ) \r
0020600
*
0020640 , @ c l a u s e s
0020660 ) ) \r \r \r ( d e f u n 006 002 f a
0020700 t - s t r i n g - p 006 001 ( s t
0020720 r i n g ) ( c o n d \r
0020740
0020760 ( ( i l
0021000 : s t r i n g p s t r i n g )
0021020 \r
0021040
0021060 ( e q ( 006 002 i l : f e t c
0021100 h 006 001 ( i l : s t r i n g p
0021120 i l : t y p ) 006 002 i l : o f 006
0021140 001 s t r i n g ) \r
0021160
0021200 i
0021220 l : \ \ s t . p o s 1 6 ) ) \r
0021240
0021260 (
0021300 t ( i l : % f a t - s t r i n
0021320 g - a r r a y - p s t r i n g
0021340 ) ) ) ) \r \r \r ( d e f m a c r o
0021360 006 002 r e m e m b e r 006 001 ( v
0021400 a l u e & b o d y b o d y )
0021420 ( l e t ( ( r e m e m b e r
0021440 - v a l ( i l : g e n s y m )
0021460 ) ) \r
0021500
0021520 ` (
0021540 l e t ( ( , r e m e m b e r -
0021560 v a l , v a l u e ) ) \r
0021600
*
0021640 ( w
0021660 h e n r e m e m b e r ( w r
0021700 i t e - o p h a n d l e ' f
0021720 a s l - t a b l e - s t o r e )
0021740 ) \r
0021760
*
0022020 , @ b o d y \r
0022040
*
0022100 ( w h e n
0022120 r e m e m b e r ( s a v e -
0022140 v a l u e h a n d l e , r e
0022160 m e m b e r - v a l ) ) ) ) ) \r
0022200 \r \r ( d e f u n 006 002 e l e m e
0022220 n t s - i d e n t i c a l - p 006
0022240 001 ( a r r a y ) ( l e t *
0022260 ( ( s e q ( i l : % f l a t t
0022300 e n - a r r a y a r r a y ) )
0022320 \r
0022340
0022360 ( t e s
0022400 t e l t ( a r e f s e q 0
0022420 ) ) ) \r
0022440
0022460 ( e
0022500 v e r y # ' ( l a m b d a (
0022520 x ) \r
0022540
*
0022600 ( e q
0022620 l x t e s t e l t ) ) s e
0022640 q ) ) ) \r \r \r ( d e f u n 006 002
0022660 e n d - b l o c k 006 001 ( h a n
0022700 d l e ) ( s t a t e - c a s e
0022720 ( : b l o c k ( w h e n c
0022740 h e c k - t a b l e - s i z e
0022760 ( w r i t e - o p h a n d l e
0023000 ' \r
0023020
*
0023100 f
0023120 a s l - v e r i f y - t a b l e
0023140 - s i z e ) \r
0023160
*
0023220 ( d u m p
0023240 - v a l u e h a n d l e ( h
0023260 a n d l e - l a s t - i n d e x
0023300 h a n d l e ) \r
0023320
*
0023400 n i l ) ) \r
0023420
*
0023460 ( i l : b o u t
0023500 ( h a n d l e - s t r e a m h
0023520 a n d l e ) \r
0023540
*
0023600 e n d - m
0023620 a r k ) \r
0023640
*
0023700 ( s e t f ( h a n d l e -
0023720 l a s t - i n d e x h a n d l
0023740 e ) \r
0023760
*
0024020 0 ) \r
0024040
*
0024100 ( s e t f ( h a n
0024120 d l e - h a s h h a n d l e )
0024140 \r
0024160
*
0024220 ( m a k e - h a s h - t
0024240 a b l e : t e s t # ' e q )
0024260 ) \r
0024300
0024320 (
0024340 s e t f ( h a n d l e - s t a
0024360 t e h a n d l e ) \r
0024400
*
0024440 : b
0024460 l o c k - e n d ) ) ) ) \r \r \r (
0024500 d e f u n 006 002 e n d - t e x t
0024520 006 001 ( h a n d l e ) ( s t a
0024540 t e - c a s e ( : t e x t (
0024560 i l : b o u t ( h a n d l e -
0024600 s t r e a m h a n d l e ) \r
0024620
*
0024700 e n d - m a r k ) \r
0024720
*
0024760 ( s e t f ( h
0025000 a n d l e - s t a t e h a n d
0025020 l e ) \r
0025040
*
0025100 : b l o c k ) ) ) )
0025120 \r \r \r ( d e f u n 006 002 w r i t
0025140 e - o p 006 001 ( h a n d l e o
0025160 p n a m e ) ( s t a t e - c a
0025200 s e ( : b l o c k ( l e t
0025220 ( ( s t r e a m ( h a n d l e
0025240 - s t r e a m h a n d l e ) )
0025260 \r
0025300
*
0025340 ( o p s e
0025360 q ( o p c o d e - s e q u e n
0025400 c e o p n a m e ) ) ) \r
0025420
*
0025500 ( i f ( n u l l
0025520 o p s e q ) \r
0025540
*
0025620 ( e r r o r ' u n i m
0025640 p l e m e n t e d - o p c o d e
0025660 : o p n a m e \r
0025700
*
0025760 o p
0026000 n a m e ) \r
0026020
*
0026100 ( d o l i s t ( o p o
0026120 p s e q ) \r
0026140
*
0026220 ( i l : b o
0026240 u t s t r e a m o p ) ) ) )
0026260 ) ) ) \r \r \r ( d e f u n 006 002 l
0026300 o o k u p - v a l u e 006 001 ( h
0026320 a n d l e v a l u e ) ( l e
0026340 t ( ( h a s h - t a b l e (
0026360 h a n d l e - h a s h h a n d
0026400 l e ) ) ) \r
0026420
0026440 ( a
0026460 n d h a s h - t a b l e ( i
0026500 l : g e t h a s h v a l u e
0026520 h a s h - t a b l e ) ) ) ) \r \r
0026540 \r ( d e f u n 006 002 s a v e - v
0026560 a l u e 006 001 ( h a n d l e v
0026600 a l u e ) ( l e t ( ( h a s
0026620 h - t a b l e ( h a n d l e -
0026640 h a s h h a n d l e ) ) ) \r
0026660
*
0026720 ( u n l e s s ( n u
0026740 l l h a s h - t a b l e ) \r
0026760
*
0027020 ( s e t
0027040 f ( i l : g e t h a s h v a
0027060 l u e h a s h - t a b l e ) \r
0027100
*
0027160 ( h a n d l e - l a s t -
0027200 i n d e x h a n d l e ) ) \r
0027220
*
0027260 ( i n c
0027300 f ( h a n d l e - l a s t - i
0027320 n d e x h a n d l e ) ) ) ) )
0027340 \r \r \r ( d e f u n 006 002 d u m p
0027360 - v a l u e - f e t c h 006 001 (
0027400 h a n d l e i n d e x ) ( w
0027420 r i t e - o p h a n d l e '
0027440 f a s l - t a b l e - f e t c h
0027460 ) \r
0027500
0027520 ( d u m p - v
0027540 a l u e h a n d l e i n d e
0027560 x n i l ) ) \r \r \r ( d e f u n
0027600 006 002 d u m p - c h a r a c t e
0027620 r 006 001 ( h a n d l e c h a r
0027640 r e m e m b e r ) ( 006 002 d e
0027660 c l a r e 006 001 ( i g n o r e
0027700 r e m e m b e r ) ) \r
0027720 \r
0027740 006 003 ( i l : * i l : | ; ; |
0027760 " C h a r a c t e r s d o n '
0030000 t g e t r e m e m b e r e d
0030020 . " ) 006 001 \r \r
0030040
*
0030100 ( l e t ( ( c o d e
0030120 ( c h a r - c o d e c h a r )
0030140 ) \r
0030160
*
0030220 ( s t r e a m ( h a
0030240 n d l e - s t r e a m h a n d
0030260 l e ) ) ) \r
0030300
*
0030340 ( w r i t e - o
0030360 p h a n d l e ' f a s l - c
0030400 h a r a c t e r ) \r
0030420
*
0030460 ( i f
0030500 ( < c o d e 2 5 6 ) \r
0030520
*
0030600 ( i l : b o u t s t r e
0030620 a m c o d e ) \r
0030640
*
0030700 (
0030720 p r o g n ( i l : b o u t s
0030740 t r e a m 2 5 5 ) \r
0030760
*
0031040 ( i l : b o u t
0031060 1 6 s t r e a m c o d e ) )
0031100 ) ) ) \r \r \r ( d e f u n 006 002 d
0031120 u m p - s y m b o l 006 001 ( h a
0031140 n d l e s y m b o l r e m e
0031160 m b e r ) \r
0031200 \r 006 003 ( i
0031220 l : * i l : | ; ; | \r 006 001
0031240 006 003 " N o p
0031260 o i n t i n r e m e m b e r
0031300 i n g t h e p n a m e b e
0031320 c a u s e S Y M B O L - N A M
0031340 E a l w a y s g i v e s y
0031360 o u a n e w o n e . " ) 006
0031400 001 \r ( l e t * ( ( p n a m e
0031420 ( s y m b o l - n a m e s y
0031440 m b o l ) ) \r (
0031460 p a c k a g e ( s y m b o l -
0031500 p a c k a g e s y m b o l ) )
0031520 \r ( p k g - n a
0031540 m e ( a n d p a c k a g e
0031560 ( p a c k a g e - n a m e p a
0031600 c k a g e ) ) ) ) \r
0031620 ( r e m e m b e r s y m b o
0031640 l ( c o n d \r
0031660
0031700 ( ( k e y w o r d p s y
0031720 m b o l ) \r
0031740
0031760 ( w r i t e - o p h a n d
0032000 l e ' f a s l - k e y w o r d
0032020 - s y m b o l ) \r
0032040
0032060 ( d u m p - v a l u e
0032100 h a n d l e p n a m e n i
0032120 l ) ) \r
0032140 (
0032160 ( e q u a l p k g - n a m e
0032200 " L I S P " ) \r
0032220
0032240 ( w r i t e - o p h a
0032260 n d l e ' f a s l - l i s p -
0032300 s y m b o l ) \r
0032320
0032340 ( d u m p - v a l u e
0032360 h a n d l e p n a m e n i l
0032400 ) ) \r
0032420 ( (
0032440 e q u a l p k g - n a m e "
0032460 I N T E R L I S P " ) \r
0032500
0032520 ( w r i t e - o
0032540 p h a n d l e ' f a s l - i
0032560 n t e r l i s p - s y m b o l )
0032600 \r
0032620 ( d u
0032640 m p - v a l u e h a n d l e
0032660 p n a m e n i l ) ) \r
0032700
0032720 ( t ( w r i t e
0032740 - o p h a n d l e ' f a s l
0032760 - s y m b o l - i n - p a c k a
0033000 g e ) \r
0033020
0033040 ( d u m p - v a l u e h a
0033060 n d l e p n a m e n i l ) \r
0033100
0033120 ( d
0033140 u m p - v a l u e h a n d l e
0033160 p a c k a g e r e m e m b e
0033200 r ) ) ) ) ) ) \r \r \r ( d e f u n
0033220 006 002 d u m p - l i s t 006 001 (
0033240 h a n d l e l i s t r e m e
0033260 m b e r ) ( m u l t i p l e -
0033300 v a l u e - b i n d ( l e n g
0033320 t h d o t t e d ) \r
0033340
*
0033400 ( d o t t e
0033420 d - l i s t - l e n g t h l i
0033440 s t ) \r
0033460
*
0033520 ( u n l e s s l e n g t
0033540 h ( e r r o r ' o b j e c t
0033560 - n o t - d u m p a b l e : o
0033600 b j e c t \r
0033620
*
0033700 l i s t
0033720 ) ) \r
0033740
*
0034000 ( r e m e m b e r l i s t
0034020 ( w r i t e - o p h a n d l
0034040 e ( i f d o t t e d \r
0034060
*
0034200 ' f a s l - l i s t * \r
0034220
*
0034320 '
0034340 f a s l - l i s t ) ) \r
0034360
*
0034440 ( d u m p - v a l u e h a
0034460 n d l e ( i f d o t t e d
0034500 ( 1 + l e n g t h ) \r
0034520
*
0034620 l e n g t h )
0034640 \r
0034660
*
0034720 n i
0034740 l ) \r
0034760
*
0035020 ( d o t i m e
0035040 s ( i l e n g t h ) \r
0035060
*
0035140 ( d u m p -
0035160 v a l u e h a n d l e ( c a
0035200 r l i s t ) ) \r
0035220
*
0035300 ( p o p l i s t )
0035320 ) \r
0035340
*
0035400 ( w h e n d o
0035420 t t e d ( d u m p - v a l u e
0035440 h a n d l e l i s t n i l
0035460 ) ) ) ) ) \r \r \r ( d e f u n 006
0035500 002 d u m p - s i m p l e - v e c
0035520 t o r 006 001 ( h a n d l e v e
0035540 c t o r r e m e m b e r ) (
0035560 l e t ( ( l e n g t h ( l e
0035600 n g t h v e c t o r ) ) ) \r
0035620
*
0035700 ( r e m e m b e r
0035720 v e c t o r ( w r i t e - o
0035740 p h a n d l e \r
0035760
*
0036060 ' f a s l - v
0036100 e c t o r ) \r
0036120
*
0036200 ( d u m p - v a l u
0036220 e h a n d l e l e n g t h
0036240 r e m e m b e r ) \r
0036260
*
0036340 ( d o t i m e
0036360 s ( i l e n g t h ) \r
0036400
*
0036500 ( d u m p - v a l u e h
0036520 a n d l e \r
0036540
*
0036640 ( s v r e f v e c t o r
0036660 i ) \r
0036700
*
0037000 r e m e m b e r ) ) ) ) ) \r \r
0037020 \r ( d e f u n 006 002 d u m p - a
0037040 r r a y - d e s c r i p t o r 006
0037060 001 ( h a n d l e a r r a y
0037100 r e m e m b e r & k e y ( i
0037120 n i t i a l - e l e m e n t n
0037140 i l u s e - s i n g l e - e l
0037160 t ) ) \r ( r e m e m b e r
0037200 a r r a y ( w r i t e - o p
0037220 h a n d l e ' f a s l - c r
0037240 e a t e - a r r a y ) \r
0037260 ( d u m p - v a l u
0037300 e h a n d l e ( i f ( e q
0037320 l ( a r r a y - r a n k a r
0037340 r a y ) \r
0037360
0037400 1 ) \r
0037420
0037440 (
0037460 c a r ( a r r a y - d i m e n
0037500 s i o n s a r r a y ) ) \r
0037520
0037540 (
0037560 a r r a y - d i m e n s i o n s
0037600 a r r a y ) ) \r
0037620 r e m e m b
0037640 e r ) \r ( d
0037660 u m p - v a l u e h a n d l e
0037700 ` ( : e l e m e n t - t y p e
0037720 , ( a r r a y - e l e m e n t
0037740 - t y p e a r r a y ) : a d
0037760 j u s t a b l e \r
0040000
0040020 , (
0040040 a d j u s t a b l e - a r r a y
0040060 - p a r r a y ) \r
0040100
0040120 ,
0040140 @ ( w h e n ( a r r a y - h a
0040160 s - f i l l - p o i n t e r - p
0040200 a r r a y ) \r
0040220
*
0040260 ` ( : f i l l - p o i
0040300 n t e r , ( f i l l - p o i n
0040320 t e r a r r a y ) ) ) \r
0040340
*
0040400 , @ ( w h e n u s e - s i
0040420 n g l e - e l t ` ( : i n i t
0040440 i a l - e l e m e n t , i n i
0040460 t i a l - e l e m e n t ) ) )
0040500 \r
0040520 r e m e m b e r ) ) ) \r \r \r
0040540 ( d e f u n 006 002 d u m p - b i
0040560 t - a r r a y 006 001 ( h a n d l
0040600 e a r r a y r e m e m b e r
0040620 ) ( l e t ( ( n b i t s (
0040640 a r r a y - t o t a l - s i z e
0040660 a r r a y ) ) ) \r
0040700
*
0040740 ( u n
0040760 l e s s ( z e r o p ( i l :
0041000 % a r r a y - o f f s e t a r
0041020 r a y ) ) \r
0041040
*
0041120 ( e r r o r ' o b j e c t - n
0041140 o t - d u m p a b l e : o b j
0041160 e c t a r r a y ) ) \r
0041200
*
0041240 (
0041260 r e m e m b e r a r r a y (
0041300 w r i t e - o p h a n d l e
0041320 ' \r
0041340
*
0041420 f a s l
0041440 - i n i t i a l i z e - b i t -
0041460 a r r a y ) \r
0041500
*
0041560 ( d u m p - v a l u e h a n
0041600 d l e n b i t s r e m e m b
0041620 e r ) \r
0041640
*
0041700 ( d
0041720 u m p - a r r a y - d e s c r i
0041740 p t o r h a n d l e a r r a
0041760 y \r
0042000
*
0042060 r e m e m b e r ) \r
0042100
*
0042160 ( i l : \ \ b o
0042200 u t s ( h a n d l e - s t r e
0042220 a m h a n d l e ) \r
0042240
*
0042320 ( i l :
0042340 % a r r a y - b a s e a r r a
0042360 y ) \r
0042400
*
0042460 0 \r
0042500
*
0042560 ( c e i l i n g
0042600 n b i t s 8 ) ) ) ) ) \r \r \r (
0042620 d e f u n 006 002 d u m p - g e n
0042640 e r a l - a r r a y 006 001 ( h a
0042660 n d l e a r r a y r e m e m
0042700 b e r ) \r
0042720 \r 006 003 ( i l
0042740 : * i l : | ; ; | " A r r a
0042760 y s d o n ' t g e t r e m
0043000 e m b e r e d . D i s p l a c
0043020 e m e n t i n f o r m a t i o
0043040 n i s l o s t . " ) 006 001 \r
0043060 ( l e t * ( ( n e l t s ( a
0043100 r r a y - t o t a l - s i z e
0043120 a r r a y ) ) \r
0043140 ( e l t - t y p e ( a r r a y
0043160 - e l e m e n t - t y p e a r
0043200 r a y ) ) ) \r ( w
0043220 r i t e - o p h a n d l e '
0043240 f a s l - i n i t i a l i z e -
0043260 a r r a y ) \r ( d
0043300 u m p - a r r a y - d e s c r i
0043320 p t o r h a n d l e a r r a
0043340 y n i l ) \r ( d
0043360 u m p - v a l u e h a n d l e
0043400 n e l t s n i l ) \r
0043420 ( l e t ( ( i n d i r e
0043440 c t ( m a k e - a r r a y n
0043460 e l t s : d i s p l a c e d -
0043500 t o a r r a y : e l e m e n
0043520 t - t y p e e l t - t y p e )
0043540 ) ) \r (
0043560 d o t i m e s ( i n e l t s
0043600 ) \r
0043620 ( d u m p - v a l u e
0043640 h a n d l e ( a r e f i n
0043660 d i r e c t i ) \r
0043700
0043720 n i l ) ) ) ) ) \r \r \r (
0043740 d e f u n 006 002 d u m p - a r r
0043760 a y 006 001 ( h a n d l e a r r
0044000 a y r e m e m b e r ) ( c o
0044020 n d \r
0044040
*
0044100 ( ( x c l : d i s p l a c e d -
0044120 a r r a y - p a r r a y ) \r
0044140
*
0044200 ( e r
0044220 r o r ' o b j e c t - n o t -
0044240 d u m p a b l e : o b j e c t
0044260 a r r a y ) ) \r
0044300
*
0044340 ( ( a d j u s t a b
0044360 l e - a r r a y - p a r r a y
0044400 ) \r
0044420
*
0044460 ( d u m p - g e n e r a l - a r
0044500 r a y h a n d l e a r r a y
0044520 r e m e m b e r ) ) \r
0044540
*
0044600 ( ( t y p e p
0044620 a r r a y ' ( a r r a y b
0044640 i t ) ) \r
0044660
*
0044720 ( d u m p - b i t - a r r
0044740 a y h a n d l e a r r a y
0044760 r e m e m b e r ) ) \r
0045000
*
0045040 ( ( t y p e p
0045060 a r r a y ' v e c t o r ) \r
0045100
*
0045140 ( d u
0045160 m p - s i m p l e - v e c t o r
0045200 h a n d l e a r r a y r e
0045220 m e m b e r ) ) \r
0045240
*
0045300 ( t ( d u m p - g
0045320 e n e r a l - a r r a y h a n
0045340 d l e a r r a y r e m e m b
0045360 e r ) ) ) ) \r \r \r ( d e f u n
0045400 006 002 w r i t e - i n t e g e r -
0045420 b y t e s 006 001 ( h a n d l e
0045440 n b y t e s v a l u e ) ( l
0045460 e t ( ( s t r e a m ( h a n
0045500 d l e - s t r e a m h a n d l
0045520 e ) ) ) \r
0045540
*
0045600 ( d o l i
0045620 s t ( b y t e ( i n t e g e
0045640 r - b y t e - l i s t v a l u
0045660 e n b y t e s ) ) \r
0045700
*
0045760 ( i l : b o u t
0046000 s t r e a m b y t e ) ) ) )
0046020 \r \r \r ( d e f u n 006 002 i n t e
0046040 g e r - b y t e - l i s t 006 001
0046060 ( v a l u e n b y t e s ) (
0046100 d o ( ( c o u n t 0 ( 1 +
0046120 c o u n t ) ) \r
0046140
*
0046200 ( r e s u l t n i
0046220 l ) \r
0046240
*
0046300 ( n v a l u e ) \r
0046320
*
0046360 b y t e ) \r
0046400
*
0046440 ( ( > = c o
0046460 u n t n b y t e s ) \r
0046500
*
0046540 r e s u l t )
0046560 \r
0046600
0046620 ( m u
0046640 l t i p l e - v a l u e - s e t
0046660 q ( n b y t e ) \r
0046700
*
0046740 ( f
0046760 l o o r n 2 5 6 ) ) \r
0047000
*
0047040 ( p u s h b
0047060 y t e r e s u l t ) ) ) \r \r \r
0047100 ( d e f u n 006 002 d u m p - r a
0047120 t i o n a l 006 001 ( h a n d l e
0047140 v a l u e r e m e m b e r )
0047160 ( 006 002 d e c l a r e 006 001 ( i
0047200 g n o r e r e m e m b e r ) )
0047220 \r
0047240
0047260 ( w
0047300 r i t e - o p h a n d l e '
0047320 f a s l - r a t i o ) \r
0047340
*
0047400 ( d u m p - v
0047420 a l u e h a n d l e ( n u m
0047440 e r a t o r v a l u e ) \r
0047460
*
0047540 n i l ) \r
0047560
*
0047620 ( d u m p - v a l u e
0047640 h a n d l e ( d e n o m i n a
0047660 t o r v a l u e ) \r
0047700
*
0047740 n
0047760 i l ) ) \r \r \r ( d e f u n 006 002
0050000 d u m p - c o m p l e x 006 001 (
0050020 h a n d l e v a l u e r e m
0050040 e m b e r ) ( 006 002 d e c l a r
0050060 e 006 001 ( i g n o r e r e m e
0050100 m b e r ) ) \r
0050120
*
0050160 ( w r i t e - o p h a n
0050200 d l e ' f a s l - c o m p l e
0050220 x ) \r
0050240
0050260 (
0050300 d u m p - v a l u e h a n d l
0050320 e ( r e a l p a r t v a l u
0050340 e ) \r
0050360
*
0050420 n i l ) \r
0050440
*
0050500 ( d u m p - v a l
0050520 u e h a n d l e ( i m a g p
0050540 a r t v a l u e ) \r
0050560
*
0050620 n i
0050640 l ) ) \r \r \r ( d e f u n 006 002 d
0050660 u m p - i n t e g e r 006 001 ( h
0050700 a n d l e v a l u e r e m e
0050720 m b e r ) ( 006 002 d e c l a r e
0050740 006 001 ( i g n o r e r e m e m
0050760 b e r ) ) \r
0051000
*
0051040 ( c o n d \r
0051060
*
0051120 ( ( a n d ( < =
0051140 0 v a l u e ) \r
0051160
*
0051220 (
0051240 < v a l u e 1 2 8 ) ) \r
0051260
*
0051320 ( i
0051340 l : b o u t ( h a n d l e - s
0051360 t r e a m h a n d l e ) \r
0051400
*
0051460 v a l u e ) ) \r
0051500
*
0051540 ( ( a n
0051560 d ( < = + s m a l l e s t -
0051600 f o u r - b y t e - i n t e g e
0051620 r + v a l u e \r
0051640
*
0051720 + l a r g e s t - f o u r - b y
0051740 t e - i n t e g e r + ) ) \r
0051760
*
0052020 ( w
0052040 r i t e - o p h a n d l e '
0052060 f a s l - i n t e g e r ) \r
0052100
*
0052140 ( w
0052160 r i t e - i n t e g e r - b y t
0052200 e s h a n d l e 4 v a l u
0052220 e ) ) \r
0052240
*
0052300 ( t ( w r i t e - o p
0052320 h a n d l e ' f a s l - l a r
0052340 g e - i n t e g e r ) \r
0052360
*
0052420 ( l
0052440 e t * ( ( m i n b i t s ( 1
0052460 + ( i n t e g e r - l e n g t
0052500 h v a l u e ) ) ) \r
0052520
*
0052600 ( n b y t e s ( c e i
0052620 l i n g ( i n t e g e r - l e
0052640 n g t h v a l u e ) \r
0052660
*
0052760 8 ) ) ) \r
0053000 \r 006 003
0053020 ( i l : * i l : | ; ; | " A
0053040 c c o r d i n g t o t h e
0053060 b o o k , M I N B I T S g i
0053100 v e s t h e m i n i m u m
0053120 f i e l d w i d t h f o r
0053140 t h i s n u m b e r i n 2
0053160 ' s c o m p l e m e n t r e
0053200 p r e s e n t a t i o n . " ) 006
0053220 001 \r \r
0053240
*
0053300 ( d u m p
0053320 - v a l u e h a n d l e n b
0053340 y t e s n i l ) \r
0053360
*
0053440 ( w r i t e - i n t e g e r
0053460 - b y t e s h a n d l e n b
0053500 y t e s v a l u e ) ) ) ) ) \r
0053520 \r \r ( d e f u n 006 002 d u m p -
0053540 p a c k a g e 006 001 ( h a n d l
0053560 e p a c k a g e r e m e m b
0053600 e r ) ( r e m e m b e r p a
0053620 c k a g e ( w r i t e - o p
0053640 h a n d l e ' f a s l - f i n
0053660 d - p a c k a g e ) \r
0053700
*
0053760 ( d u m p - v a l u e h a n d
0054000 l e ( p a c k a g e - n a m e
0054020 p a c k a g e ) \r
0054040
*
0054120 r e m e m b e r ) )
0054140 ) \r \r \r ( d e f u n 006 002 d u m
0054160 p - d c o d e 006 001 ( h a n d l
0054200 e d c o d e r e m e m b e r
0054220 ) \r \r
0054240 006 003 ( i l : *
0054260 i l : | ; ; | " D C O D E s
0054300 d o n ' t g e t r e m e m b
0054320 e r e d b e c a u s e t h e
0054340 y a r e n e v e r E Q . "
0054360 ) 006 001 \r ( l e t ( ( s t r e
0054400 a m ( h a n d l e - s t r e a
0054420 m h a n d l e ) ) ) \r
0054440 ( m a c r o l e t ( ( d u
0054460 m p - s e q ( s e q d u m p
0054500 - l e n g t h & r e s t s t
0054520 u f f ) \r
0054540 ` ( l
0054560 e t ( ( s e q , s e q ) ) \r
0054600
0054620 , @
0054640 ( a n d d u m p - l e n g t h
0054660 ' ( ( d u m p - v a l u e h
0054700 a n d l e ( l e n g t h s e
0054720 q ) \r
0054740
*
0055000 r e m
0055020 e m b e r ) ) ) \r
0055040
0055060 ( i f ( l i s t
0055100 p s e q ) \r
0055120
0055140 ( d o l i s t
0055160 ( e l t s e q ) \r
0055200
*
0055240 , @ s t u f f ) \r
0055260
0055300 (
0055320 d o t i m e s ( i n d e x (
0055340 l e n g t h s e q ) ) \r
0055360
*
0055420 ( l e t ( ( e l t
0055440 ( a r e f s e q i n d e x
0055460 ) ) ) \r
0055500
*
0055540 , @ s t u f f ) ) ) ) ) ) \r
0055560 ( w r
0055600 i t e - o p h a n d l e ' f
0055620 a s l - d c o d e ) \r
0055640 ( d u m p - v a
0055660 l u e h a n d l e ( l e n g
0055700 t h ( d - a s s e m : : d c o
0055720 d e - n a m e - t a b l e d c
0055740 o d e ) ) \r
0055760 r e m e m b
0056000 e r ) \r
0056020 ( l e t * ( ( c o d e - a r
0056040 r a y ( d - a s s e m : : d c
0056060 o d e - c o d e - a r r a y d
0056100 c o d e ) ) \r
0056120 ( n b y t
0056140 e s ( l e n g t h c o d e -
0056160 a r r a y ) ) ) \r
0056200 ( d u m
0056220 p - v a l u e h a n d l e n
0056240 b y t e s r e m e m b e r ) \r
0056260
0056300 ( d o t i m e s ( i n
0056320 b y t e s ) \r
0056340
0056360 ( i l : b o u t s t r e a m
0056400 ( a r e f c o d e - a r r a
0056420 y i ) ) ) ) \r
0056440 ( d u m p - s e q (
0056460 d - a s s e m : : d c o d e - n
0056500 a m e - t a b l e d c o d e )
0056520 \r
0056540 n i l \r
0056560 ( i l
0056600 : b o u t s t r e a m ( f i
0056620 r s t e l t ) ) \r
0056640 ( d
0056660 u m p - v a l u e h a n d l e
0056700 ( s e c o n d e l t ) \r
0056720
0056740 r e m e m b e
0056760 r ) \r
0057000 ( d u m p - v a l
0057020 u e h a n d l e ( t h i r d
0057040 e l t ) \r
0057060
0057100 r e m e m b e r ) ) \r
0057120 ( d u m p - v
0057140 a l u e h a n d l e ( d - a
0057160 s s e m : : d c o d e - f r a m
0057200 e - n a m e d c o d e ) \r
0057220
0057240 r e m e m b e r ) \r
0057260 ( i l : b o u
0057300 t s t r e a m ( d - a s s e
0057320 m : : d c o d e - n l o c a l s
0057340 d c o d e ) ) \r
0057360 ( i l : b o u t s
0057400 t r e a m ( d - a s s e m : :
0057420 d c o d e - n f r e e v a r s
0057440 d c o d e ) ) \r
0057460 ( i l : b o u t s t
0057500 r e a m ( d - a s s e m : : d
0057520 c o d e - a r g - t y p e d c
0057540 o d e ) ) \r
0057560 ( d u m p - v a l u e h
0057600 a n d l e ( d - a s s e m : :
0057620 d c o d e - n u m - a r g s d
0057640 c o d e ) \r
0057660 r e m e m b
0057700 e r ) \r
0057720 ( d u m p - v a l u e h a n
0057740 d l e ( d - a s s e m : : d c
0057760 o d e - c l o s u r e - p d c
0060000 o d e ) \r
0060020 r e m e m b e
0060040 r ) \r
0060060 ( d u m p - v a l u e h a n d
0060100 l e ( d - a s s e m : : d c o
0060120 d e - d e b u g g i n g - i n f
0060140 o d c o d e ) \r
0060160 r e m
0060200 e m b e r ) \r
0060220 ( m a c r o l e t ( (
0060240 d u m p - f i x u p s ( l i s
0060260 t ) \r
0060300
0060320 ` ( d u m p - s e q , l i
0060340 s t t ( d u m p - v a l u e
0060360 h a n d l e ( f i r s t e
0060400 l t ) ) \r
0060420
0060440 ( d u m
0060460 p - v a l u e h a n d l e (
0060500 s e c o n d e l t ) ) ) ) ) \r
0060520
0060540 ( d u m p - f i x u p s
0060560 ( d - a s s e m : : d c o d e
0060600 - f n - f i x u p s d c o d e
0060620 ) ) \r
0060640 ( d u m p - f i x
0060660 u p s ( d - a s s e m : : d c
0060700 o d e - s y m - f i x u p s d
0060720 c o d e ) ) \r
0060740 ( d u m p
0060760 - f i x u p s ( d - a s s e m
0061000 : : d c o d e - l i t - f i x u
0061020 p s d c o d e ) ) \r
0061040 (
0061060 d u m p - f i x u p s ( d - a
0061100 s s e m : : d c o d e - t y p e
0061120 - f i x u p s d c o d e ) ) )
0061140 ) \r n i l ) ) \r \r \r
0061160 ( d e f u n 006 002 d u m p - s t
0061200 r i n g 006 001 ( h a n d l e s
0061220 t r i n g r e m e m b e r ) \r
0061240 ( r e m e m b e r s t r
0061260 i n g ( l e t ( ( s t r e a
0061300 m ( h a n d l e - s t r e a m
0061320 h a n d l e ) ) \r
0061340
0061360 ( n c h a r s ( l e n
0061400 g t h s t r i n g ) ) ) \r
0061420
0061440 ( c o n d \r
0061460
0061500 ( ( f a t - s
0061520 t r i n g - p s t r i n g ) \r
0061540
0061560 ( w r
0061600 i t e - o p h a n d l e ' f
0061620 a s l - f a t - s t r i n g ) \r
0061640
0061660 ( d u
0061700 m p - v a l u e h a n d l e
0061720 n c h a r s r e m e m b e r )
0061740 \r
0061760 ( d
0062000 o ( ( i 0 ( 1 + i ) ) \r
0062020
*
0062060 ( c s e t 0 ) ) \r
0062100
0062120 ( ( >
0062140 = i n c h a r s ) )
0062160 006 003 ( i l : *
0062200 i l : \ ; " A l w a y s r
0062220 u n - e n c o d e " ) 006 001 \r
0062240
0062260 (
0062300 l e t * ( ( c h a r ( c h a
0062320 r - c o d e ( c h a r s t r
0062340 i n g i ) ) ) \r
0062360
*
0062420 ( n e w - c s e t ( i l : l
0062440 r s h c h a r 8 ) ) ) \r
0062460
*
0062520 ( u n l e s s ( e q
0062540 l n e w - c s e t c s e t )
0062560 \r
0062600
0062620 (
0062640 s e t q c s e t n e w - c s
0062660 e t ) \r
0062700
*
0062740 ( i l : b o u t s t r e a
0062760 m 2 5 5 ) \r
0063000
*
0063040 ( i l : b o u t s t
0063060 r e a m c s e t ) ) \r
0063100
*
0063140 ( i l : b o u t s t r e
0063160 a m ( l o g a n d c h a r
0063200 2 5 5 ) ) ) ) ) \r
0063220
0063240 ( t ( w r i t e - o
0063260 p h a n d l e ' f a s l - t
0063300 h i n - s t r i n g ) \r
0063320
0063340 ( d u m p
0063360 - v a l u e h a n d l e n c
0063400 h a r s r e m e m b e r ) \r
0063420 \r
0063440 006 003 ( i l : * i l : |
0063460 ; ; | " s h o u l d u s e
0063500 \ \ b o u t s " ) 006 001 \r \r
0063520
0063540 ( d o t
0063560 i m e s ( i n c h a r s ) \r
0063600
*
0063640 ( i l : b o u t s
0063660 t r e a m ( c h a r - c o d e
0063700 ( c h a r s t r i n g i )
0063720 ) ) ) ) ) ) ) ) \r \r \r ( d e f u
0063740 n 006 002 d u m p - f l o a t 3 2
0063760 006 001 ( h a n d l e n u m b e
0064000 r r e m e m b e r )
0064020 006 003 ( i
0064040 l : * i l : \ ; \r 006 001
0064060
*
0064140 006 003 " F l o
0064160 a t s d o n ' t g e t r e
0064200 m e m b e r e d " ) 006 001 \r
0064220 ( w r i t e - o p h a n d l e
0064240 ' f a s l - f l o a t 3 2 ) \r
0064260 ( i l : \ \ b o u t s (
0064300 h a n d l e - s t r e a m h a
0064320 n d l e ) \r
0064340 n u m b e r 0 4 ) ) \r \r \r (
0064360 d e f u n 006 002 d u m p - s t r
0064400 u c t u r e 006 001 ( h a n d l e
0064420 v a l u e r e m e m b e r )
0064440 \r ( l e t ( ( t y p e
0064460 ( i l : t y p e n a m e v a l
0064500 u e ) ) ) \r ( r
0064520 e m e m b e r v a l u e
0064540
*
0064600 006 003 ( i l : * i l : \ ;
0064620 \r 006 001
0064640
*
0064720 006 003 " R e m e m b e r t h e
0064740 s t r u c t u r e i t s e l
0064760 f . " ) 006 001 \r
0065000 ( w r i t e - o p
0065020 h a n d l e ' f a s l - s t r
0065040 u c t u r e ) \r
0065060 ( r e m e m b e r
0065100 t y p e
0065120
0065140 006 003 ( i l : * i l :
0065160 \ ; \r 006 001
0065200
*
0065260 006 003 " A l s o r e m e m
0065300 b e r t h e t y p e n a m
0065320 e . " ) 006 001 \r
0065340 ( d u
0065360 m p - v a l u e h a n d l e
0065400 t y p e t ) \r
0065420 ( d
0065440 u m p - v a l u e h a n d l e
0065460 ( 006 002 i l : f o r 006 001 f i e
0065500 l d 006 002 i l : i n 006 001 ( i l
0065520 : s l o t - l i s t t y p e )
0065540 006 002 i l : a s 006 001 d e s c r
0065560 i p t o r \r
0065600
*
0065640 006 002 i l : i n 006 001 ( i l :
0065660 g e t d e s c r i p t o r s t
0065700 y p e ) \r
0065720
*
0065760 006 002 i l : j o i n 006 001 ( l i
0066000 s t f i e l d ( i l : f e t
0066020 c h f i e l d d e s c r i p t
0066040 o r v a l u e ) ) ) \r
0066060
0066100 t ) ) ) ) ) \r
0066120 \r \r ( d e f u n 006 002 d u m p -
0066140 b i t m a p 006 001 ( h a n d l e
0066160 v a l u e r e m e m b e r )
0066200 ( l e t ( ( w i d t h ( i
0066220 l : b i t m a p w i d t h v a
0066240 l u e ) ) \r
0066260
*
0066320 ( h e i g h t (
0066340 i l : b i t m a p h e i g h t
0066360 v a l u e ) ) \r
0066400
*
0066440 ( b i t s - p
0066460 e r - p i x e l ( i l : b i t
0066500 s p e r p i x e l v a l u e )
0066520 ) \r
0066540
*
0066600 ( b a s e ( 006 002 i l : f
0066620 e t c h 006 001 ( i l : b i t m a
0066640 p i l : b i t m a p b a s e )
0066660 \r
0066700
*
0066740 006 002 i l :
0066760 o f 006 001 v a l u e ) ) \r
0067000
*
0067040 ( s
0067060 t r e a m ( h a n d l e - s t
0067100 r e a m h a n d l e ) ) ) \r
0067120
*
0067160 (
0067200 r e m e m b e r v a l u e \r
0067220
*
0067300 006 003 (
0067320 i l : * i l : \ ; \r 006 001
0067340
*
0067420 006 003 " R e
0067440 m e m b e r t h e b i t m a
0067460 p i t s e l f . " ) 006 001 \r
0067500
*
0067560 ( w r i t e - o p h
0067600 a n d l e ' f a s l - b i t m
0067620 a p 1 6 ) \r
0067640
*
0067700 ( d u
0067720 m p - v a l u e h a n d l e
0067740 w i d t h ) \r
0067760
*
0070020 ( d
0070040 u m p - v a l u e h a n d l e
0070060 h e i g h t ) \r
0070100
*
0070160 ( d u m p - v a l u e h a n d
0070200 l e b i t s - p e r - p i x e
0070220 l ) \r
0070240
*
0070300 ( i l : \ \
0070320 b o u t s s t r e a m b a s
0070340 e 0 \r
0070360
*
0070440 ( * 2 h e i g h t ( c
0070460 e i l i n g ( * w i d t h
0070500 \r
0070520
*
0070620 b i t s - p e r -
0070640 p i x e l ) \r
0070660
*
0070760 1 6 ) ) ) ) ) )
0071000 \r \r \r ( d e f u n 006 002 o p e n
0071020 - f a s l - h a n d l e 006 001 (
0071040 n a m e & r e s t o p e n -
0071060 o p t i o n s ) ( l e t ( (
0071100 s t r e a m ( a p p l y # '
0071120 o p e n n a m e : d i r e c
0071140 t i o n : o u t p u t \r
0071160
*
0071260 o p e n - o p t i o n
0071300 s ) ) ) \r
0071320
*
0071360 ( i l :
0071400 s e t f i l e p t r s t r e a
0071420 m 0 ) \r
0071440
*
0071500 ( i l :
0071520 b o u t s t r e a m s i g n
0071540 a t u r e ) \r
0071560
*
0071620 ( i
0071640 l : b o u t 1 6 s t r e a m
0071660 c u r r e n t - v e r s i o n )
0071700 \r
0071720
*
0071760 ( m a k e - h a
0072000 n d l e : s t r e a m s t r
0072020 e a m ) ) ) \r \r \r ( d e f m a c
0072040 r o 006 002 w i t h - o p e n - h
0072060 a n d l e 006 001 ( ( h a n d l e
0072100 f i l e n a m e & r e s t
0072120 o p e n - o p t i o n s ) \r
0072140
0072160 & b o d y \r
0072200
0072220 ( b o d
0072240 y d e c l s ) ) ( l e t (
0072260 ( a b o r t ( i l : g e n s y
0072300 m " F A S L : W I T H - O P E
0072320 N - F A S L - H A N D L E " ) )
0072340 ) \r
0072360
*
0072420 ` ( l e t ( ( , h a n d l e
0072440 ( o p e n - f a s l - h a n d
0072460 l e , f i l e n a m e \r
0072500
*
0072600 , @ o p e n - o p t i o n
0072620 s ) ) \r
0072640
*
0072700 ( , a b o r
0072720 t t ) ) \r
0072740
*
0073000 , @ d e c
0073020 l s \r
0073040
*
0073100 ( u n w i n d -
0073120 p r o t e c t ( m u l t i p l
0073140 e - v a l u e - p r o g 1 \r
0073160
*
0073260 ( p r o g n , @ b o d
0073300 y ) \r
0073320
*
0073400 ( s e t q ,
0073420 a b o r t n i l ) ) \r
0073440
*
0073520 ( w h e n , h
0073540 a n d l e ( c l o s e - f a s
0073560 l - h a n d l e \r
0073600
*
0073700 , h a n d l e : a b o
0073720 r t \r
0073740
*
0074020 , a
0074040 b o r t ) ) ) ) ) ) \r \r \r ( d e
0074060 f u n 006 002 b e g i n - t e x t
0074100 006 001 ( h a n d l e ) ( s t a
0074120 t e - c a s e ( ( : t e x t
0074140 : b l o c k - e n d ) ) \r
0074160
0074200 (
0074220 : b l o c k ( e n d - b l o c
0074240 k h a n d l e ) ) ) \r
0074260
0074300 ( s e t f ( h a
0074320 n d l e - s t a t e h a n d l
0074340 e ) \r
0074360
0074400 : t e x t ) \r
0074420
0074440 ( h a n d l e - s t
0074460 r e a m h a n d l e ) ) \r \r \r
0074500 ( d e f u n 006 002 b e g i n - b
0074520 l o c k 006 001 ( h a n d l e )
0074540 ( s t a t e - c a s e ( : b l
0074560 o c k - e n d ( b e g i n - t
0074600 e x t h a n d l e ) \r
0074620
*
0074660 ( e n d -
0074700 t e x t h a n d l e ) ) \r
0074720
*
0074760 ( : t e x t ( e n d - t e x
0075000 t h a n d l e ) ) \r
0075020
0075040 ( :
0075060 b l o c k ) ) ) \r \r \r ( d e f u
0075100 n 006 002 v a l u e - d u m p a b
0075120 l e - p 006 001 ( o b j ) ( x c
0075140 l : c o n d i t i o n - c a s e
0075160 ( p r o g n ( d u m p - v a
0075200 l u e d u m m y - h a n d l e
0075220 o b j n i l ) \r
0075240
*
0075320 t ) \r
0075340
0075360 ( o b j e
0075400 c t - n o t - d u m p a b l e
0075420 n i l n i l ) ) ) \r \r \r ( d e
0075440 f u n 006 002 d u m p - v a l u e
0075460 006 001 ( h a n d l e v a l u e
0075500 & o p t i o n a l ( r e m e
0075520 m b e r t ) \r
0075540
0075560 & a u x i n d e x ) ( s t
0075600 a t e - c a s e ( : b l o c k
0075620 ( c o n d \r
0075640
*
0075720 ( ( e q v a l u e n i
0075740 l ) \r
0075760
*
0076040 ( w r i t e - o p h a n d l e
0076060 ' f a s l - n i l ) ) \r
0076100
*
0076160 ( ( e q v a
0076200 l u e t ) \r
0076220
*
0076300 ( w r i t e - o p h a
0076320 n d l e ' f a s l - t ) ) \r
0076340
*
0076420 ( ( p r o
0076440 g 1 ( s e t q i n d e x (
0076460 l o o k u p - v a l u e h a n
0076500 d l e \r
0076520
*
0076620 v a l u
0076640 e ) ) \r
0076660
*
0076740 ( w h e n * g
0076760 a t h e r - d u m p e r - s t a
0077000 t s * \r
0077020
*
0077100 ( i
0077120 n c f * t a b l e - a t t e m
0077140 p t s * ) ) ) \r
0077160
*
0077240 ( w h e n * g a t h
0077260 e r - d u m p e r - s t a t s *
0077300 ( i n c f \r
0077320
*
0077440 * t a b l e - h i t s * \r
0077460
*
0077600 ) ) \r
0077620
*
0077700 ( d u
0077720 m p - v a l u e - f e t c h h
0077740 a n d l e i n d e x ) ) \r
0077760
*
0100040 ( t ( t y
0100060 p e c a s e v a l u e \r
0100100
*
0100200 ( i n t e g e r ( d u m
0100220 p - i n t e g e r h a n d l e
0100240 \r
0100260
*
0100360 v a l u e r e
0100400 m e m b e r ) \r
0100420
*
0100520 ) \r
0100540
*
0100620 ( r a
0100640 t i o n a l ( d u m p - r a t
0100660 i o n a l h a n d l e \r
0100700
*
0101020 v a l u e r e m e m
0101040 b e r \r
0101060
*
0101160 ) ) \r
0101200
*
0101300 ( s i n g l e - f l o a
0101320 t ( d u m p - f l o a t 3 2 \r
0101340
*
0101460 h a n d l e v a l u
0101500 e \r
0101520
*
0101620 r e m e m b e r
0101640 ) ) \r
0101660
*
0101740 ( c o m p l e
0101760 x ( d u m p - c o m p l e x
0102000 h a n d l e \r
0102020
*
0102120 v a
0102140 l u e r e m e m b e r ) \r
0102160
*
0102260 ) \r
0102300
*
0102400 ( c h a r a c t e r ( d
0102420 u m p - c h a r a c t e r \r
0102440
*
0102560 h a n d l e v a l u e \r
0102600
*
0102720 r e m e m b e r ) ) \r
0102740
*
0103040 ( s y m b o l ( d u m p - s
0103060 y m b o l h a n d l e \r
0103100
*
0103220 v a l u e r e m e m b e
0103240 r ) ) \r
0103260
*
0103340 ( p a c k a
0103360 g e ( d u m p - p a c k a g e
0103400 h a n d l e \r
0103420
*
0103520 v
0103540 a l u e r e m e m b e r ) \r
0103560
*
0103660 ) \r
0103700
*
0104000 ( c o n s ( d u m p -
0104020 l i s t h a n d l e v a l u
0104040 e \r
0104060
*
0104160 r e m e m b e r ) )
0104200 \r
0104220
*
0104300 ( d - a s s e m :
0104320 d c o d e ( d u m p - d c o d
0104340 e \r
0104360
*
0104460 h a n d l e v
0104500 a l u e \r
0104520
*
0104620 r e m e
0104640 m b e r ) ) \r
0104660
*
0104740 ( s t
0104760 r i n g ( d u m p - s t r i n
0105000 g h a n d l e \r
0105020
*
0105120 v
0105140 a l u e r e m e m b e r ) ) \r
0105160
*
0105260 ( a r r a y ( d u
0105300 m p - a r r a y h a n d l e
0105320 v a l u e \r
0105340
*
0105440 r e m e m
0105460 b e r ) ) \r
0105500
*
0105560 ( c o m
0105600 p i l e r : : e v a l - w h e n
0105620 - l o a d \r
0105640
*
0105720 ( d u
0105740 m p - e v a l h a n d l e (
0105760 \r
0106000
*
0106060 c o m p i l e
0106100 r : : e v a l - w h e n - l o a
0106120 d - f o r m \r
0106140
*
0106260 v a l u e ) ) ) \r
0106300
*
0106400 ( c l : : s t r u c t u r e - o
0106420 b j e c t \r
0106440
*
0106520 ( d u
0106540 m p - s t r u c t u r e h a n
0106560 d l e v a l u e \r
0106600
*
0106700 r e m e m b e
0106720 r ) ) \r
0106740
*
0107020 ( i l : b i
0107040 t m a p ( d u m p - b i t m a
0107060 p h a n d l e \r
0107100
*
0107220 v a l u e \r
0107240
*
0107360 r e m e m b e r ) ) \r
0107400
*
0107500 ( o t h e r w i s e ( e r
0107520 r o r ' \r
0107540
*
0107640 o b j e c t - n
0107660 o t - d u m p a b l e \r
0107700
*
0110020 : o b j e c t v a l
0110040 u e \r
0110060
*
0110160 ) ) ) ) )
0110200 ) ) ) \r \r \r ( d e f u n 006 002 d
0110220 u m p - f u n c t i o n - d e f
0110240 006 001 ( h a n d l e d c o d e
0110260 n a m e ) ( s t a t e - c a
0110300 s e ( : b l o c k ( w r i t
0110320 e - o p h a n d l e ' \r
0110340
*
0110440 f a s l - s e t f -
0110460 s y m b o l - f u n c t i o n )
0110500 \r
0110520
*
0110600 ( d u m p - v a l u e h a n
0110620 d l e n a m e ) \r
0110640
*
0110720 ( d u m p -
0110740 v a l u e h a n d l e d c o
0110760 d e ) ) ) ) \r \r \r ( d e f u n
0111000 006 002 d u m p - f u n c a l l 006 001
0111020 ( h a n d l e f u n c t i o
0111040 n ) ( s t a t e - c a s e (
0111060 : b l o c k ( w r i t e - o p
0111100 h a n d l e ' f a s l - f u
0111120 n c a l l ) \r
0111140
*
0111220 ( d u m p - v a l u e h a n d
0111240 l e f u n c t i o n ) ) ) ) \r
0111260 \r \r ( d e f u n 006 002 d u m p -
0111300 e v a l 006 001 ( h a n d l e f
0111320 o r m ) ( s t a t e - c a s e
0111340 ( : b l o c k ( w r i t e -
0111360 o p h a n d l e ' f a s l -
0111400 e v a l ) \r
0111420
*
0111460 ( d u m p - v a
0111500 l u e h a n d l e f o r m )
0111520 ) ) ) \r \r \r ( d e f u n 006 002 c
0111540 l o s e - f a s l - h a n d l e
0111560 006 001 ( h a n d l e & r e s t
0111600 c l o s e - o p t i o n s &
0111620 k e y a b o r t & a l l o w
0111640 - o t h e r - k e y s ) \r
0111660 ( s t a t e - c a s e ( : t e
0111700 x t ( e n d - t e x t h a n
0111720 d l e ) \r
0111740 ( e n d -
0111760 b l o c k h a n d l e ) ) \r
0112000 ( : b l o c k
0112020 ( e n d - b l o c k h a n d
0112040 l e ) ) \r (
0112060 : b l o c k - e n d ) ) \r
0112100 ( s e t f ( h a n d l e - s t
0112120 a t e h a n d l e ) \r
0112140 : c l o s e d ) \r
0112160 ( a p p l y # ' c l o s e
0112200 ( h a n d l e - s t r e a m h
0112220 a n d l e ) \r
0112240 c l o s e - o p t i o n s ) )
0112260 \r \r \r \r \r 006 004 ( i l : * i l :
0112300 | ; ; ; | " R e a d e r . " )
0112320 006 001 \r \r \r ( x c l : d e f - d e
0112340 f i n e - t y p e 006 002 f a s l
0112360 - o p s 006 001 " F A S L f i l
0112400 e o p c o d e s " ) \r \r \r (
0112420 d e f s t r u c t ( 006 002 o p t
0112440 a b l e 006 001 ( : c o n s t r u
0112460 c t o r n e w - o p t a b l e
0112500 ) ) v e c t o r o p n a m e
0112520 s n e x t ) \r \r \r ( d e f u n
0112540 006 002 m a k e - o p t a b l e 006
0112560 001 n i l ( l e t ( ( t a b
0112600 l e ( n e w - o p t a b l e )
0112620 ) \r
0112640
0112660 ( v e c t o r ( m a k e - a r
0112700 r a y 2 5 6 : i n i t i a l
0112720 - e l e m e n t ' u n i m p l
0112740 e m e n t e d - o p c o d e ) )
0112760 ) \r
0113000 (
0113020 s e t f ( o p t a b l e - v e
0113040 c t o r t a b l e ) \r
0113060
0113100 v
0113120 e c t o r ) \r
0113140
0113160 ( s e t f ( s v r e f
0113200 v e c t o r e n d - m a r k
0113220 ) \r
0113240
0113260 ' f a s l - e n d - o
0113300 f - b l o c k ) \r
0113320
0113340 t a b l e ) ) \r \r \r
0113360 ( d e f u n 006 002 f a s l - e n
0113400 d - o f - b l o c k 006 001 ( s t
0113420 r e a m o p ) ( i f ( z e
0113440 r o p * b l o c k - l e v e l
0113460 * ) \r
0113500
0113520 ( t h r
0113540 o w ' f a s l - b l o c k - f
0113560 i n i s h e d n i l ) \r
0113600
*
0113640 ( e r r o r ' u n
0113660 e x p e c t e d - e n d - o f -
0113700 b l o c k : s t r e a m s t
0113720 r e a m ) ) ) \r \r \r ( x c l : d
0113740 e f d e f i n e r 006 002 d e f o
0113760 p 006 001 f a s l - o p s ( i l
0114000 : n a m e ( o p c o d e & k
0114020 e y ( i n d i r e c t 0 ) \r
0114040
*
0114100 (
0114120 t a b l e ' * d e f a u l t -
0114140 o p t a b l e * ) ) \r
0114160
*
0114220 & b o d y \r
0114240
0114260 ( b o
0114300 d y d e c l s d o c ) ) \r
0114320
0114340 ( i f (
0114360 z e r o p i n d i r e c t ) \r
0114400
*
0114440 ` ( p r o g n ( d e f u n (
0114460 006 002 i l : \ \ \ , 006 001 i l : n
0114500 a m e ) ( s t r e a m o p c
0114520 o d e ) , ( o r d o c \r
0114540
*
0114640 " F A S L o p
0114660 c o d e i m p l e m e n t a t
0114700 i o n " \r
0114720
*
0115020 ) , @ d
0115040 e c l s \r
0115060
*
0115160 , @ b o
0115200 d y ) \r \r
0115220
0115240 ( s e
0115260 t f ( e l t ( o p t a b l e
0115300 - v e c t o r , t a b l e ) \r
0115320
*
0115400 , o p c o d e ) \r
0115420
*
0115460 ' , i l : n
0115500 a m e ) \r
0115520
0115540 ( a d
0115560 d - o p - t r a n s l a t i o n
0115600 ' , i l : n a m e , o p c o
0115620 d e , t a b l e ) ) \r
0115640
0115660 ` ( p r
0115700 o g n ( u n l e s s ( o p t
0115720 a b l e - n e x t , t a b l e
0115740 ) \r
0115760
*
0116020 ( s e t f ( o p t a b l e -
0116040 n e x t , t a b l e ) \r
0116060
*
0116140 ( m a k e - o p t a b l e )
0116160 ) \r
0116200
*
0116240 ( s e t e s c a p e , t a b
0116260 l e ) ) \r
0116300
0116320 ( d e
0116340 f o p ( 006 002 i l : \ \ \ , 006 001
0116360 i l : n a m e ) ( , o p c o
0116400 d e : i n d i r e c t \r
0116420
*
0116520 , ( 1 - i n d i r e
0116540 c t ) : t a b l e \r
0116560
*
0116660 ( o p t a b l e - n e x t
0116700 , t a b l e ) ) \r
0116720
*
0116760 , ( o r d o c " F
0117000 A S L o p c o d e i m p l e
0117020 m e n t a t i o n " ) , @ d e
0117040 c l s \r
0117060
*
0117120 , @ b o d y ) \r ) ) )
0117140 \r \r \r ( x c l : d e f d e f i n
0117160 e r 006 002 d e f r a n g e 006 001 \r
0117200 f a s l - o p s ( i l :
0117220 n a m e ( f i r s t - o p c o
0117240 d e & k e y ( i n d i r e c
0117260 t 0 ) \r
0117300
0117320 ( t a b l e ' * d e f a u l
0117340 t - o p t a b l e * ) ) \r
0117360
0117400 r a n g e o f f s e t & b o
0117420 d y ( b o d y d e c l s d
0117440 o c ) ) \r ( i
0117460 f ( z e r o p i n d i r e c
0117500 t ) \r
0117520 ` ( p r o g n ( d e f u n (
0117540 006 002 i l : \ \ \ , 006 001 i l : n
0117560 a m e ) ( s t r e a m o p c
0117600 o d e ) , ( o r d o c " F
0117620 A S L o p c o d e i m p l e
0117640 m e n t a t i o n " ) \r
0117660
*
0117740 , @ d e c l
0117760 s \r
0120000
*
0120060 , @ b o d y ) \r \r
0120100 ( l
0120120 e t ( ( p a c k a g e ( s y
0120140 m b o l - p a c k a g e ' , i
0120160 l : n a m e ) ) \r
0120200
0120220 ( p n a m e ( s y m b
0120240 o l - n a m e ' , i l : n a m
0120260 e ) ) ) \r
0120300 (
0120320 d o t i m e s ( i , r a n g
0120340 e ) \r
0120360
0120400 ( l e t ( ( o p c o d
0120420 e ( + i , f i r s t - o p
0120440 c o d e ) ) ) \r
0120460
0120500 ( s
0120520 e t f ( e l t ( o p t a b l
0120540 e - v e c t o r , t a b l e )
0120560 \r
0120600
*
0120640 o p c o d e ) \r
0120660
*
0120720 ' , i l : n a m e )
0120740 \r
0120760
0121000 ( a d d - o p - t
0121020 r a n s l a t i o n ( i n t e
0121040 r n ( c o n c a t e n a t e \r
0121060
*
0121160 ' s t r i n g p n a m e
0121200 \r
0121220
*
0121300 ( w r i t e - t o - s t
0121320 r i n g \r
0121340
*
0121420 ( + i , o
0121440 f f s e t ) ) ) \r
0121460
*
0121540 p a c k a g
0121560 e ) \r
0121600
*
0121640 o p c o d e \r
0121660
*
0121720 , t a b l e ) ) ) ) ) \r
0121740 ` ( p
0121760 r o g n ( u n l e s s ( o p
0122000 t a b l e - n e x t , t a b l
0122020 e ) \r
0122040 (
0122060 s e t f ( o p t a b l e - n e
0122100 x t , t a b l e ) \r
0122120
0122140 ( m a
0122160 k e - o p t a b l e ) ) \r
0122200
0122220 ( s e t e s c
0122240 a p e , t a b l e ) ) \r
0122260
0122300 ( d e f r a n g e ( 006 002 i
0122320 l : \ \ \ , 006 001 i l : n a m e
0122340 ) ( , f i r s t - o p c o d e
0122360 : i n d i r e c t , ( 1 -
0122400 i n d i r e c t ) : t a b l e
0122420 \r
0122440
*
0122500 ( o p t a b l
0122520 e - n e x t , t a b l e ) )
0122540 , ( o r d o c \r
0122560
*
0122660 " F A S L o p c o d e
0122700 i m p l e m e n t a t i o n " \r
0122720
*
0123040 ) , @ d e c l s \r
0123060
*
0123200 , @ b o d y ) \r ) ) ) \r \r
0123220 \r ( d e f u n 006 002 a d d - o p
0123240 - t r a n s l a t i o n 006 001 (
0123260 n a m e o p c o d e t a b l
0123300 e ) ( l e t ( ( p a i r (
0123320 a s s o c n a m e ( o p t a
0123340 b l e - o p n a m e s t a b l
0123360 e ) ) ) ) \r
0123400
*
0123440 ( i f p a i
0123460 r ( s e t f ( c d r p a i
0123500 r ) \r
0123520
*
0123600 o p c o d e ) \r
0123620
*
0123700 ( p u s h ( c o n s
0123720 n a m e o p c o d e ) \r
0123740
*
0124020 ( o p t a b
0124040 l e - o p n a m e s t a b l e
0124060 ) ) ) ) ) \r \r \r ( d e f u n 006
0124100 002 o p c o d e - s e q u e n c e
0124120 006 001 ( o p n a m e & o p t i
0124140 o n a l ( t a b l e * d e f
0124160 a u l t - o p t a b l e * ) \r
0124200
0124220 & a u
0124240 x e n t r y ) ( c o n d \r
0124260
*
0124320 ( ( n u
0124340 l l t a b l e ) \r
0124360
*
0124420 n i l ) \r
0124440
*
0124500 ( ( s e t q
0124520 e n t r y ( a s s o c o p
0124540 n a m e ( o p t a b l e - o p
0124560 n a m e s t a b l e ) ) ) \r
0124600
*
0124640 ( l i
0124660 s t ( c d r e n t r y ) ) )
0124700 \r
0124720
0124740 ( (
0124760 s e t q e n t r y ( o p c o
0125000 d e - s e q u e n c e o p n a
0125020 m e ( o p t a b l e - n e x t
0125040 \r
0125060
*
0125160 t a b l e ) ) ) \r
0125200
*
0125240 ( c o n s
0125260 f a s l - e x t e n d e d e
0125300 n t r y ) ) \r
0125320
*
0125360 ( t n i l ) ) ) \r \r \r
0125400 ( d e f u n 006 002 f a s l - e x
0125420 t e n d e d 006 001 ( s t r e a m
0125440 o p ) ( w i t h - o p t a b
0125460 l e ( o p t a b l e - n e x t
0125500 * c u r r e n t - o p t a b l
0125520 e * ) \r
0125540
0125560 ( d o -
0125600 o p s t r e a m ) ) ) \r \r \r (
0125620 d e f u n 006 002 s e t e s c a p
0125640 e 006 001 ( t a b l e ) ( s e t
0125660 f ( s v r e f ( o p t a b l
0125700 e - v e c t o r t a b l e ) \r
0125720
*
0125760 f a s l - e x t e n
0126000 d e d ) \r
0126020
0126040 # ' f a s l - e x t e n
0126060 d e d ) ) \r \r \r ( d e f u n 006
0126100 002 u n i m p l e m e n t e d - o
0126120 p c o d e 006 001 ( s t r e a m
0126140 o p c o d e ) ( e r r o r '
0126160 u n i m p l e m e n t e d - o p
0126200 c o d e : o p n a m e o p c
0126220 o d e ) ) \r \r \r ( d e f v a r
0126240 006 002 * d e f a u l t - o p t a b
0126260 l e * 006 001 ( m a k e - o p t a
0126300 b l e ) ) \r \r \r ( d e f v a r
0126320 006 002 * c u r r e n t - o p t a
0126340 b l e * 006 001 n i l ) \r \r \r ( d
0126360 e f p a r a m e t e r 006 002 i n
0126400 i t i a l - v a l u e - t a b l
0126420 e - s i z e 006 001 2 0 4 8 ) \r \r
0126440 \r ( d e f c o n s t a n t 006 002
0126460 v a l u e - t a b l e - i n c r
0126500 e m e n t 006 001 1 0 2 4 ) \r \r \r
0126520 ( d e f v a r 006 002 * v a l u e
0126540 - t a b l e * 006 001 n i l ) \r \r
0126560 \r ( d e f v a r 006 002 * b l o c
0126600 k - l e v e l * 006 001 0 ) \r \r \r
0126620 ( d e f v a r 006 002 d e b u g -
0126640 r e a d e r 006 001 n i l ) \r \r \r
0126660 ( d e f v a r 006 002 d e b u g -
0126700 s t r e a m 006 001 n i l ) \r \r \r
0126720 ( d e f m a c r o 006 002 w i t h
0126740 - o p t a b l e 006 001 ( t a b l
0126760 e & b o d y b o d y ) ` (
0127000 l e t ( ( * c u r r e n t - o
0127020 p t a b l e * , t a b l e ) )
0127040 \r
0127060
*
0127120 , @ b o d y ) ) \r \r \r ( d e f
0127140 u n 006 002 p r o c e s s - f i l
0127160 e 006 001 ( s t r e a m & k e y
0127200 ( t e x t - f n # ' ( l a m
0127220 b d a ( t e x t ) \r
0127240
*
0127300 ( p
0127320 r i n c t e x t ) \r
0127340
*
0127400 ( t
0127420 e r p r i ) ) ) \r
0127440
0127460 ( i t e m - f n n i l
0127500 ) ) " C a l l s F A S L : P
0127520 R O C E S S - S E G M E N T w
0127540 i t h t h e a p p r o r i a
0127560 t e a r g u m e n t s f o r
0127600 e a c h s e g m e n t i n
0127620 t h e f i l e . T h e s
0127640 t r e a m s h o u l d b e
0127660 p o s i t i o n e d a t t h
0127700 e b e g i n n i n g . " \r
0127720 ( u n l e s s ( e q l ( i
0127740 l : b i n s t r e a m ) \r
0127760 s i
0130000 g n a t u r e ) \r
0130020 ( e r r o r " N o t a
0130040 F A S L f i l e . " ) ) \r
0130060 ( c h e c k - v e r s i o n
0130100 s t r e a m ) \r ( d o
0130120 n i l ( ( i l : e o f p s t
0130140 r e a m ) \r
0130160 ( v a l u e s ) ) \r
0130200 ( p r o c e s s - s e g m
0130220 e n t s t r e a m t e x t -
0130240 f n i t e m - f n ) ) ) \r \r \r
0130260 ( d e f u n 006 002 c h e c k - v
0130300 e r s i o n 006 001 ( s t r e a m
0130320 ) ( l e t ( ( v e r s i o n
0130340 ( i l : b i n 1 6 s t r e a
0130360 m ) ) ) \r
0130400
0130420 ( o r ( a n d
0130440 ( < = ( c a r v e r s i o
0130460 n - r a n g e ) \r
0130500
*
0130540 v e r s i o n ) \r
0130560
*
0130620 ( < = v
0130640 e r s i o n ( c d r v e r s
0130660 i o n - r a n g e ) ) ) \r
0130700
*
0130740 ( e r r o r " V e r s
0130760 i o n n o t s u p p o r t e
0131000 d : ~ D . " v e r s i o n )
0131020 ) ) ) \r \r \r ( d e f u n 006 002 p
0131040 r o c e s s - s e g m e n t 006 001
0131060 ( s t r e a m & o p t i o n
0131100 a l t e x t - f n i t e m -
0131120 f n ( o p t a b l e * d e f
0131140 a u l t - o p t a b l e * ) ) \r
0131160 ( i f t e x t - f n (
0131200 f u n c a l l t e x t - f n
0131220 ( r e a d - t e x t s t r e a
0131240 m ) ) \r ( s k i p
0131260 - t e x t s t r e a m ) ) \r
0131300 ( p r o c e s s - b l o c k
0131320 s t r e a m i t e m - f n
0131340 o p t a b l e ) ) \r \r \r ( d e f
0131360 u n 006 002 r e a d - t e x t 006 001
0131400 ( s t r e a m ) ( d o ( (
0131420 r e s u l t ( m a k e - a r r
0131440 a y 5 1 2 : e l e m e n t -
0131460 t y p e ' c h a r a c t e r
0131500 : a d j u s t a b l e t \r
0131520
*
0131560 : f i
0131600 l l - p o i n t e r 0 ) ) \r
0131620
0131640 ( b
0131660 y t e ( i l : b i n s t r e
0131700 a m ) \r
0131720
0131740 ( i l : b i n
0131760 s t r e a m ) ) ) \r
0132000
0132020 ( ( e q l b
0132040 y t e e n d - m a r k ) \r
0132060
0132100 ( c o
0132120 e r c e r e s u l t ' s t r
0132140 i n g ) ) \r
0132160
0132200 ( v e c t o r - p u s h
0132220 - e x t e n d ( c o d e - c h
0132240 a r b y t e ) \r
0132260
0132300 r e
0132320 s u l t ) ) ) \r \r \r ( d e f u n
0132340 006 002 p r o c e s s - b l o c k
0132360 006 001 ( s t r e a m & o p t i
0132400 o n a l i t e m - f n ( o p
0132420 t a b l e * d e f a u l t - o
0132440 p t a b l e * ) ) \r ( c a
0132460 t c h ' f a s l - b l o c k -
0132500 f i n i s h e d ( w i t h - o
0132520 p t a b l e o p t a b l e (
0132540 d o ( ( * v a l u e - t a b l
0132560 e * ( n e w - v a l u e - t a
0132600 b l e ) ) \r
0132620
*
0132700 v a l ) \r
0132720
*
0132760 n i
0133000 l \r
0133020
*
0133060 ( s e t f
0133100 v a l ( d o - o p s t r e
0133120 a m 0 ) ) \r
0133140
*
0133220 ( w h e n i t e m - f n ( f
0133240 u n c a l l i t e m - f n v
0133260 a l ) ) ) ) ) ) \r \r \r ( d e f u
0133300 n 006 002 s k i p - t e x t 006 001
0133320 ( s t r e a m ) ( d o ( ( b
0133340 y t e ( i l : b i n s t r e
0133360 a m ) ) ) \r
0133400
0133420 ( ( e q l b y t e e
0133440 n d - m a r k ) \r
0133460
0133500 ( v a l u e s )
0133520 ) ) ) \r \r \r ( d e f m a c r o
0133540 006 002 n e x t - v a l u e 006 001 n
0133560 i l ' ( d o - o p s t r e a
0133600 m ) ) \r \r \r ( d e f u n 006 002 d
0133620 o - o p 006 001 ( s t r e a m &
0133640 o p t i o n a l ( * b l o c k
0133660 - l e v e l * ( 1 + * b l o
0133700 c k - l e v e l * ) ) ) \r
0133720 ( l e t ( ( o p ( i l : b i
0133740 n s t r e a m ) ) \r
0133760 v a l ) \r
0134000 ( w h e n d e b u g - r e a
0134020 d e r ( f o r m a t d e b u
0134040 g - s t r e a m " ~ V T ~ A
0134060 ( ~ 3 O ) ~ % " ( * * b l o
0134100 c k - l e v e l * 4 ) \r
0134120
0134140 (
0134160 c a r ( r a s s o c o p (
0134200 o p t a b l e - o p n a m e s
0134220 * c u r r e n t - o p t a b l e
0134240 * ) ) ) \r
0134260
0134300 o p ) ) \r
0134320 ( s e t q v a l ( f
0134340 u n c a l l ( s v r e f ( o
0134360 p t a b l e - v e c t o r * c
0134400 u r r e n t - o p t a b l e * )
0134420 \r
0134440
0134460 o p ) \r
0134500
0134520 s t r e a m o p ) ) \r
0134540 ( w h e n d e b u g -
0134560 r e a d e r ( f o r m a t d
0134600 e b u g - s t r e a m " ~ V T
0134620 V a l u e : ~ S ~ % " ( *
0134640 * b l o c k - l e v e l * 4 )
0134660 \r
0134700
0134720 v a l ) ) \r
0134740 ( r e t u r n - f r o m d o
0134760 - o p v a l ) ) ) \r \r \r ( d e
0135000 f u n 006 002 n e w - v a l u e -
0135020 t a b l e 006 001 n i l ( m a k
0135040 e - a r r a y i n i t i a l -
0135060 v a l u e - t a b l e - s i z e
0135100 : f i l l - p o i n t e r 0
0135120 : e x t e n d a b l e t ) )
0135140 \r \r \r ( d e f u n 006 002 c l e a
0135160 r - t a b l e 006 001 ( & o p t i
0135200 o n a l ( t a b l e * v a l
0135220 u e - t a b l e * ) ) ( s e t
0135240 f ( f i l l - p o i n t e r
0135260 t a b l e ) \r
0135300
*
0135360 0 ) ) \r \r \r ( d e f u n 006
0135400 002 s t o r e - v a l u e 006 001 (
0135420 o b j & o p t i o n a l ( t
0135440 a b l e * v a l u e - t a b l
0135460 e * ) ) \r
0135500 \r 006 003 ( i l
0135520 : * i l : | ; ; | \r 006 001 006
0135540 003 " T h i s m a y w a n t
0135560 t o c h a n g e t o a n o
0135600 t h e r r e p r e s e n t a t
0135620 i o n i f w e c a n ' t
0135640 m a k e V E C T O R - P U S H
0135660 - E X T E N D f a s t e n o
0135700 u g h . " ) 006 001 \r ( v e c t o
0135720 r - p u s h - e x t e n d o b
0135740 j t a b l e v a l u e - t a
0135760 b l e - i n c r e m e n t ) \r
0136000 o b j ) \r \r \r ( d e f u n 006 002
0136020 f e t c h - v a l u e 006 001 ( i
0136040 n d e x & o p t i o n a l (
0136060 t a b l e * v a l u e - t a b
0136100 l e * ) ) ( a r e f t a b l
0136120 e i n d e x ) ) \r \r \r ( d e f
0136140 u n 006 002 c o l l e c t - l i s
0136160 t 006 001 ( s t r e a m n e l t
0136200 s d o t t e d ) ( i f ( a
0136220 n d d o t t e d ( e q l n
0136240 e l t s 2 ) ) \r
0136260
*
0136320 ( r e t u r n - f
0136340 r o m c o l l e c t - l i s t
0136360 ( c o n s ( d o - o p s t
0136400 r e a m ) \r
0136420
*
0136520 ( d o - o p s t r e a
0136540 m ) ) ) ) \r
0136560
*
0136620 ( w h e n d o t t e d ( d e
0136640 c f n e l t s ) ) \r
0136660
*
0136720 ( l e t ( ( r e s u
0136740 l t ( 006 002 i l : | t o | 006 001
0136760 n e l t s 006 002 i l : | c o l l
0137000 e c t | 006 001 ( d o - o p s t
0137020 r e a m ) ) ) ) \r
0137040 \r 006 003
0137060 ( i l : * i l : | ; ; | " A
0137100 s s u m e d o t t e d a n d
0137120 o t h e r t h a n a s i
0137140 m p l e c o n s i s r a r
0137160 e . " ) 006 001 \r \r
0137200
*
0137240 ( w h e n d o t
0137260 t e d ( s e t f ( c d r (
0137300 l a s t r e s u l t ) ) \r
0137320
*
0137420 ( d o - o p s t r e a m ) ) )
0137440 \r
0137460
*
0137520 ( r e t u r n - f r o m c o l
0137540 l e c t - l i s t r e s u l t
0137560 ) ) ) \r \r \r ( d e f r a n g e
0137600 006 002 f a s l - s h o r t - i n t
0137620 e g e r 006 001 ( 0 ) 1 2 8 0
0137640 o p c o d e ) \r \r \r ( d e f o
0137660 p 006 002 f a s l - n i l 006 001 (
0137700 1 2 8 ) n i l ) \r \r \r ( d e f
0137720 o p 006 002 f a s l - t 006 001 ( 1
0137740 2 9 ) t ) \r \r \r ( d e f o p
0137760 006 002 f a s l - i n t e g e r 006 001
0140000 ( 1 3 0 ) ( + ( i l : l l
0140020 s h ( i l : b i n s t r e a
0140040 m ) \r
0140060
0140100 2 4 ) \r
0140120
0140140 ( i l : l l s h
0140160 ( i l : b i n s t r e a m )
0140200 \r
0140220
0140240 1 6 ) \r
0140260
0140300 ( i l : l l s h (
0140320 i l : b i n s t r e a m ) \r
0140340
*
0140400 8 ) \r
0140420
0140440 ( i l : b i n s t r e a
0140460 m ) ) ) \r \r \r ( d e f o p 006 002
0140500 f a s l - l a r g e - i n t e g
0140520 e r 006 001 ( 1 3 1 ) ( l e t
0140540 ( ( n b y t e s ( n e x t - v
0140560 a l u e ) ) \r
0140600
0140620 ( f i
0140640 r s t - t i m e t ) \r
0140660
*
0140720 ( m a s k 0 ) ) \r
0140740
*
0141000 ( d o ( ( o f f s e t ( *
0141020 ( 1 - n b y t e s ) \r
0141040
*
0141120 8 ) \r
0141140
*
0141200 ( - o f f s e t
0141220 8 ) ) \r
0141240
0141260 ( r
0141300 e s u l t 0 ) \r
0141320
*
0141360 b y t e ) \r
0141400
*
0141440 ( ( < o f f s e t 0 ) \r
0141460
*
0141520