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