Patch
====
This patch allows patternset/fileset to accepts a "<includefile>" sub-element.
(and also excludefile)
The <includefile> works much like <include> except it uses the logic from
includesfile=....
In order to support this I had to make a few changes to the way patternset
works, and I think that it ends up being quite a bit cleaner.
The includefile element supports 4 attributes.
file = <path>
if = <condition>
unless = <condition>
commentchar = <char>
The commentchar allows you to specify a character that marks a comment in the
patternfile.
The default is to have no comments.
I was tempted to make it a commentstring, but I thought that my be overkill.
This is my first patch to ant, so I'd appreciate comments/reviews.
Reason for patch
============
I'm writing a fairly generic build file for a number of projects in development.
Most of the build process is run by properties.
I want to allow developers to includes a list of jar files, for inclusion in a
WAR.
This list will be in a file and will specified as a property.
The <includefile> should only be processed in that property is set.
ie, I need the "if" support that is only available in a sub-element, and not as
a direct attribute on patternset.
Also I want developers to be able to comment these include files, as they will
form part of the build process that will be versioned (etc).
All of that is for my personal projects, but I imagine that others will have
similar needs.
I certainly think that being able to comment includefiles is an important
change.
begin 600 includefile.diff
M+2TM($9I;&53970N:F%V82YO<FEG"5-U;B!&96(@(#0@,[EMAIL PROTECTED]<Z,#0@,C`P
M,0T**RLK($9I;&53970N:[EMAIL PROTECTED]("`W(#$Q.C4P.C$Y(#(P,#$-
M"D!`("TQ-C(L-B`K,38R+#,T($!`#0H@("`@('T-"B`-"B`@("[EMAIL PROTECTED]
M("`@("`J(&%D9"!A(&9I;&[EMAIL PROTECTED]<GD@;[EMAIL
PROTECTED]&AE(&EN8VQU9&4@;&ES="X-
M"BL@("`@("[EMAIL PROTECTED]&AI<R!D969E<G,@=&[EMAIL
PROTECTED])E871E26YC;'5D969I;&4H*2!I
M;B!0871T97)[EMAIL PROTECTED]@("[EMAIL PROTECTED]<F5T=7)N($$@;F5W($9I;&5%;G1R
M>2!I;B!T:&[EMAIL PROTECTED]&5F875L="!P871T97)N<V5T#0HK("`@("`J([EMAIL
PROTECTED]&%T
M=&5R;E-E="-C<F5A=&5);F-L=61E9FEL90T**R`@("[EMAIL PROTECTED]<V5E(&-R96%T
M945X8VQU9&5F:6QE#0HK("`@("`J+PT**R`@("!P=6)L:6,@4&%T=&5R;E-E
M="Y&:6QE16YT<[EMAIL PROTECTED])E871E26YC;'5D969I;&4H*2![#0HK("`@("`@("!I
M9B`H:7-2969E<F5N8V4H*2D@>PT**R`@("`@("`@("`@('1H<F]W(&YO0VAI
M;&1R96Y!;&QO=V5D*"D[#0HK("`@("`@("!]#0HK("`@("`@("!R971U<FX@
M9&5F875L=%!A='1E<FYS+F-R96%T94EN8VQU9&5F:6QE*"D[#0HK("`@('T-
M"BL@("[EMAIL PROTECTED]("`@("[EMAIL PROTECTED]@("[EMAIL PROTECTED]&[EMAIL
PROTECTED]:6QE(&5N=')Y(&]N
M('1H92!E>&-L=61E(&QI<W0-"BL@("`@("[EMAIL PROTECTED]&AI<R!D969E<G,@=&[EMAIL
PROTECTED])E
M871E17AC;'5D969I;&4H*2!I;B!0871T97)[EMAIL PROTECTED]@("[EMAIL PROTECTED]<F5T
M=7)N($$@;F5W($9I;&5%;G1R>2!I;B!T:&[EMAIL PROTECTED]&5F875L="!P871T97)N<V5T
M#0HK("`@("`J([EMAIL PROTECTED]&%T=&5R;E-E="-C<F5A=&5%>&-L=61E9FEL90T*
M*R`@("[EMAIL PROTECTED]<V5E(&-R96%T94EN8VQU9&5F:6QE#0HK("`@("`J+PT**R`@
M("!P=6)L:6,@4&%T=&5R;E-E="Y&:6QE16YT<[EMAIL PROTECTED])E871E17AC;'5D969I
M;&4H*2![#0HK("`@("`@("!I9B`H:7-2969E<F5N8V4H*2D@>PT**R`@("`@
M("`@("`@('1H<F]W(&YO0VAI;&1R96Y!;&QO=V5D*"D[#0HK("`@("`@("!]
M#0HK("`@("`@("!R971U<[EMAIL PROTECTED]&5F875L=%!A='1E<FYS+F-R96%T945X8VQU
M9&5F:6QE*"D[#0HK("`@('T-"BL-"BL@("[EMAIL PROTECTED]@("`@("`J(%-E=',@
M=&AE('-E="!O9B!I;F-L=61E('!A='1E<FYS+B!0871T97)N<[EMAIL PROTECTED]@
M<V5P87)A=&5D(&)Y(&[EMAIL PROTECTED];6$-"B`@("`@("H@;W(@82!S<&%C92X-"B`@
M("`@("H-"BTM+2!0871T97)N4V5T+FIA=F$N;W)[EMAIL PROTECTED]("`T(#$X
M.C4W.C`T(#(P,#$-"BLK*R!0871T97)N4V5T+FIA=F$)5V5D([EMAIL PROTECTED]
M,#HU,CHU,R`R,#`Q#0I`0"`M.#`L,C,@[EMAIL PROTECTED]($!`#0H@("`@('!R:79A
M=&[EMAIL PROTECTED]&]R(&EN8VQU9&5,:7-T(#T@;F5W(%9E8W1O<[EMAIL
PROTECTED]("`@("!P
M<FEV871E(%9E8W1O<B!E>&-L=61E3&ES="`](&YE=R!696-T;W(H*3L-"B`@
M("[EMAIL PROTECTED]("`@('!R:79A=&[EMAIL PROTECTED];F-L(#T@;G5L;#L-"BT@("`@<')I
M=F%T92!&:6QE(&5X8VP@/2!N=6QL.PT*+0T*("`@("`O*BH-"BT@("`@("H@
M:6YN97(@8VQA<W,@=&\@:&]L9"!A(&YA;64@;VX@;&ES="X@("))9B(@86YD
M(")5;FQE<W,B(&%T=')I8G5T97,-"BL@("`@("[EMAIL PROTECTED])S=')A8W0@:6YN97(@
M8VQA<W,@=&\@:&]L9"!A('-E="!O9B!P871T97)N<R!O;B!L:[EMAIL PROTECTED]@
M("[EMAIL PROTECTED](&%N9"`B56YL97-S(B!A='1R:6)U=&5S#0H@("`@("`J(&UA
M>2!B92!U<V5D('1O(&EN=F%L:61A=&[EMAIL PROTECTED]&AE(&5N=')Y(&)A<V5D(&]N('1H
M92!E>&ES=&5N8V4@;[EMAIL PROTECTED]"B`@("`@("H@<')O<&5R='[EMAIL
PROTECTED]'1Y<&EC86QL
M>[EMAIL PROTECTED]&AR=2!T:&[EMAIL PROTECTED](&]F('1H92!!=F%I;&%B;&[EMAIL
PROTECTED]&%S:RDN#0H@
M("`@("`J+PT*+2`@("!P=6)L:6,@8VQA<W,@3F%M945N=')Y('L-"BT@("`@
M("`@('!R:79A=&[EMAIL PROTECTED]:6YG(&YA;64[#0HK("`@('!U8FQI8R!A8G-T<F%C
M="!C;&%S<R!0871T97)N16YT<GD@>PT*("`@("`@("`@<')I=F%T92!3=')I
M;F<@:69#;VYD.PT*("`@("`@("`@<')I=F%T92!3=')I;F<@=6YL97-S0V]N
M9#L-"B`-"BT@("`@("`@('!U8FQI8R!V;VED('-E=$YA;64H4W1R:6YG(&YA
M;64I('[EMAIL PROTECTED]("`@("`@("`@("[EMAIL PROTECTED]&AI<RYN86UE(#T@;[EMAIL
PROTECTED]("`@
M("`@("!]#0HM#0H@("`@("`@("!P=6)L:6,@=F]I9"!S971)9BA3=')I;F<@
M8V]N9"D@>PT*("`@("`@("`@("`@(&EF0V]N9"`](&-O;F0[#0H@("`@("`@
M("!]#0I`0"`M,3`U+#$U("LY."PR-2!`0`T*("`@("`@("`@("`@('5N;&5S
M<T-O;F0@/2!C;VYD.PT*("`@("`@("[EMAIL PROTECTED](`T*+2`@("`@("`@<'5B;&EC
M(%-T<FEN9R!G971.86UE*"D@>PT*+2`@("`@("`@("`@(')E='5R;B!N86UE
[EMAIL PROTECTED]')O=FED97,@[EMAIL PROTECTED])R87D@;V8@<W1R:6YG<[EMAIL
PROTECTED]:"!S
M=')I;F<@<F5P<F5S96YT:6YG#0HK("`@("`@("`@("H@(&$@<VEN9VQE('!A
M='1E<[EMAIL PROTECTED]&[EMAIL PROTECTED]@;6%T8VAE9"X-"BL@("`@("`@("[EMAIL
PROTECTED]<FYS(&%N
M(&5M<'1Y(&%R<F%Y(&ES(&-O;F1I=&EO;G-686QI9"@I(&ES(&9A;'-E+`T*
M*R`@("`@("`@("`J("!A;[EMAIL PROTECTED];',@9V5T4&%T=&5R;G,H*2!O=&AE<G=I
M<V4N#0HK("`@("`@("`@("HO#0HK"7!U8FQI8R!3=')I;F=;72!E=F%L*%!R
M;VIE8W0@<"D@>PT**R`@("`@("`@("`@(&EF*&-O;F1I=&EO;G-686QI9"AP
M*2D@>PT**R`@("`@("`@("`@("`@("!R971U<[EMAIL PROTECTED]&%T=&5R;G,H<"D[
M#0HK("`@("`@("`@("[EMAIL PROTECTED]@("`@("`@("`@(%-T<FEN9UM=(')E<W5L
M="`]('[EMAIL PROTECTED]"BL@("`@("`@("`@("!R971U<FX@<F5S=6QT.PT*("`@("`@
M("[EMAIL PROTECTED](`T*+2`@("`@("`@<'5B;&EC(%-T<FEN9R!E=F%L3F%M92A0<F]J
M96-T('`I('[EMAIL PROTECTED]("`@("`@("`@("`@<F5T=7)N('9A;&ED*'`I(#\@;F%M
M92`Z(&YU;&P[(`T*+2`@("`@("[EMAIL PROTECTED]@("`@("[EMAIL PROTECTED]($EM<&QE;65N
M=&5D(&)Y(&1E<[EMAIL PROTECTED]<W-E<R!T;R!P<F]V:61E(&%N(&%R<F%Y(&]F
M('!A='1E<[EMAIL PROTECTED]@("`@("`@("`J(%1H:7,@;65T:&]D(&ES(&]N;'D@
M8V%L;&5D('[EMAIL PROTECTED]&ET:6]N<U9A;&ED*"D@<F5T=7)N<R!T<[EMAIL PROTECTED]
M*R`@("`@("`@("[EMAIL PROTECTED]("`@("`@("!A8G-T<F%C="!P<F]T96-T960@
M4W1R:[EMAIL PROTECTED]&%T=&5R;G,H4')O:F5C="!P*2!T:')O=W,@0G5I;&1%
M>&-E<'1I;[EMAIL PROTECTED]("`@("`@("!P<FEV871E(&)O;[EMAIL PROTECTED]:60H
M4')O:F5C="!P*2![#0HK("`@("`@("!P<[EMAIL PROTECTED];&5A;B!C;VYD
M:71I;VYS5F%L:60H4')O:F5C="!P*2![#0H@("`@("`@("`@("`@:[EMAIL PROTECTED]&EF
M0V]N9"`A/2!N=6QL("8F('`N9V5T4')O<&5R='DH:69#;VYD*2`]/2!N=6QL
M*2B!P+F=E=%!R
M;W!E<G1Y*'5N;&5S<T-O;F0I("$](&YU;&PI('L-"D!`("TQ,C,L-B`K,3(V
M+#DV($!`#0H@("`@("`@("!]#0H@("`@('T-"B`-"BL@("[EMAIL PROTECTED]($EN;F5R
M(&-L87-S('1H870@:&]L9',@82!S:6YG;&4@<&%T=&5R;BP@<W!E8VEF:65D
M(&)Y('1H92!N86UE('!R;W!E<[EMAIL PROTECTED]@("`@("HO#0HK("`@('!U8FQI
M8R!C;&%S<R!.86UE16YT<[EMAIL PROTECTED]<R!0871T97)N16YT<GD@>PT**R`@
M("`@("`@<')I=F%T92!3=')I;F<@;F%M93L-"BL-"BL@("`@("`@('!U8FQI
M8R!V;VED('-E=$YA;64H4W1R:6YG(&YA;64I('[EMAIL PROTECTED]("`@("`@("`@("`@
M=&AI<RYN86UE(#T@;[EMAIL PROTECTED]("`@("`@("!]#0HK#0HK("`@("`@("!P
M=6)L:6,@4W1R:6YG(&=E=$YA;64H*2![#0HK("`@("`@("`@("`@<F5T=7)N
M(&YA;64[#0HK("`@("`@("!]#0HK#0HK("`@("`@("!P<[EMAIL PROTECTED]
M:[EMAIL PROTECTED]&%T=&5R;G,H4')O:F5C="!P*2!T:')O=W,@0G5I;&1%>&-E
M<'1I;VX@>R`-"BL@("`@("`@("`@("!3=')I;F=;72!R97-U;'0@/2![(&YA
M;[EMAIL PROTECTED]"BL@("`@("`@("`@("!R971U<FX@<F5S=6QT.PT**R`@("`@("`@
M?0T**R`@("!]#0HK#0HK("`@("\J*B!);FYE<B!C;&%S<R!T:&%T(')E861S
M('!A='1E<FYS(&9R;[EMAIL PROTECTED]:6QE+"!W:71H(&%N(&]P=&EO;F%L#0HK("`@
M("[EMAIL PROTECTED]@8V]M;65N="!M87)K97(-"BL@("`@("`J+PT**R`@("!P=6)L:6,@
M8VQA<W,@1FEL945N=')Y(&5X=&5N9',@4&%T=&5R;D5N=')Y('L-"BL@("`@
M("`@('!R:79A=&[EMAIL PROTECTED]:6QE.PT**R`@("`@("`@<')I=F%T92!#:&%R
M86-T97(@8V]M;65N=$-H87(@.PT**PT**R`@("`@("`@<'5B;&EC('9O:60@
M<V5T1FEL92A&:6QE(&9I;&4I('L-"BL@("`@("`@("`@("!T:&ES+F9I;&4@
M/2!F:6QE.PT**R`@("`@("[EMAIL PROTECTED]@("`@("`@<'5B;&EC($9I;&4@
[EMAIL PROTECTED]('L-"BL@("`@("`@("`@("!R971U<[EMAIL PROTECTED]"BL@("`@
M("`@('T-"BL-"BL@("`@("`@('!U8FQI8R!V;VED('-E=$-O;6UE;G1C:&%R
M*$-H87)A8W1E<B!C;VUM96YT0VAA<BD@>PT**R`@("`@("`@("`@('1H:7,N
M8V]M;65N=$-H87(@/2!C;VUM96YT0VAA<CL-"BL@("`@("`@('T-"BL-"BL@
M("`@("`@('!U8FQI8R!#:&%R86-T97(@9V5T0V]M;65N=&-H87(H*2![#0HK
M("`@("`@("`@("`@<F5T=7)N(&-O;6UE;G1#:&%R.PT**R`@("`@("[EMAIL PROTECTED]
M*PT**R`@("`@("[EMAIL PROTECTED](%)E861S('1H92!F:6QE('-P96-I9FEE9"!I;B!T
M:&4@)T9I;&4G('!R;W!E<G1Y+"!A;[EMAIL PROTECTED]'5R;G,-"BL@("`@("`@("[EMAIL
PROTECTED]
M86-H(&QI;F4@:6YT;R!A('!A='1E<FXL(&EG;F]R:6YG(&QI;F5S('-T87)T
M:6YG('=I=&@@=&AE#0HK("`@("`@("`@("[EMAIL PROTECTED];65N="!C:&%R86-T97(N
M#0HK("`@("`@("`@("HO#0HK("`@("`@("!P<[EMAIL PROTECTED]:6YG6UT@
M9V5T4&%T=&5R;G,H4')O:F5C="!P*2!T:')O=W,@0G5I;&1%>&-E<'1I;VX@
M>R`-"BL@("`@("`@("`@("[EMAIL PROTECTED]>&ES=',H*2D@>PT**R`@("`@
M("`@("`@("`@("!T:')O=R!N97<@0G5I;&1%>&-E<'1I;VXH(")0871T97)N
M(&9I;&4@(B`K(&9I;&4N9V5T06)S;VQU=&50871H*"[EMAIL PROTECTED]("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("[EMAIL PROTECTED](@9&]E<R!N;W0@
M97AI<W0B("[EMAIL PROTECTED]@("`@("`@("`@('T-"BL-"BL@("`@("`@("`@("!6
M96-T;W(@<&%T=&5R;FQI<W0@/2!N97<@5F5C=&]R*"[EMAIL PROTECTED]@("`@("`@
M("`@('1R>2U92`[#0HK("`@("`@("`@("`@("`@("`@("!]#0HK
M("`@("`@("`@("`@("`@("`@("!E;'-E(&EF*"!C;VUM96YT0VAA<B`]/2!N
M=6QL("D@>PT**R`@("`@("`@("`@("`@("`@("`@("`@('-K:7`@/2!F86QS
M92`[#0HK("`@("`@("`@("`@("`@("`@("!]#0HK("`@("`@("`@("`@("`@
M("`@("!E;'-E(&EF*"!C;VUM96YT0VAA<BYC:&%R5F%L=64H*2`]/2!L:6YE
M+G1R:6TH*2YC:&%R070H,"[EMAIL PROTECTED]("`@("`@("`@("`@("`@("`@("`@
M("`@<VMI<"`]('[EMAIL PROTECTED]@("`@("`@("`@("`@("`@("[EMAIL PROTECTED]@
M("`-"BL@("`@("`@("`@("`@("`@("`@(&EF("@A<VMI<"D@>PT**R`@("`@
M("`@("`@("`@("`@("`@("`@(&QI;F4@/2!0<F]J96-T2&5L<&5R+G)E<&QA
M8V50<F]P97)T:65S*'`L(&QI;F4L#0HK("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<"YG
M9710<F]P97)T:65S*"DI.PT**R`@("`@("`@("`@("`@("`@("`@("`@('!A
M='1E<FYL:7-T+F%D9$5L96UE;G0H;&EN92D[#0HK("`@("`@("`@("`@("`@
M("`@("!]#0HK("`@("`@("`@("`@("`@("`@("!L:6YE(#T@<&%T=&5R;E)E
M861E<BYR96%D3&[EMAIL PROTECTED]@("`@("`@("`@("`@("!]#0HK("`@("`@
M("`@("[EMAIL PROTECTED]:"A)3T5X8V5P=&EO;B!I;V4I("![#0HK("`@("`@("`@
M("`@("`@(%-T<FEN9R!M<V<@/[EMAIL PROTECTED])R;W(@;V-C=7)E9"!W:&EL92!R
M96%D:6YG(&9R;VT@<&%T=&5R;B!F:6QE.B`B(`T**R`@("`@("`@("`@("`@
M("`@("`@("`@("`@("[EMAIL PROTECTED];&4N9V5T06)S;VQU=&50871H*"[EMAIL PROTECTED]@
M("`@("`@("`@("`@("!T:')O=R!N97<@0G5I;&1%>&-E<'1I;VXH;7-G+"!I
M;V4I.PT**R`@("`@("`@("`@('T-"BL-"BL@("`@("`@("`@("!3=')I;F<@
M<F5S=6QT6UT@/2!N97<@4W1R:6YG6W!A='1E<FYL:7-T+G-I>F4H*5T[#0HK
M("`@("`@("`@("`@<&%T=&5R;FQI<W0N8V]P>4EN=&\H<F5S=6QT*3L-"BL@
M("`@("`@("`@("!R971U<FX@<F5S=6QT.PT**R`@("`@("[EMAIL PROTECTED]@("!]
M#0HK#0H@("`@('!U8FQI8R!0871T97)N4V5T*"D@>PT*("`@("`@("`@<W5P
M97(H*3L-"B`@("[EMAIL PROTECTED]@+3$T."PW("LR-#$L,3<@0$`-"B`@("`@("`@
M(&EF("AI<U)[EMAIL PROTECTED]@("`@("`@("`@("[EMAIL PROTECTED]&AR;W<@;F]#
M:&EL9')E;D%L;&]W960H*3L-"B`@("`@("`@('T-"BT@("`@("`@(')E='5R
M;B!A9&10871T97)N5&],:7-T*&EN8VQU9&5,:7-T*3L-"BL@("`@("`@(')E
M='5R;B!A9&1.86UE4&%T=&5R;E1O3&ES="AI;F-L=61E3&ES="D[#0HK("`@
M('T-"BL@("[EMAIL PROTECTED]("`@("[EMAIL PROTECTED]@("[EMAIL PROTECTED]&[EMAIL
PROTECTED]:6QE(&5N=')Y
M(&]N('1H92!I;F-L=61E(&QI<W0-"BL@("`@("HO#0HK("`@('!U8FQI8R!&
M:6QE16YT<[EMAIL PROTECTED])E871E26YC;'5D969I;&4H*2![#0HK("`@("`@("!I9B`H
M:7-2969E<F5N8V4H*2D@>PT**R`@("`@("`@("`@('1H<F]W(&YO0VAI;&1R
M96Y!;&QO=V5D*"D[#0HK("`@("`@("!]#0HK("`@("`@("!R971U<[EMAIL PROTECTED]
M1FEL95!A='1E<FY4;TQI<W0H:6YC;'5D94QI<W0I.PT*("`@("!]#0H@("`@
M(`T*("`@("`O*BH-"D!`("[EMAIL PROTECTED],C8Q+#$W($!`#0H@("`@("`@("!I
M9B`H:7-2969E<F5N8V4H*2D@>PT*("`@("`@("`@("`@('1H<F]W(&YO0VAI
M;&1R96Y!;&QO=V5D*"D[#0H@("`@("`@("!]#0HM("`@("`@("!R971U<FX@
M861D4&%T=&5R;E1O3&ES="AE>&-L=61E3&ES="D[#0HK("`@("`@("!R971U
M<[EMAIL PROTECTED]'1E<FY4;TQI<W0H97AC;'5D94QI<W0I.PT**R`@("!]
M#0HK#0HK("`@("[EMAIL PROTECTED]@("[EMAIL PROTECTED]&[EMAIL
PROTECTED]:6QE(&5N=')Y(&]N('1H
M92!E>&-L=61E(&QI<W0-"BL@("`@("HO#0HK("`@('!U8FQI8R!&:6QE16YT
M<[EMAIL PROTECTED])E871E17AC;'5D969I;&4H*2![#0HK("`@("`@("!I9B`H:7-2969E
M<F5N8V4H*2D@>PT**R`@("`@("`@("`@('1H<F]W(&YO0VAI;&1R96Y!;&QO
M=V5D*"D[#0HK("`@("`@("!]#0HK("`@("`@("!R971U<[EMAIL PROTECTED]
M='1E<FY4;TQI<W0H97AC;'5D94QI<W0I.PT*("`@("[EMAIL PROTECTED]@("`@("\J
[EMAIL PROTECTED]@+3(P,"PQ,R`K,S$S+#(R($!`#0H@("`@("[EMAIL
PROTECTED]("`@("[EMAIL PROTECTED]
M9&[EMAIL PROTECTED](&5N=')Y('1O('1H92!G:79E;B!L:7-T#0H@("`@("`J+PT*
M+2`@("!P<FEV871E($YA;65%;G1R>2!A9&10871T97)N5&],:7-T*%9E8W1O
M<B!L:7-T*2![#0HK("`@('!R:79A=&[EMAIL PROTECTED]')Y(&%D9$YA;650871T
M97)N5&],:7-T*%9E8W1O<B!L:7-T*2E<W5L="D[#0H@("`@("`@("!R971U<FX@<F5S=6QT.PT*("`@
M("[EMAIL PROTECTED]@("`@("[EMAIL PROTECTED]@("[EMAIL PROTECTED]&[EMAIL
PROTECTED]:6QE(&5N=')Y('1O
M('1H92!G:79E;B!L:7-T#0HK("`@("`J+PT**R`@("!P<FEV871E($9I;&5%
M;G1R>2!A9&1&:6QE4&%T=&5R;E1O3&ES="A696-T;W(@;&ES="D@>PT**R`@
M("`@("[EMAIL PROTECTED]')Y(')E<W5L="`](&YE=R!&:6QE16YT<GDH*3L-"BL@
M("`@("`@(&QI<W0N861D16QE;65N="AR97-U;'0I.PT**R`@("`@("`@<F5T
M=7)N(')E<W5L=#L-"BL@("[EMAIL PROTECTED]@("`O*BH-"B`@("`@("[EMAIL PROTECTED]
M<R!T:&4@;F%M92!O9B!T:&[EMAIL PROTECTED];VYT86EN:6YG('1H92!I;F-L=61E
M<R!P871T97)N<RX-"B`@("`@("H-"B`@("`@("[EMAIL PROTECTED]'!A<F%M(&[EMAIL
PROTECTED]&AE
M(&9I;&[EMAIL PROTECTED]&[EMAIL
PROTECTED]@@=&AE(&EN8VQU9&4@<&%T=&5R;G,@9G)O;2X@(`T*
[EMAIL PROTECTED](Q.2PW("LS-#$L-R!`0`T*("`@("`@("`@("`@("!T:')O=R!N97<@
M0G5I;&1%>&-E<'1I;VXH(DEN8VQU9&5S9FEL92`B*VEN8VPN9V5T06)S;VQU
M=&50871H*"D-"B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("LB(&YO="!F;W5N9"XB*3L-"B`@("`@("`@("!]#0HM("`@("`@("`@
M=&AI<RYI;F-L(#T@:6YC;#L-"BL@("`@("`@("!C<F5A=&5);F-L=61E9FEL
[EMAIL PROTECTED];&4H:6YC;"D[#0H@("`@("[EMAIL PROTECTED]@("`@("[EMAIL
PROTECTED]@
M+3(S-2PT,2`K,S4W+#$U($!`#0H@("`@("`@("`@("`@('1H<F]W(&YE=R!"
M=6EL9$5X8V5P=&EO;[EMAIL PROTECTED];'5D97-F:6QE("(K97AC;"YG971!8G-O;'5T
M95!A=&@H*0T*("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("[EMAIL PROTECTED](@;F]T(&9O=6YD+B(I.PT*("`@("`@("`@('T-"BT@("`@("`@("!T
M:&ES+F5X8VP@/2!E>&-L.PT**R`@("`@("`@(&-R96%T945X8VQU9&5F:6QE
M*"DN<V5T1FEL92AE>&-L*3L-"B`@("`@('T-"B`@("[EMAIL PROTECTED]@("`@("[EMAIL
PROTECTED]
M+2`@("[EMAIL PROTECTED]@4F5A9',@<&%T:"!M871C:&EN9R!P871T97)N<R!F<F]M(&$@
M9FEL92!A;[EMAIL PROTECTED]<R!T:&5M('1O('1H90T*+2`@("[EMAIL
PROTECTED]@:6YC;'5D97,@
M;W(@97AC;'5D97,@;&ES="`H87,@87!P<F]P<FEA=&[EMAIL PROTECTED]("`@("`J
M+PT*+2`@("!P<FEV871E('9O:60@<F5A9%!A='1E<FYS*$9I;&4@<&%T=&5R
M;F9I;&4L(%9E8W1O<B!P871T97)N;&ES="[EMAIL PROTECTED]')O:F5C="!P*0T*+2`@("`@
M("[EMAIL PROTECTED]&AR;W=S($)U:6QD17AC97!T:6]N('L-"BT@("`@("`@(`T*+2`@("`@
M("[EMAIL PROTECTED]')Y('L-"BT@("`@("`@("`@("`O+R!'[EMAIL
PROTECTED]&:6QE4F5A9&5R#0HM
M("`@("`@("`@("[EMAIL PROTECTED](@<&%T=&5R;E)E861E<B`](`T*
M+2`@("`@("`@("`@("`@("!N97<@0G5F9F5R961296%D97(H;F5W($9I;&52
M96%D97(H<&%T=&5R;F9I;&[EMAIL PROTECTED]("`@("`@("`-"BT@("`@("`@("`@
M("`O+R!#<F5A=&4@;VYE($YA;65%;G1R>2!I;B!T:&[EMAIL PROTECTED]<F]P<FEA=&4@
M<&%T=&5R;B!L:7-T(&9O<B!E86-H(`T*+2`@("`@("`@("`@("\O(&QI;F4@
M:[EMAIL PROTECTED]&AE(&9I;&4N#0HM("`@("`@("`@("[EMAIL
PROTECTED]:6YG(&QI;F4@/2!P871T
M97)N4F5A9&5R+G)E861,:6YE*"D[#0HM("`@("`@("`@("[EMAIL PROTECTED];&[EMAIL
PROTECTED]&QI
M;F4@(3T@;G5L;"D@>PT*+2`@("`@("`@("`@("`@("!I9B`H;&EN92YL96YG
M=&@H*2`^(#`I('L-"BT@("`@("`@("`@("`@("`@("`@(&QI;F4@/2!0<F]J
M96-T2&5L<&5R+G)E<&QA8V50<F]P97)T:65S*'`L(&QI;F4L#0HM("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("`@("!P+F=E=%!R;W!E<G1I97,H*2D[#0HM("`@("`@("`@("`@("`@
M("`@("!A9&10871T97)N5&],:7-T*'!A='1E<FYL:7-T*2YS971.86UE*&QI
M;F4I.PT*+2`@("`@("`@("`@("`@("!]#0HM("`@("`@("`@("`@("`@(&QI
M;F4@/2!P871T97)N4F5A9&5R+G)E861,:6YE*"D[#0HM("`@("`@("`@("`@
M?0T*+2`@("`@("[EMAIL PROTECTED]:"A)3T5X8V5P=&EO;B!I;V4I("![#0HM("`@
M("`@("`@("[EMAIL PROTECTED]:6YG(&US9R`](")!;B!E<G)O<B!O8V-U<F5D('=H:6QE
M(')E861I;F<@9G)O;2!P871T97)N(&9I;&4Z("(@#0HM("`@("`@("`@("`@
M("`@("L@<&%T=&5R;F9I;&4[#0HM("`@("`@("`@("[EMAIL PROTECTED]&AR;W<@;F5W($)U
M:6QD17AC97!T:6]N*&US9RP@:6]E*3L-"BT@("`@("`@('T-"BT@("[EMAIL PROTECTED]
M+0T*+2`@("`O*BH-"B`@("`@("[EMAIL PROTECTED]<R!T:&4@<&%T=&5R;G,@;[EMAIL
PROTECTED]&AE
M(&]T:&5R(&EN<W1A;F-E('1O('1H:7,@<[EMAIL PROTECTED]@("[EMAIL PROTECTED];W1E('1H
[EMAIL PROTECTED]<[EMAIL
PROTECTED]&AE('-O=7)C92!P871T97)N<V5T(&-O;G1A:6YS('!A='1E
M<FYS(`T**R`@("[EMAIL PROTECTED](&9R;[EMAIL PROTECTED]:6QE+"!T:&[EMAIL
PROTECTED]&5N=',@
M;[EMAIL PROTECTED]&AE(&9I;&[EMAIL PROTECTED])E(&-O<&EE9"P-"BL@("`@("[EMAIL
PROTECTED],@=&AE>2!E>&ES
M="!A="!T:&%T('!O:6YT(&EN('1I;64N(%1H92!R969E<[EMAIL PROTECTED]&\-"BL@
M("`@("[EMAIL PROTECTED]&AE(&]R:6=I;F%T:6YG(&9I;&4@:7,@/&(^;F]T/"]B/B!C;W!I
M960N#0H@("`@("`J+PT*("`@("!P=6)L:6,@=F]I9"!A<'!E;F0H4&%T=&5R
M;E-E="!O=&AE<[EMAIL PROTECTED]')O:F5C="!P*2E;F-E*"DI('L-"B`@("`@("`@("`@("!R971U<[EMAIL PROTECTED]
M*'`I+F=E=$EN8VQU9&50871T97)N<RAP*3L-"B`@("`@("`@('[EMAIL PROTECTED]
M#0HM("`@("`@("`@("`@<F5A9$9I;&5S*'`I.PT*("`@("`@("`@("`@(')E
M='5R;B!M86ME07)R87DH:6YC;'5D94QI<W0L('`I.PT*("`@("`@("[EMAIL PROTECTED]
M("`@("!]#0I`0"`M,S$P+#<@*S0P-2PV($!`#0H@("`@("`@("!I9B`H:7-2
M969E<F5N8V4H*2D@>PT*("`@("`@("`@("`@(')E='5R;B!G9712968H<"DN
M9V5T17AC;'5D95!A='1E<FYS*'`I.PT*("`@("`@("[EMAIL PROTECTED];'-E('L-"BT@
M("`@("`@("`@("!R96%D1FEL97,H<"D[#0H@("`@("`@("`@("`@<F5T=7)N
M(&UA:V5!<G)A>2AE>&-L=61E3&ES="P@<"D[#0H@("`@("`@("!]#0H@("`@
M('T-"D!`("TS,3DL."`K-#$S+#<@0$`-"B`@("`@("H@:&5L<&5R(&9O<B!&
M:[EMAIL PROTECTED]("`@("[EMAIL PROTECTED]"B`@("[EMAIL
PROTECTED];&5A;B!H87-0871T97)N<[EMAIL PROTECTED]
M('L-"BT@("`@("`@(')E='5R;B!I;F-L("$](&YU;&[EMAIL PROTECTED]'[EMAIL
PROTECTED];"`A/2!N
M=6QL#0HM("`@("`@("`@("[EMAIL PROTECTED]'P@:6YC;'5D94QI<W0N<[EMAIL
PROTECTED](#X@,"!\
M?"!E>&-L=61E3&ES="YS:7IE*"D@/B`P.PT**R`@("`@("`@<F5T=7)N(&EN
M8VQU9&5,:7-T+G-I>F4H*2`^([EMAIL PROTECTED]'[EMAIL
PROTECTED];'5D94QI<W0N<[EMAIL PROTECTED](#X@
M,#L-"B`@("[EMAIL PROTECTED](`T*("`@("`O*BH-"D!`("TS-#0L,3<@*S0S-RPR,2!`
M0`T*("`@("[EMAIL PROTECTED]@("`@("[EMAIL PROTECTED]@("[EMAIL
PROTECTED];VYV97)T(&[EMAIL PROTECTED]
M=&]R(&]F($YA;65%;G1R>2!E;&5M96YT<R!I;G1O(&%N(&%R<F%Y(&]F(%-T
M<FEN9W,N#0HK("`@("`J($-O;G9E<[EMAIL PROTECTED];W(@;[EMAIL PROTECTED]&%T=&5R;D5N
M=')Y(&5L96UE;G1S(&EN=&[EMAIL PROTECTED]@87)R87D@;[EMAIL
PROTECTED]:6YG<RX-"B`@("`@
M("HO#0H@("`@('!R:79A=&[EMAIL PROTECTED]:6YG6UT@;6%K94%R<F%Y*%9E8W1O<B!L
M:7-T+"!0<F]J96-T('`I('L-"B`@("`@("`@(&EF("AL:7-T+G-I>F4H*2`]
M/2`P*2!R971U<FX@;G5L;#L-"B`-"B`@("`@("`@(%9E8W1O<B!T;7!.86UE
M<R`](&YE=R!696-T;W(H*3L-"B`@("`@("`@(&9O<B`H16YU;65R871I;VX@
M92`](&QI<W0N96QE;65N=',H*2`[(&4N:&%S36]R945L96UE;G1S*"[EMAIL PROTECTED]@
M>PT*+2`@("`@("`@("`@($YA;65%;G1R>2!N92`]("A.86UE16YT<GDI92YN
M97AT16QE;65N="@I.PT*+2`@("`@("`@("`@(%-T<FEN9R!P871T97)N(#T@
M;F4N979A;$YA;64H<"D[#0HM("`@("`@("`@("`@:[EMAIL PROTECTED]'!A='1E<FX@(3T@
M;G5L;"`F)B!P871T97)N+FQE;F=T:"@I(#X@,"D@>PT*+2`@("`@("`@("`@
M("`@("!T;7!.86UE<RYA9&1%;&5M96YT*'!A='1E<FXI.PT**R`@("`@("`@
M("`@(%!A='1E<FY%;G1R>2!P92`]("A0871T97)N16YT<GDI92YN97AT16QE
M;65N="@I.PT**PT**R`@("`@("`@("`@(%-T<FEN9UM=('!A='1E<FYL:7-T
M(#T@<&4N979A;"AP*3L-"BL@("`@("`@("`@("!F;W(H(&EN="!I(#T@,"`[
M(&D\('!A='1E<FYL:7-T+FQE;F=T:"`[(&DK*R`I('L-"BL@("`@("`@("`@
M("`@("[EMAIL PROTECTED]:6YG('!A='1E<FX@/2!P871T97)N;&ES=%MI72`[#0HK("`@
M("`@("`@("`@("`@(&EF("AP871T97)N("$](&YU;&P@)B8@<&%T=&5R;BYL
M96YG=&@H*2`^(#`I('L-"BL@("`@("`@("`@("`@("`@("`@('1M<$YA;65S
M+F%D9$5L96UE;G0H<&%T=&5R;BD[#0HK("`@("`@("`@("`@("`@('T-"B`@
M("`@("`@("`@("!]#0H@("`@("`@("[EMAIL PROTECTED]"`M,S8R+#$Y("LT-3DL
M-"!`0`T*("`@("`@("[EMAIL PROTECTED]&UP3F%M97,N8V]P>4EN=&\H<F5S=6QT*3L-"B`@
M("`@("`@(')E='5R;B!R97-U;'0[#0H@("`@('T-"BT@("`@("`@(`T*+2`@
M("`O*BH-"BT@("`@("[EMAIL PROTECTED]"!I;F-L=61E9FEL92!O="!E>&-L=61E9FEL
M92!I9B!N;[EMAIL PROTECTED]>2!D;VYE('[EMAIL PROTECTED]@("[EMAIL
PROTECTED]"BT@("`@<')I
M=F%T92!V;VED(')E861&:6QE<RA0<F]J96-T('`I('L-"BT@("`@("`@(&EF
M("AI;F-L("$](&YU;&PI('L-"BT@("`@("`@("`@("!R96%D4&%T=&5R;G,H
M:6YC;"P@:6YC;'5D94QI<W0L('`I.PT*+2`@("`@("`@("`@(&EN8VP@/2!N
M=6QL.PT*+2`@("`@("[EMAIL PROTECTED]@("`@("`@:[EMAIL
PROTECTED]&5X8VP@(3T@;G5L;"D@
M>PT*+2`@("`@("`@("`@(')E8610871T97)N<RAE>&-L+"!E>&-L=61E3&ES
M="P@<"D[#0HM("`@("`@("`@("[EMAIL PROTECTED];"`](&YU;&P[#0HM("`@("`@("!]
1#0HM("`@('T-"BT-"B!]#0H=
`
end