From 95b08cc54ae73a29e693b2ef25585500816f5977 Mon Sep 17 00:00:00 2001 From: Costin Manolache Date: Fri, 19 Jul 2002 19:37:06 +0000 Subject: [PATCH] Improve debugging ( to find the super. problems with import ). Smaller fixes. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273140 13f79535-47bb-0310-9956-ffa450edef68 --- proposal/sandbox/embed/Import.java | 3 ++ .../sandbox/embed/ProjectHelperImpl2.java | 34 +++++++++++++----- proposal/sandbox/embed/ant-sax2.jar | Bin 48539 -> 49006 bytes 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/proposal/sandbox/embed/Import.java b/proposal/sandbox/embed/Import.java index 3c6c8357c..833283693 100644 --- a/proposal/sandbox/embed/Import.java +++ b/proposal/sandbox/embed/Import.java @@ -155,6 +155,9 @@ public class Import extends Task { if (context.importedFiles.containsKey(importedFilename)) { project.log("\nSkipped already imported file:\n "+importedFilename+"\n", Project.MSG_WARN); + context.importlevel--; + project.log("importlevel: "+context.importlevel+" <- "+ + (context.importlevel+1) ,Project.MSG_DEBUG); return; } else { context.importedFiles.put(importedFilename, importedFile); diff --git a/proposal/sandbox/embed/ProjectHelperImpl2.java b/proposal/sandbox/embed/ProjectHelperImpl2.java index 35b39cc9f..149d7793b 100644 --- a/proposal/sandbox/embed/ProjectHelperImpl2.java +++ b/proposal/sandbox/embed/ProjectHelperImpl2.java @@ -692,14 +692,13 @@ public class ProjectHelperImpl2 extends ProjectHelper { int timesRedefined = 0; Hashtable currentTargets = project.getTargets(); - project.log("Defined targets: "+currentTargets ,Project.MSG_VERBOSE); - + //currently tracks only one level of super. if(currentTargets.containsKey(name)){ - timesRedefined++; - } - - if(timesRedefined>0){ + project.log("Defined targets: "+ + ProjectHelperImpl2.targetString( currentTargets ) ,Project.MSG_VERBOSE); + + timesRedefined++; project.log("Redefining target named: \""+name+"\"" ,Project.MSG_VERBOSE); @@ -709,7 +708,7 @@ public class ProjectHelperImpl2 extends ProjectHelper { String superTargetName = ""; for(int i=0; i < timesRedefined; i++){ - superTargetName += "super."; + superTargetName += "super."; } superTargetName = superTargetName + name; oldTarget.setName(superTargetName); @@ -720,7 +719,9 @@ public class ProjectHelperImpl2 extends ProjectHelper { // if the target is redefined, it redefines it, otherwise just adds it project.addOrReplaceTarget(name, target); - project.log("targets are now: "+currentTargets.toString() ,Project.MSG_VERBOSE); + project.log("Targets are now: "+ + ProjectHelperImpl2.targetString(currentTargets) , + Project.MSG_VERBOSE); // END IMPORT CHANGE // context.project.addTarget(name, target); @@ -760,6 +761,23 @@ public class ProjectHelperImpl2 extends ProjectHelper { } } + private static String targetString(Hashtable currentTargets) { + Enumeration enum=currentTargets.keys(); + StringBuffer sb=new StringBuffer(); + while( enum.hasMoreElements() ) { + String tname=(String)enum.nextElement(); + Target t=(Target)currentTargets.get( tname ); + sb.append( "|" ).append(tname ); + Enumeration enum2=t.getDependencies(); + if( enum2.hasMoreElements() ) sb.append( "=" ); + while(enum2.hasMoreElements() ) { + sb.append(enum2.nextElement()); + if( enum2.hasMoreElements()) sb.append(","); + } + } + return sb.toString(); + } + /** * Handler for all task elements. */ diff --git a/proposal/sandbox/embed/ant-sax2.jar b/proposal/sandbox/embed/ant-sax2.jar index d06a433b1fd998d87405ba3764881eedb1c6c9d0..b5978b034903928ad5a4dcb252082862497d2bd9 100644 GIT binary patch delta 12369 zcmZ8{1ymeOw=M4O9tb`-3~s^QU4y&3PjJ`4A-GF$cLsM4?(P;KA&~dwyZ7C9|JU8C zPF3};>grW%)vi-#=e)vPzr&!ZD!{^_K>fY^43p7lVf+jmxZ^j8y{oMu{@*-_J|8Tsui*nYokFxJ)hOoQ7lle<;E{G*(6qLZhvqW= z`%IR__2IE{5CW`WC?DkzT(DY!E?ravR7y5X3Knu{GcOnYczBK=WK$5!uDZE&U-SjD zLf3{?y;giU8Vhe2MqIDj$SBbERW&2ts6%YwSzBN?<$J>t)mI``eSq z$skC%I}yriPX~n$GN@SwqPHrEm#mBGs7yT?LfeS{fx^VX*`SrRB%SP%;a{EJ+stjP z-<5oZeeDKO*8f;s5N0|+#0^{vKR^@vt}*H&VXwy0+aetile#6{c&)DRh@69QS>?QC z8#)@o4dY#k27-w+8Y4%D>b{(omlaO-(6Qspk<{d`jZ7btZIl8PAg4r=YN2-U2gD3D?=itZ$YgWuigeRaVv%~~NVmXb1p*?!9tcchsm%H}Rg+M%W z1}lxHSbCt#=JSecvDZYrS9HaxLe~axGtTecy3jV~x`^rb_~_1sfmY>*V2T#X#CRHCf*z=Xt^#p_Mg)MUog zalr9JJK}(T6en<`IwjvOxv*(-rD7Wzgl`=@EoA+QAc$VqLYpe7qYZl{GJEHXMghr7 zTJl$16d5SB@urpjz*k+Ii}p+{X#PL~Iovm={LqZo)Z0%e)3VOoq`mY z`cW4FK|(?uM$a{j=~d^N4)`c*%y_5YNn36Jksb#zQqPcJHl^6xoq{(}_E|f^^gAqV zWzD(JDI2f+KM4yKeu=5E*KatASiG1J6YqCPQvcMT+^Jnb(mIB%npdz+Qg*dT-CB7n zqYa&AXNWyawK=QWBk8dSRFHlX;Jd4cxY>gasZN$vrCfBfw5eb_*HJ@r9`(i#$Txjj zb*TjHMXrj$*Q+m49K`N6NNJA@V2ZDfyS&*Yr#dZ4Z#!esj{A62MabMTFy4Qw=rq%C z0V|wrmotNZlm`+Od- zjd;oAIB*~_z05$XtR`{i;eLgr9f%d!AVWumKV2W0dRtym=yph3g|(xBT5=dL-5kp=XZppNeEQ7Blol#&;m`e}3W zrR4y0zV$??0OD9g>NMBzVF_mAk$pgH2I8?jEZ?_`C7V%Kav7mZus|}tA0Nmq5QF!6 z*rG=~Zz*&eAQV>lHQ6@QhL8KptDH^5sJ5Iealf?L6q!{R!kk>(8YHd}nwfs27J}vp z)rM<6!(JQ!m7|CA8#R!WCTvA1mF){sI zmx@+s@0Ygp8wOj9SPz5kXu3~G0KrH&R^KRoE|~PWa9tti+pkfKb9s!q>&WAy$kXo$ zIIVnxkFPpFoDN**cXqsYB+Yk*!QUL3ccUB$qGy2uJK?qgyk@^`nRjP*G2WT4k7ohFvIhU1-i z1D(;07XfWmjIurM8k#DYgIkXE1_TnpFoDD>D`G$1tHPNY3&aK#f4Oh+UQ~9`DC#TO zuBd7#N7u?^bO1?W!>D|0EoooFFB?(nj5!Y+85M2;BiG;?i$;#GN&^=b)Klkc7Tv-5 z3Olk7IXUh8+<@dn2zS?M?yy}C?v`bdQDhNT z*r~HcZbKbD4lLK@ohe$ZK0HtN7e*9 znYIj>6}M>WqqI;ufoYMIcuboLr2;}@R00aW?C0F&z;Xe}FXJToPES7^`OHkyvG6cz z{@#r|%=3R10-ds6r?IYZQvYrDQ#dAGPHRzIjq8v{z9=MPRSR91B4(i zt`yUuIgd>mK(4FLiX5J zFeKqIp_U?OM%&_vu;>kh|MJYN4x6?b_5(lyx59SZ7=fax{b?5(-vEvT_5NB;#=OuM z3q{;s!E~do$*bZPPs6XDj29QTOhfOVeMCG-IhURE6>IQv_#pYWFj8Z5kxNPs^$6jl zNrh1VyP zP~K;7^(By&C`t`SL7apOeyUQE{qEl-bRl~gmPvWS*<|0GN0u#c0BhXUq0Le8aY z;xE`>|DI!DE<{jyT%KO5k|*|L1Mgb*SLUbjihMJryKp55flnUnU}!gdkV<7Eq3v!* z+ak{PCvP$anEZ+t!~Q z5iucb+__fryC}=oCLbN)<9pPCu$NiUOa!}R;qlp#)j*0WrD%R$ZEUuo1gaEg&HR+Tx2y--nt?LE6JJv7J`0p*IP@W`dNM)Un7 zt@7P#LNo4GrV0)*3ZBM01Qb2HR7_yKVH8LcOZB)B8KhFLR+35Oa3V->Bxw%v)k?Z3 zNAGuYCREF#i88q=GSWFQ%GJ;b_rT4eEc~Qwm9Ma7{KE#F;zwL3+tuWgR)HheBc1xO z^7|cv*z^){ZW^NxF39OIz-xPkf+vno;kCAYK%ND&P-6&K|M;ZskIi zfp&7a(9#{d>>%GE%W5ng>L%5>mZp{K-Nc=!X-`qPBBWjm@-5LPFR^PMjk;(|wX*h} zOE{YB2|+Q%C~yWzr%m)ed1A4n|I79`c*hck+;|u z0j<4WuV^ciwjh?a7_EP#R=Jb2oSayt%=0w~ugxI3gh(^|)VXBF`R=PC^%naJh3Mb| z?_YNKMP7~1#ee_><%9YE(L=e1AxP)qzX@VpX#syC2TH0yC?yrAMzb*7j8UrSh>8VX za>>!p7WT|()uBKuAQlr&47&vY=miA9M3yCdReL$LC;QPiN4#?ockr;;Mdf&g5c@KK zd6xIeSGU9eoV%F#C*Th(Lq$I$K0MlwvSo^SuwPB6jKiX0$;VDp8IXX_$MM=R>B-Gu z^C$g|7%w{9H23chsnZ)IINe~4F zt#f%s&a$#A)yh{f0A#LM9DTj6mqDBW7fG~cVc=TaW2Gr5uA*c8F=e6aqbHAJYnfwS zmFstq+-|EE-I#EW_ZoL00Rl)uCyxHA-L^zCjyfa4&aP^sQ>{&1$UAaC!@1Qpq9NWj zv`)pl)va2ufM%E1+^gLM8JvFq9CW5p30;&JVC;n-SJh8&mzzQH|HU=O0)ni(^GKL>*VE*1FGu9Uk zJ}1X*JiYZGI?5yW`%68PB_M>b=7U=qRh(Od*@gq~*|pkO1>58yl-e>(I$~R8mZijO zo?SJU3qO{40%SP7<8a9{6)4Sf2h`lxpV&BZrFQzRE@ZgCzO*j`_uZx)<2zS{9KA1* zRi}Bj66?Jmah0Yf7js{V;Zi*r69cKn=C+U6!{u(NmLS1DXlTz=13v?Uo`=;?U!us+ zl%vm;VxEo7d1g5Y98;wDZ4oU|>ZZ|phHbvr;cdS|LG#qHsR|6z#yDqw#Szjq#lRTL zN!-MgCVVl%WZ#MKTOVR4?S^D3;5iIKqctuBhF9vFZ8LP6%`JrfljBM~yg?PvoOVGmo|9rnHGGJ?F&_Wsz>KP_c@2RhyZi{A zBqY%^P=TjV+QNn{2gm6zGtVKQ2c_~2gBa!pPo<#}$+1&$6HC5I7Zl$>{X#8&I|q74 zdXuuBVaOI5%FRUn5X7j6Kkk&gk1j5dV+x!lwy8T6mF_LIc04V{uCf7ym$@ zU+I+&+KSj3xbjidz0J+1d!;~c zEg&-1yyJw_blWVooXHtbz5tX3LdnIpmIGbordsN7eZuop!C9?l0ZN8waT?MiR>>wM z-3cUcO*NvqWedg;QW=Eijf1u6s+hDpAZQW=)FB&r&0w4NdxdG~ptm(P%ZP3{77BA4 z;dE^Z{WKGy{-?$0e6MZf{NY2iGA%;*m~BXnUCX}F)U1hViw;??ObH@BY?K44&uc@; zI^ium%B-0!Ld*UO*+=Nl2-SnopFe0no5}MPOt`xe-CDWeIwGRjwg~Kwn*{nmfk<1U zwWLI|f7NG=P49oYbR>*LbGnf#SQq?~;ur!dPij>-z5ab0*ZjtipymzehieSPuPqEf z&%Z~PPjxBFK~zEmIO(*~1=_>Ix#KD~o+@HY-h%v}C+*lCmzN z8C=pCrB1UP--YBawiW-zN%y?F9cwNg(7K%kmB%P_q=z{Qz5sMm*eo`uwBodWcW zcIUPh=b#vbEQFbn^;7?o3dyH_WGvLJ@Iy;XRNVwCl>xAG9{5&6ZDIL9G}N9Lh~eCi zf(wb|Dwto!uLgP!%H8P_u&acqI9;i%{68*C>C3pxOjVJoYx(fRYHDFr{>|!@jKn@G zw&i7P4z3P2(ji!i0 z&B%vDqZwa74vl>vN7j$%Y?s9~HK&kdFo{ zO$sl(L&I-Lr<`)pGWwK^cS86@pEDYF`g1r(mOk7OY)hXy|K+-x<5;!cf2ghs>p!XP z0nA1q3ML6426_ME4!tXLoi&>x=}S<-=wJWi4Qb<1m8y#u4#T9S%1g19kK1yZa^hMk z7x)Ap-6OsnhW7RA=%MOo7%5N~{fZ56>zI|xPN%D_?S5hZ8p!#2e|2-I@aOmI_Z_T3 zsJ!e`6QZZzX4yKvy)+9854n`nMp>-L<$&LhB{ykO#-N0=MW51hG>XoC+I&AleDh5f zzCm77_T25FL~I?NDPjTI=U8#h%N&~vOL@=?d*&cE{$7gJtYntxp>1T>@MDYKkzrua z;e(x)@1^t2so!*(mz0ID_YCVwfXGFZSYxc8Qv&7KyyeXfz4ku?-SLXeQhF;Yn$gMi z=s#Jc2Bie$*2-a9tQW5(<>uf=n#gmoagEzXjGYD;YnEPh1V@t(EuG7DB`RGF(2yXSKd-p`fTRvD(Kfg1mpv1Mtq1N6 zM&KHkYgC~(OTY~u0wj81{d5@;pf zMK9Sip1qBf_$p4jlAB5SAbuYpAv<*fBF1Q&eO%@&9k3irA!pCsI1kX{>L1srINqpJ zUY5qtv;q=V{a`{8b@7$z;Wwgy-|pFt$MOE@m$B&O+jAz<24-{3KPgqElEH0jJUFNm zRAt$OrBBi{(I7dj^o+6hJ#O&|2`T)>lGsI85s&F$@p)7nIJW;*;*|d_qFU zmI&{bV}CO)pyw6~t(fJ=?O4uv;~o7X z<;+Q$1)R&lV&x3mlxJ+e%oe(GVpT&8aW!~FWoZXWuIbFPi zM`PW8%c!Ky%~cbCjeR+VpGoqeb7D5h40AuP|AHz?6;$SqJfG!r0yC2K0AjkEky7jp zkZuT;`{*QE=nFoi4#OTH_q#Uha>e8bJ;+q+PoiSCo7#&|3vo=Hm*_MP9l@pf1O0b}z4|mU zzzq)tg@gW|D=auLSRV8@Ha2TP=gj#aZU$wl>hdX_hK3j})^ku@R##f$lkArQZDTsN z@qP;{frpTRmDcs;Z*~SuE!A4ZUbxk`>@6nG>w%w}U#%Rkw)O3q-fsN4z*+1A$M(I> z+da>lP5JJ#!n}zh&vW!@!B)fzyEx4>i?CGGmXe6mNok5BTp%iH({O}op9#fCuM#lg zR7K0Ou~dZmT^h+|h?J$Rd=h+KYVu5Gh}I8sYjNi*J`*xdaaU>%to3bs2@)^VfE?)} ztBDv|Tw-*skcY|pRX(!VXMA?}>sE^oQY#)qI94aOs&!e{oPGykOP(~v(gAJB36(AA zk7f}j$ZM^94j==ERu+p5GjiputaPJDu5|upNIin*(mr$WO1`2uiG)R4Nw4gMk+wiO zk&Pn*Ov`Y*V%c(JR>eGfEQ-?l{k}tXCL<0zA@qPlab4Y3eH`nAGw-W;bf)>r0_VOm zc%^0 znOICSwg_f1s5h1&U5Dq&jK0$aT6q$mK`-J=vCVF*In|nd;W=L|+Aq(dw(?lz42&{q zico+%$qi0@>0n1$c>`^mi!~ycD`w#@Dt!VZgWL*2;H|v`aD~BS$}(2~Z+$2a!OkQp$Y2<6xnsIk#)pg?$ zqSnmSNdv168S&(#Ygz)sFF51QHCAjPksn9rR-%5~Xh?SS8^zQSu&J^L%Cvb};`!h* z5DJ_9IhL+1AYOAqQPpPgVd>JWNk6UCmCbk%h)S2D&CZppUcPgQ`b2?Im5HEnw->A{ zE+c(*(2|1DQKay?t5xPSigDB@A%MY@OLE>_$P13+!qu97E+nNsmsqmL7sto;B4Q>; z59w7LWzzDnLz#Dd!kg4N^}#ouwn;Gq-LxirEt@ZQ+Jp)$RJXKXpqL<{E*vD7_GS6@ z{kF66dft?Y0Mn?^^d`YcnNz^2pY)Xf6^4F?U&BSKs(U+@_u<=3d5|f&^Kd+x^19+M zdRn6O_qLWa^x0{j*od~Yq3>&pcNm-E1Pzk;{Ea>Nh!r9WSZZ+2I%_TJKcBV9L2Y|m zk2+TEyyhB=a>-+ODceWGue!|{HHM|9A_e#EfTia}90N}0=BS7+8^1f(C>nJL!Mu{W zETcQ`P4};bhoXhw%5iotSaPvnkCWC%C6j|B*}X%Wqw1#jj01E>1J4He52VzT}@rbl{dt96>jBY^r%0 z^85{H#jh!y)O|B6)p&IbxBNqO^KFnbUE7wKj`a9>lR6VuWYm-Nv9MK7V#r+xA$LIH z6CU;TKD4$>>zsn^ix|dHGj824)9|7L4lV!Ru*1<$M!!`@6Yp^Sf^Va()~^FU+WnCc z2>SMtSK$%3q-Fe096Ekg2f;{PR)hP;2QaQQ$qI zPjJ*#{IQ6!vk<0|b2+w;v!dsGT9u;f5gGFO>ob5tgrsA7$|4S0V-55k=XM5yOXg}z zG73FATt0W?lG@>xYXUv&#}H0oS2t7Vn~c=wP|tT)mrb>5D+$%ugI!QIL|hMe&x_-* zMb1e6=$Jb=4l`x)>IIvvEi3-mH`~l==An#?8VPep|hIZt!+I)B5!EP9$qNcbwFt@ZF{WF+6cygStdA`4D zOk+=BpJ+52(k<%{JiIU{mOnMX6^@mm-ge&j$#WvlMkvd4WQ*~E_)#~-_99VfQ`vz- zpsXFs05!A27|3o(eE35ov#!eiJs%NfGSaf`vdhirlLTwCmmsKVc??Zo*+ylS%ZMa= zR`FTv!DYlYmkx=SHX?G${j!j!`YA^Yf+c?E9te}tQZY4vL%)a=PGdN|_DC2VXnC~8r&=1n-u3+^&<$#a5R|hkd{qfkb z8p46UelJR+(?MQQ1{+YMTJsg-70BH@{u$mMavFrCwO5)t+o*X@1Dd+e%Y((lHh>+T z*~D6$UoTnfziMIBjEnVNm5+=5N$h~R$d^?Cvh$9z zcrK5seg}1QJ9)ViJe(g3#y+(3f$*+pT!Bx(1ga%pwCeQlMzXiV@sl|t*w?lckWOYE zpy(GRJqKa=k$$16QT3R6_iZy!-M+J^6mf+#+s>dG^Dfwr7~#bvb`OTE-;Zp_YN!y` zoty(dV^~-G#|hY4n1s)u|EBb`UTHnV@w8cK15~u#(z?mgjwZ;cll7};ysXn2M*!Bv zNYbcl@VZQ9E)b3z+IvyXLo_O|SXThUd6tj$rn1WoOSfd)h*sx|<=m{-7hUr})1tE!(bzt| z2cmd_4`?~DzMENoS2L_|8FiuAt?!D{YOBc4+Z>w%szGm-ht~SAeCxkR8btrylcnoCT-!eXz7?GFLeh=Bvv)hy5;cq#w_=KKh_GRmAG} zLfLYs(e-&Rr-oW&;&Y<22A61QZfyCTil&Aaq4M5rm{BNq_oOf4LTJ}8Ek3A(FJhQy zicOE1c1mUSV8~@$FIPC2WM=00(w6z~((uKQs-0#`FHK;~i^Bzc)6}R+aOYE(0h;*P zsGEj)eT)KU-2pR@r9sIDrfp0Ox5(=p?-+%ldT1|3nf(#3XL~;OwcoLrNH@rE)jfA; z`fL2Op6{NVq^^k7#IPcT_8{mm?~5RlJtXhTNxK6US#W+1>GB8z0S_ZXrSH;HDrNIV zD#oEvIfX%9&gNjJ`IgRDT71RPqv&mWoVdXhn%JLt0+3_{S-kt4GXT!+W4xY7ANx|jv@x) zm@TIbo=fBCBY z8yOOt2HD{+e7}VFZ`AF^0)Yy&-!nX zrcw}ep@DBn^ry$~kPIW1lEHU!MPcMEQ=btlyhOZ+k}@W(BliKO+TTm1%O8$;ddbPc zyG63vHM_FXmaZ<6&Z^3J`Y^-l*XD=0^4{mdGhZ)E`Y^3Xl8B?g{AXX#tR<+=`sdNj z4XEF6X&20Xj8xNn8JwBEupi2Kte?I&1Y88gcVxS-Mz_#uq+dl~R->LG@rbIXDDw7o)!_vo8Pqssc0etx3$ zFn6&`ljpX-H2gzS1}1d)bw_9?b$#bm9=r>Qo9@UWYvBybNx^(A#5K#!bJAl_SC#=3 zOlh#tnLOqztxAWrC@iZ*!pW$lv#icoxt1VM(iN(m{RH5ZST+RIC&B=9+CUdc2(cFuYknqQGLHb$5&zRJ*Y|NI#n})ftelDT+Xo zZPR#CFvxbTa&uH|D$iVh6*^^D`GgKS5DPx?R-lTDgd>3wMkq~Ac`7lFZ7cppdhs2Y zb=_MsFO+2o4}eGceNB8H1%#8d7g;G1iX#bbJUered)DB_9)d$D->lLot~jRnHi}@! z)V8CD#LVPeo2k}-sWwYUk+7>)6sNyfalfntv;2HIhZZ%8w^S@fxv&48)jtTj&*Bx@ z5r9|OmHU`unrxu=sbVFD!YRlcZh9y%zue+^4R=7hO6jVtmZr3eoCW4*;FQ#7xrac$ zt(d#syqtEW0Sx7DQ8sf+C%On~brSA~#jDZfkX0$TEWgO(6?L z0SXL*RMd?^>=wg><>}mQnQTT-pKv0jFV~7O{H#lX5Pyx}H%QqVHd#SxHuqw)Vbz+V z>NFx_?s=bGRwi>VrfUj{*6=b?O*R2n{U4a@kRY_fOzIvK8(rr6t;KInL;67Lxue2; z?xZk3B;X{9u6DMQfZ*X+b5`0i8ZQH~Fd7(+7^<8yoUj6136%5KfcgZ2vPj|t*MFpp zTAu#~5ttV$w2NSA85&EaP}A~M)B3>|7^XEBpo3CQO=OA>T$+m~yi57iAY!85IyKQ| zP@EV2wwYLrVmyNEXWQEkzXFe0DR{nfael|HjJ!1M=H{WFzEPBgEU~WGq642jVNLw@ zbasG!N2AQ-1M7@3b$|_$w`jZmBEathYrF-j8=Bl>>82PV4qji|OM+=!G%mRN;~ApK ztAz_xRL`sTHMf%+PtA0jp@aW$Z^KB3onpeGQC@d{=W4kug1+P#D4W zz@DEI^7FTc;!H034pqYi34%Q*`-tig)6Vp^fs%|TRUVQy zc70x7DFn?KPs~@(NQ`%bpIVsh*|1vSPWwbsf#G%9D!UdS=Vd0L;(G;jd4BK=;??^1~2$G z*uKX&=iJ>Om1?X-28FKD-?WoBZC~FxX;A@OeEy~Jd5$_l>5)jk3|pIjQatyS?l8f5 z3XfVGU(39#KCl%S#g=0&Xb=R1jyk9-9`TKo#qL9e^X-Z;>goMlLq3Q0H~xkAmkh!T zCJ-0?IV~gqhY{yOe}O~V%_;xZ{1fp1pLqYL|N72RDB<5WH=Q5;{t{Lf8O%yLcpjP%ERse7{@ewC@yP%0A|CkmE7?EH3Jrq? z^*_S4-G3T%6#R?8@236Rg-|ycOjF^%HKYZ2;P7q$OjQ-Qp_}pFG5zm(p#P6C9sC86 Vg9&?hU{D&sDm~H&Sq*;y{|CaVX666@ delta 11914 zcmZ9yb9kOl)HRx2~RZM(74*j8iP?AQLz^`7s%=hm7%vuFO8 zxvp7z_Ps7YAu`_}5R~P&CKveA*jpYVzF#j6!6+}Sk?P$PBO+8n2Eu7EC z9P`8deR)Q)FIk~;G^y^3mSEOq)Wu`6Lc z+GI}SW2pX*SzuOPI|w)d|PWRq9I@|8=5F~;0Xxn+u`<~&#Sk$KV3|J zj_z?FnPG^6dvP#}Sp|SBWcK9V5)%r=^i-BB4pmy()(H{SQ$?In!Rx!#x^Ht!oj3%N zB~on+q1jF1l)A$v_T=2#0jfi>S^cUoEsG<_Xo5HM&uvduRwQjXC$Y0k?X*X``s zOjAsr2G=&Dt)JLGmGDnWd!{3KB!N|<6qZ^`7>Z`jf6OfFyQhIRimNrp9(Z_5EM?=b zXrvbzH0!YWS*o}vMiLl+UXZ(sOet|$4M277?PQ*+$4vS zY~#xFBEfM<(|YriWe9bx?-Q&P{A>pvcv1?X7fIyJ)3o{Z5JB*vOE{XE(jhW%HZ;_k z=QeGKY9~&EOI1Jn9l_>N?w9wI_Lzgm;0eGMnn|VbzBAfIdw+&$&5NxI22ZQKvY>zChC!MUsSWZ9+u= z<$~R|T1_murn8Rv_2x3AvncQd;Xr1GoV5f?7LZ%w9RqCXAYb2PV1>IZ?rLs1R#Lkp z8wys(37x9D&F*rFt)Y{NYCy@XWo~Ue9vaptbl7_QD?%~WY0=e>8VoWr&U=K zg4+rSV8*m-we`d{D$dZR5j`IyMYc{J`hJapxE;42X9$Rbaj zm;ekkKxnN&k-?$U8G|{?c4Z~ZF4;jjr<~s6Q1bxw-qD}j@WBy&OWVkrG$&6|)od^e z-YE;DveuPUprVcY4W7PF3FTuA&8>49_Y*f~$i+2WlC^e(`ARa|xzKi+X_U>}Vuf!L zE5{GmJcqaRR#XV!(M{GNn@dSR{;W~=mjU*TyT-qKiN?hd0lE3`)3O!4I3d@vSQWKP z&ZxlhiFk}Lz)6l6b zhRM(C0toa}9Z)mHsZ7=S`KTp%&Jl3a7d>leTHX7nV*#{{k_8)V{YKLCkj!!zpO$El z@uH0y!eq)0ci>jh725=X(Hg>zZ3dLb3M!7$+u{LqxVQ z7-cTVW*5Mdt0X4EuAo5HKtY8yk1u7IW!F8qCPKl*Ib+PCmG>x36B~Z}ToDWtDd{5V zS*Qg0O-LK3EdY-X=H|d-mIHW3-foWBPnLx5El@xo#z3f&6GWhmywr@(n$&YR6raqZ zzF!x#0lHkihqE?4@`v;Y(NRb{bT_eVwIq@r?Yu zyLA=T2!LArl2)LVa33nd&p`3?jCxaHuvk^nPU(9*wq4Aywpdw|U<@=ds!c-3xAjhL zdgn(GN!R=Oc6W)if9G{jp=QwaL)RcCzW)M7`2s^x%dh$BG#|g)135#Bq+pw00kZ9buar8}32gRA=NcYeMJraH3sf+vE# z)D^GS9_j7c7mG)vPw+RYKNxS}e^Lx~diHq#e5pMG?!!Olz5q=>vAP5QAYvpvU7h@_ z+#~S)N>~1s%?YwHyrLIUUle9Z)J#hGNM&(iNU>A+Lud4>8HXYHPukU}G74JhWWCUi za5$BZ3})dZQ4M{0Of6NcFfX!8O4;Jbt*{sItYgLOAnE= znDV{@O8F?rp`8z(k*B=b?{KaNh$N*$j?T8r_KEUSfae;H^^Ud3R4Omr5fu-6?+0zu0H7R<5bo0&0ke^7!3VgU+(jVnk z`LJ2?&`EbLxukFRH0&3Q4 z=It5o&eaj(Q8&a}9JjDg-(Apwb$(00EgO`qQk$i&b6`p3P|s_CfIuo+p`THYZ{;J1 z2{{s>22@Xm*l$m*)%2^$pP0C8$jhfGT3A~RYuaSRmfLD|5E@TtRcb>jN2C>|Ff z_zb`8OE%S`G0sh_`wKYKtteu|al17ON85&yE!M$o@UU!A zmATkBRz7#1*VD&u;_}{Lr{|*}^QSh%coNgsja}$q*TWlls!OzjN}Z^H9}sR(#$O?^ zs|{94^NC;@o%Z{ScxeJ%V+R6We}sww5}kgfGeEd~;Cm)-zd?rge*mt^dNrXi>n^!|F|9&zM(WvG}h zN>+981^J4AslN;65#du$F76~5L{~{#ZGw6PnS$c}$ztP{KHq^juEN!qx}u%Lf1-W* zoa-T@)=FbdH|F9avVT9iLyTZ)S5I+NmP(_XGwLW4{nF|+Nq96o*HqyqL_v&K*p)irP*2aL#+k|j z_};^K10>0*1iuW6D{H{A{{6Fc9(7CD1D_g#sNz|?w?};Y4H5U*;N;5V@#8n=oa z_oo!2(QxVgZ-g8m+Xc%&Z0HItA_kO^m1itXKy8_OP(%|3>!ak0gnBFU5Bqac4E0`e z@edY(WY*)=hoIh;VsMd0dqbwegep3)$yd~zC-LO#wiG%6<$YN)=^Bmi3}g{D^ratg zYsqt$f>n@%+%lD}tY`Mr9RZ;!2$#8{^Gej~YL{IBCEK&W{pxy?fJNsy=t<%}eaBtk_o6AY55CZ1X^WF&zBD18zsh-E>sugg%-E zTpV{#DD| z3n6!Em^wWm&X0V^1of|bJQe_~B(k<5guROI2tssZX{xb%Dc@0>i%L_$bVYcH1~FkD z=nwvQ39B;wmaz7~WJ1v(El-V5C4Yc3q$o@GMywr2?+m#6BM-irQhbl-n;UPw<#Ai4)6jn$BC3E&QtX zUPWuS(#;16HZJiMJA`C4)5Yw39og>mMwb}s02i?2yK+^!Y8#!eBNe|*r2f!nlRGRK zU1blan%=*yt@BGrw7Nx}hQaw*DQ??9Yp(`cMB-^ghS82h@fPcxK3Tf$7gnSyP>~N^ zXp+)EYmmI+mEY<4Qq41x}7?>y0|Bp4wT=jvPXD(3N{lNO-53p$yB3TWejMH)PpAGHtiWmnJ)Qdvw5D8Eer6K zt)Z`_KvM6Z%{@40Dps32-y^irZp}_+jbG)Y1}OjA-EHufK&Ho9^3Wv0XT}sDZe3+w zx-3nU5pj7zxw+D?6_wv5tWV9p<$LI;n@W(QoO_c~rAi+8Z!R+LDxKB>QwA=MebQ-| zP#j!KlHT7G+7)I%Z_++y25tTcg`YYnBlzeQY2(UH_S75`12G7KsK1{F>KM6Yh3okU zn?vo>Be)|-u<+gIn!zM!Fi*F0fx=~E9s%g zve>uwjZ^%C)iwemKNt{WQ&jkQ@BO_UhG;dT!G?I$>Jv?X36(Dj!{7t_=0#{qVmJ;Z zod$Ru1&`j5VRE>bTyH4D3b+n^)d)5lGK8UCmuV%Ss7}M6?-&>ewzX7P992WSW5bZG zXSFtl$oP8AX3oW->&g;8i(6YX`Qil9LY&E|tv?ZQ)v4qvX<9}B1BuSgwkv_UwDc%Z zXPncW*M~qLv$t!)ci5q0IZ^}1W#zEyB*_Fp>raoHT27!VY8QD_#i}@Ki)SXfwYEv>5sy7}(35yk_yyweYno$OVRXOY}O!EN?%TFsc6 zWU{(9+N^u%%rhO`1E51dw%>+wEqmke3u-AjgXo+b2F=zA2GxQK5wkhFi<>O2Dm$GX zCCVodrL>#5s;ApfCLpfqEQPTCr?L*(hMIw%PuGRkfSG4jbkW=*b&PtkHkB6<#k5}H z8#S0u8S4S%AaP%>&5*Jgr9}1Y+@3`Hx!=tnT*gnRx5czd&m0qzlvP@1;j$U)&%B)* zZm}WA2LP zZlH(Cc5#NVRYJ93Oj!-s#>e<#wsX8vg&du<+zj1Ee}+_A-V|msG-xWX*|vy!n!gX^ z6E?Gs#a4(ILzy)4FJJvtEA&x35zkdVWQJNzH9sa+2_X-)V#0efKP8nfmzLgt9@#0p zMU`fhpW+`~OhaFL9T_AN+@Z1-cYXPz6{(We7u<;W301SS&JZ7o82`Gsjs^Yt!Bh~y66XRrCYB`_HAY+ijp*QFkoe!43lPKJxDmDl?bW> z>W?6aeb3CM^Fcw=2f3n($5&ka7lbuf?o>a8m-wIDQoNlKC9|s@;1rGhEtV!^&~CA9dMkW~H`AJvy*>)TE}lUa_A=Gtp=!37 zifPiMJVpC}zua@x`^AL#u;cdHrNbJ|wwZ=Xi_@EqzI8D)LFg$)ac_aha8+DIe=!t6 zLUAYlJ6UN*gVC&EE{^nojb6RRIGy#!!C0O;;dgX%ea7TtR+$K?3^JMI#!%ac9+=a_vm9>^cB1c2XBb- za>yb6HOp}&M9$SVEw}A1w@UC)P{62>CEuIMN|xvk%&L_^F<&oSP03n~6k{&dPF!6; z5OZ}cC$5-#+~^$?G_^4+djEBf{`6&b!G!s{p$hYPW}N|xPUQqVP}ia|{0?p-eW$y6 z>QxHf`JC#p!i^X~YJJZhY|?!PY>U}B-sD>2w&9xcE6NL$krU05P2`R%-mO~oGQkiE zxjeoFkh_yW7oL*0qxU)`Vh@38?bNVxRk40FCjx{ZkjbK7$v_Y2K`V_I=(zl{>~sEz z3F}%*zR-o4D6K+)v{u6qhW*$oXG$4~#%;Dk|0<)AT%l*q{l@g-fRL*}_)4EOvW}2F zR|zx=r_y6+a-fVf<2Ktx6|)&($WQz^;Y7I#9P@swV%#NwHwdTAsny0F^l_~Xh(BXs z?scO6so}F=V9pSXqQbb<>V(J>D$uE|UmNwgADgM`gFh4=frsvqnQm$#&w@j7lLCM+ zM2)OPqW2AlJq3h$OL(&@J@!EQ6?`^21ZPH8tq1?y{AKm6Nu*lG8P^d3gg{cSZp^(1 z6r4{TPl8S*8F%kx?p%Lqu>JumRi11$%BhIKFPpGpR6o-~_CLOj^mb|Ihx2u+#G|-` zdtfZRxV4#&b0}3l6l9Xl7mcO7Iv5@?a?8_whR70D4N$O+Pi>{HX-;2WgM|xiZ-Efx z60!I7<$L4BEb!`X>78+oi{!&EOCIP24$Cllax{BX4U>)~pA_JHJ_D=s{}^{`8dK6D z{4`ioiWH7CHKXC;FL$`ZzHG%);4^wz|IEy1Tm-+EiQi|}6_aTOcHAoI>tN26T%KufM@WlcThEwY|${6#kE7I6h@6n*lraKz$DOH)(AlP*F-1McQ8HIUuB7h>0w3et z@AzFO-;O^B!Ze-j95AR3+m)(`6>_H-%#5M142!g!ofS{+YkzMZwaM--2G>WEpoT7* z;4A}0cWulu>VJxxxIQh!FR zk;jN=zVJdd6wvI_UjTWD?6Nvx#$gj{-L9(h%T6yGlxBbgl=JNmsK^0b@(TE>Dw}LT zXT4i%iOHLz%X&jX1{58JI`)g~r$(_95QFt5T?} zbqJ>YK{{-S;J2cL?XOZOcPo@0eY{Lgc@%Bg21LqLXkd`tmr>5a$Iu6>fyb`dG{HKJ zsE5k5$UVrUE#)EwJmR0l8a%3waT4!+-NUC@)hRzPV>s7X5D(x=)bdoMI46oCXYrvM zchJ-FAMUG`O?6>jYL|UJM0(1X8X(Sxohr9XM)W6CnU##U#4%eJ}aN zN67oXL3cUCBuGPGJ28}T|6HM^e2Lfl zG+_&qwL@n!8YZjkNQK)^bU)>%A+vS@Lpyb+_TCLxW!T(y$pDV4X>WPydVe805?*~S26|91)O$D*p}wXsRN=!V-f5+YyR?G9Y#{O*4Y!u@q1Cbh)>ZMh^=t6R_RZf{iGrKJ30UB{X;RLpKog0$}|3bEwImb)ij&p;Xn)*IH+uRqdD#Nopph|`z4UM%$*|eC^T_pBQa6Y`_Dt&6@w#w=7!=GM)XbV&c_2|tDpM>mlwpVK-2pix z>Rsf{I1SDcm})>R@ina6$WBttA|8j~r@j!Wv~8xH9_)m7FdL;@R~u`iGU`Lg&*%)_ z_mS8P0loEc7O3b#6Ix`}Kt~u~;)1)T{3L z>AW6!=C!J#1+f{i*9P*Hc{^}>2JLu8|8D0b4*3akG}Q3#l;#rpK>}q&VN)|JuTCaU ze!2{0`Ax;;7#IC=cv*deOl-8zV}xF;Q{elbOite@lN@gc{ZL!!`HrGSB0}K7-U*Ba zDUp!*0Lp8^nJBPod-3Pw8EsY;)4GZ^5P74Va|WmoY2yPGepdc>1z2 zm-KhD)8k&2joRNNhLR%7sy7C{)8t(w*mon34)ZwNK5+3}t+kynJn4d01#6}T&y+n9G2xmw@0tSBY$&+wKQsrQ#v zUJG4J$&XD4xm)S9TJeR+3b`m4R!#M5xl<5)TQ)eo7^j*X&9erax%}X`w{~Eer|u!4 zlu=EgK!j1HCuUDEMq4gJNzB>^-88Up7wJ}?vKh0aDIgD)WZIue;2p>VElje_l66G$ zE;9u0IXhv@W3f}!X_r$COR;*S@s7ciSx{2^jUaQ(Ymat?y79(H{ryWV^R{bC_Uw|s z=K4$Z1;Zr4)+6WZd`DiY>RL~wC&nMn0hV#^S?)z;XpIV+fgaED&4zE(2-(~H*Il2r zok)Di8wFB@y19&QKrvv({U3;}2)SRepVG&otLxEf9x;jMK;Je995-?L9@1&lz2>u^ z?xynLhZac*bhg@ZICaUo;!3aDG3+_G%-*b7i2Yl}!pbAcy%uFVGit(# zHO&TwY09lY`4VXcsv=RvdF*`av?=2f_7&v&5brW^=mknkWL99;1>8fsDo6JCuT^@| z_dWsL-tE7sM4dCAeCfl+d4^@;h(6}j%n=K$#%syL$h&$x4HhHK zv7v5ZYS}nGVp^}0Pvp&|o#}2xdKTRgFJwHn_;TF^9tYh0yRF=*3Wcjuk-99Zz}PDZnTPrv zk%S_dLK`UCM<>$=x0p3~lv-VsKSyaNl9|6oxq5)@%e5nKM`l!hYF((&thjfH-us=^ z;^JESEH>XoXe@iF9cI=G`x}zUDzlxz0C#ESZYOzDJLEkiqcpKP${|&NHtG$^4h?1w zYH9N$Go!0+*zD>-6Jh@IP9(f47OssctELXR8V!BC<$isYolaxAjcmtCxH7yfYDD6EPc*``f4X z)H^Wj#B0>=IRZ+|bIy!tSj`~uknQ%4@8!h|6-a3^Wq4br_<(KqR^MAL2*@m*&`Igt zz8n&|`mw2VSk(T8dw!k(yw1S7EXxWaTTe9Q6Eu8^&H5D z78ZOn(il@u$gF=@_tP*4SN$y6q5(TlOyUM6qr^?>yfcqw4Z+qM1BPpfg@pDlsSh|U6qi;C6olWG5EjSJAe-=;eVm8v#F;wpJVxUUlp!X8; zz7P+XFlDu2E3_q%IN>bqe7CbK^<}IPP7`p#)c7}U?Jn19DBK7maYoY{S$AsX z?iIWST%wS1Qxo=e?ZV=tPLt9Y_N&}LU$)X0AkmMod=fTP^%qKd3WlB}6+;>2vwxL+ z!uKEJH>LX1{LDk)5?@xkUi<#H)3>B4w}d-NTcHzeL7V5sxO*Ha+JNhZt`= z`n|;#To=B_?E`+0HMxJzLBDTDc#g?M-#?^Nj$lrPqb>8KP_ImH>RF3X8#QDaAy34w zKmnLig$-n56LF$UiL{W^G?$vLod}`h8Dm$~2ceH6S=Nj*qRdE08ic-9z$QtOI-+O{ zx9To9@e>pmq~I>HsVzF${XX6~mTczE*@KHUCsW*Qi`=8Z*K)DjUm0{p9BIbSRQdS& zFR&K)(u_a}4+ch#)7T$N_)nwOxSO&A`%jKGl=uA4?8#^R&%CPO174}AYhe3-tvPSd zhs2^#DXhe15L#Z44WJfBL=6d6Zkias1h3iZ^62o<>YJ0lNL_PmCbzY*vB@aM;V{TZ zEAQq25xs2?&6Em06eB5I`CK)S>bq5$aA)1+JngmY{fb;THhgK(FPPDaHEmjqg!2@KCTK&JH0T9kY(ZgM@mcQDth_OkT z`o&gfk}*K^HMzF5tw$BQJlVn=yM`s_UCcRbCatrLl2||4iV@~uEJuS+E_q$xVoXSx zpg^MY9z~y82b^B=QTCerV!@f_4(4SVOAY0U8?qRiWnd#11d@v0K&__D#)$u2RJee& zOVNtCco}QniWFIyNyW-A*KZ4BGr9++Wf@|yUuQ$$Qi#cwS1K~w=P@ODE>-Ff#%YR@ z>@QNCrSisvLJS>yLhcN3`~4se%pGKB-PAiu+AMg#PpH&E(3KOD&8?Dz6*Ek7Tj=a* zo#T|`kYMpf12vR`+Kh}}E<^#l-~pOOaVpkDMFJNqCpBfK!x`B zwcerp)QI4-8o{{YL00HxX#|(U6U-K9qVjp>!{wG7(a<$JxK+gs-(Mz!dmF5@F0!Hp z!Z8J}jR8n#77N3i$#FGUR&8P-hr;{?c~I35BqO(vKuAo9qZ}u{Obq_ekqEm`2?q>8 zEw{z5PB-hK$HbRD{1hD{Imn!94ySeY6f_%DGc?NVgZlSLO}#<$)!4OqZQ*+8b_c&@ zBcLzDtjCE@A8e+qu-C86k=G-L*{18#ZJyEH|0uYw~qy5Eru@ogaredvjOVv2>mowXhRM!!qct zK!*U{O$R^1^PX?J!`IM;u)9gZ^P4-tPN905wuQ2AzubHRTK;IEscy^}@C zr=S3t4GU(XcTQIqM~h1bHp^#skIi=-bP-P}jsIX@T?GBnMJ+ZrbmDSszJ6mwm=_|! zD*L$C!Qo@@t3=w&l}j4Us?;dc9dJHwGvz!PM+P z1$sp&vCHqQ82?SaTi&$m0dh~BfcA<$&9LVkD%p6BT+y<)BPYp7^XvHe+l6JMD9gXO z>o3T^?w~9FW{>&C9MF1=vo-9NHRQ-0w(U#^jDJw_4eoJPq3@$AK+TP`@ntM{7H!&< ztA{m;`0~7VFvRP96k>|BMUF4>3y7jgHRPPFyiI~RLDq!knQ94sC>ARuXYv9{GBZZ{ zuyDXwws3w_<%-!%)o+Ieyy`O+Lor75!ucn zf3(ZUPgp(~wwu<%7w_NiNKjFGJa#@a{UZVBnGwjbzuA>Tco3jI`>&iCR9esR7aF(f zTmF+Zr!W^=|Pld{{=cwM=n0SvK%-BI@tdxo$lzhF?DQn{`PtM`!fEozLz*r2Tn7~20m-v6C=FfgkBH6C{Pe_gODQ9zG>N8qXj RQPy*Uw0n@Dhim^i{vU{zZfO7j