Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!zaphod.mps.ohio-state.edu!wuarchive!udel!mmdf From: Hello world !! Newsgroups: comp.os.minix Subject: ST(PC): fixes/improvements for sysupd2 (nice()/profil()) Message-ID: <54779@nigel.ee.udel.edu> Date: 27 May 91 18:38:07 GMT Sender: mmdf@ee.udel.edu Lines: 329 Hi all! Here are some small changes to my sysupd2 kit [1]. It consists of some bug fixes and further improvments: - another new scheduling mechanism. I hope it's better now with heavy cpu load: (1) The aging mechanism now depends on the cpu load (indicated by the length of the user queue), (2) Instead of remebering the last 2 quantum usages, quantum usage is now accumulated everytime a user process is requeued in the USER_Q. I determined the used formula by trial and error, hence no good argumentation for its construction available. Most of the new algorithm was inspired by [2]. This book is a quite good description of bsd unix kernel details ([3] is the same for system V). - bug fix for profil(). profil() for combined I&D on pc's should now be possible. BTW, will the person who mailed me he got monitor() running on a pc minix please stand up and post what he has done. I lost his mail and this bug fix was the only thing i could remember 8-( - ST-related changes to the kernel and mm: Relocation algorithm in mm cleaned up, stack checking speedup in kernel, further cleanups and improvements to the stvdu driver. [1] K.-U. Bloem [net posting]: ST(PC?): nice(1,2), profil(2), monitor(3) etc. [2] S.Leffler et all: The Design and Implementation of the 4.3BSD Unix Operating System [3] M.Bach: The Design of the Unix Operating System. Have fun, --- Kai-Uwe Bloem, I5110401@dbstu1.bitnet --- ===snip===snip===snip===snip===snip===snip===snip===snip===snip===snip=== table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 su2news.tar.Z M'YV-8]ZT:1/ DY+L:026,&@,.'$"-*G$BQHL6+&"O"V&B#!@T0 #:*O %2z MY$89)4UNO '#(P@8-6#$N'&C1LP;-E[&B%$#9\F,0(,*'4IT8ITY=,+(>3@Gy MSYRB%L6D<0.UJM6K6+-JW8I5A5<0+ER\:/*&C(P7 0<6//CB#!PY;\RT?1LWx M80(J=(8"KRJ7LU:1>JO,VJPH!$#Q&H%($ @E3,GC)TR*$"\D9/Fv MS-0P;$"DP T9C5+;PXL?9[.#^1X%(7)K1QJ&3IHQ(-B\<7,FP=$R9$#T>,F"u M>8($8]B4<:/^977MVJ?2"3^__F[Y;@07G7%N(*<<""L@=A]^S3VG0D!PY%&=t M8RV $-MLM5'8 G.[]?:;@,01:.!RN8WAG&O]-Q^(TA687 H(*L@,1"r M#;7=QB (#($0W&Y)B:'>>BA$B2*33E3!!!,'7J=8N*I I-RE(%9+.3:7X*D#EIH"@O"9^L*ZT5KZI.I9P9Z8)PAMOKEKn M8X]I60-*&GK[:JR_DINFN<.BZR:N@GL>^X>>H@4IK****,NHHm MI.DY3*FEF&K*J:>@VIIMPMNBFINJK+H*KJPUTCKDK0B7.BT(O/KZ[[AWXDLPl MGP;_R?&TI_8ZZXW5AHK@QBH#V>V7(]?;0\P#ZZLNRU5:R1J6,_B)46P8:_3,J%XG%'&"#MCUBM\**RAUAAW5XA<&j M&62PD092P17A-U(@-*N"W7882K9V19C!1AAGU$>%%%44D;=V>_?]-QW!L;IYi MX;8AKKB.7#L.N>246[YX;F8;FS:H:X-P0AEOQ[TUYGP/SOFJNH.N MVB4[OZh MJJ9'OM[DE5_.^MFOZSA&["<847MVM^<&O!QW*[]H[IL'9T3OA@>OO1'%HY[\g M\)GK'ISCGX>/?>+"DZZ=&>4?G[KVK:.MMJLGF#&]W+C3'.! P#["&>YZ=QL=f M '-#O\<9#P3(4YW\EN>Z_;%M#?^KWO8$N+LUF $N;0"?;1 (OYQI,'W= \$:e MZ/ &$?ZN;N]3H 8]Z$#S27"!(,A?\WKU//[-H7840@P,9# U&E@M7KG1&M<,d M$B:PB6UX.K2@[-P&-^H%"58HL!MX>+">&# IBK:;&PRS!P+':%%[*!R@X-H7c MNAC&#X>-JZ']SC?!#:J/=VP\G!NU5X;Z0?!^4&2>%&>7P2N*28L@X")BOBC(b M,&J'A#LH8PO.Z,C@\Z$FOBC@$%R(5Z<4TGLN%-_PR ?*"**1>P,LX'[!O&8I^8=!:!HRy MB]-,Y'ID8$W]81.2M.PF-F^IP@\*))=[O*S?R$@CJX80[%<0-ZF*13,>2!#CQMv M%E+U4(:X^-2D5$A!)V.JTIW6U$>[8I@7QDK6LJK@4^5\BW[,D"PR9,HSS1)!u M">:@ W2] 01P$0@!AP."$K A/3J5#PC@,(83S($+;A!!L]R3@#N@X0TJ30/Ht MFOI4GH+@!;I) U6MBH*?9E5X0:R!NV(B2<>0%*LIG6D97 H"F&(QL):U*0QPs MVBO8]K2S6 UJP8AJ5*2>0:ED8-)1NTI3J6JVJECTK%:KQ575?O6F+!-K6:=[r MUN&90:UNH -;=4,'M\H!KB"0*UWMBE=(=ZT1O(0#8WJ)I(71/$!".8!C,H[89(IX+Wp M)& M"0 #"4[0+#@P2JCAJ5/(7$"VZB8Q/V9P*ZRL< ,%) @_B0*!$8SJADH5o MJ V6;4-QT+ ?-[QA/V+0BUNA.@:HIH<,>0$!"T& @P;Q!J\\5=9WO#.>[%3Wn MQ2B.E1MT!X9*4&7ID.F00!FH[H S+O!k M Z=M\VE:LUK4M5D7=K7;UK>"3KQU=<)=\WK>]/Y5-^P=;&$/F]C%SM>QD-7Qj M?5>:7\OR][B<5:[P!ORT A^8!0FVVFT:?*$;0%C");8PAC7,X<%^V$"/"W*Ki M2$QAM()@!"A6,0A8[&(&Q7C&;JBQKW'<*!V?@<>T_G$.A5P&(AL9!$C6RY*;h MK*9&%6LW4TY#E3&&Y6]AD=9<]C*MP\QJ,IL9S;);V5H1"N:T8YFK:HGC>/ZQ'K68.ZUIUD-ZE]WD=0GSLVI4\U7f MIE>:N^)Z-D0I7%6_[RF,^\VS<:EK&4d MY2QF3S2K7H 4.R#9+E,P*@B:$(9*R0 THJF:8$B2F!R@)HBA1SOIZ6#Z.J"^c M.ZMO/6)J0S4=%%_!M4<-N6^ST9VP0 8H\1)^G-.H(/OEQQ>R]K$99]5)_T\T;$#V&,DBU#B:2E)(QM2H\AP$.>JE1'/+BAO:#P#D&a MX3?D$3>88Q#SIQ=J$@9%EBGVIA]3$3EF8%1%)G)'U2R.]1UH0&ME8"-AX"P%z M40=PX (RY@)E((*7@FH>0U@MH&-ND :Z-@?X-P8,\1T$E :LDQ1SL :3TB!MJ&1W=085UX3>T71SX#?^AP*7 GQWL'[/5BQX6"R>*(J-u M0H5%F!!UR$)OD (N8&$)L 1AD 8M4 5WH!="(!YET ;-XAAK4 =BP!PFMGTCt M,!7Q40=N%5ZYQRHN@ 8BP"X5XGPR<$04XBW4-W'7QS?9QQS>TGV9\GVR*'X,s MZ&'E)QRP@GZ- H?LYWZZ 7\9Z#!5R%//@W^Z40;[-Q_^!X":,X >PX15F( +r MZ!D>YH#D04 22&45" (7&']*Q8$>N"DAN!=KF%EM6(=^"(>"E09S:(<@@(=Zq M6(IN^( :"6(AP4(@YZ(J)*&2,"":."(E1!8IU6(GA=X9*QBB,@8!01T, VV_D1YXm M\IF<0A_1F "82 >7_Y1Y#\YW_&N9B>5@9X0 >[&6-*k MU9U.QI-6J)Q;8&:I&9I0)09O9A9QFEP<>1@;/>9]B %ERj MD![WF9_Y$6/=EW[IUX%P\(39Q8!42'^]f M^5WS00=L4"D+ 8./DP(7M)X+L^"2*\J!*<63$\1N:LH$Xe MN&1KX&-W (H8B088J&1%"";[T0:-YX-^(ZDJ5 9.04 @=(![F5%0XY=3XVX+d MQJC"X1F#")\J.0='@7\&D8[:$9>H4BS&@10,R(5%9H58N)Z=H@*)LQXF(*A:c MN 6R5F=@^04"J!<)TJ$?&J(C*C1"$A!&M1\^(C3"HB9PH"P!(RPI,*T^4*UPb M@ 9.L2#>B!@W$ .Q2A)(!)>U*APT:9/IIZL\VJMDH'WS*87"NCG%BH3'"JWLa M:1O-*B;&NA\,NZQ,PJ[5.K'>"IS@"ISCRBWE>B+GZAE(LR866X1?\*[QJH[+z MAS7-IQC/!Q.SNJ:QV35.IH#KJ:E60 158(%YF(%W.J&0,1[*TD+-HFIX.5B%y MZ"=,(E1IQZC^9K!E,*PW&['(JJ'+^K#/FJS16K)&>*U-HJT@*J(D^E+XT7L_x M.QPH8 ?-,EM"TWM?H":J" ?-HK:0 5J/$8Y$%(Y-EJ^12;,.>;-+EK,[BY$]w M"QD2RE=^.+1L4+1\=;3PJ;20<2P$"ZS:<;#$2J$**[%:V[#,&C!4.['GPK5?v M@+'J6+9(=K9RD+9K^T:YX;9P*VMSVRQC,&XKZQH;)0,S\7RO%[.7-;,&^+=Tu M>E>"*[LM)!\3.)'3*9#Z=YT\Y;3JB"K@8@=U%I[B.K)Y,EM,0SW@DB9M!@)^t M -X$ -&P"2R%5:\*;1PD1S BR*?0CW(>;K*P@9Q&[MU:T*%5G%&5RT@TRIBs MB$7@ 7/@>P/CRS3S!2[@\6;@BP.S]1XQ1A!=MF3HI;'FLA%EA!A&,)\6=L ^r M$KY&,"%W&XZZ>QA\Z[NSJ10V&[P#I[/$RR=H^H#!29UDRKQSX+POA2IS< =Yq M&']I6V<52EM0$CLQ.J.,I@,,K"AT$8E(-9$^QIZ$>B(G_&35I;U8Q+UO]KT

V<[^'EF@FA,8O:F$QMH@1IZ.1,QX@ #9Pm M$L5O7'2D+(6@#+U8)+T^0+WDHLO)60>PXF:002XGL 4G$%8QIJ6#$IPQ;) 4l M9W$V(LL)P*S3RYUT0#?U85"V0\MND#,?(X4&?"L^8@-6(\P[O,O6W,MU]LNPk MP@=\8(7K;)YEML:R8\Q:E;V]TGL 2<9T.[O?J2@T:U4^Y@8MH,Q)\,+*:YW.j M#,;Y7,WBV;'4P\W># *WG&7461RH+XG4HM:>!QZ*,W@g M>5=OA;CX\@+J27_)&]+,.Y8@\ -R_1X,+7_,B17 2;W,F,5=&?O,TPWA.03HVT+C^3Q,W2@ V8]MZ4=U;JMLQa MQMM3:LP#"=PA1C@HT7%U'+O1\5XLO*F4B9y MM5EL)>7 G (MX$6AK-C4V]B0\<]0-MGI(8_[855$CMD#'M&S/=&YH6)AL(-Tx MH-N\61 GL!_. 0>\&DEGS;ZV(]WSG>1"?-\0?M&SLX/0-U%6-C&M5[71]8;@;5@NGX >=R#C>7WN:>G0-_v M634?D:^J+@+OAZXC:2W'N%"@^IL,.?N@>F+u MOE%5DP,LD,A-)GV6.[696[7*ZK +4IHLDM=B@MW[4>)^O=WF*=A7_M=FH.4Qt M<-B%'M._"N[I>B(IH,TVC,-TH,.C[G)N7"+0@P-OT[NO;-I#4%B=[K(=VL^9G5HO"UV? \S)JNZ<$5DL@S$.V),=I0)K4)*P=)B.U:J.W,r MP>W6(84WG,,9F";[3N&RX^^\'O"4//!0AA3#@8"'Z^H5;P<+3QWNq M(?%OD*D4'^,6?_2$7+M8,@,)%NV'R;L?(S35SH!"X@;-T@:[&9H[HVH!7N3^p M)X\JU2B42]/GS,OBGN_F3MC*:=B(_=+&+H5>/M7VX8LQ]A9E((]ZH6IDCV-3o MJ]XM.)&RW+JA[JSYONY"(RJ]]_>=#-E8G1R6>>9*)>!Z<1[SEW[1F!N=@B;Tn MH4A6\P.C5E=N\$;S"O6/C@,9DIBI8O51B[">D?5;W_4Q]O5\%?9JWEXFW 9Fm M_[2H4O?9_2-X;\3%PO=[!9&[#X04*O@N7/C:W=+:S=WC3VNFW^Q?X1'03@,U,.V2;M>UG.MLPP;_'F,Sk M2O \-8H+>HV;#_,G WZG\J"KY%K[VV!=8=,:L!;$:8Z;(%Y6.81(R9@$C*"32!NA;=UAGV$ ,.i MT+$1,_MG_J3 $1 "7T (,($@, 26 BH*S80!UX!)'!25(?[:G+?C@-ZP)X6h M W:TMUB?_:!O]DQWV;^;EOYO'_Q3@_^LA;$, SKP"f M> #[H/^#;N "^%VS!-'3(."ND("3;+!$J@6' 7M?*.M\5JCZ[3[7YK[ 1>=;e M#Z)-!-89$KB+0A,*' (JD 5203OP F,@3TLS-%#T!<$%"'=F&@D+LW @!#X9JB)a M[,@!*,YV2!:7E@!468J3+"J@B_R(4"991 WWJA G8"$*#_=%$!W67CN(MD-5z M7"#!2AYK):)B\W\(K

\JOKG$S%+#Ew M:*(4LHB^*#39'_I %X.,G]-> 2-JJ "AV"321 L(B0/MQ"#"2'I)=?M-D[.6>.R3.\&1J Q:#+'K!Ct M+*4@Z 484%<^$U]A0J2PKFT9H.<#!)!;Q!4Q8*5UF:3WLTR(1>QR=F \>B\4s MP*S@ +6P0EU&U A'^]4>ZX,?8(_I\3VFQY^10XB>CKB,:8 E.H;M",!8%T7Cr M%AO0!V1'V<(9D2-EZEXXH#EBK^>8]QY'Y8L!U;&%\!5IMAV3GG>\%>!1/'+'q MG]4D9(!YO"LIKCZNA_O8'O5C?%P/\Q$]JD<6F1\CR7Z4C_ZQ5P!( =D"""18p M$1I$$90U&!SP41088C(MG(UU#$?M5AR]U1339S%'!+J1.*S]Z BUV.+M)$OLC]VFOVX(O&Cn M>X23_#%&NJ\V22/O)'S,D]3!8]B1BK)',LH?R2V")&YL#5CBk M,/TE(BG:I ]7%(N>H;:j M!*-Z"P\NJE'@GZV6UKC%N 1.PI$[-LG0U&W49;$ZEUY+EE4I,W"EX$!V,1&Ii M:V_( 18P%5!; M@#?Q)-",SW""K#)#4"D7YA!W !QA(&44!0= .H#5-B'!3Yh M'B:F(YMFJE(%7)>#*"OE9 +PF&^,38;,D;D">N6L/!0HTQ>U29$)!TCFC7R9g M)Y-B@DSU2#-M9IR$'8"DF%B4]8UM!,V7F-\#8,74FGV2/+)-:W$PYf M&3,MS-/LF2M :OY,ZE U52:LC)H[8&K.QZZY,W52F90E#$=8R-&%+d M_: MTP"WO&/):#B$2W\C.&%?/]PR8FXPHDNE8B_9I8.@G!_/<@J)>$DM9<&2Fa M\_29AC)G$AJK^3VAY_:$F^/3:V;/Y[D\I6?W))_4DWU:3[@I-%,%VPR6;A-Iz M=LVER3&;YL>\FF#S?&+/.GDVP^;6%)[_TU9"S>>)-EWE '63 ?2 3LST638)y M: 1-F^]3?5I0!FI ,2@%!: <5(!FT H*04.H!*68:W,EXL]A^3:3IH61FRI x M;\K0&4I#JXOZ4Q2VIS#E .A#]13%>-A3@^5Q^!_'THY.51[H3X_*"BF%-% Gw M:,JB,$#;LJH$+1_'PK;DP>-*O@HN^;[*!2W!SLB;6""S/F0MJR6MX "U,EE>v M*UMYJ+#5K=QE%Q42:4!>X8< M3>XHQV@H_H)\CDJRC85\A 3]1MZH#M0((P1u M1'8H$=FA=AUBQ -?63(@:%WR!S/@I(:#4N%YVL%L[;QKZD5VJ6ZP=_$'X1'33X%E1!?Hp M0A-VX FEAWR!-^S8&$H*60UT305/982HUO][AN/1L2$:,WA4J.%10*AL4-90o MB] $3/_H<LF 67@!>(CU. :JT =2C>EB/n MZX$].@"HZ0 8 !I.P[SZJ9%'J!)5^F!4_0)HJ %)-0 Om M&9C?*.FX!5'#%&-@#82'H_=$TP.G>CC2QK+1!7XI@"('^.E _V^GB KP-7@Vl M IS +!93/)"'%" '7BD<.%GV1SZL@%:B*'IAG9$61> %7 $9102^ &2EB;F!k MI;#5]< I[@\***S-@@HTB[2%A;Y O=03=>8)& %!T6$ A(%$G<#,##"@S/%Qj M$(+VHQ_%ZJ6ZJ9EB@Q)1I1 /=^ %O-4,1%B4:(JRA+/1L)ZL*<=9'=AGE5NOi M;+1F*--:6>8 :O4!I,((2-?2>EKOV&,E%$7 ]#68L(IN=E>^,JN*8@B@5;4*h M7-OJ_]DQ<=6JS-4 Z<+N:O@+HCWB)80OD_!7Q00*$*QG@+ J5SB06,O 8F42g MC;4-?%' LF)7ZQ1He MK?/AM2H*Y21;MR3?J*TBB,CF5JJBDO@02^FM.>2W'CWA"E^+*XK*"\BU<@U8d MYCIB/6N)S;'?CKM6U^N:775L=U6P/B#"JJROL%,_CT\].Z,G/AB,-3!5@\]1c M10RB00;@@-%@&FS/4X6S; M] DZ.P82@!$@#GNA+W0\1)94"<,,B#!=]89:b M"(\2[68 .&2FC^'1/KJ0DJ\*UBPUI53KB-F&PEH=L R,H$%"0CSL#3,8KGA&a MHGN"50 .D($%=QZVI &*JLEH42R\<.7"7!)"\!:*P@A@(<*A)D31 3)<> HXz M'3&>TBA43:W=0SB&Q$A:2RL;: ,C&RE#\]4"/&IT-ES%LN4YDE#D$(=/I6JRy MW]D@ WF@!;"0%B#RZ,.S_;8UHE%LU!-4AQ3%NX4+2&PEY86\@ *L*WGJ0/P2x M#]@(IP2%Y "*$D',R!D!6W\SC; (C1H"1-!(D0MS& 3&(8FP:%. "K@5,; $w M4!6FE(O[ M Y$ R*R62W"J;5)7"$-@!I18JB>!4,X 6_>O92'9\v M"%NI3B9"'KY C.!$3.+-+,4G\ 5HU!18 A*2U%"/I5-8Z\-_,D*88F]L@2K@u M:#Q4%'!.> 4.1)*FNQXHK \XK-3KW.:!N/<>O.Z=0K%JY0WXQ+C1<,4$Q$T"t M4(!<- &_)!+(+M-5CT_W"T1=,K %I@ 2" )$X E<@2]P=;>NULVZ3E>YAEUCs M@6[);J%YI6?W9!$'M=L"%L1-92(T-]N^E"!B:0L3;1!MG?9 )LEMVW^Z;7O!r MM\PVW$8'GF.99FWF*+>SEZ(5'OOT+X%#OYVHS:Eq MG)L.,P6*\D'*RD7YUF,+(,[ I:!'NK<*4=TB8'41;@MP2PM7+CE<'AAQT:%-p MH;@6]U&*B8R[<3MNI2A?(!?C(!H75G)/+JH^9:o MS)OKE!($KUH(/??G^ENA.PZ)KM%%NE1RYM2V6*)JR0"K!4XEKM9^@3C084O?n MFFS #UA,VN;Y*\(D>2m MY(RVBP+>;MRU*7-7@6T$N]N!\2X(WKM]]^\&WL%;>+.NX4V\%3;,K&#&.W9#l MF0O^+C#XKJQ=F8MYB^6:75E8@@:<&P@389REOO(QZ!13D $4L+2R7_K92&YEk M8$$0^L-(B8=L/5;G9RI%KJS65 G8F\:3>;]>$H+"9&<2FFB:(X0)+BD#6)5UQVX136BE%H8%=,h MBWT );[%E]@EF1!>+(E]L2VVQ)BXZ5"U&/-Q1M$OML3WU5@&$2W<_J!>X/S"g M=P7/B&$R/(>3PQFF5-EG#8>?+5,I^L@;/G/U2 XS+8PT?[\/'DZ[>GC,]>$=f M-$RUGOKA2808SQWB]Y"(LV^P4H_$6 Y(6#%!-[SN,\;%3DD30]Q._ 4^\3D,e MQ4)E#+#BY[I20Q,?9@-^>,'!XSPT.;?9*SW(P9CX+N/(MO_V TB.QHB.\X@%d MG@IZ .WN(0A3HI5:Y0UIE:&CON29A-^ 92ASV,F=>][ **Q= 8#.5a M' M'.YA8L+K0F)>_P%Z&052N,/NIHT=V%?.,3<%)^#!K7;18F"_LB-JPR:@"z M8\IV)^%P1\"(RE-9P"9ARZQA.6Q4GFAUE R-BUL'A4:BF%=)>6H0IFO,#VUS==T>MI0KJD>L'+(&LES^NH8Yx M:KD Q%SB''-[W6F5^?[TW=*T(1Q5K'9v M&0YL9\Q\B:-R(@EOK-DU+P'8G 1D,VVVF >:QP;H,S"=NPRNV,W+#M=IA]^Lu MDCU/3_VI8&D;&5I$.Y-%&PP@#,<')=0>QH![7'**1@,)(/70A\[@%X@/#4BJt MG"YJY&2ORGR^@DU@ <-9,%6((VU@KG&,>0+]RA"UL/$@@O(JO)+*J;-:W:HKs M?2VO]'DZ=/O *)J"SR2^XOA\2.q M.*4?LNRW*-2QU'$:U+.;IYP0>1ZD5@7A;=1,"@(8]7W%$]4*(!TA B7F8$ /p M6&)[HEG$@!X@I9J%#*#52&H+G&ISD:KQS!?0#W!!S!&!S?& LM(AV (W" GX&27T!*%!QFT"W8E*? \W9'X&D&C.%n MI>Z'*B!:GRRED'*AHYP"7)K4-W7J %>N_5R"P+\Y]5Z'B8?;?24K!P0046 k M9KNP-]4J[@IK;#TVPJGP*T*T'S8J73@#2!9CE&B6_&9%3Z ]8BI:1]M9JXIGj M!8-6%=)=M48[[1< M7'TH94L/'K1"%.#J?90X:!4FD4)XM#'i M-@:\ %@!^!X+8#&YM.CBN+(0-/6L"CL:%9""SH( )'#TRH"DFD2<:H;]*LAYh M*2+%OW*R\L$"#8>C5(RRFJII.DPH_9@!7:RI(C(]ABK6%_O^*I(&.X=41(["g M*, ])@ ,K>5\@!A8&ZPX0:3NU@V2D['.G=VUN!+CXB9U<9D#T*&^3N"4[@=1f M>\0XE(?ZUT>73JO1;2T%GL 0^-9YK_<6)>$8<\44H '>PEL2&@S;H.?P[1>@e MK<;["R#O):"\T86'$H?.NXT&D<&3MD68-/6A;7M5N "X787D-MVN.'9['YV!d MO&TC]K8+Z-NPXF\+@< M@@AW,3K361VN:\EX[C]<@MJ2PAW=;%=(O:C3G79G]\$$ 1.3>N!N8ZR[+[%P0Q,S0 6Lb M\-HMW!($#9#A[C%W V/;;0*S1"1)X;UBA:/BR?N96_?KKA%1> 7,\&.\NW7Qa M"S"1*#QNW,;<\+NE0/ .M?A6>X^!\#V^R[>V0M_/VSDI3NE=)O2SOZGB5_S:z MB5H5T+T-QO<^LEP\""3OKW6^FW<8;WI8N/G @+^T$Y8I@WD,.\%>[818Q_K0y M>/9>XP'Y6J*K)0-O-=4H/GZY8L[NH;2:90TY%M_>*B#O F$G4'@5Y[LVUYI*x M[*)+PK%W07DTLN1J/(MG>^3/YDE(\I[1RMO:BO*D L)"4R!w M 828&P%'K%%PZNP"1#>J)A?!T]?JHJ=/L;3=[$^%VH56:L]DI-KHEBJD=:I:v M6_= \[N !F)JV"8^&)(&P&BN>I2-*6QH=)66K&+:C(?.'VTT5:2+.PFD8[V@u M5#)5(R]'50BX1ID\S)'%1!H@02*H$*>?/8T>\/!&]2?9A4D(]'MD(M###@I"t M]]1.U20P,1#0 Q.%*GLJ='_P1Y(RLAQKY1OY4*THYZW!Ds M[)2HFAUKQB:9B7>*C?4:.SJW6#IPX&&9%"; O)UWAQ%9'QCJ(G,27'CEA23Dr MC&_A%+_@5*Q(GC#:G;RL9; \K+?PT^M#4H?.BW=O-.%INW>B74?A75LC-05Dq MJ^Z]L64*=I050J6S\!W^PK/N2D?(.7=":-FW'I*5L5G\9ISM]!D&KT[(38NDp M-2(XPH@T2ZPQC:6&$7GG$V9H_)N*C1\(^A>HM2%=8._>":R99:/HW3Y$FF6Mo MOQD0!UV"%S9EVM?M$L$;O!YR<-T5OT&1YSB'170';&QAO6?7H4(\7J4.A5.Qn M8UO%J3BR;Z:3@P+P@ \6ZE+7[P)>P5N"F^-.[^E#0##/O=TN)GP[N7CM!&R6m M_6 1+-R'< FN#[Y]+B]AK8[QLH01F0V1.E[\]9@P&VI 4RZ6W@W54.'\BQ]Bl M.]&!O$N=B-]VC#R17SMSX>W.O>M.=ZF;S(L[N3CN8%RYWS7FWMM#:M9U8V5Wk MO_/=_GYUL;L*[DYBU_*"BS^-@^GN#F8LX(+KK@?FK"PN+KZFN=.82\P&#A*_9?9\JS058IZ2S!h M$K)\3@B]*K2Y/WAED9YASFM7\?A=/09YL#ODQ^Y_3P(\/6N'=:\$H;Pg MZ1G(C_G7*^3Q/'>7[. B#MQR5N1Y'-#F"_PVMW/HUMZf M-N.=-Y/([R# SF=U(L\M5("@Q\\.WC9F=@*S_G;H;'!U5 \%!_40S-^)^MBJe M7#W>U;=XX+[@77VD)_-_'L8H"BF@T)),%5(#H\JM:&.'+A_*G/3FFW/=!PSQd M&#S?I35(M^_S[/9_IXK]73/1,N\FCOTP=(0F_H\3.B]^^+OC_Xb MQ(&@=AB"YCGX0 'NN(2\\Z)3PMUQ^";!_26REQ 39D)-X!(43";@-): >!"^a MQP\*C49MY3!\(+X$X]RBY\[:E]8%X"86)Q@?PN 2(JTY5Q2TX0;,!CW+NX1$BNEZH8FN4AP\0QS.y MU3U=-HQ75>F5:"0LE)-![4_?I7"G!R&T,;^ S^?&T6@KALY\V)DK9SX4%I.Yx ME%I.>L=%36F&-C_T(RS:_2L]E;>'0(9:H/;:K115SI[48\K5MO@OZQMS5F$Pw M%/540"]:?PBQ-8$+'J2^>RT6B1ITXV%>G_D'Z>,7Q/*6/AR!(M $ B^=CC0$v M@0Z(H"= CM1#FK+,'8?[&;V1(S#3.75KXR[,^IY]'(9_E%_:M*0U8?<] u MR[,^V>?Z^,+K0SZP[YJ"T*I:1&:?\J-]?Z/VWV6/T?N64UK^%FJ)+Z KW7?[t M-^ONTR-2!_BA,M]/G0(S.0,\7E]'%W_G=V6?/_(?6Y]?@P0+$YK]ST/S,XA=s MS_CSO^=W Y#?38E^TF_ZCU_J7_VM'\#"?OH@^_L_@1*E?UU+N#\_CH>%P-& r M 6( "V !+( %L 6P (8$MBJ)A9V!I"#/]8.<0%6&.CS/V8+_R@\K/,9PW+Gq M!GVE'[3/:]6Z-G,+0 R,%M\3I?QHH 4TV&:1<4] D4W"& ! PDN/E^5p M0R[_=3P$V.4PC;4P>$^DB7UQ"X&C 0/$ !; E@ "V !+( %,"2P54TL[ P@o M!W^L'>("K##0YW_,KI11>%CG,X;ES@WZ2C]HG].:7[/?K="SF5L 9&"V^)PNn MXT4!*:;#-(N*>P2*;A# @827'R^*H=<_NMX"+#+8;P3$1J@P%)](@RLXR%Rm M# OWN)E7'5!$FC'F#:C5_RP#6]*&*I;,#=L!&BS'C8>PQ(/ROJ*69#/^OXR%R#(N%R1_C OGGP))Fk M!^P \Q5CQL/88T"929I5S %)Y29D*).Q]<'KA[($("K.+0I(,1VF653<(U!Tj M@P 6@,7O 5P,2"KWY-U7V9UM?+&@78O\+5:[5&!J W_C7O!"-W]E][46D&6/>@%J59KSP@"T2)SS;^&)!c MY6AA_S#VBOR6X@0F?Z3[;#*PCH?(,2P6)G^,"^2?>LRT YD=*MJ'5P"18UBXb MQ\V\ZH BTHPQ;T"M_C^!61_B JQ($#+\OXZ'R#$L[J1DE^'_=3Q$CF&Q,/ECa M7"#_^($^M( B 6[8"H UD'&R[0%8TX