[Python-Dev] imputil modifications

Dave Hawkes daveh@cadlink.com
Sun, 19 May 2002 16:52:44 -0400


Hi,

Recently I tried to use the imputil and module and noticed that it had a few
shortcomings, particularly in an environment like pythonwin.

I implemented a few changes/additions (applicable to python 2.2 and up) to
imputil (attached as newimputil.py) to fix these problems, without breaking
its basic structure.

Issues addressed:

1) Objects in sys.path can break some other modules.

A function has been created to make these objects appear like strings so we
can do this for example:

sys.path.insert(0, StringedImporter(BuiltinImporter()))

The StringedImporter function will take a class instance and return another
instance derived from str that also contains the Importer functionality.


2) Chaining to previous (foreign) import handlers supported if desired.

A previously installed import handler can be used as shown by this example:

im = ImportManager()
im.install(chain=1)

chain must be true to enable chaining as it is disabled by default so
current assumptions should not be broken.


3) reload is implemented.

An initial crude implementation of reload is provided as a starting point.
An override in the Importer class can be coded to improve it in specific
cases.



Here is an example of code that will work for pythonwin:

#======================================
import sys, new

from newimputil import *

class TestImporter(Importer):
    def get_code(self, parent, modname, fqname):
        if modname == 'xyzzy':
            def test():
                return 'magic!'
            m = new.module('modname')
            vars(m)['test'] = test
            return (0, m, {})
        return None

im = ImportManager()
im.install(chain=1)
sys.path.insert(0, StringedImporter(TestImporter()))

import xyzzy

print xyzzy.test()
#=======================================


Any comments as to whether these changes are worth persuing?

Thanks
Dave Hawkes



begin 666 newimputil.py
M(B(B#0I);7!O<G0@=71I;&ET:65S#0H-"D5X<&]R=&5D(&-L87-S97,Z#0H@
M(" @26UP;W)T36%N86=E<B @($UA;F%G92!T:&4@:6UP;W)T('!R;V-E<W,-
M"@T*(" @($EM<&]R=&5R(" @(" @("!"87-E(&-L87-S(&9O<B!R97!L86-I
M;F<@<W1A;F1A<F0@:6UP;W)T(&9U;F-T:6]N<PT*(" @($)U:6QT:6Y);7!O
M<G1E<B!%;75L871E('1H92!I;7!O<G0@;65C:&%N:7-M(&9O<B!B=6EL=&EN
M(&%N9"!F<F]Z96X@;6]D=6QE<PT*#0H@(" @1'EN3&]A9%-U9F9I>$EM<&]R
M=&5R#0HB(B(-"@T*(R!N;W1E.B!A=F]I9"!I;7!O<G1I;F<@;F]N+6)U:6QT
M:6X@;6]D=6QE<PT*:6UP;W)T(&EM<" @(" @(" @(" @(" @(" @(" @(" C
M(R,@;F]T(&%V86EL86)L92!I;B!*4'ET:&]N/PT*:6UP;W)T('-Y<PT*:6UP
M;W)T(%]?8G5I;'1I;E]?#0H-"B,@9F]R('1H92!$:7)E8W1O<GE);7!O<G1E
M<@T*:6UP;W)T('-T<G5C= T*:6UP;W)T(&UA<G-H86P-"@T*7U]A;&Q?7R ]
M(%LB26UP;W)T36%N86=E<B(L(DEM<&]R=&5R(BPB0G5I;'1I;DEM<&]R=&5R
M(BPB4W1R:6YG961);7!O<G1E<B)=#0H-"E]3=')I;F=4>7!E(#T@='EP92@G
M)RD-"E]-;V1U;&54>7!E(#T@='EP92AS>7,I(" @(" @(" @(R,C(&1O97-N
M)W0@=V]R:R!I;B!*4'ET:&]N+BXN#0H-"F-L87-S($EM<&]R=$UA;F%G97(Z
M#0H@(" @(DUA;F%G92!T:&4@:6UP;W)T('!R;V-E<W,N(@T*#0H@(" @9&5F
M(&EN<W1A;&PH<V5L9BP@;F%M97-P86-E/79A<G,H7U]B=6EL=&EN7U\I+"!C
M:&%I;B ](# I.@T*(" @(" @(" B(B));G-T86QL('1H:7,@26UP;W)T36%N
M86=E<B!I;G1O('1H92!S<&5C:69I960@;F%M97-P86-E+@T*(" @(" @("!)
M9B!C:&%I;B!I<R!T<G5E('1H96X@8VAA:6X@=&\@=&AE('!R979I;W5S(&AA
M;F1L97(B(B(-"@T*(" @(" @("!S96QF+F-H86EN(#T@8VAA:6X-"@T*(" @
M(" @("!I9B!I<VEN<W1A;F-E*&YA;65S<&%C92P@7TUO9'5L951Y<&4I.@T*
M(" @(" @(" @(" @;F%M97-P86-E(#T@=F%R<RAN86UE<W!A8V4I#0H-"B @
M(" @(" @(R!296-O<F0@=&AE('!R979I;W5S(&EM<&]R="!H;V]K+"!T:&5N
M(&EN<W1A;&P@;W5R(&]W;BX-"B @(" @(" @<V5L9BYP<F5V:6]U<U]I;7!O
M<G1E<B ](&YA;65S<&%C95LG7U]I;7!O<G1?7R==#0H@(" @(" @('-E;&8N
M;F%M97-P86-E(#T@;F%M97-P86-E#0H@(" @(" @(&YA;65S<&%C95LG7U]I
M;7!O<G1?7R==(#T@<V5L9BY?:6UP;W)T7VAO;VL-"@T*(" @(" @(" C(R,@
M9FEX('1H:7,-"B @(" @(" @<V5L9BYP<F5V:6]U<U]R96QO860@/2!N86UE
M<W!A8V5;)W)E;&]A9"==#0H@(" @(" @(&YA;65S<&%C95LG<F5L;V%D)UT@
M/2!S96QF+E]R96QO861?:&]O:PT*#0H@(" @9&5F('5N:6YS=&%L;"AS96QF
M*3H-"B @(" @(" @(E)E<W1O<F4@=&AE('!R979I;W5S(&EM<&]R="!M96-H
M86YI<VTN(@T*(" @(" @("!H;V]K(#T@<V5L9BYN86UE<W!A8V5;)U]?:6UP
M;W)T7U\G70T*(" @(" @("!P:&]O:R ]($YO;F4-"B @(" @(" @(R!F:6YD
M(&]U<B!P;&%C92!I;B!T:&4@8VAA:6X-"B @(" @(" @=VAI;&4@:7-I;G-T
M86YC92AG971A='1R*&AO;VLL("=I;5]S96QF)RP@3F]N92DL($EM<&]R=$UA
M;F%G97(I.@T*(" @(" @(" @(" @:68@:&]O:RYI;5]S96QF(&ES('-E;&8Z
M#0H@(" @(" @(" @(" @(" @:68@<&AO;VLZ#0H@(" @(" @(" @(" @(" @
M(" @('!H;V]K+FEM7W-E;&8N<')E=FEO=7-?:6UP;W)T97(@/2!S96QF+G!R
M979I;W5S7VEM<&]R=&5R#0H@(" @(" @(" @(" @(" @(" @('!H;V]K+FEM
M7W-E;&8N<')E=FEO=7-?<F5L;V%D(#T@<V5L9BYP<F5V:6]U<U]R96QO860-
M"B @(" @(" @(" @(" @("!E;'-E.@T*(" @(" @(" @(" @(" @(" @("!S
M96QF+FYA;65S<&%C95LG7U]I;7!O<G1?7R==(#T@<V5L9BYP<F5V:6]U<U]I
M;7!O<G1E<@T*(" @(" @(" @(" @(" @(" @("!S96QF+FYA;65S<&%C95LG
M<F5L;V%D)UT@/2!S96QF+G!R979I;W5S7W)E;&]A9 T*(" @(" @(" @(" @
M(" @(&)R96%K#0H@(" @(" @(" @("!P:&]O:R ](&AO;VL-"B @(" @(" @
M(" @(&AO;VL@/2!H;V]K+FEM7W-E;&8N<')E=FEO=7-?:6UP;W)T97(-"@T*
M(" @(&1E9B!A9&1?<W5F9FEX*'-E;&8L('-U9F9I>"P@:6UP;W)T1G5N8RDZ
M#0H@(" @(" @(&%S<V5R="!C86QL86)L92AI;7!O<G1&=6YC*0T*(" @(" @
M("!S96QF+F9S7VEM<"YA9&1?<W5F9FEX*'-U9F9I>"P@:6UP;W)T1G5N8RD-
M"@T*(" @(",C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,-"B @(" C#0H@(" @
M(R!04DE6051%($U%5$A/1%,-"B @(" C#0H-"B @("!C;'-&:6QE<WES=&5M
M26UP;W)T97(@/2!.;VYE#0H-"B @("!D968@7U]I;FET7U\H<V5L9BP@9G-?
M:6UP/4YO;F4I.@T*(" @(" @(" C('=E)W)E(&1E9FEN:71E;'D@9V]I;F<@
M=&\@8F4@:6UP;W)T:6YG('-O;65T:&EN9R!I;B!T:&4@9G5T=7)E+ T*(" @
M(" @(" C('-O(&QE="=S(&IU<W0@;&]A9"!T:&4@3U,M<F5L871E9"!F86-I
M;&ET:65S+@T*(" @(" @("!I9B!N;W0@7V]S7W-T870Z#0H@(" @(" @(" @
M("!?;W-?8F]O='-T<F%P*"D-"@T*(" @(" @(" C(%1H:7,@:7,@=&AE($EM
M<&]R=&5R('1H870@=V4@=7-E(&9O<B!G<F%B8FEN9R!S='5F9B!F<F]M('1H
M90T*(" @(" @(" C(&9I;&5S>7-T96TN($ET(&1E9FEN97,@;VYE(&UO<F4@
M;65T:&]D("AI;7!O<G1?9G)O;5]D:7(I(&9O<B!O=7(@=7-E+@T*(" @(" @
M("!I9B!N;W0@9G-?:6UP.@T*(" @(" @(" @(" @8VQS(#T@<V5L9BYC;'-&
M:6QE<WES=&5M26UP;W)T97(@;W(@7T9I;&5S>7-T96U);7!O<G1E<@T*(" @
M(" @(" @(" @9G-?:6UP(#T@8VQS*"D-"B @(" @(" @<V5L9BYF<U]I;7 @
M/2!F<U]I;7 -"@T*(" @(" @(" C($EN:71I86QI>F4@=&AE('-E="!O9B!S
M=69F:7AE<R!T:&%T('=E(')E8V]G;FEZ92!A;F0@:6UP;W)T+@T*(" @(" @
M(" C(%1H92!D969A=6QT('=I;&P@:6UP;W)T(&1Y;F%M:6,M;&]A9"!M;V1U
M;&5S(&9I<G-T+"!F;VQL;W=E9"!B>0T*(" @(" @(" C("YP>2!F:6QE<R H
M;W(@82 N<'D@9FEL92=S(&-A8VAE9"!B>71E8V]D92D-"B @(" @(" @9F]R
M(&1E<V,@:6X@:6UP+F=E=%]S=69F:7AE<R@I.@T*(" @(" @(" @(" @:68@
M9&5S8ULR72 ]/2!I;7 N0U]%6%1%3E-)3TXZ#0H@(" @(" @(" @(" @(" @
M<V5L9BYA9&1?<W5F9FEX*&1E<V-;,%TL#0H@(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @($1Y;DQO8613=69F:7A);7!O<G1E<BAD97-C*2YI;7!O
M<G1?9FEL92D-"B @(" @(" @<V5L9BYA9&1?<W5F9FEX*"<N<'DG+"!P>5]S
M=69F:7A?:6UP;W)T97(I#0H-"B @("!D968@7VEM<&]R=%]H;V]K*'-E;&8L
M(&9Q;F%M92P@9VQO8F%L<SU.;VYE+"!L;V-A;',]3F]N92P@9G)O;6QI<W0]
M3F]N92DZ#0H@(" @(" @("(B(E!Y=&AO;B!C86QL<R!T:&ES(&AO;VL@=&\@
M;&]C871E(&%N9"!I;7!O<G0@82!M;V1U;&4N(B(B#0H-"B @(" @(" @=')Y
M.@T*(" @(" @(" @(" @<&%R=',@/2!F<6YA;64N<W!L:70H)RXG*0T*#0H@
M(" @(" @(" @(" C(&1E=&5R;6EN92!T:&4@8V]N=&5X="!O9B!T:&ES(&EM
M<&]R= T*(" @(" @(" @(" @<&%R96YT(#T@<V5L9BY?9&5T97)M:6YE7VEM
M<&]R=%]C;VYT97AT*&=L;V)A;',I#0H-"B @(" @(" @(" @(",@:68@=&AE
M<F4@:7,@82!P87)E;G0L('1H96X@:71S(&EM<&]R=&5R('-H;W5L9"!M86YA
M9V4@=&AI<R!I;7!O<G0-"B @(" @(" @(" @(&EF('!A<F5N=#H-"B @(" @
M(" @(" @(" @("!I9B!H87-A='1R*'!A<F5N="P@)U]?:6UP;W)T97)?7R<I
M.@T*(" @(" @(" @(" @(" @(" @("!M;V1U;&4@/2!P87)E;G0N7U]I;7!O
M<G1E<E]?+E]D;U]I;7!O<G0H<&%R96YT+"!P87)T<RP@9G)O;6QI<W0I#0H@
M(" @(" @(" @(" @(" @96QS93H-"B @(" @(" @(" @(" @(" @(" @(R!W
M92!S:&]U;&0@8F%C:W5P('1H92!C:&%I;B!I9B!T:&ES(&-O;G1E>'0@:7,@
M;F]T('5N9&5R<W1O;V0-"B @(" @(" @(" @(" @(" @(" @;6]D=6QE(#T@
M<V5L9BYP<F5V:6]U<U]I;7!O<G1E<BAF<6YA;64L(&=L;V)A;',L(&QO8V%L
M<RP@9G)O;6QI<W0I#0H@(" @(" @(" @(" @(" @(" @(",@<&%R96YT(&ES
M(&YO=R!N;W0@<F5L879E;G0-"B @(" @(" @(" @(" @(" @(" @<&%R96YT
M(#T@3F]N90T*(" @(" @(" @(" @(" @(&EF(&UO9'5L93H-"B @(" @(" @
M(" @(" @(" @(" @<F5T=7)N(&UO9'5L90T*#0H@(" @(" @(" @(" C(&AA
M<R!T:&4@=&]P(&UO9'5L92!A;')E861Y(&)E96X@:6UP;W)T960_#0H@(" @
M(" @(" @("!T<GDZ#0H@(" @(" @(" @(" @(" @=&]P7VUO9'5L92 ]('-Y
M<RYM;V1U;&5S6W!A<G1S6S!=70T*(" @(" @(" @(" @97AC97!T($ME>45R
M<F]R.@T*#0H@(" @(" @(" @(" @(" @(R!L;V]K(&9O<B!T:&4@=&]P;6]S
M="!M;V1U;&4-"B @(" @(" @(" @(" @("!T;W!?;6]D=6QE(#T@<V5L9BY?
M:6UP;W)T7W1O<%]M;V1U;&4H<&%R='-;,%TI#0H@(" @(" @(" @(" @(" @
M:68@;F]T('1O<%]M;V1U;&4Z#0H@(" @(" @(" @(" @(" @(" @(",@=&AE
M('1O<&UO<W0@;6]D=6QE('=A<VXG="!F;W5N9"!A="!A;&PN#0H@(" @(" @
M(" @(" @(" @(" @(')A:7-E($EM<&]R=$5R<F]R+" G3F\@;6]D=6QE(&YA
M;65D("<@*R!F<6YA;64-"@T*(" @(" @(" @(" @(R!F87-T+7!A=&@@<VEM
M<&QE(&EM<&]R=',-"B @(" @(" @(" @(&EF(&QE;BAP87)T<RD@/3T@,3H-
M"B @(" @(" @(" @(" @("!I9B!N;W0@9G)O;6QI<W0Z#0H@(" @(" @(" @
M(" @(" @(" @(')E='5R;B!T;W!?;6]D=6QE#0H-"B @(" @(" @(" @(" @
M("!I9B!N;W0@=&]P7VUO9'5L92Y?7V1I8W1?7RYG970H)U]?:7-P:V=?7R<I
M.@T*(" @(" @(" @(" @(" @(" @(" C(%]?:7-P:V=?7R!I<VXG="!D969I
M;F5D("AT:&4@;6]D=6QE('=A<R!N;W0@:6UP;W)T960@8GD@=7,I+ T*(" @
M(" @(" @(" @(" @(" @(" C(&]R(&ET(&ES('IE<F\N#0H@(" @(" @(" @
M(" @(" @(" @(",-"B @(" @(" @(" @(" @(" @(" @(R!);B!T:&4@9F]R
M;65R(&-A<V4L('1H97)E(&ES(&YO('=A>2!T:&%T('=E(&-O=6QD(&EM<&]R
M= T*(" @(" @(" @(" @(" @(" @(" C('-U8BUM;V1U;&5S('1H870@;V-C
M=7(@:6X@=&AE(&9R;VUL:7-T("AB=70@=V4@8V%N)W0@<F%I<V4@86X-"B @
M(" @(" @(" @(" @(" @(" @(R!E<G)O<B!B96-A=7-E(&ET(&UA>2!J=7-T
M(&)E(&YA;65S*2!B96-A=7-E('=E(&1O;B=T(&MN;W<@:&]W#0H@(" @(" @
M(" @(" @(" @(" @(",@=&\@9&5A;"!W:71H('!A8VMA9V5S('1H870@=V5R
M92!I;7!O<G1E9"!B>2!O=&AE<B!S>7-T96US+@T*(" @(" @(" @(" @(" @
M(" @(" C#0H@(" @(" @(" @(" @(" @(" @(",@26X@=&AE(&QA='1E<B!C
M87-E("A?7VES<&MG7U\@/3T@,"DL('1H97)E(&-A;B=T(&)E(&%N>2!S=6(M
M#0H@(" @(" @(" @(" @(" @(" @(",@;6]D=6QE<R!P<F5S96YT+"!S;R!W
M92!C86X@:G5S="!R971U<FXN#0H@(" @(" @(" @(" @(" @(" @(",-"B @
M(" @(" @(" @(" @(" @(" @(R!);B!B;W1H(&-A<V5S+"!S:6YC92!L96XH
M<&%R=',I(#T](#$L('1H92!T;W!?;6]D=6QE(&ES(&%L<V\-"B @(" @(" @
M(" @(" @(" @(" @(R!T:&4@(F)O='1O;2(@=VAI8V@@:7,@=&AE(&1E9FEN
M960@<F5T=7)N('=H96X@82!F<F]M;&ES= T*(" @(" @(" @(" @(" @(" @
M(" C(&5X:7-T<RX-"B @(" @(" @(" @(" @(" @(" @<F5T=7)N('1O<%]M
M;V1U;&4-"@T*(" @(" @(" @(" @:6UP;W)T97(@/2!T;W!?;6]D=6QE+E]?
M9&EC=%]?+F=E="@G7U]I;7!O<G1E<E]?)RD-"B @(" @(" @(" @(&EF(&EM
M<&]R=&5R.@T*(" @(" @(" @(" @(" @(')E='5R;B!I;7!O<G1E<BY?9FEN
M:7-H7VEM<&]R="AT;W!?;6]D=6QE+"!P87)T<ULQ.ETL(&9R;VUL:7-T*0T*
M#0H@(" @(" @(" @(" C($=R<G(L('-O;64@<&5O<&QE(")I;7!O<G0@;W,N
M<&%T:"(-"B @(" @(" @(" @(",@06QS;R!A;GD@<')E;&]A9&5D(&UO9'5L
M92!I<R!D96%L="!W:71H(&AE<F4@*$172"D-"B @(" @(" @(" @(&T@/2!T
M;W!?;6]D=6QE#0H@(" @(" @(" @("!F;W(@:2!I;B!X<F%N9V4H,2QL96XH
M<&%R=',I*3H-"B @(" @(" @(" @(" @("!I9B!N;W0@:&%S871T<BAM+"!P
M87)T<UMI72DZ#0H@(" @(" @(" @(" @(" @(" @(&T@/2!.;VYE#0H@(" @
M(" @(" @(" @(" @(" @(&)R96%K#0H@(" @(" @(" @(" @(" @;2 ](&=E
M=&%T='(H;2P@<&%R='-;:5TI#0H@(" @(" @(" @("!I9B!M.@T*(" @(" @
M(" @(" @(" @(&EF(&9R;VUL:7-T.@T*(" @(" @(" @(" @(" @(" @("!R
M971U<FX@;0T*(" @(" @(" @(" @(" @(')E='5R;B!T;W!?;6]D=6QE#0H-
M"B @(" @(" @(" @(",@268@=&AE(&EM<&]R=&5R(&1O97,@;F]T(&5X:7-T
M+"!T:&5N('=E(&AA=F4@=&\@8F%I;"X@02!M:7-S:6YG#0H@(" @(" @(" @
M(" C(&EM<&]R=&5R(&UE86YS('1H870@<V]M971H:6YG(&5L<V4@:6UP;W)T
M960@=&AE(&UO9'5L92P@86YD('=E(&AA=F4-"B @(" @(" @(" @(",@;F\@
M:VYO=VQE9&=E(&]F(&AO=R!T;R!G970@<W5B+6UO9'5L97,@;W5T(&]F('1H
M92!T:&EN9RX-"B @(" @(" @(" @(')A:7-E($EM<&]R=$5R<F]R+" G3F\@
M;6]D=6QE(&YA;65D("<@*R!F<6YA;64-"B @(" @(" @97AC97!T($EM<&]R
M=$5R<F]R.@T*(" @(" @(" @(" @:68@;F]T('-E;&8N8VAA:6XZ#0H@(" @
M(" @(" @(" @(" @(R!I9B!T:&5R92=S(&YO(&-H86EN(&%L;&]W960@=&AE
M;B!B86EL#0H@(" @(" @(" @(" @(" @<F%I<V4-"B @(" @(" @(" @(')E
M='5R;B!S96QF+G!R979I;W5S7VEM<&]R=&5R*&9Q;F%M92P@9VQO8F%L<RP@
M;&]C86QS+"!F<F]M;&ES="D-"@T*(" @(&1E9B!?9&5T97)M:6YE7VEM<&]R
M=%]C;VYT97AT*'-E;&8L(&=L;V)A;',I.@T*(" @(" @(" B(B)2971U<FYS
M('1H92!C;VYT97AT(&EN('=H:6-H(&$@;6]D=6QE('-H;W5L9"!B92!I;7!O
M<G1E9"X-"@T*(" @(" @("!4:&4@8V]N=&5X="!C;W5L9"!B92!A(&QO861E
M9" H<&%C:V%G92D@;6]D=6QE(&%N9"!T:&4@:6UP;W)T960@;6]D=6QE#0H@
M(" @(" @('=I;&P@8F4@;&]O:V5D(&9O<B!W:71H:6X@=&AA="!P86-K86=E
M+B!4:&4@8V]N=&5X="!C;W5L9"!A;'-O(&)E($YO;F4L#0H@(" @(" @(&UE
M86YI;F<@=&AE<F4@:7,@;F\@8V]N=&5X=" M+2!T:&4@;6]D=6QE('-H;W5L
M9"!B92!L;V]K960@9F]R(&%S(&$-"B @(" @(" @(G1O<"UL979E;"(@;6]D
M=6QE+@T*(" @(" @(" B(B(-"@T*(" @(" @("!I9B!N;W0@9VQO8F%L<R!O
M<B!N;W0@*'-E;&8N8VAA:6X@;W(@9VQO8F%L<RYG970H)U]?:6UP;W)T97)?
M7R<I*3H-"B @(" @(" @(" @(",@9VQO8F%L<R!D;V5S(&YO="!R969E<B!T
M;R!O;F4@;V8@;W5R(&UO9'5L97,@;W(@<&%C:V%G97,N(%1H870-"B @(" @
M(" @(" @(",@:6UP;&EE<R!T:&5R92!I<R!N;R!R96QA=&EV92!I;7!O<G0@
M8V]N=&5X=" H87,@9F%R(&%S('=E(&%R90T*(" @(" @(" @(" @(R!C;VYC
M97)N960I+"!A;F0@:70@<VAO=6QD(&IU<W0@<&EC:R!I="!O9F8@=&AE('-T
M86YD87)D('!A=&@N#0H@(" @(" @(" @(" C(&EF(&-H86EN:6YG('1H96X@
M=V4@;F5E9"!T;R!G970@=&AE(&-O;G1E>'0@9F]R('5N:VYO=VX@:6UP;W)T
M97)S#0H@(" @(" @(" @(" C(&YO(&UA='1E<B!W:&%T#0H@(" @(" @(" @
M("!R971U<FX@3F]N90T*#0H@(" @(" @(",@5&AE(&=L;V)A;',@<F5F97(@
M=&\@82!M;V1U;&4@;W(@<&%C:V%G92!O9B!O=7)S+B!)="!W:6QL(&1E9FEN
M90T*(" @(" @(" C('1H92!C;VYT97AT(&]F('1H92!N97<@:6UP;W)T+B!'
M970@=&AE(&UO9'5L92]P86-K86=E(&9Q;F%M92X-"B @(" @(" @<&%R96YT
M7V9Q;F%M92 ](&=L;V)A;',N9V5T*"=?7VYA;65?7R<L("<G*0T*#0H@(" @
M(" @(",@:68@82!P86-K86=E(&ES('!E<F9O<FUI;F<@=&AE(&EM<&]R="P@
M=&AE;B!R971U<FX@:71S96QF("AI;7!O<G1S#0H@(" @(" @(",@<F5F97(@
M=&\@<&MG(&-O;G1E;G1S*0T*(" @(" @("!I9B!G;&]B86QS+F=E="@G7U]I
M<W!K9U]?)RP@<V5L9BYC:&%I;B!A;F0@9VQO8F%L<RYG970H)U]?<&%T:%]?
M)RDI.@T*(" @(" @(" @(" @<&%R96YT(#T@<WES+FUO9'5L97-;<&%R96YT
M7V9Q;F%M95T-"B @(" @(" @(" @(&%S<V5R="!G;&]B86QS(&ES('!A<F5N
M="Y?7V1I8W1?7PT*(" @(" @(" @(" @<F5T=7)N('!A<F5N= T*#0H@(" @
M(" @(&D@/2!P87)E;G1?9G%N86UE+G)F:6YD*"<N)RD-"@T*(" @(" @(" C
M(&$@;6]D=6QE(&]U='-I9&4@;V8@82!P86-K86=E(&AA<R!N;R!P87)T:6-U
M;&%R(&EM<&]R="!C;VYT97AT#0H@(" @(" @(&EF(&D@/3T@+3$Z#0H@(" @
M(" @(" @("!R971U<FX@3F]N90T*#0H@(" @(" @(",@:68@82!M;V1U;&4@
M:6X@82!P86-K86=E(&ES('!E<F9O<FUI;F<@=&AE(&EM<&]R="P@=&AE;B!R
M971U<FX@=&AE#0H@(" @(" @(",@<&%C:V%G92 H:6UP;W)T<R!R969E<B!T
M;R!S:6)L:6YG<RD-"B @(" @(" @<&%R96YT7V9Q;F%M92 ]('!A<F5N=%]F
M<6YA;65;.FE=#0H@(" @(" @('!A<F5N=" ]('-Y<RYM;V1U;&5S6W!A<F5N
M=%]F<6YA;65=#0H@(" @(" @(&%S<V5R="!P87)E;G0N7U]N86UE7U\@/3T@
M<&%R96YT7V9Q;F%M90T*(" @(" @("!R971U<FX@<&%R96YT#0H-"B @("!D
M968@7VEM<&]R=%]T;W!?;6]D=6QE*'-E;&8L(&YA;64I.@T*(" @(" @(" C
M('-C86X@<WES+G!A=&@@;&]O:VEN9R!F;W(@82!L;V-A=&EO;B!I;B!T:&4@
M9FEL97-Y<W1E;2!T:&%T(&-O;G1A:6YS#0H@(" @(" @(",@=&AE(&UO9'5L
M92P@;W(@86X@26UP;W)T97(@;V)J96-T('1H870@8V%N(&EM<&]R="!T:&4@
M;6]D=6QE+@T*(" @(" @("!F;W(@:71E;2!I;B!S>7,N<&%T:#H-"B @(" @
M(" @(" @(&EF(&ES:6YS=&%N8V4H:71E;2P@26UP;W)T97(I.@T*(" @(" @
M(" @(" @(" @(&UO9'5L92 ](&ET96TN:6UP;W)T7W1O<"AN86UE*0T*(" @
M(" @(" @(" @96QI9B!I<VEN<W1A;F-E*&ET96TL(%]3=')I;F=4>7!E*3H-
M"B @(" @(" @(" @(" @("!M;V1U;&4@/2!S96QF+F9S7VEM<"YI;7!O<G1?
M9G)O;5]D:7(H:71E;2P@;F%M92D-"B @(" @(" @(" @(&5L<V4Z#0H@(" @
M(" @(" @(" @(" @(R!W92!D;VXG="!U;F1E<G-T86YD('1H:7,@<V\@=7-E
M('1H92!P<F5V:6]U<R!I;7!O<G1E<@T*(" @(" @(" @(" @(" @(&UO9'5L
M92 ]('-E;&8N<')E=FEO=7-?:6UP;W)T97(H;F%M92D-"B @(" @(" @(" @
M(&EF(&UO9'5L93H-"B @(" @(" @(" @(" @("!R971U<FX@;6]D=6QE#0H@
M(" @(" @(&EF('-E;&8N8VAA:6XZ#0H@(" @(" @(" @(" C(')E<V-A;B!T
M:&4@<&%T:',@86YD('5S92!T:&4@<')E=FEO=7,@:6UP;W)T97(-"B @(" @
M(" @(" @(&EF(&ES:6YS=&%N8V4H9V5T871T<BAS96QF+G!R979I;W5S7VEM
M<&]R=&5R+" G:6U?<V5L9B<L($YO;F4I+"!);7!O<G1-86YA9V5R*3H-"B @
M(" @(" @(" @(" @(" C(&-H86EN('1O('1H92!P<F5V:6]U<R!I;7!O<G1E
M<@T*(" @(" @(" @(" @(" @(')E='5R;B!S96QF+G!R979I;W5S7VEM<&]R
M=&5R+FEM7W-E;&8N7VEM<&]R=%]T;W!?;6]D=6QE*&YA;64I#0H@(" @(" @
M(" @(" C('5S92!T:&4@<WES=&5M(&EM<&]R=&5R#0H@(" @(" @(" @("!R
M971U<FX@<V5L9BYP<F5V:6]U<U]I;7!O<G1E<BAN86UE*0T*(" @(" @("!R
M971U<FX@3F]N90T*#0H@(" @9&5F(%]R96QO861?:&]O:RAS96QF+"!M;V1U
M;&4I.@T*(" @(" @(" B4'ET:&]N(&-A;&QS('1H:7,@:&]O:R!T;R!R96QO
M860@82!M;V1U;&4N(@T*#0H@(" @(" @(",@<F5L;V%D:6YG(&]F(&$@;6]D
M=6QE(&UA>2!O<B!M87D@;F]T(&)E('!O<W-I8FQE("AD97!E;F1I;F<@;VX@
M=&AE#0H@(" @(" @(",@:6UP;W)T97(I+"!B=70@870@;&5A<W0@=V4@8V%N
M('9A;&ED871E('1H870@:70G<R!O=7)S('1O(')E;&]A9 T*(" @(" @("!I
M;7!O<G1E<B ](&UO9'5L92Y?7V1I8W1?7RYG970H)U]?:6UP;W)T97)?7R<I
M#0H@(" @(" @(&EF(&YO="!I;7!O<G1E<CH-"B @(" @(" @(" @(",@<&%S
M<R!D;W=N('1H92!R96QO860@8VAA:6X-"B @(" @(" @(" @(')E='5R;B!S
M96QF+G!R979I;W5S7W)E;&]A9"AM;V1U;&4I#0H-"B @(" @(" @(R!O:V%Y
M+B!I="!I<R!U<VEN9R!T:&4@:6UP=71I;"!S>7-T96TL(&%N9"!W92!M=7-T
M(&1E;&5G871E(&ET+"!B=70-"B @(" @(" @<F5T=7)N(&EM<&]R=&5R+E]R
M96QO860H;6]D=6QE*0T*#0H-"F-L87-S($EM<&]R=&5R.@T*(" @(")"87-E
M(&-L87-S(&9O<B!R97!L86-I;F<@<W1A;F1A<F0@:6UP;W)T(&9U;F-T:6]N
M<RXB#0H-"B @("!D968@:6UP;W)T7W1O<"AS96QF+"!N86UE*3H-"B @(" @
M(" @(DEM<&]R="!A('1O<"UL979E;"!M;V1U;&4N(@T*(" @(" @("!R971U
M<FX@<V5L9BY?:6UP;W)T7V]N92A.;VYE+"!N86UE+"!N86UE*0T*#0H@(" @
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(PT*(" @(",-"B @(" C(%!2259!
M5$4@34542$]$4PT*(" @(",-"B @("!D968@7V9I;FES:%]I;7!O<G0H<V5L
M9BP@=&]P+"!P87)T<RP@9G)O;6QI<W0I.@T*(" @(" @(" C(&EF(")A+F(N
M8R(@=V%S('!R;W9I9&5D+"!T:&5N(&QO860@=&AE("(N8BYC(B!P;W)T:6]N
M(&1O=VX@9G)O;0T*(" @(" @(" C(&)E;&]W('1H92!T;W M;&5V96P@;6]D
M=6QE+@T*(" @(" @("!B;W1T;VT@/2!S96QF+E]L;V%D7W1A:6PH=&]P+"!P
M87)T<RD-"@T*(" @(" @(" C(&EF('1H92!F;W)M(&ES(")I;7!O<G0@82YB
M+F,B+"!T:&5N(')E='5R;B B82(-"B @(" @(" @:68@;F]T(&9R;VUL:7-T
M.@T*(" @(" @(" @(" @(R!N;R!F<F]M;&ES=#H@<F5T=7)N('1H92!T;W @
M;V8@=&AE(&EM<&]R="!T<F5E#0H@(" @(" @(" @("!R971U<FX@=&]P#0H-
M"B @(" @(" @(R!T:&4@=&]P(&UO9'5L92!W87,@:6UP;W)T960@8GD@<V5L
M9BX-"B @(" @(" @(PT*(" @(" @(" C('1H:7,@;65A;G,@=&AA="!T:&4@
M8F]T=&]M(&UO9'5L92!W87,@86QS;R!I;7!O<G1E9"!B>2!S96QF("AJ=7-T
M#0H@(" @(" @(",@;F]W+"!O<B!I;B!T:&4@<&%S="!A;F0@=V4@9F5T8VAE
M9"!I="!F<F]M('-Y<RYM;V1U;&5S*2X-"B @(" @(" @(PT*(" @(" @(" C
M('-I;F-E('=E(&EM<&]R=&5D+VAA;F1L960@=&AE(&)O='1O;2!M;V1U;&4L
M('1H:7,@;65A;G,@=&AA="!W92!C86X-"B @(" @(" @(R!A;'-O(&AA;F1L
M92!I=',@9G)O;6QI<W0@*&%N9"!R96QI86)L>2!U<V4@7U]I<W!K9U]?*2X-
M"@T*(" @(" @(" C(&EF('1H92!B;W1T;VT@;F]D92!I<R!A('!A8VMA9V4L
M('1H96X@*'!O=&5N=&EA;&QY*2!I;7!O<G0@<V]M90T*(" @(" @(" C(&UO
M9'5L97,N#0H@(" @(" @(",-"B @(" @(" @(R!N;W1E.B!I9B!I="!I<R!N
M;W0@82!P86-K86=E+"!T:&5N(")F<F]M;&ES="(@<F5F97)S('1O(&YA;65S
M(&EN#0H@(" @(" @(",@(" @(" @=&AE(&)O='1O;2!M;V1U;&4@<F%T:&5R
M('1H86X@;6]D=6QE<RX-"B @(" @(" @(R!N;W1E.B!F;W(@82!M:7@@;V8@
M;F%M97,@86YD(&UO9'5L97,@:6X@=&AE(&9R;VUL:7-T+"!W92!W:6QL#0H@
M(" @(" @(",@(" @(" @:6UP;W)T(&%L;"!M;V1U;&5S(&%N9"!I;G-E<G0@
M=&AO<V4@:6YT;R!T:&4@;F%M97-P86-E(&]F#0H@(" @(" @(",@(" @(" @
M=&AE('!A8VMA9V4@;6]D=6QE+B!0>71H;VX@=VEL;"!P:6-K('5P(&%L;"!F
M<F]M;&ES="!N86UE<PT*(" @(" @(" C(" @(" @(&9R;VT@=&AE(&)O='1O
M;2 H<&%C:V%G92D@;6]D=6QE.R!S;VUE('=I;&P@8F4@;6]D=6QE<R!T:&%T
M#0H@(" @(" @(",@(" @(" @=V4@:6UP;W)T960@86YD('-T;W)E9"!I;B!T
M:&4@;F%M97-P86-E+"!O=&AE<G,@87)E(&5X<&5C=&5D#0H@(" @(" @(",@
M(" @(" @=&\@8F4@<')E<V5N="!A;')E861Y+@T*(" @(" @("!I9B!B;W1T
M;VTN7U]I<W!K9U]?.@T*(" @(" @(" @(" @<V5L9BY?:6UP;W)T7V9R;VUL
M:7-T*&)O='1O;2P@9G)O;6QI<W0I#0H-"B @(" @(" @(R!I9B!T:&4@9F]R
M;2!I<R B9G)O;2!A+F(@:6UP;W)T(&,L(&0B('1H96X@<F5T=7)N(")B(@T*
M(" @(" @("!R971U<FX@8F]T=&]M#0H-"B @("!D968@7VEM<&]R=%]O;F4H
M<V5L9BP@<&%R96YT+"!M;V1N86UE+"!F<6YA;64I.@T*(" @(" @(" B26UP
M;W)T(&$@<VEN9VQE(&UO9'5L92XB#0H-"B @(" @(" @(R!H87,@=&AE(&UO
M9'5L92!A;')E861Y(&)E96X@:6UP;W)T960_#0H@(" @(" @('1R>3H-"B @
M(" @(" @(" @(')E='5R;B!S>7,N;6]D=6QE<UMF<6YA;65=#0H@(" @(" @
M(&5X8V5P="!+97E%<G)O<CH-"B @(" @(" @(" @('!A<W,-"@T*(" @(" @
M(" C(&QO860@=&AE(&UO9'5L92=S(&-O9&4L(&]R(&9E=&-H('1H92!M;V1U
M;&4@:71S96QF#0H@(" @(" @(')E<W5L=" ]('-E;&8N9V5T7V-O9&4H<&%R
M96YT+"!M;V1N86UE+"!F<6YA;64I#0H@(" @(" @(&EF(')E<W5L="!I<R!.
M;VYE.@T*(" @(" @(" @(" @<F5T=7)N($YO;F4-"@T*(" @(" @("!M;V1U
M;&4@/2!S96QF+E]P<F]C97-S7W)E<W5L="AR97-U;'0L(&9Q;F%M92P@<&%R
M96YT+"!M;V1N86UE*0T*#0H@(" @(" @(",@:6YS97)T('1H92!M;V1U;&4@
M:6YT;R!I=',@<&%R96YT#0H@(" @(" @(&EF('!A<F5N=#H-"B @(" @(" @
M(" @('-E=&%T='(H<&%R96YT+"!M;V1N86UE+"!M;V1U;&4I#0H@(" @(" @
M(')E='5R;B!M;V1U;&4-"@T*(" @(&1E9B!?<')O8V5S<U]R97-U;'0H<V5L
M9BP@*&ES<&MG+"!C;V1E+"!V86QU97,I+"!F<6YA;64L('!A<F5N="P@;6]D
M;F%M92DZ#0H@(" @(" @(",@9&ED(&=E=%]C;V1E*"D@<F5T=7)N(&%N(&%C
M='5A;"!M;V1U;&4_("AR871H97(@=&AA;B!A(&-O9&4@;V)J96-T*0T*(" @
M(" @("!I<U]M;V1U;&4@/2!I<VEN<W1A;F-E*&-O9&4L(%]-;V1U;&54>7!E
M*0T*#0H@(" @(" @(",@=7-E('1H92!R971U<FYE9"!M;V1U;&4L(&]R(&-R
M96%T92!A(&YE=R!O;F4@=&\@97AE8R!C;V1E(&EN=&\-"B @(" @(" @:68@
M:7-?;6]D=6QE.@T*(" @(" @(" @(" @;6]D=6QE(#T@8V]D90T*(" @(" @
M("!E;'-E.@T*(" @(" @(" @(" @;6]D=6QE(#T@:6UP+FYE=U]M;V1U;&4H
M9G%N86UE*0T*#0H@(" @(" @(",C(R!R96-O<F0@<&%C:V%G97,@82!B:70@
M9&EF9F5R96YT;'D_/PT*(" @(" @("!M;V1U;&4N7U]I;7!O<G1E<E]?(#T@
M<V5L9@T*(" @(" @("!M;V1U;&4N7U]I<W!K9U]?(#T@:7-P:V<-"B @(" @
M(" @(R!R97%U:7)E9"!F;W(@<F5L;V%D#0H@(" @(" @(&UO9'5L92Y?7VEM
M<&]R=%]I;F9O7U\@/2 H<&%R96YT+"!M;V1N86UE+"!F<6YA;64I#0H-"B @
M(" @(" @(R!I;G-E<G0@861D:71I;VYA;"!V86QU97,@:6YT;R!T:&4@;6]D
M=6QE("AB969O<F4@97AE8W5T:6YG('1H92!C;V1E*0T*(" @(" @("!M;V1U
M;&4N7U]D:6-T7U\N=7!D871E*'9A;'5E<RD-"@T*(" @(" @(" C('1H92!M
M;V1U;&4@:7,@86QM;W-T(')E861Y+BXN(&UA:V4@:70@=FES:6)L90T*(" @
M(" @("!S>7,N;6]D=6QE<UMF<6YA;65=(#T@;6]D=6QE#0H-"B @(" @(" @
M(R!E>&5C=71E('1H92!C;V1E('=I=&AI;B!T:&4@;6]D=6QE)W,@;F%M97-P
M86-E#0H@(" @(" @(&EF(&YO="!I<U]M;V1U;&4Z#0H@(" @(" @(" @("!E
M>&5C(&-O9&4@:6X@;6]D=6QE+E]?9&EC=%]?#0H-"B @(" @(" @(R!F971C
M:"!F<F]M('-Y<RYM;V1U;&5S(&EN<W1E860@;V8@<F5T=7)N:6YG(&UO9'5L
M92!D:7)E8W1L>2X-"B @(" @(" @(R!A;'-O(&UA:V4@;6]D=6QE)W,@7U]N
M86UE7U\@86=R964@=VET:"!F<6YA;64L(&EN(&-A<V4-"B @(" @(" @(R!T
M:&4@(F5X96,@8V]D92!I;B!M;V1U;&4N7U]D:6-T7U\B('!L87EE9"!G86UE
M<R!O;B!U<RX-"B @(" @(" @;6]D=6QE(#T@<WES+FUO9'5L97-;9G%N86UE
M70T*(" @(" @("!M;V1U;&4N7U]N86UE7U\@/2!F<6YA;64-"B @(" @(" @
M<F5T=7)N(&UO9'5L90T*#0H@(" @9&5F(%]L;V%D7W1A:6PH<V5L9BP@;2P@
M<&%R=',I.@T*(" @(" @(" B(B));7!O<G0@=&AE(')E<W0@;V8@=&AE(&UO
M9'5L97,L(&1O=VX@9G)O;2!T:&4@=&]P+6QE=F5L(&UO9'5L92X-"@T*(" @
M(" @("!2971U<FYS('1H92!L87-T(&UO9'5L92!I;B!T:&4@9&]T=&5D(&QI
M<W0@;V8@;6]D=6QE<RX-"B @(" @(" @(B(B#0H@(" @(" @(&9O<B!P87)T
M(&EN('!A<G1S.@T*(" @(" @(" @(" @9G%N86UE(#T@(B5S+B5S(B E("AM
M+E]?;F%M95]?+"!P87)T*0T*(" @(" @(" @(" @;2 ]('-E;&8N7VEM<&]R
M=%]O;F4H;2P@<&%R="P@9G%N86UE*0T*(" @(" @(" @(" @:68@;F]T(&TZ
M#0H@(" @(" @(" @(" @(" @<F%I<V4@26UP;W)T17)R;W(L(").;R!M;V1U
M;&4@;F%M960@(B K(&9Q;F%M90T*(" @(" @("!R971U<FX@;0T*#0H@(" @
M9&5F(%]I;7!O<G1?9G)O;6QI<W0H<V5L9BP@<&%C:V%G92P@9G)O;6QI<W0I
M.@T*(" @(" @(" G26UP;W)T(&%N>2!S=6(M;6]D=6QE<R!I;B!T:&4@(F9R
M;VTB(&QI<W0N)PT*#0H@(" @(" @(",@:68@)RHG(&ES('!R97-E;G0@:6X@
M=&AE(&9R;VUL:7-T+"!T:&5N(&QO;VL@9F]R('1H92 G7U]A;&Q?7R<-"B @
M(" @(" @(R!V87)I86)L92!T;R!F:6YD(&%D9&ET:6]N86P@:71E;7,@*&UO
M9'5L97,I('1O(&EM<&]R="X-"B @(" @(" @:68@)RHG(&EN(&9R;VUL:7-T
M.@T*(" @(" @(" @(" @9G)O;6QI<W0@/2!L:7-T*&9R;VUL:7-T*2 K(%P-
M"B @(" @(" @(" @(" @(" @(" @(" @;&ES="AP86-K86=E+E]?9&EC=%]?
M+F=E="@G7U]A;&Q?7R<L(%M=*2D-"@T*(" @(" @("!F;W(@<W5B(&EN(&9R
M;VUL:7-T.@T*(" @(" @(" @(" @(R!I9B!T:&4@;F%M92!I<R!A;')E861Y
M('!R97-E;G0L('1H96X@9&]N)W0@=')Y('1O(&EM<&]R="!I=" H:70-"B @
M(" @(" @(" @(",@;6EG:'0@;F]T(&)E(&$@;6]D=6QE(2DN#0H@(" @(" @
M(" @("!I9B!S=6(@(3T@)RHG(&%N9"!N;W0@:&%S871T<BAP86-K86=E+"!S
M=6(I.@T*(" @(" @(" @(" @(" @('-U8FYA;64@/2 B)7,N)7,B("4@*'!A
M8VMA9V4N7U]N86UE7U\L('-U8BD-"B @(" @(" @(" @(" @("!S=6)M;V0@
M/2!S96QF+E]I;7!O<G1?;VYE*'!A8VMA9V4L('-U8BP@<W5B;F%M92D-"B @
M(" @(" @(" @(" @("!I9B!N;W0@<W5B;6]D.@T*(" @(" @(" @(" @(" @
M(" @("!R86ES92!);7!O<G1%<G)O<BP@(F-A;FYO="!I;7!O<G0@;F%M92 B
M("L@<W5B;F%M90T*#0H@(" @9&5F(%]D;U]I;7!O<G0H<V5L9BP@<&%R96YT
M+"!P87)T<RP@9G)O;6QI<W0I.@T*(" @(" @(" B(B)!='1E;7!T('1O(&EM
M<&]R="!T:&4@;6]D=6QE(')E;&%T:79E('1O('!A<F5N="X-"@T*(" @(" @
M("!4:&ES(&UE=&AO9"!I<R!U<V5D('=H96X@=&AE(&EM<&]R="!C;VYT97AT
M('-P96-I9FEE<R!T:&%T(#QS96QF/@T*(" @(" @("!I;7!O<G1E9"!T:&4@
M<&%R96YT(&UO9'5L92X-"B @(" @(" @(B(B#0H@(" @(" @('1O<%]N86UE
M(#T@<&%R='-;,%T-"B @(" @(" @=&]P7V9Q;F%M92 ]('!A<F5N="Y?7VYA
M;65?7R K("<N)R K('1O<%]N86UE#0H@(" @(" @('1O<%]M;V1U;&4@/2!S
M96QF+E]I;7!O<G1?;VYE*'!A<F5N="P@=&]P7VYA;64L('1O<%]F<6YA;64I
M#0H@(" @(" @(&EF(&YO="!T;W!?;6]D=6QE.@T*(" @(" @(" @(" @(R!T
M:&ES(&EM<&]R=&5R(&%N9"!P87)E;G0@8V]U;&0@;F]T(&9I;F0@=&AE(&UO
M9'5L92 H<F5L871I=F5L>2D-"B @(" @(" @(" @(')E='5R;B!.;VYE#0H-
M"B @(" @(" @<F5T=7)N('-E;&8N7V9I;FES:%]I;7!O<G0H=&]P7VUO9'5L
M92P@<&%R='-;,3I=+"!F<F]M;&ES="D-"@T*(" @(&1E9B!?<F5L;V%D*'-E
M;&8L(&UO9'5L92DZ#0H@(" @(" @("(B(E)E;&]A9"!T:&4@9VEV96X@;6]D
M=6QE(B(B#0H@(" @(" @(",@9V5T('1H92!S='5F9B!W92!N965D#0H@(" @
M(" @(&EM<&]R=&5R(#T@;6]D=6QE+E]?:6UP;W)T97)?7PT*(" @(" @("!I
M<W!K9R ](&UO9'5L92Y?7VES<&MG7U\-"B @(" @(" @;F%M92 ](&UO9'5L
M92Y?7VYA;65?7PT*(" @(" @("!P87)E;G0L(&UO9&YA;64L(&9Q;F%M92 ]
M(&UO9'5L92Y?7VEM<&]R=%]I;F9O7U\-"B @(" @(" @(R!N=6ME('1H92!D
M:6-T#0H@(" @(" @('9A<G,H;6]D=6QE*2YC;&5A<B@I#0H-"B @(" @(" @
M<V5L9BYR96QO861?8V]D92AP87)E;G0L(&UO9&YA;64L(&9Q;F%M92P@;6]D
M=6QE*0T*#0H@(" @(" @(",@<'5T(&)A8VL@=&AE(&5S<V5N=&EA;',-"B @
M(" @(" @;6]D=6QE+E]?:6UP;W)T97)?7R ](&EM<&]R=&5R#0H@(" @(" @
M(&UO9'5L92Y?7VES<&MG7U\@/2!I<W!K9PT*(" @(" @("!M;V1U;&4N7U]N
M86UE7U\@/2!N86UE#0H@(" @(" @(&UO9'5L92Y?7VEM<&]R=%]I;F9O7U\@
M/2 H<&%R96YT+"!M;V1N86UE+"!F<6YA;64I#0H-"B @(" C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C#0H@(" @(PT*(" @(",@34542$]$4R!43R!/5D52
M4DE$10T*(" @(",-"B @("!D968@9V5T7V-O9&4H<V5L9BP@<&%R96YT+"!M
M;V1N86UE+"!F<6YA;64I.@T*(" @(" @(" B(B)&:6YD(&%N9"!R971R:65V
M92!T:&4@8V]D92!F;W(@=&AE(&=I=F5N(&UO9'5L92X-"@T*(" @(" @("!P
M87)E;G0@<W!E8VEF:65S(&$@<&%R96YT(&UO9'5L92!T;R!D969I;F4@82!C
M;VYT97AT(&9O<B!I;7!O<G1I;F<N($ET#0H@(" @(" @(&UA>2!B92!.;VYE
M+"!I;F1I8V%T:6YG(&YO('!A<G1I8W5L87(@8V]N=&5X="!F;W(@=&AE('-E
M87)C:"X-"@T*(" @(" @("!M;V1N86UE('-P96-I9FEE<R!A('-I;F=L92!M
M;V1U;&4@*&YO="!D;W1T960I('=I=&AI;B!T:&4@<&%R96YT+@T*#0H@(" @
M(" @(&9Q;F%M92!S<&5C:69I97,@=&AE(&9U;&QY+7%U86QI9FEE9"!M;V1U
M;&4@;F%M92X@5&AI<R!I<R!A#0H@(" @(" @("AP;W1E;G1I86QL>2D@9&]T
M=&5D(&YA;64@9G)O;2!T:&4@(G)O;W0B(&]F('1H92!M;V1U;&4@;F%M97-P
M86-E#0H@(" @(" @(&1O=VX@=&\@=&AE(&UO9&YA;64N#0H@(" @(" @($EF
M('1H97)E(&ES(&YO('!A<F5N="P@=&AE;B!M;V1N86UE/3UF<6YA;64N#0H-
M"B @(" @(" @5&AI<R!M971H;V0@<VAO=6QD(')E='5R;B!.;VYE+"!O<B!A
M(#,M='5P;&4N#0H-"B @(" @(" @*B!)9B!T:&4@;6]D=6QE('=A<R!N;W0@
M9F]U;F0L('1H96X@3F]N92!S:&]U;&0@8F4@<F5T=7)N960N#0H-"B @(" @
M(" @*B!4:&4@9FER<W0@:71E;2!O9B!T:&4@,BT@;W(@,RUT=7!L92!S:&]U
M;&0@8F4@=&AE(&EN=&5G97(@,"!O<B Q+ T*(" @(" @(" @(" @<W!E8VEF
M>6EN9R!W:&5T:&5R('1H92!M;V1U;&4@=&AA="!W87,@9F]U;F0@:7,@82!P
M86-K86=E(&]R(&YO="X-"@T*(" @(" @(" J(%1H92!S96-O;F0@:71E;2!I
M<R!T:&4@8V]D92!O8FIE8W0@9F]R('1H92!M;V1U;&4@*&ET('=I;&P@8F4-
M"B @(" @(" @(" @(&5X96-U=&5D('=I=&AI;B!T:&4@;F5W(&UO9'5L92=S
M(&YA;65S<&%C92DN(%1H:7,@:71E;2!C86X@86QS;PT*(" @(" @(" @(" @
M8F4@82!F=6QL>2UL;V%D960@;6]D=6QE(&]B:F5C=" H92YG+B!L;V%D960@
M9G)O;2!A('-H87)E9"!L:6(I+@T*#0H@(" @(" @("H@5&AE('1H:7)D(&ET
M96T@:7,@82!D:6-T:6]N87)Y(&]F(&YA;64O=F%L=64@<&%I<G,@=&AA="!W
M:6QL(&)E#0H@(" @(" @(" @("!I;G-E<G1E9"!I;G1O(&YE=R!M;V1U;&4@
M8F5F;W)E('1H92!C;V1E(&]B:F5C="!I<R!E>&5C=71E9"X@5&AI<PT*(" @
M(" @(" @(" @:7,@<')O=FED960@:6X@8V%S92!T:&4@;6]D=6QE)W,@8V]D
M92!E>'!E8W1S(&-E<G1A:6X@=F%L=65S("AS=6-H#0H@(" @(" @(" @("!A
M<R!W:&5R92!T:&4@;6]D=6QE('=A<R!F;W5N9"DN(%=H96X@=&AE('-E8V]N
M9"!I=&5M(&ES(&$@;6]D=6QE#0H@(" @(" @(" @("!O8FIE8W0L('1H96X@
M=&AE<V4@;F%M97,O=F%L=65S('=I;&P@8F4@:6YS97)T960@*F%F=&5R*B!T
M:&4@;6]D=6QE#0H@(" @(" @(" @("!H87,@8F5E;B!L;V%D960O:6YI=&EA
M;&EZ960N#0H@(" @(" @("(B(@T*(" @(" @("!R86ES92!2=6YT:6UE17)R
M;W(L(")G971?8V]D92!N;W0@:6UP;&5M96YT960B#0H-"B @("!D968@<F5L
M;V%D7V-O9&4H<V5L9BP@<&%R96YT+"!M;V1N86UE+"!F<6YA;64L(&UO9'5L
M92DZ#0H@(" @(" @("(B(E)E;&]A9"!T:&4@;6]D=6QE(&EF('=E(&-A;B(B
M(@T*(" @(" @("!I<W!K9RP@8V]D92P@=F%L=65S(#T@<V5L9BYG971?8V]D
M92AP87)E;G0L(&UO9&YA;64L(&9Q;F%M92D-"@T*(" @(" @("!I9B!I<VEN
M<W1A;F-E*&-O9&4L(%]-;V1U;&54>7!E*3H-"B @(" @(" @(" @(",@=')Y
M(&%N9"!C;W!Y('1H92!M;V1U;&4@9&EC= T*(" @(" @(" @(" @;6]D=6QE
M+E]?9&EC=%]?+G5P9&%T92AC;V1E+E]?9&EC=%]?*0T*(" @(" @("!E;'-E
M.@T*(" @(" @(" @(" @97AE8R!C;V1E(&EN(&UO9'5L92Y?7V1I8W1?7PT*
M(" @(" @(" -"@T*(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(PT*(PT*(R!3
M;VUE(&AA;F1Y('-T=69F(&9O<B!T:&4@26UP;W)T97)S#0HC#0H-"B,@8GET
M92UC;VUP:6QE9"!F:6QE('-U9F9I>"!C:&%R86-T97(-"E]S=69F:7A?8VAA
M<B ](%]?9&5B=6=?7R!A;F0@)V,G(&]R("=O)PT*#0HC(&)Y=&4M8V]M<&EL
M960@9FEL92!S=69F:7@-"E]S=69F:7@@/2 G+G!Y)R K(%]S=69F:7A?8VAA
M<@T*#0ID968@7V-O;7!I;&4H<&%T:&YA;64L('1I;65S=&%M<"DZ#0H@(" @
M(B(B0V]M<&EL92 H86YD(&-A8VAE*2!A(%!Y=&AO;B!S;W5R8V4@9FEL92X-
M"@T*(" @(%1H92!F:6QE('-P96-I9FEE9"!B>2 \<&%T:&YA;64^(&ES(&-O
M;7!I;&5D('1O(&$@8V]D92!O8FIE8W0@86YD#0H@(" @<F5T=7)N960N#0H-
M"B @("!0<F5S=6UI;F<@=&AE(&%P<')O<')I871E('!R:79I;&5G97,@97AI
M<W0L('1H92!B>71E8V]D97,@=VEL;"!B90T*(" @('-A=F5D(&)A8VL@=&\@
M=&AE(&9I;&5S>7-T96T@9F]R(&9U='5R92!I;7!O<G1S+B!4:&4@<V]U<F-E
M(&9I;&4G<PT*(" @(&UO9&EF:6-A=&EO;B!T:6UE<W1A;7 @;75S="!B92!P
M<F]V:61E9"!A<R!A($QO;F<@=F%L=64N#0H@(" @(B(B#0H@(" @8V]D97-T
M<FEN9R ](&]P96XH<&%T:&YA;64L("=R)RDN<F5A9"@I#0H@(" @:68@8V]D
M97-T<FEN9R!A;F0@8V]D97-T<FEN9ULM,5T@(3T@)UQN)SH-"B @(" @(" @
M8V]D97-T<FEN9R ](&-O9&5S=')I;F<@*R G7&XG#0H@(" @8V]D92 ](%]?
M8G5I;'1I;E]?+F-O;7!I;&4H8V]D97-T<FEN9RP@<&%T:&YA;64L("=E>&5C
M)RD-"@T*(" @(",@=')Y('1O(&-A8VAE('1H92!C;VUP:6QE9"!C;V1E#0H@
M(" @=')Y.@T*(" @(" @("!F(#T@;W!E;BAP871H;F%M92 K(%]S=69F:7A?
M8VAA<BP@)W=B)RD-"B @("!E>&-E<'0@24]%<G)O<CH-"B @(" @(" @<&%S
M<PT*(" @(&5L<V4Z#0H@(" @(" @(&8N=W)I=&4H)UPP7#!<,%PP)RD-"B @
M(" @(" @9BYW<FET92AS=')U8W0N<&%C:R@G/$DG+"!T:6UE<W1A;7 I*0T*
M(" @(" @("!M87)S:&%L+F1U;7 H8V]D92P@9BD-"B @(" @(" @9BYF;'5S
M:"@I#0H@(" @(" @(&8N<V5E:R@P+" P*0T*(" @(" @("!F+G=R:71E*&EM
M<"YG971?;6%G:6,H*2D-"B @(" @(" @9BYC;&]S92@I#0H-"B @("!R971U
M<FX@8V]D90T*#0I?;W-?<W1A=" ](%]O<U]P871H7VIO:6X@/2!.;VYE#0ID
M968@7V]S7V)O;W1S=')A<"@I.@T*(" @(")3970@=7 @)V]S)R!M;V1U;&4@
M<F5P;&%C96UE;G0@9G5N8W1I;VYS(&9O<B!U<V4@9'5R:6YG(&EM<&]R="!B
M;V]T<W1R87 N(@T*#0H@(" @;F%M97,@/2!S>7,N8G5I;'1I;E]M;V1U;&5?
M;F%M97,-"@T*(" @(&IO:6X@/2!.;VYE#0H@(" @:68@)W!O<VEX)R!I;B!N
M86UE<SH-"B @(" @(" @<V5P(#T@)R\G#0H@(" @(" @(&9R;VT@<&]S:7@@
M:6UP;W)T('-T870-"B @("!E;&EF("=N="<@:6X@;F%M97,Z#0H@(" @(" @
M('-E<" ]("=<7"<-"B @(" @(" @9G)O;2!N="!I;7!O<G0@<W1A= T*(" @
M(&5L:68@)V1O<R<@:6X@;F%M97,Z#0H@(" @(" @('-E<" ]("=<7"<-"B @
M(" @(" @9G)O;2!D;W,@:6UP;W)T('-T870-"B @("!E;&EF("=O<S(G(&EN
M(&YA;65S.@T*(" @(" @("!S97 @/2 G7%PG#0H@(" @(" @(&9R;VT@;W,R
M(&EM<&]R="!S=&%T#0H@(" @96QI9B G;6%C)R!I;B!N86UE<SH-"B @(" @
M(" @9G)O;2!M86,@:6UP;W)T('-T870-"B @(" @(" @9&5F(&IO:6XH82P@
M8BDZ#0H@(" @(" @(" @("!I9B!A(#T]("<G.@T*(" @(" @(" @(" @(" @
M(')E='5R;B!B#0H@(" @(" @(" @("!P871H(#T@<PT*(" @(" @(" @(" @
M:68@)SHG(&YO="!I;B!A.@T*(" @(" @(" @(" @(" @(&$@/2 G.B<@*R!A
M#0H@(" @(" @(" @("!I9B!A6RTQ.ET@(3T@)SHG.@T*(" @(" @(" @(" @
M(" @(&$@/2!A("L@)SHG#0H@(" @(" @(" @("!R971U<FX@82 K(&(-"B @
M("!E;'-E.@T*(" @(" @("!R86ES92!);7!O<G1%<G)O<BP@)VYO(&]S('-P
M96-I9FEC(&UO9'5L92!F;W5N9"<-"@T*(" @(&EF(&IO:6X@:7,@3F]N93H-
M"B @(" @(" @9&5F(&IO:6XH82P@8BP@<V5P/7-E<"DZ#0H@(" @(" @(" @
M("!I9B!A(#T]("<G.@T*(" @(" @(" @(" @(" @(')E='5R;B!B#0H@(" @
M(" @(" @("!L87-T8VAA<B ](&%;+3$Z70T*(" @(" @(" @(" @:68@;&%S
M=&-H87(@/3T@)R\G(&]R(&QA<W1C:&%R(#T]('-E<#H-"B @(" @(" @(" @
M(" @("!R971U<FX@82 K(&(-"B @(" @(" @(" @(')E='5R;B!A("L@<V5P
M("L@8@T*#0H@(" @9VQO8F%L(%]O<U]S=&%T#0H@(" @7V]S7W-T870@/2!S
M=&%T#0H-"B @("!G;&]B86P@7V]S7W!A=&A?:F]I;@T*(" @(%]O<U]P871H
M7VIO:6X@/2!J;VEN#0H-"F1E9B!?;W-?<&%T:%]I<V1I<BAP871H;F%M92DZ
M#0H@(" @(DQO8V%L(')E<&QA8V5M96YT(&9O<B!O<RYP871H+FES9&ER*"DN
M(@T*(" @('1R>3H-"B @(" @(" @<R ](%]O<U]S=&%T*'!A=&AN86UE*0T*
M(" @(&5X8V5P="!/4T5R<F]R.@T*(" @(" @("!R971U<FX@3F]N90T*(" @
M(')E='5R;B H<ULP72 F(# Q-S P,# I(#T](# P-# P,# -"@T*9&5F(%]T
M:6UE<W1A;7 H<&%T:&YA;64I.@T*(" @(")2971U<FX@=&AE(&9I;&4@;6]D
M:69I8V%T:6]N('1I;64@87,@82!,;VYG+B(-"B @("!T<GDZ#0H@(" @(" @
M(',@/2!?;W-?<W1A="AP871H;F%M92D-"B @("!E>&-E<'0@3U-%<G)O<CH-
M"B @(" @(" @<F5T=7)N($YO;F4-"B @("!R971U<FX@;&]N9RAS6SA=*0T*
M#0H-"B,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,-"B,-"B,@16UU;&%T92!T
M:&4@:6UP;W)T(&UE8VAA;FES;2!F;W(@8G5I;'1I;B!A;F0@9G)O>F5N(&UO
M9'5L97,-"B,-"F-L87-S($)U:6QT:6Y);7!O<G1E<BA);7!O<G1E<BDZ#0H@
M(" @9&5F(&=E=%]C;V1E*'-E;&8L('!A<F5N="P@;6]D;F%M92P@9G%N86UE
M*3H-"B @(" @(" @:68@<&%R96YT.@T*(" @(" @(" @(" @(R!T:&5S92!M
M;V1U;&5S(&1E9FEN:71E;'D@9&\@;F]T(&]C8W5R('=I=&AI;B!A('!A8VMA
M9V4@8V]N=&5X= T*(" @(" @(" @(" @<F5T=7)N($YO;F4-"@T*(" @(" @
M(" C(&QO;VL@9F]R('1H92!M;V1U;&4-"B @(" @(" @:68@:6UP+FES7V)U
M:6QT:6XH;6]D;F%M92DZ#0H@(" @(" @(" @("!T>7!E(#T@:6UP+D-?0E5)
M3%1)3@T*(" @(" @("!E;&EF(&EM<"YI<U]F<F]Z96XH;6]D;F%M92DZ#0H@
M(" @(" @(" @("!T>7!E(#T@:6UP+E!97T923UI%3@T*(" @(" @("!E;'-E
M.@T*(" @(" @(" @(" @(R!N;W0@9F]U;F0-"B @(" @(" @(" @(')E='5R
M;B!.;VYE#0H-"B @(" @(" @(R!G;W0@:70N(&YO=R!L;V%D(&%N9"!R971U
M<FX@:70N#0H@(" @(" @(&UO9'5L92 ](&EM<"YL;V%D7VUO9'5L92AM;V1N
M86UE+"!.;VYE+"!M;V1N86UE+" H)R<L("<G+"!T>7!E*2D-"B @(" @(" @
M<F5T=7)N(# L(&UO9'5L92P@>R!]#0H-"@T*(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(PT*(PT*(R!);G1E<FYA;"!I;7!O<G1E<B!U<V5D(&9O<B!I;7!O
M<G1I;F<@9G)O;2!T:&4@9FEL97-Y<W1E;0T*(PT*8VQA<W,@7T9I;&5S>7-T
M96U);7!O<G1E<BA);7!O<G1E<BDZ#0H@(" @9&5F(%]?:6YI=%]?*'-E;&8I
M.@T*(" @(" @("!S96QF+G-U9F9I>&5S(#T@6R!=#0H-"B @("!D968@861D
M7W-U9F9I>"AS96QF+"!S=69F:7@L(&EM<&]R=$9U;F,I.@T*(" @(" @("!A
M<W-E<G0@8V%L;&%B;&4H:6UP;W)T1G5N8RD-"B @(" @(" @<V5L9BYS=69F
M:7AE<RYA<'!E;F0H*'-U9F9I>"P@:6UP;W)T1G5N8RDI#0H-"B @("!D968@
M:6UP;W)T7V9R;VU?9&ER*'-E;&8L(&1I<BP@9G%N86UE*3H-"B @(" @(" @
M<F5S=6QT(#T@<V5L9BY?:6UP;W)T7W!A=&AN86UE*%]O<U]P871H7VIO:6XH
M9&ER+"!F<6YA;64I+"!F<6YA;64I#0H@(" @(" @(&EF(')E<W5L=#H-"B @
M(" @(" @(" @(')E='5R;B!S96QF+E]P<F]C97-S7W)E<W5L="AR97-U;'0L
M(&9Q;F%M92D-"B @(" @(" @<F5T=7)N($YO;F4-"@T*(" @(&1E9B!G971?
M8V]D92AS96QF+"!P87)E;G0L(&UO9&YA;64L(&9Q;F%M92DZ#0H@(" @(" @
M(",@5&AI<R!I;7!O<G1E<B!I<R!N979E<B!U<V5D('=I=&@@86X@96UP='D@
M<&%R96YT+B!)=',@97AI<W1E;F-E(&ES#0H@(" @(" @(",@<')I=F%T92!T
M;R!T:&4@26UP;W)T36%N86=E<BX@5&AE($EM<&]R=$UA;F%G97(@=7-E<R!T
M:&4-"B @(" @(" @(R!I;7!O<G1?9G)O;5]D:7(H*2!M971H;V0@=&\@:6UP
M;W)T('1O<"UL979E;"!M;V1U;&5S+W!A8VMA9V5S+@T*(" @(" @(" C(%1H
M:7,@;65T:&]D(&ES(&]N;'D@=7-E9"!W:&5N('=E(&QO;VL@9F]R(&$@;6]D
M=6QE('=I=&AI;B!A('!A8VMA9V4N#0H@(" @(" @(&%S<V5R="!P87)E;G0-
M"@T*(" @(" @("!R971U<FX@<V5L9BY?:6UP;W)T7W!A=&AN86UE*%]O<U]P
M871H7VIO:6XH<&%R96YT+E]?<&MG9&ER7U\L(&UO9&YA;64I+ T*(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(&9Q;F%M92D-"@T*(" @
M(&1E9B!?:6UP;W)T7W!A=&AN86UE*'-E;&8L('!A=&AN86UE+"!F<6YA;64I
M.@T*(" @(" @("!I9B!?;W-?<&%T:%]I<V1I<BAP871H;F%M92DZ#0H@(" @
M(" @(" @("!R97-U;'0@/2!S96QF+E]I;7!O<G1?<&%T:&YA;64H7V]S7W!A
M=&A?:F]I;BAP871H;F%M92P@)U]?:6YI=%]?)RDL#0H@(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @9G%N86UE*0T*(" @(" @
M(" @(" @:68@<F5S=6QT.@T*(" @(" @(" @(" @(" @('9A;'5E<R ](')E
M<W5L=%LR70T*(" @(" @(" @(" @(" @('9A;'5E<ULG7U]P:V=D:7)?7R==
M(#T@<&%T:&YA;64-"B @(" @(" @(" @(" @("!V86QU97-;)U]?<&%T:%]?
M)UT@/2!;('!A=&AN86UE(%T-"B @(" @(" @(" @(" @("!R971U<FX@,2P@
M<F5S=6QT6S%=+"!V86QU97,-"B @(" @(" @(" @(')E='5R;B!.;VYE#0H-
M"B @(" @(" @9F]R('-U9F9I>"P@:6UP;W)T1G5N8R!I;B!S96QF+G-U9F9I
M>&5S.@T*(" @(" @(" @(" @9FEL96YA;64@/2!P871H;F%M92 K('-U9F9I
M> T*(" @(" @(" @(" @=')Y.@T*(" @(" @(" @(" @(" @(&9I;F9O(#T@
M7V]S7W-T870H9FEL96YA;64I#0H@(" @(" @(" @("!E>&-E<'0@3U-%<G)O
M<CH-"B @(" @(" @(" @(" @("!P87-S#0H@(" @(" @(" @("!E;'-E.@T*
M(" @(" @(" @(" @(" @(')E='5R;B!I;7!O<G1&=6YC*&9I;&5N86UE+"!F
M:6YF;RP@9G%N86UE*0T*(" @(" @("!R971U<FX@3F]N90T*#0HC(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C#0HC#0HC(%-51D9)6"U"05-%1"!)35!/4E1%
M4E,-"B,-"@T*9&5F('!Y7W-U9F9I>%]I;7!O<G1E<BAF:6QE;F%M92P@9FEN
M9F\L(&9Q;F%M92DZ#0H@(" @9FEL92 ](&9I;&5N86UE6SHM,UT@*R!?<W5F
M9FEX#0H@(" @=%]P>2 ](&QO;F<H9FEN9F];.%TI#0H@(" @=%]P>6,@/2!?
M=&EM97-T86UP*&9I;&4I#0H-"B @("!C;V1E(#T@3F]N90T*(" @(&EF('1?
M<'EC(&ES(&YO="!.;VYE(&%N9"!T7W!Y8R ^/2!T7W!Y.@T*(" @(" @("!F
M(#T@;W!E;BAF:6QE+" G<F(G*0T*(" @(" @("!I9B!F+G)E860H-"D@/3T@
M:6UP+F=E=%]M86=I8R@I.@T*(" @(" @(" @(" @=" ]('-T<G5C="YU;G!A
M8VLH)SQ))RP@9BYR96%D*#0I*5LP70T*(" @(" @(" @(" @:68@=" ]/2!T
M7W!Y.@T*(" @(" @(" @(" @(" @(&-O9&4@/2!M87)S:&%L+FQO860H9BD-
M"B @(" @(" @9BYC;&]S92@I#0H@(" @:68@8V]D92!I<R!.;VYE.@T*(" @
M(" @("!F:6QE(#T@9FEL96YA;64-"B @(" @(" @8V]D92 ](%]C;VUP:6QE
M*&9I;&4L('1?<'DI#0H-"B @("!R971U<FX@,"P@8V]D92P@>R G7U]F:6QE
M7U\G(#H@9FEL92!]#0H-"F-L87-S($1Y;DQO8613=69F:7A);7!O<G1E<CH-
M"B @("!D968@7U]I;FET7U\H<V5L9BP@9&5S8RDZ#0H@(" @(" @('-E;&8N
M9&5S8R ](&1E<V,-"@T*(" @(&1E9B!I;7!O<G1?9FEL92AS96QF+"!F:6QE
M;F%M92P@9FEN9F\L(&9Q;F%M92DZ#0H@(" @(" @(&9P(#T@;W!E;BAF:6QE
M;F%M92P@<V5L9BYD97-C6S%=*0T*(" @(" @("!M;V1U;&4@/2!I;7 N;&]A
M9%]M;V1U;&4H9G%N86UE+"!F<"P@9FEL96YA;64L('-E;&8N9&5S8RD-"B @
M(" @(" @;6]D=6QE+E]?9FEL95]?(#T@9FEL96YA;64-"B @(" @(" @<F5T
M=7)N(# L(&UO9'5L92P@>R!]#0H-"B,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,-"B,-"B,@36%K92!A;B!I;7!O<G1E<B!L;V]K(&QI:V4@82!S=')I;F<-
M"B,-"B,@(&EE("!S>7,N<&%T:"YI;G-E<G0H,"P@4W1R:6YG961);7!O<G1E
M<BA"=6EL=&EN26UP;W)T97(H*2DI#0H-"F1E9B!3=')I;F=E9$EM<&]R=&5R
M*&EM<'1R*3H-"B @(" B(B)-86ME(&%N(&EM<&]R=&5R(&EN<W1A;F-E(&QO
M;VL@;&EK92!A('-T<FEN9PT*(" @(&EE("!S>7,N<&%T:"YI;G-E<G0H,"P@
M4W1R:6YG961);7!O<G1E<BA"=6EL=&EN26UP;W)T97(H*2DI(B(B#0H@(" @
M#0H@(" @8VQA<W,@<VDH<W1R*3H-"B @(" @(" @9&5F(%]?;F5W7U\H<V5L
M9BP@<STG)RDZ#0H@(" @(" @(" @("!R971U<FX@<W1R+E]?;F5W7U\H<V5L
M9BP@)R<I#0H@(" @(" @(&1E9B!?7VEN:71?7RAS96QF+"!I;7!T<BDZ#0H@
M(" @(" @(" @("!S96QF+FEM<'1R(#T@:6UP='(-"B @(" @(" @9&5F(%]?
M<F5P<E]?*'-E;&8I.@T*(" @(" @(" @(" @<F5T=7)N(')E<'(H<V5L9BYI
M;7!T<BD-"B @(" @(" @9&5F(%]?<W1R7U\H<V5L9BDZ#0H@(" @(" @(" @
M("!R971U<FX@<W1R*'-E;&8N:6UP='(I#0H@(" @(" @(&1E9B!?7V=E=&%T
M=')I8G5T95]?*'-E;&8L(&$I.@T*(" @(" @(" @(" @:6UP='(@/2!S='(N
M7U]G971A='1R:6)U=&5?7RAS96QF+" G:6UP='(G*0T*(" @(" @(" @(" @
M:68@:&%S871T<BAI;7!T<BP@82DZ#0H@(" @(" @(" @(" @(" @<F5T=7)N
M(&=E=&%T='(H:6UP='(L(&$I#0H@(" @(" @(" @("!E;'-E.@T*(" @(" @
M(" @(" @(" @(')E='5R;B!S='(N7U]G971A='1R:6)U=&5?7RAS96QF+"!A
M*0T*(" @(')E='5R;B!S:2AI;7!T<BD-"@T*(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(PT*#0ID968@7W!R:6YT7VEM<&]R=&5R<R@I.@T*(" @(&ET96US
M(#T@<WES+FUO9'5L97,N:71E;7,H*0T*(" @(&ET96US+G-O<G0H*0T*(" @
M(&9O<B!N86UE+"!M;V1U;&4@:6X@:71E;7,Z#0H@(" @(" @(&EF(&UO9'5L
M93H-"B @(" @(" @(" @('!R:6YT(&YA;64L(&UO9'5L92Y?7V1I8W1?7RYG
M970H)U]?:6UP;W)T97)?7R<L("<M+2!N;R!I;7!O<G1E<B<I#0H@(" @(" @
M(&5L<V4Z#0H@(" @(" @(" @("!P<FEN="!N86UE+" G+2T@;F]N+65X:7-T
M96YT(&UO9'5L92<-"@T*9&5F(%]T97-T7W)E=F%M<"@I.@T*(" @($EM<&]R
M=$UA;F%G97(H*2YI;G-T86QL*"D-"B @("!S>7,N<&%T:"YI;G-E<G0H,"P@
M4W1R:6YG961);7!O<G1E<BA"=6EL=&EN26UP;W)T97(H*2DI#0H-"B,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,-"@T*(PT*(R!43T1/#0HC#0HC(&9R;VT@
M1FEN;B!";V-K.@T*(R @('1Y<&4H<WES*2!I<R!N;W0@82!M;V1U;&4@:6X@
M2E!Y=&AO;BX@=VAA="!T;R!U<V4@:6YS=&5A9#\-"B,@("!I;7 N0U]%6%1%
M3E-)3TX@:7,@;F]T(&EN($I0>71H;VXN('-A;64@9F]R(&=E=%]S=69F:7AE
M<R!A;F0@;F5W7VUO9'5L90T*(PT*(R @(&=I=F5N(&9O;RYP>2!O9CH-"B,@
M(" @("!I;7!O<G0@<WES#0HC(" @(" @<WES+FUO9'5L97-;)V9O;R==(#T@
M<WES#0HC#0HC(" @+2TM+2!S=&%N9&%R9"!I;7!O<G0@;65C:&%N:7-M#0HC
M(" @/CX^(&EM<&]R="!F;V\-"B,@(" ^/CX@9F]O#0HC(" @/&UO9'5L92 G
M<WES)R H8G5I;'0M:6XI/@T*(PT*(R @("TM+2T@<F5V86UP960@:6UP;W)T
M(&UE8VAA;FES;0T*(R @(#X^/B!I;7!O<G0@:6UP=71I; T*(R @(#X^/B!I
M;7!U=&EL+E]T97-T7W)E=F%M<"@I#0HC(" @/CX^(&EM<&]R="!F;V\-"B,@
M(" ^/CX@9F]O#0HC(" @/&UO9'5L92 G9F]O)R!F<F]M("=F;V\N<'DG/@T*
M(PT*(PT*(R!F<F]M($U!3#H-"B,@("!S:&]U;&0@0G5I;'1I;DEM<&]R=&5R
M(&5X:7-T(&EN('-Y<RYP871H(&]R(&AA<F0M=VER960@:6X@26UP;W)T36%N
M86=E<C\-"B,@("!N965D(%]?<&%T:%]?('!R;V-E<W-I;F<-"B,@("!P97)F
M;W)M86YC90T*(R @(&UO=F4@8VAA:6YI;F<@=&\@82!S=6)C;&%S<R!;9VIS
M.B!I="=S(&)E96X@;G5K961=#0HC(" @9&5I;G-T86QL('-H;W5L9"!B92!P
M;W-S:6)L90T*(R @('%U97)Y(&UE8VAA;FES;2!N965D960Z(&ES(&$@<W!E
M8VEF:6,@26UP;W)T97(@:6YS=&%L;&5D/PT*(R @('!Y+W!Y8R]P>6\@<&EP
M:6YG(&AO;VMS('1O(&9I;'1E<B]P<F]C97-S('1H97-E(&9I;&5S#0HC(" @
M=VES:"!L:7-T.@T*(R @(" @9&ES='5T:6QS(&EM<&]R=&5R(&AO;VME9"!T
M;R!L:7-T(&]F('-T86YD87)D($EN=&5R;F5T(')E<&]S:71O<FEE<PT*(R @
M(" @;6]D=6QE+3YF:6QE(&QO8V%T:6]N(&UA<'!E<B!T;R!S<&5E9"!&4RUB
M87-E9"!I;7!O<G1S#0HC(" @("!R96QA=&EV92!I;7!O<G1S#0HC(" @("!K
M965P(&-H86EN:6YG('-O('1H870@:70@8V%N('!L87D@;FEC92!W:71H(&]T
M:&5R(&EM<&]R="!H;V]K<PT*(PT*(R!F<F]M($=O<F1O;CH-"B,@("!P=7-H
M($U!3"=S(&UA<'!E<B!I;G1O('-Y<RYP871H6S!=(&%S(&$@8V%C:&4@*&AA
M<F0M8V]D960@9F]R(&%P<',I#0HC#0HC(&9R;VT@1W5I9&\Z#0HC(" @;F5E
M9"!T;R!C:&%N9V4@<WES+BH@<F5F97)E;F-E<R!F;W(@<F5X96,@96YV:7)O
M;G,-"B,@("!N965D(&AO;VL@9F]R($U!3"=S('=A;&LM;64M=7 @:6UP;W)T
M('-T<F%T96=Y+"!O<B!4:6TG<R!A8G-O;'5T92!S=')A=&5G>0T*(R @('=A
M=&-H(&]U="!F;W(@<WES+FUO9'5L97-;+BXN72!I<R!.;VYE#0HC(" @9FQA
M9R!T;R!F;W)C92!A8G-O;'5T92!I;7!O<G1S/R H<W!E961S(%]D971E<FUI
M;F5?:6UP;W)T7V-O;G1E>'0@86YD#0HC(" @(" @(&-H96-K:6YG(&9O<B!A
M(')E;&%T:79E(&UO9'5L92D-"B,@("!I;G-E<G0@;F%M97,@;V8@87)C:&EV
M97,@:6YT;R!S>7,N<&%T:" @*'-E92!Q=6]T92!B96QO=RD-"B,@("!N;W1E
M.B!R96QO860@9&]E<R!.3U0@8FQA<W0@;6]D=6QE(&1I8W0-"B,@("!S:&EF
M="!I;7!O<G0@;65C:&%N:7-M<R!A;F0@<&]L:6-I97,@87)O=6YD.R!P<F]V
M:61E(&9O<B!H;V]K<RP@;W9E<G)I9&5S#0HC(" @(" @("AS964@<75O=&4@
M8F5L;W<I#0HC(" @861D(&=E=%]S;W5R8V4@<W1U9F8-"B,@("!G971?=&]P
M8V]D92!A;F0@9V5T7W-U8F-O9&4-"B,@("!#4DQ&(&AA;F1L:6YG(&EN(%]C
M;VUP:6QE#0HC(" @<F%C92!C;VYD:71I;VX@:6X@7V-O;7!I;&4-"B,@("!R
M969A8W1O<FEN9R!O9B!O<RYP>2!T;R!D96%L('=I=&@@7V]S7V)O;W1S=')A
M<"!P<F]B;&5M#0HC(" @86YY('-P96-I86P@:&%N9&QI;F<@=&\@9&\@9F]R
M(&EM<&]R=&EN9R!A(&UO9'5L92!W:71H(&$@4WEN=&%X17)R;W(_#0HC(" @
M(" @("AE+F<N(&-L96%N('5P('1H92!T<F%C96)A8VLI#0HC(" @:6UP;&5M
M96YT(")D;VUA:6XB(&9O<B!P871H+71Y<&4@9G5N8W1I;VYA;&ET>2!U<VEN
M9R!P:V<@;F%M97-P86-E#0HC(" @(" @("AR871H97(@=&AA;B!&4RUN86UE
M<R!L:6ME(%]?<&%T:%]?*0T*(R @(&1O;B=T('5S92!T:&4@=V]R9" B<')I
M=F%T92(N+BX@;6%Y8F4@(FEN=&5R;F%L(@T*(PT*(PT*(R!'=6ED;R=S(&-O
M;6UE;G1S(&]N('-Y<RYP871H(&-A8VAI;F<Z#0HC#0HC(%=E(&-O=6QD(&-A
M8VAE('1H:7,@:6X@82!D:6-T:6]N87)Y.B!T:&4@26UP;W)T36%N86=E<B!C
M86X@:&%V92!A#0HC(&-A8VAE(&1I8W0@;6%P<&EN9R!P871H;F%M97,@=&\@
M:6UP;W)T97(@;V)J96-T<RP@86YD(&$@<V5P87)A=&4-"B,@;65T:&]D(&9O
M<B!C;VUI;F<@=7 @=VET:"!A;B!I;7!O<G1E<B!G:79E;B!A('!A=&AN86UE
M('1H870G<R!N;W0@>65T#0HC(&EN('1H92!C86-H92X@(%1H92!M971H;V0@
M<VAO=6QD(&1O(&$@<W1A="!A;F0O;W(@;&]O:R!A="!T:&4-"B,@97AT96YS
M:6]N('1O(&1E8VED92!W:&EC:"!I;7!O<G1E<B!C;&%S<R!T;R!U<V4[('EO
M=2!C86X@<F5G:7-T97(@;F5W#0HC(&EM<&]R=&5R(&-L87-S97,@8GD@<F5G
M:7-T97)I;F<@82!S=69F:7@@;W(@82!";V]L96%N(&9U;F-T:6]N+"!P;'5S
M(&$-"B,@8VQA<W,N("!)9B!Y;W4@<F5G:7-T97(@82!N97<@:6UP;W)T97(@
M8VQA<W,L('1H92!C86-H92!I<R!Z87!P960N#0HC(%1H92!C86-H92!I<R!I
M;F1E<&5N9&5N="!F<F]M('-Y<RYP871H("AB=70@;6%I;G1A:6YE9"!P97(-
M"B,@26UP;W)T36%N86=E<B!I;G-T86YC92D@<V\@=&AA="!R96%R<F%N9V5M
M96YT<R!O9B!S>7,N<&%T:"!D;R!T:&4-"B,@<FEG:'0@=&AI;F<N("!)9B!A
M('!A=&@@:7,@9')O<'!E9"!F<F]M('-Y<RYP871H('1H92!C;W)R97-P;VYD
M:6YG#0HC(&-A8VAE(&5N=')Y(&ES('-I;7!L>2!N;R!L;VYG97(@=7-E9"X-
M"B,-"B,@37DO1W5I9&\G<R!C;VUM96YT<R!O;B!F86-T;W)I;F<@26UP;W)T
M36%N86=E<B!A;F0@26UP;W)T97(Z#0HC#0HC(#X@2&]W979E<BP@=V4@<W1I
M;&P@:&%V92!A('1E;G-I;VX@;V-C=7)R:6YG(&AE<F4Z#0HC(#X-"B,@/B Q
M*2!I;7!L96UE;G1I;F<@<&]L:6-Y(&EN($EM<&]R=$UA;F%G97(@87-S:7-T
M<R!I;B!S:6YG;&4M<&]I;G0@<&]L:6-Y#0HC(#X@(" @8VAA;F=E<R!F;W(@
M87!P+W)E>&5C('-I='5A=&EO;G,-"B,@/B R*2!I;7!L96UE;G1I;F<@<&]L
M:6-Y(&EN($EM<&]R=&5R(&%S<VES=',@:6X@<&%C:V%G92UP<FEV871E('!O
M;&EC>0T*(R ^(" @(&-H86YG97,@9F]R(&YO<FUA;"P@;W!E<F%T:6YG(&-O
M;F1I=&EO;G,-"B,@/@T*(R ^($DG;&P@<V5E(&EF($D@8V%N('-O<G0@;W5T
M(&$@=V%Y('1O(&1O('1H:7,N($UA>6)E('1H92!);7!O<G1E<B!C;&%S<R!W
M:6QL#0HC(#X@:6UP;&5M96YT('1H92!M971H;V1S("AW:&EC:"!C86X@8F4@
M;W9E<G)I9&1E;B!T;R!C:&%N9V4@<&]L:6-Y*2!B>0T*(R ^(&1E;&5G871I
M;F<@=&\@26UP;W)T36%N86=E<BX-"B,-"B,@36%Y8F4@86QS;R!T:&EN:R!A
M8F]U="!W:&%T(&MI;F0@;V8@<&]L:6-I97,@86X@26UP;W)T97(@=V]U;&0@
M8F4-"B,@;&EK96QY('1O('=A;G0@=&\@8VAA;F=E+B @22!H879E(&$@9F5E
M;&EN9R!T:&%T(&$@;&]T(&]F('1H92!C;V1E#0HC('1H97)E(&ES(&%C='5A
M;&QY(&YO="!S;R!M=6-H('!O;&EC>2!B=70@82 J;F5C97-S:71Y*B!T;R!G
M970@=&AI;F=S#0HC('=O<FMI;F<@9VEV96X@=&AE(&-A;&QI;F<@8V]N=F5N
M=&EO;G,@9F]R('1H92!?7VEM<&]R=%]?(&AO;VLZ('=H971H97(-"B,@=&\@
M<F5T=7)N('1H92!H96%D(&]R('1A:6P@;V8@82!D;W1T960@;F%M92P@;W(@
M=VAE;B!T;R!D;R!T:&4@(F9I;FES: T*(R!F<F]M;&ES="(@<W1U9F8N#0HC
"#0H`
`
end