digitalmars.D - Condition Variables implementation - condvars-0.16.patch
- Tommie Gannert (638/638) Dec 15 2005 Hi!
Hi! I did some work on condition variables in GDC last week and I would like them to be included and tested "out there". The patch is pretty simple, but targeted towards GDC. However, the only existing file it patches is phobos/internal/monitor.c, so it should fit into DMD quite easily. A couple of remarks: The code uses pthreads on POSIX and semaphores and critical sections on Windows. There is a test thing implementing the Windows stuff in pthreads so I could test the algorithm under Linux. I haven't actually tested it under Windows. I checked the pthread-w32 implementation of condvars, but I think they are doing things too complicated. Doing condvars using semaphores is a standard homework task in parallel programming, so it should be fairly simple (assuming Win32 semaphores work). monitor.c has been patched so I could get hold of the synchronized() mutex. Documentation should be fairly complete (though not meant for people not accustomed with Hoar monitors) You don't need to run signal() from within a synchronized() block. This differs from Java, but I couldn't find any reason not to allow this. Anyway, the first thing that happens in signal()/broadcast() is to lock the mutex, so it would just be a matter of removing those locks. Both Windows critical sections and the current pthread mutices are recursive, so the signal()/broadcast() issue above should allow them to be run as normal (inside a monitor()). Many regards, Tommie Gannert - Just a fan begin 0644 condvars-0.16.patch M9&EF9B`M3G)U(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]I;G1E<FYA M;"]M;VYI=&]R+F, 9V-C+3,N,RXV+V=C8R]D+W!H;V)O<R]I;G1E<FYA;"]M M;VYI=&]R+F,*+2TM(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]I;G1E M<FYA;"]M;VYI=&]R+F,),C`P-2TQ,BTP,R`P,#HQ M3BH 7V1?9V5T7V]B:F5C=%]M;VYI=&]R*$]B:F5C="`J:"D**WL**PDO+R!" M86EL(&]U="!I9B!T:&5R92!I<R!N;R!M;VYI=&]R+ HK"6%S<V5R="AH+3YM M;VYI=&]R*3L**PD**PER971U<FX *$-2251)0T%,7U-%0U1)3TX *BF :"T^ M;6]N:71O<CL**WT**PH (V5N9&EF"B`*("\J(#T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T ;&EN=7 /3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M<F5A9%]M=71E>%]T*B!?9%]G971?;V)J96-T7VUO;FET;W(H3V)J96-T("IH M*0HK>PHK("` ("\O<')I;G1F*")?9%]G971?;V)J96-T7VUO;FET;W(H)7`I M+"`E<%QN(BP :"P :"T^;6]N:71O<BD["BL)87-S97)T*& M/FUO;FET;W(I M.PHK"0HK"7)E='5R;B`H<'1H<F5A9%]M=71E>%]T("HI(& M/FUO;FET;W([ M"BM]"BL*("-E;F1I9 ID:69F("U.<G4 9V-C+3,N,RXV+6]R:6<O9V-C+V0O M<&AO8F]S+TUA:V5F:6QE+FEN(&=C8RTS+C,N-B]G8V,O9"]P:&]B;W,O36%K M969I;&4N:6X*+2TM(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]-86ME M($!`"B`):6YT97)N86PO8V%S="YO('-T9"]P871H+F\ <W1D+W-T<FEN9RYO M(&EN=&5R;F%L+VUE;7-E="YO('-T9"]M871H+F\ <W1D+VUM9FEL92YO(%P* M(`ES=&0O;W5T8G5F9F5R+F\ <W1D+V-T>7!E+F\ <W1D+W)E9V5X<"YO('-T M9"]R86YD;VTN;R!<"B`)<W1D+W-T<F5A;2YO('-T9"]C<W1R96%M+F\ <W1D M+W-W:71C:&5R<BYO('-T9"]A<G)A>2YO('-T9"]G8RYO(%P*+0EI;G1E<FYA M;"]Q<V]R="YO('-T9"]T:')E860N;R!I;G1E<FYA;"]O8FHN;R!S=&0O=71F M+F\ <W1D+W5R:2YO(%P**PEI;G1E<FYA;"]Q<V]R="YO('-T9"]T:')E860N M;R!S=&0O8V]N9&ET:6]N+F\ :6YT97)N86PO;V)J+F\ <W1D+W5T9BYO('-T M9"]U<FDN;R!<"B`)8W)C,S(N;R!S=&0O8V]N=BYO(&EN=&5R;F%L+V%R<F%Y M8V%S="YO(&5R<FYO+F\ 7`H "7-T9"]P<F]C97-S+F\ <W1D+W-Y<V5R<F]R M+F\ 7`H "7-T9"]S;V-K970N;R!S=&0O<V]C:V5T<W1R96%M+F\ <W1D+V,O M<W1D87)G+F\ <W1D+W-T9&EO+F\ <W1D+V9O<FUA="YO(%P*9&EF9B`M3G)U M(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]S=&0O8R]U;FEX+W!T:')E M861S+F0 9V-C+3,N,RXV+V=C8R]D+W!H;V)O<R]S=&0O8R]U;FEX+W!T:')E M861S+F0*+2TM(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]S=&0O8R]U M;FEX+W!T:')E861S+F0),3DW,"TP,2TP,2`P,3HP,#HP M("`**R` (%1H:7, <')O9W)A;2!I<R!F<F5E('-O9G1W87)E.R!Y;W4 8V%N M(')E9&ES=')I8G5T92!I="!A;F0O;W( ;6]D:69Y"BL ("!I="!U;F1E<B!T M:&4 =&5R;7, ;V8 =&AE($=.52!'96YE<F%L(%!U8FQI8R!,:6-E;G-E(&%S M('!U8FQI<VAE9"!B>0HK("` =&AE($9R964 4V]F='=A<F4 1F]U;F1A=&EO M;CL 96ET:&5R('9E<G-I;VX ,B!O9B!T:&4 3&EC96YS92P ;W(**R` ("AA M="!Y;W5R(&]P=&EO;BD 86YY(&QA=&5R('9E<G-I;VXN"BL "BL ("!4:&ES M('!R;V=R86T :7, 9&ES=')I8G5T960 :6X =&AE(&AO<&4 =&AA="!I="!W M:6QL(&)E('5S969U;"P**R` (&)U="!7251(3U54($%.62!705)204Y463L M2$%.5$%"24Q)5%D ;W( 1DE43D534R!&3U( 02!005)424-53$%2(%!54E!/ M4T4N("!3964 =&AE"BL ("!'3E4 1V5N97)A;"!0=6)L:6, 3&EC96YS92!F M;W( ;6]R92!D971A:6QS+ HK(`HK("` 66]U('-H;W5L9"!H879E(')E8V5I M=F5D(&$ 8V]P>2!O9B!T:&4 1TY5($=E;F5R86P 4'5B;&EC($QI8V5N<V4* M*R` (&%L;VYG('=I=& =&AI<R!P<F]G<F%M.R!I9B!N;W0L('=R:71E('1O M('1H92!&<F5E(%-O9G1W87)E"BL ("!&;W5N9&%T:6]N+"!);F,N+"`U.2!4 M-R` 55-!"BLJ+PHK+RH**R` (%1H:7, 9FEL92!I<R!A($0M:69I8V%T:6]N M(&]F('1H92!03U-)6"!P=&AR96%D<RYH(&AE861E<B!F:6QE+ HK("` "BL M("!!=71H;W)S.B!4;VUM:64 1V%N;F5R=`HK("` 1&%T93H ,C`P-2TQ,BTP M;&4 <W1D+F,N=6YI>"YP=&AR96%D<SL**PHK:6UP;W)T(&=C8RYC;VYF:6=U M;FEX.PHK"BL**R\O($9R;VT 8FET<R]S8VAE9"YH"BMS=')U8W0 <V-H961? M<&%R86T**WL**PEI;G0 <V-H961?<')I;W)I='D["BM]"BL**PHK+R\ 1G)O M;2!B:71S+W1Y<&5S+F **W1Y<&5D968 :6YT(&-L;V-K:61?=#L**PHK"BLO M+R!&<F]M(&)I=',O:6YI='-P:6XN:`HK8V]N<W0 :6YT($Q47U-024Y,3T-+ M7TE.250 /2`P.PHK8V]N<W0 <'1H<F5A9%]F87-T;&]C:R!,3T-+7TE.251) M04Q)6D52(#T >R`P+"!?7TQ47U-024Y,3T-+7TE.250 ?3L**PHK"BLO+R!& M<F]M(&)I=',O<'1H<F5A9'1Y<&5S+F **W-T<G5C="!P=&AR96%D7V9A<W1L M;V-K"BM["BL):6YT('-T871U<SL**PEI;G0 <W!I;FQO8VL["BM]"BL**PHK M='EP961E9B!V;VED*B!P=&AR96%D7V1E<V-R.PHK"BL**W-T<G5C="!P=&AR M96%D7V%T=')?=`HK>PHK"6EN="!D971A8VAS=&%T93L**PEI;G0 <V-H961P M;VQI8WD["BL)<V-H961?<&%R86T <V-H961P87)A;3L**PEI;G0 :6YH97)I M='-C:&5D.PHK"6EN="!S8V]P93L**PES:7IE7W0 9W5A<F1S:7IE.PHK"6EN M="!S=&%C:V%D9')?<V5T.PHK"79O:60J('-T86-K861D<CL**PES:7IE7W0 M<W1A8VMS:7IE.PHK?0HK"BL**V%L:6%S(&QO;F< <'1H<F5A9%]C;VYD7V%L M:6=N7W0["BL**PHK<W1R=6-T('!T:')E861?8V]N9%]T"BM["BL)<'1H<F5A M9%]F87-T;&]C:R!C7VQO8VL["BL)<'1H<F5A9%]D97-C<B!C7W=A:71I;F<[ M9B`M('!T:')E861?9&5S8W(N<VEZ96]F("T <'1H<F5A9%]C;VYD7V%L:6=N M7W0N<VEZ96]F73L**PEP=&AR96%D7V-O;F1?86QI9VY?="!?7V%L:6=N.PHK M?0HK"BL**W-T<G5C="!P=&AR96%D7V-O;F1A='1R7W0**WL**PEI;G0 7U]D M=6UM>3L**WT**PHK"BMT>7!E9&5F('5I;G0 <'1H<F5A9%]K97E?=#L**PHK M"BMS=')U8W0 <'1H<F5A9%]M=71E>%]T"BM["BL):6YT(&U?<F5S97)V960[ M"BL):6YT(&U?8V]U;G0["BL)<'1H<F5A9%]D97-C<B!M7V]W;F5R.PHK"6EN M="!M7VMI;F0["BL)<'1H<F5A9%]F87-T;&]C:R!M7VQO8VL["BM]"BL**PHK M<W1R=6-T('!T:')E861?;75T97AA='1R7W0**WL**PEI;G0 ;75T97AK:6YD M.PHK?0HK"BL**W1Y<&5D968 :6YT('!T:')E861?;VYC95]T.PHK"BL**W-T M<G5C="!P=&AR96%D7W)W;&]C:U]T"BM["BL)<'1H<F5A9%]F87-T;&]C:R!R M=U]L;V-K.PHK"6EN="!R=U]R96%D97)S.PHK"7!T:')E861?9&5S8W( <G=? M=W)I=&5R.PHK"7!T:')E861?9&5S8W( <G=?<F5A9%]W86ET:6YG.PHK"7!T M:')E861?9&5S8W( <G=?=W)I=&5?=V%I=&EN9SL**PEI;G0 <G=?:VEN9#L* M*PEI;G0 <G=?<'-H87)E9#L**WT**PHK"BMS=')U8W0 <'1H<F5A9%]R=VQO M8VMA='1R7W0**WL**PEI;G0 ;&]C:VMI;F0["BL):6YT('!S:&%R960["BM] M"BL**PHK+R\O(%1/1$\Z($ES('9O;&%T:6QE('1H92!S86UE(&%S(&EN($,_ M"BMT>7!E9&5F(&EN="!P=&AR96%D7W-P:6YL;V-K7W0["BL**PHK<W1R=6-T M('!T:')E861?8F%R<FEE<E]T"BM["BL)<'1H<F5A9%]F87-T;&]C:R!B85]L M;V-K.PHK"6EN="!B85]R97%U:7)E9#L**PEI;G0 8F%?<')E<V5N=#L**PEP M=&AR96%D7V1E<V-R(&)A7W=A:71I;F<["BM]"BL**PHK<W1R=6-T('!T:')E M861?8F%R<FEE<F%T=')?=`HK>PHK"6EN="!P<VAA<F5D.PHK?0HK"BL**W1Y M<&5D968 =6EN="!P=&AR96%D7W0["BL**PHK+R\ 1G)O;2!P=&AR96%D+F * M*V-O;G-T('!T:')E861?;75T97A?="!05$A214%$7TU55$587TE.251)04Q) M6D52(#T >R`P+"`P+"!N=6QL+"!05$A214%$7TU55$587U1)345$7TY0+"!, M3T-+7TE.251)04Q)6D52('T["BMC;VYS="!P=&AR96%D7VUU=&5X7W0 4%1( M04Q)6D52('T["BMC;VYS="!P=&AR96%D7VUU=&5X7W0 4%1(4D5!1%]%4E)/ M4D-(14-+7TU55$587TE.251)04Q)6D527TY0(#T >R`P+"`P+"!N=6QL+"!0 M5$A214%$7TU55$587T524D]20TA%0TM?3E`L($Q/0TM?24Y)5$E!3$E:15( M?3L**V-O;G-T('!T:')E861?;75T97A?="!05$A214%$7T%$05!4259%7TU5 M5$587TE.251)04Q)6D527TY0(#T >R`P+"`P+"!N=6QL+"!05$A214%$7TU5 M5$587T%$05!4259%7TY0+"!,3T-+7TE.251)04Q)6D52('T["BL**V-O;G-T M('!T:')E861?8V]N9%]T(%!42%)%041?0T].1%])3DE424%,25I%4B`]('L M?3L**V-O;G-T('!T:')E861?<G=L;V-K7W0 4%1(4D5!1%]25TQ/0TM?5U)) M24%,25I%4BP ,"P ;G5L;"P ;G5L;"P ;G5L;"P 4%1(4D5!1%]25TQ/0TM? M4%)%1D527U=2251%4E].3TY214-54E-)5D5?3E`L(%!42%)%041?4%)/0T53 M4U]04DE6051%('T["BL**PHK96YU;0HK>PHK"5!42%)%041?0U)%051%7TI/ M*WL**PE05$A214%$7TE.2$52251?4T-(140L"BL)4%1(4D5!1%]%6%!,24-) M4%1(4D5!1%]-551%6%]424U%1%].4"P**PE05$A214%$7TU55$587U)%0U52 M4TE615].4"P**PE05$A214%$7TU55$587T524D]20TA%0TM?3E`L"BL)4%1( M4D5!1%]-551%6%]!1$%05$E615].4`HK?0HK"BL**V5N=6T**WL**PE05$A2 M14%$7U!23T-%4U-?4%))5D%412P**PE05$A214%$7U!23T-%4U-?4TA!4D5$ M"BM]"BL**PHK96YU;0HK>PHK"5!42%)%041?4E=,3T-+7U!2149%4E]214%$ M15)?3E`L"BL)4%1(4D5!1%]25TQ/0TM?4%)%1D527U=2251%4E].4"P**PE0 M4%)%1D527U=2251%4E].4`HK?0HK"BL**V-O;G-T('!T:')E861?;VYC95]T M;&5A;G5P7V)U9F9E< HK>PHK"79O:60 9G5N8W1I;VXH=F]I9"HI(')O=71I M;F4["BL)=F]I9"H 87)G.PHK"6EN="!C86YC96QT>7!E.PHK"7!T:')E861? M8VQE86YU<%]B=69F97( *G!R978["BM]"BL**PHK96YU;0HK>PHK"5!42%)% M041?0T%.0T5,7T5.04),12P**PE05$A214%$7T-!3D-%3%]$25-!0DQ%"BM] M"BL**PHK96YU;0HK>PHK"5!42%)%041?0T%.0T5,7T1%1D524D5$+`HK"5!4 M(%!42%)%041?0T%.0T5,140 /2!C87-T*'9O:60J*2 M,2D["BL**PHK97AT M*B!?7W1H<F5A9'`L"BL)"7!T:')E861?871T<E]T*B!?7V%T='(L"BL)"79O M:60J(&9U;F-T:6]N*'9O:60J*2!?7W-T87)T7W)O=71I;F4L"BL)"79O:60J M(%]?87)G*3L**PEP=&AR96%D7W0 <'1H<F5A9%]S96QF*"D["BL):6YT('!T M:')E861?97%U86PH<'1H<F5A9%]T(%]?=&AR96%D,2P <'1H<F5A9%]T(%]? M=&AR96%D,BD["BL)=F]I9"!P=&AR96%D7V5X:70H=F]I9"H 7U]R971V86PI M.PHK"6EN="!P=&AR96%D7VIO:6XH<'1H<F5A9%]T(%]?=& L('9O:60J*B!? M7W1H<F5A9%]R971U<FXI.PHK"6EN="!P=&AR96%D7V1E=&%C:"AP=&AR96%D M7W0 7U]T:"D["BL)"BL):6YT('!T:')E861?871T<E]I;FET*'!T:')E861? M871T<E]T*B!?7V%T='(I.PHK"6EN="!P=&AR96%D7V%T=')?9&5S=')O>2AP M=&AR96%D7V%T=')?="H 7U]A='1R*3L**PEI;G0 <'1H<F5A9%]A='1R7W-E M=&1E=&%C:'-T871E*'!T:')E861?871T<E]T("I?7V%T='(L(&EN="!?7V1E M=&%C:'-T871E*3L**PEI;G0 <'1H<F5A9%]A='1R7V=E=&1E=&%C:'-T871E M*'!T:')E861?871T<E]T*B!?7V%T='(L(&EN="H 7U]D971A8VAS=&%T92D[ M"BL):6YT('!T:')E861?871T<E]S971S8VAE9'!A<F%M*'!T:')E861?871T M<E]T*B!?7V%T='(L('-C:&5D7W!A<F%M*B!?7W!A<F%M*3L**PEI;G0 <'1H M<F5A9%]A='1R7V=E='-C:&5D<&%R86TH<'1H<F5A9%]A='1R7W0J(%]?871T M<BP <V-H961?<&%R86TJ(%]?<&%R86TI.PHK"6EN="!P=&AR96%D7V%T=')? M<V5T<V-H961P;VQI8WDH<'1H<F5A9%]A='1R7W0J(%]?871T<BP :6YT(%]? M<&]L:6-Y*3L**PEI;G0 <'1H<F5A9%]A='1R7V=E='-C:&5D<&]L:6-Y*'!T M:')E861?871T<E]T*B!?7V%T='(L(&EN="H 7U]P;VQI8WDI.PHK"6EN="!P M=&AR96%D7V%T=')?<V5T:6YH97)I='-C:&5D*'!T:')E861?871T<E]T*B!? M7V%T='(L(&EN="!?7VEN:&5R:70I.PHK"6EN="!P=&AR96%D7V%T=')?9V5T M:6YH97)I='-C:&5D*'!T:')E861?871T<E]T*B!?7V%T='(L(&EN="H 7U]I M;FAE<FET*3L**PEI;G0 <'1H<F5A9%]A='1R7W-E='-C;W!E*'!T:')E861? M871T<E]T*B!?7V%T='(L(&EN="!?7W-C;W!E*3L**PEI;G0 <'1H<F5A9%]A M='1R7V=E='-C;W!E*'!T:')E861?871T<E]T*B!?7V%T='(L(&EN="H 7U]S M8V]P92D["BL):6YT('!T:')E861?871T<E]S971G=6%R9'-I>F4H<'1H<F5A M9%]A='1R7W0J(%]?871T<BP <VEZ95]T(%]?9W5A<F1S:7IE*3L**PEI;G0 M<'1H<F5A9%]A='1R7V=E=&=U87)D<VEZ92AP=&AR96%D7V%T=')?="H 7U]A M='1R+"!S:7IE7W0J(%]?9W5A<F1S:7IE*3L**PEI;G0 <'1H<F5A9%]A='1R M7W-E='-T86-K861D<BAP=&AR96%D7V%T=')?="H 7U]A='1R+"!V;VED*B!? M7W-T86-K861D<BD["BL):6YT('!T:')E861?871T<E]G971S=&%C:V%D9'(H M<'1H<F5A9%]A='1R7W0J(%]?871T<BP =F]I9"HJ(%]?<W1A8VMA9&1R*3L* M*PEI;G0 <'1H<F5A9%]A='1R7W-E='-T86-K*'!T:')E861?871T<E]T*B!? M7V%T='(L('9O:60J(%]?<W1A8VMA9&1R+"!S:7IE7W0 7U]S=&%C:W-I>F4I M.PHK"6EN="!P=&AR96%D7V%T=')?9V5T<W1A8VLH<'1H<F5A9%]A='1R7W0J M(%]?871T<BP =F]I9"HJ(%]?<W1A8VMA9&1R+"!S:7IE7W0J(%]?<W1A8VMS M:7IE*3L**PEI;G0 <'1H<F5A9%]A='1R7W-E='-T86-K<VEZ92AP=&AR96%D M7V%T=')?="H 7U]A='1R+"!S:7IE7W0 7U]S=&%C:W-I>F4I.PHK"6EN="!P M=&AR96%D7V%T=')?9V5T<W1A8VMS:7IE*'!T:')E861?871T<E]T*B!?7V%T M='(L('-I>F5?="H 7U]S=&%C:W-I>F4I.PHK"6EN="!P=&AR96%D7V=E=&%T M=')?;G`H<'1H<F5A9%]T(%]?=& L('!T:')E861?871T<E]T*B!?7V%T='(I M.PHK"0HK"6EN="!P=&AR96%D7W-E='-C:&5D<&%R86TH<'1H<F5A9%]T(%]? M=&%R9V5T7W1H<F5A9"P :6YT(%]?<&]L:6-Y+"!S8VAE9%]P87)A;2H 7U]P M87)A;2D["BL):6YT('!T:')E861?9V5T<V-H961P87)A;2AP=&AR96%D7W0 M7U]T87)G971?=&AR96%D+"!I;G0J(%]?<&]L:6-Y+"!S8VAE9%]P87)A;2H M7U]P87)A;2D["BL):6YT('!T:')E861?9V5T8V]N8W5R<F5N8WDH*3L**PEI M;G0 <'1H<F5A9%]S971C;VYC=7)R96YC>2AI;G0 7U]L979E;"D["BL):6YT M('!T:')E861?>6EE;&0H*3L**PD**PEI;G0 <'1H<F5A9%]M=71E>%]I;FET M*'!T:')E861?;75T97A?="H 7U]M=71E>"P <'1H<F5A9%]M=71E>&%T=')? M="H 7U]M=71E>%]A='1R*3L**PEI;G0 <'1H<F5A9%]M=71E>%]D97-T<F]Y M*'!T:')E861?;75T97A?="`J7U]M=71E>"D["BL):6YT('!T:')E861?;75T M97A?=')Y;&]C:RAP=&AR96%D7VUU=&5X7W0 *E]?;75T97 I.PHK"6EN="!P M=&AR96%D7VUU=&5X7VQO8VLH<'1H<F5A9%]M=71E>%]T("I?7VUU=&5X*3L* M*PEI;G0 <'1H<F5A9%]M=71E>%]T:6UE9&QO8VLH<'1H<F5A9%]M=71E>%]T M*B!?7VUU=&5X+"!T:6UE<W!E8RH 7U]A8G-T:6UE*3L**PEI;G0 <'1H<F5A M9%]M=71E>%]U;FQO8VLH<'1H<F5A9%]M=71E>%]T*B!?7VUU=&5X*3L**PD* M*PEI;G0 <'1H<F5A9%]M=71E>&%T=')?:6YI="AP=&AR96%D7VUU=&5X871T M<E]T*B!?7V%T='(I.PHK"6EN="!P=&AR96%D7VUU=&5X871T<E]D97-T<F]Y M*'!T:')E861?;75T97AA='1R7W0J(%]?871T<BD["BL):6YT('!T:')E861? M;75T97AA='1R7V=E='!S:&%R960H<'1H<F5A9%]M=71E>&%T=')?="H 7U]A M='1R+"!I;G0J(%]?<'-H87)E9"D["BL):6YT('!T:')E861?;75T97AA='1R M7W-E='!S:&%R960H<'1H<F5A9%]M=71E>&%T=')?="H 7U]A='1R+"!I;G0 M7U]P<VAA<F5D*3L**PEI;G0 <'1H<F5A9%]M=71E>&%T=')?<V5T='EP92AP M=&AR96%D7VUU=&5X871T<E]T*B!?7V%T='(L(&EN="!?7VMI;F0I.PHK"0HK M"6EN="!P=&AR96%D7V-O;F1?:6YI="AP=&AR96%D7V-O;F1?="H 8V]N9"P M<'1H<F5A9%]C;VYD871T<E]T*B!C;VYD7V%T='(I.PHK"6EN="!P=&AR96%D M7V-O;F1?9&5S=')O>2AP=&AR96%D7V-O;F1?="H 8V]N9"D["BL):6YT('!T M:')E861?8V]N9%]S:6=N86PH<'1H<F5A9%]C;VYD7W0J(&-O;F0I.PHK"6EN M="!P=&AR96%D7V-O;F1?8G)O861C87-T*'!T:')E861?8V]N9%]T*B!C;VYD M*3L**PEI;G0 <'1H<F5A9%]C;VYD7W=A:70 *'!T:')E861?8V]N9%]T*B!? M7V-O;F0L('!T:')E861?;75T97A?="H 7U]M=71E>"D["BL):6YT('!T:')E M861?8V]N9%]T:6UE9'=A:70H<'1H<F5A9%]C;VYD7W0J(%]?8V]N9"P <'1H M<F5A9%]M=71E>%]T*B!?7VUU=&5X+"!T:6UE<W!E8R`J(%]?86)S=&EM92D[ M"BL)"BL):6YT('!T:')E861?8V]N9&%T=')?:6YI="AP=&AR96%D7V-O;F1A M='1R7W0J(%]?871T<BD["BL):6YT('!T:')E861?8V]N9&%T=')?9&5S=')O M>2AP=&AR96%D7V-O;F1A='1R7W0J(%]?871T<BD["BL):6YT('!T:')E861? M8V]N9&%T=')?9V5T<'-H87)E9"AP=&AR96%D7V-O;F1A='1R7W0J(%]?871T M<BP :6YT*B!?7W!S:&%R960I.PHK"6EN="!P=&AR96%D7V-O;F1A='1R7W-E M='!S:&%R960H<'1H<F5A9%]C;VYD871T<E]T*B!?7V%T='(L(&EN="!?7W!S M:&%R960I.PHK"0HK"6EN="!P=&AR96%D7W)W;&]C:U]I;FET*'!T:')E861? M<G=L;V-K7W0J(%]?<G=L;V-K+"!P=&AR96%D7W)W;&]C:V%T=')?="H 7U]A M='1R*3L**PEI;G0 <'1H<F5A9%]R=VQO8VM?9&5S=')O>2AP=&AR96%D7W)W M;&]C:U]T*B!?7W)W;&]C:RD["BL):6YT('!T:')E861?<G=L;V-K7W)D;&]C M:RAP=&AR96%D7W)W;&]C:U]T*B!?7W)W;&]C:RD["BL):6YT('!T:')E861? M<G=L;V-K7W1R>7)D;&]C:RAP=&AR96%D7W)W;&]C:U]T*B!?7W)W;&]C:RD[ M"BL):6YT('!T:')E861?<G=L;V-K7W1I;65D<F1L;V-K*'!T:')E861?<G=L M;V-K7W0J(%]?<G=L;V-K+"!T:6UE<W!E8RH 7U]A8G-T:6UE*3L**PEI;G0 M<'1H<F5A9%]R=VQO8VM?=W)L;V-K*'!T:')E861?<G=L;V-K7W0 *E]?<G=L M;V-K*3L**PEI;G0 <'1H<F5A9%]R=VQO8VM?=')Y=W)L;V-K*'!T:')E861? M<G=L;V-K7W0 *E]?<G=L;V-K*3L**PEI;G0 <'1H<F5A9%]R=VQO8VM?=&EM M961W<FQO8VLH<'1H<F5A9%]R=VQO8VM?="H 7U]R=VQO8VLL('1I;65S<&5C M*B!?7V%B<W1I;64I.PHK"6EN="!P=&AR96%D7W)W;&]C:U]U;FQO8VLH<'1H M<F5A9%]R=VQO8VM?="H 7U]R=VQO8VLI.PHK"0HK"6EN="!P=&AR96%D7W)W M;&]C:V%T=')?:6YI="AP=&AR96%D7W)W;&]C:V%T=')?="H 7U]A='1R*3L* M*PEI;G0 <'1H<F5A9%]R=VQO8VMA='1R7V1E<W1R;WDH<'1H<F5A9%]R=VQO M8VMA='1R7W0J(%]?871T<BD["BL):6YT('!T:')E861?<G=L;V-K871T<E]G M971P<VAA<F5D*'!T:')E861?<G=L;V-K871T<E]T*B!?7V%T='(L(&EN="H M7U]P<VAA<F5D*3L**PEI;G0 <'1H<F5A9%]R=VQO8VMA='1R7W-E='!S:&%R M960H<'1H<F5A9%]R=VQO8VMA='1R7W0J(%]?871T<BP :6YT(%]?<'-H87)E M9"D["BL):6YT('!T:')E861?<G=L;V-K871T<E]G971K:6YD7VYP*'!T:')E M861?<G=L;V-K871T<E]T*B!?7V%T='(L(&EN="H 7U]P<F5F*3L**PEI;G0 M<'1H<F5A9%]R=VQO8VMA='1R7W-E=&MI;F1?;G`H<'1H<F5A9%]R=VQO8VMA M='1R7W0J(%]?871T<BP :6YT(%]?<')E9BD["BL)"BL):6YT('!T:')E861? M<W!I;E]I;FET*'!T:')E861?<W!I;FQO8VM?="H 7U]L;V-K+"!I;G0 7U]P M<VAA<F5D*3L**PEI;G0 <'1H<F5A9%]S<&EN7V1E<W1R;WDH<'1H<F5A9%]S M<&EN;&]C:U]T*B!?7VQO8VLI.PHK"6EN="!P=&AR96%D7W-P:6Y?;&]C:RAP M=&AR96%D7W-P:6YL;V-K7W0J(%]?;&]C:RD["BL):6YT('!T:')E861?<W!I M;E]T<GEL;V-K*'!T:')E861?<W!I;FQO8VM?="H 7U]L;V-K*3L**PEI;G0 M<'1H<F5A9%]S<&EN7W5N;&]C:RAP=&AR96%D7W-P:6YL;V-K7W0J(%]?;&]C M:RD["BL)"BL):6YT('!T:')E861?8F%R<FEE<E]I;FET*'!T:')E861?8F%R M<FEE<E]T*B!?7V)A<G)I97(L('!T:')E861?8F%R<FEE<F%T=')?="H 7U]A M='1R+"!U:6YT(%]?8V]U;G0I.PHK"6EN="!P=&AR96%D7V)A<G)I97)?9&5S M=')O>2AP=&AR96%D7V)A<G)I97)?="H 7U]B87)R:65R*3L**PD**PEI;G0 M<'1H<F5A9%]B87)R:65R871T<E]I;FET*'!T:')E861?8F%R<FEE<F%T=')? M="H 7U]A='1R*3L**PEI;G0 <'1H<F5A9%]B87)R:65R871T<E]D97-T<F]Y M*'!T:')E861?8F%R<FEE<F%T=')?="H 7U]A='1R*3L**PEI;G0 <'1H<F5A M9%]B87)R:65R871T<E]G971P<VAA<F5D*'!T:')E861?8F%R<FEE<F%T=')? M="H 7U]A='1R+"!I;G0J(%]?<'-H87)E9"D["BL):6YT('!T:')E861?8F%R M<FEE<F%T=')?<V5T<'-H87)E9"AP=&AR96%D7V)A<G)I97)A='1R7W0J(%]? M871T<BP :6YT(%]?<'-H87)E9"D["BL):6YT('!T:')E861?8F%R<FEE<E]W M86ET*'!T:')E861?8F%R<FEE<E]T*B!?7V)A<G)I97(I.PHK"0HK"6EN="!P M=&AR96%D7VME>5]C<F5A=&4H<'1H<F5A9%]K97E?="H 7U]K97DL('9O:60 M9G5N8W1I;VXH=F]I9"HI(%]?9&5S=')?9G5N8W1I;VXI.PHK"6EN="!P=&AR M96%D7VME>5]D96QE=&4H<'1H<F5A9%]K97E?="!?7VME>2D["BL):6YT('!T M:')E861?<V5T<W!E8VEF:6,H<'1H<F5A9%]K97E?="!?7VME>2P =F]I9"H M7U]P;VEN=&5R*3L**PEV;VED*B!P=&AR96%D7V=E='-P96-I9FEC*'!T:')E M861?:V5Y7W0 7U]K97DI.PHK"0HK"6EN="!P=&AR96%D7V]N8V4H<'1H<F5A M9%]O;F-E7W0J(%]?;VYC95]C;VYT<F]L+"!V;VED(&9U;F-T:6]N*"D 7U]I M;FET7W)O=71I;F4I.PHK"0HK"6EN="!P=&AR96%D7W-E=&-A;F-E;'-T871E M*&EN="!?7W-T871E+"!I;G0J(%]?;VQD<W1A=&4I.PHK"6EN="!P=&AR96%D M7W-E=&-A;F-E;'1Y<&4H:6YT(%]?='EP92P :6YT*B!?7V]L9'1Y<&4I.PHK M"6EN="!P=&AR96%D7V-A;F-E;"AP=&AR96%D7W0 7U]C86YC96QT:')E860I M.PHK"79O:60 <'1H<F5A9%]T97-T8V%N8V5L*"D["BL)"BL)=F]I9"!?<'1H M<F5A9%]C;&5A;G5P7W!U<V H<'1H<F5A9%]C;&5A;G5P7V)U9F9E<BH 7U]B M=69F97(L('9O:60 9G5N8W1I;VXH=F]I9"HI(%]?<F]U=&EN92P =F]I9"H M7U]A<F<I.PHK"79O:60 7W!T:')E861?8VQE86YU<%]P;W`H<'1H<F5A9%]C M;&5A;G5P7V)U9F9E<BH 7U]B=69F97(L(&EN="!?7V5X96-U=&4I.PHK"79O M:60 7W!T:')E861?8VQE86YU<%]P=7-H7V1E9F5R*'!T:')E861?8VQE86YU M<%]B=69F97(J(%]?8G5F9F5R+"!V;VED(&9U;F-T:6]N*'9O:60J*2!?7W)O M=71I;F4L('9O:60J(%]?87)G*3L**PEV;VED(%]P=&AR96%D7V-L96%N=7!? M<&]P7W)E<W1O<F4H<'1H<F5A9%]C;&5A;G5P7V)U9F9E<BH 7U]B=69F97(L M(&EN="!?7V5X96-U=&4I.PHK"0HK"6EN="!P=&AR96%D7V=E=&-P=6-L;V-K M:60H<'1H<F5A9%]T(%]?=&AR96%D7VED+"!C;&]C:VED7W0J(%]?8VQO8VM? M:60I.PHK"6EN="!P=&AR96%D7V%T9F]R:RAV;VED(&9U;F-T:6]N*"D 7U]P M<F5P87)E+"!V;VED(&9U;F-T:6]N*"D 7U]P87)E;G0L('9O:60 9G5N8W1I M;VXH*2!?7V-H:6QD*3L**PEV;VED('!T:')E861?:VEL;%]O=&AE<E]T:')E M861S7VYP*"D["BL)"BL)"BL)+R\ 1G)O;2!B:71S+W-I9W-E="YH"BL)8V]N M<W0 =6EN="!324=3151?3E=/4D13(#T ,3`R-"`O(" X("H =6EN="YS:7IE M;V8I.PHK"0HK"7-T<G5C="!S:6=S971?=`HK"7L**PD)=6EN="!V86Q;4TE' M4T547TY73U)$4UT["BL)?0HK"0HK"0HK"2\O($9R;VT 8FET<R]S:6=T:')E M860N:`HK"6EN="!P=&AR96%D7W-I9VUA<VLH:6YT(%]?:&]W+"!S:6=S971? M="H 7U]N97=M87-K+"!S:6=S971?="H 7U]O;&1M87-K*3L**PEI;G0 <'1H M<F5A9%]K:6QL*'!T:')E861?="!?7W1H<F5A9&ED+"!I;G0 7U]S:6=N;RD[ M"BM]"F1I9F8 +4YR=2!G8V,M,RXS+C8M;W)I9R]G8V,O9"]P:&]B;W,O<W1D M+V,O=6YI>"]S96UA<&AO<F4N9"!G8V,M,RXS+C8O9V-C+V0O<&AO8F]S+W-T M9"]C+W5N:7 O<V5M87!H;W)E+F0*+2TM(&=C8RTS+C,N-BUO<FEG+V=C8R]D M8F]S+W-T9"]C+W5N:7 O<V5M87!H;W)E+F0),C`P-2TQ,BTP-"`R,3HR-CHQ M($0 9G)O;G0M96YD(&9O<B!'0T,**R` ($-O<'ER:6=H="`H0RD ,C`P-"!$ M879I9"!&<FEE9&UA; HK("` "BL ("!4:&ES('!R;V=R86T :7, 9G)E92!S M;V9T=V%R93L >6]U(&-A;B!R961I<W1R:6)U=&4 :70 86YD+V]R(&UO9&EF M>0HK("` :70 =6YD97( =&AE('1E<FUS(&]F('1H92!'3E4 1V5N97)A;"!0 M=6)L:6, 3&EC96YS92!A<R!P=6)L:7-H960 8GD**R` ('1H92!&<F5E(%-O M8V5N<V4L(&]R"BL ("`H870 >6]U<B!O<'1I;VXI(&%N>2!L871E<B!V97)S M:6]N+ HK(`HK("` 5&AI<R!P<F]G<F%M(&ES(&1I<W1R:6)U=&5D(&EN('1H M92!H;W!E('1H870 :70 =VEL;"!B92!U<V5F=6PL"BL ("!B=70 5TE42$]5 M5"!!3ED 5T%24D%.5%D[('=I=&AO=70 979E;B!T:&4 :6UP;&EE9"!W87)R M86YT>2!O9 HK("` 34520TA!3E1!0DE,2519(&]R($9)5$Y%4U, 1D]2($$ M4'5B;&EC($QI8V5N<V4 9F]R(&UO<F4 9&5T86EL<RX**R`**R` (%EO=2!S M:&]U;&0 :&%V92!R96-E:79E9"!A(&-O<'D ;V8 =&AE($=.52!'96YE<F%L M(%!U8FQI8R!,:6-E;G-E"BL ("!A;&]N9R!W:71H('1H:7, <')O9W)A;3L M:68 ;F]T+"!W<FET92!T;R!T:&4 1G)E92!3;V9T=V%R90HK("` 1F]U;F1A M=&EO;BP 26YC+BP -3D 5&5M<&QE(%!L86-E+"!3=6ET92`S,S`L($)O<W1O M:7, 82!$+6EF:6-A=&EO;B!O9B!T:&4 4$]325 <V5M87!H;W)E+F :&5A M9&5R(&9I;&4N"BL ("`**R` ($%U=&AO<G,Z(%1O;6UI92!'86YN97)T"BL M,6(**R` ($)U9W,Z(%-O;64 <W1U9F8 8V]L;&ED97, =VET:"!G8V,N8V]N M9FEG=6YI>"P :&5N8V4 =&AE>2!A<F4 8V]M;65N=&5D(&]U="X**R`J+PHK M"BL**VUO9'5L92!S=&0N8RYU;FEX+G-E;6%P:&]R93L**PHK<')I=F%T92!I M;7!O<G0 <W1D+F,N=6YI>"YP=&AR96%D<SL**W!R:79A=&4 :6UP;W)T(&=C M8RYC;VYF:6=U;FEX.PHK"BL**R\J"BMS=')U8W0 <V5M7W0**WL**PEP=&AR M96%D7V9A<W1L;V-K('-E;5]L;V-K.PHK"6EN="!S96U?=F%L=64["BL)<'1H M<F5A9%]D97-C<B!S96U?=V%I=&EN9SL**WT**RHO"BL**PHK8V]N<W0 <V5M M7W0J(%-%35]&04E,140 /2!N=6QL.PHK8V]N<W0 :6YT(%-%35]604Q515]- M05 /2!I;G0N;6%X.PHK"BL**V5X=&5R;B`H0RD**WL**R\O"6EN="!S96U? M:6YI="AS96U?="H 7U]S96TL(&EN="!?7W!S:&%R960L('5I;G0 7U]V86QU M92D["BLO+PEI;G0 <V5M7V1E<W1R;WDH<V5M7W0J(%]?<V5M*3L**PES96U? M="H <V5M7V]P96XH8VAA<BH 7U]N86UE+"!I;G0 7U]O9FQA9RP +BXN*3L* M*PEI;G0 <V5M7V-L;W-E*'-E;5]T*B!?7W-E;2D["BL):6YT('-E;5]U;FQO M;FLH8VAA<B`J7U]N86UE*3L**R\O"6EN="!S96U?=V%I="AS96U?="H 7U]S M96TI.PHK"6EN="!S96U?=&EM961W86ET*'-E;5]T*B!?7W-E;2P =&EM97-P M96,J(%]?86)S=&EM92D["BL):6YT('-E;5]T<GEW86ET*'-E;5]T*B!?7W-E M;2D["BLO+PEI;G0 <V5M7W!O<W0H<V5M7W0J*3L**PEI;G0 <V5M7V=E='9A M;'5E*'-E;5]T*B!?7W-E;2P ;W5T(&EN="H 7U]S=F%L*3L**WT*9&EF9B`M M3G)U(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]S=&0O8V]N9&ET:6]N M+F0 9V-C+3,N,RXV+V=C8R]D+W!H;V)O<R]S=&0O8V]N9&ET:6]N+F0*+2TM M(&=C8RTS+C,N-BUO<FEG+V=C8R]D+W!H;V)O<R]S=&0O8V]N9&ET:6]N+F0) M,3DW,"TP,2TP,2`P,3HP,#HP M<R!F<F5E('-O9G1W87)E.R!Y;W4 8V%N(')E9&ES=')I8G5T92!I="!A;F0O M;W( ;6]D:69Y"BL ("!I="!U;F1E<B!T:&4 =&5R;7, ;V8 =&AE($=.52!' M96YE<F%L(%!U8FQI8R!,:6-E;G-E(&%S('!U8FQI<VAE9"!B>0HK("` =&AE M($9R964 4V]F='=A<F4 1F]U;F1A=&EO;CL 96ET:&5R('9E<G-I;VX ,B!O M9B!T:&4 3&EC96YS92P ;W(**R` ("AA="!Y;W5R(&]P=&EO;BD 86YY(&QA M=&5R('9E<G-I;VXN"BL "BL ("!4:&ES('!R;V=R86T :7, 9&ES=')I8G5T M960 :6X =&AE(&AO<&4 =&AA="!I="!W:6QL(&)E('5S969U;"P**R` (&)U M="!7251(3U54($%.62!705)204Y463L =VET:&]U="!E=F5N('1H92!I;7!L M4R!&3U( 02!005)424-53$%2(%!54E!/4T4N("!3964 =&AE"BL ("!'3E4 M1V5N97)A;"!0=6)L:6, 3&EC96YS92!F;W( ;6]R92!D971A:6QS+ HK(`HK M("` 66]U('-H;W5L9"!H879E(')E8V5I=F5D(&$ 8V]P>2!O9B!T:&4 1TY5 M($=E;F5R86P 4'5B;&EC($QI8V5N<V4**R` (&%L;VYG('=I=& =&AI<R!P M<F]G<F%M.R!I9B!N;W0L('=R:71E('1O('1H92!&<F5E(%-O9G1W87)E"BL M;VX 5F%R:6%B;&5S('1O(&)E('5S960 =VET:`HK("` =&AE('-Y;F-H<F]N M:7IE9"!B;&]C:W,N"BL ("`**R` ($%U=&AO<G,Z(%1O;6UI92!'86YN97)T M;F1I=&EO;CL**PHK"BLO*BH**R`J(%1I;64 =6YI="!F;W( =7-E(&EN($-O M;F1I=&EO;BYW86ET*"DN"BLJ*B\**V5N=6T 5&EM955N:70**WL**PE.04Y/ M"BL)<')I=F%T92!I;7!O<G0 <W1D+G!E<F8["BL)"BL)"BL)+R\ 5&AI<R!V M97)S:6]N(&ES('5S960 9F]R(&1E8G5G9VEN9R!U;F1E<B!,:6YU>`HK"79E M<G-I;VX *$1E8G5G0V]N9&ET:6]N5VET:%!T:')E861S*0HK"7L**PD)<')I M=F%T92!I;7!O<G0 <W1D+F,N=6YI>"YP=&AR96%D<SL**PD)<')I=F%T92!I M;7!O<G0 <W1D+F,N=6YI>"YS96UA<&AO<F4["BL)"7!R:79A=&4 :6UP;W)T M('-T9"YC+G-T9&EO.PHK"0EP<FEV871E(&EM<&]R="!S=&0N=&AR96%D.PHK M"0D**PD)"BL)"65X=&5R;B`H0RD**PD)>PHK"0D)<'1H<F5A9%]M=71E>%]T M*B!?9%]G971?;V)J96-T7VUO;FET;W(H3V)J96-T(& I.PHK"0E]"BL)"0HK M"0D**PD)86QI87, <V5M7W0J(%-E;6%P:&]R93L**PD)86QI87, <'1H<F5A M9%]M=71E>%]T($-2251)0T%,7U-%0U1)3TX["BL)"0HK"0D**PD)8V]N<W0 M=6EN="!)3D9)3DE412`]('5I;G0N;6%X.PHK"0D**PD)"BL)"5-E;6%P:&]R M:6YT(&UA>"P =6EN="H ;BD**PD)>PHK"0D)4V5M87!H;W)E(', /2!N97< M"BL)"0ER971U<FX <SL**PD)?0HK"0D**PD)"BL)"79O:60 1&5L971E3V)J M96-T*%-E;6%P:&]R92!S*0HK"0E["BL)"0ES96U?9&5S=')O>2AS*3L**PD) M"0HK"0D)9&5L971E(',["BL)"7T**PD)"BL)"0HK"0EV;VED($5N=&5R0W)I M=&EC86Q396-T:6]N*$-2251)0T%,7U-%0U1)3TX *G,I"BL)"7L**PD)"61E M8G5G('!R:6YT9B B)7`Z($5N=&5R0W)I=&EC86Q396-T:6]N*"5P*5QN(BP M5&AR96%D+F=E=%1H:7,H*2P <RD["BL)"0EP=&AR96%D7VUU=&5X7VQO8VLH M;VY<;B(L(%1H<F5A9"YG9714:&ES*"DL(',I.PHK"0E]"BL)"0HK"0D**PD) M*0HK"0E["BL)"0ED96)U9R!P<FEN=&8H(B5P.B!,96%V94-R:71I8V%L4V5C M=&EO;B E<"E<;B(L(%1H<F5A9"YG9714:&ES*"DL(',I.PHK"0D)<'1H<F5A M9%]M=71E>%]U;FQO8VLH<RD["BL)"0ED96)U9R!P<FEN=&8H(B5P.B!^3&5A M"0E]"BL)"0HK"0D**PD)=F]I9"!296QE87-E4V5M87!H;W)E*%-E;6%P:&]R M92!S+"!U:6YT(&XL('5I;G0J(&]L9&XI"BL)"7L**PD)"61E8G5G('!R:6YT M9B B)7`Z(%)E;&5A<V5396UA<&AO<F4H)7`L("5U*5QN(BP 5&AR96%D+F=E M=%1H:7,H*2P <RP ;BD["BL)"0EW:&EL92`H;BTM*0HK"0D)"7-E;5]P;W-T M*',I.PHK"0D)9&5B=6< <')I;G1F*"(E<#H ?E)E;&5A<V5396UA<&AO<F5< M;B(L(%1H<F5A9"YG9714:&ES*"DL(',L(&XI.PHK"0E]"BL)"0HK"0D**PD) M=F]I9"!786ET1F]R4VEN9VQE3V)J96-T*%-E;6%P:&]R92!S+"!U:6YT(&XI M"BL)"7L**PD)"61E8G5G('!R:6YT9B B)7`Z(%=A:71&;W)3:6YG;&5/8FIE M8W0H)7`L("5U*5QN(BP 5&AR96%D+F=E=%1H:7,H*2P <RP ;BD["BL)"0ES M96U?=V%I="AS*3L**PD)"61E8G5G('!R:6YT9B B)7`Z('Y786ET1F]R4VEN M9VQE3V)J96-T7&XB+"!4:')E860N9V5T5&AI<R I+"!S+"!N*3L**PD)?0HK M"7T**PEE;'-E"BL)>PHK"0EE>'1E<FX *$,I"BL)"7L**PD)"4-2251)0T%, M7U-%0U1)3TXJ(%]D7V=E=%]O8FIE8W1?;6]N:71O<BA/8FIE8W0 :"D["BL) M"7T**PD)"BL)"0HK"0DO+R!*=7-T('1O(&UA:V4 =&AE(&-O9&4 8VQE87)E M< HK"0EA;&EA<R!(04Y$3$4 4V5M87!H;W)E.PHK"7T**PD**PD**PEC;&%S M86ET:6YG.PHK"0D)=6EN="!N=6U3:6=N86QE9#L**PD)"75I;G0 ;G5M0F%R M<FEE<CL**PD)"5-E;6%P:&]R92!W86ET97(["BL)"0E396UA<&AO<F4 8F%R M<FEE<CL**PD)"4]B:F5C="!?;6]N:71O<CL**PD)?0HK"0D**PD)"BL)"71H M:7,H3V)J96-T(&UO;FET;W(I"BL)"7L**PD)"6YU;5=A:71I;F< /2!N=6U3 M:6=N86QE9"`](&YU;4)A<G)I97( /2`P.PHK"0D)=V%I=&5R(#T 0W)E871E M<B`]($-R96%T95-E;6%P:&]R92AN=6QL+"`P+"!I;G0N;6%X+"!N=6QL*3L* M*PD)"5]M;VYI=&]R(#T ;6]N:71O<CL**PD)?0HK"0D**PD)"BL)"7YT:&ES M*"D**PD)>PHK"0D)1&5L971E3V)J96-T*&)A<G)I97(I.PHK"0D)1&5L971E M3V)J96-T*'=A:71E<BD["BL)"7T**PD)"BL)"0HK"0EP<FEV871E(&)I="!B M87)R:6-A9&4H=6EN="!T:6UE;W5T(#T 24Y&24Y)5$4I"BL)"7L**PD)"45N M=&5R0W)I=&EC86Q396-T:6]N*%]D7V=E=%]O8FIE8W1?;6]N:71O<BA?;6]N M:71O<BDI.PHK"0D)9&5B=6< <')I;G1F*"(E<#HE<"!B87)R:6-A9&4H;G5M M4VEG;F%L960Z("5D+"!N=6U"87)R:65R.B`E9"E<;B(L(%1H<F5A9"YG9714 M:&ES*"DL('1H:7,L(&YU;5-I9VYA;&5D+"!N=6U"87)R:65R*3L**PD)"0HK M"0D):68 *"$M+6YU;5-I9VYA;&5D*0HK"0D)>PHK"0D)"5)E;&5A<V5396UA M<&AO<F4H8F%R<FEE<BP ;G5M0F%R<FEE<BP ;G5L;"D["BL)"0D);G5M0F%R M*%]D7V=E=%]O8FIE8W1?;6]N:71O<BA?;6]N:71O<BDI.PHK"0D)"BL)"0ER M971U<FX 5V%I=$9O<E-I;F=L94]B:F5C="AB87)R:65R+"!T:6UE;W5T*3L* M*PD)?0HK"0D**PD)"BL)"7!R:79A=&4 =F]I9"!S:6=N86PH=6EN="!N*0HK M"0E["BL)"0E%;G1E<D-R:71I8V%L4V5C=&EO;BA?9%]G971?;V)J96-T7VUO M;FET;W(H7VUO;FET;W(I*3L**PD)"61E8G5G('!R:6YT9B B)7`Z)7` <VEG M;F%L*&XZ("5U+"!N=6U"87)R:65R<SH )60L(&YU;5=A:71I;F<Z("5D*5QN M(BP 5&AR96%D+F=E=%1H:7,H*2P =&AI<RP ;BP ;G5M0F%R<FEE<BP ;G5M M5V%I=&EN9RD["BL)"0EI9B`H;G5M5V%I=&EN9R`\(&XI(&X /2!N=6U786ET M:6YG.PHK"0D);G5M4VEG;F%L960 /2!N=6U"87)R:65R("L](&X["BL)"0E2 M96QE87-E4V5M87!H;W)E*'=A:71E<BP ;BP ;G5L;"D["BL)"0EN=6U786ET M:6YG("T](&X["BL)"0ED96)U9R!P<FEN=&8H(B5P.B5P('YS:6=N86PH;G5M M4VEG;F%L960Z("5D+"!N=6U"87)R:65R.B`E9"P ;G5M5V%I=&EN9SH )60I M7&XB+"!4:')E860N9V5T5&AI<R I+"!T:&ES+"!N=6U3:6=N86QE9"P ;G5M M0F%R<FEE<BP ;G5M5V%I=&EN9RD["BL)"0E,96%V94-R:71I8V%L4V5C=&EO M;BA?9%]G971?;V)J96-T7VUO;FET;W(H7VUO;FET;W(I*3L**PD)?0HK"0D* M*PD)=F]I9"!B<F]A9&-A<W0H*0HK"0E["BL)"0ES:6=N86PH=6EN="YM87 I M.PHK"0E]"BL)"0HK"0D**PD)3V)J96-T(&UO;FET;W(H*0HK"0E["BL)"0ER M971U<FX 7VUO;FET;W(["BL)"7T**PD)"BL)"0HK"0EV;VED('-I9VYA;" I M"BL)"7L**PD)"7-I9VYA;" Q*3L**PD)?0HK"0D**PD)"BL)"6)I="!W86ET M*&EN="!T:6UE;W5T(#T +3$L(%1I;655;FET('5N:70 /2!4:6UE56YI="Y3 M14-/3D0I"BL)"7L**PD)"5!E<F9O<FUA;F-E0V]U;G1E<B!C;W5N=&5R(#T M;F5W(%!E<F9O<FUA;F-E0V]U;G1E<B I.PHK"0D)"BL)"0EC;W5N=&5R+G-T M87)T*"D["BL)"0D**PD)"6EF("AT:6UE;W5T(#X M<W=I=&-H("AU;FET*0HK"0D)"7L**PD)"0EC87-E(%1I;655;FET+DY!3D]3 M<G0H=&EM96]U="`\('1I;65O=70N;6%X("\ ,3`P,"D["BL)"0D)"71I;65O M=70 *CT ,3`P,#L**PD)"0D)8G)E86L["BL)"0D)?0HK"0D)?0HK"0D)"BL) M"0D**PD)"61E8G5G('!R:6YT9B B)7`Z)7` =V%I="AN=6U3:6=N86QE9#H M)60L(&YU;4)A<G)I97(Z("5D+"!N=6U786ET:6YG.B`E9"E<;B(L(%1H<F5A M9"YG9714:&ES*"DL('1H:7,L(&YU;5-I9VYA;&5D+"!N=6U"87)R:65R+"!N M=6U786ET:6YG*3L**PD)"2LK;G5M5V%I=&EN9SL**PD)"4QE879E0W)I=&EC M86Q396-T:6]N*%]D7V=E=%]O8FIE8W1?;6]N:71O<BA?;6]N:71O<BDI.PHK M"0D)8V]U;G1E<BYS=&]P*"D["BL)"0EI9B`H=&EM96]U="`^/2`P*2!T:6UE M;W5T("T](&-O=6YT97(N;6EL;&ES96-O;F1S*"D["BL)"0EI9B`H5V%I=$9O M<E-I;F=L94]B:F5C="AW86ET97(L('1I;65O=70I("$](%=!251?3T)*14-4 M7S`I"BL)"0E["BL)"0D)+R\ 665S+"!T:&ES(&ES(&%N(&%D9&ET:6]N86P M=6YT:6UE9"UW86ET:6YG+"!B=70 =V4 ;75S="!D;R!I=`HK"0D)"2\O('1O M(&5N<W5R92!W92!D;VXG="!B<F5A:R!T:&4 ;6]N:71O<BX**PD)"0E%;G1E M<D-R:71I8V%L4V5C=&EO;BA?9%]G971?;V)J96-T7VUO;FET;W(H7VUO;FET M;W(I*3L**PD)"0ER971U<FX 9F%L<V4["BL)"0E]"BL)"0D**PD)"6-O=6YT M97(N<W1O<" I.PHK"0D):68 *'1I;65O=70 /CT ,"D =&EM96]U="`M/2!C M;W5N=&5R+FUI;&QI<V5C;VYD<R I.PHK"0D)"BL)"0EB:70 <F5T(#T 8F%R M<FEC861E*'1I;65O=70I.PHK"0D)"BL)"0E%;G1E<D-R:71I8V%L4V5C=&EO M;BA?9%]G971?;V)J96-T7VUO;FET;W(H7VUO;FET;W(I*3L**PD)"61E8G5G M('!R:6YT9B B)7`Z)7` ?G=A:70H;G5M4VEG;F%L960Z("5D+"!N=6U"87)R M:65R.B`E9"P ;G5M5V%I=&EN9SH )60I7&XB+"!4:')E860N9V5T5&AI<R I M+"!T:&ES+"!N=6U3:6=N86QE9"P ;G5M0F%R<FEE<BP ;G5M5V%I=&EN9RD[ M"BL)"0D**PD)"7)E='5R;B!R970["BL)"7T**PE]"BM]"BME;'-E('9E<G-I M;VX *&QI;G5X*0HK>PHK"79E<G-I;VX /2!4:')E861I;F=0=&AR96%D<SL* M*WT**PHK"BMV97)S:6]N("A4:')E861I;F=0=&AR96%D<RD**WL**PEP<FEV M871E(&EM<&]R="!S=&0N8RYU;FEX+G!T:')E861S.PHK"0HK"0HK"65X=&5R M;B`H0RD**PE["BL)"7!T:')E861?;75T97A?="H 7V1?9V5T7V]B:F5C=%]M M;VYI=&]R*$]B:F5C="!H*3L**PE]"BL)"BL)"BL)+RHJ"BL)("H 02`D*$D M0V]N9&ET:6]N('9A<FEA8FQE*2!I<R!A(&1A=&$ <W1R=6-T=7)E('1I9VAT M;'D 87-S;V-I871E9"!W:71H('1H90HK"2`J(&-O;F-E<'0 ;V8 82`D*$( M;6]N:71O<BD *'-Y;F-H<F]N:7IE9"!B;&]C:W,I+B!)="!A;&QO=W, >6]U M('1O('-E;F0**PD *B!E=F5N=', =&\ ;W1H97( =&AR96%D<RX**PD * HK M"2`J(%1H92!N;W)M86P =7-E(&]F(&$ 0V]N9&ET:6]N('9A<FEA8FQE(&ES M('1O(&EN8VQU9&4 :70 :6YS:61E(&$**PD *B!T:6=H="!W:&EL92UL;V]P M+"!I;G-I9&4 <WEN8VAR;VYI>F5D(&)L;V-K+ HK"2`J("TM+2TM+2TM+2TM M+2TM+2T**PD *B` ('-Y;F-H<F]N:7IE9"`H<V]M94]B:F5C="D**PD *B` M('L**PD *B` (`EW:&EL92`H(7-O;65%>'!R97-S:6]N5&]786ET1F]R*0HK M"2`J("` "0EC;VYD5F%R+G=A:70H*3L**PD *B` ('T**PD *B`M+2TM+2TM M+2TM+2TM+2TM"BL)("H 5&AE(&]T:&5R(&5N9"!S:6=N86QS(&$ <W1A=&4 M8VAA;F=E("AP;W-S:6)L>2P 8G5T(&YO="!N96-C97-S87)I;'DL"BL)("H M;6%K:6YG("0H22!S;VUE17AP<F5S<VEO;E1O5V%I=$9O<BD =')U92X**PD M*B`M+2TM+2TM+2TM+2TM+2TM"BL)("H ("!C;VYD5F%R+G-I9VYA;" I.PHK M"2`J("` 8V]N9%9A<BYB<F]A9&-A<W0H*3L**PD *B`M+2TM+2TM+2TM+2TM M+2TM"BL)("H 5&AE(&9I<G-T('9A<FEA;G0 =VEL;"!O;FQY('=A:V4 =7` M;VYE('1H<F5A9"P =VAI;&4 =&AE('-E8V]N9"!W:6QL"BL)("H =V%K92!U M<"!A;&P =&AR96%D<R!C=7)R96YT;'D =V%I=&EN9RX 3F]T('1H870 82!T M:')E860 =&AA="!I<PHK"2`J(&YO="!C=7)R96YT;'D 97AE8W5T:6YG(&$ M=V%I=" I(&-A;&P =VEL;"!N979E<B!B92!A=V%K96XL(&DN92X**PD *B!C M;VYD:71I;VX =F%R:6%B;&5S(&1O(&YO="!H879E(")M96UO<GDB+ HK"2`J M"BL)("H 1F]L;&]W:6YG(&ES(&$ <VEM<&QE('-K96QE=&]N(&EM<&QE;65N M=&%T:6]N(&]F('1H92!S=&%N9&%R9"!S:6YG;&4**PD *B!C;VYS=6UE<B]S M:6YG;&4 <')O9'5C97( 86QG;W)I=&AM+ HK"2`J("TM+2TM+2TM+2TM+2TM M+2T**PD *B` ('5I;G0 <75E=65,96YG=& /2`P.PHK"2`J("` 3V)J96-T M96UP='D /2!N97< 0V]N9&ET:6]N*&UO;FET;W(I.PHK"2`J"BL)("H**PD M*B` (&EN="!P<F]D=6-E<B I"BL)("H ("!["BL)("H ("`):6YT(&1A=&$ M/2`Q.PHK"2`J("` "0HK"2`J("` "7-Y;F-H<F]N:7IE9"`H;6]N:71O<BD* M*PD *B` (`E["BL)("H ("`)"69O<B`H.SLI"BL)("H ("`)"7L**PD *B` M(`D)"7=H:6QE(" J<75E=65,96YG=& /B`P*3L**PD *B` (`D)"0EE;7!T M>2YW86ET*"D["BL)("H**PD *B` (`D)"2LK<75E=65,96YG=& ["BL)("H M("`)"0EF=6QL+F)R;V%D8V%S=" I.PHK"2`J("` "0E]"BL)("H ("`)?0HK M"2`J("` ?0HK"2`J("` "BL)("H ("`**PD *B` (&EN="!C;VYS=6UE<B I M"BL)("H ("!["BL)("H ("`):6YT(&1A=&$["BL)("H ("`)"BL)("H ("`) M<WEN8VAR;VYI>F5D("AM;VYI=&]R*0HK"2`J("` "7L**PD *B` (`D)9F]R M(" [.RD**PD *B` (`D)>PHK"2`J("` "0D)=VAI;&4 *"IQ=65U94QE;F=T M:"`]/2`P*3L**PD *B` (`D)"0EF=6QL+G=A:70H*3L**PD * HK"2`J("` M"0D)+2UQ=65U94QE;F=T:#L**PD *B` (`D)"65M<'1Y+F)R;V%D8V%S=" I M.PHK"2`J("` "0E]"BL)("H ("`)?0HK"2`J("` ?0HK"2`J("` "BL)("H M("`**PD *B` ('9O:60 8F]O=" I"BL)("H ("!["BL)("H ("`)5&AR96%D M('!R;R`](&YE=R!4:')E860H)G!R;V1U8V5R*3L**PD *B` (`E4:')E860 M8V]N(#T ;F5W(%1H<F5A9" F8V]N<W5M97(I.PHK"2`J("` "0HK"2`J("` M"6-O;BYS=&%R=" I.PHK"2`J("` "7!R;RYS=&%R=" I.PHK"2`J("` ?0HK M*PE["BL)"7!R:79A=&4**PD)>PHK"0D)<'1H<F5A9%]C;VYD7W0 8V]N9#L* M*PD)"4]B:F5C="!?;6]N:71O<CL**PD)?0HK"0D**PD)"BL)"71H:7,H3V)J M96-T(&UO;FET;W(I"BL)"7L**PD)"5]M;VYI=&]R(#T ;6]N:71O<CL**PD) M"7!T:')E861?8V]N9%]I;FET*"9C;VYD+"!N=6QL*3L**PD)?0HK"0D**PD) M"BL)"7YT:&ES*"D**PD)>PHK"0D)<'1H<F5A9%]C;VYD7V1E<W1R;WDH)F-O M;F0I.PHK"0E]"BL)"0HK"0D**PD)+RHJ"BL)"2`J($)R;V%D8V%S="!A('-I M9VYA;"!T;R!A;&P =V%I=&EN9R!T:')E861S+ HK"0D *B!4:&ES('5S97, M*"D**PD)>PHK"0D)<'1H<F5A9%]C;VYD7V)R;V%D8V%S=" F8V]N9"D["BL) M"7T**PD)"BL)"0HK"0DO*BH**PD)("H 4F5T=7)N('1H92!M;VYI=&]R(&]B M:F5C="!T:&ES(&-O;F1I=&EO;B!V87)I86)L92!R96QI97, ;VXN"BL)"2HJ M+PHK"0E/8FIE8W0 ;6]N:71O<B I"BL)"7L**PD)"7)E='5R;B!?;6]N:71O M<CL**PD)?0HK"0D**PD)"BL)"2\J* HK"0D *B!3:6=N86P 97AA8W1L>2!Z M97)O(&]R(&]N92!W86ET:6YG('1H<F5A9',N"BL)"2`J(%1H:7, =7-E<R!3 M:6=N86PM06YD+4-O;G1I;G5E+ HK"0DJ*B\**PD)=F]I9"!S:6=N86PH*0HK M"0E["BL)"0EP=&AR96%D7V-O;F1?<VEG;F%L*"9C;VYD*3L**PD)?0HK"0D* M*PD)"BL)"2\J* HK"0D *B!786ET(&9O<B!A('-I9VYA;"!O<B!A('1I;65O M=70N(%1O(&-A;&P =&AI<RP =&AE('1H<F5A9"!M=7-T(&)E('1H90HK"0D M*B!O=VYE<B!O9B!T:&4 ;6]N:71O<B!F;W( 3V)J96-T('1H:7,N;6]N:71O M<BX**PD)("H**PD)("H 4&%R86US. HK"0D *B` ('1I;65O=70 /2!-87AI M;75M('1I;64 =&\ =V%I="!F;W( 82!S:6=N86PN"BL)"2`J("` =6YI="` M("`](%1H92!U;FET('5S960 9F]R('1H92!T:6UE;W5T('!A<F%M971E<BX* M*PD)("H**PD)("H 4F5T=7)N<SH =')U92!I9B!A('-I9VYA;"!W87, <F5C M96EV960L(&9A;'-E(&]T:&5R=VES92X**PD)*BHO"BL)"6)I="!W86ET*&EN M="!T:6UE;W5T(#T +3$L(%1I;655;FET('5N:70 /2!4:6UE56YI="Y314-/ M3D0I"BL)"7L**PD)"71I;65V86P ='8["BL)"0ET:6UE<W!E8R!T<SL**PD) M"0HK"0D)9V5T=&EM96]F9&%Y*"9T=BP ;G5L;"D["BL)"0D**PD)"7-W:71C M:"`H=6YI="D**PD)"7L**PD)"6-A<V4 5&EM955N:70N3D%.3U-%0T].1#H* M*PD)"0ET<RYT=E]N<V5C(#T M<V5C("H ,3`P,#L**PD)"0ET<RYT=E]S96, /2!T=BYT=E]S96, *R!T:6UE M;W5T.PHK"0D)"6)R96%K.PHK"0D)"BL)"0ED969A=6QT. HK"0D)"71I;65O M/PHK"0D)"7!T:')E861?8V]N9%]W86ET*"9C;VYD+"!?9%]G971?;V)J96-T M7VUO;FET;W(H7VUO;FET;W(I*2`Z"BL)"0D)<'1H<F5A9%]C;VYD7W1I;65D M=V%I=" F8V]N9"P 7V1?9V5T7V]B:F5C=%]M;VYI=&]R*%]M;VYI=&]R*2P M)G1S*2D["BL)"7T**PE]"BM]"BL**PHK<')I=F%T92!I;7!O<G0 <W1D+F-O M;F1I=&EO;CL**W!R:79A=&4 :6UP;W)T('-T9"YT:')E860["BMP<FEV871E M(&EM<&]R="!S=&0N<W1D:6\["BMP<FEV871E(&EM<&]R="!S=&0N8RYT:6UE M.PHK"BL**W5N:71T97-T"BM["BL):6YT6S5=('%U975E.PHK"6EN="!H96%D M(#T M*"D["BL)0V]N9&ET:6]N(&9U;&P /2!N97< 0V]N9&ET:6]N*&UO;FET;W(I M"BL)"BL)"BL):6YT('!R;V1U8V5R*"D**PE["BL)"6EN="!D871A(#T ,3L* M*PD)"BL)"69O<B`H.SLI"BL)"7L**PD)"7-Y;F-H<F]N:7IE9"`H;6]N:71O M:70H*3L**PD)"0D**PD)"0EW<FET969L;B B4')O9'5C:6YG("5D(BP <75E M=64N;&5N9W1H("T <VEZ92D["BL)"0D)=VAI;&4 *'-I>F4 /"!Q=65U92YL M96YG=& I"BL)"0D)>PHK"0D)"0EQ=65U95MH96%D72`](&1A=&$K*SL**PD) M"0D):&5A9"`]("AH96%D("L ,2D )2!Q=65U92YL96YG=& ["BL)"0D)"2LK M<VEZ93L**PD)"0E]"BL)"0D)9G5L;"YB<F]A9&-A<W0H*3L**PD)"7T**PD) M?0HK"7T**PD**PD**PEI;G0 8V]N<W5M97(H*0HK"7L**PD):6YT(&1A=&$[ M"BL)"0HK"0EF;W( *#L[*0HK"0E["BL)"0ES>6YC:')O;FEZ960 *&UO;FET M;W(I"BL)"0E["BL)"0D)=VAI;&4 *'-I>F4 /"!Q=65U92YL96YG=& I"BL) M"0D)"0EI;G0 =&%I;"`]("AH96%D("L <75E=64N;&5N9W1H("T <VEZ92D M)2!Q=65U92YL96YG=& ["BL)"0D)"0HK"0D)"0ED871A(#T <75E=65;=&%I M;%T["BL)"0D)"2TM<VEZ93L**PD)"0E]"BL)"0D)96UP='DN8G)O861C87-T M*"D["BL)"0E]"BL)"7T**PE]"BL)"BL)"BL)5&AR96%D('!R;R`](&YE=R!4 M:')E860H)G!R;V1U8V5R*3L**PE4:')E860 8V]N(#T ;F5W(%1H<F5A9" F M8V]N<W5M97(I.PHK"0HK"6-O;BYS=&%R=" I.PHK"7!R;RYS=&%R=" I.PHK ` end
Dec 15 2005