V61%DHDURZ1.BITNET@cunyvm.cuny.edu (Ronald Lamprecht) (07/04/89)
When I ported Flex to Minix the main changes I had to do were adding some explicit rules to the makefile due to some bugs in make. But I thought that it would be better to fix these bugs in make than posting cdiffs for the flex makefile. Due to the facts that Andy asked us to post cdiffs to PC version 1.3 and that the 1.4a updates have been incomplete and reversed I have included the following complete cdiffs covering all posted make-cdiffs and the 1.4a update (see references): - Readme2 - makefile.st - makefile.pc_cd - main.c_cdiff - make.c_cdiff - rules.c (rules.c_cdiff > rules.c !) The files are shared, compressed and uuencoded.(Sorry, but I'm on EBCDIC-Bitnet) The resulting make has been tested on the ST but should work without problems on a PC. Diffs for PC Minix 1.3 [4,5] make to current version (PC & ST) (1.7.89 RAL) ============================================================== Problems fixed: - various calls of functions with incorrect arguments (0 instead of NULL pointers) in rules.c [2] (In [1] = [3] there are still some casts missing) - passing of a NULL pointer to strcmp in main.c, which the ST didn't like at all [1] ([2] complex bug fix; [3] is missing this bug fix !!) - implicit rules didn't work if an explicit rule was given for the dependency file but no old version of the dependency file existed. Example: makefile: # make bug1 --- scan.c,scan2.c must not exist !! flex : scan.o scan2.o cc scan.o scan2.o -o flex scan.o : scan.c scan.c : scan.l flex -ist scan.l > scan.c scan2.c : scan.l flex -ist scan.l > scan2.c output: flex -ist scan.l > scan.c make: Don't know how to make scan2.o Even though the implicit rule .c.o exists make ignores the explicit rule for scan2.c and even with an empty explicit rule for scan.o make forgets to compile the generated scan.c ! Both errors are caused by the same bug which I have fixed in rules.c with inserting the "op->n_line" stuff. - "$*" macros within recursive implicit rules have been expanded to wrong values makefile: # make bug2 (recursive implicit rules with $* ) .c.o : cc -c $*.c flex : nfa.o sym.o cc nfa.o sym.o -o flex nfa.c : sym.o mv nfa.c2 nfa.c output: cc -c sym.c mv nfa.c2 nfa.c cc -c sym.c cc nfa.o sym.o -o flex Within the second compile command $* gets expanded again to "sym" instead of "nfa" ! (This example looks artificial -- there is a more realistic one below) The $* macro had been set before the dependency files had been made, which could redefine the macro again. I fixed the bug in rules.c and make.c (baseline stuff) - "$<" macros within recursive implicit rules have been expanded to wrong values makefile # make bug3 (recursive implicit rules with $< ) .c.o : cc -c $< flex : nfa.o sym.o cc nfa.o sym.o -o flex nfa.c : sym.o mv nfa.c2 nfa.c output: cc -c sym.c mv nfa.c2 nfa.c cc -c sym.c cc nfa.o sym.o -o flex Within the second compile command $< gets expanded again to "sym" instead of "nfa" ! (This example looks artificial -- there is a more realistic one below) The $< macro had been set before the dependency files had been made, which could redefine the macro again. I fixed the bug in rules.c and make.c (inputline stuff) More realistic makefile to demonstrate the $* and $< bugs: makefile: # parse.y, scan.c should exist, scan.o depends on parse.h (y.tab.h) # which will be generated together with parse.c flex : scan.o cc scan.o -o flex scan.o : parse.c output: yacc parse.y mv y.tab.c parse.c cc -O -c parse.y cc scan.o -o flex I fear our compiler doesn't know how to compile parse.y to scan.o !! - I have added implicit rules ".l.c" and ".l.o" for flex (res. ".l.s" and ".y.s" for MINIXPC) [1] make changes for Minix/ST by Frans Meulenbroeks from 30 Sep 88 [2] cdiffs PC 1.3 make -> ST 1.1 by Simon Poole from 25 Jan 89 [3] PC 1.4a updates by Andy Tanenbaum from 22 Jan 89 [4] PC version 1.3 [5] make by Andy Tanenbaum from 13 Oct 88 Bitnet: V61@DHDURZ1 Ronald Lamprecht UUCP: ...!unido!DHDURZ1.bitnet!V61 Theoretische Physik ARPAnet: V61%DHDURZ1.BITNET@CUNYVM.CUNY.EDU (Heidelberg, West Germany) --------------------------------cut here------------------------------------ table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 make_sh.Z M'YV-9<:@>0,"#X@6(*24"4.F31D9"N:4(0/BQ LO6%[,><'Q! @?"1<V? B"z M!X^*+TXHP+*22!HS9N: ,/-&#@@H0T T2>,FC<$8+F: V$*#18TN(-J$65,&y M!!V"8^K(D5/T0=LK(F9/FC1L0*'"", %B"I44(-*B 'K#!8X<::4$89)Bx M98^[>//JW<NWK]^_?%>NA"+GC1@V9=K(-.-SHHZ5:1':"2.G:QV98\*P82/Sw MC9F9==R,H=/5C<P[:>B@ <%S3$VJHT%0/E/'H569*&"P-DU') C/()Q48<($v M<EH0<-[P[+T5+4\0<NH@GN-B3-HM,I"B2/)U2PRD/8;.0*I::U/*3>>0W@QBu MSAN'(#*KGV,\;9LT<[BZ.8-6,);(R(61'T]G_/99&,$-QP1RREFEE5,$J2?'t M&&W L5M28?!4'0L@W(%&&@(YA4939H% 1AIDN''"56RDP51]LEVE&1O7?0<6s M=DBY5B%B!HE11X&,X;&#>$CAEQ1^^A6HFI$^ ND3""&$4-=_QQF'4!H[@I@:r M=-*5(=.)*:[884UKL';@5V7@ 4>+8VP9'6(="@C"&6ED]15--I4'(QEEP%$5q MGZ+E,5,:</IXE1L$O<$&15EM59J!(C;%IY]N #J&H(S!F29^O9'A HQ%X!'&p MCF4\QA*5QV'(5*:EPICJ"/8MU523,1S4 D+M9>;&AG/H*D-U]EUVZ!M7;:H>o ME"&X>IP9/(*@0ZYA[!JAKRZ\H6Q:"8QA7:_15@NM&[\2U )!S*9Y+0CG<BNMn ML]]6=VZZN@+[K+HNL'%N N4:U *G[=(($KUCO(MJJM_^:MV\\=H[<*KX-KOOm ML?3Z6["["Z>E[!MUT %'QL^B6W%:^1[$;\0?M1OPQZJ6"@(17HFY!J)W@#!0l MS$^E/+&UIQ(,0A%VBHCQ&:N5QUJ6;5[U9E/5>6LL'3(IQ11K9R!*E4Q"I[FFk MEG0H>_1,-4UL7;04E=$S:JK)AF:%= AJ-9MN=LFU3?3BK+/33>%Y1AE,0QC?j M>W 0VI30=[NA51B=F@RELC *0>QJ6A6VE6Q4Q1?&91.!((:@0L\QZJP_=OAAi MB$G('$96@^)1^7-'4W=RJF2OQI-$<I"V7Z0@B/ &'"WXX,87+0HN0GMTU '3h MIP-;63L)*ORNU!B%G9;:AU_!)A57I&-Y==%<3B<ZZ6*4414(5H-=^5,PWE'8g M[).Q48>7_LTM*ZNFZIP6K#8W*0-8TCM:/=%M:]\Z",@#P93D!X*D$21^\LN6f M=5I@'>11C(#G"MFSW&"&,'AK#GEH0[7NI:VT4-""$<J@M\8U$QX)C( ?E%=[e M1"BW!+;!#B!(X1CN)\,3$@QC&N/8N3K(P!5J<'7R>V$,*U@=&A(1B#KCX;9$d MB$2"=7"((/3A",EEPIP1[ K/>T[F N(5BNBH;W#2D5(J!4 5S EO,@E?I2H7c MAC-DZ"LU$P$&VR "9;VN-PR!E @^^+L0@(4*'TJCJ$@% C:\X0UKD EE2,.8b M-FG&5I&*G)'"H*PVU*0I5-$,IT#T&\%9K@R&O,, "08C0#8E@,LKC.@HTKWOa M2>0JW</3WT9DHC[]J2J7&I3VT)#'5GY%*7QB0?D^MQK72(<B5.$38SPIM%02z MI(UO= $(0A>D\=&R21=*';# YK%4T0U8*!"#@$#)D_0$#R93,IX(2, #Y86!y M>6]PWI*B%Y#IU:DIUF.;T;HD$UYRSWMH4I/X*$*^@9G/*P5*W_KH4[R*T8U5x MYZ(?W2SW(Z&@('_4PR?_]NF_YP'P)*/4F0&=Q<$%-I '-M29!*%X01:6U(-$w M#*$&Q45%<Z'L7#)DUQPWB+($"%&&1K1@$U-UL8QMC X(3*))I3C4X_STB$%]v MH/R4R-0=6H>E,IUB"6U:I8IA<9ZTDXAKR/A%O^VM#6.D"#O/F#<U\HDBT-0Bu M0>28P3I6[(Z^ <X>*]C'/P82?(-<4U,,B4A%QNXE6GKDK2*)3T56\I+064B+t MU,-)K\P*E&\0)>(&9LJ/8@B>J_RD*_'V25G2;E*W#)0NO11:7V(HF,,$43$Qs MMJC(*K.<M'.F;-RHH6F6SIJ<*Q#J^+E-,L+HF]9! 4^.VCMS"L\,Z;1B6IH r MV4Q.EC36>:A9:\8G2_)&#H2;Y2G-R,VU-FD.277J^_R6WE>E!0Z4D8@+\L Aq M@+5G(,<$+*?J&R^"H+92G?D*?+=2!A>L!@5Y< $=PB & X>48/3SD&P[1"@:p M=>^,@@-OX9YRM_+8Y'\#EF]30=8LA'6KA3I38+MHNE4\I)1@<6-7B O<U*+Fo M$*GGRL,[KSKC^9Y+B E><(.MT^,1QV>!3S@(D>-;X#Q8=<4'J:F+;UHQ:B[$n M)ABS25D18Q,RO,%+*KK*RS(K,S+7;,M-Z3'FIG5B9&T60*'SYWG(\-:A7:]_m MK*U=O:KS.VZ*8,]O^!V>6HP_+TGSSVQPP1SLFBH_SU?1@NY:$Y+@A"1@ 2</l M]H]WD#)1@43K;HN1-$]\\H(2I>IR(# ">$VCDS)TR0UB*$P9$CF3PK0A+3/0k MS13Z! (<X& E.(K/B6 B$[$ 12@3S5U9J "H-3*<H*: I:\<I-#PDE^9K!Uj M6F10 Q H(5J]S@&PQW.3G "%!@BJ QS($%Z9$%!GJ Y"I01%A6A519RU(5BVi MW[/M^WW[*V\!-@V0(I9&<87:QP;V46SV[H;#6U#R)@.][0WKR=TZ5?N^> R$h M\H38^%HP+U! 0 92D(-@2$-C^,(8AFV&B%3.(AC1"$=24C*EH%SE+"_)22RBg M$BRHX.=EF= 7X+#Q%]A\5V-( "#K ((@P,$F,L !"& P QW ( 8ZD(%08I"#f M@&/A5@@Y>G64C@:F*R$T() !7*BN@USKH 92Y[K7?T[WNMM=!2NA>[.USH(8e MJ!T$=3=. O!%.,V@0 1#B!:BKC+J!6_F#=E-3$WR(((4[, X(_C32XRS$C\Fd MX"5@D1"%X( "[2*&0R)H0>5!<)>IIR !+S C"!+_%<H![T1?D9/IFP+XD%-Ic M\"^A2'C4@_O+_QZ4$A'\YS^#@A#L_O6PEWT2/H.HU7*H/+672"TK*)VKJ,#Wb M8-_[#/K^=["W0/D5=/SA:;_XW:1F1I!/BN3E0'G+8U[S+:=2YT&P?+#L?BQDa M(7H54GKK=7JUHWIHT7HP\'JQEQ:T!P*V1WS/H7L%R'O?IWS!QWJWQQ/&ARW(z M5P88R'S.5X'0UX#31'WDXC?7-R+9)REEP'ULX'TA%W(C1Q#ZDC+5@7,OT7(2y M01$PEQ$;T1$U)RLYN'([J',HT7-Z-P5"1W0S8'1$F'1+UW1/EW92QW98J!MRx M)VY?MUC(179FAW:Y-G4XD'4YD'5;UW5<>'=L^'-Y!W0S8 ,VP (S< .U$GA=w MB!!Q.(=U*!3F)WA402?J\2 24@>Q\5\4H0()$ =D <=R'^DX1!?0 >#-WADv M$(E-$1XQ\(@)( ;65HD) ";NX1#S5"#A 0/&MP+\YVDVH8B5*$X2X0:;DQ;Au M@0*L"'AH@8HKH8K9PDNM"(K+E3&R"!^U>(LJD(N/R'F_!WHHX :XHSM?P"QMt M-!;!\05$\ 1.4 13TH9L^(9F- ,X -TB ,V 'ATIWS]AP)L\(QLH')M0 :Cs M!(JQMA!KP(GI& +K."6>9XEYL$:DYXSV]WM]H(S8PHPAT(S/N#O26"!DX01?r M0 5!( 5'@!8F0!;.F#N[@XFL=XITL1+A!XXR,(Y2]X>_!WS,MXZYTXX4 H_Hq MV(F95(\A"!;X" ?ZR'_\Z(\(R0(F (M5L3DZ&8QT,(QE$)#8,I#ZMXPBB) 8p M&8UL,(T-^9 1.9$ &$,).8E8DHD<N8W<:'?>" (SD ,WP (T0'7FZ(8E:938o M<H]QL%!749%@<9'0N)#4Z)#76 5"P 3:.)5*"8T:>1*7>)4I$(\)L ?[5XETn M$P,Y64APP"&,2),[$'VUYCTHD (G(!.-V7OH^)?$V&SVN(B-J($H4(B':$MDm M=(RZ6)*AB"*CB#?0<P8KL +&]Y$YD -B"0/=1I)IB98V:9!KZ25M219[J9!-l MR9#56)=WF9=N&9Q6"1]^B8F!J7R$B07[Z%.R@IC.R"'KR)B-R"$\*90< I1"k M:7D@T(#9)IF4:9F?>8&HJ9F9R)GH>)FU*)I7@8BX>)IIF9IDL)JE^)K&MY5<j MZ7- 1P,Q,(<T, ,T4)9X)Y""]X%F\I95V9<FHI%N>9!P*9Q.69Q/8)=X^9R_i M%YW[>)B)&9IT$!VQT5SUJ9V."9GE60:369D@<)GJF9:8B (F4*'+.92<J)L)h MP*#,B!A902,*.)4A((KOP9H$(IA/MQQF<'@E@%X5T:0>823JIC?LUAM<X 8Bg MP"%MT(\^295+&9Z<2!7!(P=?89\@H)O*Z$<@>IV*B:*C%(B<0H@C:HCS29J)f MZ)F.:!SR64BXY8H)L(Z/N*=""7B5Z(R/&)W8 J>#"#=S.IJ4<J>-F(QY" ("e MB@-B.9:V<BN"IZ,\RGPV"J'L*:3**9=/:9P;&H\>:I-KNIBAUZ@LTJ<I((XOd MNIV6,T[>N1M'!:;C:48KVJ+H:2$Q:I,S6J,/"I@YNJ"<@4\G*3:@M)%3)Z1$c M2HJMB:25815+*@)-^BPG *6L(1-3REWA=:59FA1<ZA <8J-@NHO\]Q+A9*N;b M,R6\B"]4P:+=^:YABC=24::/B*9'J:;5F9C9.:NL6J_FBJO"^*[&H:C, 3PDa M6J>/2JB-&:BNRJ>>Y*> JJ<3.ZA^:JCJ>HORXZ<$6P:I&!^^2$!^"IZ;<ZB z M6 :"N+![2I^*&*G*Z)]XJ'<%:JDT4* (ZI&+E;-%00,U<)M@AZS)UZ'*)WIPy MD <B*@<Q@'J5-[(FV7PA"Z\VV8GNNID2LHGJ.GBOY$R'ESPL,+50NWS-A[(.x M0;65:+;MF;5CV[7O5!B'UTXLH+9$:9.#A@*?&1X1:R*.R+<:V)B"B:A5RXP2w M@AANL+0Q\)PT*! V:'*[YP)PD'(KYW(^>!% .',> 1*/&[DXAX0\UY5,F').v M"(6KXC>0*X5E1X50=X55QW8Q< /-IH8\&W85>+I@Z&UH%W7-1@-O5X;@&+MSu M1[-FJ7=-6XYX.#\Z48%ODS+)TJ^S9P1,$ 1', 4:V )$$!I/8KV35FE69!Q/t M( 1*, 4)T .]&!!KH&@&2P?HZTSK&TTRP07*]TTRD4E\(@?HJTT,%7[%FZGGs M1R6PT@3*.VATT[P6(YW/&[W36[W7VQ/Z0@3;:VDX09 @\+WA.[[E.P;G*Q- r MV;[PU+X:\K[Q2X3S*Q):<;_$11^+2W(W^+CJ0;DH$7-!2'.:6[O'8A))N!+_q M&\!=,\#^,030*[W4&QXMD&36B[T&L1),\,,)'![^0<'B2[X"8;[>LL$$P;Y5p M'$T$ ;]8,'C?1!#T6\)>3%PXLQ)THP.#1P(HX,13HF(D-%%HK,8 A ))C,!3o M$%U1C,'58L9H8& D*\4GLQ)4K,=\O,%_C 56+,BKP;Z%+'9O8,8)L,>)'$V+n M3(2-/'B0C(.%_,7V6\F7K,D4LQ+:Q,E\K$T!D\*-BQ"D[,(_*'-""!*D[+DIm ML1*Q!QF*. 1>,:** BE"DT]8TQ[/]22I0\N^YQ\CT!KJPR>U \EVY1^S_!^*l MJ!!CFGL,LAP/4C.9\\L& 1P((I3"O!+&N!)S@,W-B+!88(R%FK(K$9T)(*;Yk M"AT\P2=X,,X%>P(N< (!:93,G*"$2@3ERDF(B$L)EA: 9"2%D3&X%09P<#6Lj M=<TP0=#\1,L)8,WT9S84L4QPU1Y9-@;G048(\DJ0DCK+BR#W,2#[ =$+)@<=i M)DTGR#6A00;G:B%& DSX9!7/Y!2S05K_L\L;!='N(14:'4-=RDW:%!?X2J8Rh M00524 5%T*#.&"=-PQ S75"$BB GG=+=C 6>J"@K(7$X>9UP$+(LT#?.>+!Gg M"\X9.XNNR+'E7+(?ZXI??;4B.W@FZ 2SV#HXY,L-;1"8N=:48;)NK;;&I\X*f M^R#FG !YNL6#K64EZXIQ8'SKS+)QJMA][8KA#!./"9D37%N5'21IH9X)(*AHe M/7BW<]ES708Q\\]6T=F^]]EG#1^4[8AR+7M3@,VJO1*LW; 4VQ2N>+%;_+)Vd M2JBA>-B].-F%:MJ;;7S^8=@:R+:V'0<:B*[HO,4&&9K/M=SB' >!N<:/'<VIc M-A=34 2D;49.$"&T[=D2!B<HX-PGL=G:K0)P\)H:J )QP)^V[=X:> )< ,Gb MX-CLB@+N';(:J!2/-P9+:[B(FP(KD+@)6(R+':L"9-N$IWXB,-[R9TD3/6@Aa M^[2VC;1*^]]PS0)9&Y"V/=VA:2'A(3AW()2'YP)34 5&8 265@134'DIL)2Dz M6HT0*9$<.GCL3*;=S03?C=Q;?+?KN-Q5V5Q# JB*J8$HZ0/M*#AX0 ?:?;=Yy MJY@I^063,B21ZK?AT8BY0P9? .52#N'J/'@HOMD:Z.4^ .9"^:71G;;,5[A5x M0=WHM )R?KAG_EP(7BL^$!Y,H 7:/7CI9W@B,-MYG3U_<TB%A% :OL6#9^(,w MJ[6.OHC/;=S/Y=B#=]Y-X=_OK8KA(=^O&>@)@.F&?2ND[MS#=^D0G@":#A;Nv M#=^?/M\K(.JD/@>0CN(J'N*D3KA5>>,.F>,3N>IE_NC+/:*2#HJH#GAO'8MOu M#N>M*@<&[N',?K8@H(IWWHR67N=\[N> ONJ"7GAL<'A)L%% #1]/01"&M!^-t M#HJMSNFP#GBR+NJC[NVXTP*D3NDGGNUF<._M_NJ>#N^A[NWS/ND)<#N5GN*;s M<^#W;I"WLY0F.J$-SY> *?"6Q)XH<#L!"8S,%_&[8Z)\P >_4:QE3?##;HFWr M;MJ3<O&LNK1T6DL/:YH9#XHHWER)2:NV[O#E=.4KR2$+>.\)X-YJJX$<'^;-q M7HD]_A5(K=3W;I25R/0)P/1'_^-!OA+X?"K-3*@ _#1"HTR3$X.(SE![;0?*p M009D+"NI,YGIO.$3NY+ /0;"#=JN;>9O/[$P:_)"CL/!]X+@XQ4;CC=>*P)"o M0 13, 1#,*XB("!TE/&Q]]E^_[9O<'B!/_A*/.-.:WD_O]IN?_ K>7AH'/F$n MCQ:=+_@^3,=HT0)?P4[CRO*QP?8P[]A-G>\([Q K/@;5LNXS7TXAZMLO'ZL<m MXO8\+^*]W?CPM'Z%CWICL.YN._R(-_F&/\3KGOFPO_GKA *?'\>C#\2E?U*Il MOZ>L'ZL9__HQ9-HJ_F>T;QAJ8/NF3?-LJOH.^R<G&A^LVO/)G?QP*P)-$(Z&k MC_@'@:6*KXCT__CV+QPQO\KWF#P;] M_=T#ZH;'[MX#B& .<?*!/;CV[EM?]j MY-\6 W^X+N']F>51^[Y?^L-]ZT_WN3_3U/OB'_!C?'3@[P4!RE<[](" 6'>+i M[_\=GA4X &O'T[I\MNT HC@%B *TP H$?2B !I*^* - @,!'V7YK[QW5I^]Wh M\F(?B_HS J):B('SYP'O@/I;>2*P-/$^^/?[A%P"P(#B3P.Z@!>8\:H<BDMYg M(9#N_;;69]O H!-<<>9OW9E!E-<G:IYC:H--</SQF3+8!-$@JVI$3/#@Z<% f MPP</GA_D$(#0]>5!,;@\Y& ?K(-L*A'B04$H!EO<BXMQ,ZX*7D%$B 638"+:e M@A8P\U2*S6/U])DBF@)%2I?1DBK O>R,/OEZ5ZV8F0%E H$86-]+@8Z/^!D^d M;8'\A%_]NW[3J_D]@48G"VGA [LT0R '-D$>6/W0&#"L8P>!>J$^#L'^XH,2c M9(,7<!'*/O(':0)2YDE6RE#SO2/.1_V& !!\AMGO"%)#[G<-O9\BI(3;T( 0b M0_RC$R@-!$N&%_ #"H[<IP9WGZSR?:['"\I $; "\]^BR7@ZT+3QP!](!$F a M$9R&$W#UM4,+^ 6UX1-4-!W0]>E#%I4&<1O,VH( T0+>PK^7!8( X3-\.H87z M]C\42!)KH BX@09P&8[#Z5<2FR$*R (04!U&Q*M0 1&B3"0#AP?(*!@& RP<y MXKAR>X$0]NG!!'/\-"$([(0><0V"1!/H!1-B IR):*PFFL,XAA.'($2LACW1x M^!1#O7<,(]@6LXK,<"LZPYS8 JA7D"&*QZ\$^D1Q"!1%@% 4,NC+*,K%=Z@4w MQ6"".8AB\0.%P^B'%<OA.62+UN$M#IFC> ?/XD\,BC!$,7H+O0C_DB("7(H9v M$8?1P[*(#[/%8Q0!<N#62,:X6!DUHA5\BNNP'X[ J=@%YY\O!(#0JPA@ <.7u M+Y[?9T1CL1$+ ,'<^ 5RXE=DAY^0(J+%F2A$>,1\88I%D#%:Q@P8#Q--4S2-t MFW GNKS5^ ^I8G(;CG41-^(EW1C'>*-OE(!@<2)ZP[SW&3CC8$2 :?$P#L&Vs M6$C2Q'&$-'OQ/.Y X@A#C&,>^(O),3YF0WAX$1,-8-2,X- QTD5R:!/1H9)Ir MCWC@/9)&I.C8L"-D1)#OD2!01@8Y"?MB<\R,6$ 4#IMZR+W,HF<<D*#QUMA'q MIJ@<H2-JE(X?L3JVQE-1$?DC''2$AA 20L66ER*78QB,A_]QB\W!.W (^9:-p M?(/D#T;"OAXI"?>CA;R(]<>Q[4@BV1A;Y)%<<6Q 2") )ODC]: EA'%80,:Ao MO].X#R/AC)2(P7%%:DA2.!8_0SSA0E=/$1F!# 'MT@#0N JV!]Q4!5XB&BJ'n MP7D4P$%HY(1P)@9: 891!H$HID202%G9$-[\!..9+)4#MWR=,I "W@ZD,=+m MN ?[==588BY$/,6O=JA$QS80GV'STP.V$40Z0[5(_=BB3?B-GG )>D$WJ =Il MGQS8DM&Q&J;($K@BG>1E%(.9P06\2J?8);]D^]."*C(@5LA;&0\MR*XTD;TRk M-49%?T@KA:61))87\0WH2EAY(F6E5 R6%)%5,D)722V3)8J\ELTR6UK$%=<&j M<N6Q;(,;D1\N2^H8+JLD(S26W9(C^LKI""S;)5^$EN126I[+?,@EY:6RI)'@i MD@LZRV')'"_BO@QN,?(?S<L:>2\+)KE\CK9M2<I(3N@NXV&Y# -2\@Q.3!_9h M,&_D1828.O(1*DR*V3&!9'7 F(5P2&[,(FDK'>8&1)E*4F3:P8IY$2U)QJ2#g M(Y-C$DR/^2)3YI1<F4U26Q;+F\DC@2;-7'%7$A/&2SOX+\'D^PN%^(?J*8"0f ! Y-Ce d end --------------------------------end-----------------------------------------