From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 3 Jun 2002 03:43:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 3 Jun 2002 03:43:46 -0400 Received: from ausmtp01.au.ibm.COM ([202.135.136.97]:36064 "EHLO ausmtp01.au.ibm.com") by vger.kernel.org with ESMTP id ; Mon, 3 Jun 2002 03:43:41 -0400 Date: Mon, 3 Jun 2002 17:21:21 +1000 From: Rusty Russell To: Larry McVoy Cc: david.lang@digitalinsight.com, phillips@bonn-fries.net, ionut@cs.columbia.edu, kaos@ocs.com.au, torvalds@transmeta.com, linux-kernel@vger.kernel.org Subject: Re: KBuild 2.5 Impressions Message-Id: <20020603172121.347f128b.rusty@rustcorp.com.au> In-Reply-To: <20020530173219.X30298@work.bitmover.com> X-Mailer: Sylpheed version 0.7.4 (GTK+ 1.2.10; powerpc-debian-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 30 May 2002 17:32:19 -0700 Larry McVoy wrote: > On Thu, May 30, 2002 at 05:09:16PM -0700, David Lang wrote: > > don't forget that the kbuild2.5 patch was a lot smaller before keith was > > told to "go away and don't bother anyone until the speed problem is fixed" > > a large part of the fix was to use the mmapped db stuff that Larry McVoy > > made available instead of useing the standard db libraries on the system. Of course, he could have used tdb. I looked at converting kbuild to tdb, and gave up after half an hour: there's a layer on top of mdbm which is "interesting". Plug plug! Rusty. -- there are those who do and those who hang on and you don't see too many doers quoting their contemporaries. -- Larry McVoy begin 664 tdb.tar.gz M'XL(`%<5^SP``]0\_5/;2++Y%?\5DVR%6&"(34AV@^-L.6`27@"GC-F\?;DM MEVR-L0Y9\DDRX'?)_>VO/V9&(UDV)'M[58_:#?J8Z>GO[NEID7K#W=&CO_:G MWJC77^WO/ZK7ZXV?7];MWW#UHK[_XN6C^L_[/[]ZU=C;?]F`\8W&R_U'HOX7 MXT4_\R1U8R$>Q7"Q6#/NOO?_3W_$\RU1$?#SSDVD)Z)01+%_Y8=N("[O;Y'(QFVYZ;N$-85XWDX2OTH3):AM$,OEK>B'_O>%<`1 MN9_&Z]>O=P!H?7G>Z?Q:BH\R#&4Z$8=ND@!IIQ)?PP7]E,_[+QG+Z4*T@\"' M*1L;&]9(_+\_\1,QBZ.KV)T*N!S'$A@1C=-;-Y9-L8CF8N2&(I:>GZ2Q/YRG M4OBI<$/O.?".&+E`./!L'GHR%NE$BE3&TT1$8[IY?WXIWLM0QB"#3_-AX(_$ MJ3^2(?#)A:7Q23(!60P)#LXX1APN%`[B.`+`+K*S*:0/[V-Q`Q*#>[&GUU`` M:R!M!%)U4\0\%M$,YSF`[D($;II-W5U%?T:F)_R0@$^B&9`T`9A`Y*T/0AM* MU)KQ/*@A"!@L/I_T/W0O^Z)]_KOXW.[UVN?]WYLP.)U$\%;>2`;E3VM+_':@0QR?]\\[%A3CN]D1;?&KW^B>'EZ?M MGOATV?O4O>CL@M))1$LB@#4\'I.8@(^>3%T_2`SEOX-H$T`O\,3$O9$@XI'T M;P`Y5XQ`A>X7'P)Q@RB\(CIA<,;)IO#'(HS2FKB-?="8-%H6+$[/9`L&%8YV M:^+5SR_%&:BW:-^`.`_!KLA2:N*L+>I[C1>O:^+RHKU;V7I>^YIT]2"$N3)Y7*3YX<^Z%$+S0X:[\_.1P<=[M'XLDE/!!C/Y!_"Y_D!OW6 MZ5V<=,]%M7ZW]PH"R>M7/XMM\?WZ,O_^N-?IZ$'_,A/R8XXZ[:,, MT'>\`G^3'MTY/WYV>=\[[8-\_/3LX'O<[AX.+D?SJBNK>5^/\KHW$5>#@? MI0),.QWPM0-XYX!DL(\ZQ^W+T_[@0_OB`P-JO&CD5O[4?M_A-T`D>B_]$DD[ M/;GH#_K=3Z*:7QR8/IA(%YR24T)']:[F.J):K=XA9E77V6DX8E/\J\J7^1GO M?N]W>IW?<&RU2G,VZW?CL?/FS=Z^\U7='Q_7Z_#D%WP`3]Z^_<4\_X92G#YJ9X;"V0!T%\!H95)VXR`2`Y M)@(OWET>?NST^>UVP]$R17Y&0+13J4"4/7\'[CN93V6"I@W^!:S?%4$T`C]Q MX\:^.PPDA(X@`(^"^O]$N="$?=:6&,WC6(8I.)LPE7?@*MP@`3?A7@-$+P)/ ML]B9N3AB(A$!#WR+'Z8[$(0#FN_&5[!ZF.X*]`46>:?=]R0H6'3G;1!=#<;A MKU7[3MPYM;HC#D2=20&DK\'=C1.9)C:P]Z?==^U3@'?X460JUS[LG_S6X:?[ M8-+^&.+>&/S3I\'QR6DGLPSU`*?*$.)D86P;WAWE1],C$.I-Y'MB"]4PFZK& MV;*!D?S[J2#J6-EW\=D`6>942`7:_3;90C@/@B81#%+1;$]JZ)S!G<]!A&'$ MG)<[$/+"1%3)8Q)_4";ALU2$,DD?.\@E]'*@=KC$8?>\W_GOOMB"91+1$N>7 MIZ>PDAI!U"`"TWD("5:U.,.I_+.R`?&"130.W*L$#!%'G<"@WGG[U*EL;,0R MG<P:R=AP! MT(H(T;J(50'WFH"QE+J)3[UN'QQN^^@K@XY!YH,H#!:_BOH!O?S<.^EW'&L* MJM;%AW:O<_15ZZ2"/_9J8`.([,;S+?A'H%GOBL\32%<0%S'&C`'3'B8KL=5T MZ[S;WR(>BL?P0].?(ZBB?-"C9?.8\')1P'-MP`BA)O9JY#L&!AF5LR-3Q%-/ M5)\F#H1,36R!:1`'(&Y'<96BM^.@"FQ\JVQ\$S*`S*A$``J-;Z@48"<=L#U( M?L%45-IX(&ZE0&YC2A=#2@7.CI*??4A?(<_YQQRR.C_U96)9"%LS`TF5;0_G MXYJ8O]@3;*>`"M[X-;$U`S3@+6"!A%9]N*U#.B7>,-'/Q3[<;6^CKLV^^'^( M5BY`X2,DD^7%@+YE@;8+"OU;U2G187S1Z5E!63T@3VKF_2HT&9MW-:'BPIV# MOG3SCITIYGG#R#/YH]D4@>>?@G_"YQ'`MU(#$BF.Y+^D#V]Q@\?8^X;Q2;A MIS4`'DT-).Y^1OB;9J=1"D(G:<.C*Y`]`%+S[3G7#,$&R5F**KT$CB+TH,F,!3GQ`OT]R,W!>Z1<9"F M;FAP41!$MY#]PF8.-U@@,[5E.0!]XV=DOJ.)&RNJORCN_$'VF_%=CP)4OBAF M\!!^C(1]T93SBV_X#V),/$;M:H*FHM63CX?7@.HW%<*84;"+NI(4H!!IO>\6 M.\IAB3J6`)+Y:"23A+>7N,?5VW..;,_G(4>X!L.$+`5YD[S[QYGQ[2!=S,#QX4TPNK;N8.TA^QEM M'G8MF-FFG0>X4G%FP&Q`^ M,$KAV51/;R'L76,I*X3D3JY^BQ;1$0]_.P)VBBU1T4,92 MU='-,&%S'*B02V&9V<%:FH\X+VM/,@'HD..FVFE`S%'8M^!2@X=K*PIIV1AQ MZ&$F`*&Y,43+M?'?YZ4Y#Y=^8`48CX^A4H-+:MT+W2*M@AKHBBG1.1)#>X`)?OS+8MRT( M7F'JE&>FQ/H\Y^O,>5S\`%8`KPZ2)5!/.>@'15:#VC,^0<;=O-X]7+5+=3L/ MC[SDA8^Z6IX7US`[\"+>!EUG4;4*HNR&'D1.\*H+",_3&0T91?.0 MP]IXGF(F#J/9,1NL$*3TOB#!VXT_=GD&9%;U3*TMSX$STXV?,_DJMH*[R+J)CGL@INE$E"V(_7C/#DST/$HHH(?IPKDCW>+*1D2R&"_4]GO M52BM*V[HIPLQFDC4$RW-[S65\KU/&>-:K;H]>JU&WPL,=:O!R@&D'$6W(28. M@9NPKH-79$M5@J'B;RA=R%K(C15T490IHS@>7)Z?HD^S%?(>[=C9T2I!I5OX M;ZA+_52LQ23(O8IBR,JGD%!&4W'E#:>6["G!P-(0C*R:#?(6I"@F#Z>,LHET M7R)H3)BBZ0Q+WV8)&K(K3)(%$3@_83$*I`GSD*9X@`E-8D5D!9&<:OB@)S[5 M33"3):1U$H_'+<>-%^QCV;#!NYZW'>QZ_I78+V4.S7]"3 M%91M4>5!L/?!G<2;-Z"&6R_%4X%U*MH6*BNL-AKU%R\;+_?V7\!R>G9C[\7^ M2P<22R4/TG,R.-@S8=D;5EAD>DL>H:`H8(UX80H=R$86XQTG!4$'9IIP#J*TT>G5.7\@5$2V94S)H MF@QF39IRTLV2%)64(0-,4B8V(7:@>\'ZUL,@,9@DW<6='2+\AHN]`\+TSS$$ MMK"8X*UA0;;N#]"//@%K4[#=GWD8D=A.8SQK-+O`K'R5*U,1J2V1K=]4PZW! MQ4#)!RZ0@F!NH3>00)^[M*$IR?QH\OIM1TU8%0R]@T4A6-&1#(4FXJ1MM@Q( M5!YCNE),JDK+>7(ZFBVJ/+M*^\4MQQY4$[0^KMO$LBI653^T?^L,/E'YJ[)! MC@%!SY@FHWQZ'N%&*%63O"K]A',M"/!;7F<`B`=ZJT(`X`GNPR"I$4U<"2+H=2%H1*E M0E#+.F6K5*91ED+5%+T7 M@Z&:J2[?PPW6Y0DL!F['6;-US1;7P57QNIS+/\3@;O>,5,!BL;$Q;1E$7*:1 M=1UL"7.LL585`+V0*7L7ZL9:+,]U4-$C,A0P^$UP[FEW(OV[@BJ<,`,LU:HNT8?-E\>%YAA M2_+T+JN4Z3H-#%0'U!JU>U7\L-OK77[J+P>G7`0@P%B\W\X121O(;T5./U0Q MUK&ZY!T>&>'[!RM,G*E+G-<6T!.T3*H'*(7!;4VVIZ*2D;1J]@42->U5)NM*!A/Z!>2]G%:MTJ2S66:U6_VA(C(,0FZ5KAZEG9Z0IO3[K9>1@C M2@4(A3N7HWBCHN?AEL3B"V11Q#!]2F88DKEDRQA@=`9H1P-2N#E,RZ89X=CG M\X8`^.U!FC!@'.]ET$KS)Z&E_JH#:_-.6*++(N,ARXY.U'=J%8DV0VI0P>O%'2^4?#Y1J_`=V8-OJ4U M:">?\=D<[8!.6/QC?=(++>N(\B\FZV")6]+;5&>&#^>^4OR,^QDX6P*:$U9I M0\T$MV#CG*.G%`$USXMD@@4JD`&>R+(6/%9O4:C&$EHYS&IKELO%S`SEDCX7 M,B)08S]<40'WB`0&-- M;7HU5H!*GK_@ZU?T$B']'J][TWY2>`#2Q?&O88HI[L-/**HD&H MI92K:.6.$E0((R-69YXFC4+UU(873V);J7$ZIBEQ%H*TOX"KKO]S]H1-< M0A)Y7:99RP'$\.A[(TB&&N&F-7YW;9)E2,BE4X`^\HLDB71I4HR?7EY-PY$A M-I&HL*-9D?='+:&>PY;7Z&0@82&U>S@QZM M7;M"G%&.B/WXZH@>8.XNI?L(:8#3!RN-MI#UZQMD2;0S$1S6GRAFI+"#Q63Z[P4K/'(\LTLJI"[*CV#C#IW,Q&G6P>7P.A:1/NM/R59E608'%,GU M23GO5W3HT3N3!V],6&G:GF=K#$@_*FC,F8RO0%F\O[LC&6IC2(1/'Y:$447H*+D M@!_ZP%0G0TF$-=5;+IAS%P8V9022#$D,HZMY8ON)_`:K6#=QU&*G473-E*D> MCNK)LRDNWP8CC=W`=\&!>>YTZJ>L.#QV.:M=L4TB_TU3"B.73@?)+,KB:+-2 M'F)8')NQ56Y8%53*.S]0-PX4\<6R,2>B]$[U@%Q%V!M`PE?1`MAW,N9>#':C M?$"+CEM_%>-SZ[Z*8[NYKQ^6HAC'NA*_9],;D\?/D_<`^BC8K*4O3R`W*MK" MQ%!E&(V"SH(6=QQ7*CCY(%,KO&6'BA=&959M=FC4VWRN79HLXJ%)>7VV%0%9_QU(\M2X"\58AH"2C0FB@;QKHPS6,"%/$E^L9 MCK#5C&U7^_@B^XIDG8/WUP'-3A26;4:38$PF^"&3(826*($$8^X8X5=)N1A=2IL("B[F&\TO94/*K.5VGO85@;^'0KG\44LE6G MT_ILVF[:)&`'#YV!600LBWF5LB67/KJ$M!M2!I#:&+]?CK#A48S!98:0OX#= MN8GY=.T6?\^BQ+^#["IQ%XD9CE_98D<'`::/D_/Y%B\XP.76I%S<&Z+O7,_S MZ?MEY?GA^U^9P#P.N='JN5&XY\='"/P;0/3 MRL"716QAFW$":7UJW%KNTQMLW;*AKS_75,VYZD2<"5,]W&6M'&5='&(3,`4A M5PM$[6#/XF/5N:@6*#EM+YE6.'TO&8%'\6Q$!60(%WO9%6?P>;[^V[G)'PJB M4840],;XH3JW'\-B])$2-LVE$_RVF7LG^:L_I=UFJ)]@ZIS,W!@_J(==W6@B M;NDS\:$D\F\D[/^QFL`I=YQU^WE^FU6B+=..[;"UH[5,Y M!0?!K0'UN_T]$W_QD-JJJF2RH%TCV!1NX/73M]:D7ZWK`SV@O$UH@_?3&'U* M&X5"Q@:;05B9](2FCKIYQ6(#SFF2;N_+-TKSFJ5+TF)*A3AHIP@G7)E\V%K% MSAADL4*W4("K%&JYE5LS3^S`^OB03FVV^:;8-63YU5P#ITL;,3R7+O M?G5MP+0_)?%#"TK&CV`K:Z(,<=(%F\(_ MBS&+(VJSU3'4G&?F-I/8N8O^2FURW>`6X]C4O093CJ(I-_!JD37J_,YFM[ZFAG02$EX(SF/@@]Y=6PU#YO,)N\M7.06@;@JF%<*SO]6?U0K'@OD:??X$WJI[!7YX36WZ=K4QV\68_5I>)7:41AA72>7% MI?,6JV/$4K'O2/I_*.?G/WH041J+:9#N)+0K\((+JOV)S`H2"`/_]`08?LH? MD*)K@WPX"B$$T5>GI MZ=>G)WV9L$GVCUD^L1D;K*VS/0VSZ@URWI+68/GAX1POQL=X$ZM*NO8IENG\ M/N7K9%?)<#Q^RXG64S99G^>C6!38:7YAV!:RB.CS=2[&,`0L]#.&NR[LC@_5 MLHSA44_(P3MCK!O&['$22(P"7.2GPQM#C<,ZA+=HQOQKXK)GU_QO2-[AY@(&7*@(!"NB3E!LH'M6S!_ M/=>$LYM5/]_E#R@OHV4*]CM53J<6K-Z?5K8XM;PYSU$04EPXY(V-Q`\I"1:9 M]G(>DT-F8O8/>E7VI^J+^($Y+DB:O;QZ_[H_>%B7XVMB(E\3+",8&1SF`P<&N"_Z9*>U:D!126C0 MD5YRCEE/\MRP`W6>J#<#]L#;B-5F2M,R6R(?D*4%?%\X/([W#I#]V+A"V(M> M^H?YQ>O5HX%ZBE(HL3U81]8^5E&(QN@5Y+QYR6HAMJ!>[.L#MH@*+M6-D?KKG)O@CO0JOOYL[?8?F(& MOR/Y9S3XOX]'9(K\P@&%FN[VB[?90%B;#<=G`JG&V,8L>UUMUHN+=C5V]^X< M41"V4F;Z!0(]@#BU*?E2F8V_AA,B/Q>_(AWE-#X,ICJ6CYA`9/@3,PJ_SZHK M3KOS\7APQRJ9U+S0!>Z>T-UV"=421D;#;IKASX0H*`14LGZJ+F+&5%ZTB#B) M94DX-MR`'<^>^E@K!H8`_`^]TP%RCP`!M1,71V0CWYF9LWF++.?0]=AE7*-5 M$=N.\"4'*/`VNV&$+\1`-]:B'OF-24RG,D.JZ"%@E?4Z2!76,:J)E/2I.8H( M?=-&?[AS;I[R$=,[]`&N/\U<3P-@WKV+$?9Z$T,+-G*";+A&-WD-=05CNY6@%AK:V\ER%>E"NINZZ/1HN@AS<1_W8E[ M=]ZV1&!78\,=VB275TWT'G-AQ%HWE);";9&$O+>M5+>DA`@.-E$/?0@E"RU7 MS#DJ]@]V_V9T5)L?U>#H`C,S-R2L$W!/6@?`:1AD_S9@< MD0/;O,_W(KO"[@./=&>/OJG'^:`.*"(%PE,)`J_T],ON*P=N40(SP>W\WM8K MFFO^]%K0]-RY8J0E/U7;A=OS;>`]FZ\1-#882C9H\TX"=IP$N-5PC#ILI9!M M`'+&/`BP'FN4F6N5<8S&DTYC#6O7\V`G=PGC1$V\6C)T`M,41Z)0EAJ-0-IV MW8PR&9%NPN!Z,$ZTA+&Z7K>KFA$ MNT_9VWQD>-P@TSD22I@C%UG_$L;HT@?X+4F]8FZ4,7JT:2HAH_1+`FA\G[RG M=XZ>$SC:43M9/^)S:/V#3;9Y7XD!7=\93R:SJZF3GB,/4[+U^MY!LDMCC-QG M*EY_*NAX60:@K$EY*5>SCPMQ+K8:*3 MDE<-AA(1H&9P`HI)/0*-PQU;R-G<7P-RSB_E@_5GH??5.P5.E.4&:IOPL=$U-G0[K*'RMM`G5Y`G8K8 M*>3HF.ADQ%;,=*$4!S;"J]T5^'(N#> MG6133?`^DM%A(#B"\DR[&D]]`B)+N&@HGE(2Q#=+4DIMRU43[)-.(]M]V2A/?1:[7ET0]PX$-P M+HR&:Z8N&V;3K`0IJ,X;>G2IW&\MYM%//VAP7>N95J/4,(14'H"Z>'_#K,2O ML`2R#6QLM,Q)3D#65&#F>B1@H+0I\`"R483\I@G%$-`YNL\4QHB%EUF?5G!, MYXM\LYUL&!K:4%T@BP\%?YN?&XGG_&(_@FM+X`,Q=?PA,U&)GBHPTI/;39B2 M;Z:3/IG0N(5D(Y"1V+Y$3V#81@0BH:F7Y.(P$FG(_`E<%<[O*D>9*983618Y MI-T4N;RH_]4)KX%R<$:#?&+ M,CC(;3L[?_E)5!9\4`^;*PM/H4MWD61%TI).X*_%EU M]^M3.XA:)#12H2)9=2(LV@,/S1$V`2_K$VON^TS;T!/J"]8H>_H\ARC;K&([ M*NBE%GQ<`*3UGH]8"N+\SB5,H^BU/I@H+34*80/B#5+0.6O5BFV)3A)M@YQE M>3J:ID/3:$X)1OQ4Q#;J=`\S&QR"]9!=C?25:+YJQZ,*N][(/E3=FS<#J9^R MY2,`ROVESKR3VF\E\[R@`'7A0P(YW#5C,N20D^%H<\O\ M(8C\;&'H51V_%=?B;],Z0UP]]YLB.`'6N+D02G1*F-,(7R'_%MYCSH;@RM1F M"MEA]8=PWU\78E6DQ&B47V'&[L87(QZ9\R\PCBLC3JBOO4W/@4"IKP%!R&,OA$ MQ6F&$BT6[]KS8_89-9/*DMA#3\J`I9_:R9)+R>'N\%R-QZ_'8U3O827.D+C% M%%A;M`A>,7:_>\<,^7"EILK0"*%\0`*]'YN*EL3RD4(^:`N?]UNRIZR)2?LV$J2(*B-:3/.>VA"4=OR01]$OZ6XGD=<*0T6;K?(F,F MV)[@*<#`Z9K'7:@$8E:6HT0Z591U?YJ"`%W_TM"37E9J'9V$B.0+!@HWQA+08C34[6 M;,3!!OFT4-Q2'.S-B8VO5[(*EM=\SQJMDT?6A^RU))O\Y]S>J`^E(]6L1[K& MH&>F<0QUER';;G M,]>\_;VGNTVWG9W;W'+3<2_^5-1`R?/\F"):>>DX;)7V/4+%7`;'PH$C8FA$ M<0XALT(B(&]7?^`?D_N=>'&O#PZY1VR36SRPSF1A:C^6N5>XL+7!8JJ+"%XQ=IJOP_M,=ZH M7^$1-C2F?LMXIA'A&=5AW-/,PT>]U%N+(X...FJP+"6"`(%%Z<&&>9$L4$:%M%!:=B&6+5EA<1U:?]0Z8R.@^Z;J:0:[GWRS+C215S. M7G1?B&;%V01>FWIN&MW0$:8?F>OPY(LR@6Z@^W&0F8\`L[[>.W5+7M*;1=A% M5L9H/+DTQP0',M&H,0-:0*CC2F7_$,]SV97NQ(!(WVIH*\[QHGXD>GS)M3`G MD>S4.%.5O?>34Y.MXLPB&Y_K_D!QB14AG?PV1U99)*XM MMX<"'LP5:9QM@D=J?9#E3(W;$O2'1EWSI:FJ.0EDS19Q_^4,]\Y1;_6F6FO] MISCI'2#$'Q5^(H$-)96_$@=1,X.W"G2'NRT9';10]QF"3E'\SW<-O0R&A($1_( M5[[TLX\QZMXBXN)3(RT=:'YH+@V#'VO38YT=WE<+R*=NK=HTY4:CS293+RW0 MM%FDL+W](ZK\'$@+$EE@2;;EM;DP3LE'!N(T"RVC0:5MS"3)[KQ?-SELC0.$ MT,7+\2`_OR';"]-DQ>D9^D1^"%(^&$$ M^(!%_4(0J9ZD@UF9S!%]B]HN_8930C(5V02*H)&QOUA5F"K M8TO_W>44?L&YB#:;$TYT'N.@1%%W`HJ2\T-S,=X7#4[8N;JAO^])_6YN?4.7 M_/'UP&FCG1%GY\(Z.(0%3@$`8@!D0%ZM))G!#EM#\G M]^VNN6\W#1VUKO`$N!8#CF2,)1,@!XROIOEE7G!%1:"JRJ[D8Z%IU@,OO^M/ MQ'O1+\:CHB5E+V.GG<,:L*L=F5!][)7SH8!"Z7)=,%3G`;U=YDNGY+,,OJ0- M63W?S;0Q-T`Q.%HE34Y^CJ0$?,0MT]3(OPCN>O.1:9N/'/J( M1G-/K,GR0Z/J_:8>EP0R)`NR2:-4ZI28.,3MA)MC3FWH]L!,_<'^TQBC..QC.U@?]PZ/AP_7;RAH*[C3I<@D'C?OSW57_2OTR0\W'9OR%. MB0Y!KK+IOW:&N)IO67!E4M-)"/S=(&NY[8&X:79](#;*F;E%;&,%#7E>(H$@ M#"?#8]EO36Y>->V;K335QG`X&BK>Q.342W;W#Y[M M1@YS/O?/!Y9AX4_0AM,9IF%&L_[5!VF4;O"&ZOD9M#?4[NVIR?0-TJ11L!'^ MD=H(WJ9Z[Z[9G]L[.T;HW06/MKMU'J"K+/M#PA+X8BJ,QTSJYP6?89L48N:* M%R+I!<8$-WU[^[]L/XU,'W=/99>+O*[SS1_O/ME^_O283QI"ATF7&=3A8S^H M:1`*9YK<$DO'A/WQ%.QG=ZSX_B3MD5@IR?3#S%`Z^74A.7M3&'_]]YXJ])Z& M]^[VDG^!@)_N;A^>[#TY>;)W>'2<.M"N*L^0'@`4;#P1]Y&W02(L@OJ3#4+S M[H)D>]?5IN]K\KMT_-FS[9];R_9\;5I&8'!JJP-HXX6V@U-VR:;?,6"#S#W* M?"&$U%Y$E$YL!6$"]^WSXJ'Y?T"2-;B6GB(!I@>*%94-'7S`FIHLE\>7FV2) M3:FBN$@+K^@`+F`5H7"I4L";#DG]Z>G!C]M/)16O'-'\:[DXYX)I\%6K*%+Y M8C@^[;,_FP[+/V0^?/?UE%QG*(].'\81[L0#AA_I"QR?FRGH8+DLEIV9IC@Y M>M5)VMXYWOMEMV:2[!QU26%`6-9=B2M4NR&D8.'XBGO\3@QCYW!W^]B9!^8` M-7>+L0[K:K+N%\4!)8=+,7HA!/%@< MVM+O3NHW72-?BKK7J0=V8*^*>S=XRP)NW`E01DSGS:*1KOA.EK_\0J]'C__X MPO"TW5^:ZM562YW?Y,4C)M!/.$%2!?TX3#(%/R.ZE(@(I;,$Q-"RNM,\7A<0 MA3_O#K!@>08H9`)F)%8P\2#+XCTJF\36]"0$),Q`'F)%1Y_-HZT:CLT/IPHG MLWI:^8=<`>;%I.(_?TZREZ*RHE:=9B:$YMJ7I/ZE*,-SZ(;L=DW<@KS<\'[<\'+581N#_H"#IE?A0^7N&4L2\' M(LZ/SX]>Q*P]"H-5!$-K6#+[:C"[:K*XQ,-8)&^6D59[TAVQ0>"FU3%]I^T= M43/]$$)!U,O(>@\JB**0)OBEE]U7+6W,MK_?9ED\DW0PG$-.^"(IG\Y;TJY* MQU=I^N<(Z`%6*L+A50]CQW+IQ*FFX'SB24"@4NH;U?-YV4/!\GW@LJ*<$6B8 M'=RV;.";9-1`S8Y#<6+N<7; M'*!_DOY(=HA3AE'C>+XQ2PK`,B*9SN)+9\7L,F-[D3D&.=)&`'US-DEJV8=> M>2T@-@ZRMG\VS=]92-OG^#V>7>?NP%X2*S;9K'!: MA$JZ3\AKS$W+44DYGYK4$\=)JN;HH)"L.A$])U0E;%MJ31I2A4H,L3;FD:?A MFA-0.AW/8&N_S:M/\_H&\;/H_S&O&5HZ`U#J%2L_F]B17^7F)2R0=U5 MN^7&%ZV^K\N[:$HC<3+EDL":[)#,%]D[*#S*[Y)"[:3OY<3RQ**'S9N7/9AG\ M+9[\3^`,-4=:96J\*?XVS*2:FNJCW-"J#;@8BTI5 M)?]:-E1^-`<%J3FKF[*Z&:N>L63O\RYLJ?Y4@F28%:P6<3P*(YN,IHR%0F$N ME#,U(L/.Q:P_,:]EILGQM>$LHQL)92A#7M1.S.5NVY\K?1+XFUS/84_IP$&TZ$`ZLI=M<"0SX85,1@)WUPYB!2*I2A"*9?,2&Y6VQ=6J:G\,.8 MQ^]S:X:>B8I&%]G@CBMMM82QYJ/-$\MTT=EDQJ=3Q-B(8K'%Y"ZB\_I._T=WJ=K_YZJO/NMWNUK=?=_5_Z9];6U]]_5GWVZ^^ M_>:;K:UON^9W\]/76Y\EW3^Y7[AFY$).DL\FYA\W>C_+?DZ-F/]_>SZ6D^-H?@Y17'Q2/0%MGEOXA#[,M.E_X\ZE^>*AN6/;01 MB$L!L0RYW=QI4:&827:='$_RP45FF,K6=]]]1T]QE!>[,2XH3BDO)$YV?#ZE M-.84R,14$L*(6SF!BY[.N(R!.4CO4YU:A(PB0&O*(&L9.7//DJ?F4!B1"H93&!(N`]YE7.CC2/J0/"&4!QH))3SV;!-35"6^:][QW\]>'Z<;.^_2'[=/CS&H,XJG7KA\@"4`IJGD;?B93`7(L"U1JV))#Q:67O=KVS:*]EFGG7SS M[=?)LWY1)-N4P+]C:!Q4VTZ>;2?=!UM??M=.GA]M,YB:5&$U^_'L:C@KZ/\- MMTC' MH9M<)M;E44!.*L%J:[3LGE0`#<"Q-0!V:$X5>=#9EUSRA9*:0ILN#,/PB9`V7EYIBK2$LH= MJ6ZI3L8JLHEA82^_W'IEIBEMZ.XCVY,F)GFOL`=3_O>0;E1>"2%*WL\#-!07 M!-*Z@<'C<\4^A%,O^*WD"5$^:UL6WN6(0G4UY_NI"WTJT0CT"&G'T0NIE9@] MY+-3!(%,M%[3-<9P$6<3'K_F$#5T01"!AC>)E$*%?8T2Y`9XUL?-F3UW-LFO M#"TY_/3@.T*/B:NP2Z_#'#,[DPI5T/1.,WY(?\SY/MPWD3AK?26HF11;W`V) MYZ6WV.)K8;V\IE\#OA]P$XRHB@8?J0W%_^$/&F'IC(09?8*J^DE$%!R#:]>( MCPZ)IY?3R<6ZT>,;WG06CLDG^A/!,XE#"X24!_[PTQ2A M-"9T=(354YRIC"+JRS2;`7`+.D4B93S"_!\S*JJ2D\&&:G<5O#-HEGGM)7]B ML.0+8I*2$/!FK,]36^9K:!C<,&:EPHC$_A48Q];"0'1FORW/YV4.IBHF?FD#75H3N?^G MY!RD_P^R!-+&0E-?6FMO26]E+@T6)+U%49'T%F4GTH]`CT]OF_D'IU>FB M0(OR8&I!=M);HZ^$X_@DX+/TEKCIZ:=Z;=/E?#WIXJ"$2DLU3S4`[GG-+-,I M!L[*\!`*`!0_2AG^*"=*^E&>$.[:X^QTIKK306D+RY*-%CJ8X48G<'`,9I=7 M)XMFY6IB!F)+)T=G1G3,D/X`01+32#\X(9__FS#"6P>8,/_71J[5M;I6U^I: M7:MK=:VNU;6Z5M?J6EVK:W6MKM6UNE;7ZEI=JVMUK:[5M;I6U^I:7:MK=:VN 6U;6Z5M?J6EVKZS_L^A][ABVU`/`````` ` end