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-----------------------------------------