From: corinna DOT vinschen AT cityweb DOT de (Corinna Vinschen) Subject: Changes to winsup-980812, again, some more... 3 Sep 1998 14:51:40 -0700 Message-ID: <35EF07E6.B2C45B4F.cygnus.cygwin32.developers@cityweb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: cygwin32-developers AT cygnus DOT com Now I send the patches again, and some new I've made until today. A file 'Changes.CV' contains the ChangeLog for all the work, so I describe only the main changes here: - Tapes are now supported, rewind tapes (/dev/st0, /dev/st1) as well as norewind tapes (/dev/nst0, /dev/nst1). The changes are tested with SCSI DDS streamer. System calls are tested with standard io and with the commands cat, GNU-cpio and GNU-tar. Many ioctl calls are supported, eg. positioning tape or setting block size of the device (if it's able to). GNU-mt runs with only a few patches, but I have written an own mt, which directly uses WinNT calls. The ioctl calls didn't exist when I wrote it. It also uses an own output format on 'mt status', which better represents the abilities of the WinNT tape support. If someone wants to use it, I would publish it under terms of GPL (but I don't know, where). Tape devices with setable blocksize: Because the cygwin-dll buffers tape io internally with the current blocksize, you need not set device blocksize explicitly. Nevertheless, setting it to a 'good' value increases performance. I have made two simple patches to GNU-tar 1.12 and GNU-cpio 2.4.2 which are using ioctl to set the device blocksize according to the io blocksize of the process. Where should I publish them? - Added support for Win function GetDiskFreeSpaceEx(). - New ioctl commands for sockets: SIOCGIFADDR, SIOCGIFBRDADDR and SIOCGIFNETMASK. The interfaces are read from windows registry, BUT the Win95 version (Thanks, Tim!) isn't tested yet. Who is willing and able to test it??? - Changed gethostname(). It now responses with the hostname of TCP/IP subsystem. If this fails, you get the return value of GetComputerNameA(). Best regards, Corinna -------- snip --------- _=_ _=_ Part 001 of 001 of file winsup.changes.cv.tgz _=_ begin 666 winsup.changes.cv.tgz M'XL(`````````^P\;7?:1K/]"K]B[9S&X&#,JU]PG7L)R"DW#O@`:=K3]NB1 MA3`Z!HDC"3N^B?O;[\SLKK02$K83-_UPRTD3V%W-SL[[S(YZ:SO^:KG_P]_Y M88W*8;/)?F"L6FE4^+^5*OXK/Q7&#IJ']4KC\*!Y`-.PKOH#:_ZM6(G/R@\, MC[$?C,G"=C:NLSS_>R#T?3^WG/^=F>%<67ZY\\O?L`=P^Z#1R.3_0;-6$_RO M']1K59BNP?6*_S^=PN6!3.+>=:5[0?>';.#*W/-UWS6LK:+5LUPSF ML/%HM5RZ7A!M31.%8CYGNHL%/.2S46_0>=L[>S/LMKO=(8,Q.=37QN_;HW<, MD?N(R)58X+JPLT*V:KU5KWP3V6:V,W7I%/1-O[',5NMR9<\GNCQ6L97/<1V= M"/J9[I5C![;K,'?*IG-WN;PCS`-C:0'];FP3U)GU^:'S.2!MO<:61C!CML\" MRP^L28GY+K,#'%BZOF]?SBTX'G.7@+7AW.5S2\,+Q!X>CK"9X4W8Q/:OV<2S M;RQDE6?QG2O@,?S\SSX\LK]#="5(?DG9 MS0\/XL=W\,OYW)L/XQ;PTK/@1.*TM,,,5@+RM)&ZB;.SE<^/5 AT YKKZY8';AT M^*WL\N]\TYC/I:3/7#]PC(4%LC9=.2:1:V+-+2!P4BF4I8YU&RW?4>9VV.W, M-F=L:GM^`$(*._GL%J6Z7FNUE(5$)->9WS%[BER<&O;<+S%Z()][:P4==[%< M!9;7A\5M)*2_NKHBQJ-6=68>\/W,N)N[7CFB4!7<[W&KT?QJ"HUL!T1A9`0$ MCAT1%"+$>^/:FMISJVP[+=:>3``/_,EV0MU%;I;='>3CQ`(IG%B.:2/7!=DG MUG3_VO(<:PY;34%D&(/=YJN)M0_:.7%O_7IMOSWJ]'IG AT K1^>9:Q[(-CF^[$ M>GBAL@*4D./M)+0N!CH,J%X0$7 AT 9G^!MBCP%N9PMM]K8VTXVHFV!:(;S+?_UP*#DL^!L7AS!V:"AF]<&W%D.]IP M.!CJ[P=#3>^VQ^T=0&(3BH\Q;$1UU&!:1R9#Q\5 AT P<&^\>E5`**]3W.P*I4+ M,8O@,Z[Z?E`IA5^K997B-\9\)6@,!.R/5;M)Z`BI2\4,?-J-'K AT Z&54=EY"' M"\US/I>PSQ_Z'6G"T(.$F(=CI//YG`',!X;!-+&1WAN].7]7*"8PCGEH1*O5`JNN>Y8Q`:NS#H.>@/H8'DEQBB9F)I8>3Q70Y`KNQU]J+6[[`N3/S\.>V,M9`$7$:`'^FYD M"8A;X+ES8$D?V#NR AT C,PFQ;,$74!%C#H$+[K0*<"\,"U04N1\!0X%A(_]F2$J?:3KD&8 M>7=%-D-,<`1GH`5`;R($CX/CBJ@"-?S%/H]P\6DNOJJ_B.$'>/,P%L/:TL-A M;CDMB$>C]^@@'@*"`$Z#)@\Q0'[BPJ4+J(713C([`&O!3T(A(/D&ZPB MFAP\EV0>`$81C1WSV1.!D#P4744N8IV`(84C"N;_Z8SN:1^1_RO:O0?^S)P] MYQZ;\_]JK5EO8OY_T&S6Z@>'6/]IU)O-?_/_[_'9W8V9]C*$]E>YCV!5_FQ)F;'=?;[Z M$A9=G^!W,(W&:AZT\ELX'@\S6&%[",#0E[(??4J?K,D?SG:)K1S[$T5U.N99 M>O&$@P4/J4,4XKBLH+4['6TD)SP+HFR'[55/8OLCL?A1F AT R^[WWGHPB7BV$3 M^Y$.1H_F,)Z.'Y`F9T;EP!KL0%0 AT X2_\+E M:LI.3UFE*-`5O)E;CI#`XT.@:T-*X+]TS:0K@5>K AT TXT:A'O<.M7I\GCG-`D;8('9"R,Z`4%.4[H#B!1(4K6 MJ\T27L3$;/&5BV4YU[%.Q-`]HK$EE*)`YV4O66&@#[N#_OEOD-\.(+,-OPZ[ M'X?%(FJ.7"$5Z'.XA\B9V2E3,^5H0^1JO58KU>OUN$'+1@[\;>>7%L,*E4PB MP+E*M"5)A1'Y+/Y-QR.9L9^(U??TKS6'K/_[D>*;&-RH'94:TM*$EC,94V!& MNH!X@(G8@](YEP60QIWU50WQ AT 8+!S/9Q"`6D14+4:%1*C68E+D3/0X`MEA"J M353Y*KK$*/.\M'E`JJ@("&Z9BD:,?NR"R2F24!W7*J7C6C.RO\?U>NFX45&" M7S)I>Z_]0">R?CG%BN'94'M[(N?MA'^7XRE/CKOZKV]ZXQ':RIRD"@%0P AT 8Y MM^%Y4$G`XN/;X87X-AC_'.(3!N#1A\I[1-#Q;Q>:?M&[T%J;CC<:=-X]&!G$ M?JJ*RX/CR@'D$97#6D3<:N6H!D-'1Y$,\PH<+ZT`*:QK<`=7:$$J_`"16XK& M,,:GVR0*F(3?$0(L5]USB0%+VG>]A3%GO?T!EKYDZ1#L:>;I-A0(\93\=/7* M4:D*3DO(E_ AT SPL@0I40`T`?'"P;=JBD6&*W%MWJ\MHHEK?H`I%1JHG7 M-'QH;I41.$+XS'YN][OG&O#J1)R5'`6(\.^-/\6&DO"%Z0RDH0/*$%AH;-H% M[DY4WT2&IO_A_+S$!F#C=.W7WFCW=_\Q-XG2F MSG"#C>'98LF#V^UXY1FXUR@"7Z-'\)-XY,46+*L5B^HBE7/XN:=_\>\7D"S9 M4Z2OLBY2M&Q5"J];4MV[4*6#"NC-83-R[6*#U/B`,U$ZI[\@8.D`)\=?!OIX M^*'?X>&M\&[[N\_RV2=0\5-1O9MFX,_:C&()2JUQPL4K197_Z>+N(S[)^O_L^*54N^'DY'&J:"(EDIL^45!^GT'J+ MH/:$.][EZG)NFRV9"V6&W]R]8"1<7(_A)1#RO,='I5JUJE2?*M52K7$8'2RM M;R)K)X'6C>T%*PBX$Z[KT4Z*"4LIHR$)CQ9FV'.R7@(#/XT6. M0%);7J?S?3F2^"@5J'!H[F(RS4?`F*8,@EX&Z\.6A(F[`'J0\GIAL(ICR/^/ MGAU8[PWOVB_ AT T`*^!7=+JR1BRKGE%$]B#[RU@@O7CXJRM.,N&/3$NA%?1T"! MM"6^T,3>H!)[,QB<:^T^\Z<+'6^[@?!G[?.1EH"A>4"L$$1B\L*SEH;'IPVZ M+Q<+)'"![1E$XBM8QP\$CRS63_1F[IKDJ`K\.`O,$_A7;)\37Q?&)_G57'GK MYTU`H;,F5X'PK'PI2HL`6X%VK]:(APV)GN5C`T AT 25DPC64ITF*4HJE3_E?(8 MWB]^'WTR,H.8>T[ M<7FP*[!);#:Q]J)J.<&=I AT -6ZNEI63^RP]ESF-2Y0:A4I6?*16]1.2>\- M3\8>=J=3F*.R!BOP'_`WQ(N<3;M=G"(5Y40_]4. M#OZ-_[['9W^];:Z,)65+"?2H!0=QY"S@ M'>2=NRMGY;.1.U_Q/NI\?CRS?:XR^.Z!P1N[.J(Y3L[[[C2XQ78_^&Z`KQ!` ML;/!]:[!&IJ6X\.O%=7!$!V(!1:^P"TOPOU[3SWL=K3_2MO'(^8D58$\]V>+\"]&"QW["QC[ M'Z+D-SZTK?*I4U5%M<$:# M-77PO#T:0X:,XW5U',MUV*^V-H'W6F.MC^,-=7RD:>\&OVA#F#BJY///5 AT O* MJ AT 3EG[<*]%F8;(A+:/@&7!TF$$KG=,%>+..-C._PADO$B M3T2B"KE@"/J%L(54U,U%Q`H_L2JJC("C2ZRA8#Z^PN$7E>];39?,KLCTAA6.JL["$`-I)(Y--:%R*"QGH7GD[5=(*N M-40\@:IV;(R]9M5S*5EK&J!^4K0!AR,%QJ9CPO9W58?_C"V3.KRNOO?YF(:L M]VL(]A9(*M*%(LY;/$4Q;@I$5?O;:MI(JP1$P(UHJUBW+;SE]=27GX1I?[],B8M"9D(Q47(QB-9 MGWZWST$H]0)Z_VITT>YH.EX(CFE2VE":5=55B+U\J\EX,^U=$*5^N>J4L MHMJ^0LD]%8"\:>>.@B^9B1H?4E4 M:7,)_PK>GTB+;><19]31>,?.??XI>V:C#[#QA'NGV6M@"0`'^@NI*BHA#DZ\ M"JF9`A\WB!]HTSX/A!RYAP5'I(;(EEQ"=D"F5$KF[A/V1'([)BM2R\/6C,>8 M;-*AI,$&DWUK!^9,!@8)@\D1IB8L_CJRM$1Z5QMKG;'6;246]`?TMG)\GC23 M-(U*`$@Z4+E<=!#"3>PF1R,&%>5P!NT4S5,[6'*<;"USYX M8WK"ESWJK0_^S@=30S5^L<%!1E?T\AV/7,*;Y%0MNE\3ODHDCUP`0\L8"0W^ M?1\UZ$5BDFQ7).VH07ZX8 MI)";0LZ_AIWT9(Z+V#I/!>!UIL9$,HH1%.3N9::2(K>;/2D5]#/K^:G^5(1# M<9;"O#::G/G"IV*6Z+-D>BR_08-,6FK7.[4"VR MQP6CN9P"9A,">>JQ8Q$6Z\$F AT D@&G/*]6GI(2=_"/\ M:<1U_#]!H.>+C<3E)3Y[SSW=%I>QI/-7_95BH'Y*\#HG`0+!%[93(.N3G:#D M1!R1GML`/R2XR*.G(Z^@%)](TF"-3AN/=YHER]^04Z7YZ*0TU[Y"FA]&@21Z MLSRO2_-#LIPFR2ER+%S=!AG&C2+IB1%>"5RCL(P<($44($0+]\8J),\,XA2= M-B:$JE AT E0*>N6PO<$CXX82L?L'-)MYR:;*_)1/V),I&QJ9Q.;+TF#!R+A#Q$ MG,H0";!MJY^UQ[Q=- M?W,^Z&"I0FRV'U>9Q%'3#YNQ>>AQHN-U/@Q;SX#8L^&C];L/X9-2E?RJW16& MQN*PE-"/A"ZR/$I`)SUC9O&5]]W*&FQ"'_&&,NDBX^7(1`4R/%'4DX119QI' MV&ZL98T_)N)(>G!O[]L\;L*Z5F2Z&Z_0X1'#S#3E[B),+]7;1W4PO(",):(O M3]E?G'JQC&]=`++<90HWUKUF,FQ)'$F0_S4EF6(K,TG;!8L>PXPP7$(,ER MYO.XK7""@TCH>G8&G/EBA+QXC]UP/_9<&U^&2'T5HO,SON^0^2)$QFL0Z2]! MI+X"D?8"A)3-_U(UI86K,0I0&T*OQ#TBIP@)'&\;?8F=HCP,B^#C-1Z`AZGR M(M!-8VG AT _V02)"^!PHE2L*ALXM(#W7V7:B.#J.;'`R["*3P!/(HAY/MQ;]`9 M#RY"[LH3NTML*T4_$ALJAO?J48SD+O=>PQG=9:Q\]7X\U,(X*9;8BNFST9F< MY+6P!SV[V$AVW68!?O-DP'N/A'PV&CX&\KK9>2SB7P?^L>A_U`8IE-EP,?9( MN$/MXV:\XQ=?Z4`&9V?GZU!D.SF!^=`_'[2[&V#T!Q?9\C;4P$/)Z4B)E5YT MVJ0[1-)"R*D/SJBP&G,0'#->>)4O@(;_-]+(7_Q?>]_^UT:./+B_=OX*P=TW ML8,AW>VWF636,2;Q!C"+S3`S(1]?@QOPQG9[_4C"97-_^U65I&ZI7S:$,+L[ MULX&4%>52E*I5'I5)6[C+&F?G+APGXVGE-`N4*].JWV4/B0.OV=,*`?]B8/Y MK AT 7;V@ M)=(3+034Z.N#=Y((V'^DS^DUQ,CYXJ]#EDLU$.)*H]=I_=X,;8 AT M82[M9%*7 M;.T:RU-B4UQ AT H:<:^'M6O<(D#XO(OE.$`JP\0,8WZ5KN*ZRT,(-7YEGNM,KI M_NE3G6ADT]$G;MZ%S)+SX_MPO!%2&D'3:MK9/U>4M^3TQ:?&Y8===4DF%ZW8 M%6)K.+2A=XD_77G?;!:1=G\WTOY M2#43N1WYO<9FHWUX#$L:&V MA<7TV%.5 AT IA,!!LQ=^RX\V1:0,L:*3/,)ZQL M=.%NTS=\S4./U!\F,?ZJ)R4=3P>?\`6L=`@^2P-F3!!\6`Z?X#;=X%)YDXUG MB.)U.']LDV/JC?GY%[H=3R:E`,@^,0S]#NO_S&K\KDY-G&LR0,M)@FA>R'<< M\MTZWZ^*+-*.Q&4 AT LQIAN1,+Q;H+6/-)"G M5**6 AT Z5K&-IM9G!RH10SC.9\C@)MX450&14\QIH2?L!O, MXL?28=\'?&C`AY``\L;MA!J7$WH2-`>14_ZVU#_X!DK7 ME61T%?E<87S>R1L$M9$NJ3`-@XJXQND86TU.H.06`I>4-`'WI.RL]3NB%S(I)IJK,94AKB/ M8=^0RQE1CVU&;6G AT ZE\G^3+1),`!LB$(9+6!YQLO2%'N*X0[Q=^2JXDB??E4 M:H:\O?)SQ,A=WJ(LI?=5J&TK*R3;,`)YHS^WMOP^-8S$$M/*H?<=!F]2*1<; M;!7)$*,"N$,M](3SRD5B:XM:B/)V(_V?W%EZ"PKEPZ>JV%XSM%O'>MNL7@/> M`H*4WZD^-86GY7VZ2H]:J0/FP3IV6^U9L9.P>J/(H0W#Y[[M*ACXEC*\Y#J[ MIG[2=W%J42QE(UO[RD\*=,6Y6CU5%?!MJ1'3$9/OLADDY`LH8LWE\*DZ?]GB MQW#C^UY!##?6GZ0;-4%@M AT 2];2!994^M=;3?/CFLARP;(\-Y"=YX]R]B??;=RD3(;*T8+4N1O^$WFN9T"0^Y,=L5TX._`^XR,8Y7A*.9S`\L0I MND+]H'WT)E[K!]^_JW`DD%`V\;5,WDAR\,]8F>56D!!&`ETNBS&NIU9<70C, M*#?*%,4IWME2^][5A&!-U%[:9,G+B1B_6NM!J:TX%'M2M#UU9-`5&6PU7>3? MMMZ\[>TWZ]U3H)9E/Q-;&764O(4%$>!0@^.;8Q-]>43!^&!2H598(M[+#]K] M>SWX'(ZVR49_'J%(69;Z_8&C\F%:@S.^:FN,DEIC](>W!J*#?-)J'4]O7S(2 MVBSTX,[A8#P8+4:$T*&[3P0.,DS@\%,#W^.[@F%P//TEZLX7G;KS)8XZC04` MAY\!^&BRH\+=L9)+%]6Q+@=CYJ+P0;XA3V:21E[L(G.%P_:8I:>ZTA/'[.KY M>ES7)VSE!R:C+@IJ(P.WTMJ/D.VL,EQ89]E082C]\O=8CH(=(FIW^@??8!QD MC AT _J)V]0&W6;;YHG;$"=%0`-^8$S9,$O@^U7J.R/^7GVD/WTTTN6IV=.>!D6 MOH*.%Q]EHR\5F23_DS],B1O8\K+=P$X/?,?$+F+HC9T`Q;U^*800,[YS(7%IQ!K"S M09_?APWAOGK%+)/6".+5?]2H2K[!Q+>^>&6R2G']V=1%MD)ZGE\PB4#%SC6< MFRCI:[H@#2/]S2$.O1Z&BLC0/H#>MMA68GV5UL(H,MH5$.Q_9?4#O9N/Y?IUNRLYC@=H'QVTCIH^3+A;(I6@:%*]XY,V;O!0IT## MTSG(L?2<3?6*+>SLA#"UTI;*9*-^7&^TNK]I9/U;UJH\-D0F$8\3LD@!RL$^ MU05 AT E>/\1%EX>T:8JBRD+Z,;#4D>?TTA"Y]7IGI MBE.[\"W_)&L AT P?6BM+2_>*'-K^O5 MM,-*EI)O://9$UH>QSN)R#7^MBLR%6:DMZ>.5.[+UZG[TS"__?-8'SE_9#@[W]9&O^E4#*+W/]W&7XK8/SW M?*EHK?U_/T;"T"6R\WGTE^["97];P`"O,JM4*Q;@OR#ZBP0EJ(X[8="/5KY6 MM&N%2GSL%\+H?7(O:[6+Q6#8[_D^PW7WS11$QE='9?#5&9_,'8I26NF$VFF)0BQ"?0'/AA.X,P0:?U8*`Z<_9-FM/7-I'<,:W=%6.KFC!7WW*H=@6 M(`.#2XQ9B=$[Q%^S'94,E'^]P_K3P2>7N35TV-]I=%HB AT UR8#?JLJ):L8X_X MRX<+]N+%S AT L@0/([G?5=*P5N@9IQ4NA? MF,(;4$6QUB3LR77DON&QSV:$IX"O6#W$,`6WH[FY&N0X!*IC-1R*K%"+&;84 M='46.&\6?7EQ2]%"H>-U2G[Z/]+#LZI1N&]G&F;/$ID!R"M0DK_FF-!"OS(, MXN"-A[?RHK+2L#+J(T_8'3T8A)\8A6[HX=^"`UKQ2C@^0C_G;>J_EPKT#EK/ M]&<#%!;1YFI9ZL]XS?X'VG_" M_A=!1U[\D#)8P2P7BXGV/R0__F.^9&/\1[`!S;^PX AT _A)I3^Y/9_J/^=V>CA M9>`._5\H%"U<_X$@K/O_,5),_\^\RX_N_`$CP2Y9_UN6;8?ZOV26BNOU_V,D M7./(#N?K_T,P_VG];\,RJE:T:D6*ZEJF]8<$#<=^+=;,4NSZGR^BBK!H42*C MPI]YN82A-8K;=_MD3H-E\\^%.\4X3.1N68:@ZN`SR]9^HWVTSUBOU3[+/)L] MRZ$`^* MFA AT B4]_;.]&YL9/)./W^-);*ZY.]**'\/0@=X4WISCN=4&$Y(0IHZ--J'_0Z M[<:[9E=HYB]7D`)-#>C>A+_:P_[B\L"&[B=W*&C]T1*]3G=)(?U_*8+F/:@1 M<(?YOVB6+(K_;5OK^?\Q4E+_\\"##U-&^OQOE4I6/M3_Q?PZ_N?C)-#G3]AS M%NIW=N,Z&%23UK2HYX/8G.PYPK?!4AB,G:'T-HT;2F]WV&MW>CURQH1R,!@O MOB`\:\`Z^5I,\'Y43D!H[+!?0/PN;]PQPE&0S:LQ7F/M^0$YT2E"[ZT?BC+R M(10OD]P2Z/$V59/V%3YV1Y8Z-"?B`35M^A'U03"MC1P>;YP-/'P%/I]Z0_ AT Y M AT JKU9YQ3:+>9I$$HTA,@VPZPO8G$0AP.;Y`CP*]/C-F--\6_>MYDUS!H7G6G M#N>!U[;/+ER\-8%Q209C AT N670!'Z!CZ,<".3ASL=(=2W76+LT+D>NWA-L\N9 M\,F^/_+FN`NLYHGX8%C8+7VC'9SI[$,-* M@^Q-9^B*\=(#'*`^=K_,N4!R8+6,UU"&C65<.)]JVVJBD#)X'V";+C! MSXP2(HJ=6^TC>OLSRLI7E+')@L>TY1WC75UAP$"6R`-.?0:0:Y+%S.^4YNA*$2T=1_X.`GQUVT>L2KG`50`'3&0V(>[YM"PN-PD M]$Y.Z_?]PXC\'.(BD2CHG;,:@68;&"#IN/;F'H5R`7'B+0]B/W+[`X=E*,;Q M9.)2##*2LUEV1X AT ET?#+`)5Q-1<1A_%*!128HY AT WMQ0UF*,$I&0\622Y$Q5= M>O+%+!(]%Q]J\3:$9=*%"R-KZEXMAAM<.09-7^^0E41M#PNQF3N\HOU\9N&5 M2U"A7->`&(0[K=ZQ#:L81;3Q'4$*5AXG:M[7,!%^$MH\P,^'6.0^]YA-'8_" M1:YET&7%-8A4!H^'0H4$OL.8;4DL<;P"PC6_3F]-4Q'W"7^"+0"H^"CF%3OW'1EP.!U.A,WE(* MC3Q`*04H_NA+P3GK'!IV.5!7*I0"AC>(&;-)@5#+!8W0][RI3I-[I&(VJ8K% M>"D\^HUB+$^2XWYQ+Q?`!\+3D>+0`[6D3*IZ,8"8MV+QL-PD3.5*&@,3Z+DZ MY?NWH:AGB!0]V)S AT 4:)5C$@(^IMB>1(L;O80"PZ-*B[-P2&KALM=54&]:53O M>].1PV6+D*AT#P#QR/&S%Q"9I5 AT CH+-5:^0Z4/%*,P1F"7X7SS8,SP36>7?9SC*M6'834-",:'P>@<1/`N*[7`'DR%(P7EA8=/7:&*CCCTB&C3AY0)*&@L#3)GH?2RZ-$]($I3K5$$BS`\R M<0:U\S[/V%$7-)1[.;B"BDN23-*5E]*)-!FT_C7U AT 8BQ$D7R>Y*P_"<5"CC: MTX9V/7I7R?0O0BN9P97GW9`?%T._Y9SVF7L@$G9ZS)`];G?"0]8W;6('+3H6 MD6^M5NL&+!Q+3UOC**K)D`L;@V\KCIY1B!#%JWD62^M[S-$6/F$*H(R0P AT FG M8.3 AT FM&_C0^VV=OC[=-?:7Z`>?L"#3M&P AT U].8!![GDCOH[$I88< MTX+\Q6`^8PB)GO/FK`5--WXV1WSHN<\83>3RQE_4X3"1%M<.J^-.*UJ<\YNI M2W/!S&.PCEP,^X@/!J/31Y,6C(Z1\]&E0.)HF0[!H(=A#I8D7V?+60??%,#Z M)/,EJQW0LPSF\)@B6[:":AB"J%4:R2F8Q2B$6IA#%4%#L&1;Z#`2"UZJ(6O(W[SMP!XX7? MO0^UA7BI$T;G->+H;\_$/`?S.4SJ82M*?5(6WUVBLH(9-#UYG'E8!?-'9U&> MZ%%2A"E;8THU%$,4 AT C<[`4S,D2`,TQN`(:,(VB?2.UGWS7IUFGO0Z^&WR'CP9[ MG;>M_:YA)GS%(RB#GQI=785 AT Q/I.4+`+"9]]$ES\GX3`.NU]6#6?)/`AORI\ MR$V_!M[N=,9SL8=#'0_S;6$-`LG\$OSEQ' MU%6M:AL;!HYM_=/?6PW3I@^TEI43%F1OF[:<%D&5C]QIA DOT Q9MV AT 534*FA<<9 MK#OFL!;&W.;?-D(8G>OD2]9'+'$[3R^#F>E MO&7*@A/Y_N6X9+80MZRRC;F#I76VH6$.$+>BX0Y AT 1<[H6S*F6>*8U1A,_):$ MV6D4JE5$K*N(G<8V9!.[^9(TR(8QO4V2TJL?'/@.59#6?HS4T*(1!55:GW&2 M8U:KS>:170`B?(_-EQ[XLNVZ8^SQDGGX.K$;NLUZHW?8M3M=[$"^T]9U';"V MNMN0":ODXNB"K_9S_,,>R"/N;?591I:&0S$J&,U?FB?-7WO[W0(TEODE3[2; MG\!X^L(HDPM5P8RBPFQN(3]%JA3.[<+DPU;Q%O/0$CJ,2V.Q:,?@IB&B_J52 MRY;:'W70:UPW6WPH+T`CQR)3L64['MG6D9_X]B]=&^WAM79_+2#7[V2;<^9I M'3_`S6;^D=K,$.YM*32D!)]=3@<3VK'`7+EH4)BE9VCX`,WXRLZ?&%]5[98S MC,W3,=JR8W_K0-DWV/R6"U!(EA$A3=]I&%S7(8JJY7P=I\'J>BUG;(8TF AT 8L ME!=2UM26!B04%0+Y*@KR&&6*\1'+`JDHA0--.<5BD/)1,0*5%`^/*B<*C[EQ M\*2$%/`D]1/M+DWUY%A:+@Q0_C`U M^*=-H?$OMN0?]@+@G?2_9>/XMPOEM?Y_C)38__5.H]7:ER$ZONLUP#+]7RZ7 M_?O_);S_;YOY_%K_/TK"Z_GAKN;O`,['\`;]SYWF#V<7_JNAV\EE#/T!.!HEW)%?/YX)$`911L^4P`_@-[&?WW MPF^X#H-5R).M"+7F%Z"W15)U<-SH=$_8<+(WP*UB;WI[A(\-Q=?C4]UEX7"" M-%[C^6#]DS,8.A=#M^LU'%P#)>-TO;DS/**CM?85(:\(ZQ1L08L@^>N7PNH(-,K>.S,;WC=Y(=.LW%Z AT ENI]6[WI/7ZM-OL`%S'O5Q, M!_/;^GP^'5PLL/3D\;]'\_GW#7R1EMS_+=@XYL7X+Y?PIE'9MM?C_U$2CCV_ MJX.!_[?%D-E59ELU*U^S%0<@/FQTQ!<*\2/>_3)WIV.VV=AD7VFL%\R2E2M8 M5D%Z59#&HW(1I\>=&_4.?C_J6D;&SG(=@%N+B4Z[@O-T>E4NJ<8[GS(R5MXR MRW8V'K+9:!@9D,A\*0F`7+6_;A_C&=YO`%M(!41W[T8FGU@<`;4.R6E7MPG, MV9544/(1#V!)[.VW?FWNP?>TS]P3)`"9=A+SK:-6%QAJGQB9)!!Q[`=]5+)A MX98`%?;3B*46*L5R$O\(?]!^TP(=R,%MLUJVBDGMI_C4,S*@1NQ*4O-UF@?- M1I@P*25Q,$O]9-6'6/& MB>ZQH:$20#7'D<"J64TJ'MH>VY&+F)'9AJXJ%\K%0B*_>F<)^&HQL0>4B!L2 MW*I8B97TH^8(8!MW-I,:&2_VB8"2DG8E7RJ4EX#OZ;4%E,3A0BY1^45%M81D MACCXNW`)1=M,1'D3[8"B6:FD(`32S\%+93M1S2C!7?Q&!7:21]@);HQV AT AAF M'"=O5ZKYQ'KS\"FJG AT K:*JD>G>;?3YM'H$4.>ON'DK52M5C-EU9`Z?@HQ7RE M5$B4;]VQK<)7HLI%#&T^D"A6HLXGW8`3 AT P3-5].H^YI1@(."3&I8!-=TF$#! M>QO)*,H`*A7RQ>39C`?%T;LM7S6K,.22R'?Q,%YMEE(A4;5QT,A8J"35EJLM M704`/W;53AR@'`5G45^*3"MOEXK5Q!''42ATDN3,JI2KH$VMQ&[C.%K3YLTR MF*^)8B0P<#H..*N8>="66']IM73FSKB/)YY AT 8=W,PZ^;N_6CO?K)7N^D]>9M M%SUR_OVT=8(/]8<=^99$R1#:'=#Z(++9B2 MS`X^^<:B)+6O;X%$4=(M+NJ2$(J5)"N!D18N)5&\=`-014D<4R$K3T%)G`4T M^T)ES$I4#+JEH:#8B2B*.:A7OY"(HELI"DHE$46S5I12+#,11;'$-,;L%)1& M AT VDIH]RS6KHL4%'L%!2AV\.E%%)0%/VNHE124,)6,T<1%^I6,IQ%*78:2LCD M%2B%-)3FWZ`+1?A$OR[^=45-A9`3^B0=HEAV/IU*N AT X1LXW6\I5T':)8=V&4 M52T=!25Y9:&:(&HIB6HG9*DJ*(EJ1YMLM;HDJIV0M:J@)*H=8>E$&SE9[83L MJ0`E6>TH1I)>2K+:"1E*`4JRVM$&D%)*BMK15DL*2HK:T<:<@E)(18DMI9(R M[H)5EEI*FG+3%@8!2IIR\RTSO??3E%O(RICI"JWD+4L2JFDH>AVHZB+H@^7&\$J$R^\@^.<.%6V/N)W=Z*^<4FE)NG!E_X'`Q MF--#S*0Y1 AT L^IVM_\P$-].7;GK!(RQ4*@3-92?V7=[U?C0SN6&EYOT%>-93W MNY&I:BT*>0%+1:Q/H')0PXH97I\\0`U9?`U9?`W9#ZCA\@ZNFJ59]@/R8SW.C_SXZ(O M.S><778U]4;$/;]%,JOIXZC7:YS4P1CYI=W:Z^UGKL8Y9WH]R[+,)V_0S\+? MC/[FPE2U"MB:52Y,?_1!R7]I2CS_>YBC?TK+_/\52\7 AT _,^D\[]BN;P^_WN, MA'HK]Z+7#J+PS2\J_=`A?N14 M/P46B4>R5/@3=^1]4FF',LZ6=T?9SN?*T/I^=Y3M0JZY+%'_!QZROGL"6';_JU AT LA^[_EX#UJXR,U\SS9I="B8`%3P\`U1KQ7 AT _L/04"`:(?+3?2XJORF>' M:JF2RU?+RGTPF54(8E_P:&Z,!5'GF)9_+!]J-@@S<)G]9YJ*_8?^ MWVW+7-M_CY-PM$6[FFN!_>F`;H!:%FJ!8D'<\.(W0*-((5U AT F[5\<;4[H&?R M#F AT U5\P7U#N AT D%'(W_D.Z)ER!_3LO_(2Z)ER"?3L^V^!KM.?-0G]?^A\=,E! MX6#\\"$`E_O_]_W_%FQ8$^*5X+*YUO^/D5#O*ITOUO^*(K=J^8I_F1^5L@(= MTOCY4LU.T/A[!P>]-IYU=-A+]K\SS5^[)_5>D)EEYS0#V(5*SBXJ5A_/\&T^ MPP^Y`[TQ<(8['C/.M?SY_';',T*98IL2/IR#4E6`G8E+F0CL33\B.8%[/?0N MD)#X:SJ1W\(U\XEA[#@/FL6K005!A7=.CWMOL\*8*IC*Q%4P3,DJR6I%: MZ204`*I>XE>_GCK$%@O5.$*`ZJ[ELOYPV$/',3LW`'`]\L8(,)EZT/4[-SR# MOF#+Z/3^:)%>ISLDH?_'[OQ'17]=IO]1U_/XKWFP^F'EC^^_U_[?'RFA>N*= M']C\A\XMKOPM&W=T+3-0_1R0'HA0[%<;7X:9`&;':WT12"3S?-!S+B_=R3S+ M,B)OYKOOFWF7I"0+Q5Q1"1*#?UI206*T=Z1R`0I.H\$#=@:4/O*@)OAOCK#0 M AT 0E&2F='[5ZC??P;.ZYWP*3>58A>#KV9RSW$*[13,;SQ&.SP53CA`>Y2.=GR MZ5Z[\QMO-J<82%5J%[?(258/;LK\%J)_ M[DY3\JC2Y'G)S0;($]>="M0X08 AT TVO/D9 AT L+&VHRH$"3%LOPB=8\>M/1%:J-,[ M[33WLEFQ[@WUG%@%H]RPS*;"Q:9"/CI<.&\D*B]?"M73:YZ_<1+`ICN]PE.GR7`Q`TI#SYN@]_0=^OZ"VL'!`!LX4#:8"#E; M+?9X##(*SAJ$)&//X2<.=1[*''V^S68+:)V1 MBG/('/_B#(8HDV-OOD,,B!BXB/O>+I8^X%#F&LZR"J#B[*H_W/\#FG4+HPCC M/VJ\ZAH[\CY38(49^9-JCN<8&([#;;Y]U_P-;[;6#WJ']<;;UE'SO/-;I]L\ M/!?GB AT WNPZKCSL\[H#(QGO-Y8^C,9N='[KP[=<:S\^>;G!C=6CDAU]G36W+V M"-8>+]3EA>:$7UZJTM"]=H;\8IKDIG59<=+;8_X+^-W^T",6,YQ5DF\:S9>'<6J@$L=)#$SLH>/9\YNRJWR AT J'5*9 M AT BX#6MNOX)\>Y.UB+4_'Z%%UY$QF(E@"WH02OE\E!5$7O,+GSMEBHLC9T#-% M&!FZ(X5:?;JUY9=_B<&!(0O+G/9$*&+`V13AV$?N".\59I[Z,-QJ>G9N/N.S MH'>E$*"I7J#.'*A.)J[^6::3D_#;KV:#<>_*&0U AT A+YD]?T>B'17_TJ3/JG\ M#247J>S,Z`=\;!UA-$$8&>WCU_7&NUV^;T[MTQI?3MT1ZFV4T1EO+?1@"B/: M##5G4O,@Z(]MGX=H'A9J'LA][@NNR(*>N'&W7]V(8K:9*D;8*E+.1,P2T3"^ MC'*[P4;G2:*F6J#%7=72,GU+BTKP AT V"1J&(8+2+^XCD**7>2/\,1C>Z7`B?Y M._25@^RW?CULUOS+@:"820=/IAA*9$B!:-"M/CH8'Y#R1Z_+@S'71Q1P$]%` M`7]D(LS$:XPB1#H-N*IQN'OIV.[E9#`Y/QB,/SK7[CDGU$7FB(N3YIO>X>E! MM]7K_,[=:4*K#<;7,^E-%S@?U<1,5C1SEETI!8;KOY5"^6_6(C=S;SS,A'1) M]C[*9&LUM?M?JU=^J%(!HX`BV&,CXV!E']U;:*'%!?SDYC]NKW=;ATWHG;XS M=W?%TO7H#=YQX'_QQ1!>7^"-RW.U$!9L.)C`VFH\X=_(;AA<^98#V"H3\AD>8U@:WXSUHRY1)!655S"Q5-,JD'D44:5;?Z+E.BQ4$WLW&UVHXEI2 MK"&;^W70F\I*4EM%8OJFL)^NNK:6JZZM50>B/@Y%7X)F!VLYP\W7<*4H7J`2 MT;D6^P553_#E;LI0Q4I4;RQ&OP6(%[#P^+@;RYF(V*PR!^,C16LJ<&.$\[=S MP'2?>N.-W+E[NS$2M'GZ?PS"P ML$UA`9WCVE%D1:TA]:MO&6DHM!)5<^2J=#/GYYDYAKR<-.M[.?84=#IM;=&> M5J]SVF AT T DOT YWHZ$(=11N#@V!WR$\9]`+_$M>ZS?%B)"I,D\8@)S1ZSL$ MAX,=$/TQ+S;"\.\L9]B'!:[Y?T_YG)/-L AT W)]5&[=]@^:?9:T(0=VOT"A*VM M059A4]]-P_Y!IC="%=?K!>E?_V)Z/_)J"4[-G"C,[TA(2N/R.3,;*28;*@<] M8P_&"W%.[W]!6UH+)^3S*F;`P$?/@]/^<2;\>=;OF66A2DUKB?" M'3&1G1`5C8062F22=BS"+66D<#B>A"L397"@Y6 AT 9*18K-RK:3`.?,( M'(!I4*&YT>?CJ_I'_"R9\#D\&ZGI?M.F3F%5;3V8J!6-;]TP[S&3J9KXQ+IJ M8J7UBYMV[,Q\S!R]G/:49E]3 AT 6Z2<],DY#E*= MJ/6TM05KBG"V7B2HN08>X<%,(%6OT+B9H*W0+NEL,F&-)FCJ MRS3T=KWB)A#[S]BC^9ZM8MS9L4H%Y>BGBX<&5-G%N.].OZ=V/X$IU7"F_5?G MQ\X45#"&ZN15YD1%:_K3#[1MOA"&D$(S#[D/I8^\SGJYXB^N;'#^1F2S$!@P5);8-'8SA M#0333Q_&\Z7'51N!%$<[%Z%6V-:DG3R[4LE9A4I1.9/Z#^_O^S=M^&`'&UGN MW?`MN>B&#.8F;^UG[)!:OZK^!F_GR*_*?LI&V)V"-A/WT\1S9:VGX(@]]S8).J:U1BN M5M16C/O"[2SYY6ZFH8IUIQV5`%'8"7&<^49@`*WLJ*23775+Y:[U5 AT R^996/ M&GDKU=HW[>[*FF_.+6/L+JVB,?I-.QN(6FWJ5_4\P1^JR[=4$#*RI;*1NJ6R M$;>EXF=RHT;-$0;.9L[/6FE')3RZ8E?W?-6,%MEF3D#R%2?&>\J)13.5JV32 M0CBQ1+U4ZA-?@8_=SURIOR<]P3[L:H!W8Y$EL8DINLX77 DOT A AT HB[1_9(-N:97 M^`,&*/I''`XW'^1)!Q^$XKA#B#XF_9!!S54.&F0V[=9=H`:3C8(,[3+( MVGJ)BG*1$U7+!V(L9<,HHBR&# M.QT^F8O),@A AT 2K'.N'D6)KN2XI#=DO-1#6TY&C/$$X4TV,U;<3`I6WG::+C# M:'KJ"U((4FR<@3RE[.F%!]73I]$]/=&Q9./R33VMH#1VXSD6HAX%785E32,( M9$X93=CG^FRI?(9ENQB2*E+_YC(T#C$G9BS*W3:@H AT Y&)5L;C4;0]2"ZX\O1 M!(GC!ZB9KJ.7*.F$ M*J6/P=`*U.#:)H;#N-7H$K#PZB\NW6^Y&D\I9K$4SZ3";HQX*R(5-_YY\O7A MDC:(603'I>03D96X25XN*U*4H">"=(\EM"[+JR^DOZM-8Y;8]Z].S+([GM@# M2I?:(7=LB6_AS/AICOWYAGKR>>(?/833F%ARN+D>L`\Z8-,:^B$&8C(;\;MM M2=#J[IMF/](AJ9(7+E1PE;A_HN/$;MY(D"?*)GG\$2K?BEG]"%70O,/U^42_ M#/P99ZTV\"[G0\5ZHC.349\?2!;M4L[R?0_I+:V<"^CM%_R.YJ\WZUVXT#"] MZ6*,EA6P>-3-:HW.+U]%#XGD49I,0D$G(,:O_G>)2,$%<"D7E87&E9.6LJO+L[FYM&51S M<-6[&CK7,UJ_I5U)E9<84F[3)%PDX2_)U*>N6C=NR&[D5Y+4%ZF9S<]3/'YL M=\['H7NJRLE:Z^B7^@&_*!*YI,SY%OA$W&W(_I% MF8U$9I9-!&GJ2%H%B^M>_D4OO64%%*X!9>,:*2T;$BS*46_!I(Q._2UR_.A\ MJ AT RP`-Y_;1"+K AT Q/'=T0MSBSLNYZS?W2V?7@`ET/W\!(5-H AT N&'T+2J0R`5_ MN2R>26O;'IP$WY.##N1'V3OR)-N_M!3LCA'43TR5B"VF2$^`0_MHD_0^G;O\ M-;;*W"3,G>PMVAW#S3$=*%PCY=(@E6I(*J#_GT)Y[?_G41*:,Z+SH[[?S)I=K165Z,\"4 AT DOT R MT>MO(<$#T`@][\(*ZLJKU6!B^-2;>SV^JD)2@?\8,JN*Z/.G:"O^/S&CY$<[ M-&BGFG;@)SE.^OW AT PTZ?SCIS[!]D"AJT1-CS\/(0>KEA\ZDS&.+9\CE>43H] M:C".0)/&C.[@L?/SG7-'Q*HPN#)&_M"^\(O!#%`!']`\>O;B&7OZE%M2Z/.W M_;9WU.:X/&T$IT AT 1/C?/S[&\V'+\I)=JE-_3&.ZSCX9TV6ODY%QY`BH)S[-9;@*Y""MY$ MW,H'-'1")SIAMD&99/7YC;=BTV75>[6$/'G_CZTM?JIW_DP(@SRSP:.??^28 MZ%;X(]RQ4GK0(\5LZ,QN!E=?>CA+D":I.LNB,Q\SC(M4W5"9&&6 M70[6"A AT O;^A-)@-T.S'N\R::.I]E,\F'HB#0O<'<';',YHL7.R^<&K3$Y AT L` M>G'5-^'WP_;I4;?7:1TTC[IB911"N5!1K"A*1*8C%)`W,Z`RFZ]6,*)9*EI\ MX;Z%&5=J>J%+L<9W0;.6L;H$:YQ80R&RLN-/7)27 AT 3/$7SG`X^R$VP#+__R7;(O]_METV+=M$_Z_Y?'$]_S]& M0A6E=#ZW`=#!'TWO58S_8A5\I_ZHO13H,&"Q5JS&VP'H%FJ.[K3I,%*JQGRQ MF+/R)54UBBPKXJR,H_?X?6C?;9GTB:,YJ<*[V&PU]V4Q?*Z$!(R6JL!HN:#R M7C8QJZ3X*P]O8>K#7W>M124\MO?48/R#SG_Q8\I@!;-<+":/?P86$-G_I5(> MG?.!39FWRW]AQ1_#CI[^Y.-?[_^/(([N,&^#P77U!C2KMEF"3 MV[V=`.U"*.=,YC3'GP93;XP.<3K\L=Q?S?\$3]AB_"_F@^'L!ZG_U?5_$;H< MIG[0_U8YO];_CY&T_JL0J$OW.$)%+=W<$,7YNQMJ.4N*202/VI@"0`0`` ` end