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