msdos make (2/2)

grayson at uiucuxc.CSO.UIUC.EDU grayson at uiucuxc.CSO.UIUC.EDU
Sun Jan 19 01:05:00 AEST 1986


This file is part 2 of 2.


Here is the current version of MAKE for MSDOS, due to popular demand.
This version reads an init file for default rules, and handles several
cases better than the old version.


        uucp:   grayson at uiucuxc.UUCP
    old uucp:	{ihnp4,pur-ee}!uiucdcs!uiucuxc!grayson
    internet:   grayson at uiucuxc.cso.uiuc.edu
       telex:	5101011969 UI TELCOM URUD --> Dan Grayson, Altgeld Hall.
     us mail:	Dan Grayson, Math Dept, Univ of Ill, Urbana 61801
       phone:	217-367-6384 home   217-333-6209 office
-----Cut Here-----Cut Here-----Cut Here-----Cut Here-----
#!/bin/sh
# shar:	Shell Archiver
#	Run the following text with /bin/sh to create:
#	make.exe.uuencoded
#	make.h
#	make.ini
#	makefile.
#	mstring.c
echo shar: extracting make.exe.uuencoded
sed 's/^X//' << 'SHAR_EOF' > make.exe.uuencoded
Xbegin 644 make.exe
XM35I( "0 !P @ $<$1P2+! ! CBDY&0  '@    $ ) B6 SH9  ".'P  X!\ 
XM $ K  "*"I8#C at J6 P                                          
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                                                            
XM                         %6+[#/ Z& 6N,T 4.B2&X/$ K at 3 5#HB!N#
XMQ *X5@%0Z'X;@\0"N)P!4.AT&X/$ KCG 5#H:AN#Q *X+0)0Z& ;@\0"N%0"
XM4.A6&X/$ KA= E#H3!N#Q *XEP)0Z$(;@\0"N,H"4. at X&X/$ K@* U#H+AN#
XMQ *X%0!0Z$D:B^5=PU6+[+C0 .C>%5: /M@) G,*N'8#4.A%$8/$ L<&. at N3
XM S/ HT +HSP+HSX+HV -HYP/HYX/B88R_\>&-O\! .F? (N>-O_1XXMV!HL8
XM@#\M=5N+GC;_T>.+&(I' 9@]9@!T%#UI '0M/6X =# ]<P!T,^@*_^MFBT8$
XM2#N&-O]^\?^&-O^+GC;_T>.+=@:+ *,Z"^M(QP9 "P$ ZT#'!CX+ 0#K.,<&
XM/ L! .LP@[XR_V1U"KB< U#HHA"#Q *+GC;_T>.+=@;_,.B##X/$ HNV,O_1
XMYHF"./__AC+__X8V_XM&!#F&-O]] ^E5_X,^/@L = V#/CP+ '0&QP8\"P  
XMN+(#4+BT U#HDA*#Q 2)AC#_"\!T!U#H>0"#Q +'!EX-  "XO0-0_S8Z"^AE
XM$X/$!(F&,/\+P'0'4.A6 (/$ H.^,O\ =";'AC;_  "+AC+_.88V_WTUB[8V
XM_]'F_[(X_^@N!H/$ O^&-O_KX(,^7 at T = Z+'EX-BU\"_S?H$@;K![B_ U#H
XMTP^#Q (SP%Z+Y5W#58OLN-@ Z$H45L>&+O\  ,>&*O\  (.^*O\ =!#_MBK_
XMZ-\4@\0"QX8J_P  _W8$Z!,-@\0"B88J_PO =0/I2 *)AC#_C88P_U#HK at Z#
XMQ *+GC#_@#\ =+V /R-TN(N>*O^*!YB+V/:'QP@(=%&#OB[_ '4*N-0#4.A-
XM#X/$ HN&*O^)AC#_C88P_U#H; Z#Q +'AC+_  "+AB[_.88R_WP#Z7'__[8P
XM_XNV,O_1YO^R-O_H_P*#Q 3_AC+_Z]F-ABK_4.BV"H/$ HN&*O^)AC#_C88P
XM_U#HHPZ#Q *+AC#_B88H_XV&,/]0Z X.@\0"BYXP_X _/74BQX8N_P  _X8P
XM_XN>*/_&!P#_MC#__[8J_^@9 H/$!.G[_L>&+O\  +@! (F&+/^+ABK_B88P
XM_XF&-/^+GC#_@#\Z=12#OBS_ G4 at BD<!F(O8]H?'" AU$XN>,/^*!YB+V/:'
XMQP@(=0/IJP"#OB[_9'4*N/T#4.A7#H/$ HN>,/^*!XA&_L8' /^V-/_H+ &#
XMQ *+MB[_T>:)@C;_BYXP_XI&_H@'@SY>#0!U%HN>-/^ /RIT#8NV+O_1YHN"
XM-O^C7 at W_AB[_C88P_U#H- V#Q *+GC#_@#\Z=2S_AC#_@[XN_P!U"K at M!%#H
XMY V#Q *-AC#_4. at +#8/$ HN>,/^ /P!U,>D7_HN&,/^)AC3_QX8L_P  ZQ.+
XMGC#_@#\ =0JX&@10Z*H-@\0"_X8L__^&,/_I!_^+AC#_B88T_XV&,/]0Z/H,
XM@\0"BYXP_XH'B$;^Q@< QX8R_P  ZQ__MC3_Z(\"@\0"4(NV,O_1YO^R-O_H
XM#0*#Q 3_AC+_BX8N_SF&,O]\UXN>,/^*1OZ(!^E?_X.^*O\ =!#_MBK_Z&P2
XM@\0"QX8J_P  _W8$Z)T9@\0"QP9D!0  7HOE7<-5B^RX! #HEA&+7 at 2 /RIT
XM*Z%@#>L?BU[\BU\"_S?_=@3HC!>#Q 0+P'4%BT;\ZT:+7OR+!XE&_ O ==JX
XM" !0Z",-@\0"B4;^_W8$Z.<!@\0"BU[^B4<"BU[^H6 -B0>+7O['1P8  (M>
XM_L='!   BT;^HV -B^5=PU6+[+@" .@<$:&<#^LU_W8$BU[^_S?H'1>#Q 0+
XMP'4=BU[^_W<"Z*P1@\0"_W8&Z%L+@\0"BU[^B4<"ZT:+7OZ+1P2)1OX+P'7$
XMN 8 4.B;#(/$ HE&_O]V!. at P"X/$ HM>_HD'_W8&Z"(+@\0"BU[^B4<"BU[^
XMH9P/B4<$BT;^HYP/B^5=PU6+[+@$ .B5$%:X!@!0Z%0,@\0"B4;^B]C'!P  
XMBU[^B_.!9 3]_X%G!/O_BU[^B_.+1 0E_O^+#CP+@>$!  O!B4<$BUX&@#] 
XM=0F+7OZ 3P0!ZR"+7@: /RMU"8M>_H!/! 3K#XM>!H _+746BU[^@$\$ O]&
XM!HU&!E#HQPJ#Q +KP/]V!NA\"H/$ HM>_HE' HM>!(M'!HE&_ O =!;K!8L'
XMB4;\BU[\@S\ =?.+1OZ)!^L)BUX$BT;^B4<&7HOE7<-5B^RX! #HT0__=@;H
XM-@"#Q *)1OZ+7 at 2+1P2)1OP+P'06ZP6+!XE&_(M>_(,_ '7SBT;^B0?K"8M>
XM!(M&_HE'!(OE7<-5B^RX @#HC ^X! !0Z$P+@\0"B4;^B]C'!P  BU[^BT8$
XMB4<"BT;^B^5=PU6+[+@" .A@#Z&>#^L=BU[^_S?_=@3H816#Q 0+P'4%BT;^
XMZS^+7OZ+1P*)1OX+P'7<N 0 4.CW"H/$ HE&_O]V!.B,"8/$ HM>_HD'BU[^
XMQT<"  "+7OZAG@^)1P*+1OZCG@^+Y5W#58OLN 8 Z/@.QP:.#P ON% +4+B.
XM#U#H71.#Q 2A4 at N)1OZX8@^CE _'!HX/ !JX4 M0N(X/4.@]$X/$!(M&!*.4
XM#\<&D@\  ,<&C@\ 3L<&7 L  +A0"U"XC@]0Z!<3@\0$HS at +@SY<"P!U"/<&
XM. L! '0(BT8&BU8(ZRR+1OZCE _'!HX/ !JX4 M0N(X/4.CC$H/$!(L6>@\K
XMP*%X#X#V@(E&^HE6_(OE7<-5B^RX$@#H2P['1O8! ,=&^ " QT;Z  #'1OP 
XM@/]V!. at E!8/$ HE&_ at O =0\SP%#_=@3HX0"#Q 3IUP"+7OZ+1P2)1O0+P'18
XMZU"+7O2+7P+_-^BJ_X/$ KC__[K_?U)0BU[TBU\"_S?HY_Z#Q :)1O")5O*+
XM1O:+5O at Y5O)\$W\%.4;P=@R+1O"+5O*)1O:)5OB+7O2+!XE&](-^] !UJC/ 
XMN@" 4E"+7OZ+7P+_-^B at _H/$!HE&^HE6_(M>_H-_!@!T((M&]HM6^#E6_'\0
XM? 4Y1OIS"?]V_NB* 8/$ K@! .LN_P9T XM&]HM6^#E6_'\,? 4Y1OIS!;@!
XM .L",\!0_W8$Z X @\0$B4;N_PYT XOE7<-5B^RX#@#H- VX+@!0_W8$Z!,3
XM@\0$B4;\_P9T PO =0/IYP"A8 V)1OX+P'4#Z=H B]B+7P*+'X _*G0#Z<, 
XMB]B+7P*+!T!0_W;\Z/\2@\0$"\!T ^FJ (M&_"M&!% SP%#_=@3HMP:#Q :)
XM1OJ+7OZ+7P2+7P*+!T!0_W;ZZ-H&@\0$B4;R4.A=_H/$ HE&^/]V^KA(!%#H
XM?/N#Q 2#?O@ =!R#?@8 =18SP+H @%)0_W;RZ(3]@\0&B4;TB5;V_W;RZ"8-
XM@\0"_W;ZZ!T-@\0"@W[X '0J at WX& '4<,\"Z (!24/]V!.A0_8/$!CM6]G]1
XM? 4[1O1S2O]V_NA/ .L_BU[^BP?I'/\SP+H @%)0_W8$Z"3]@\0&@?H @'P&
XM?R(+P'<>_PYT W0$,\#K&_]V!+A*!%#H(0:#Q 10Z'$'@\0"_PYT [@! (OE
XM7<-5B^RXW #HY O'1OP  (M>!(M'!HE&^NFZ L9&\ "+7OK_=P+H+@:#Q *)
XM1OZ-1OY0Z.,"@\0"BT;^B4;RC4;R4.A1!H/$ HM>^O='! $ =0VX(@90_W;R
XMZ.\+@\0$@SX^"P!T"KAB!%#HNA#I40*+1O*)1OB-1OA0Z%4&@\0"BU[X@#\ 
XM=!?&!P#_=O+HQ06#Q *)1NZ+7OC&!R#K#/]V\NBQ!8/$ HE&[HM&^(E&](U&
XM]%#HW at 6#Q +_=N[H  N#Q +'1O8^ XM>]H,_ '0/_W;N_S?H)A&#Q 0+P'5@
XMBU[V at S\ =0V+7OKW1P0$ '4#Z>, N&,$4/]V[N@ $8/$! O =!2X:010_W;N
XMZ.\0@\0$"\!T ^F4 (M>]( _ '0DB\.)1NR-1NQ0Z*0%@\0"BU[LQ@< _W;T
XMZ(T0Z=$ @T;V NN#N,@ 4(V&)/]0Z-<2@\0$"\!T28M>^O='! $ =2G_#B0&
XM at SXD!@!\$+ *BQXB!O\&(@:(!RKDZPZX(@90N H 4. at X"8/$!+ at B!E"-AB3_
XM4.BS"H/$!,=&_   ZWFX; 10Z+L%@\0"ZVW_=O+H6@^#Q (]@ !V"KA_!%#H
XMH06#Q +_=O+H%A&#Q *)1OS&1O !ZT.+7OKW1P0! '4I_PXD!H,^) 8 ?!"P
XM"HL>(@;_!B(&B <JY.L.N"(&4+@* %#HN0B#Q 3_=O+H7@>#Q *)1OS&1O  
XM_PXD!H,^) 8 ?!"P"HL>(@;_!B(&B <JY.L.N"(&4+@* %#H@ B#Q 2#?OS_
XM=1^ ?O  = 6XFP3K [BQ!%#HYPN#Q *X%P!0Z.8-@\0"@W[\ 'Y#BU[Z]T<$
XM @!U.8,^0 L =3*X*@90N,,$4.C "8/$!+ at J!E#_=OSHI 2#Q 2X*@90N-4$
XM4.BE"8/$!/]V_.B=#8/$ O]V[NCF"8/$ O]V_NC="8/$ HM>^HL'B4;Z_W;^
XMZ,P)@\0"@W[Z '0#Z3W]B^5=PU6+[+@" .@#":%@#>L:BU[^BU\"_S?_=@3H
XM 0^#Q 0+P'0,BU[^BP>)1OX+P'7?BT;^B^5=PU6+[+CT ^C-"%:+7 at 2+!XE&
XM^+A,!%#HA 2#Q *)1OZXVP10_W;^Z,$(@\0$QT;\  #K*8 _ '0L at 7[\Z -\
XM"KC<!%#H!@2#Q *+7OC_1OB*!XM>_/]&_(MV_H@ BU[X@#\D=<^!?OSH WP*
XMN 0%4.C: X/$ HM>_(MV_L8  (M>^( _ '4#Z=< _T;XBU[X@#\H=0O'A@[\
XM 0#_1OCK!L>&#OP  ,>&#/P  (M>^( _*G0,B@>8B]CVA\<(!W0<BU[X_T;X
XMB@>+M at S\_X8,_(B"$/R!O at S\YP-\T(NV#/S&@A#\ (.^#OP =!>+7OB /REU
XM!?]&^.L*N"P%4. at 0#8/$ J&<#XE&^@O =1:-AA#\4+A1!5#HW0&#Q 10Z"T#
XM@\0"C880_%"+7OK_-^BX#8/$! O =2*+7OK_=P*+1OP#1OY0Z*0'@\0$_W;^
XMZ*<,@\0"B4;\Z03_BU[ZBT<$ZZ6+7 at 3_-^@>"(/$ O]V_NC- 8/$ HM>!(D'
XM_W;^Z <(@\0"7HOE7<-5B^RX @#H1@?&1OX ZPC_1 at 2*!XA&_HM>!( _ '7P
XMBD;^F(OE7<-5B^PSP.@@!^L#_T8$BUX$@#\ =?6+PXOE7<-5B^RX! #H! >+
XM7 at 3V1P80= /I at 0"X4 ")1OY0Z+4"@\0"B4;\B]C&!P#_=OSH_0N#Q (%4  [
XM1OYV*X-&_E#_=O[_=OSH@ N#Q 2)1OP+P'44N&8%4.CM"X/$ K@! %#H" N#
XMQ +_=@2X4 !0_W;\Z'+_@\0"4. at K#8/$!@O =1F+7OR /P!T!(O#ZU__=OSH
XM*@>#Q (SP.M2_W;\Z![_@\0"/ IU at _\&9 7_=OSH-/^#Q *+V,9'_P#_=OSH
XM;0N#Q ) 4/]V_.C]"H/$!(E&_ O =12X?@50Z&H+@\0"N $ 4.B%"H/$ HM&
XM_(OE7<-5B^RX @#H% 96BT8(0%#HT@&#Q *)1O[_=@B+1 at 8#1 at 10_W;^Z"P&
XM@\0&BUX(BW;^Q@  BT;^7HOE7<-5B^RX @#HV 56_W8&Z/$*@\0"_W8$B_#H
XMY at J#Q (#QD!0Z(,!@\0"B4;^_W8$4.C#!8/$!/]V!O]V_NA("X/$!(M&_EZ+
XMY5W#58OLN ( Z(\%_W8$Z*D*@\0"0%#H2 &#Q *)1OZ#?@0 =0JXE at 50Z.0 
XM@\0"_W8$_W;^Z'8%@\0$BT;^B^5=PU6+[#/ Z% %@WX$ '0(BUX$@S\ =1&X
XMK050Z+$ @\0"ZP6+7 at 3_!XM>!(L?B@>8B]CVA\<("'7JB^5=PU6+[#/ Z!0%
XM at WX$ '0(BUX$@S\ =2*XP at 50Z'4 @\0"ZQ:+7 at 2+'XH'F(O8]H?'" AU#XM>
XM!/\'BUX$BQ^ /P!UX(OE7<-5B^PSP.C.!.L%BUX$_P>+7 at 2+'XH'F(O8]H?'
XM" =UZHOE7<-5B^RX% #HJ02X"@!0C4;L4/]V!.CO!8/$!O]V!HU&[%#HZP2+
XMY5W#58OL,\#H@@2#/F0% '0JN"H&4+C8!5#HS02#Q 2X*@90_S9D!>BP_X/$
XM!+ at J!E"XX050Z+$$@\0$N"H&4/]V!.BD!(/$!+@! %#HFPB+Y5W#58OLN ( 
XMZ# $_W8$Z.@$@\0"B4;^"\!U"KCE!5#HC_^#Q *+1OZ+Y5W#58OLN ( Z 8$
XM at WX$ '4.H?0%B48$"\!U!#/ ZW>-1 at 10Z)/^@\0"BUX$@#\ =0<SP*/T!>M>
XMBUX$@#\B=2G_1 at 2+1@2)1OZ+7OZ /P!T*( _(G0C@#]<=0F ?P$B=0/_1O[_
XM1O[KX(M&!(E&_HU&_E#H?_Z#Q *+7OZ /P!T#,8' (M&_D"C] 7K!L<&] 4 
XM (M&!(OE7<-5B^RX @#H;@/'1OX  /]V!.C+_8/$ HE&!%#H2O^#Q (+P'00
XM_T;^,\!0Z#K_@\0""\!U\/]V!.CL X/$ HM&_HOE7<-5B^RX!@#H*0-6_W8$
XMZ*O_@\0"B4;ZT>! 0%#HV_Z#Q *)1O['1OP! /]V!.AK_8/$ HE&!%#HZOZ#
XMQ *+7OZ)!^L=,\!0Z-K^@\0"4.A*_8/$ HM>_/]&_-'CBW;^B0"+1OHY1OQ\
XMVXO8T>.+=O['    _W8$Z&D#@\0"BT;^7HOE7<-5B^RX @#HI0*+1 at 2)1O[K
XM#(-&_ at +_-^A$ X/$ HM>_H,_ '7L_W8$Z#,#B^5=PU6+[+@$ .AV O]V!.@^
XM_X/$ HE&_E"+V/\W,\!0Z,X#@\0&B4;\_W;^Z*7_@\0"BT;\B^5=PU6+[+@*
XM .A  O]V!O]V!.CD (/$!(E&_ O = /IO "X7 !0_W8$Z D(@\0$"\!T ^FH
XM + at Z %#_=@3H]0>#Q 0+P'0#Z90 N/8%4.C_ H/$ HE&_ at O =0/I@ "X^P50
XM_W;^Z$S\@\0"B4;^4.@?"(/$!(E&^O]V!+C]!5#HZ?N#Q 2)1OB#?OH =#[_
XM=OKH:?J#Q (\7'4%BT8$ZP.+1OA0_W;ZZ,'[@\0$B4;V_W8&4.A" (/$!(E&
XM_/]V]N at Y H/$ H-^_ !T%_]V_N at J H/$ O]V^. at A H/$ HM&_.L2N/\%4#/ 
XM4.BD!X/$!(E&^NN3B^5=PU6+[(/L E;H*0R+\ OV= ]6_W8&_W8$Z' 3@\0&
XMZP(SP%Z+Y5W#58OL@^P$5U:+=@:*1 :8J8, = ;V1 9 = :X___IV@#V1 8!
XM= : 3 8 at Z^Z 3 8"@&0&[S/ B40"B_B)?O[V1 8(=0^*1 >8B]C1X_:'N at 8!
XM=#"+/"M\! O_?A)7_W0$BD0'F%#HR ^#Q :)1OZ+1 1 B03'1 +_ 8M<!(I&
XM!(@'ZVKV1 8$=4Z!_B(&=2V*1 >84.BP"X/$ @O =37'!M8) R3'1 1>"XI$
XM!YB+V-'CQH>Z!@''!%\+Z[BX  )0Z"@!@\0"B40$"\!T!H!,!@CKFX!,!@2_
XM 0!7C48$4(I$!YA0Z$D/@\0&B4;^.7[^= /I,?^*1 at 0JY%Y?B^5=PU6+[%:+
XM=@2+UK5!L5JT88K<*MV*! K = \ZQ7((.L%W! +#B 1&Z^N+PEY=PUF+W"O8
XM<@H['@(&<@2+X__AZ2,$58OL5U8>!XM^!HOW,\"Y___RKD'WV8M^!(O7\Z2+
XMPEY?7<-5B^Q75AX'BWX$BW8&B]^+3 at CC#*P*P'0#JN+X,L#SJHO#7E]=PU6+
XM[(/L!E=6_W8$Z+4$@\0"B_C_=@;HM0^#Q *+\/]V!E>X 0!0_W8$Z*,2@\0(
XMB4;\_W8&5N at 7$(/$!#E^_'4)BUX$BD'_F.L#N/__7E^+Y5W#58OLBUX$@$_^
XM 8OE7<-5B^Q65[L$!H,_ '4I'@>X!0#H,PEU!3/ F>LD0"3^HP0&HP8&EL<$
XM 0"#Q at 3'1/[^_XDV"@:+3 at 2,V([ Z-T'7UZ+Y5W#58OL@^P$5U:+-MX)"_9T
XM.(-^! !T,O]V!.@ !(/$ HOXZR"+'( Y/7465_]V!%/H! J#Q 8+P'4'BQR-
XM00'K"H/& H,\ '7;,\!>7XOE7<-5B^Q75K,!BTX(BT8$,]*#^0IU 9F+?@;I
XM.PM5B^RXU@#HB/Y75HO]@^]2_S;>"?]V"/]V!O]V!.A\#X/$"(E&_D!U*H,^
XMT at D"=2.+7@: /UQT&X _ '0&@'\!.G00N X&4.A+_X/$ HOP"_9U!HM&_NF'
XM +A_ %!6C88L_U#H8OZ#Q :+\,9&JP"X$P905NA?!(/$!(OP"_9TTU97Z"#^
XM@\0$5^@E X/$ HO8@'G_7'0+N!4&4%?HEP.#Q 3_=@97Z(T#@\0$_S;>"?]V
XM"%?_=@3HX at Z#Q B)1OY =9"#/M() G6)N!<&4#/ 4.@"!(/$!(OP"_9UH^ES
XM_UY?B^5=PU6+[(/L E=6BW8$OP( "_9T(H \ '0=5NBP @/G4%97Z(L,@\0&
XMB\=0N H(4%?H?0R#Q :A: @Y!M()?1.#/M() 'P,BQ[2"='CBX<>".L#N T(
XMB_!6Z'("@\0"4%97Z$P,@\0&N $ 4+@;"%!7Z#T,@\0&7E^+Y5W#OY$#BS8"
XM "OW@?X $'(#O@ 0^H[7@<2>#_MS ^E) 8'D_O\VB29R"#:))G (B\:Q!-/@
XM2#:C;@BT,,TA-J/8"3P"<RH>,\!0#A^ZBQFT"<TART1/4R R+C @;W(@;&%T
XM97(@<F5Q=6ER960-"B0#]XDV @",PRO>]]NT2LTA-HP>T F+-BP 'A:X #7-
XM(3:)'FH(-HP&; @.'[@ );JZ&LTA-HL.+ at OC(C;%!C +C-HSVS;_'BP+<P/I
XMS  VQ08T"XS:NP, -O\>+ L''_R_. NYH \KSS/ \ZH6%@<?Z+H0NP0 N !$
XMS2%R"O;"@'0%@(_V"4!+>>SH PKH+ F[. N!^S at +<PA3_Q=;0T/K\KD& "OA
XMOMH)B_P6!_.DZ#\(,^WH)>90Z&8 #0I3=&%C:R!O=F5R9FQO=PT*#0I$:79I
XM9&4 at 97)R;W(-"@T*1FQO871I;F<@<&]I;G0@;F]T(&QO861E9 T*L1*Z8AHR
XM[0X?NP( M$#-(18?N/\ 4.@%";$0NG0:Z^6Q';J$&NO>58OL at S[6"0!T!/\6
XMU at G_=@3HXPB+Y5W#58OL5U:+?@2+!8M= HM-!(M5!HMU"(M]"LTA5XM^!HD%
XMB5T"B4T$B54&B74(CT4*<@0S]NL(Z$L'O@$ BP6)=0Q>7UW#58OL@^P&5U:+
XM=@3_=@96Z/$/@\0$"\!T"(!D_OZ+QNL^@$S^ 8M\_H'G_O__=@;HT?N#Q *)
XM1OX+P'0C.7X&<P.+?@:+1OZ)1OKK"8M>^O]&^JR(!XO'3PO =?"+1OY>7XOE
XM7<-5B^Q7'@>+?@0SP+G___*NB\% 0/?87UW#58OL@^P(5U:^(@;_=@3HUO^#
XMQ *+^%;HV J#Q *)1OY65[@! %#_=@3HQPV#Q B)1OI6_W;^Z#L+@\0$.7[Z
XM=2+_3 *#? ( ? RP"HL<_P2(!RKDZQ!6N H 4.@\^8/$!.L#N/__7E^+Y5W#
XM58OL5U8>!XM^!(O7,\"Y___RKD^+]XM^!HO?N?__\JY!]]F+_HOS\Z2+PEY?
XM7<.T.>L&M#KK K0[58OLBU8$S2'I_055B^Q7BWX$'@>+WS/ N?__\JY!]]F*
XM1@:+^_*N3S@%= (S_XO'7UW#58OL5U:+=@2+?@8>!XO?,\"Y___RKD'WV8O[
XM\Z:*1/\SR3I%_W(%= 5!ZP+WT8O!7E]=PU6+[%=6'@>+=@;HEPF #P&+=@0+
XM]G4$BS;$"#/ K K ="WHI at DZQ'7T3HO.,\"LBO#HEPDZQ'3V"O9U"4X[\74(
XM,\#K"L9$_P")-L0(B\%>7UW#58OL@^P$5U:+=@B+?@2#?@8 =2KK$E;H<P.#
XMQ *)1OY =0DY?@1U#C/ ZRJ*1OZ(!4<\"G4(Q at 4 BT8$ZQC_3 at 9T\_], H-\
XM @!\RHL<_P2*!RKDZ\=>7XOE7<-5B^RXW #H _E6N!0*4.C_^8/$ HE&^,=&
XM^AP*BT8$B4;\QT;^  #_-MX)C4;X4/]V^#/ 4.C?"8/$"(OP0'4'@S[2"0)T
XM!8O&Z:L N!\*4.B]^8/$ HF&)/\+P'3IN'\ 4/^V)/^-AB;_4.C5^(/$!HF&
XM)/_&1J4 C4:HB4;XN#L 4/^V)/_HQ_Z#Q 2)AB3_"\!TLK at D"E"X, I0_[8D
XM_XU&J%#H>/B#Q 10Z +^@\0$4.C[_8/$!/\VW at F-1OA0_W;X,\!0Z$T)@\0(
XMB_! = /I<O^#/M() G0#Z6C_N#L 4#/ 4.AH_H/$!(F&)/\+P'6AN/__7HOE
XM7<-5B^R#[ )75HMV!+___XI$!IBI at P!T*/9$!D!U(E;H:@.#Q *+^%;HMP:#
XMQ **1 >84.B #(/$ @O ?0.____&1 8 B\=>7XOE7<-5B^R#[$)75HMV!HM^
XM! O_=1Y6Z&WX@\0"B_ at +_W4.QP;2"0P QP;@"0@ ZUJ)?@0SP%"-1KY0Z&$'
XM@\0$C4:^4.BA_(/$ @4# #O&?!#'!M()(@#'!N ) 0 SP.LI,\!04+ at 9 %#H
XM) "#Q 8$08@%1\8%.D?&!5Q'C4:^4%?H6/>#Q 2+1 at 1>7XOE7<-5B^R*9 at 2+
XM5@:*1 at C-(5W#Z<L @_GN<_A!@.'^BW<"_*V+_J@!=$)(.\%S%8O0 _"MJ %T
XM- /"!0( B_>)1/[KYHO^= P#^8E,_BO!2(D%ZP4#^?Y,_HO&C-J!^I$#= 4F
XMC!XV"HE_ L,FQ at 8Z"@(]_O]T)8O^ _"MJ %T\HO^2#O!<[V+T /PK:@!=.(#
XMP at 4" (OWB43^Z^:+1P at +P'0$CMCK$R;^#CH*=!",V#V1 W0%)HX>, at J+-^N]
XMBW<&,\#H60 [QG0-) % 0)CH30!T#?Y-_N at + '0%EDY.ZYHSP)G#48M%_J@!
XM= ,KR$E!0;K_?R8[%C@*=@31ZG7UB\$#QG(5 \)R#??2(\(KQN@, '4(]]+1
XMZG7E,\!9PU)1Z!T =!A7B_Z+\ /RQT3^_O^)=P:+UBO72HE5_EA96L-34#/2
XM'E)24+@! % &'^@E#H/$"(/Z_Q]:6W0""]+#58OL5HMV!(I$!IBI at P!T!O9$
XM!D!T!KC__^F: /9$!@)T!H!,!B#K[H!,!@'V1 8,=2F*1 >8B]C1X_:'N at 8!
XM=1JX  )0Z%'V@\0"B40$"\!T!+ (ZP*P! A$!H-\! !U#(I$!YC1X 6[!HE$
XM!(M$!(D$]D0&!'0%N $ ZP.X  )0_W0$BD0'F%#HQ0J#Q :)1 (+P'\5"\!T
XM!+ @ZP*P$ A$!L=$ @  Z6O__TP"BQS_!(H'*N1>B^5=PU6+[(/L E:^&@:*
XM1 :8J8, =14SP(E$ HA$!HE$!(D$QD0'_XO&ZPV+QH/&"#L&X at 9UUS/ 7HOE
XM7<-5B^R+7 at 2#^Q1]$8/[ 'P,]H?V"4!T!;@! .L",\!=PU6+[%=6'@>+3 at CC
XM+XO9BWX$B_<SP+G___*N0??9.\MV HO+B_Z+=@;SIHI$_S/).D7_=P5T!4'K
XM O?1B\%>7UW#58OL@^P$5U:+=@0S_U;HL J#Q **1 8D SP"=3SV1 8(=0^*
XM1 >8B]C1X_:'N at 8!=">+!"M$!(E&_ O ?AM0_W0$BD0'F%#H/@.#Q 8[1OQT
XM!X!,!B"___^+1 2)!,=$ @  B\=>7XOE7<-R"#/ B^5=PW,&Z T N/__B^5=
XMPS+DZ $ PZ+@"0KD=2. /M@) W(-/")S#3P@<@6P!>L'D#P3=@*P$[L\"M>8
XMH]()PXK$Z_=5B^R#[ A75HLVW at GK%[@, %"X4 I0_S3H\?Z#Q 8+P'0(@\8"
XM at SP =>2#/ !T.8L\@\<,QT;^  "*!4>8B4;ZZQR*!9@]_P!U!#+ ZP**!8M>
XM_O]&_HB']@G_3OI'@W[Z '7>QP0  %Y?B^5=PU=6BTX*BT8$BU8&BWX(5QX'
XM_),*P'03 at _D*=0X+TGD*L"VJ]]N#T@#WVHOWDC/2"\!T O?QD_?QDH?3!# \
XM.78"!">JB\(+PW7BB 5/K(8%B$3_3SOW<O587E]=PX\&7 at J.'M ),\F+P8OI
XMB_E)BS8L  OV= B.QO*N1:YU^D670"3^B_W1Y0/%%A_HUO*+SXO\ _V+[!8'
XMCMXS]DGC#8E^ $5%K*H*P'7ZXO.)3@ 6'XDFW at G_)EX*58OLNS at +@?LX"W,(
XM4_\76T-#Z_+H_ at 8*Y'0*@'X$ '4$QD8$_A[%%FH(N  ES2$?BPXN"^,'NP( 
XM_QXL"XM&!+1,S2%5B^R#[ 175KX:!C/_ZQ>*1 :8J8, = M6Z,;]@\0"0'0!
XM1X/&"#DVX at 9SXXO'7E^+Y5W#CP9@"HX>T D6![Z  *R8,](F@#[8"0-R95".
XM!BP ,\"+R/?1B_CRKB8X!77Y@\<#B\CWT8OW)HH%1T$ZX'04/")T"#P)= 0\
XM('7K6!8'OH$ ZRM/*_X+_W3QB\]"6XO# \$% P E_O\KX(O\'@8?%@?SI+ @
XMJHO+'[Z! .L.B\@$!"3^*^"+_+A#(*OSI(O!JHOT%A]0B]R+_JRJ"L!T/3PB
XM=1]6_P;:":P*P'0N/")U!X!]_UQU!$^JZ^U'QD7_ .O5Z#< =-!.5D;_!MH)
XMK*H*P'0(Z"4 =?7KX:J+]$M+._-S"*V'!XE$_NORB]P+TG4"_P>))MP)_R9@
XM"CP)= (\(,-5B^Q6BW8$BD0&F*F# '0=]D0&"'07_W0$Z,/Q@\0"@&0&]S/ 
XMB02)1 2)1 )>B^5=PU6+[(M>!/:']@D@= ZX D(SR8O1S2%S ^G0_/:']@F 
XM=0/I at 0"+3 at B+5@8>!S/ _%=6B_"+^N-EN I \JYU,E&+SRO*2>,0S2&< _"=
XM<P2T">M)"\!T+T:Y @"Z8 at JT0,TA<P2T">LT"\!T&EF+U^O%48O/*\K-(9P#
XM\)US!+0)ZQH+P'46]H?V"4!T"XM>!H _&G4#^.L$^;@('%ER HO&7E_I1?R+
XM3 at B+5@:T0,TA<P2T">OMX^L+P'7G]H?V"4!T"HO:@#\:=0/XZ];YN @<Z]!5
XMB^R+WHM6!HMV!+1'S2&+\UW#OV0*B]^Y$  SP/.JK K =!6+^+$#T^\#^[(!
XMBLB X0?2X@@5Z^;#48OXL0/3[P/[L@&*R(#A!]+B63/ A!5T 4##58OL5HMV
XM!('^(@9U//9$!@QU-HI$!YB+V-'C]H>Z!@%U)\=$!%X+BD0'F(O8T>/&A[H&
XM <<&U at D#),=$ @ "BT0$B02X 0#K-('^. at 9U+/9$!@QU)HI$!YB+V-'C]H>Z
XM!@%U%[@  E#H*/"#Q *)1 0+P'0&@$P&".NY,\!>B^5=PU6+[%:+=@:#?@0 
XM=$R!_B(&=26*1 >84.A2^H/$ @O =!96Z*CZ@\0"BD0'F(O8T>/&A[H& .L:
XM@?XZ!G4;5NB,^H/$ O]T!.BX[X/$ H!D!O<SP(D$B40$7HOE7<-5B^RXB@#H
XM[.Y75HMV!H-^! )U$/]V"O]V"%;H+ F#Q ;I @&#/M8) '0$_Q;6"3/ 4(V&
XM>/]0,\!0C4;X4(U&_E#_=@K_=@CH\@2#Q Y =0:X___ISP"X7 !05NCC X/$
XM!(OX"_]U HO^N"X 4%?H;/2#Q 0+P'08_W;XC89X_U!6_W8$Z'L+@\0(B4;Z
XMZ8D 5NB \X/$ @4% %#H%.^#Q *+^ O_=0O_=O[H]^Z#Q +KGKAT"E!65^A-
XM[H/$!%#HU_.#Q 3'!M()  #_=OB-AGC_4%?_=@3H* N#Q B)1OJ#/M() '0K
XMN'D*4+ at N %!7Z$X#@\0$4. at .[H/$!/]V^(V&>/]05_]V!.CV"H/$"(E&^E?H
XMCNZ#Q +_=O[HA>Z#Q *+1OI>7XOE7<-5B^R#[ 975HMV"(M>!HH'F#UA '1"
XM/7( = @]=P!T,>F& ,=&_@$ _T8&BUX&@#\K=0> 3OX(_T8&BT;^)0< /0$ 
XM=!H] @!T-#T$ '0TZQ#'1OX" .O0QT;^! #KR3/_]T;^" !T"('/ @"!Y_[_
XMBUX&@#]T=1"!SP! ZQ:_ 0/KWK\) >O9BUX&@#]B=02!SP" N*0!4%?_=@3H
XM*@:#Q :)1OH+P'T$,\#K0O=&_@@ = ;&1 : ZQ'W1OX& '0&QD0& NL$QD0&
XM <<&U at D#)#+ BU[ZT>.(A[H&F(E$ C/ B02)1 2*1OJ(1 >+QEY?B^5=PU6+
XM[(/L!E=6BW8$BWX*BT8&]V8(B4;ZB4;\"\!T._9%!@QU/HI%!YB+V-'C]H>Z
XM!@%U+_]- H-] @!\#(H$BQW_!8@'*N3K"U>*!)A0Z%?K@\0$]D4&('0%,\#I
XMV@!&_T[\]D4&"'42BD4'F(O8T>/VA[H& 74#Z:, @W[\ '4#Z8D BT;\.44"
XM<AQ05O\UZ (*@\0&BT;\*44"BT;\ 07'1OP  .O3 at WT" '0A_W4"5O\UZ-X)
XM@\0&BT4" 06+10(I1OP#=0+'10(  .NL_TT"@WT" 'P,B at 2+'?\%B <JY.L+
XM5XH$F%#HO.J#Q 3V108@=1A&_T[\Z7__5XH$F%#HI.J#Q 3V108@= V+1OHK
XM1OPKTO=V!NL?1O]._(-^_ !TZ?]- H-] @!\SXH$BQW_!8@'*N3KSEY?B^5=
XMPU6+[%8S]KDU #+D_*PRX.+[@/15_ at XU '4&B"8T .L1"N1T#;HV +L" +D9
XM +1 S2$RP*(U %Z+Y5W#58OLBUX$M#[-(7(*QH?V"0#&A^() .DH]U6+[%97
XM'OP>!XM.!D& X?Z+?@0SVXS8/9$#=0.[! :+5P)/3XOWK5!7)/Z)!0/P._)U
XM 4*MJ %T!_\% 05(Z^W1ZG,#B7\".PUT+G(?/?[_=2Q'1S/ Z,WT.\9U(>B,
XM]'0<EUY:@.(!"!3KLXL%B0U!00/Y*\% B06+1 at 3K S/ F5]9 at .$!" T?7UZ+
XMY5W#58OL5QX'BWX$,\"Y___RKD'WV4^*1@;]\JY'. 5T!#/ ZP*+Q_Q?7<-5
XMB^R+7 at 3VA^() 70%,\#I9O:+3 at B+5@:T/\TA<P2T">L*]H?V"8!T ^@# .E)
XM]E97_(ORB_J+R.,;M VL.L1T%SP:=0?&A^() >L%B 5'XNN+QRO"7U[#@_D!
XM= > / IT[>OH]H?V"4!T&;@ 1,TA]\(@ '4*C19^"K0_S2%RU; *ZR_&!GX*
XM (T6?@JT/\TA<L(+P'0:@WX( 70 at N?__B]&X 4+-(;D! ( ^?@H*= >P#8M6
XM!NN4BU8&ZY* /GX*"G79Z[I5B^R+7 at 2 9P;/7<-5B^R#[ Y75H-^!@!U!J'>
XM"8E&!HMV!L=&]   ZQ"#Q at +_=/[HL>Z#Q )  4;T at SP =>N+1O1 B4;VQT;\
XM$P"+7OR O_8) '4)_T[\@W[\_W_M at W[\ 'P3N( *4.AY[H/$ @-&_ 4#  %&
XM]H-^$ !T$8M>!/\WZ%_N@\0"!0,  4;VBT;V!0\ 4.CJZ8/$ HE&^(M>"(D'
XM"\!U(8-^# !T"?]V#.C!Z8/$ L<&T at D, ,<&X D( +C__^DR 8M&^ 4/ "3P
XMB_B+7 at J)/XMV!NL9,\!0_S17Z//H@\0$4.C![H/$!$"+^(/& H,\ '7B at W[\
XM 'Q*,\!0N(T*4%?HS>B#Q 10Z)ON@\0$B_B*1OS^P(@%1\=&]   BU[T at +_V
XM"0!T!HJ']@GK K#_B 5'_T;TBT;\_T[\"\!UWL8% $?&!0"#?A  = ^#QP.+
XM7 at 3_-U?H>>B#Q 3'1O0  (M^#D>+7 at 2#/P!T>8-_ @!T!\8%($?_1O2+=@2#
XMQ@*#/ !T8?\TZ%3M@\0"B4;Z T;T/7T ?BS'!M()!P#'!N )"@"+7 at C_-^C"
XMZ(/$ H-^# !U ^D$__]V#.BPZ(/$ NGX_HM&^D !1O0SP%#_-%?H_N>#Q 10
XMZ,SM@\0$B_C&!2!'ZY?&!0V+7 at Z*1O2(!XM&]EY?B^5=PU6+[%97!H-^" !U
XM.+]R"(M6!HM&!$AU!^A3 '(GZTB+-L((2'01._=T#8M$ HE&#%;H.@!><S"#
XMQ at 2!_L((<P0+TG4&N/__F>L=B]J#PP_1V[$#T^NT2,TA<NF2B02)5 *)-L((
XM,\ '7UZ+Y5W#BTX,B_<Y3 )T#(/&!('^P at AU\OGK/XO: QQR.8O3CL$[]W4&
XM.1YN"',F@\,/T=O1Z]'KT>L[]W4) ]FAT DKV([ M$K-(7(-._=U!(D6;@B2
XMAP2+T<-5B^PR_X@^Q at J+1@8R[:D( '0"M2"(+L4*)0, /0, =06!=@8! +J:
XM"K0:S2&Y)P"+5 at 2T3LTA<P/IFP"+1@:+R"4 !3T !74'N 41^>F>\L8&QPH!
XMD:D  G0+BU8$N !#S2'IH "I P!T5ZD @'52]@8%"X!U2[ ""@;&"HM6!+0]
XMS2%RQY.X $3-(?;"@'4MN?__B]&X D+-(??9NIH*M#_-(0O =!: /IH*&G4/
XM]]F+T;@"0LTA,\FT0,TAM#[-(8I&!B0#"@;&"HM6!+0]S2%R.^GK!/=&!@ !
XM=0:X @#I:/_&!L<* /]V". at C!5F)3@@R[?8&Q at K_=0?W1 at 8" '4#@.'^BU8$
XMM#S-(7,#Z=SQ]@;&"O]U!_=&!@( =3*3M#[-(8I&!B0#"@;&"HM6!+0]S2%R
XMV/8&QPH!=13W1@@! '0-@,D!DXM6!+@!0\TAD^EM!%6+[+BD .BBY5=6,__'
XM1O0! #D^U at ET!/\6U at FX7 !0_W8$Z-+Z@\0$B_ +]G4#BW8$N"X 4%;H6NN#
XMQ 0+P'09N " 4/]V!.A at _H/$!(E&YD!U>+C__^E/ O]V!.AKZH/$ @4% %#H
XM_^6#Q *+^ O_=.&XR I0_W8$5^A!Y8/$!%#HR^J#Q 2X (!05^@;_H/$!(E&
XMYD!U,+C-"E"X+@!05^A3^H/$!%#H$^6#Q 2X (!05^CT_8/$!(E&YD!U"5?H
XME^6#Q +KBXE^!(OU@>ZB + at 8 %!6_W;FZ$3Z@\0&0'4C"_]T!U?H<.6#Q +_
XM=N;H7/F#Q +'!M()" #'!N )"P#I3O^X @!0*\!04/]VYNC( H/$"(E&^HE6
XM_ O2?0 at SP(E&_(E&^O=&^@\ =!F+1OJ+5ORQ!.B? P4! (/2 (E&^HE6_.L*
XML 10C4;Z4.B2 _]VYNCW^(/$ H \374&@'P!6G01@#Q:= /IN " ? %-= /I
XMKP#_3O2*1 68L0C3X"K BDP$*NT#P8E&[L=&\   N"  F5)0C4;N4.@; HI$
XM"9BQ"-/@*L"*3 @J[0/!*](I1NX95O"*1 .8L0C3X"+%BDP" \$M  +WV(E&
XMWK$$TV[>BT;>*4;N&5;PBD0/F+$(T^ BQ8I,#@/!B4;@BD01F+$(T^ BQ8I,
XM$ /!B4;RBD05F+$(T^ BQ8I,% /!B4;HBD07F+$(T^ BQ8I,%@/!B4;^N $ 
XM4(V&7O]05XU&Y%"-1OA0_W8(_W8&Z+'Y@\0.B4;B0'40"_]T!U?H".2#Q *+
XM1N+K3O]V^O]VZ/]V_O]V\O]VX/]V[O]VXO]VY(V&7O]0_W8$Z$WH@\0"0%#_
XM=@3_=O3H=@*#Q!B)1NH+_W0'5^C!XX/$ O]V^.BXXX/$ HM&ZEY?B^5=PP  
XM          !5B^Q65XS8BUX*L033ZP/#H](*BT8(H]0*C![6"AX'BS;4"D:_
XMX JX 2G-(;@!*;_P"LTA508>+HP6<#,NB29N,[O2"H-^! !T!K $,\GK C+ 
XM^+\N (LU+HDV<C.+=0(NB39T,RZ,'G8S4+0+S2%8QP8*"@$ BU8&M$O-(2Z.
XM%G S+HLF;C,?QP8*"@  ORX +HX>=C,NBS9T,XEU BZ+-G(SB34'75]><@2T
XM3<TAZ2[N58OL5U8>!XM^!(MV!HO7BTX(._YV%(O& \$[^',, _$#^4Y/_?.D
XM_.LAB\<+QM'H<PJ+QS/&T>ARZZ1)B]G1Z?.ET>MS!8H$)H@%B\)>7UW#58OL
XMBUX$_W8(_W8&_W<"_S?H102+7 at 2)!XE7 EW"!@!5B^R+7 at 3W1@@ @'1+ at WX*
XM '0:,\F+T;@!0LTA<E#W1 at H" '4. T8&$U8(>2NX 0#YZSN)%@ +HP(+B]&X
XM D+-(0-&!A-6"'D/BPX "XL6 @NX $+-(>O5BU8&BTX(BD8*M$+-(7('QH?B
XM"0#K [K__^E)[56+[,8&Q0H _W8&Z%\ 68E.!HM6!#+MM#S-(7)-B]B+5 at 2X
XM $/-(??! 0!U!#+)ZP*Q$/=&!@! =0[W1 at 8 @'4*]@8%"X!U X#)@ H.Q0J 
XMR0&X $3-(8O#]L* = . R4"(C_8)QH?B"0#IW.Q5B^RAU GWT(M>!"/#@>, 
XMP*B =0. RP&)7 at 1=PS+MXP;1^M'8XOK#58OLBUX$BP>+5P*+3@;HY/^+7 at 2)
XM!XE7 EW"! !5B^PSTKD3 +MR"(/#!(M' @O =!..P%.[__^T2LTA ]-"6X/#
XM!.+FC@;0";O__[1*S2$#VH ^V D"=Q1T#+H&"[0)S2&X 0#K.('K@ )R+X-^
XM! !T"+C4."U]..L)N'TX+0LX!0@ !:   T8(BU8.@\(/ \*Q!-/HT^H[V'<'
XMN @ ^>D1["O82X-^! !T"(M.&D%RZNL#BTX0@\$1<N #RG+<.]ERV(-^! !T
XM%8'Y !!WS":+'@( C,(KVCO9<P*+V5!3N1, NW((@\,$BT<""\!T"X[ M$G-
XM(8/#!.+N6XX&T FT2LTA6W*8M$C-(7*24$@FHP( 0([ '@X?,_^#?@0 = BY
XMU#B^?3CK!KE].+X+."O.\Z0?B]>#?@0 =1"+1A*KBT84JXM&%JN+1ABKBW8&
XMBTX(\Z2+WXMV#(M.#O.DC@;0"1Y2!A^Z@ "T&LTA6A^,P 40 (-^! !T! -&
XM&D! )J,L +^  (MV"HH,04'SI+]< )&Y( #SJK]< (MV"D:X 2G-(3S_= (R
XMP(K(OVP N $IS2$\_W0",L"+\XK9BOA8HR at +BTX.@WX$ (OK=$<FBSXL (S#
XM*_M1L033YXO?@^L0)L<'  $FC$<")L='!(S8)L='!H[ )L='"(O%BNNQNR:)
XM3PJU^(K/)HE/#%DFQT<._R_K,+\0 ;L  2:)%X/""";'1P2,V";'1P:.P";'
XM1PB+Q2;'1PJ[ ";'1PP!^";'1P[_+_R#/@X* '044%(>CAX."HL6# JP([0E
XMS2$?6EC_+B8+CMCSI(/'#X'G\/^+WXO'L033Z(S! \$FB0<FB4<"OP !)HE%
XM K@#2XS9@<:0 /J.T8OF^\TANP !)HLW)HM_ JT#Q_J.T*V+X/N<!K@$ 5"M
XM \<FB4<"BP0FB0>,P;@A-<TA!H[!4XS"C-F.VH[!M$G+CMCSI(S !1  NP !
XM)HD')HE' K@#2XS9@<:0 /J.T8OF^\TAC, FBQXL "O82[$$T^/ZCM"+X_LS
XMP%"<!H/#!%.,P;@A-<TA!H[!4XS"C-F.VH[!M$G+58OL5HM&"HM.!/?AB]B+
XM1 at B+\/?A ]J6]V8& ]B+TXO&7EW""                               
XM          !#($QI8G)A<GD at +2 H0RE#;W!Y<FEG:'0 at 36EC<F]S;V9T($-O
XM<G @,3DX-0 !3G5L;"!P;VEN=&5R(&%S<VEG;FUE;G0-"@!D:7( ='EP90!R
XM96T <&%U<V4 9&%T90!T:6UE ')E;@!R96YA;64 =F5R '9O; !B<F5A:P!V
XM97)I9GD ;6MD:7( ;60 97AI= !C='1Y &5C:&\ :68 8VQS &-H9&ER &-D
XM ')M9&ER ')D &-O<'D 9&5L &5R87-E $U!2T4@=F5R+B R+C$T(%!O<G1I
XM;VYS(&-O<'ER:6=H=" H0RD@,3DX-2!B>2!$86X at 1W)A>7-O;BP at 57)B86YA
XM($E,+@!-04M%('9E<BX@,BXQ,"!#;W!Y<FEG:'0@*$,I(#$Y.#0 at 8GD@3&%R
XM<GD at 0V%M<&)E;&PL($UA>6YA<F0 at 36%S<RX 5&AI<R!P<F]G<F%M(&UA>2!B
XM92!C;W!I960 at 9G)E96QY(&9O<B!N;VYC;VUM97)C:6%L('!U<G!O<V5S+B @
XM270@;6%Y &YO="!B92!C;W!I960 at 9F]R(&-O;6UE<F-I86P@=7-E('=I=&AO
XM=70@=&AE(&%U=&AO<B=S('=R:71T96X@<&5R;6ES<VEO;BX* %1H:7,@('!R
XM;V=R86T@:7, at 86X@:6UI=&%T:6]N(&]F('1H92!-04M%('!R;V=R86T@<W5P
XM<&QI960@=VET:"!5;FEX+@!5<V%G93H@;6%K92!;=&%R9V5T("XN+ET at 6V]P
XM=&EO;G, at +BXN70!/<'1I;VYS.@ @(" @(" @("UF(&9I;&5N86UE('-P96-I
XM9GD@;6%K969I;&4L(&1E9F%U;'0@:7, at 34%+149)3$4 (" @(" @(" M:2 @
XM(" @(" @("!I9VYO<F4 at 97)R;W)S('=H:6QE('!R;V-E<W-I;F< (" @(" @
XM(" M;B @(" @(" @("!T<F%C92!A;F0@<')I;G0L(&)U="!D;VXG="!E>&5C
XM=71E(&-O;6UA;F1S " @(" @(" @+7,@(" @(" @(" @<W5P<')E<W, at 34%+
XM12!E8VAO:6YG(&-O;6UA;F1S  !0 %0 60!= &, : !M '$ > !\ (  A@"-
XM ), E@"; *  I0"H *P L@"U +L O@## ,<      $UU<W0@:&%V92!$3U,@
XM,BY86"!O<B!H:6=H97( 34%+149)3$4 5&]O(&UA;GD@=&%R9V5T(&9I;&5S
XM '( ;6%K92YI;FD <@!.;R!T87)G971S('-P96-I9FEE9 !487)G970@;&EN
XM92!M=7-T(&-O;64 at 8F5F;W)E('-H96QL(&QI;F5S %1O;R!M86YY('1A<F=E
XM=',@:6X@;VYE(&QI;F4 ;F\@<V5P87)A=&EN9R G.B<@ $YO('1A<F=E="!F
XM:6QE(&)E9F]R92 G.B<@ "H 1&]N)W0@:VYO=R!H;W<@=&\@;6%K92   &-H
XM9&ER &-D '!A=&@@;F%M92!T;V\@;&]N9P!S:&5L;"!C;VUM86YD(&QI;F4@
XM=&]O(&QO;F< 8V]M;6%N9"YC;VT@;F]T(&9O=6YD &-A;B=T(')U;B!P<F]G
XM<F%M " M+2T@<F5T=7)N(&-O9&4@ " M+2T'  !,:6YE('1O;R!L;VYG(&%F
XM=&5R('-Y;6)O;"!S=6)S=&ET=71I;VX 3&EN92!T;V\@;&]N9R!A9G1E<B!S
XM>6UB;VP@<W5B<W1I='5T:6]N $YO(&-L;W-I;F<@<&%R96X@;VX@<VAE;&P@
XM;&EN92!M86-R;P!5;F1E9FEN960@<WEM8F]L(     !N;R!M;W)E(&UE;6]R
XM>2 H;69G971S*0!N;R!M;W)E(&UE;6]R>2 H;69G971S*0!S=')P97)M("T@
XM3E5,3"!P;VEN=&5R $Y53$P at 87)G('1O('!A<W-P86-E $Y53$P at 87)G('1O
XM('!A<W-N;VYS< !A="!L:6YE(  @.B  ;F\@;6]R92!M96UO<GD   !0051(
XM #L 7  [   V$             !0051( #L 7  [  !B#0  8 at T!        
XM  (!        !@(       "$ P        ($                        
XM                                                            
XM                                                            
XM                 0                                          
XM         +(&17)R;W(@,   3F\@<W5C:"!F:6QE(&]R(&1I<F5C=&]R>0  
XM    07)G(&QI<W0@=&]O(&QO;F< 17AE8R!F;W)M870 at 97)R;W( 0F%D(&9I
XM;&4@;G5M8F5R    3F]T(&5N;W5G:"!C;W)E %!E<FUI<W-I;VX at 9&5N:65D
XM     $9I;&4 at 97AI<W1S $-R;W-S+61E=FEC92!L:6YK     $EN=F%L:60@
XM87)G=6UE;G0  %1O;R!M86YY(&]P96X at 9FEL97,     3F\@<W!A8V4@;&5F
XM="!O;B!D979I8V4      $UA=&@@87)G=6UE;G0 4F5S=6QT('1O;R!L87)G
XM90  4F5S;W5R8V4 at 9&5A9&QO8VL@=V]U;&0@;V-C=7( .B  56YK;F]W;B!E
XM<G)O<@ *  #D!NP&[08'!P@'"0<*!PL''0<O!S\'0 =!!U$'8P=D!V4'9@=R
XM!X0'A0>&!X<'F >9!ZT'K@>O![ 'R ?)!\H'RP?,!]H'ZP?L!R4         
XM     )$#                                                    
XM                                                 '((    (" @
XM(" @(" @*"@H*"@@(" @(" @(" @(" @(" @("!($! 0$! 0$! 0$! 0$! 0
XMA(2$A(2$A(2$A! 0$! 0$!"!@8&!@8$! 0$! 0$! 0$! 0$! 0$! 0$! 1 0
XM$! 0$(*"@H*"@@(" @(" @(" @(" @(" @(" @("$! 0$"              
XM                                                            
XM                                                            
XM                                                            
XM                                        @8&! 0$             
XM                    0T]-4U!%0P O8P!0051( &-O;6UA;F0N8V]M %P 
XM         "     6 @(8#0D,# P'"/___Q(-$@+_.T-?1DE,15])3D9/    
XM    #0H                     +F-O;0 N97AE    .T-?1DE,15])3D9/
XM #M#7T9)3$5?24Y&3P                                          
XM                    +F-O;0 N97AE         ) *E at .@"I8#        
XM                                          !%>&5C(&YO="!A=F%I
XE;&%B;&4@;VX at 1$]3(#$N> T*)                        &YO
X 
Xend
SHAR_EOF
echo 'Orignal Sum -> 09851    25'
echo -n 'Current Sum -> '
sum make.exe.uuencoded
echo shar: extracting make.h
sed 's/^X//' << 'SHAR_EOF' > make.h
X
X#ifdef LINT_ARGS
Xint usage(void );
Xint main(int ,char * *);
Xint parse(struct _iobuf *);
Xstruct TargNode *new_target(char *);
Xint SetSymbol(char *,char *);
Xint NewShellLine(struct TargNode *,char *);
Xint LinkPreq(struct TargNode *,struct FileNode *);
Xstruct prereq_node *NewPreqNode(struct FileNode *);
Xstruct FileNode *NewFileNode(char *);
Xlong getdatetime(char *,long );
Xint make(char *);
Xint TryDefault(char *, int);
Xint build(struct TargNode *);
Xstruct TargNode *lookup_target(char *);
Xint breakout_symbols(char * *);
X#else
Xint usage();
Xint main();
Xint parse();
Xstruct TargNode *new_target();
Xint SetSymbol();
Xint NewShellLine();
Xint LinkPreq();
Xstruct prereq_node *NewPreqNode();
Xstruct FileNode *NewFileNode();
Xlong getdatetime();
Xint make();
Xint TryDefault();
Xint build();
Xstruct TargNode *lookup_target();
Xint breakout_symbols();
X#endif
SHAR_EOF
echo 'Orignal Sum -> 32975     1'
echo -n 'Current Sum -> '
sum make.h
echo shar: extracting make.ini
sed 's/^X//' << 'SHAR_EOF' > make.ini
X
X  ### this is the default makefile , MAKE.INI
X
X
XBIN      =g:\bin
XLIB      =g:\msc
XLINKFLAGS=/STACK:4000/NOI
XCFLAGS   =
XCC       =msc /DLINT_ARGS
X
X
X*.o : *.c
X        $CC /Fo$*.o $CFLAGS $*.c;
X*.exe : *.o
X        link $*.o $LINKFLAGS;
X
SHAR_EOF
echo 'Orignal Sum -> 18981     1'
echo -n 'Current Sum -> '
sum make.ini
echo shar: extracting makefile.
sed 's/^X//' << 'SHAR_EOF' > makefile.
X        ### this is the makefile for make.exe itself
X
XOBJS=make.o mstring.o path.o
XARCS=make.doc make.exe make.c make.h makefile mstring.c mstring.h path.c make.ini touch.c
XCFLAGS=/DNDEBUG
X
Xexe : make.exe touch.exe
Xall : install
Xinstall : $BIN\make.exe $BIN\touch.exe $BIN\make.ini
Xarc : make.arc
Xclean : install
X        del *.o
X        del make.arc
Xchkdsk :
X        # use this to see how much memory remains when make is resident
X        chkdsk
X
X     ###      lines below this one are not for the user                 ###
X
Xmstring.o : mstring.h
Xmake.o : make.h mstring.h
X$BIN\make.ini : make.ini
X        copy make.ini $BIN
X$BIN\make.exe : make.exe
X        copy make.exe $BIN
X$BIN\touch.exe : touch.exe
X        copy touch.exe $BIN
Xmake.arc : $ARCS
X        del make.arc
X        arc u make $ARCS
Xmake.exe : $OBJS
X        # the CPARMAXALLOC option gives spawned programs more space !!
X        # with it and the msc v 3.00 compiler, MAKE uses only 42K
X        link $OBJS /CPARMAXALLOC:1 /STACK:0x4000;
Xtouch.exe : touch.o
X        link touch.o $LIB\ssetargv;
X
X
SHAR_EOF
echo 'Orignal Sum -> 49576     2'
echo -n 'Current Sum -> '
sum makefile.
echo shar: extracting mstring.c
sed 's/^X//' << 'SHAR_EOF' > mstring.c
X/* mstring.c */
X
X/* The purpose of this file is to provide subroutines for handling
X   strings whose space is allocated with malloc - in this way we remove
X   all limitations on length of strings */
X
X#include "mstring.h"
X#include <ctype.h>
X#include <malloc.h>
X#include <string.h>
X#include <stdlib.h>
X#include <process.h>
X#include <stdio.h>
X
X#define DLEN 80
X
Xint linenumber = 0;
X
X        char
Xlastchar(p)
X        char *p;{
X        char c=0;
X        while (*p) c = *p++;
X        return c;
X        }
X
X        char *
Xendptr(p)
X        char *p;{
X        while (*p) p++;
X        return p;
X        }
X
X        mstring
Xmfgets (stream)
X        FILE *stream;{
X        mstring p; int plen;
X        if (feof(stream)) return NULL;
X        p = talloc(plen = DLEN);
X        p[0] = '\0';
X        while (1) {
X                if (strlen(p) + DLEN > plen) {
X                        p = realloc(p, plen += DLEN);
X                        if (p==NULL) puts("no more memory (mfgets)"), exit(1);
X                        }
X                if (NULL == fgets(endptr(p),DLEN,stream))
X                        if (*p) return p;
X                        else {
X                                free(p);
X                                return NULL;
X                                }
X                if (lastchar(p) != '\n') continue;
X                linenumber++;
X                endptr(p)[-1] = 0;
X#if 0
X                /* this next bit allows \ at end of line to force continuation */
X                if (lastchar(p) == '\\') {
X                        endptr(p)[-1] = 0;
X                        continue;
X                        }
X#endif
X                break;
X                }
X        p = realloc (p,strlen(p)+1) ;
X        if (p==NULL) puts("no more memory (mfgets)"), exit(1);
X        return p;
X        }
X
X        mstring
Xmsubstr(p,i,l)  /* creates a string from p[i],p[i+1],...,p[i+l-1] */
X        mstring p;{
X        mstring q;
X        q = talloc(l+1);
X        strncpy(q,p+i,l);
X        q[l] = '\0';
X        return q;
X        }
X
X        mstring
Xmstrcat(p,q)
X        mstring p,q;{
X        mstring r = talloc (strlen(p) + strlen(q) + 1);
X        strcpy(r,p);
X        strcat(r,q);
X        return r;
X        }
X
X        mstring
Xstrperm(s)
X        char *s;{       /* allocate space for s, return new pointer */
X        char *t = talloc(strlen(s)+1);
X        if (s==NULL) error ("strperm - NULL pointer");
X        strcpy(t,s);
X        return t;
X        }
X
Xpasspace(p)
X        char **p;{
X        if (p==NULL  ||  *p==NULL) error("NULL arg to passpace");
X        while (isspace (**p)) (*p)++;
X        }
X
Xpassnonsp(p)
X        char **p;{
X        if (p==NULL  ||  *p==NULL) error("NULL arg to passnonsp");
X        while (**p && !isspace(**p)) (*p)++;
X        }
X
Xpassword(p)
X        char **p;{
X        while (isalnum(**p)) (*p)++;
X        }
X
Xfputint(i,file)
X        int i; FILE *file;{
X        char b[20];
X        itoa(i,b,10);   /* we're trying to avoid using printf here */
X        fputs(b,file);
X        };
X
X        void
Xerror (errmsg)
X    char *errmsg;{
X    /* unfortunately, this assumes only one file is being used */
X    if (linenumber) {
X         fputs("at line ",stderr);
X         fputint(linenumber,stderr);
X         fputs(" : ",stderr);
X         }
X    fputs(errmsg,stderr);
X    exit (1);
X    }
X
X        mstring
Xtalloc(i)
X        int i;{
X        char *p;
X        char *malloc();
X        p = malloc(i);
X        if (p==NULL) error ("no more memory");
X        return p;
X        }
X
X        char *
Xtoken(s)
X        char *s;{
X        char *t;
X        static char *old=NULL;
X        if (s == NULL  &&  (s = old) == NULL) return NULL;
X        passpace(&s);
X        if (!*s) return old = NULL;
X
X        if (*s == '"')
X             for (t=++s; *t ; t++) {
X                  if (t[0] == '"') break;
X                  else if (t[0]=='\\' && t[1]=='"') t++;
X                  }
X        else t = s, passnonsp(&t);
X
X        if (*t) *t = '\0', old = t+1;
X        else               old = NULL;
X        return s;
X        }
X
X
Xnumtokens(s)
X        char *s;{
X        int n=0;
X        s = strperm(s);
X        if (token(s)) {
X                n++;
X                while (token(NULL)) n++;
X                }
X        free(s);
X        return n;
X        }
X
X        mstring*
Xtokenize(s)
X        char *s; {
X        int argc    = numtokens(s);
X        char **argv = (char **) talloc ( (argc+1) * sizeof(char *) ) ;
X        int i = 1 ;
X        s = strperm(s);
X                       argv[0]    =         token(s) ;
X        while (i<argc) argv[i++]  = strperm(token(NULL));
X                       argv[argc] = NULL ;
X        free(s);
X        return argv;
X        }
X
X        void
Xfreev(v)
X        char **v;{
X        char **w=v;
X        while (*w) free(*w++);
X        free((char *)v);
X        }
X
X        int
Xmspawn(cmd) char * cmd; {
X        char **argv = tokenize(cmd);
X        int runsts = spawnvp (P_WAIT, argv[0], argv);
X        freev(argv);
X        return runsts;
X        }
X
SHAR_EOF
echo 'Orignal Sum -> 51753     5'
echo -n 'Current Sum -> '
sum mstring.c
exit 0



More information about the Comp.sources.unix mailing list