[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Pure C/Gemlib diffs for MiNTLibs pl 46



Christer Gustavsson wrote:

> Here are some diffs to support all (hopefully) new mint calls when using pure
> c to compile the mint libs. There are also some diffs for the gem header files
> to include all the calls gem libs pl 31 supports.

Unfortunately, there has been some duplicate work between Christer and
me.  I have been improving Pure C support as well, but I haven't been
sending my patches to this list.  I'm changing my mind now.  (I
originally sent most of this stuff to entropy months ago...)

Also, there are some bugs in Christer's Pure C patches.  That's why
I'm re-sending Christer's patches together with my own patches.  Below
is an archive containing:

diff{c,h}.1 -- my own patches, mostly (but not entirely) for Pure C;
               see my changelog entries below
diff{c,h}.2 -- re-issue of Christer's patches, to be applied on the
               top of diff{c,h}.1

Here are changelog entries for my own patches (diff{c,h}.1):

gemfast.h:      ++Markus_Kohm@ka2.maus.de
        add _addrin, gl_apid etc. for __TCC_GEMLIB__
ioctl.h:        ++hohmuth
        add TIOCLBIS, TIOCLBIC
mintbind.h:     ++hohmuth
        add prototypes for new MiNT system calls for Pure C
        Prenice() returns long, not int
osbind.h, purec/osbind.s:       ++Thorsten_Boehm@pb.maus.de
        fix gemdos()/bios()/xbios() so that they work for Turbo C, too
string.h, strerror.c:   ++hohmuth
        strerror() returns const char *, not just char *
vdibind.h:      ++Helmut_Karlowski@du2.maus.de
        fix vq_vgdos prototype if !__GNUC_INLINE__, and add macro vq_gdos()
bblink.c, getitimer.c, getloadavg.c, initgroups.c, setitimer.c,
sync.c, truncate.c:     ++hohmuth
        several Pure C/Turbo C/__MSHORT__ portability fixes
mincl:          ++hohmuth
        getloadavg.o, initgroups.o, setitimer.o have been missing
osbind.cpp:     ++hohmuth
        allow for more parameter space in _gemdos (Tsetitimer() needs that)
strerror.c:     ++hohmuth
        some changes for better -mbaserel compatibility
wcscpy.c:       ++hohmuth
        expicitly check for !=0 to get around spurious Pure C warning
purec/Makefile, purec/mintlib.prj:      ++hohmuth
        add new source files
purec/README.PC:        ++hohmuth
        update
purec/crt0.s:           ++Thorsten_Boehm@pb.maus.de
        pull ident strings of all used libraries into the executable
purec/mintbind.s, purec/osmacros.s:     ++hohmuth
        add new MiNT system calls

Michael
-- 
Email: hohmuth@inf.tu-dresden.de
WWW:   http://www.inf.tu-dresden.de/~mh1/

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 libdiffs.tgz
M'XL( /:X;2\" ^P\:W/;1I+^2E7I/\S9J80T'^)+U,.QUXZM;%2G5UGR9O?Bz
M% L$AB1.>!T&$*7D\M^O'S,#D 1E.DYVJ[:.ECFO[IZ>[IY']P#T_.G4[?2>y
M_)F?7K<[ZG;%$R%$;]2C5/0..!5BV#L8=878/QCT1MU1?]B'QEY_-'HBND_^x
M"9]<94XJQ)-Y/ _S;/X(G$S5DW^[CP?Z%^U<A%$6^).]R23PH]N.>]SKT+^*w
M^OY.N]W>!%_[47KB' 3:VP=='P\'Q]VAZ!T=[>\TF\U5I,W KU^+=K\_:!V(v
M)B>O7^^(&MN+/Q7U:1ZYXZ0!=;5?\4N(1+P4]21+VZ^P+?/C2/WD_]P0?ZFLu
M/19/OXWB2+YZ^F*GC>B!C(" RE+,U)/&BYUF45WWHZRQU$A=6D:P^EN$;7"#t
M$+;Z)583_&\\J$&/!D7)ZJ#\0&X<%+1%3BA7!K54^\<-"AFI&)2I+@]JQ7YFs
M,O,S/Y3IN@DM-RU94056A6V,U@RIA+<9'L7>:XU$L]?J=4GFS_S(#7)/BF_Sr
MR%>9UYF_*E?*-(UBK&L^\Z>1)Z=B/+[Y\/Z[R[?C<1E./:@][)U!9: D8I1:q
M/Y9:(Q!4&3D$\4_\B/O>$7O/A1\)&$^:*V<F.ZYXOL><'R#7S3XPWR?FA4A!p
M 3?*#%W4%W/?G;=$E_Z^!KHRO7,"R,)W+E&QK-84]-EM[)"]_;K39L.CP0+!o
M=@K6L5S%%H(-7"]2F>5I!#SIFM\P&8>JGT%/!&YZC@.O_<K/QJ:*F2A B;,2n
M7(E3W4D7"K_M-.'?NH4%L>,Y=[-*$RNWK=K8&EZ%T1Q4&9E%W(S 5K:/5G:Tm
M8F1N'"8P==(M32IQ4B?<;%/EYE6C>MR<-UC?BGS]R,]F:9PG:EV^*VU+\JW"l
MJQ#7X9I\RXB;$5B^0Y3O(<IWF[GYD$CUR.0L-:\*<I8F*Q(+_-#/U$HEK)Y^k
M-,-*9&^ K#4'^V:9X9EZ!3.5AR?J44MP]L^>E)^:1"$.06MIL%HY*JMU";)"j
M/4=K^B2,=4@0BE7DP0@F29.^:0^4]](-.K&@5.I,HM,[DV+#1X">NM 1Y*=!i
M[-YB&J>4P$$NTR P9]V%!P7(>)DS"3@K9[ZNE+G)V2K2#.&W:\7&0DV)@4DXh
M]Q$VTA40LT1L@">6;)^TR'-VX>DN_2CV<(1^[-+H?.5DV0-E7,Y@KQ:JF#2/g
MHXC:K1]@(R8)=DIG+TA >%-,E914+HDOO)WZTQ@*X:WGIY1"O[HQ\EWD($YDf
MI!.&^4BJ/3S"\PU]DVI524R03[4**)N;;&ZEI&;,N/)G#I[73+4_FVAM0S: e
M58YSD8-#4X&4J#F5.(O(I&0NG#-:Q4YQ'F,##Q:3*8I0/81:+K TN'$TU?)>d
M9?^ST$4MDT' TJ&C "=*I['GX%!AP'B&TQ@@"I90KBOS2%/.H_N^%R-RKHDAc
M_)VV_H^K4SQ6M,"[2:)G;[^R95">[.LXF^=Q:<87:!7@O=+ZW6_U<(>DA*RCb
MD\G[#%-Y)Z,=,9[)$(9X#+H*I%-3R>MZO]MH":=;^U\Q%).'3"J<[KB^"<?Sa
M4M&$;JB&MD68UZD"K5GDX2>0^]U59##^^$Z&0<WK[SG]%EC0ZS;@*^=. N)Lz
MY@.1;.YDXN;R6KA!/)D EICD&=7BF;@&X#/7A3+H30GK> @UC_/ $TDJP96\y
MDS!(["JH.=W7;=M1Z-QW1#S%83''!6\B V-)G40\Z\$8'\&%43V&*]9PMZY"x
M$K5G/1IB+#R@.9=$MZ2QWJB!\ "2Q,D&O70W@%CI U2S)4@'  42R^+4*@# w
MTDR1H'FC@Q/TBO6KS7Z(VNR'J&W\$&/1I0F@'O-#X-S^;^"']$>XK@^Z9ET'v
MCQ .[^")XAD>:(#W"=Y'487'?*CZ<P\Z?.PZ: U$<XB';SYU;7D&@L,;]!47u
MNAY4MBR=AM9Q*O2]OVX?%FTS.)O'$9G'@$8"NIBF<2A^D%'Z(*YAHW5E^HT2t
M?.H$NJB;RM.HV&GCUN2[PIU#7U$>P.Z>_O0SB/5I'L%>OH@$,?04Q&X@88G*s
MMH 'V@3T' QK#)6X&2-DV4K/OWMS?0)&VB1(IOR<DW4L-M@R9 4,FRW%19Y>r
M_N?3%BZS-1!0EV10>\K<M71MSWK/(S389F\TU'8KGN/_O6(4T',Q<&@TJJJCq
M'>8A&"P:-Q=@\+^N6A%,E,AU,FDMHE_9LK3-KN-4F,5ZM*- VPQ.$^*0INJAp
M&3(NGSC'3DXO_O;FS$[(\1CGOG@ECOJKTY(1WN$YN_[]S?L/%V_?W)RT1#V(o
MHUE#F*B3K?@:RK-LWK!SF/%Y!O\.*J*(B2&E_["\-TP3\BITM(I@7B+,U9N;n
M'X#.US V&<4RRNJFDT:CL:JXA:O<Y&%]>RC5+^T-J_ 5.EB/'1BDS<!DI:2Pm
MGE%8#0_)"O9#/1\6:)MCG!?*=2BBE[HX#T4-AZ\K7XJ+#V=G#6%@Q@N<Q1@(l
M7,Q!"""FYQXV 6\O-:5F$Z32?+0=9=^E ""PDOE1+E\0?[BRUCV5-6AQQ3$,k
M::(-[?Y FBDQW+ L(K55+@70S\$87XJHQ'*[S;6O@ E2ZR>&L!5\]9 J*!!,j
MF8)A=L60DCR5[MZY<RO1VE;-::UUR:BJ<2NL93ULLHQ:@7)4"J4/,'K8Y(1.i
M'G >5/[4EUYG=T? W[.WE^=7IV<G[]^=OG]9V_/DW=YL#[0\B=W=G?9ZH[>7h
M0$-SO<'=RU6ZYR0),ZBIB^].+Q!&+.82SG$/<8[&S6&Q;_!P&@=*U!/7[619g
MTA()N3R0%>#'=QJXGOB>)%KM9YI4K?95O=1] YHVM.S!^09XW8C7?/8H(@_@f
M[/2[T@ R] :=U)V3^X"'X-)H0#NID\(YM2.NXU#BB1P@0N&DDDCAX$!;L#KRe
M^?G<O[C12 ^@#II-^S2;]O5L>B9.IR@T =NK'TGT/4Z__\?XXLWYR;68R"!>d
MM-#=4.#XPVDZFXL%./O0()P\BT/<WIT@>."!&,57<=X^%6KA9^Z<K:)]>O'Vc
M[,.[DT*[O^S!5-[CJ!V=.D!Z:T YF8 !A/]N <T\7%ZCQ$&D+XD#\.P==)&Tb
MI 3[DT8DX,N(2YB<;]+(R\ +]IC&AV JSF/PKV7:PGT Q3-'+\W/.D+<H#0,a
M@50F@>/"+H%FAWX;DH>CDM+2YD/"J%M(^^+ZYLW9&2D<&0(77KK@@3Q0+PL'z
M5@C0'?6VJD!0*QRH@"L/0#K$Z8W63!R!#B(I/6CS<CRKB:<AS%^#\M1*W?8.y
M!LF&UR!!%_4E0:/T A(US!],C93!E,\OR],.>0T=.-]/\N#6"-OPK4 XKM13x
M31$-6CJ.CEK#0U@[."7Y/'LFYO$"13#)?3CQGY]>W ";W"_W>OW^K3A^67-&w
MPP!\"&<2IQFE"K]=T 5E B<-*4WFCL+CL8#CS;V/H!]W\3#B9+%/M3&2,?>&v
M8N*&"29^%&(X#'(\&R&'EAZ[3*#Y>PA,\BG,,6^Z0@N.'.X48WX*$2D;ZZPJu
M:I6MG6/8QV+.H1NJA9,TIA3+HE1)DS(";OEQ0)5IAE$^S,%9(/0]*Q67_#FLt
M?T@PA55!#X/;O3A)(T3TXK'N"7(4LX)<GO!W'Q*9@!EF4RNN5<HNWGI3ST4?s
MN/UI,$;ZC.[H5+;:+SI]% !V30#8U0%@5P> 71, -B.<&LEQ+!A2C^*1D)D&r
MN9I;WK8 G$Z5Y0/5B@K'-(F5SE'J!V 9E 'C\(G)J1[M5)/4-+ T]DU]0IF4q
MX%9&/4UR[@U2ZB.5CL>I83)=@(T6"'@8(28H:$NIX5/+>XHA1TH7!5H>F7$Mp
M4A\="/3P>3@Z4FY ;;R<6F1TIS,S,@(3.'=-X-PM N=&-5 QCU46<5L0SWR=o
MC9.,,XDSD\IJ:!G>A%'*(?5M"#'KB4/KBH[ NS8"S[E%&91#\-2@4>S %CHIn
M227%\<VEDTP<LB8?A0GK)!FS/[.#]U%P/@9S'+(,G,"*VCEP[^I8O1E\%;RYm
M"WL<&?TC9$K'_%T3\X<,\D]!?]<$_0U&,!HZ4 AX'0X\']6KET3:1D#ZG+U%l
MVPBTE07:MC21+$8BN)%0HM?(4(8N^3H:#,OS5#?0:LN7"9C2[8*K;Q4PS21!k
MT-4")!3@-X3BB9&.GA3FRL$ )$Y.2DETC$4D/BU>":LM*68G:,A.P41?'T Nj
MUX:NIR&KYA. R8*57^  )_^C>)]+'5])6YLZ&!RG)$;QZEF."0\#<DL;#?A_i
M\CZAAIG*.4.W 9A9^$R-,AXN,VE8EH::T%J#*P57FS4#E:EK9 #'F0+#K 7*h
M3G1E)[K"J><Z@16@O<1QBTL<M[@;H:QMSLVNU?Q,1+L.E(DPKW>:V1F;N[TIg
MHNQ$+\GFEL@55GM\2V0)T5V1:^^*7'M7A#FC>V6%QS- 7_A@YE;YOQ34LM35f
M "E;/6;(IC$3TV3$'$T0S*@DXIR7)V4RQH8A:W99C.M96H'4>,%"@T6VYXBAe
M+*W(=A<5!!)M'UE:<)K*.\Y8KN"OT'B69K'&X7,497*=RQ.BHF_ 7'L#1CF8d
MV(4!?"Z=R-U(#@?XH.X<1,E  !EG)C"5;BGGI;P^92[LT@N=X0T_<_7*P'3,c
M'1TTR'LVI&RNYZC6@+VM<_4%'J1AHD\!D(/)69"+[^_OL=I&Z^P-GROT[9ZKb
M;_=<<[OGVML]5]_N&7)Y1HJ[*\X.=_84<%?4F:J%4SH]8V&@*WD;7+CAQ.JCa
MW#S<  8<8 R++ PSQ(R):F&&[9$B(YCJX\6"N5YQ!\17=5CRDA2<V'M!KC;[z
M)XV]EBD!8*-!CD1EE.7]R9MWYR>=J[?5899R<T6<90U[<]1D+=!B<1^/M.@(y
M/C_70'[AF?:OT-V^P8"*>"OVQ!40%6]AH GL&$!P\G ,HB[YM*(.A;$NO)[/x
M^YT0MKF.)QN[)DJK/^>^.W=D('[@!UA%73_)^AJ.D;[3\<$NLKSM@6,'YQ4Fw
MT-R.0!6J>/D'?MC?U=V) Q;KT=$ .#25O9ZXE@G6#MF_)&]ZA>5OE+B3J=(Av
MA)(4H0$%W $L\.*E<E,_T9$&((7NK_:].?XPA84Z7BCA3#'Z"G0 'T\/Z*HOu
MXM13Q[OZH3QZ-)43U#00:[?AZP1.1<&QUM I/OP6R0PU^PF=D!Y^PID!Z[_Tt
M?M8JJJ)0C2O6*8C53SCOO?;37SJ/4O!U" :^4A%'LH+.5A\OEBKZ)D.QW2(Ss
MI^_?'F^8U.#H=CNJ>D;;MHKIO(RW/B_[W0USF1$W(^B8T(!B0GV^5AR'<80!r
MXS1&_8KQ. 1'U8GR!$MX'0TJ@[\7X*FBSNC"/8%%D;T$?6>GT#S!V@0<6+TBq
M3FA#@9J ='/TP>0+C&LY161)B2C."!?#?3(B37%_T$C(X WXBL)[DP= ]?(Pp
MQ)!4.=+384YKG5D03P(!0SE%%L?0/*NJ=_-484!HO64!NYG,JEIF,JRJ3L*@o
M$AIV#PQ;L0"O2&K,\I+P.N('A^0Z@;D,IBDHK/N"GT$ ,<#AD)ZT$,?MNJCCn
MC =/$8Z6"BS9IR"SF,4Q!SYS)5ZT&T82GML)1(4D5NI+DEAI*4EBI<5(8J7:m
M2&(5NI!$Y52QM_4;ILM2>\646<?_C&E3(#\^=>QUEGZZKW/R]ZO+]S>U=]IQl
M:XEWVO>A'/LQF#=AL);X_AZ/=)#BZ6BWH"&^U^=#:$(:G*4K1JBA\!JE80Q3k
MY"H/';6$?:5DZ"3S.)6 A)X" (%_0 XD9\F5 !I7.M2A<W!H@T6]H*./2D"%j
MXR<M<>W =L,6\"F@EK@)*?3)78)48:37.=JJ+!-X=V_%=*4L.]I)XYQC6<3<i
M4N\F,*-:I4=06Z4'QU$P\/\Y_A=_/3E_5PJ,[^J+Y"$^KS(X'+4.^F:?ZYQ?h
MOOMP=J+'0JO?]3^NQV<U)M%Z]E5OX+:<+C)CET5@Z^(=('))DZAI,1PCP!H-g
MK^5M0\-(T!+Y\<<R%0E46EYO"T): 04S2]Q,840M9QLZ5FL%1V=G2\2&?62*f
MZ+7>G_SU^O2_3IJ'=94TEDM;#9[-HNBJW,U@6PFR1543&6Y/Q-G(R?Z61&8Ke
M1,HT1EL28$,O";],Y( EO^6 'B5UN#6I8LIM-HFC+4U"'S4$KVJZLXU;!90Zd
M2?K?F_>* F##9K%"X3-W"XW]^';1W\=%IF_N.CN=CWP[L\MY<T6CB^:>!N4+c
M17M9 \V37V0:&T!S=Z-+]NI&WZ_VL<_AH.C3WK%H!';"38%N0[A+>R7";?9>b
M!(HOJ,)>C]1J]<1W;_EF-D_X82X4RS3(.OCX%IQ#L'AXV,-B0Q/4MRF:T2-Da
M=+]7,&JO5C1XGI2R?<.EN6GA%GO=HHM\VU(J2-/?/O4WZA?]Z8L3!C:W)[JDz
M(RK<)=VCZ :^;B@*=$=1%)7I[O (7YDX&K3 S=/]F6N'75N:%=*V%Q#<I;F%y
ML(WZ*L*6]<V"A39A15MA[Q@LBKYHL&6Z;; E?>6@W<!>EY[G[!T4XO(M+=]*x
MK0CP<[_E*+^%X%"_*99,7@?]=9?[_ CI_E'1Y;)R;;A:%W,CSB:7=.#:MEH>w
M3/#ZI_:U:-_\S)4ZDFW<7CH/] Y+\T8M*T@5"M+%6:$N55: ;M;!95M.5ZBEv
MAAR_$MK%^$I_T"T9C TB[IHB11)UR803-0<44S1-.K!HBQ1=M"4*+C*:B3!Ru
MFPTSFJ*.-9HB!QPUQZRO_J@D,A.L8WB.V!7Y@>E4A^6*EJ00# ?H3)[C<QOVt
M ?UP_@:'H=1:L0.LXG[&\F]0'U_[CUH#D Y\F_<!\#T WM[TJP"[^LGR?I>Vs
M0Z=;J[W8^E6 7?V,?=@):DZ_U482M1?EA_D?>99_5S^PWA]^NN>U]PAV]1/Zr
MOZ]C>HL N\,PX=M/ODE@A@F=M>M.MV'[V^YE@A*OU>B/OT]0C;ZKG^7_DEH]q
MJH6 LY$P3!DIB"@/06P"[WSI:2J!9\S2*PH N_R.@C&EWJC9)Y6J!(&67T$Hp
MFPP"-5M.'X"6WT"PIM%]A Y+Q7F<CGF3H49M^%@E6__$)]L7RQ989<\5EO9'o
MR/[+]%12Q*"8P5;L54)>DVF5!)<.P/=+0AKT__E"HA/:B%[0!A]'ASO^5&D.n
MK30/MY/FX9;2;'=DY+W>^2@N8A')18"/&<("!96X N!5%VQ*4-JTR82.F\(Am
M;^,V4VJOW&A6\2OVC=[&K<8@;T;BTT,/8[J8P(*H0U/@0NE "'EL;]Z^ORQYl
M:)>J=9&V?NRUSN"OWSH;M,Z&*,D$1%MW^H5=+6IGPQ53@ZK!>M6Z00+I5:@?k
MUZN #5O%MG"IMIPR33/,)@RSZO<_W$[_7_C[+V)_V#V@WW\9#'K[HX-]^OV7j
M_?___9=_Q>^_%$^WK;[.LM2R-(77<6KGL#_C/,2SWNBX-SSN#M8F;X&V&9Q<i
M4HPFF^B >4W'(->G_ [)%!][AD3>9Z671,JO]FC YP2)+QFLOYOT'-'Q1U+*h
M>$M-^-H)?_:>"^6'2?! 3XDJ,3:A"'R/ %\PXD_Y-:PL??@)7U$9G[_Y^\]Kg
MKQ&P8WU<>@W-U@R7WM&U<%M)F<$?EW"/?4K]RPJ?>BT1:IQTME8)+@B_JEB"f
MP_C/:J5]1ZVH].0=/OBU5/F4<)]B#;]5=G5Z=3)^_^[D;UO<C/0?:1M^XE:De
MRGB'G[X1V8A$.P\]8 [?ATLW(E]X'R&^]*I!?,E50_NSKAH^YV(".'3C^-:7d
M#$ 1@"4*)DP @.#/P_?\_]A[UN;&;23W*_=7<.L^1!K+'I%Z6)/)U9XL43+7c
M$NFC*'M\J12+EFA;.[+D%67/S%7RWP_=  @T2'DFN=3FJFZG*C&%?A#H!AK=b
MC0>?]TM<^L&%I75ZFZW9,VY&P1]?7^IH=]IP>4N[TVFTQ0FFWRE/6YT4EDW4a
M,L*V]IK43"Y;!QD5(M)60'16I160K[&Z/\CJ[MM9@6(*+AJ/SC>U22I4+<;Hz
M+!RRFG"8B^H,VJ*.WJ".*U3YC?Q4A](8ZOQ:YBJ11?+T]C>EZMW7@*VOI>E_y
MK?F2*?HRE78N&<]^=]5>%TDH#YL<GPSL'X_C8_MX& R]L_F8/21)$":C2=B/x
MDP3VLWP%Q3Z^Q)3CA&$QV-]^XC'>OXO,8Q=GJ*Y*HN$69IX D^=)Q"]^J 1Ww
M!N!/V&P *4;+JC&S:O.F0WR3GN1U22,/H(C?XA2*S.FG^^U=P0#2"7*WT6ICv
M/RWX1/=V+QY$7.BT>'*XI>7N^?YK_HZUU@*^$UM6F=?MM?K*E"8^%_NVB]\?u
M[U[)!NJ!V"NPUE>"-/=PCWDM0'NUF[EBGG1!<D4L;4:L6LQVC.O1WQ2SV5K,t
M9I=CMC_]?_T'O>3A#[W_TVD[W9:\__/4:8G[/T__%?_]D^,_YGJ_O<\>[]*<s
MN?)Z'L<$%-%?)861A.DTOV_3S VAJL#6[DOIG';QY#+\[:C[/7+F,N_M\VQUr
M_[!_+Z(Q?KHQVSS;.;,UZ[7]@& 9"D)(]HL]#9*9%\/A>?U.E<$@89/XQ#^#q
M*ROPW@VPO#O[996O;M=97?J*=KK;I5]RY"6VW?&:6!;<=+C:_/A3PX:G[?,>p
M'Y_VN2AD3UC(HLM_$X=XDS3+.9G-_VB@E^7J$$A0,6[R564Z'6BKAHZ#^8#-o
MM'"OR':'=Q3E&9[_?=QN3A[XQ2^/\EX1T<"7[6IIPT'X!)8Z>&OXLVB/+2_Gn
MD!L1-WO+NE\G*<8C^)"(Z?(]7,."]WU ':C@X9T,"BOM4%E8Q5OL6;@-5Y[Mm
M12R_WZU_=#H@0UG(YW:CD*N"&1*C$"KLM)M8RIMEOQ&-<KJE4L3&XE]LJ.5El
M/SJ;7+S_#97\EOJ(4MYAG';'*.2H'5&;JZ&OU8;+W5)U9-7-'B_3W=GZXWL%k
M+H@XO03K/0ME8=<4^0DOJAM(T+U,+%96K^S;.B*6U*L[LX%G\..*)DB\2$,2j
MG8XAB6[A_F1"94]4.$W J1QY-26G<L6U@6;@&15'C1(<+#%03#Z\B-<,AU?Ui
M@+%Q=//!O7A:/^?P']S(85AUOH7@0;_GB!9W=(MN8!^VT)H]%S2O6_-3].+9h
M_T6>2=YFX(<#9I6'5JWV7?S=#S_8O;K]L^UV6G6*,QE[L8G3-G%F99R.)FS$g
M.?-G!DZ[6\89F#BG=12XP KB^&;HSP:60V\? VFH2[7T+&H)0J1>IJD09JLDf
M>$5V&!UG4KQWNMA(!%?NV$-(A<(>B!K)E/)$*1B?C5U_#_<IB91)\[/CMK'?e
M(?GE8WY?0SS8 =7@A8^WV\\-/FN\87#&P#8X=!2'T>-JN8+3FIP-SACPL-KPd
MOS L2C7H OTQ@"]W&9P8-8B7V7J? IE!=XI3#*_YKR<4$A-;F \)[&Z=WI=Kc
MW-,8B#P;?_7M\]TZVPC)8?:-,V3E3&YOWV@\WO'+OD3G*]A(#D@,9&40OUZIb
MQHKJ'(6']+B5I[@7BZM#[):IB6ILUTO>--',[!/\++<OTS0J=V7S!N:K_];:a
MU-#D9;;O3I,1WAB%](O'98,(&1'275G(+;P)K!C#G >2<T)&4]=+:YQKO8:5z
M*:0$:'79%MQ/7BLI^5EVF/O5LE0-1Y,%[D,OT\-H*7<S%O< )?9KW+@NAA9[y
M0F03O27O.#OMH55]UW";2I4R(UPC/1RZIY#A&W[!7ZG^J:8'GDL6DN(++#A.x
M=B\-J=TR@UO%@.>@!3TS!E7-P L&CU@9G-?@YZ^XIYWA89<O&;,"=W>KQ2I=w
MGYR<J"$L\MHU;G3R*M9+;<"+Y#>*XR5;R/K?E]60*2J1*.?O>,-_2/&E+]EFv
M][PI-?].D1=)=7RK&N@/Z6:YSJ21Q''!'\6A!_X"1KS'0:)Q;V,?.<(^(M+Tu
MR!O[H=G^=HLBW[^*W";(Z>N<.PI9K ?4H 55J%U-"47FOR9&#^S_RX2M?\-_t
MFP)MGY)QK?'0Z 7I 2B^[4W=%F5P8YCH%+^E/CU:G_S5^N2_ICYJ!00QQ+7^s
MO#>HN_7Y;W&!/O^Q-:%;<9^^T7O>29]1AF!_41>*<A!?K.KR+)ST%0J;6K@+r
M*9M(ZG:R?ASD-70*F'V%(H6+O@&4,?.-F/GZ"5$['!6*%;;R PA)SKEW-9+Cq
MX@5B"A=5R1\%\JFLRM$!S'4)4S50SNX%ZA-'[951Y="N:N.[JC:JDTZU%+'7p
MB,L04SXC=YHN=]%.#;DKZ0A#W@#'J(Z[QN *:-P/DCC))_9/"JR&B8DZ4-35o
M+Q9W-.0SL- 5)J2$KT!/2+[@V++P)D?U%BF^ZI=P8KB6S_JU)&5-B-5]-F]5n
MM'?]26I'S-YR+A=LD:Q*:3@,I1D&EXBS-KQXL86U%#9IY2W=@S?Q*QSR=LE_m
MET2'D?G-V6T\6(Y_H&]@ENI39N?/3[ '01T2W=X5*YOJR+D\<3X05Y^BE<![l
M<&"/;8UGL1HV3+#U]PH,^^L. C]70;DA6RRSQ?H <QWC:QPJ7\&;/D;F]M-Nk
MN]_BAQQXRPP-RMT&9A2FE1,-FO@52NF4-"B)#B/C G,;;_23_G:2>!]B+PJ$j
M<\AOW&"EEU$8A[6:'EWD#1)LP.USV;(.DB@SV6\_:DRJR-E06SU2:G#CDKW\i
M%%!U'1;I!HB.RZ_$"TL4E;HM%_"/%+[.[2M4/*UA_X4/VV4M269QY _BI!_,h
M_"3!*UX5\#*<^1^263B/!EX=.X?9#5Z6*S(RG2H 26J7*"J4VRWUA(+J,#9.g
ML#T73KW 'W$1.-RH^E[:MU_J<H;6Q/V\@6,=<&@<AL?+/Y)[Z/Z%_-#[(O(Nf
M$;Q44]AZ?DDDB'\&QR ($S^8^(&'OH&E)\G$ZVO,A9&,:WBOZK%;%^-S-)N^e
MG3UEV7*L[[7@@_1/__KW?VW][X_<_]ENMEC4+/=_.@[?_]EM_6O][P]8_TNSd
MO-I4Z@ R9Y8HC#7^9N?[SKN2J2RH#F.+KY_A/2O24!;F#5:94N;Z)+#GLGK.c
M"O#>[_=51/NG=?J%VD+[S31[Y)%?\"P>9HMT?9#%+EML=\N#3 9PCS0UR06Mb
MN#J8S'X\A4JVJF*8",Z->&1.[VIYH#JP7^6UZ:! A$.0F[LM?;GV$A86..K1a
M58\M]=A&WD8ULI?-/OF8?;E=5DPR9<S;Y_U^NZ'5&*Q7BX\Y?\\U1+]GB-3@z
MYZ%LL6S&0;-]NI=UGGZ6#U\:8H;%#\VTG.+VEM+['[,\O:>OGT+1V?/=CS\=y
MJ#/_WEY!0Z=87W[J#B=5N2H33H;)=?\F2;2Y7-7A>;U?T3K$A28."H,J-4G^x
M%ZP*N5:)U8,&>:Q?B?[@;YP/!@DKNBF U\73N8%6<'(EBONA>+HI\70+3NXYw
M?U*::4 XRI$+\2,NJR0M<!L0@1JH1%/&B]^$SWM1+7@TZ_6&"TWO=Q?9%^.Gv
M21/AD2YE"Y0/I;16XXJ22M(5]+5+EN +59:N-UUGJ"^A(JX>5$T%!UT_7#>Hu
M%Z$*K@:I@D9E'4#\3.(V%R%*SR;R4J("*=FZ7("#9*;WYAH*!L)Y+AIXTH13t
M;[PJE9H2"Q JP< O$(WX>R/^7HN_Y\"7<U!BX3!7T+B"QA4T+M#4I(!XO3@'s
MPT;4:[Y3K]L__  ',G^VRU"W7J]CMZV!(($KB!+^:L*$GU*<XAG^D*XF(HA*r
MP_?/LA3\9,&[A@.)BQ:+=7IE4[R]_?LB89/>YCXS9])XEPGVX>W?L\6>/T>9q
MJ-W@LSDM#+X(R"?Q5RQ7!-DG7E<#/\J6N_13>9K$.O'SWU53M)::Y4N5CGQPp
MJZ=0$=&2=^SRW2*!NP?,:+W::4'T.R:0KTVMB'B/AY(/:-C?++-B@;:_A$O@o
M\@-\\M^)S_86[GL\J%[D5%8#DNX6%:2L_"%+E]FN2K+Y8O>40)[/E.QLL6,.n
M4+I_*-<2:7!S]ZM$QY"4:/[YF(6WL#2%IZ]1\9!CMZ]^X MX9<YP4=RNK+ECm
MN7'*I'G(UI4M&&P?']--L2 :IZMU15N VF@+CE$V/+F\QZQ)K/_R'WTVGLQTl
MB?I>K1D$$ B) LHTWQ0&*+*OQ %MS(WS/^+;6/U<K ;GD B%CS' ?8/B/DVQk
MD6V_%3=MVDQP]@-\04M\MF$+]^C!MZ!XAO2[_"T@?I>C+D4RM2&_MP%;"S?9j
MY_WW_.-1Q2*$N7?P[9MJ""[=Z_MXR*(+)KM4KNOAZ?DS_XJ1E@#CF1GZ%:/2i
MMLRJPM:AO9KN-RE([=-\53_@:3?1X3[MBN]L67GZY:\VBX.>ONQ@(R93RG8'h
M P?O+LPS7.)%P<('S%$_N&HE/J^8O62[+\?(Z':[_ +:8I8_WT*">[&%B_B0g
M&([;03_8?F3QT:>[YS4>RUNMT]W)R0E^[NN(<9ANE_C-D^_MQ;U=6[J+^_]8f
M[N%J\X=TS5SZ_"3/ZH (!+_7/TRTXVJH-NW"BD1.NM!TGEQX-V=#J_FYV6PZe
M!' VC^,PX!"70*:.Q8O;M-@5Q3U:[,WZ8P0X30*(_:D7(<!MBLI"!+=-66 +d
M)_HR6M>+))J=^Z.X5->+9*(!7!TPB*.)99<J>Y'T)W%1V<(K#OP)<>6:X#)Cc
MO4CP"C-Q3M9A^]XLF?2CL3<*@Y@3ZJ#9M#^9")!C@&YF,1OR^,\U&0;C>7_Lb
M :A%0<RR#KS9C">P#-!@+/G9'0KR@_^<^Q'RL[L4- WG,T]0]0R0%\RE0-X9a
ME3_W)D)BCM'D:S\8AM<<Y%2+47PA40P[79Q<*(F0&!%G.(\Q*RQACA[5L!>#z
MT!(O&$_\V;FA!@2-O6C:#TPU(&@4><'@W%0#@F:7_0 8MLL@/^Y/?,:Q4T%Uy
M[0V!JDO;CY-K11^ZC)(@O.[[O,W'AM1$UJ:*[C(9^=$L5IU6!P5L=I;JJV9)x
M]&!RUOLG&RX.A;+_)OZ@'_MA %#7@ Z@DX;1#:=M&YQ5YP%HC]9-)KB*U36=w
MUKL*8FX]R@U&&#==QF@3L**KNV48V,*P'PWMEF45]1'[K/'27+C65J\>S!M:v
M3@_J:6S/?O*8_678?SX2&[6M] G#3-AB#1X$_$;9P^YJJ$7D#0!FB=?K^:K"u
M@!<UGW@CK;DHR::NI<@?G^L(PD06\*D_'$X\A2 LI3:HI-FUE:[(&Z3U)7!7t
MAX,1UHRJ> .QQ;8!5[T!F[]<0&18T7QO."!FK4E!,T]QALYO"Y;@.+-I'[:@s
M:?:G6*G'<QH3;Q![0XL9MJ+\>II$WC#J7UMLPN('1'A\Z;0:L"5.WS;!<.%$r
M[M!R3TGA-+R"PAXI#+SK.+RT7,V^LM)YP HO&7:K2<I#*+=:#BD\"YD&^4!Mq
MM0C$'X2!/[I!2-MX00%K=0B$S5<2U.H22!R&D[,^#KR6UK+^( DOO<"RVDU2p
M.)B$,\]JDW&8L'!A6NBETZ2P45_-PAU*%WFSP?E8PDX+A7X05V-+G5)M#N)Do
M?CGLQY[5:9)24(5EL7?HA4(5'9>4,L/ ,%MX<D=.4N?S.('O]4T\UD]@2M4:n
MPFNJ@;N. =1)N[29K(>-AU%XR=O9;>GO3*ZA_Q7".]4&&N/I??"UH=1KBILBm
M^'U=>!'D;6:_:[(( [_[5GR #X*#Y\>_\D,PFM>XA2.@Y2EG&K(I-N;6MS3Il
M,.#$ZU]YMEV>=JI\T:-#ONC105_TJ-H7/:KV18\.^:)'AWQ1V:_NMKO'9+E*k
MU_;V:2&E4#B1H^DPF<7]B/F=M' <A=>68R">1WYP8;FT=.2#6V%I&BZ8E@4Kj
M66MB+;^AY$FJUW!0JU &MH[OA"BK>.1%$:.;>$$8C\)Y,#2X AAN$]' +0,<i
MA.?]@$TN,]OT4Q',O8.A%_@X>CH&>!)>3SUE)7H&^*S/**_\B,]JNC(E>!0Rh
M3R\N/% 3/(Q\V4<=\]U##P>FSSNXTRTU# 0SDVI0<]5=GJV36O:YOMH\/>\/g
M.U8C-KLD@WXP\"95(PC!X04)11S-(X!CADFZWZ>5_N#4(S,B&9I>TH_C_N"\f
MW(,8*/+ (-I%#ZIX&^P07C%?Q/37!U$XF3"YE-LB0#=27 [E>YON*IL0S/7Je
M- V0^!1EJ0D(DDT_-EZU6CQDS(<HOVW.O'YO<%&E"0HHU7Z5;>!#"14\F=_?d
M/YMX53R]@$!*/&%#P+Y**/Z,12\0;8P#4R@,--- !LNG[=/S4P5'H1L6*L5Gc
MX8>2P(KO0)<I(V\,$R5\ 5;%*I(NS_9[W&X#21,[A?O<A#,,N3#8%2@PT'M>b
M;?[QO,*OD<)DE#_? @_(AL V4.92"_<,4*N/V.+G5C,#>P>8:<Y>"&] =H^Ka
M]7J5,[=]LU3LQ"E=F!A3\.^?G[9\5A37.V[O^!M7^^PQ/P$^5>=$D\<-M!I=z
M?) 'WW^_RB$F( >$1?/L)8>)2HL#PAKI+KU_KVYZHJ0,IM&52#/Y3HV427>=y
M'7,?6LB.<R"DN&'*(!4?J69^ "54;_UMAZ&/U&'H(LQ2J>.*KLH\STE_'@C3x
MU:R"!# U.E40-M60Z0D@X+X-P^N SDPS=/'_BY$$D'CI4,A9%/:'@SZ$VJ<4w
MHLU%/0IAPV0Z&YO9$X#TO9F .,TJ*90]I-EU<LED-O&GS,V#:+S9I,"(S:8#v
MCP=1K@$<>B,QHT$L;@!5_2$4;S;U ' V3/IG(?=(FJ3XDODI?G]"I3XL/%N<u
M1+@GI:T,*5.@=LX6=B5AT:\'"3M;+PS/_L:",>92X:7=O487OB;>Z35Z31)Rt
ML7G=!T>_;SEMO704S>+(LM@T3PK]Z9@5=FUH:U'1Z]5FN?UD]\E$5_AL8/"Ls
M4OX18YS(MDKYQ]%\,E$ /5G*9K:HG"SU@U%HE3*E$$8*9%<KGC/I@Z.)@+8&r
M& 8:H*<!KF83?^CQZD#7*0"3D:)P=4 4*T!;!YQKK'IZ7Y)30F6J0 BJ.D\@q
MA%6=)$"!F1D"76SDG;H[B-+3@:X&%#)4P+8&%')4P)X&%+)4B3%="$*>!9 ,p
M12'3 DB&XKG!EL@6T\BR,<W/C%"%*G"X(UGLLE0W'(6ZK@<)&\%#B'!(X748o
M7; QH 7X$M$TLP*YE$O!]]YG^ZJ7CI(+/QBRT>R00AQ$MAX*L4+L^C:+A/1"n
M>..'FVMF\ZTV 0SF480 JT/*F0&\$@1= H#.)0"G!, %;O5((5>N]8X4QBP@m
MA[8T*6/(O/*J.$8SO0^Q>*5#V\KB_ZNAY;0,].NA-[L TV74#WHP&"^CAKR8l
M-I-Y=)X76 YMXR"<A)'ET#8.1:F><N(*H_ZNH3@-Z!(@&81DMB6*-$-!79FEk
M10NB47/9@FB5)T,(D PE,BT7&K8KUC6$IC49-.D["X6;D271.0*IA%#MBFW+j
MH$3U2V#;; IHVRZ'JZHK2""5$.\0Q3NIA+ 'J I1"0T)U.@FS&_2LC\NE="9i
M=^4%11K*I4W1TI0 I$W1,I4 I$W1DI4 /*T&HO3=GJ'/(F4)/=/0)X&V#'U2h
MH$O,'G,3LG7&W-Q];A&[QQKYP2*6-HG]>.)9Q!#RU&A$[""WC<0*)GQ>) :0g
M6TMB^Q+T>XC5$]9=MP6)\"5T4Y!<L09:Q-@ETK<@QBZ1C@4Q=-)8$AN77'D3f
M[\JB-BXYQQ<1 Y=(UX/8MT3Z'<2\25M-K%MR+MZDJQP44!%Y"S6435NB.2;Ze
MF-4MGCY<$\U7T;NW;@3UGHW*J;!@^I2J]^=$<UI(NZY4-]8'9*+\&&*M$N7"d
M$$.EF3]BH[C:RN8)-5=AF1+EZ!"CE"@?A]@CS2834\256+9"B?)XP ")L9?Nc
M=FSHB52_I8</UWTFB4M8,K>:I'08\%)'7.?8Q&6;5KO7<-LDA/""83+%30-:b
M_O_,&XO"EJC"_2Z]*[+C>"LCA#*Z$9!^LRHY8X&-/MC/YK.;! H1 .U:KU+Ja
M0<5L.DD&T2S2#<=Y.(_&D_YLIC.[#/T@3B#?JAN/T:0O"K4Q%Y_[ 6,:,@8=z
M4CJX$,7:H(/E=H%-/*<Y&RX045IN1V,R3<+1B#6RTR5E 11I^M;\7V.$%@TNy
MC5$F)+O:]Y!RQ/*2+ E:P>0P6B'=TGN4B$U[4(BYY-TH69LV09.W816(R(E=x
MD$(74Z?&#06O)M4N@01*:KH6ILE,K=*P:%J'3/K%=@*W\TZ',"<F#GEJV>UBw
M^ '_0)9;W">;V\?V?;;)=NF:1O9A&-M-<4'#"O9<0FX-2_^GO>OY31N&PN?\v
M%SF7>2IA@58[A81M50-4$YO6$T(C;9F&D BH<-C_OKP?P<^)82ABN\SOTO:+u
M[9>8V@[^GK_'9HSD8?1MFA8O+MY-FS8D9SO.PPI*%L^;%\]C_9&@VX-\"JUWt
MD#+WUAC,:?P8C7@RT^#C($UQITCL$:3#8GH8%7,T3&,E2SQ?8!I<2N[ZM,A^s
MSBE,;D%9<.1 '21$!,GQ/DCN1G<3WUCT!TG\*8(-@4!BQ:2#:[[%[8]MOED\r
M+;Y3@FAS;I@"]V^X+##D^Z7+ HM'L/T12&I<4$P&98ZW7!M\?-NU(8&W+M[Xq
MY17!8K$[XZIV1$Z-B]H;>38N:I?H'BC9<SJN5>DXR]Q#G5=]>.[ *BTB8\?Kp
M^Y6C\53SM 8O+.C;MMG8:CVW;K:/QWH\JK:!Z[B?:[,M#B"WQ%:E]YWD\"6Oo
M;>)1/*E]QD79_I=)\66@&H863S0NIKQ^%-]__,RX#(I*.LG7*#V\!'E>2;)"n
MR@(@EI :F*]RWL:0\X'W 8@KV 3S6"8D[ :P=K=ZO9LW'5K#.;J>%F0.F'F=m
MY1@IG6?SMZ4()]!$*,*I+LE8J,LR%NI"C(4R8I+HV?$'=L Q'J/*<$#F"=6<l
MV5#-F0W5G-E0S9D-U9S94(+9*&%6TO27T]5V8\5W5G1O15]-U%M.7U"8<SBVk
M*X0>:"ENXHID0M^;( E25D 4GJQC^BE*D)0Z+2 5_04QD0_]4EO!IGSK_W7Ej
M6ZZ)=U*\/LRR'/.EY7B8]+@LKG]<%M<_)8M[2I0QM*+=HX*,X5G1\D*,\62Xi
M_&T')-L@[6DH)-N:RU'YEY6C\O^A')5>Y;4[?;R*F^'F1</<))ZSJ]=$.: Kh
MT#OB,[D:HGK\-^C_K:J%$*1BI3(7)^O ?B@SLM!9I/UVN=S7/I29(::V/NBTg
MK4LAOHS$TLQ:6:76\UFUA. <)-TX)L067HMRG%Z#'A=2$L[6&ZQC5FD++;M#f
M+@WCC#V) M+OG':%1 MWQ;]6M5O"0+2G<VG8&A0(EJDUU?FCE)F3]G#FS)DSe
=9\Z<.7/FS)DS9\Z<.7/FS-E_;K\!ZK=28 #(   (d
 c
end