Path: utzoo!utgpu!cunews!software.mitel.com!sharman!sharman From: sharman@Software.Mitel.COM (Richard Sharman) Newsgroups: comp.unix.wizards Subject: Re: socket example Message-ID: Date: 31 May 91 14:37:59 GMT References: Sender: sharman@Software.Mitel.COM Distribution: comp Organization: /home/tools/sharman/.organization Lines: 482 In-reply-to: walt@utarl.edu's message of 30 May 91 09:58:36 GMT In article walt@utarl.edu (Walt Buehring (INTELLECTION)) writes: I will soon begin writing a distributed application using sockets and would *love* to examine a small example of socket programming. If anyone has such an example handy, *please* Email me a copy. I posted this a couple of weeks ago to comp.unix.programmer I think it was. What follows is a uudecoded compressed tar'd file containing an overview description of sockets and one of select, plus two sets of example client/server socket demos: one set using Unix Domain, the other using Internet Domain. Hope this is of interest. R Sharman sharman@software.mitel.com begin 644 sockets.tar.Z M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J$@#Q@P8&CG&J)%Q M8\63(&30N $21 T8,6C,D'%#AHT;)U_:F+%QHL^?0(,*'4JTJ-&C2),J7>\&;.F#)TY+LB4F3,F M00L0;^R4D6,G39D[>,V 4,O6+=R*4LJ$(0."#IHT7D2>/F M3&,T910\K5@&3Y@V8.>Z4#"G#)LR8^C$G5OW;MZ]?@&_$=SZ=6P6%>NT9BPF MSV?,I4^G/@P"A9,W=$# "2.'CN@$%7/X M>)L4J[/*X.I5^6L04.2\.2/G])RL5(#66DH@G/%&8_NY!9H<6*%4QQAL^#65 M"W5!*"$=P%7A1AIXM$#&&VV$P1D(R:'VF@(.ML97&10FH.)X&6[8X80BBB&Z0:)J)H:$$V5YZ40B" MBUCNA:22(K %0A,I-&6='=:!AQ[HJ%4$1QR,:99P9ZBEIF+)X@C/$&KOTR2EAW0![Z+_^"BP7"&CH*%D95>$U'AMO+&8M M"_:>)!9CWN(ZAJYEZ14K9Y[YZ<:!,'?FIAVJID'&I" $P89:-%-\DKU5E*,ER1%;<<6DP"FX9WTG+W@G_25U1RK4:EX9@RV(;&:BB6AMQ MR]Z6B]<88]01]FI/U2SO8Y$U^^R?D1'K[115.-'<''4,'1D-+L @PP\I[% 1 M>^J]@1X9AJ,K]L@R!6J M7HR9H5\;_P[M AJ2Y>OLK-Z&<0?ON:9Q:NDAMM6":Y#))OT:665?QO81 NO" M]PE(4?F&T"..EYF0*L\\J ,_"+&WNK,1W6ZEUUDNA9XKUF6 Q;C!I(%*!6)# M'5BD@*8X\($0C* $%>*_8^5I#!/,8%!.6J2"%V1E!)R!4!U. MQH,[R<\'"D"B&Y3(1&"1P2S+@Z("2D.5,/T)5B";PQ>8!"D0[&"+>.ABE,:0 M,D:I((Q?N%/YZ+"%+I@Q+70@2Y!81QT0J* ,7YAC'4'0 Q#L030B0$$1+ @" MD PM.N8A0PK$%;5U0:$(4F@")1%9!"<\H9-4V&0"UC4%*0P!":)<5Q*<0 4I MI+((27C"*YV A5B^4@9"2,(19OE)+!1A"*]L%Q'>!8)*_A()26 "$5X9A",$ M896\+(@FB\G)( QA"$68PBN-$(0J,"&4U!QE)Y] !2$P80G!K,(4LO#*(M1R M"N T)A:(4 0K\)*>]@SGNCQ)!2(DP97ZA.44_ E08Z[2"D%@PBR-D,PBO+() M#&6"0P/*3RJP,Z!4P$(YU[G-7.Z2HD^8 A2 &5"1)N&2KY3"$XR@S8 V@0FK M1&= H7#2B1J3"$^8IC&E$ 0G',&FG+S"$[Q)!',^80@R-:@3H*#2(P1D"BTU M9D(#,I"+&I.?4SAJ4CE)3W@.A A2"$@4'CJ%(TPA"5H JCB92DYR9@&E(&4K M%9[P!"C$DY-R?8(G(0<%*#Q!"G<59U:12H6]5J&O?PWLNNJ*U<-"X950,()A M$0M89DHVI(Y-+#.) -95JE.MZ_JJ%/@9!(0F9 0/Q1@X+5P.*DYT#.R4LF()673JAM0,-*82IL M&*9.V*HX!Y)/8Y:R":P<;Q-0;$F5SO6AWJ1"$N:[WIN2$Z?$#4@33EGBZ_3A MCED150+%:Q0)9&\3PA@B- 01G M&U??CH6BBMRE-;7"UJA$1PN>X &NJH#-",ND.HJ!*9U!6KBX<> M"QM2H( BGD0!=GB#TH((Z^94Y,L@X#4;J9, %2#[C(?\G&!0 )DAZ"03O F M$T!@ A/XT=J%/ $78'""9!NRTQ4Q ]ZF,NU4WTEAPLEF(,=&P4<0 K2WW:<,[Y! MH&]^4]O?( X',G(*(.C6U'K7KBQ&PXIX,!1CMW; L;OW>F.HUSA#*>#JN?- M!3>(2^,*T'H0I.@) 8QF$%,5@@3 MF=#$)BT!@0U@ ,:U'#I:$^[VM?.=AO^, %'OQ 1C9B5MQ_,+0&[T)J[Q*@S MH4TT25(CWFD$)1 , >FRZ37=ZSP"N9B!,YBAIW&/X$>Z-YXRD J47WR6Q_RYM]=-M)G_?)#+B;(T^$% MG,GB]+?/ S&100S!3T"=B86&-P"K.)D&5IP$DWOM\[[Z&-.U^.W/1'^+_XB. MEWDXU03/)#E!8 1?L$JIQ1K!\B#1<3"+009R\ 4CQ@3+N1Q53T6QH ? H0(/XQB%"'\:B ) UVF)2$@% MHB"/F =G@P)G W0>5XD]4$@P8'(HD7"BXF8L)P?S%G'U5CEK,#1W$"5G&!TB M !R9YHDG41KL@0(R@(OZUFEB(#!PD ?4A@)-Z$=S5HDMX ,H\X42"!S&V$;( MZ&@2*(=1@S)PL"?,B :!5!5GT!Z3>&5U-HMIN(8QB'QB^(.'V!IP @>2>&Z= MIH,8>#8N\#Q">!H=8QR%=( )&&-48$9&2"ILEUB3^#:%6(YOP(;&!H6/ MP213"!PF,)'T:(];2'.=5GM=J))BQAT7.(4166V',@;#B (QF9,Q"),R^88W MV&8HD)0]&(X@4'MN47SH&&S#=@&B+27.EF'*HJ)EZ"\HD 8] !*>DP8AMW6ON0(KD&PGEVZHB7"YF8H\YW- -P)5<46"\6LG5V>X0YAXEV<$ M216,(3' T1]MPBB.42J*(0=&HHH&-$68,3>D MJ96,L9,;^I'9M4K ,5A+\ 7P1%5- !RC:&XAMZ:DZ"FPA@(B4#EAH*2886L' M2A:8<7VGN7$HH8MTP)9RRG'[=A)14DCV&1M->:9D@)1&^8QWRH9?,(,UF 9D M]JETVFZC*HKF)@8$R3M%6&=9RJ1E< *7$3!2(9AZ0Z:_5J;]%C\'$HI=P5SE M-06]96Z'1)]U]AR#P7>-AI6@0RPA^I,H46=-\)\! S-2ZCY4JC,\XR^$UHBD M@FE_\3ZYXY>7T2F7$2R;T3Z 6:SW*:8E:D0FU*@BP*UE,2O$0J6EBBINH .9 M2I]S\!IUPI:'6H4H<66N,2 'AQ("NT@ @Z] @VH)V[ FQ*F>"I !&3MNXC<] MP(P9XS-4B:SY%JKB.'QI>1^Y-[/JD95":!E\IF5%>T=UJ *L8@>#!&V=IF5HVJO#%RC7!QR*!@)8JJ5>:RD#RC$V:T0J MF'D$B 5?@&-% (X,'KUV48)$"%,L@5IN[8*:$<;)RI;D@:VB&45\797D#+1 MP9*9YR=3JJU7Z)4?*Q4_(!I7,* ,XRJ3"AJ#H8'55B@M*;GED3 5T;5U$S"E M,AFB<1N0HC1R$27VG,* /< MYFVP-P:H0;1(*[4QT 7S1KNGZ:P@L:C'IKE2F&F%%+5;( -Z6W,D\C28D;%1 MF;63BRAX(3AX$8N9&X5, JY5:FR-.(N;2+=H P)WR[9S!G#/>VX!6RZ.VKZ% MF&GYJ99D(+*>0K)M^9PQBQ+P:[=!H+9L:T?A-F[EIJGGN[D^64CP:\ W=XJZ MN9=!$+Z-2[YO8+ZVBQDH$'$I )G%-,'3B[F^J'MP*1B21Y=SBILXM\&?*0(C M[(;BZR<1!YD*([TNV8DI>)US$ZKL6'SO2+$YRQX[.X$)&Y8E:4 )J2HH<%9' M0%.7]*>ZE(!'X 0:%Y#S$AF((A:1$2AZQ@;I86L$R1C^(FOL,3%38[E4NAYH M+"A3Z46KFSP'PHZH5@18W+;RV2;V0J6-J#6'6NIB$\9L !S>0C_\<1JA,SJ-L1>Y9JGK*\@4,\*0+,6(ON!BES!AQF4,@H +_ ,;\*Z'*HYP9SIJ;9 MQ@3;9G(G=\O&QHD]X,94<:H;*H2I&K9,HLSL617%#'DI4,Z):GOB#+]S!KU M8JN)>K^'E "B\V8L06V!J=DT 4-"W?M!G+.^DODE4VI];V#43G()S5\P =Z M3$B%U$FU] 0$/0,X8 ,'C1(FIRT$V\0]ZY7W"<5WE 6R[WGIBVZJAB\&I M MBQDO:T0@39\AC;&B46>/1")#4P=GL)'-0VOJ,6N&.,B;S :,0<\"-!=T$$#$ M HO H0;DFM+E 0>BD7L)<)<+9\/N*0(_<-4@\ 1ND)F..;[[(QA=71PZCQ(V=\">$JH>UQRC M:L>+HT,W",]J_TN;O^W-#0*M#_6'L&[6L@D-"DP:P,W16T%$L1/=&51ZVB MD=%;^<12D<0NO;TPG0!R?=)UQM0K[=(G]]+=2Y^F]A9N70:?:G,X2\TFVFEN M:M@O&*?/*=6=N9LB0 0AZ@(-^XM9D<9RW(4!TZ&BB\8@FKXC>G(FBMH.JJ+\ MF;DO"B9]J=#.AE%"C&5(QR1NJ093L=0:JZ5>ZD, M+I]7^@99NJ5B.Z1?^J-A2N$ V\XKAZII&MGTN=_X3*O*:J?X;(G7QZ<$Z*<. MJE6"2@57LB(4TG83U'0E%'4A)!)59T(QK8:*^NM4;_N*8 M :AU]8_RN;CLXQE ^SB5$P+H%A5M\"K[?];9 M-_+EYQ;>!WYND/ $ST3FAWX6OW[^,HN0*+[R)R<1C_((J7\G__*NYW_2E^_U M'GE]:H ?Z(]$OX)ED !WVRY(E5Z41^OTSO0MR!:N"JLVR&8YR),[*,1UAA>, M H+H*(@/R!U;>(&$V9/4:T@>V(^I)8*B98).D 4H6(5F3Y@U:9R,4H5/.\(^ M685:!JM7&Y"/<=-$'7"3UC7%LY!18A[(!X1&CK5DBQGJ:CVIPRB.L^ ;BGQ# M6(-N$=77\@61),RC7^)JF))K'(95GWE.D$S-896,H0(I,'IGF[[.8EC.&QQ4 >[*"B7MK2'* >7%D"_=DAU-K=B M*R6[2/TI\!U=^R$0 R&*P679^'AA(QO--N0G8?R/=^OB/:,.GI & ,0=1K.9&Q$@ IX@!=NBJ6'KO8 M58 /DV*:"00TOUTTL8(.0>MYJN+_W0P!&+2('SDZ&ZE/)5&;LP&''LT F4-/ MZPY9(3V$@?@0U'*!Y&E0^2W,,USLEK=C$G< 6[V" \1"KP]WXAY;)R\MX=Y6;BD(;@MN\1$G=#84F-IZA44@>V4% MX=/@$%2-NU,_J6JU&_Z&IZ!<%Y)R!>A/6;E!)1 *U9KZ(?0C=0@,-N!KS)G] MXFX:J[1!*DD%LAPJ@(*G:B203& M+%>F$1HAC%A1":J0-B 4@!I=N4-TU JNP.B&3PMXC) Q,DK&R4@9*Z-EO(R8 M\2YLO!=6Y9#*I+M)0"2,$:N3P8YJC>7**E\@('P6T0(,P]VS8%*/@8T())AQ M!]I&H)"$7R38Z!F%I6GDF+928V4 \H4RC$2-7N!G( NBP6( -7D5/)1&?$@ MHI&UB2[S$!EVHXX(%C\J-H(-;+'JP$2AZ!F8 =;A@:@A+7@$/PD>1:\S+H%) MM[X,XJS(=)9+HMD 3D?+&E2G@7AB1E:U&=?UG+X=6PAWQ)";*4,F(*BT2MRK M$@O595P$6EL)"<0L^!'Y>2=BB%FQ!#_L=3$2 16Y4CD(#J0*)&U2BM1$N# MU) F,DK@(O^X!@ D/AN0!1*IZ,@GD" 7)%CYD1B"VT#(_Q:=)N2\"0-FH(MD MJ[>0(:-D=M@5'5(G?D@W$"(?$T_T%25R2IX1ZU0KBEB=R8QP,D[*R'*=TH)L8$ D3DF90:? \Y*<5\E $G M&UZJ;/8&)2BGT@2:/A6Q6$VMR8S\B=B4$693;>(U)D1""KC>])M\&0H03DVH M.*VJ/-$PDA-I8D[.28()R[T$F8!BF\Q.@: MHBM*K(ZG9TV6@-2;%FM!#HT_P:';Z$!F(E@?*W70I]61L*S%I$ !N&-8^0FA M.172@*HP#D,C;!V:_1$E!)D)X3*+CU%H!]DU*M*2;/27*Z-E&JNE 2Q_TNZ: M(^+L2"XVM07U?.83. *$$AM>Q-)VV<1FE(";U F#;4"0* [;8J"DA'KJL!$A MT)BY:!":&A0#I"H8AF)Q^ 0$?HH+7&%$0#YDU6F, !'X FE%I5 ;$S"$Q$@D MN3>\\#FD+WMX.O. 6Z@X>&!EXB=_@:P\IZ!*+=1&;I+.T7K80[L;GB=A_<##B!$DF$>(*F,%D4<9!^"X&-37 M^CE]VC,%KKY"4CI)WW 2'O-+<)%HE0^4=\:6F,PJ7R6/A?I9MIG^'R?/ JN M2; 3E:U\PP.:G$KP1E5/WG4RM2>J67U[;;#UAONTD@XGFJI-IQ X7(?=*4;< MI^KC4>$D ;R^;0,< I(9P)QL@[#U*%1#S];?==B@Q20@!5 GU1Y*@U!2>6?! MA#Z%#1J0LF990!2DICDH3PLY'E* #$T GVIW18EK*-D(FM^X"[8N![*',A8E M\@:D*#[B:7:(#.3AR=178$MN72%A2@'N%M4PY5YZ L8G,MR%)' "ZAB^(A5G M $J@MTB<6>]PVJ V6A$D(>)DGK(S3ZJJ M3\FJ3$ YM8-H .AH"R'Z%R@A$1UIV="".*J^F1GRE6>P-2JS3@ HGZ6P]AE* MZ$IPE H%)(@$U>;HQ:JC%FZ17:BQA1O#Z<"4&OQT$J(I9L1*S4U)+23N]&K5 M#-LY3%=@/S6F\G,XZ-.8!=+H*#R:IEG+D?HH:#$MRD!?$!T/ZT4!BQ<'&4 # M8PBGZ&B?MIL08#HR)B#A#/&-VJ IN!;/+)S?0 &T=#?,F;40."#%L6)IFZF& MU<3#XWX^%E(UE;[,O['3]D?CBJDD^6BH#3JZ#S0%&,F=T6 4FK,UE"=2=^V. M!R(UG<,(:<;\6%#UU!"+$8!631\N&FQK MS*URK?ESS!@;_7J$[NR?>B^!M?JNZKAS4VJSHTF%.>,1[Y7@< ,H(/=)*U]D M4X5H=2N45E4[C-+XMLOVXUV(4F:5H3Z+"YB*/I5Y#1/I-:&LUS!H4[W7;34# M6\ -G,24&,$"DOCX&;."RZ"Q%H!K-(9X8JI[+3>)@,1@*'B%WNAJ3:@QS8$+ MN-; @YRPE:I).EBB ZLK54!OE0ZOM(CN+LA &_<""G"Q5/6I9:-"DCHRGHW% ML7(45%6LDW-RW !@*"3T3+J:6#,@VG0E09-/9--T[ C8)MML6SS9JD>2#(YC[[K^A5O4[$(.O>1AIQ MK6H5$#]0A[*P,80:)X(.Q,JKQ@:]L2CF3)XME8RAN9:.$FMD6R5?:V\UI]/ M6:@I!8 ?5!I'A?0"I5831?S<'_(32XN0$*K4F9ABGVDC0:60K7%R,U?Z*\LL M"."?L[3O'-);JD@+2%[%#+QT8)K98 I5<"=,Y9TR56^BA./6;O:;?[-?%^W. MSAN"BE\-EEI"M/NLV% ;<7$7?@Z=!6Q"%E3=/QIW_&Y=T.*&E,H;=J%(.?\( MYZ0=.PI>;NJ D*E#0IZ."6$)P"OTI+D70M$LP@TH79A5.HQBJ9>'2G$&+$W-.XAX0 :*A--B)09NG>-\O>@%> M@!6^@)&VNZ3$S(VBS(@$Q)"+)L],K@A($JG53^30%RD'A$>]D;GW26^("ZA+ M<[D@H!470A<$]+(7(!?LP)J9D##W*:2MVW:^K:L)N$"FW MGDHTZ)NHEF(]!]6-H@ GZ]K=KQ!UR0!M(KIC5P1P 3K !1()09VZ?+?JBHN9 M%DE.&"4)N[^HZ/*M1C%X"R_6!5Z"]_&^VK?[7P-TR(5HH0#RV/NS?+1A786-/S$J(!_:7!V#$S,\ M##+B+K4O9C U0+0<)I'@Y @<9"F#=]'DCH_WZX',@]B\?Q4 WXP6TL5DSJ?:83]T+&T,$ MO-\Y("Y0P ,.$<9A=< !ZP$Q_,7UX8XH.#;4@8V1GV+#G%E=.51)<0=5QQQ9 M3!DNY*@1#.\7 M/5:/4V$9YH#G^%:I"SK<#]# &O".=IC!:GAG8+XV7"QF5 Y<#W- 0!Q0#&H\ M0 1P@,-500[_!ZU5#E7'BN)I?.,-P"%(]JT8\5>#P)5T0(@ %ZI0GX6JH$-2 MX8HH+!I,0%'-ZB@1D&=I5(0MD 02TE_J<%[K.HJN 7'40MBFB [U(E"8)]DQ M!V:NU8P09.:HZHCX1?&"Q)YQ'GIC1"P&I &?&(.0 G+FZ5G A8G3G32I(0,5 M$M*%YH^'SL"#8.4#^A[QQ?5!(.CC M8VT4$@(D:EKY\K#\14=MHFM:+G_L?DKQZ509E:$#UT:LH !L9^A\ D2)'?G0 M!$!F],,<-L.0=$N*&E3C+23LOG0+\8&E^EH]J9*YQ*A(PY>/#6L^=YRXHH.6 M;4K?B> YB_&:%0HK$Y "2C8FN04?BO_"QB%F%+#L-G@N-%6(D4=1SLF?4YCN M9*0TE:$C46L2 M-W6+DT%L\@:0X)*3U(8)D^'_H HM*1_(B ;E5:@1!-0;J"P?H 5VL%W MZ"@H-8P9*F,WD <4 %VR\PA2>"%\Q0Z MFJ[GD@J9"3NOXJ%Q^-6B M_!DL*6(FH&[@!%B'$N<"Y@SNT,@>"HVY";0)C549T-*L0"EL]D:8C(3#@P+@ M&GU$.RAAMO"QU@=LD$/4(1]QA20@&,1"@"X6,:0TEF*;+)-I!KK(G (Z39- MP(B+P011^\_D(G9VXE0!I4(Q>Y#&=3A*?FD/?9H9!0Y.FSNZ4*C+(/W,MLU% MK)A%&?KON%\8V^D')J (H;I.C&!J- M""[,MPK +YK[C;D_S#G'9,=X5 MY6 /D*XBJS@0,1<4 )GVF.YC,EPHLT"^[J^N'@^AXM&TC+'1BV'#W#"H[VHY MDYH#B"54!1S:E+&FUG;K##7NX*P=2Z--]];=#E-W'14 J6[0C *BZH?]%+JJ MJ19N')6&-EI!0DU_"TB@:-720=B "9J1D8^#U(P,-A0YDYH0?2&Y[ZD6UU\$ MWKTQ2Z8 V,2" ,3QJ7"1J]41*%XUAT.HC0$Y(XU]:9QME#J6C7XBDMQI=0C< M9/:I<:)+FV;/8ETMH/U$O^YS9@!@!XJ\G+01!<'F"QO#3YC6HVH9J(71M-5 M22Q\+"8!$ 5V>'B:HG'/>& %4(#!<(:RP)U+;]B:BU3'JFE?>*1 :P:7:2_L ML)=V'.W*7W@0(2Z_6)W=A'9PT@5)7,AG/2R4_T-;7LA7>4^J)+A#P;-7\O 8E MA=] TUNVS(@*HN:V9:#5[II'A!3L3#@D2$R ^[5=T 0 MQ16I9'"[23UF97%> \.59?*!QKIVI MNX=FHP./5)39\OJMHE>49> =8\.3?6\1<( /!93VF ?"KH6R;LF801GT:11Q MP)<]X'&'_@C( ,E\-8YO\W!=4VT&!L100FP!U0R-6=U_1R9_,IDBU)/#4X4: M7E]F%7<#,I-\G37Z%#4]E,YLA8RM;OY,/\PPAJ97G0I',RNQV:6YKURF>,+; M4WAJ%G1?G9FR9H38F@G9:WH*L&F=QR;BB0P/V%[7\X?>-G57NP&<\A2V"O2[ MF3?9V<9B)$ +<'K$/AH2(VVH.JFM2J5R3%7[..M$Y!03TQEE8 S+J2@PI^_> MG$.NMJ-5G7JA(/J];Y.J6$[/S!NU?I4%^)\'L_B-01OF/.4[@0 M%9)\78@,8+X!K=&$0W70J4AQ<3BKAL&K#!\PFD+N!C:^.S" M'L70!L3%#^XU(_U9M ")39*G0+#@[!9:+*@*AU&0D;83KQ/M)WUUI6:A1Z1" MO9$*7R.4D07IO$6&JI(JJC.C9/N),I%'4O'RS!F"H[9'B5W-[;@"$2!-V6HJ MW&F_^JVN4\Y,FP>)Y/;D91=&2WC0WPSP4C8C3%O-%TG][2?!IC;N[]6XM@+ MQL$_R48N59&3P MX IYC2F&NU4=HA)HG^P\B?7ZJ"FIWT\+[FI;A:#-:..+ MK8IC;:. [XR9SG483:%"V^T- M5Z.^Y3SR&/;B[S_,M,AL[&M%H%8-7IB9.WMQ 2$.4BE;CJUA9%BHT]&?7O&P M5@SD,DK$,@*B9]+WH+8.>KLVOBMA3LH -UEK&<+!@[-S[?UL#SUYS]$*0 3, M]KT@GBKP'F-PD&]=#@9:#:5:!R5U\?0>>>1[9WL?_/P3H!F=GI7GS)DVH5@E MTY0*XR&*UF\F;\NIE'D@[\ F [< VCXI<#>SMM_+6"SDD8^.AAG/?.9M\SW7ES[POGR*%"Y G37$7O" [M4> MV?L%SX4V.WYF(EUKF]C_;O9@-$4P='#LZ3Y6H/;X(-F)_J'K2*'WD"98#93/ M@.%D+15PL-$L49PHY7&F8D_Q(4(-"'C"PQE -GIR'W"PWGB+R)$$L$#P./SU MQ@GCR\3.#NW&NQ*/%GNW9QIOD3 QB3\Z_64B]4_A=5B-_I"!AN*W/_+KB/8+ M,M?[=A!?S%IBLWF@=3WC@WC4/(>__$8R.]%'/G=S=-N6P3@@Z>C Y\\&TN?! M(.J,M F#5&5C30VOR.9X7#!S<:&,&\5^&NWB8HX C4 OHGE\:,C*Q$/OS_=9 MS>T'^X9F%(]*E;?%>7;NG"=3^;ULF,8"1IJ@8 S#6M#$Z0W\V%REEEAI7MLK MY^#A1)1>\_#'%3K=#@-(&#R &DIW$-HA9-K!0$:O>3A!4T''D-EU&$Y-AKF< M>]0!=_2N7!'8'WD0NEQTDU^1TN89=IG.&V"QC6 JH.\FZ(DO(TS+]S1(8L5" M5U4T@0"* _,W)[ ZAEMX)".&>7 M WK4Y]!JBD]@QMYY:%'4V/ AO 6\!J%1M!%';F"> *]Q8");'P8$IF]U'- B MZPT)0@NZ5U9D*M8+1=8CI@Y>#F+0YW 9\7*+QV<$!LEQ-Q M!4) >;9$N096"BZVRTEL;YB"ELSI5]!#BI*Q8&U6@8XGJUW>< 2%RSL$N M 0TDT)^3L U01 U1!>!]8 M*M 2!F+6@Z PU)5-Y%?OIA+6A,.*^P6L"7@+0\ZG M&O@@1L"6AIS19$]AE!78C3\.3IM0-I0O04H7,F^$+.9=&7 54BFV1N*R(L@! M(=0<4VNE--,9\A H\'4#P[@@ [0 G1PH]NEH@SQ@B>5".7QO7QZA]XF%GU[+ M!EY9A313=X""03(M&\Q7_G$%04!*2)XQ1\O9/306:CAITXO@G>%SU($H"/8U M@N,"V;0"&@&*B=4T:Q@'$2!FD!#Z3_%?&J"K@'U5U.JV 5T&:=GG=XZ%;"', MQR)SA05C033HA3%@^LD*V,%0#N(+7^@F<&<_6=E@/D!Q'(HO!!)V/A/?066Y M1 BGH69 AV0HS-PQ-$D\;WQ;-^7;E M _-P&V$NH>&=4OG%?@S:CJ?8<3[=00B%'6IGLQPZA-ZE@4+*?;<P> :-X"[W(A8+8L*)N!UD M25A)O=*4/ CF85 W%44'C>"PS"O\VV]CH.$,EHLJ!RR$4#1BT^>@07%,5D)FPZ4TZAZZP[5@:,+1>2>^ M#'Q54X-XZYF)D >(H@ (E3$P MVY_&,.AW7$$5PS)D@E8#UH <3 7)GN?7)=YX[HE5M-4 !ZJBYS(5O $-WK_W M*J(!<($/TIV$!03$8G:)K81CWB\FJRAWXL)EL!JN:HXA0*2 G7XHF/O7/50% M4%ITE*%,5L#+Q5:AB7[P(=X!!Q(-R^)RUS7I98,AF]BBS#_^"?* SJT!,$.Z M\ @&B=F854"( 95PWZ'> !-/5KZAH)U>*C!D#C2H1H7(F)T+M%S2-.L4"&] M8O<@?]8TS6Z:DI94-]2'V$>D M%6^='PBP_76%=XI\V*)E9T)9F78NSG"72\AP',F,VDJ]T"\."^R*3I7158NM MF8H3!D ^MU&\$F4A+IK!0I>P;%5^DV2FB]QO%!^::.LE@>\BH:$1-@=.HWDP M&)(XVI.!PE#I#5'69*46\'5L5M 8[2@ NR'E\JY$6;#(F[!G'08O7&*S_?B& M[@ED0#E #/-=E#-)/(=H#!S7'9Y'LQ_3.#E@.%\*QY=XB7R.6,"'H@4P\4(4 MU[()CD"B=QBR=%^4"D-%?ZEO#,[J@C-JA)7?O2B:J0R&!J+!*$B+J!E-9KD@ M2M3B.;8SSF?^ DRH%2*)]V&Q(*WX@IC$"3 %J$<'TLV ,Q:(_2$L]A_2B;-1 M/P0RS7)^PG?U-)XKHN'Z!G-543#A;P2]L6Y[H>6B,68^S&-'!; J@7A@LD#&Y#6NX-%Y@ MXZ,%Z?T)D Q.)*4.CF_(V'8W,I:'=V/[F#I^1T,8&R 7[H#*'14VO=5M?E&\ M@K!T*$=B] XT',&H ( -4UYH.#ZP/C=*;;(@? 7B0V*T7;GD/!Q*8I_HC^( M!&!A%9C9<-EC8 M)9'307M0Z_5O[D'E9QPDA&5 !0;Z>5/OD(=0-C22G]C[==NE+U>?/[?3O#%Y MX3=(N!0+S%HL>=T1>K5"RF1R%+WY5:"#?M@RT#/39,EV37*, M1U.MU4T2!P540:(!=FN(1^H89>%@7:&.YC]\9Z],&3 L=C/D6GKP@DT%161F M\J6L(,"=K;! B@TSG^P$J:06MO8..Z$>["8RE"]#2A*8X-XN9AM6J0AQT4F M"U^$R- ]:0>9S:PP[$%N\.2%8*7)."%<]P022(H+7"[U@/PTCD\7@8VEA('D M'UGYU&"T%"4V)X13;Q DPR&:,N#5Y&=3+I2#9'R@GCEPV=LL5^+=-#E4AL+< M12JWP2'&GFF&D*&DMS+T=OY=>9A?.7326(ZG26Z#LT)ZJ!$^;WE$K<8 :B)L MQ&4&5/%L=AV#4[LM!P!"BN=W@&PB&7UP2 ER*1X>%B'B>@="SV=%4I*0#-DT M-VJ!T9_?X85U<]&!WU%H1 @WS=MVRZ4&!@/DB+Z]9" 85DF1'U3&)5R-EAH M>B2H$46]&K*?!K()N@^*Y;CS2+1?7*)%*1\9?U"@JR,%QCK=X4RC! X)F'XWTI'5^*IC=211'@U*2[72J2)>-0/B(*_A "1"5T M80I %&)!!X%#0V0J41I8 OQV*6R25DEF1AT55 M?C47;I*\D="P18H A1_[AZ;1(;47K$ #WB?9W^3 ,A0+B!*WDSDN5*;,]F?\ ML2AU#+77OS5P'M:($ZFH!0I$@A)_0(G&G_.!&NQ"Y7(CW"F6YV4AI MZ2#:6)"@$1FB)%C+D3+%.=9RHZAP=@8\5&'0QYJ,),54^]= M&: [G $9PZP @ E@<\'WTS*%?*)&.>EC96S#V+\':CAKE%RAL 9(>5X;C=FR MP8#SUU!($B(>96$>T6BR,>%!?#,I&)D\592UQD@H.F5%UB&]!0S(S4 =.#Y) M%PU7Q_R%3..D>,K,:A86)55(C@>$9KS(R*0'8]>-N2G2?$Y8$_4_499(50-F MJ3QH>TSJD(T CBZ'=1=.GDM/RL*4'IP+T217\+\)=J1BI=$"# '_Y7-X*M@H MT]F #')=Y",&XFED9D,SK\H-266\\\9:%3BA]J*V^AN'GTBSMWX+GIMX]*J MX%HBC$Q"&E&VA09S)KU4*IHUUEU8N!T:B])F>N"NJ">,1*'WI(ASV&9M2$D! M>3J*&J%'^ SK9-I$+&1Q!X+R)$X65 A""+<]H)?ZFQDC1/H@'4BBX_1\F MGA-BDDU: H)C(T8'8J"-<%QJ7\;E\M:>@2U "Z6!Y44Z!LW0*1]UBESF=5>I M)"B9Y+O(_*4O.8PBB%W:B4*<@V:F$84VCMFF]15YH]AQ)^:M@87+=ME2DGH$ MQ"GV%80%,UI3)AQ>8G\;WOE%4!] &:LWZYUS)B(HJ>GD**2#MW!V=@6,!&MS MS_F.9>>PDJ&,"$T$LY)%P'$D&BQG'7R2+4/I&28@/*I'CI?R?!]"#S.B6DXT MG:)H!)2] 54@=$!E$A 6Y110.?B,1H#@<)Y,E/6AZ#FL "\U"BRW&^D-0\+) MR1ETA;08L+8%W)XV@!WQ&!4,<(+-F9FHG)<*YN*X77!900?2G32!04K&8R3X M97XGV5EBQ7&ZSJG&) AN!T(L@YW(#>\;@M.=P'ICX,ST-:!]7%[@H#_(#4&= MH] )ADV:&]56:2)\YY.M\4,656P>79A$LI[;Y&-82<:3+.#*"-RD>%.A&..B M<#_ Y[\D>28*(TQ09UB*;X%"&\&VR05(WP%JG6%%_D'0.C?T%5A"X)!'AI; EI]Z+JI!G8XSZ%>Y;+E M1&]"O:A+.9/7"P,A1C@@$283P2$4H8=K[UI?H&9#/ M>>8GC*(+%9ZY+5ILQ!$J.J6XPXN.@#"3(#?.62JD M PH %DAXYZ0,$&3"!J%8%<>%S(TJ8YB',]$+44(4E@#"BSD0$7D*NJ*#6S J M>MQBJ*4I$^Y]2Q-*J@!N.8PB6D):98$ H,@F1 9%4"HF-,E*1 M9&A&I/=*LK>T>95X(?_ (<%,!\NFMR:D+T.I,M0D]4@,TFSD@4Q6&D=5:$H6X'?*@LNX7KIY-8ZC^"EV:Z5H:S >7&N03"-: M$6@UB)IV SP9>&!2# ?AR'B6#VP#>P!5J6,.LS!R1TC;S(4>>(9Z(V&T-PPK M-Z$.>#/4I'A':0 ;F'B1$-&P']2,]E $&=P-G3G,9*4TZ6!H0,A@C 6$D9.K M%VG697I?:PD>R3K B\H@:"@ H,L*>1W&.C^G>VJY%!^_CH,".2P[S>0;RJ8=%GQ)[.53=T*".1\6" M37HJ[!UN!=V< X" 8 M[6 DD+\TTZP.IU.$V!KP;7DEL%8V#F!_W05SD!P*D@I>I2WR3"#_7LB'?PT2W9XF&>Y(J"H8OT< M 87QK7*?7KMHJ?8Y24,P%KAIB+W;-E=OK@ZZBE]@!BPF0LN0\"RH2Z?&3..( M+)4-GG%P^4P&JIC3F:V\3"! #N "9 3:@:Q*JUH+"@ 5\*,$"3*@\!FF109: M8G C!^AZGD$3D/_T7PH $C#437$7P_,1NC%]2DBM$#%"=R*=9YG@37K2@SVD MB\9!W@*UX!4"1+L1&T%96C%5@!1 >4!,Y%VEJ+SE&B]9P"><*2RJ@F=GAQ5J M0&,5&5WND$^>:7@?V!J. LNP!MAW1!]T=Q>@8NE+UX*#^@SEXGJ:F50.:\R1 M1YIP!;(:PPI,;BO#VCU>.V, 0M?<;:*=3*OYKJP^V]S4YV*RK3E8 MWOIM=I140??DL-D(%@230GZ!''R,TE0$"!5$A5&!5,0'$%\9>JH=,=F(UL+@ M4 ZRT9>FF7415T@D:67&BW_E=3*3L4L2T!%V3 Y[U,'P@.V59-3;*\89!(C* M7;SY"U4-I5G;MRC4&S'A]3$=7(5F06SPR=QI?>LIUXA\&*QGP9; &^M(\!R2M;UP+/ 0<)"Q^H\@0)1!) M+% 2=# X2-VB3-8EE:E.E E9A@J2"@35J=7!=0]!5P=U!%]B3@GA*= S%=+ MP$(H7S9!\R5VD!TU %L'P$ZP%&P%JQ2\'27FFVI"*0!O1^%7KO@YVDK$1S@\ M?YQ?E'!XR!V*AV@P?A0\5D3J(?( /=7'0=@9A#R\$#HC3JVP3(3O4?'X +P0 MQB/;N!%F"\_C\9AC(0\.V_', 6O&@O+S4!^OA\Z%"C4)\R6820D\.Y8.$O %* M2'I@HN0]$(@GQ/=@&9(/UO,G03Q52/@ );PCR-,7(6H1(0&)Z+JAP'%V7MAR M*=R1SU;]H>_ 5FQ++%1;,1L)##(38V0OGP.LL&6P/CL=&@J8LJIW0=]@#:IL MLU/&-MA)H+Q1A?-+%3G;C*D5Y7RQ5 Z@TAK@JD \N,@M2)_$D^RQ)Q(&XUXY+[BL MJS35U$1/P!+0:!"D!U_-5"T%6>?-1#9\_"KOW+#BBEY6MJLHJ1MAG[$ST-'P\M*Z$#7%\,SB4*<2Y1UE=&F\OB"8[*T;@\71\!Q$QS MQ&%A]T',R+",-H,!Q.*.&%_U38$%W]Q1'4O5"#VXC Z=1T0:P%TA$2_$K*DL M+(N&NMX,6<"LO2DQ_3%:S!' Q7@Q_NS/B(V:,>*A".7VD9,4PV\J KJ1]Y+J M,KE2-Y7K@>#'U!2K#!W6RC XYM*8FG((&3#VB03*B!RLPP(,.UL M,E*8FYDX6ID:7,^I;B8H@8Q>>Q*X,H;,POG7&C=HR6?E3-%7CDHOH\RH&L&, MHD#,*#:6;!$PVG(&S0RVH6W 4F86)V*))%ERDV)CP\XWY4Q+YVJ1-KHL087- MQ(WXC%0K&>PJ4-WP(0E"%E)[!9H-H=8F&S&(0VF :1*W XA'56?.M=*#+X+88C'T3JDRW M(L!D"S3LLU7(S05$! %I%&> ,/*@L>&LP(^V'HR!@&EK/%BL3,2G-]8*+8"J M4."DL%D!F;5QB+,%C/\^N MC=O=60/A+DW$+>4#5'4)6XX%VQ (L& .O17671UE!_*UP)IU.P&;4Q-(L$IN MEJOE;KD+ 0;[Y\P==0<0@;" L(^AWQ$UD+#17Z(S%KH[ P\3V\+"GB^LFRO# M@AD-S_!AP^X\5ZP.RR) L<3'#XOGNKE#[#VVQ)(?UH<2&^<2NDYLR\/G2K$5 M8@4R#5JQ@"X26WOR0L0"+,%*;%&0+J&;Q0X]9*S1,^5(#I'%+OCZ8 &=+O&X MS<)"\.6XU>DZ/0%=S_0S43TST"!2QR:S!HT%TO9T(/R(%)O-+@&IQ1> QEX9 M:Y*^<_5XLW^2UJ,?T4^&S4]4ZJ)0*(#L@XS8/H^LG,7[O%:_3_ CACB[%Y-I M-0 A) 80WX*0Z$ UILHQ;>59*8H$M-]60/Q5 H2+["ZV#F>P!E0Q9JRO*Q'I MMML54^LOM+M;G&8S;H%#5&T+,]5R0/:/'\L9@%HS$1E0FXD^@%5PUTGU*)]4 M]Z3$##X.%"$[C@QUB4\C2&BY8TB=:L;&3CX>U.W(N8&/>R65HKM80JB0C912 M+4Z9+"%T3V5"@ M!X\FZM54=!LAAYG@B@$P'/>TN>9(QM*? LD[ KCO+-D.& MRO?2V$U#U1"]:RAI0V/!0]H+J3+?D!?4[TY*=A(\=,[:NDH),BN#J%/ZD=$; M4.&TW^'TI"CE&LJAC;.A.$H<$>;H]/JRXI!$8C!9,0F3RZ$O84P!T%[P,)6O MU(850S%93&^OMJO\!#8HG=S$,T4]+-TMZ]+9NUFC3,?OHKWGEN'D.-5<;2PO M5#DE/A^4*G9K_20F&2:!DG$;3AWJ5$-)=::>WA SPDZRT_)4.WU.+55.EU@! M6XM560OS4_,37N1655#WTP6U&.A/_-/Z)I-U:0,"JM=. MCE"];P(%Y;!F#=3BNP+$ +-9 I#\1K_*5/<4-6A0L$\'M7Z 4/TM]QMTLF _ M% K% JA09\B*,KG&3G;"*%;_)A.;[\B90]E@64G!@+WY4% -$.7.9E?R;2P% M-C0:293O-RJ4"DY4ZAI%-7-45(9BT]ZX6=2ERT4QN& 4'"!&07%E5!I#'C@, M:M20ZT9YC''4'X6"7%2D%^'KNZUO!HX^)2E1/E, C?F#OCCR:IN%@YH_V-1E MH&MY"N:M&+32#E*%%(EP2*$I#]CCIS1NGY(4)<5J6%+?F'+IDPF!WB/XY$GA M3]U3*"7DV"6E5LUU2J4;J=0J%?&R6K"MIU!G6'IP&JVUCL6_QD&NY4OM+KQ6 M2_5K0;];L/3[5DE3N\LSE3CU-T]=M8)345;6U",UA6&CW%0(Q4$B528*.;4' M(8\Z+[&;S!J[9 9<]4V]4Q'DU,N3Q*_VU"/,'S)6(94_U0!+#2]=4PNP(51? M*CKJ4+4_;Q1GT )/5!7-"RS25%4KK6);$6(HWQ0Z^E&962>OUL73/74X72^\ M5E4$.ADQ=0G?P>:3M/K7"/CR!4W98(5+Q$^K[U*U5S/!X4V=$ M5N-)-Z8T7E8$36:U!,=#VDN=@=\8$3C+:&6BE%:95G+5FK%>!U!K1;6\5JDM M"! #S%:3K!-R8.56#XRP/#5WJ3+=E?D\'=%XZ"CY)5_Q;H%6+K/G"42M5?N M##S+SKQ>\I5*JVXV#!7O,;>@!&T!AK:,7EOJB87%8)^N'=52U$2(6B35=G5@8#"FU8RU9 M+=:+!0?$6#GNC/6PK'(#$)!UT;A8EDB/]6' 45L$8UN-%I+%@AW%U!6 MZV0]Q()!VZ@R&(;4'VL(K)3 6I:V\'(Z*+K$E[77A%E'CB,D8S'%7)2:]:D] MM1_LD/!F7<5REFBLU'918A6/ZP!!0%# GO6+/:MV&2;:MO5=!8.A!0'MMXH6 M\,!H 0:B,:3EUTQ:U>ZE-7QTPR(Q.E)G4+A0 O3H^G$\V]V#I5AJ+;[F:%(T MO*&G@9B2M9Z"H4O/V>.YNYB:68I!969 SWC2-;"Y"L!\ +S4:8WM?X#M((PB MZO=1&G5)J)RK"I;^J*-BBSI#7JDPJN*I:RPF-.J+6D!\:=Y"CJIR%9I=ZL8' M: &IYY.02G(6J=[6D7NR#QRC^PC_\A "S$<@RH%DP3TU=84 ;8>U8ZSNE-N[#60LZ;H\?9:S!@MD+J^_B"F