Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!bu.edu!mirror!necntc!pec From: pec@necntc.nec.com (Paul Cohen) Newsgroups: comp.os.msdos.programmer Subject: Slow Mouse Interrupts on a 386 Keywords: DOS, Mouse, 386 Message-ID: <28426@necntc.nec.com> Date: 12 Apr 91 17:32:17 GMT Organization: NEC Electronics Inc. Natick, MA 01760 Lines: 488 I recently moved up from a 10 MHz 286 to a 33 MHz 386 but was surprised to find some code running slower. MUCH SLOWER!! After some investigation I discovered that the problem concerned mouse interrupts. In particular, provided that a mouse driver is installed, Interrupt 0x33, services 0 and 0x20 each take approximately TWO SECONDS as compared to a few ms. on any 286 machine that I've tried. I have tried the test program below (written in Turbo C) on several different 386 machines (running DOS) with several different mouse drivers and always with the same results - each interrupt takes either 1 or 2 seconds (indicating that the true time is approximately 2 seconds). Can someone answer any of the following? 1. Why are 386 machines so much slower than the 286 on this operation? 2. Is there any way to speed up these operations? 3. Are there ways to avoid using these interrupts in a program that uses a mouse? In particular, is there some way other than service 0 of interrupt 0x33 to find out whether a mouse is available? ============================== CUT HERE ================================== #include #include time_t start_time, mid_time, end_time; void main(void) { union REGS regs; time(&start_time); regs.x.ax = 0x00; // is a mouse available? int86(0x33, ®s, ®s); time(&mid_time); regs.x.ax = 0x0020; // enable mouse driver int86(0x33, ®s, ®s); time(&end_time); printf("%s\n",asctime(localtime(&start_time))); printf("Service 0x00 = %le\n", difftime(mid_time, start_time)); printf("%s\n",asctime(localtime(&mid_time))); printf("Service 0x20 = %le\n", difftime(end_time, mid_time)); printf("%s\n",asctime(localtime(&end_time))); } /* end of main */ =========================================================================== begin 640 test.exe M35H* 28 " .(!__]@!H . )@$' $Q:.3'__[JT!2Z)%C4"M##- M(8LN O__ (L>+ ".VJ.0 (P&C@")'O ?BOPNI@#H/0'$/HC^_^3'B]BY_W_\ M\J[C84,F./_A!77V@,V ]]F)#N6Y ?\0 -/C@\,(@^/XRXS^?\/:*^J+/AX' M@?\ G,'OTC_^XGSQZX(+_>L#Z1_BA &+WP/:LIYYHN$/ *%R*]B.P+1*5_\_6%_3Y_J. MTHOG^S/ +HX&//Q$ORH(N:4KS_SSJH?PM #-&C&4S0Z6 /^',^VXL@6.V+X M +\2/2'\Z@#4'M0NQ@;G 1B.C% (OLM(?A3(I& EBY#NY& (< Z<$ 'K4U\?!S.<>,!G0 N 3S=@PY M\WCS!?-Z!J#S?/,S\QC^?O. \P EC,J.VL-XNEP![!_#O27%%D"(O_3U!, 1 M]<'U!?4X L/U!O7%_?_3M/^+UXO>.]]T%( __W_X= HX9P%W!8K[B].#P__# M!NOH.]=T((O:'@> M/%3W]/\_Z.K_N , 4.CY_@ 0!5_/ 9@^P0N"H([UP764-(QT;PZXW[4.,? M_+@SVO(<@\0&N"YS<^$]X2#A^ W3X3(,?.$>X;H2"EF(X_M ^[BHX,X_ !)9 M6?\V+ C\Y$0X_##\M>B@!X0_RPC]^,TY7NBXK'S(VLT]Z*82\ ICBIG2"< MP,!9B,".P,C\_#2P.?R4Z&# ^ O$P&93BL!XDL# 8WS[N-C 3L"+Y5W#\/\J M__@S@']0,L#F\+ @YC_\H.8@6,T"SZNT!9HP!)_B505R!ECJWI/OCO__V.CY M 5C/'E97N$0!-J,. 0"/!4;Y$ &A\0__^0H!H/#YH@= .,!G8#G+O__X9W MCC3A)OLL "O_0.&P /__/N(?)CH%=!HF@3TX-W7P)O__BU4"@/H]=>=#@.;? M@/Y9=?_X 4-?7@O;=&HS.N;Q5 __63O,=23P?P;-$20"=/\/4MOC+MD&5 /9 MX"[8'A\^^9O?X)ZPZCS^P.LX'(?FQP;@(=D^^C_\N10 XOZ+#O>!X3\/@4_0 M^3\#=1GC<=WC_AC"]_&_/ +&F !_DTST-H@>!@$?'L?QI>L(NT/;@]4 QX?# M1O@& _OZ507[_!C&QO;^]G44ZG$<1B'JW@+JU";A_^KVN#0EN0H Q5;XS3^$ M(4#B^[@^)?7\];_^N (E#A^Z9\7QK_UT%*&0 #]0AN ] Q1U"H'C6'P8X\TW MXS9?( $PPN#Y(OG2H0/]] ")F[L@ U+Q+L47;&2J@\-7\?6:\H3E=?A7!%OB&G\8!%:) M7OR,5O["I C"<&E(K5"X^%#_%G /\H'I\%;S^ F#_@%O^.$+]G0EW?@,Q,,F MBQ_1<*#C_O^W# +HL&'6ZNL?Z/@+#NB! OA]S,P%4.@T#HOAZ"O\7C'\)NJ M5C4$/;SL?? ?!BGNZ;, /403?@C^X_4&& /II@ +P'7IZ/'_Z9SV?0+WV+X' M "/PT0#?YO[KA)P"T>C^_,.?01@6 =(<^>%[_ M_SBP7R+"/$=U#8!__S!U!S\^2SO9=_7K!_,N=0%+_\/?@^PP5E<&'@<0#!\" M/2@ =@:X^XGU_#_]_(I6"(#BWX#Z1G4+/ X=?A KP.GK"1_@#G\%N $ ]^=% M=LE MN/]_*TF#?OX = ) 0*NX3D:KZ8 .].U.[?^P0:?G[NP @/$#L"VJA#C^7X1T M%IATAO$!0#O8?V+N]^\H?UV*X0^X,"ZKGL%T"?__L#"J0W7\ MN0 K K = JJ2W_\=?>P+JI!Z_'* T[\._\0P78-*\&+R /8V/, PN.I_1.2 M!N/_ '4-E8M."H??Z-'^AR' ^SM(=8"VZX>'89"MJL *Y'0<=''CQ*JM=?K1 M^ ZBT; __" B1@@,1:HV+4M]!(;__\3WVZJ3N3 P/6, =AD]YP/_/W8*F;OH M _?S L&JDK-D]L'A^-R8LPKV \'?]:LRP*H'7Y+JP@S/RG3U#E:^_U=2X0H M!HPNP8M^#+C_?XO_\5X$)HL))B$!T>O^XR[_?_^GFPBA"*<(K0C-/-D%ZQ<( MO_K=^A$F(T4(/7#XC_'4@"7P[=LM,]N'_]'AT=.]"(D=S37ES3G_[W[\S3V+ M1OR Y$> _$"I\?S#_P5T#/L!= +K,+K^?^OA R6ZP^L@N@$ A[^( O)?TC9 M08/Y*'8/1P.Y* #\N0;SJDYX^+G8Z2H!L,#--W[T__*P^BW_/[H03??JD[3_ M/TV*1OG0X/;D \.#T@#WV (<^^&WP'\&_H?T \)\I3T2 'X#N/M_OXO8*\*+ M\'0@Q^)0Z)3\6-%_I>(&IY?A"_9_!L/]S;J4^AXY,TTV4;\]D;_'_U% M=!1"0X/[$G<&@WX*PC^T*]QV_DOK)(O#2/0SN4W5^ U!=0U*2]H>X+%._D.E MZ#MV>#CR.@/[5SG]JHT<_O.Y! #4"]MU!XHL__^ ]0'K&HH$1HK@TNPD#P4P MO_@PJ@KH2W0(!_'X=>9;G_Z Y0]U#T*P?P/&!S!#]PO&10$QV_0$]]D#RMKV M\!_E(\,K1@8KR'8'Q_X%V0!#XOG\!XO"&_3$P_\KW(O@BU8$B5;\B4;^%PK- M-T;\W/'P"/#X"?T]4.E^W8,^' ,@=9/C$XL>[ _TT>.BX8F'-@C_!O/#\S/ MW$Q,5E?UNC_\/ !04O]V!OT$Z',?HQVPD CM^ U1'Z2.!J'=ZO@-2M>2U_@. M*-?X"?B(ZO]X^!+J_M'@_J.:"(,0_@;\1GG^NK4%]^K=QXOPU_@-^![!_+\X M(O?8_\,# '4#@\<8B\>9.^Q\A^$'?QX[XG<9\;L8'P F??[ _ YW$-XXRGJ M&>#KRH-^0R,:T4<+J@RI0*=X =JG_Y\>4._X#;0/_^]0_S:_Z&\8"\!T$#!\ M@[L!@[H QP:@"%-]T/$&^ !UJHY2R#@_M^ HW3OVG\:.><#AS^@4$ M &>+QKO\07PSTO?SB1:<#J;] ]PN_3)9]'P2?WSI'\,$/'8*@V[B7N[K- T: MZ'44ZG4.$0Z"F'KZE@@="1[F./)TZQ2+'KY1^(J''@.8#?W_Z.SX">\$W/+= M=07<\7+6<5?TQ+B0",7K&/(2^=G_=U]A O\WZ ?^5LG1W3T %OS_YXM' HL7 M*Q:F!QL&J!K"![3LR>E0'?[]_*/PZ-;]SRG/"8M$"L,A!6P'XC3_=+!TA!VJ M=.-<"/'"7@/2O_<,]T(#N',$4+AV0]0%L3 ,PQ+VLLS+\@T^A?_SJ;/[??T* M5E>+P/\*J0:#_T9\!H'_BC_T 'X)NO__N/WIJ:%&#CTBNSP1\@%&#/3WE MB M#F[1[@KW_%@P[N4*ZNSK>O$*W^[K"O?'D/$;(\%U%N3I'/\;?AI&@VX('>L3 MBH30\2ERV-=&]SOW?NU.\0;\#*OK^/;YB_*#[S\)1HO'0$"[!.KR\8_A\P5& M *FP"+ "?>/_ _].[IE04C/2N&T!6>__6^A['U KZ5*96UD#R!/:47MA4XO> MD^&'*@/O_>0(F;K#^(E.^FVYBT[]7GX*^M;1N(!1Z$'&"CPNQK00#K0O'\O^ M (\CMN@\ ,V_Z!?H_PZS PZF!Q,>@SY1\4[VJ[BQ".H;_W8*A-_]"#M 4%?H ME14FZ8=P"8%N]JF#WP"#?MBQ_'P0A^KV -U65_64L?;K!I;TV._*LA[Q)?:+ M1$/7!DA0^ @7F>A1R>DIPCZ&B:ZQ?O[_=;?\Z.'O%8WN4.BR_5D>5I#I'AUJ M4+GQB<\;HO[5R:OX"2 !*ASQ9M7@M?&NJ?R_!>FB XM>"( _)700_QW^UKD' M?.F(!_8$Z8$#N)*&"@0UF>"K_)F:,/$0_MC@F,?ZN18 N^\/_Q(NBP<[]'0' M0T/B].G?QQX#+O]G+(OKBX=" Z*%%^D+?.SQ4 /K[VCK0L/U7O7D]?UV]=G# M_U;H-5#KTK@* %"#? ;]QPI]W=,",\"-5N #PA&W, ;IK0+C_ 3C^!%=D )^ M>.<,=06_#.<+BT0$YS[%[(OZS?_.^ ]7Z6 "O-C;#D"+^.#X#_-D\_\CA%H# MT O[4M!8VS#0"-#X$K#^$&/] F/X$??A NGS 6[_T>"+V ^. W./Z>?^SSS0 M^! TZ<2E?=$.4MD_1 RGP?@+_WWC.HK1!^D#Q^?]=O@8A@$)M^93\H4,Z7BT M^!Q(07^S^!\YP ?/]$%E9N)6CG/3MM_.;W^ZEFASAE^']F/-U_>CHO&WS M-O?H? _T@IG8_7#8^ O []S8_>FW !+P&>@[OYR__=:]+[_X"W^7_G3Q"7XV M]RO04G.W=O'H L>?Q_WV#\?X"D:]N\?_/,CX#C3K,Z+1NV2NZ!SK#^[WMOYV MU>B6@YKK$8M<$!SJH@>[P^GT_/JIH@0_T>C9AHO_%%8&*U;\.\)S">_("B[O MZT[)[<.Y^%<0!]$G!3 (0E9HSP%\CS/K'L[*)\>QA% "^K 7K$MA__P, M= A6Z%__-MG^@\80B\=8KT](Y]/)C=>XJA:7P7=_5?$&C4;0P=80,OY>!(,_ M 'T(ZV1';@= __%9P0<[OIDSP@*JB\CR]T<"0-/T YGK+^9_"M,=ZPD/0T^+ MWX _+0%!(DX<=I7PZXS?1^[X#(O!#,)0PCXRQ6+!M7?^6=;)TO-*6ZD!=1#, M\7X+V/_G=O^5N0895@B!9 )?*KK^S?/P\YK,3NCT<@L?1 5R^O]U"CV]CZFX MU0M3Z>STK\W7_-8$6;_-0PB@?0V@%J !(:;P$?#KDPF34-K\D_[#R W"M"J# M<M(Y74?AM[70)P8:;*X& =N[0V"P#Z6+_D5!83+_P"=+RF/3^[_;%>T/J()GFB7[^:OPF MZQI8(=9>"/#9?\&KR/IZU!_S,\#I]T])-NK?Z>H1YOOR9IV# MAMV4Y^G,H M!OUF_#C\S, UF-FZ9+SJ6;KA+Y_9O_K77U!ZS:V?R_SHG$6 ME/13./Y;B >T .L/86$H_\#7_2G\P";_[P8K_,/K%J'X"2D%H?X'X<-Q2>7" MG*"P!>-G"/S_674&@2:N!?_]N "4 '4]P;V^;3A'<6N:N[4K.)I. #=X:# MS#/,_@+7OLS_]LP"S/@)8_%)W>@$S";?[G$LV74,-:E=PP)_V:'_?Y5Q>.FF MVCX.#QP@0H'^RW4(QP9"#/,/DNL:ZPP .N"E.M@X?/K;?(1V.J?,](?A5!2 M5NC]^Y]"\9?P^W0D= CH/A)9%^'S_\=@Z40@X]2)$>.-=#V']PO_=CFWI@7C M'56;%E?A"NC=T(E&!ECQ!NHV4KNH.6W=\0;.R'P?J]^I" %U!>0(MI'/X$%>( MM>B?Y/PD6>OX'3WG_!"8"9D!&5FK2PA9#5KBZ%;XFCECK@SQXMYRX(_[X/R: M^/SL.N'MS=D:](E6]MY9"\RABQ "5O,4'P+X@!KUZ#K7J/=LRF# T 2-H?T& M#>B/+H)&!P@"F%8 _CR;[R8$[O\4I)8=9%= J9^D]Q59@*A!)9_;EU M.JGAYOQ3FVH2[%\#M^Q0MHO#Z)8!3M->(=7M_0'/(^H((^GH=P?<\ TI5@09 MKZ]&!L9% GF"FW@*T@Z(14%Y&[3M^ NP#E]X$ZG75=GN^ N([FO8^ F)> IR M#F-Z!;P'B2^YY_@+:!W^T?U-@SQ_9WX$4")V,]&T@6[Y2X+_T#@BMW;0_RD. M >[X#B:^_J7S.L-X#0D.=U=J> [I#03BBP2-\]<'C?'"?U_7U_@-SPV(1=U! M[?@+K0V6_9%^5OL$&/$NDW@6\($^X1"3>PK&1.$1 P+\ AWK//:&K^05BOJ8 MB]B*A[WI09N7??[NZ_@+EGK:EGS3(/CE^(C!(>6![(K^[0 N\48(0#T" '/6 MRM;2J00/E]'C]X?LC8!T$LB\6AY.M.=Y!H2AX8&GMKWA__W#VD9HB0C:N>M7 M_\/_V(+X_^^*!XA&^SP*=02'_\8$#4:1^X@$1HV&=O\_I(O6*]"!^H ?,_8[ M:8OZ5P+"Z%VIH^%8L17!Z.)*>W"Z3*L0J>MS+S_K0L7P0XD =9VY_OR)PXO" M"\!V*%?OF\6Y%KGX"1*Y4K\___U8& P;DCU+('_X+TG40@<'0<@H[S',&*'6'Z<_X#Z&DH?@) MF5)!#V*1\?#\N[P$'@=_\ )T&K BB6YR^\A]]$>'$G%T3XF".FCN74+/^QZ M*H-&_@+5_HNHR73[_^^*!8Q!Z3K@=>F+V8 Y/77^ZN+/\?.FA\MUV5;98W@* M(]/HM?IO F'3M>@)!];"V__]01Z-3OLP\HE. S+&1O)5_//-_O]6B$;TQT;U M7==>0=Z#B%AR9:YBUQA3/I4_/_U M? J+= @?!_]>_)R<5@=X'@:.7@G7CP2/1 P8UPCZ_0Y^"/T,@V0, 8G5B2$< MSXG)B<.)!!\"U+904V18%-@)7IO__WP5@_Y8?@.^5P")-BP'BH3[_2X'F$K1 M$8O&]]AHZ?XC?^5AJ,<&Z/__XI*+\O?75*:X $35X,9S16S'_%UX(@_LD=UB ^P)R4YYI MOO_/#@O)?1%E.G0+Q@4M1_?^-]FTZ=D C7;>XP^1*SQ9D?P)_8@41N,)Z_'R M??_U0[GUC4[>1TG._$Z*!"S_?PIS! 0ZZP,"1@2JXN^P *KK!OWX$%SAB]1]]!(-OS"^ T'\8O+X7&$*]G4 MA\N^_,+>JKK]U[BL^*$__%E.1 M/_#X"O?P^ HOQP:J8*FCJ>'W>4;ZJ < +BOH$DVHCN%!^CWBYFXL_.D\SB MZO/IN^-DV.5!1.U+,TJX T^YT89!!DSS'O;&1^Q+47P/Y^A[^EE-N G1":,# M09J)%IR,F+Z?Z [)9(O>BB=3#'0PA%7* \;+HY7033WDOV@,,LP=GBX3MR04D$H4T! M3KW_QT:#H>L#_QDQ7@;1XSFWB(^K!W;RZR'. W*!J=?]+HASLN91!DL0\ZY^ IW_K"'L$0?@_E=0F+CV_PA@>#P0=.<8_/U-F!PW\\ ML@?VPP-T 4GS0]'[['?^ ]DR2?=F! /#.3DSTE_^3V'W\RO*%,F_#CO!=__# M%G49@'X* G(3ZPSRGN XEV\!COK.?GU3/)B=C*_D/0 MB$[UL/AZ\LG4N?__ :PRY(O0B]B ZR" ^V!S$__KBI^_!X/[%W8#Z:%^:<$1 MI/_A*>F7 X#] '?X@\0!ZQ1/T/7M]0+KQ?__]>* ?O4K= .(5O7KM8-F_N.G MW^L$Y""U!>NGXCT.3?<'R0!U*>P(M>\-PY/I3 -MX3:+!4:Q H>2WP)S$AQY MVGFP83CSL;6*;__I!'777+SS]O[%.('S<\JU__A:8?;I5?^2+#"8RW<9M0&V M H?3QGS1"E'0ASDPJ@/" >_I,\2;M##D]B;AM>3X"\(7_WX0G!#I9?^!^4]Y M_L=6[^E9_[<(ZPJW"OQO.!"SZ0+:W<$ ./LSTG2 ^_I:_.L0XNK1#_H!ZN_\ MF4='B790B% K$ *Y\!5P6_'HC7Z[5O$OL[DKD3KPUQ)K\D[XXQJ#^02R,.L"LB"*PN@)_N+'__GI2?YQ!%)05XK'F%#P%XJ=4%/H0OD6!YF1 M_H2Y?P/I\0#I_'307Y.BNDWI-O\W0T.)^6$((;(@LQ"%%\,/\<[H>_VP.JK_ M&/A:Z'+]-L8% %$ W_@B^XU.NI/1SZ\[T7\?%0*+T>F> +,W_X#R\+?+1C+D M-HD%N5PYN3PDX/@)FW4-V3W9G_X@NNL+-L3S!(S "\=U,/P%[;^XAC/].T[V MX:)V Q7VZWW$__+_-YS! [D& %=1C5Z[4U+1X2/X![#.*JD 70)N AA. ZX M"NL'^@BXSVC:4.A#!7>+V?$8__]5,0O2?A'HUOPF@#TM=0%)_Z4KT7X#B5;R MBD;U&^KK[_]T#(-N\@BA\@!/)H@%Z*S\/6"+]X[R7OBX 94]^(?Z=1.*9ON M_&\\H7"#?MI_N^'0 .L;.-SN>'0%^UAU$8/QX_1 2TNY GWC #_?].\E7L M#.L&L"#H9?Q+.]E_Z&_V[8M9"[ PZ%3\=:'H ?]< =WI0?S&\8WW[O\+C??K!X_UN% *D;L T;N^^$FB06([ ='1R;' M' #IQN\"!>'P!K EZ+7[_=EU'P[X@'[L4'V9L/L'U?X(ZE[I\YI!H>Y>O @ M\R7=__\E*";H)58F8R:A)J@FK281__\FUB:T)K@FO"92)_XGHB?"Y]L@.S;L#8O>Z%1&/ !^":/M\S/ H^"'ZO2C) A3Z$X'C%O#_P^SV!A_?\2+ M!*@!=0\#5H&+/P/[B76( >_>H#+"!_CRBP7D4,,!!XO[?_<#\'^AB]^+?P8[ MWW0.B3Z +;$!-(?X/U\!L/'!O)5PXO@ #;Y+W$0B^T0(-3]7>33B1R&V\.) M'NB)7_+ [5_6,40@:E+U87(/&S8E_O\]Q7,#4.(^'H5O '0?B]-N\4L??M,Y M!W,:B\P[VG7UZ&8X' PAZ(K['.@+_@/X[%$# M/&6:=0)PX\;#B^R$ []1O17_6\/>CQD?'@?N*8MV_HL,KX?@5H/I!1?R^X'H M)/[>PO]>*+K-PH/""#O1=S6+#C#1'?)U#Y0\7?K'HO[?_^:B5T" M*] I%WCQ\HE\ D*)/T05B\N+W^@WJ=EL+;:I\;SC""'IC#? \2T?#L[IBP]) MB]"E!8/B_P^9^@AS [H( #O*<@QWL [OS>L(,(D8\4__PX M6L.U8^ ]X/PVX/@-=":T.W@([7<>U >O?Z'PFHLD-F?E?ZZN*1 K1<#2_]Z9,! M4U?NX?)9_U];^__W+,Z[CZ M@ KI/P&Q >L"L?>1+9*-9OI*90:*P3+*^C".^N4IBUT(/:I]E?W_I'VM.\-] M"#)-"I.']^O#4 .*3-U.^[4(:H'\'^+ ?J0KPSU! '^=((3-GTV?53'[X3V7 MQL0A@^\(?!BR_HK_G\2*XXK?BOF*S8KJBM:V_O_H?>B#YP=T#M'JT=G1V]'_ M?]C07OY/=?* ?OH =1T#!!,(X5<35Q-7^" *]G7_?S6*\HK5BNF* MSXK[BMR*X(K@WW1H;OP(3GW@J?+P_L#P^P#K,&%IT&;^T=!_=-'3T=$3TGGP M\[?^/V/TUYRV(%\Z'_%\)_#APOKR9WH5R3KMI_#=>A0)+' MZZ]GC3KT3 K'@U?Q4;J970BYXO__-?$[PGV9.]I]JCO!?M [V7YW@,P#PT@E M\KA ^I)"=[G;85 !S"Q/8$\@3T'.G7@/1VD=5'O#UEJM8]/&'\/;R5RL\S^7V1@\. M(8!CR4X 8 +T _SG] \#3@P3=@X3_^97. %/*]M#>56:L?*#UVPHV480(N$7 M[P#O^ G\$?," _ 3^H/3\YM4U0;S_P[(\_Z2H=LA]#/([_PKR5:+\=U\0=#X M$]J#T:7X"_2:HO6EUY?PZ#EU?LO M^W(O"N0PZ *ZR.+\T+RA7_FN^85ZP6U!.BH(I^_"?&*3OF0Z<4)Z5L#\>]" M\9+JP.OHM0CKWCJY"[_W1NQU7^E. S/SC6;T$X)>"/=]_(I'"FGAB$;YBR4) M1PB!_AOO1O&&0?*8]OS_Z@$K7NP;3NX;\!OZ<\(7:BY9NQO7]W;R9)D* MH1KRO/)K\/;V28YZ]^[S]O3P[!^*\/=>]H!>H /1]0]WZ)=\?SN[\;'^4^V7?;F+U@-6G&XD")R!G!,A3)P3G!.H?6GG)#7!&]:<]#5/ M\A5!G/0X]YSS&_ *##"<],DS]!E\/VH81O@#^B/K\'QY.TZ$0YD5-?0!$><0 M CG,S9>\!!-ZWQ?Z;'(P21U>)K_0)K\0_V:_"OX/_:[]8OQ]78O3011D MM^YEGOX XK=B94+*T<+_Z"!960/!*](KQQO3B_K!7E+I=I%S&_?Q*YZ$J>/[ MBE;X#7,T@]M.\H#: /&XZRDN^>OG^NL;+V*^_9D#QQ/$_;/!XL#?PN-BS8, 4,L1._[#A'!@_PZ#< BS[>X5;H8P!__/OZ MQOC_3 B#!JC#[0R.8A3B_N@+ZX[O\D3!P![TT 7'1?+9ZXCZX:['>='MPD4$ MB[__30+1^W,'0PO)V-'9@_K^<^/#'5-18-B+\OD4]_^P]DX[\'821@/P](O1 M(1SCL>[KVM?K%T9^>.ES 9996Y'>*](#\?\@ZO(3PA/6_"O)$H[3Z+\'5E'$ ML0 "0$(! T%#6_V84G4*)\0%;,=SR?<)?0@K?/]?"'T7ZU%'ZSU/?/K19ORJ MF?_^"\MR&WGN.U0&:+GG.TP$=_]?#7+@.UP"=P9RV3L$?5@^P.HT3GV^LU8=_'^JH"O_R8! ;B_\@DD&7[^ 74"]]C_ MX"/X+HJ5PP@(%N:U1(>_"=&'RY.#[Q"@>:OTP??U^?#\F[\!P)_IR2OO_MLK MP.NBCID* AY14+\*M5Y54$=>7K'',=A(K]WC2X";TT MN]*+T#O#S'G3@?H3\?[A.]#!.DT*?$E_/>I\-/W_?SS:F3M%!G4HM0,B+@,! M=! @/O $\*P8A'OX O@"=1!><71+B^C_[ 5$20! ZQ1W"H#Y .$4=0KT >L( M]O9&P_8 B A^Z@1F'.UP*QV(L1MZ\5P$^@1W"7\Z*)'C@'3$Z\GYO>O,T9_> MZH#G_'2NZ[..3OFGZ[:E"\-^$Q"%^4L1H&[I<+:[ Z']P_'P#M_Q\4(<\?'K MX>DSQ/@2!,1U PT L24HN\%P?@/0-H4.]S;,EP(Z_&#/#0/@WS,>_;XHK6 MBO/]Z8/O!,-__ E/N1VVIALV\<"[U.O48_P%X;[_P9'KVXO3%.G )HL$#\/= MH0)6*_:VT=;J O\/WG0N@/[_="2#ZW[YT+__J?**U(KHL;JQB06)10*)3?LO M!(E5%Y$(EHA%"E[#NY/A?/Q$R@O(= [1T.H#P#]\$M)XS$OK]^? Z\2.P?_' M)^$!BWP#BTP%BE0'(O]7M@,B\ HT=02H"'0109%+R6/XKM& *0.60X'#_N,/ M WY"*@=]223XT&%X1T0[,0@>ILX@\/"-\%@.8/"O/##_=, _Q< 2:* M)+"J_=!]XVFQ^/@.UO%=UO7#NP\ ?PPF(EP&)@M;X M$74%7+_DP.N0D_V5^ L$_LC0Y#\<$.7T4+0 +?ZC10A8?KQ]ZY..P?RE_ZV* M##^\E^(3!?X_?!-WT.G1V/^;\_$*@^X*P[C_?^OM..'I/OP55HS9C,+,CMK] MC70?_@B-?0JMD^;1X]'0JD\?IM'K=!.!Z\&3J[#A ?R.VME'1U["0MQMJ]VK M_^OK3I7Q_X !^[BK#>MD_HH;S4NG\'B:U +OO.]3N_ OAA=<*3NJ9&'OS>__ M'$(UPF@AHMH/R=[>_H_O,9GWS_N$FB":___A/^_O[R"L><_1]Q=RL7T!IK@ M#NL/YXZ'/^SO$0X>C,EVEOQ@\?/AKZ6D+0N6'\/\5U#1R8B^<.%J& W9P:I? MPX<8>.&Z&%=4_.JTW/]."+&KL&\IPU<&C->.QX/JUR[)R>K*MOT'7X/N"[F! MZ/]?01X&'@<.'^+^:W'C8,I'1._]1HGT@NKQZ?L9](U\](FRC-$E.H[!KO[C MY(O^_/@?C.C\K8=%#*OB^:R&DO_YJM^1X2O)F3/"*\*'O70R@.+6V9'*Z=A# MT3W<4/'C7\GI=?+WB%4*GN'[;8E%!KSJ30*)#<-.Z=&I@='[O:GBX0"1@_D0 M?W!ZPO1VAZ)]OOU?@@VX=/1T.+XF]L*W@K_]]JQ#"(. M P& ^0QT*M;1=!8]? ),Q-$$=!W["708]]O_X2#!>1N /CO0OP'V%+_A6A>X (#K"O[0L^FD070">>S&!N4 OED$?,/W M,F;I8_^%'>R1[/0.A_>7Z8$\X_]5#_I ?0K_#.CY_L<0^P3)P_O 3\$- ,:A M=$4'JO#&S+T/?P@8XSE_#ID('XN'=NL*G;/S"6]D(#-F=]L#HPOT/V.OEB\J3$ONZ MQS$WH!DFBQR5X0*3\O7V_UD)+HG_6?^R 7GQLLU:#(>_!=FR .,>ZP3Q@D)= M\=[TH/?JV8E=!IA>]7HW1N+R\_OT(.L&^/Q_,V3Q//__61.S#"(> P$"7 J M^P7A/W0+^PAT!BO2B\+K&HC#^L_AZW40*_> 0](52? 5<8"X#VSIE0 [R0H< M"ES^'ZC=RX#I$'<0"L,*QY.2_/_*\O%^\X#A#^,=5K[__]/__\+3P-/FB\XC MR#/!(_(SU@M_V\8*WPK9BOU> O ).P+R$P+UAG\N O(I$W(,ZR.Q 2+(4 _4 M!?68R9WS"H'Z^USW=01ED0/I:__M!PZ!"U\A6?\(]OU5 L-55KO+M=\\V1IY MM-*]MO'2?!-_)L+Q[W8B"]MU'D3I&K[>\3//?=CUA3#:B?V:EKVXOD""_]&2 M<+SN$.OR> M.WZL#P!/;$\DANHEU"(W*]>&KMZO1!96(RF81U^P_?SFA\4;] ML*'P$@FA\@0K[>L@_(O5+\"A](O==1B?\8%[U1WZZPZ;\8L45H!]\=J+PU__ MZ9$ BVP&P.%4V"R=O1W[=MT-SB\ISP"3"<\A6<]2.<\A[X_XMR#>L8ZXVQ 2//"L'__P7_ M?[D !/Y$]D3T1/I>.@&-)>F\Q)L:.7VTMR"_=4 7Z:CE2O*#A>/U*-65X=P MH0= ?3'Y=P=*!QBU(.C!$W_\ DZ$ (D"#/LWK ('*]N,\A'[ +M*X3@X%N'7 MF!/O-,%& /C__>!HEV".FP +Y_^C@ (_$SSM'N_O?>@\;_WP>#_@=U M!K0 B@+K HL"TKG_A_Y/? 8*&X@[Z_>Z_['_/^$'T^J+^D%?YQ!!3I^O'#VG4CZT>(]_ "@'X'0@GI8/_'=0R%_]/' M=0@#TCO7=N?K!OAR_S_?@^X'? D#QXA"!_;)]T9&?P: 4GY8RG+W M0D+1BS.+7EQ."@X$U3D'>3%A@G0AMX= \'\-=U'#$\'* M*](NT+\0N@P);M'?Z_'1Y[\*(7GQDVWN\KN)NXFH ;OH:<)SSG$*IC:ZHTX" MWL'1F6]]$_=X*/K\I\XK]N@"Z/@/*:#6)'ON_L"0 ,8%UUB79?]5U^!L9&"D,1?4'X\ZH[!K#A^PSVBBT, M )8#O#$E^8L??/[^3@9^>./=\8I&%C"X/\[HYNT9^ N#[PPNBQT,P_U- OQ5 M!/QU#8<&+D-9.MAT-"N5\+\;E1M6!!MV!G,4]];K@DGCV_5.Y$B!- %S_=[P M$%\BS5WKD@'N$4* [A'N$>[Q_N^#Q,.MDZV1K9*MEZVLP,.'O\+W*_\\ 741 MK_^&\@OK*@P2>I$WM'/T[4>A5:72ERENF9-NPBBBUS )_[E/MJK_*M*Y ,D M(O[@_Y:Z +/D W0_;JZ -_O;@A+QSLNT/S&0!:9:Z*\ (.##$62J/_]U44K MSFF*O9[X#HC__W_FIII.?Y(*Z'_F!%NP!5O^A<[O)IL!&J ,NO\/_!W.W).? M6>@/L4N^__>R_@/8>PR>_NAK]^A!_2[_@_\V+Q:X,190Z#W^]>\I&(E6Z*_K M(HO#Z"/BD<0AXI/B'_[P.CS\SQ#]Z(/ZR?_HY/^2,\.JMHU1^ U75?\ZYN>H MT3(S_P/HW^]]'DF2) F!_+S^QG$W'_%EUI_MB[.CS\_PH,9O<\Z/_] MY_U-L;VDWW_6>^YD7+-!LK6%1_QT,!&A_0>!^ KEJYSZ9+"R'0?F*NF?]/@) MT/6[2P1&5H6L_NG7YF[9'[T)^NGG/,W-M# M_@&!_WEB[,?__\!) +^B%X-^_@-S(8?WZ$+!&_:'X\?RZ(KQR?,]#A_@=0C_ MV8/'#.O9X??9\@7H;0#K98LQ2R[[QXJ? @7I_H'#]A>+^\+DAP3""+)7C47T MH_FG[U#H9.B7+.KH(_63>EGVP^AK]>=K\QCH(@"+K('CX,?2%\+&]<+A_3$* M_^AN?:R"ONB/]8-\".!]^G\'<'F]]>LBG8-%" /[H>A0^RWQ0!>X0A>53%N= M,7O!Z<;]PU?J__@)3O0 0&IA^ZD?[(WK>"3W_R8C^?<3Z]<<*]B"+=@(ZP#\ M[P#Y,T #-+_\%%+V[A?S]/P>;/SG $RPR4_2_-Y[_Y$.YAJ(_E%V'Q/WQ2P+ MW=-P_YC5C7X.J^A9]$,$A0?IB832%8/_P'[@Z]4<. E';(F:U4=\];&Z%<:5 MHVK]_._R4I6HF:JLH>CQ!!FX!F^L&5#H-/L(X5"BIJOV:H49<:V8"C_K__]H M\/1-"?_-O[HT%.HSZ*?#2)(D2>_W'OQ-72+'$^XD5NM<=![].:W[ONRQ$[C] M_=: #P?^M7KD$.IO"/\Q<@(J-' )@?H%M7<0%Y:^^+K<_T[^ZQ4JN!&,P2O_ MK_LKN1F3D9*M<=SQ?_&6G^@H\Q7^ZRTG0CUWG%)14U"+].'[Z'O&(!KH:/.Z MF\164/_]5NBOWH=]M=ZGSL MN*3WZ 8&SKJ3K14'./-6C73&K$CG5L3URO[]Z#['^!!#Z_BK]^^X>KF M_T1:8ZG]L0#K!K&ZN1?_L02.QTP9JXIM"E%0@_H??=KAYKD"=0/HL?'IN@#_ MO^] ?@OH-_+'108A .FI0V'IF0H %?3&RU7 \1C_^X-LBYCL) >(1O\?_(I> M_H#[!'0[ E[\@./@L>_ZT>MS$=B8M/[8_5*1Y$[J-,+\ WH%Z!T.I_H &8'Z MQOS0Z^-P_NL\Z0%TS/?H9&COS/?,_EW,_>B)^AR1BQP.QL0"X)=64#/TX]OG MPX\!J6$"=#^/ S)>_XA="L_EP][;(>>(">C=\"I;0'TX:9HN2TG__]Y(? ?H MW/&+W[$!M0"&;PK_X5'H'/M9@/D!=0[VXO#[ ?]-"*CBWN-9B&RN]]^WPXMY M<0KHR/!8B$0*!UE]0^OJG_@-T?#K(N[X#6KN$/_>[O@-G/#H:_& ?:]1&8M% MG%/T_ UM#.@B_9VU!.MN^ +(@8()XR+^7.BC\(#0__UOXWWQ ,#KW+C9#>M^ M=PZN_^L^?L$X>,S\_L&!+7K6TQUA@ 0^HDC\0OIW^#] @L$=1[82R9*-Z'" MB&\(0$+E[^M5B-%BB(#Y3L8^@3-&W[+RCD^ECBQ5,$\P_ZJ0$?Y<-345*Q_7]P"LV)BL?2Z/;E ML@\BUP+"^!_XNO (M/3Z@/"N?[WM_?A@^,/ \-:65NOY":*OX!$"26 -# M1IG#A__R"-/@Q-4*OQ G]^>3'QZ-= ;HJ/_1$M:+VH?A\8O*^P/(\X/NHY " MZ)'ILMGS5H[_Y9&+\N"'^O?B ]X3*?SX7M]PW\$3VA/ZF.:^MN;%YI;@8$/. MX'W9BR'A3M[8A?YOVIAA[[B9DPTM$ !T_W'^8?+Z^]X"T@DJM'7X?]Z MVL[\B1R)3 *)? 2)U0]4!NCQ0.35(N104;!D^^="DO;Q6=0*TN0*X)+YW];$ MBN:K65@7_/P04ARU@39:??AT!'+!?#@M//L??S.!___Z"]YR%WM,K0W/[ 5TA\\@+DG]40*3"6#0<(]F-!D_WH7O_)\2/U_/KH4/^+T_B% M./5%]='Y/O\ ]5! 3JKG\8I$^[\*T,C3$L.P +D) /.JZ^H/_[KI? :PF86= M(:HATR%[)? E8"9B_O\F5-D0@PSN#GLB@B*,(HDB?_^3 M(I(BFR*:(NC^!0O8$-P+_X\Q#Q,C#2-T(^(C'"/RQP_VTB,G^E C#R2FW__N M)*LC B1NZ1,&Z9@%=R3V___$('7Q0HK$C-\DP'0./(",/?S7"@$P1P4&!R;'1/V)./SD]>E/ M_0$&- '[W__\4%%24QY5P0:+[#:)+C(!___$=A).L@ FK2PT/ ASDKL'_\/ M(MPB_)& _\!S9_M ]R%W$G04&HG[!G40W8D\#-6,WNME]^L#\?^(F/*W -'C M+O^GD" #(>9&"OT$XTCV&-("]C[Y!NS6&:#K-/;L]BJ-F-O\(][\'-3Y%?X? MJ=".V([ ]L$!=#/K%^$/T=26@/H!=0&71(?KY><:@/UM?_@#Z9D ]L4@=?@X M KL&X\, (MF"H""X./;%(771Z/Z5W"JUL^\,O3^'VMS]EZ@@F&*^# "+WXT\ M'/S0N8LFZZ:P(#2&0!"SL[D#G 3G#J)TBCDK]O5-T=-__MG^4%-24>EQWODT MX(/& .<,]O<]YY/O/4Q5WOC\Z.&]DR/IX7!B0OL0=1K["'54^L-TN/3_ _BC M!/B&<9HF4+# (.N']\X/X FXD.S((,<&((S?CMW]\;@($\4M"^CALP7K ;_0 M(,SYX"#I@P/7N^/I]@/#V=D+.:, :AQHP+_<-/)Z>$#Z'P Z'XN$ $K__^F MP;E@ #O!<@&1L@SV\I$#[0O)N -QZ%I5P^C4_U[2_P'%;?;WW4UT#^C>J#XL M)H/'"M'E_NOOILS"%%??; 3?DH2PXK+9XNW^<_>#0Z'QZ-O0\?QR\>7\'\"2 M\NEM_Z%YI8+X#L-_]]BQ@/DD![$#TN"+#L.@V3'EF^B1V5CUND&1B;F[\/_O M^O#X#7*7\/R7MUFZ+.X%G/.N^_/X"A[_(]FDPV@DPB1[)'8DR?A //S^O?C: M).4"2?[X^@OU_S_, _.S&"+=@.$&"MG\N0:\_^C_IRDD+;_SI>D: K\,B_X MZP, @2W-@3OP=!"''M?^O,RAZ0&^ZUFZF1X9PPO.*P[S=!(6!X_1 _#TT@" M_='IQ]^]_ $6VS3VQ0=T+TOQ]_]! NLHC1L%AP2K@\8"XO;I$M:V^4ETD:OU M_X+R5QCIG $$__V7K?<(!L(8_@1$"@CK"CX^_50E625F_H\*RPK]__BW#<@- MV0WJ#?L-# X=\)\.\*(9FAHD%QH87N&'VO[+"%$;_P?X)^LK$PD0\$W*PRK* M;YIQ8@CJGIE ENQ\ _UXBW2Z*A_0DF)#@$KW_?; M:O0+Z$/'VTG N I_\8L.YG\PS_?9T>G]\Z7+7HE!_)[Z @$_ ^L1W!EU!\;& ML.WK!0VJ^3#K=_!OX1]U\O39*P:F3N@2B4X' !#K"C8I@WL$;Y1OM_^D;^OS*LQD]'4\= MG!VA':SB^QURT ZZQ782K/#2UX[?WV.8DX#[YG+>W:?4)E@"" ]8B,X>%A^@ M^_]LB@[1L>%_@/%_"L6*X"+A_W\RX/;$"'0"#""$P70/#("B^#O>(L$\('4- M'XC!)'_2A_'WN (US2&7X> >0$6,!D+[1_@,-D'W_R[HRI?$?OX_]O[_/Q\C M $+ _P!(_$K\_,?_/X5DWODS\P2UYGL/ (!_/Z )F]GE:X2;W7Y_#_R*9O^> M<@]UN$D"=0;A3^[8XNCK'G0.>PP?AO0NV084 .[DZ_(=0][9\O_II_KA\=LA M_'2)]\G]^+4"(NS]Q]#ML/]ZT; #(L30Y/X#_= $_/RD! +!M0 ?#B0'J %T M!;3IZP.P#].OV?*G6BFH WKTA/&XP9O8R/?AX?K>]-GZT.C^,L48_G3CX._Y MZS&*X-"?,>R Y $RY>W)'.=?R>2']D;_0'0+6/U T&:>S0:Z$?@1_S.1<@1U M'.M,=$I[2!N$3#@*T37&T] MZRHBV>AYT_%TX7-=_/-S#,_\.X#UBQX" M]L5SR727_.CK".*(^^R&V>W3"!&*A(?VNN!A_+KWGG(, _;$B._.(HGK#W06 M_/%[2&T1^^PRD/48D/,D.(;[P)O;R8%_AP+_/W42^?PZ02("I&J(^OF<]'#Q MBRO)ZQ+UZ;$!I&R/@NKV#/[\G"&%_.-&@/TF$*7H=\XGEWK<8\=@6($!W[+>=\?U!G?'9\#X9>,'K6OA*\=E_B.39_8!. M_0_Y;D,^]?R D_/UWU;^YY)QX/K]"_) W\*__=%N_G,)L?(DL?'@WY*91M/\ MV>WR!MK;]AE3P;/;P;$>P+8?9:-05A#^'FH'U '[Q78"Z.__U_^+1/_4LU4] M ^-T)3T'X/_@=1$V@#X& 0)]ES/Q__B\SK3MOC MZC9]W,:V^7S9 /DDD^$VI\DVZ!NI:?$KVNLC=RD1LC$1?[_&O$:*Q"7 !^'_ M6>K^-!@%)MB)!.A3___X'UY87<\\"7<)V,<$D#_\F^N8S.OH,K( .@ K ?\/ MG@&4 9D!%P() @T"^_']0@8\Q'8()JC9")B647_H+O^4Q@-970>^S]IP#%]^ M& =UF5X?^,N@88HF#O]6S3?B=H!TZ/;0(L3__^DI <1\!O;#"'4(C,.!XP#_ M__".PR;V!8!U 45@J9!E>.V* & 0K_&\"+V'2WOA(! MV32;7KFH_O^YH9O;XHO0B@2*\@Q (M#_^(#B?XA4 IO9)*/&"A[__P*\X#FP(#^__ZV*8#C.)O[J )T5;D( .CNA[W/Z??B7$'1Z"2L*@1S^]01U M"O3=!>AZ +O!!_G>@\ MB'4N ^6KH?RH/Z@?$@[HA@"#Q+7=YN"%->0D/P@^\>,]/"SXQO5R!%C_S\LS MTO2'!$*<>?N)%@@!N/TK_/GKW]3AQ_R),0&>

\("4L1<"LL?]Q"# M'&("W!>:ZO2"+?I#[&/_^ E4_^%U?I;F>H[+WL.B#5825S M]L&BN9ZY($'\R$+XX?QZ1 ! '$:JPT?_AP D=$F EAA+(+R^3-W__^ W><-! M0YZU<"NHK<6=:4#__]6FS_])'WC"TT#@C.F R4?__[J3J$&.WOF=^^M^JE%# MQY'__PZFKJ 9XZ-&%PQU@89U=LG__TA-Y5T]Q5T[BYZ26IN7((I?> )28,0E M=2:Z_!\<'QYD_/[[\@ [ %K__P!X )< M0#4 /, $0$P 4[__P&2 Y8#F@.> M Z(#I@.J Z[__P.U [P#Q /. ]<#W@/G ^O__P/O _,#]P/[ _\# P0'! O_ M_P0/!!,$%P0?!"@$+@0T!#C_?P0]!$($2013!%L$9 1M!'!X__9U;@!-V_%4 M=64 5V40_F3X:'-&>'"A/G><_C%C-IN]OS4$0,_Y MS._#X?=*8:]&96+&87(#( !!&'FW 3V.?3F]V(/%C M D+0==6XS'+&*??'8VC%:0@(S\/]8<(XPO;!=7-EOG0'3&5M8F6DN&\H^OBT M[_RO]_Q!30"P<%#])7,A\?TP,F0N_/LZ^__Q-&0* #!C"# (/XL_3I8D_;] M)?WI__XA_V[-\O___P% __@- O__[_T4:B[_J);_^ O@_!C_"/_X$H&3XG;_ M^']'$_YB-QXY9S;_K#K1"@)&H F\HG'P#O#_S/!# C$N'S7_W/!" JN.U&[_ M[/K+X= )_/#X#@P&\/@-'-NV\/@.+/#X#CSP^ Y,\/@.7/#X#FQMV_#X#GSP M^ Z,\/@.G/#X#JSP^ Z\\/@.?GS,\/@.W 8!( +^!* "H-7^2A3_^!>A&HPE M$/[8#0 3 @($_>\%!NCI%!4%$_\6!1$"QO@,!1X !;3X#P__(]W[(4S_T?_# M!0]H <_U__PC^_SP_3>EHM@5;0&F"*H(4$:6$E0%#U P04"7[__0WL/L#_#Q+X"1 *#_\( M"OAP]P84$@L.^1$4#%T X/@)PO?C!@#P @ _ M!I@$L0%J 08.'XL.# "+\4Z)]XS; QX* ([#_?.D4[@K %#++HLN" ",VHGH M/0 0=@.X ! IQ2G"*<..VH[#L0/3X(G!T>!(2(OPB_CSI0GM==C\CL*.VS'V M,?^Z$ "MB<71[4IU!:V)Q;(0# MYP^Q!-/H <*.PB8!'>OEK0G =0B!PO\/CL+KV#T! '7:B\.+/@0 BS8& '& H 08" "T0 ([8CL QV_J.UHOG^R[_+P'=,@!9 @4,9+T1"@P*>0 ! #8& end