From 2b7f5869d3fc32c6cd296e484bd75914d6a55659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Mon, 15 Feb 2021 12:30:21 +0100 Subject: [PATCH] Add sprite initialization script - DoInitAction (#clipinit pragma) --- libsrc/ffdec_lib/testdata/as2/as2.fla | Bin 1089148 -> 1090593 bytes libsrc/ffdec_lib/testdata/as2/as2.swf | Bin 29914 -> 30081 bytes .../flash/gui/action/AddScriptDialog.java | 158 ++++++++++++++---- .../flash/gui/graphics/spriteinvalid16.png | Bin 0 -> 745 bytes .../locales/action/AddScriptDialog.properties | 1 + .../action/AddScriptDialog_cs.properties | 1 + .../flash/gui/tagtree/TagTreeContextMenu.java | 50 ++++++ 7 files changed, 175 insertions(+), 35 deletions(-) create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/spriteinvalid16.png diff --git a/libsrc/ffdec_lib/testdata/as2/as2.fla b/libsrc/ffdec_lib/testdata/as2/as2.fla index 6e4a2b5e98c4608837d4456c656438d8241dc51e..9054f33e2619f88b0d34c09fbf4b915e0b265931 100644 GIT binary patch delta 17204 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 delta 15628 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

C?1%uX@=CzWKN)4GGj>6K}q zjPir)9$@CD==5l<)Cism$`BZ!Hg|ZX6YnX5qZPQSs`d5B-t}mPi?UMy>}$u;s|hTt7LAeMd|$ggeDrQK{TupLSw!cT zf_`Ty&DZG5_-q1l7;E>98L(3*uYAc{TSFG%0?K3{YxaDY`4h~5ARpEACZq+MU2);h z6GGNc%sM>liq5pSXc#MqsT%7LN?`gvXS#DOy(_}!iLxU{uMa*k8rU>YI*C~xq_V_F z*`C49lbAVbJNjtFb-#6dGSLpncq!?~*+YNXu<nclWwxN81{^S4#q|^N0sX?D+h)}R2qDF_ab^%r1&0i+ zBXCH*=o8zjJcBSSpzZyB9 z);mA?n#eI2SjE#*Nr8yI?wXm`z)Q5K99zHw*V*<~=Yd1ns?fAN#IK#safhSQi7Lnp zdpOZ>^3gB@br^h?d9NQep+;-mf_K1Q`BmEm?RItX%ae#wS};mfe1U-;Bu*HrinULy@qRgui^TlX0CMQRo844y zV0f`9u@Kk!G5pSiIR7F^?3*V_!|1bd-4Qt0pBOC%i(q|h)Eu8DM5;cG8KK9j*@V+| z@^fzwmWsno6aePBF31f~hTIs&@@$ubG2wG|*8pPhKB}BY=;HO(WVq-^Ug0q_ua|j} z6+@gRM67a~5dVE|$mPA8k2qx{2f=zPX@_kp>sNPHCo_QZbZG?-XhF&~N7Oec{+d!N zb>zaDuC;2M1MdD*!T>ce+i~7?BfUM11buKD5Z512=C9;45~5AKvbV6LZmkfb2$$1a zX7r7D%~}t^`0O(e_~*8h;jGOeu-K_%$Mrfpd!?rMqd!BKIU8A=+1m5{Kx%;r^1{2e?XCLkOOoIi_dnm2%R@Z2L%~Jxp57SX(bW|Omn9%H;i4%IxR)kKY z0TDr~Qr{$i6y%LRxS`;Ca&Jx$;i^}brh5WmKEfn1n`1Tqv#D^yV?yhGEe`9T4hg4* zQOiRkfJSS$1=TUlVYO_#rAeCuCnv zGA9EG?8ZwZZ@0y&na;fS939v2y{M4dNwo}WwkftM1XREaM&)(Lb3 zi1NE++hJGMNqmW`@=~?uwgh?&Z^%6X`J-*2%C$dkJ(*&~IYAUJSBijj(4#-fuH1hu zzi!dMwGQ%A2e2>`HYA`LB;nqn-l??q>iaP}%k#8nGxYK9>rW>y7@W znO3Qb`ADXCvQF0!1Jr|vehZhV~ zkQMAW0VVgZ==e0I7~;x#&u20O*`aHw8w~mb^dn^rJot+Q5HRD1Xn*e(@&+2nk9S0m zH{gWy4Uev1Yw60QolHRC+9len(Sg;V9_|1y?i^lI>x%?ca+@`hu{E0QwjzBuN~X)S z-3XP7NM%%AA9?}>!ZT)V$#yhfd{c&!4>;b{Wu2_21eIW>v2UD|U8l)h2@J+KsLN2VG z-U6YOuVJF820XwSc_D?4p%3uUwJ84*(F%P4gbK&?SWbm2-#j1TVf)$oBU}P{&~4JE zAy#*sNC#>$ApV%XXv(gOII&hVaAM{W|1yi3RC=c|#^Qv_HtVko11+Dgv+(%2MGbX~ zlOE=zbU@J%l;2gCSXid%{rit;t`Nyq%E04|!0T8tR#Wpkv(sA;X%lnmapU-iyDBjH zzNwLuF9yi|_%CV1i8Fgd)uEF-$9Wk{wEM`DbwHyL5lXdz946V9 zZ{u1Ii7BsN&y1E1-GZ2x=QPK7K|>rYHt;gDrwMC4{C4ZMkk`XY#6a`>acl&8Jfn-N1T}v^ zNmPj$ODvhr$~29FfHP__PfYdFnNZGz7vU1OkhIkecPy=oj5lP>mBXo74mA^z9K@!b zSkm&5ya2~>6nD1Rn1(?~;T7R!YXF~YA811-GutCzfxqk?;)4HgvRa}F^K0T|47@`e z#|W+Gz?b$vXY)qY#xUNm!OjvL91SG`|0)rAE(U#iNk{NB4=MS z63H%+Vu_qZ-*m!1y3k9VktgVta-iH3!U!z|z|iFhBIR=Dq?6nuBopbK#*(m>z{^#C zWJyj?aSHc+hdwvyRs_JYnGFKBMiVzSA$YZeBtgL^G=QVqfW&kHi|PL?Via1!Dz^O3 zA2mv;N>HXKSA=h#NMD0Hg6YsBwdBk(_sIj^qbGtFUj!e9h!hHNewKL?k_!>(nS#)* z0o@-I94cbN^BEN3-+4C4qa)@KI2nXFlfWDqj$h%HQF%=0Nl-Y7@pQTHS!w!E;d zivPOC5I1@VyOPqt5?^BK=aKHj09snWr^BdC1H=F|@nm*zStmnTrtqQ=5rsb;6%=AT>w2G&&hg zEGsr%D|5Ea)#AnqBx0F;m}OhIQ5F+$QAq`m_mj1miG0-dZ%q#v;ow%H-18M+y` z8CDHy0)FH+u~bGONf*IcREmWH@JGEclqJ~-J`bWBF_tVV`_J5lb$Vf{*k6tnhtQER zPu#d-Z1YwulxZo}DR5m=ix^|~g?#J@`8B?P3-eAX@CrHiMJ)u;6rrjKQ#P$d)wmUJ@Fca$qv`w)_n%nn zN;J(8Q*B6371~27zx!ZOCDbP|g9!96b|=KWPQ)1FRtVOExKYWqWa?U+bt&%bRp5FR zEJ|!O#CbL3=tAh>snF9~k&k~u8xcnjF}ebBRe`Z-A!d%=k1AXMO@uJI2=Vz+g!xIx z&j=@>ykhSCtLRtqGW%$<7e@TgwILw+XsY0OatPi|o93Rit8TB=? zNlqXNJh6DXS}7Nzs+}Bx7x9r9if|#IKn#P_c$E#56k0*@D1_qlB`Ggr2R*T9MopF! zk*lrx$JxFZ>XAH{1T$#wok$`BoamLYE_~z&Q|Q4Y`$&=mn46nE>f|wze<2$xHab53 z5k;&B+)31HB3}%~i9OXtM4ZWs*dpT%ISkoqLn)W*w;EHHiN=xI^D!{@*{@)pG;|FHBoaWnTfzjl06e%(*~fN*xU@0xEGj16?P^A6Q>lt z!6FgTl8qVSi%6P5Vm-K(80=LdvX@(iw2u54;4Fe-K{zrDY5@ zYBd>Ust4sSPfcy`)@7n-F2aAdF_?laBT2;~#U;g4lY~{mv5p~1g|ZgIksE8`j@82* zD+!^%i{ejgl8d;mU`fdmH@235P$NXuBA{b+f+?Y^#o%N!vbPAYE_kjk>{Jc*u}RvN zT92etgOgQ|(vbco`YVirxti2RVLH@AV0w`ZoQy?`BN9KKL*!>OQ3Q@VA(ct)cA|m5 zMu3h|t>#9B8J-(VsusbGJQ_bFxw2Tfx+twGp;U$1TalKe3(k^N6}^QM$urSJu*50K zChn|4mO*4a(6~$-#bs6lKVA%MvKBgWG)^Y|uafz{;9)1TnuM6F5|vXG%>HLv2z^ue zU(jAg;zVXg@<@&YwZbbglCE%wIkT>uky{seEeb0M%}FD*E_!J~O1UoJ)k?Is5X{bb ztBPGM^3_S8N4EY?{8fT!!KM;7IvJs;$+`$3w!$ODEhw2xe8*5!+QDZv*oJKNi0YxG zF+>A9t79w2RDon6)?O5Mu7z2k^G_&Rs$i})FemGXXfxX>=45mL&#pjN1_`f(Fy9N$ z%{`X1F_EdyD>jiuONyXH=;o#jxR#d@ji0Xz8#mWLUJ0RJSQ1$aQ?R-vvXhpY#GaHV zYJPo8bPGIHf<=v*1g_NsC*%Ix}^Gqxh4^1>xI90s2l+leAc1@g0aIUVRxStx4T>45^{~kzWWN07qcjvFq=?z`9G>K%V4_9LO>eyUprJTSf0cUuQ9M% zkO>hsF?5?~nl-fih&1LQ)^O^naOx(LXqxdc&j1Sz}3JKKL0v2J5V zrX-{)!Smm;CfYl?o-G6uocMTRut>ZxcS4&A;$?8hj=(f?ScK3?BGDHzIvt6x>_z_F zMXAM?G2KK_>n5-9Rgt{b?SfWYq;QRE5VngQ618zHZwglF+`#%1xA!Gi;*#= zqA+Ccy{N@T>&CIdY{Zs_Nb@KIKf??C0klUBcfxqe@4GzkW~U#&Z*wCT{ZHzb-}a+l zt1RzV{4jw2y^=SNJ9RW`paz^?rNi%a9gNL@UL7TP9amR2@HVpFi`kg|-i)M=3|mgy z#iyT#fBV|MPjwJ?zkV9Wf}R>75CAdoTe_)Kx1IOEu-rk|0Vy@59@zX!=dnifb&Ah) zL4%yapKlvfReH(3fY1HS%!9jMUL9|lFB}b=(Xnv?@fo#uGoq}Q3Jw1mTE(B6G-#kl zn)6Kt8*^FeuVva_LC;Yd8K4eY%dPZ%etAq~I-hL;sD{O^SV zQU_{k>WRzlFCIAnF+kjeyQyHe7AxQb^$RjUI#GClRN4sT1F%uA_~!79{~TjLYW7(4 z(T<|HIF=bMVTRza~q3<<)So$ zSS(rET5iQ~DapG&g<4GZzA2)xE*U{nyG*Jig19kb0rju8D6(m{ze;pS=?`8ZHq_&d zx|YrQGy+KL04P81%sj^wojv#*5Rfq1c$bPQ3MuCUq=cVFGy}c`G}qr!`DT3LTphsA zXxvRt5rfuJE`4zE2kqS&+C|nA^l|d4BV5W+t*$-dne+w@|01G1+^^o#`UMzKCr3oy=Ln9ig{RJQeHx%Tm@kyxei;c*Sg7y*iRioAty}ZQ5D< zME-uq^GxSDC9|OMkb!={ZWa~%ZER^a!IoDl-K>~k`+Zu6%tHRjm2IzW3dN-xrP}gL z*89)tEY=Vu^b6~a?Af9XrsvSSBl$wGA3vKIsC+qV*0B*a{Ok;}8L&1w!9hjD8lTC} zLu+p6d(k}_m*aekG891l6%Jn3>pFr5@A&mX-vi$I??y#Kt7vhzsQjR|_@30-+TqVq z^z={qdPp`U-_-~2v&ted#on5H9vfU*#oj_uuA`YKxAD{dcR`*oN8 zju%=Ze@j*D=5>Cw=9xLO_WB@UF<)HwRVi45hXD6(JMY%POjTop;Q7O$anwf-2D~bc z%Os`(LrU`7f24cYG}9b(?FZcr@)uJ<>8-wO+t-L33A)`cQPjAn(MedQ0(!*V^t1?I zQ6A>T{-$2yqo4VSvOqZrRqq!L+hin5q&O)q!*=w2;7>XCooUc(vY*_1ZZ(D7k(tk* z)no?FJJJI0mWr|uQb#{|&D0@_qsACL@9~W4lxn)3zKu(r!e2uJ=@vIq?7%-4=oMO>PhG2 zB(DWL^?MU_cMT5t9XyOmrOvF}@9P6J8xq zl3#2*q8aDsbKUkHc*GxaPL7WfP-o9gFy`p+woI9QEUU||4nOiQ8Py0Os#z5iXATaWNbO^yi%&U0mc=>faN1DJo(6 z3B*@u8y$Q@-<`_lrt)4b;VR!Iqhs2 zc{wd66^@3KRi{OM@6y^?ZyBzO2`qbcwKrRw(a9wnUwB={Dq$^ zuP+aF#tHfXT$42ioMkKIX!mEG2<8#W<**)5b@s>wOqDTyYOM{&k5(nL{-^ZqYVul$ z6Pd5snF4?O-#lIC=v8K{y-w99CH~URt>8`?5Pm3SY0KyJ7-zJW-+laK!w9d8scqMA zGrW4(W_k}A+~s&UM+q8Tv%rRFeVXrlU(I!WJGgrV_CVIl05Ww1N(=gW=Sv$HXa}@? zJ!{HFtvS!eGx~Ka47D11>y}^ls81h7QKM`o?V(-!UX2&kr!efH38}-P@_Qn3VRDxc zoYJWKADx|jboR9DwMb^B&bL(g6`PuRvffiV@jN|#q$gY1@uO#CP}dQvSZ7%4VO$9J zdvd+a7l7Z9BX_$J3>L1zVY7Mzgor6`N}2QHRQiWg7rcy1JvJBD$g3?OVclXCb~qhk zbJ5w)^EVyS-goD0wJ>~C?gc-_zC4}8_AMbxO9y^imIID)0V(&NUEja?xE*=}PC!H; zYtfZo)9!~CMVrgs_Oh70US%OR*IjFMe0)6vJ%otKWKSthDUg{iXV)oX+*@sIo`LU5 zf8ET-Xf4sqD0-?iCnF2c4;(t1!fhixwnM*bd4W zZHJA%tJHW3{{Yix*epFp?9(x~@4FPS;q3&>E@gE~=eDkW$RNwh~yjx!4?HRS`hc9_r` z+En&yZkoFu>U9Y9(q*1EFS=Nvx(V$56e)ac{Gmcjv6oro{9d8sC>M(x%P~X8NKO7VHR9cMLdVt;fEz+FsDqd z80aKrTqE>OY^mmJ|jw^MUvE}JLjAMm|4iU&CG@HtO+YSl7+1w3FSxh-T zPbg2Ze&;;vVG@}1T>{Dc&fvlxCGCr?}tCVDMGS!W0JinutZV4 zMwa8*;ggoz(ReTwDSu{;x!g55pQh`5Jvptg>a%XIKKf;w!SmzoOCcpe!oP=AZ=BpC zUPVtN`A_Sl8jhgH={LUHV)^7*Y#pk??6KkPi8@E{5#=X)aYprWrohm@e_$|}a|MD9 zc>HHW@!R|DO53lX*;(T>b9bxZ(iYJJx+$S8jd^SC!M>N2X;GLs@{9_XCPBQ8C>$LF zLB=LZtJ717_B>y(p=^hIDs3t3dn!jqPOi$}38R#K_nTbjEkKGg@xoek{Bt|K1Qu^s z&63QE^TjQrTH%B%c%ikc?zVY*)_Wd>8%AmGAFa*?SGp7s;~0`{-hyU|2|1wkpWNoD zjS2RuPZk9P3*xtXE!D@#zuH!9)$Q|Vv<#o87XW#>NYCm6{&!GEDSc^_M~O^A1?-h-Vjp=l#^A~6@;5?e>#4zwV9RD zl!TNOkDh2ZqKkjl@C0>m5g6Wy^%R0xvnRLI)H*_&b<642YRG~H2D~^68tgx(9qe)} z0x9Q#xl(7>VXI55R~RIx!z!i%xERWMGfaX6JMT5H8=e!RHuJKnEq+E$-OL#tXMsh% zgC-$z=}tO)+bN~OzRvb4--OO7pVMNO9klvb9h=?LIux$xH_Tjlj>3}Hmf1xDDOs&E zPhH$M)r^>=sT_aQ>*~CP`&9re#@19hv9Oq z$CqEsVWs#&&I4^f0mCp)cVT@q2?`f!IhwI@T8^D`9Wo@3{qak0e+)RHzzv2x6$^{5 z&WvP?y>vDVEIs&YDg_tpYT1ziDMNZ3>41z@c3WD#V?3z*o1N+SEZhC`Z7TZ&3_Z?C8zGEcj&~bl?LD=a zqGn;-@3I*+Jo6};3$5eMGVRxzY-dZbeFls@&cV9K@7cE1* zGof`sb9g;8?ePW`bAyP=(UvN#!J|3&{*<>9#Czsu1=|>r&#%S2(?o5aCZU(sTw-Q8 zHaJT7PIi%hq^^Gt^c>_8;T3Y7^j$=X00J% z*8&%xNzWg(=#YKQq;;TW=*#tCPMg5Q9_+wXk7B&ey##aBOo(u!FN=<;0G%(7o7dy) zWHJXa|Kd))jPrBVmW$2*Wuat^N&9?Hx;`ZD7`f-A+D~38RvIbdwU&vbF+0-ly>tI` zPw|M>qWwIf{|%qP8?7rY1snj-6d$1)WE;gtA}|mr@gPfR1x)Jdd%ov%Q}4fQpQrYG zQg!VMynS}tr^sW=grHS}>Vr%_x0@FyKoKs=K#uzQ(`m4y_T5R*RBxzTj~FMH+S)oz zU96zo6!DjRWS46Czb0m4fv@Hi+PDkc3b9o_NFrq+X#g&|dtZ$;jV{bYjyc_IV2np< z8ExC{__gVL*M3A&Jy%wdoQMPr*SnM@Ii#{If3nV~T#PQ^IPX+YQLHdJ$-H`l)_Zi$UQz<=y(S8FQr<#xt`CdqAi{oI5=8%76>NBi z!?jzxJYNOwoF7^0u*48?xMpibHE$p!sz8G8(3jFw#J+dCNehZL8qns8Mc91J+8^1JH1`HTcRW@DwY1*UN(wx0xYF;vIL?+>C$2{i^KDGi}U|kg$PG)|z7!+#CJ^ zrcJfjft%5VMb4I=4>~rTE50#j<+n!vK(%ZAj{*C>&(c4=`g$Ml{BBq|sj-dubk^x~ zu%?IC_iJ4y56pWXoH|y&9Xg)Uvxd9yH=iuO3Jh)Lw7wH4bOrOnA#k+27MGcc%XeuZ zpV3|E#%ZOrb8aQavcM4Ciz$FBqKYScVm3b3@H)ioRU!GcJ207QPfxyowGwX28&|}C z{CtB7tuLnXQS8q9H|}F)P2k1Gx%kk5jRBIF%OCY;Fh6WmIZeg6HVVOBI^)$f(E z)cN_bD^cgK3>@g|?oN9wSMRiL+vA|-oy_Ap+Z{|V_w~H)&giI3&2g5kkvqR5YLNMJ z;-C{bAcz0Qu|f4uq|*k{Jk7UrWfBc0y~R79eE!&nF5}#k%yn|Jpa(DG%W3*z{T6o* zqhI~K>}iK5o96p(-z?u^WOu9dQvsWtcL$?d?L+oD?rt6KXwgzm6Gj65KxAhok44!- zSqh(y*aLoYiO(_p{_^rea#MG&Emf&}h!J!3cc+msKQb!~*zo)m0La_r?AG3R=|#Ep zb>yjAwx-JEvazSjmX>9#E5&aZ(KCl#{PRBTkLmAk3HZ?7{Pe`H!i>F6+`KQA_vNlT zD_>_8p)^5otBbeik{`M2ke(|)JX)!w5Oi1KJt+e7W4_Xl^+S#l0G=D~+*IS!lGHQj z%HzjBvpTjt^Rul?t~%bC#vzX9l)JAdr|>Ju(W!OtSWsRd(Uqg_V)0oP)t(z{C3z<- z+YI8r=r0>6vpg{?>?|oUR6DaFys>%1L|Bysp8)2^n@5oR$SoS)My`xg@08rRQ|NW| zfdc`zYfFr;?y+lqMl<52yDwFW%o;m~LoH-^alw&^0R;9<_CV|%$=JC|VamV#FvGj*^tj}}jQevjcOM}w7o$C7C3@|v z^;dU2>wm`7YacQ-pTAmD`~9f>NZDfkLVr8vCxfa*zq2f8!dg=QWa>u39j82_JB9dU zzsr$=CB65KKQ_)Zk!EGF>M04WZ|xhc{QOY4FlIA<_&LMbPN#rd4ab-6Hn~)Y&N}1| z>Ye|V&Xc*XdsSh$RgzP^?W?_>eF7?U2B2bo@_7WE!@u5NA$^rOhRe>+Aw4b0V9%c^ z`StWk-z|wGPJHzS{Jsy28!=owN`4yR0=KfyA4y_ywY{yTADYi1%pd75rcYu!Yf@fu zoUK!h$&Jl$xUIJ1fcD|3 zV=up6uiWcn^X%*OO-}uz^R7=)E7Qt@OXpuzR5S`ls5U9by6&ry%DoY}sf6>}Hls`Q zQowy>c?@WGSNEK(H*a20eP+3k{jkbr8x!->z)Rw~FlzzuvSVkqYdX2*RR>nYMws4k z4Se)W?SHiQT_etns0{r-LR>%7BtRc}qww5k4Md+DzFH&&)itGfS{PikWe z*Us(oD!AwcOWr%+JLlAzXXWpY+v6BI>B7esR(?A1j$BOVrO^5F{`5mZ$w}`cit@S2 zh4Sjwo8q39+&(xjEq=+2C1*B7e7-oM$+YB#GN?-%Hb*z;;<5e4pU!8${prb;ovV_( zMoKjC>$ZJ%a&qg1t{uAzp8oSPN$?J}`t7u7lBt1_QHLH*3`@jxj)fgbSpP$P$uk`# zyEngK7@a-TOIEd}`g~pMe7~>>_2!O*MKe$D{H!(onOS~`=T?;MK2>Ht_}cl=TeC-G zPyRA^W3#LCMKZ2k%?^L*mo<@-|ar=4=0d~tlqI>!0y7yh>qK4oLi)v^c%Yi z?}eP(IU6SZ=DTM9ye96#5;;ID#NX!M%UuAuTnYypAvv_Q;Hyg6Y@bIGccjGKC|Thz zEBH_2WM$@|U%m?Odde3z{=D(u1#f6yis}62ABlrMJ?H;?t@95)jdNrV%v#yl;JkQp z+2dIsS5MD6m=0$Yno2weVs~Lg^rt0@?`?(WH%H$xeeK@4sQj&6rK&FFUCxWnABIY9 z@`5Vq>D<>=6sLSun>latvOhVUKd*OwlbqwDExA8ZR(o0wime%IUd>!HX>x@+>Sh1L z#ou0+`_`^=Yc|YY*tC1_VJ+D$i9T6+e9p>IFgaxI$MXE_!LOYyKQ+60?j4WrG}+!) z#Pnnx`|HK&&uwiUc~Mm~tp04x^o74Xy62g_&pvf#W94$qgF(A@KQm$fG+0Bjqv&L&`9Zqv-{GX4a^){H0s#UHwx5{ zl6=#Uyeaz+eDcD_ikLt81bndh7^e;=x&49r0}e5 zFCKJ$e+vZO9lBF{*BiGCSLNK5Q9R1aIX-jQr^NjUi9GVn>d2RjlZzkNy!B6Cn3A-O z5pDaE#;OzEKO8#q!jf-l{qAjho%!OS`S*-UFYmcU@z@;uriE*#4IchPL3Q@_X~|!W zkDPJ%kN5t3UzpFc2S+jqVxnWcHq zu}Lxeh8rFqozwC8?Xv3Ds1LvWo1*LJgk3wAZ>rnIWNg_pJzd>;+>bn*ObL0w`%`-) zz=9Jh$!dL3T)5%*#^}pU;`nv*h!nCk`M53jKNG z;-41fn`%B?)LgOXzC|$!^0#i^mcO*T_U^;CeGyvk%u5_uvF_gYw=9hK;^J6LCpV<< z$<5GOa^GOT@nin;C;OXQYaUynd7yr!f9Te*0_~jQCH}BlpWp?{CKgq%U2}MK{mipZ z|K(NHkeO@po_ug>^{mZFVR80x&xCu&&OCAG(I01*{AWVj)@=!QH6_TZ9zVC@%e&PU zOlNX%LBdUN<6-%mW4dQ;`A^L!$pPvYmB-SL9C_65g^PP?QX97{$z=X<&U;fliMidxCph2~rr8cn zBuRpXKnr>(tgU72)mF2m)TnK-^=@abL;zaliy4-U0;#1FyrD;l6i6+VORJVkKvLBs z$G5UdbR&&$m6D4{0;5XR3RiuOP8b3`YFeKJOHYb0e5()%wUPkJ;;U#Wm8+D#pHgb~ zQeL!_bQFNG1N@-J3zza%;r^&%aeQ1j)(!{;+92P`c$)C5M3s4AL_d{+^tPI|OUgG4 zUuC4dGTdJOT&~Nr*)9(uU7juM@*;Bw>hW3$M(UmnUVM+^j3#qOLz|BDHB)Rv8sO@G zw&NQ*T|IuO&iqOU!a+q6kRzqHXz>8XbfTfh7nGbkCzr}Knc*aXDpWkAh0ir;6{`%PWM3O<7eR(wDoWujZvc!A<%Tgwii2 z()W^JBsb~f4BP`Qf!i6Iz1o4p-N52#qPJGVLam)aNQQ-%l>S4#r7w#@Ly4Du0Q7hx zL6BC-B}n$75|?rkmkA{}|t* zs;Gfdt5n3&pkd(UZqU44RUl&}Vg}1dDIfPzzU$Sv6f(ECRs!;)AUy>U`=(~?8)3np z+Q>_)P5`euxvc7pC90DvR2`kUEoq*G>98e{FDfPBL6lU7E>p}}J!3^mg)7U2?rnmp z4;6x{rg@Cc4x}uQvSa{)psY*h3?`k?p=WTOjiBkYHpWJ9k;;^z zwc08ed#hPbOI2tMCOi6HWyORprFoGY$Pa;dYpRwOR7H3WW*IFp*sT&=PIjqsRP9LV z;UJQY>X2Vv9mHbLni9lnqDZJd#X#z#_L|h1PDY|6rVk{}dlC#VmC&@QDZ*ap@o~*f zeOBj1uHLl~1Hkqf5Vr4tu>EQy1Y@U9A&{#|%yr0PM^io-O?j6bO}xG*_0o5zf1(0c z*qtMZx~$RF&)9K|wuXil#@^7-*11q?B{LzLY-q5#;5-tx-vUJLmPd90*aB8Yt2djB zom>h2o-fjFHP{&;iVMKk;sOb3(CYPg7&BHo26L1t!@?r}8}I`g@X3AGN>NeW%7NES zhX|pdm-cH?D5{8IQ40-=7w>R-u@0wqWgfp4@Z+Y}g=mn(vWp#WwAktK6S&9{wO37E z1Y5f=r8pWcgE?v(SbAudrSzl;Ai?ysmsf=xRUt=hyBu>Qr0dJ^EL8{e5<(y^gdlMt z1osv~2&s@b4}rwgu{Xgg{GLk{*ApzsO2n`_lo&d68&<=Lppsi~;p}jlEn%}!k5sa~ zMzSN^OCw$@c_Jt~QjmT5#ur`HE)zV6H^KR=2`(lkIDdd9xR;0F^gkuTm3Dszp;usr zd)4Q@M4?$23E41n(>!-Oj4{ew7;d(kltxBSkl)Mf_p;+$p;}?39=7~{_Vd5Ze$MXS zB^#*y90Wc7Ko$+`;uTp^T!l{!XJ&kP+(_`S9Te5ChO;{Uly3Uv`FoVt0CElF>j+x! zg@-D(S{ZmxgREib0_}1t3a%ND)8=kBLU_ATz}k&GVmAr~Xg7q55U2l-Qd}Qe7X@8` z$q-hhGn;I7t3ziuyDyp0Du-YI_cd2d8@Hiz%|AoW+@a4D> z!W{~AykM|<2?x8k5X~pv-Q%H9KW=~2-{k^G)B)557}#*~at)_IemE7f!>ND_r@{da zC-*hH(|?-`*Vz3C484K@~E;We=bJ2pcL5D3YmV@uQaztQwxH=5dil}S@LV!XM1IUga^mm6JvLa09n4G=;D zCILpmI-;Dp~S?{ zRBW*8j0TG)1>)HZxqC(`$|wN*aACDlA%{a1%bv}C_$x14@he5JOc|tvEPwP91}VPi zCmj70u!vnjU;h1tdHcRk&*^F;h}IZ_*c3?+n<81n!|!J=e`BX@nBr*2A2kH=u>^v+ zW;j7yGrR!qCW!yezPIXW&D$4jr7hi*_L)qA`9dq4=7UeK{3hO3cD9US z#*`7v3poVyLJo&H?87G__embh+Hkz{5M^`PG=e#zoM4V9=P+|x_f6kd@{`}}x4d?2 zCYY;q1d|j9M?V~9-Rc+T?0aC+`q^*2`Nsl+`SJpSd7GAC-lpX+jT_#a@z?K09F53` z*R>K%=pvZUv=Pi_+BnQx^{2+{AG*;vBcriFP369dV4mwFnCCh<%=HhP+qr-Gg&&q@ zJTj|;3Vs8@jJ%CtM&8C@?%I1HY5&R%E7~)@oOX^%emlV|Uqdj<*KnAx-s=3r{zFfN z+&?aR>Le=py##a7CW5(WQvs~On6G^OQ_-X6^Kac}wzZx)(nUr8GC?JEhoc`3^`{pm zPCY*d8F>_2eEF^;N~4Wj`lZXFd9a&2j5kTI;HR5>($82&(T3 z9BSau>(`yHe{Iud+fBp%No#%i8-kj9jG*Qo!|JSL(W9=b2-?xK>)z3}TZgUba)zd( z5ikV!uc&ihPnQ7u)pYXb49Ylqpl9aAiDi#yCd4)zKM(YC`&sOz`P48TnWl`A!-4i88KX$9|DM zarE$#%rA0(%s3NT(flsl$$ehyCw2VUt>Gg-e{t53yiE&w-ukZPskZMMy}obs>5RVf zgR-fW_s2HOD64ww&RzEhHSOJSLoJvefxjHx_>Xnlj;tAIEiEj^p@@Cd4s5iC0{3w%{-aj-gH~c+vEulDd27>Iu~ z-vyX}788g=HrCKQ!(eZnXtYrp1~8lItPTeKlxh)>t5$`oBU2??GkyRmMHaps&mukq zOB%mcii0W;2Qq|F#u2ZHpY`U>>hJ4r+3=NR{y|K97A78oTGwp0vQ%3cqtTqrQS%Xc zgaV5A!?BYv#X*FOl#roKmc&%YBKpUjEY+Fc&EB(M#@wli8@{QZPN>etRKpO}_Ev+D z`K{<`f0_H(&N;eD-w!TmiioHWVY*ppo;{v=g9AfuZU(e!+vfvg(re7k zFaqh4-aJDfT0<^wN+0ZtNYSH7h_CmYlx65qh9mz1UR@C0G(BbB z?Pb|>Z+$POBZl<{@?~c*2NMt-TRZX=T6s-oz}{{Kd#jZ}s}!@t3VNnl>oD3iI-}Ns zl$##YBjD0g&5>J!BW-xbn-NzN0Y7l3{tdp*VDF{ueKLD5WAEeHdpUbQ6ifR$*N}-5 zbc`GWg4h@cl;j?}6TdQ^sM8YM)(ljk&2Ba5>=PF_&^TpV%#a%m%>k3yu5pL-Gnnyh zGgbyA%b91ED^Erl2|)tr&g6w&%8%tmjMWUyhJ|=L*F<^&i5;34r2kZBrd$aeWJ-R9$i@wk$`XaVHD47Dh{NtgoF%r!7jIdMOMoONOh{lLYt%{~Y z8|keq0i^A%T02N=jLwYO9*YBIXtoANI-ojWs0PYVjdBSZ6aI)@he?MIkRmdT?-@i{ zfo7`#3y&xpTR-xoG0pq2UW`S2wjl*KSd0v^GkOEA!p6=X%?2y_Wm#xOj7Mb&1PsZwJ|0;6)d+AB4krV*hEPw;e{k+gmwt6n!j%C+O@(gR5{)t|CBG`MZmrktoH!>)!=;$wZE_( z0R=fkzBl2X4nhN#oya()?5%(zlNN6&La~`*F;Si`whIC7u(DWpg~XHHc4|6SalR4p zQVLCaUdMWKLG;U8#BK^lgfxZ=RBUm1Ff8+A7M8|L#Vr2C=~CTTS~X@ZmT-k#z3v#K zkI06XQ=5eM6HD}Icv@D>7zO_NL`wj9mq<%pq~z^ObJ$tL4? z%>oKg2t3Rbj(mGNg&`}W`I_vbSt6cOQ_t4sX-b5c(=uq7TK&K1-z)G4neKN zhw^m?BP}!_1Fd7Y8H88Da9lC&Co&Nc?IO2Dyl2NLT_r2ucsPKUKgio@4Gnn@q$M~O z-|2+Fux(!sFWdFn#&O@gxAygWyV>t$4+FRFWyjHHQ3rx_*u+QzQ2vXX^FG*=vAf(d z3UF(>@oSe#yez6;cggdJSczd{Fd|_P*k%G8sXlc;ar2pk_H8#{8#@pYr(gxn!A!U zs6{d-kq-WPH|{?L1iT957bG7Y2PL;Kjs)qd@wri$RXrAV*9RZWf7f zqjiQpfs*miayIwtvk8_)$f<{sr^(5bPN#(XPVlB9V7pF|HhB+$(@yU;`F~>*}UHR!Pr|YfA+g|%G$2`0^ilk;%q;@^l-J+zwt!% z>CcwG9Q*jAHCP z>Rv5B5EM^PBM@rLveU^2M^QZy@3RDgI|$)MC5L_uTpx?qjqpvDNm+^H&1+;KP};)ry!h;+6%lS|O@7z+CSK!>@_3ovdTLHT2 zlIQ|~V%ZQEK?SUX%sQfMUzL$rUg5s5RPd`=valQlE};7|kHmSY6)2A^>YjJd-6>y}7Zl$U;9BNUdDCur6cY*{-V|~& zD7nSpMh5#1l}Mfas23oolW}j7at;~>)U#&)=!2w!1g`C*(zRqK58aZ7NT^|mVdB3S zJJC%LV3()VZCOg##joTcuUUo|wwkooe*9H|Yd{!7eEE@fVdmFjbh53;^_P@YQ|x@M z@?poLJOPgN@+*<&7>XQ49_Gr#&#dH9H|K6S?{LaUN66fA^Z8t^GkNcGh@1E6?sQ@# z>~!wNUbI~1T7mX*S!FEde3!F|h5>b~%em#gzo4&hyV*5q z6^s54K|JB<0uwPblcgqkmw_%?;#bO$`IO>njRXp0Cocf++u$fTgQIlc0wSdN)xNCv!e3~CRj31n}IU2b}KaCr$!8;7*wl-~* zg|TYwW~;yg&o`SGT^~DUZmSt`D|0t{!uctJTk>%Ot<2Th2s#J3ZN7yAy8xoQ`Z8(| zw>sJF5vLUI{U$)Gbln{)roGGkXz}cohZ9;Vye&%s-jn+b(+!K;rmOke!(AgD(vR?- zReyNYXN@T9UX>#I>0v{=r+K%Bo<{e2Z)Nn*qD`;r?^qf7{bYa@SYQbdzTQ7_v3eNb z=;TJP^y=|~gUlCWatfB*f)QO<$bkqi>aWjyNOr0H_(xy)vh7&d!_dUxCTwo0--`6D z30hjfW^*%OYH(X+^E+LMeQ$#KxHcC(_SSoKO0S*od!1CjV6oR01WE++#n=@;FFD(F zXIco<qy~jS7-xT7y z!+C)IJdowh&nla^b?^M>r_^Sc^dV=Q0xGLY?3r8|r1EQ|P+?WTU73sIsX zJGm)+4>WJ=J4C};&)r-1jV@v9Jgpwh31tUgr<0CTGUc8_o=W!$Ng@rRqwzSL6U1$c z6k4s?PGYKy%w{8_H6fE-2s)HPb2=JRIEt6t;n8Sz*r81a_#+n3YHkO{rqfz*5M8U? zZpj`y)@asgjjd*zeJr#iF^$b0z7Wmah#EJE8f>LFD273aN^NEDVkC6X*4_*aMrI*n z%;=4=P;0d%**okkMmlKGALvmztGTnf7%D0zb}%{zBEbd|T2KL|6wzmss8#q?C6hgS zSW`3EU?z83Ta&@wrnT@;JK4*(^FpxO@GU0=8)|+Hqql0&wFQe4@d0+TQ4bCiD;029 z^jbSph$9OpE<_6xSntESKb91>yCI&P;Un>^E3$M_%W}z-EN2G<@$KcV?O!FzW)))- zb^TRpbq?M<<~<~}S1#F2mh%AbT%tKXh2)AWQ~RnEX#5VxDlJ$0Q8fQtqI>~}Ue3}; zD6K8Vqr#-m)*2bBePmp#A#T(JN>q-kVV_0Bk>Mv#CxrvmLFN93Vj^R?6yL(o+}^M-7c7*d!V!;%P9aT4priyRBPsY0O%FoJC0x1j zd<`jlYFsSd)t9TIsPM4BGGg)OcQhp%lN%vl!Y#3If$Mv-7VBaywRi5|TvDGL&E|OT zo@C$()kAV)l?uLY4HD-%2~7`mOGj`?4QUQg-N42$IhOY32>e59COh_VF?`_KFt*=g zkjY174;CPY7+{!3f#I$KBT#{0*L=hJUFvuQ*035zE=v9);g!rM<~o(vNKOKiSy@~c zOQ}s{Inm&sk@2^qBI;h!8bxK9KqXMH6j@Df)VuknquC|K0&Kp+5t|OQmg}stuwE#Q z^zC~|hZbZ`=huY*r=3kXTnGra!{MIk5po;jLm$4V@n%FlGUg^nTNAQ)gm4GCGa9qe z%G1GQLo<#@$%d3{NbVTlO#g5?lX@!2*)T@@CWVjikRjHkp5X@yNvtbsg+hRpHG%Mx zX)LuJE}+xtTpUZc-3gGL%}$d@?^tR|T-XTKMSyB|>_a$EDwgi=kiZ!%k8QXkvQZDw z$Ll3Da)F(3xHyIkS1NHFjHe;kwWL75Aq@)GGxHJbGjb(+AI;vY*!ysHM}(h!Wv;*k z&Z8v^KSdc<^=3E~am;hd{U&ODC5GcY7$)%*f{>&L&-e=WB^==$pCZ>Cg%+k--dCKi zwHmZdM)uhUT6Lo-i<|+0#&7~G0vatVPrwhb$SRPs%o=dAyTAt2CZOIWZF5_7@w-6y znnyP=JkBoZ14^em!uMeyD@P&UknOvWSge^5eG~`a3_t?bHNTnLOSt z=qqr$Hb>;CwW@}iL^XB+S3?MX?2dfAX0rqNWvvFPyLh95gkiLr@jsZ)bf(}-D!!y4 z>EeKwl!hiNqn%IEscvb5$!5?qw5kRIVhi-jNTFLqMYu5SRQ7=@>eUq5LEL)@ZW~%* z!VN9bS7->FatcbP($bT}N~Z}+lUQ$wXUHGfGCd;P5EIm$M(eH|c-=Dby6GquP)Mf~ z+QcZ-T$;jg_N8HkAVV3?TM!jaKGrV-c%`RGfDfT33h&)hcacu=-qan%mtw91JbBzK z+>S)7$kaXpR(vsiE6@ze{7hF&n8%~^Ea9Vcdh~>#DnD1N{BiQIXR88;MGVAwb3F5c zge@LNTYTgSTYSf*TRiu-Ya@a#=-oPe4UX@LLCmUs*f0%Z$khrmvCtM#Pvt)3@pX?! zx@j?LbxaEVNu@t&>|0QD4rHf7GL>-QLaY3U9N8gTL#8(Tlr-5jLb(}_3tJ2Gh%oeV z#cT45AHnp@QecPm^vj_z!h=GXM+~FFwYv78!Vd7JE1?qYK_$o)W7ki+*a1J|N+cHu ze0(LiHs(ahWKc3KSJE(zN5hB@6>(W)$5FCVu2?UGi(-$u$6tlye1wvt-1nstnUu`z zUqkT(sxB(7tgE2qseZkN6;I2b4%y@Z5c8B@w96|6SCFrm5LsfZfiV6W`bUVz41hRm zJG8$BanCU)PLZ`EQ?Gbb!=>7keid!4U_B zLgv-l!QS(ut8&(AlwL{Y0;zaZo0@#Brwo>E%2m+y)H64_{p)vX>hDB1?JDdr(Z2A@ zH-)L`SD}c#bj7psjB7Z3rH;EM^D;|p{O>q@rDk5OdGfi$bd{QQ6%-UM3VpXBE%{nc z!D%VidV)+#y;?gAqSdnY;j-3N(H_+XxvK4Fo=r=?=2LqbYb!3xd)Ii73>UVl|B;(E zZUA&Vr5D~?dVO~O_}^!?OdE)2;n_YP&-Qs%p7r}oiRsC|qq$8_xrVb?dg?Wt#nRKR zwGmFg=Bt!+)~@`-wm!&nV?(^R#$R)zoSr!VW9iwda1T$TKSj*CS~|+h zvLhM4(-I~lWdKH5bh!upRQ@}yQ!)m!PPtmUn2|mJkJQsW2=s6d#G7+9i;%?a`b|nZS(SbFq? zt=Yiv2Wc@Wz@)NoL9j#0?Zr$q{ra$h+5a7(Io1KE_6DSLC>ATZ?HBSwjM?xwPM!OZ%%?!PTswH4g&v z7!K4*E<;H(04S}derYugq!k%7T2m#C?a2V&W}+7)vH*vDdpt$Q&-B?Kd-j1os}C{c zWq0~0P(~jG%7u>tX>Yncn;cHx8Lf!u7sWKKHa0RjG2XQbnqa<*FpX1o(Af z64|7puLHd6bbC9%PG6V80qWi9h~p-0ixnD-W?g3kSW_TL1J+bnm;w&deE!8VEcjCX z)$&zHAV30D9u~%j%Oiy9gC8%;=;P((+{a8LmlgVenkkpz&pr{8Ltnk40WTX#K)(`a z;}`WXOj;=02VVGIB7U%Hx$Y_F?fq00iyX4`+a{?~-?qLJiR~M#j##4K172sBP024f7psL>V+%EvL(2bdX8tAS3ZX zQo-n=k(v10Q&ld-m1ai>^qSr%CeTnF{I*YpPY*Z)ZLaNFkT##7;%OZ}<7%~Em#c$kEIgIf~47ABjpwrsyeDq`! z8?mG}*ephEClrw|=@P9SO-vo+wK*e9WD_J<8o#^&%?2Zm;DRC?u31WM*pl3h(P3qi z#rS283a#C0=-?ryg=V7zw~mFB5b8Pxzu;NHS5kt+RNJc6o7-7HnbDQBYV`($E#!cM z3D8;?a~tKL&Z;%pkcPAYn$E5@wHO(2A($9D(k~-Z!!$Ei#)R7Ib~nX9 z&Y0-H5ndhk8pfnYa4Qt*bY`m__gEngpk_nwi|{c8rWQW@zKDF;4~n&Ij8#iHL)W$@ zGd>;#B`jtWmVu$eV6tIBVLBCz$stUa+Zog-a;jz_jrND)Rz^1;SAl!3%xch+#3Zv3 zN1x$jEou|~#f}F~&`WWv*=(a2OsRn}qGF5@bv?NfG9-nM0!8H~n)Fm?)H^AiGQAq9 zOcTn4QY<&_1L!QGnl4Y z#=6jebljC>g@n3z2GU-0JJeT9!T()wbW>?YJfh!PGtmu{npO_=)5uE^d{cWlusF(D zD&>7AVkZUBj*^(svBEszv9+FgYVI`aKJ&c$$@A$a&$pjEzkc%k`^gLFCoiy{yr6#a zf<^N}2sE^xys&=q!u!dK=qE2yG;a`rM)i{yEt(fYps^l#68ASPJYhpbU>Xsamk4aA z2uvXY^A>^mh`{1F*svJ)HVpT;9}&}M8+}FU4HbdKi@>hqU?V;1AJsQKKdwwd-#DX1 zXeElk#)!a@L||h@V96q|6cJde2rNwmmM#Lz5P|uNzyd^I<2cy(zU8D6DHkOIixz=p ziomi&VA&$DKoMAw2rQU`O(1Q^>3gK*ij>Y1f#q|s0uQMa_AR9%k$S>JV8tS^5)s%$ z5m>1Rtc-(A^5Cu98aSMJ9ys$o?u~ud(Uu!a-h5F3KE}@(yaz$Y zqV>G8&}u*{Lgd9k8F)+nBnk9=Q*v>}PZ?*My!YR4v95UE@paC&Ia5C>Xy4R!cm0?|(TLCBJXpaGisBV%jMm#lh=Oon5a_gFwIA_rj3+6PvuBt2+*`czjZHGRZ3X+eeR*#MP=*G02cT5{u4MEEvtJ#+|^rnM#_b1BXy6-g7d*+RP zy7Iwi!%l9P_T-0ivb!YjPx?BvcFFwNsW-oOCSgt^jNSD4eYqd|ho5`sBhxJtZ`?L~ z#%id$zCixk-+CV0u&-t7*}%t2{u=cl$adAw9rYe+!WYkHTwL_m&EL&<|IA}8)f?|S zJ95Jee^4xZ4wS1hmrRS$?pa*=&P^9ydIQF;t%szT@xD*i8IM17WbM$}5&EKkj&c- zs>(Q~W9#y;eM43rdFT(LN92I_+71YMEG(h)@w!3km!Obr&@B!g3b^kIq&MIP7w}<` zOsYqzvV5G%O=DsC;ZdZEY5zXIO_Q3OGG0^H%4jOgCh|!KO|jW(FyQa#*nDD|wGez5JcGxvWbBjTz!LOEE$>)a&h2%6% zJpLJ-5l|H$dvW3ZIWhjuVj$QmkGd$euKj4AtD089s6{ZQBa@%tLT z@h>~p^}usJdn4-+`miHE?5dx5{3qE{;IsFJyT3i1HRi|<%WUT)7Y0vCTXN<^;@~jz zW|%wU#Wn8@89pfN=;HxfMuBqCq&2g4O)59u3kkcb;nl$>A1QC!A$edM3|jF_+p~8b z*z=YV5-N7UxQ|9W{LGqaXz8M-xTU(E;+8^Baa$RZ3YMGw9#_3I=iF+1cy=lre!2C? z;xRdQoSy=BE5l_7@}hJ5k;R$nx<)=y%3Xdg0G|wzq=Q3u{FN z-_U#+Eu>!P zh`tE{P~b{`dKL%}`=FFDFhAMSl-MR zQBnTr?D8@Ho>?B_+}s@F-u#%EnUHvhn0Sz|K#0KFu!z{8xM+x!^l|Sb_Dhf=u0HYOLTKLcn1msZuUEG z2nc|Eb8pfGLdf6gclBp^5^g@bkA3Q&F37)R?)$J1u`^PZf4vhyK~a3I!a_DZKEGyL zhOi5Tx>2sWhXRQNd3p*u-||EZP5u}`J#U^~n_yyMhZ{mUz{5U{KCwl9-}qAy(QWt& z80_B&;!)=d;Kd8Nrgkiij8y(I6QqnaeEqul0*h$!mz{C@4ut-M6*$U4Cq8 z+L!Oz@~O{`{`yq?j)K9WZ1A0&+jV@h)kg2##VoTdFa1_Ie@U(GuCRVvIsPhHW&QAW z_=UHA)fFH1G2h!sY3|P=<SMsX1lT_-Pa}4k>*^-GOu7 zg8uGRc-KS>9|1Ht6j%Dw3iIT-mZh9OlaxecD+k>jEUZdm3Yt_;?W`KgjMWrUw zGCX`g90KLz$OZxf>++f>46Mh~$8lWzD@*{@k5=snPR*Ils`N+xjaGGYx3-CWF`gZ_ zee;+4sS~sE-|s`ESpT#kz@eVWF?V!QG8prE@O#Xgj~E7UdH)@(h+6-;QEEY7joHH1 z*7um+AT_gdQhd8tRk^g|4OlS((Au^qk&Bz+CY^(pfyVy2fy<*3)A4Gu%=EWe`r@4| zM9>3W`e1lhUvc=vl`Cd~MzRM9>NmX_XiC0qPT5@Dij8kK{M62Jj7!oD3dGFkLavku z+I#Su?am`r**vX>Sx|#F?5HiNk84v>^pB#+iwy4O>ealPAmZVK)X_}ymF&zXAa-Dm zN3;*lRY9oTvRlNLM^d$^J4o49O!OaSJlqi%Oiucw>kgBVVuU^lw7FWx<`w@dCbb*@2|Gxb& zR7j{R-us`vnT7IBUqPv&VxN5oW}R2M-0zb6s9&_5-ACFDz@oy=qm~K!Ms0NRQL}Mp zS+|+DEJB=%E4N&$EU~=93TCW=qxYGt2MN{HzC%K9x@-aWnZR`Twpf)tBr|<>{v^JO zx!`uJ7J(lMo6)hhhcZuPM!az@@OaBeUDDQ z$=qu8Mt@OQ@x?P>F_UQU*}e9hwDq`datY=6$=(BZP4rC^Z(Mr#>c$}KVf;$1jABo| z-8;Djr3{so?DB5p!h|6I9$^@A_ZlOIq%dbQ$g=b4INV;unM?4UESo*V?+rHs6UL4W z(9Lm0n_lBcG(p2T!*8^}#{=^rfHCv~x1s*R^hMdn=u3Kwddn6A{XHd_j38@p;M*N> zFs8Bf1!mq^ywmYky$W3q-LRq7X31A3pn~Ru1|tNznQ7ms3W9(ydt?iD;#n}FGnyxerG!mai zmz30J=c0Y2vgn$K-w76NcRTiqc^{U6sN@vLm$ujOxP-O8;IZeKf2@~AS&;<4F;ST2 zZ;x}+9Xw(tX%P^bmWub8@p)))a{{>qACPV5Cti;V=-n$TxQ`I!2}mGW*5q7VMj4^^YgIEk8NS|~51t)CGi)*n@vbI=|w2Qxhl@sNof zhUq(}xxF@ELhwxYmb*o*FF8BKvRDnjjTwIB4Nd;p9N?<#Z7g1=Xn{<-nS3O6_+Fhoz4A>}=(Q&R>mP2B66{#q82|ldCu#a;Z*btqt*l{aC+frMK`~_N1^a&|!Q9 zb3tl3U#*i;o~)aTeh?md=lWxh2g1i{6EKZvpvq4+Rd6godk7f;S%=oAiSzgiG3fbE ztok%42J-A&u-83RseqX2$M76HrZ~1g#%h@Lew{V!R>eI<0aBf;Mwb*BW7Y?;07437 z%)KTU;7uZQtvXE{ptlJEaNo7|cc@*`*K6%ef4Kzk6>mLPcKc79y{#uvtpwW9rduop zLC>22g%~}@WK0+sKh1K{0Px8zV2|$h2L}iv*#r9N-AyWzjj-0%HQ@aOb%zT{MF@+g z9N_sPtnl&75%_NT>qOtb?SZK@wk=1WkZMzKEfJD7*_atAnLE9EF;8P8n!*?$x&G72~Icj)$SUVBaOBwEY zn=~Fxu=Mi6iTUHl&T2B z%pwzTpi|fD{tiwxDOLicm)7&<17U8Fr3cmYL%Rn7A;1U<5U>w|4uzQs`Eb8|hw#+} ze7Eb1_m>T(R^qO7KBZNwp;;ZD{kwxX-lgG+*`*O8uUZ|^JYDje`f02lqYD_y{$BJz zb5@?)gUth<8CcCSMZreKhO+}V7ab@d7$`U^4U=Vpgv?)mzkY#*FBHdfDmVPx2K63|bu?_PRz_{l3g1j(UIgarsMPHrR}27s*=!E>?& zH}UFOeGc~G3u)t-HK{rgZ62beVRT2rbQnin<7Sgp@Y&s?{9YqDy9IkUhw_(_=JQAa)FfNX67O)0Q$Z=+EW?~3a(>w^RJ1Tgr~}CD@A%_RCr#2f=Z9R`n-Y)Br>0P(Nayvc0R~SU@)#lcT8YZxr5hZ3H@*n!4BtmXlgD zbXoG(OtZ98nB}=srstP<$VQ&HXd2YrHk(L#%Lms3Fwho*6+c>uU5Q)JjeJM9G;~Jm z40y;bMIY*bL*{kR=w2tw=Q`w&5NPt)&(&O%H|=7ER07m#@f=^L_V=sizY^m6D@XVy zzX2f=Gr68fIt|+SEUoqmQ?62@mW2s&fOF0yhYL$3fGXLEXK zzFS4uUKh6FTQjh-bu^}wV}y=8G{5+coC#L@zI7*WYZQGg*ELiOlJw7Zq51 zP!>53?R7+(PpYTU@$uP7SNl8{@Rn9lwAu*l&CSS(b-iY>*wIur#=0Km5nb_Z+<@Fg zJe&KQL6bIEE|1*STW3GtRIi-UW%xXvHrty0o(voGE0!zjTSw6qApJd2=9wy826XEfa?vo2Cu8tO}!j^hf)CJ30(0s!M}mVyUXjjOOvNHW&Ih*Xg*Rcb@2&(?GT;vuhNTt#~@e zq9mBC#6?anSjcVXRjKwXDN73U`##RBuvgSinbOOFr;9g{+u10o$Z;xck;Fd|gwWBM%;E%TMN<0c+C&fJff-XS@Hsr$p1F6je1SCK;ixkWjbAZcSb z9Puo1adoeIuz%mZ4hk2gw$|^m-mk@xC&+($hzSFjZ#n(UbO$QG42x3QU2oQdPV(hN z%I#*hBkLdxq&S8aoad*tX2qZsbPra|KWzXWV8=tinD}EQlATxI&nxM}@1itQa8M}h z2o4LMzJ}Jh@zr|zd@9G#^2k8@6Qriy_q-SF3)J!83uj`I{{&ebE-%wz=c22CWH$Zh zs?D~z7aM2=&Y$hkR{ck)X%J$jF~)>(V~M6DuAzw>9ve?z(WXF!w%#ki)hl4-1l*k9 z4iBzN!ffT+hS)M-R&y}a!($J)+JdVZm=}0| zuEEZ(oW1JLHxf4XQy^|3aZ}^Npb+6K+#I^6H;MhH5U_#vE;YtbrNaEYaA2?hJU3(! zc{)RHrKE_M(4PXWJ|F%$XGiups^A>OIc6-%_okHxBVy>KC`#8BC;IAjfZ8vg0 zLAKc#ibr+y5^b`_vmA-2ec*&1XwrWYHqx=vTxRBjo9TSUtBtbJl%>?dy2vjv4tI% z4z_&8S0ZY9m*4=t=diTUp>@otJS{39&_@MU1miEK0MC{W@UNr9k+9< zncaFn=VI(Qv^{1h=$wd#cVz3qAT!#pJ-FcksT(agYuX7;>4c4{1$5n9Tj=Ckc(>e+ zW8rR@!{xpv{v#-=+cfi2S<}sIdFdHaou}ruv#C?a0?=zS3j|)Q+zQ5>bjAf0&&NZ+ zJ1qg!?%#2>+1s-|6FXOiD~06l?{=vc+Y+{B`+AdbW$HgTb6jr*Ded0pdDQyMl3u|z z4{T2k`YOb5U;6TEIg?7ocQHuPS074l%aZk<>ZXc{aHb$!>CJ4nzC1!CB=sa}3bLV4 zkR=`!6fib)WtcofTmmAoXm#_ruV!X-y)B0$l=m2)Dr+>sn*S9P_owN0Mx z-?e6zdRkt+^ZaZMzc)sIg^W~`HZH~IX_Sxm#y{>zW=c@yBuU&poH}- z-p|Wby!JnKI!&qr-}MVXczTu9#kTO3t()r3#D&Ip8g$*WR;uwReYcdHD+5|zncm~u zms%vYOs^8~v`=QA8g#JIMADXy7CT%ize_VmtW=`f7d0MzZGIKAc`OS1Mq70zYq6-dv+rL_&pBk4>r48QkyVgVc=^gU+MdY~HEQd7R>yE=BE$)klFrI`w!=Pr9 zN3bc4u{M!sry+H)1F+S6ciVuCL%*T*z8!#PBDd-tf>PfnnA*OWT}Gz`K#KS~J&U`1 z<^J=Rig|54J)Lr|yE4aCwvwp*nQ9` zR%RR0%&;~rZl_%*rS&Vz;ZtQ`FzZfW&K;l#2I4=A`$zb+|`m<*S zF+QfXg#N~A(QjmIL4~v<(wSbD^II+62&>%>{K6V?DNBrglQzB34%$FlQC5-IiCVk= zAi2^L(}6wz62=mp)o*FrJ1bHY(yy5uwd(hng&4;wIBjH2K4DL8HD2y13au9nI_GS+ z`MTUqnu^L_KC|>gKjoaMu(HNgQ&(o!RNt5XU@F6bGmL6lXuKtm`)#M4h3xrXGlZ&n zGS2b+Sf?|e@N48`>=}MPgvsm57|0=+OSI>xw7!CFPCEtMj5!T@=8VL@&rdzn2?$_5 zDJ*b!p0f~Sq6WLLv_T~*61@0jqP!q@=wEuvmMS?@;|$j|>}b#0;>JS&1||WTN=S0; zl{hv`yqjY4L)eqC3GS{56#KaERvdcCx+~L-fb(7g@q!Z|u=5;UUc;R>pb%O|eKuc{ z3ucn&Z*&+tX{P!KG!})pM|^^)S8#CF+fDQS^10u>SU`s4I29l*po;YF3|ZAbe6?Y(wIZ;I8o%2$dO zN*;Do-IjfwjrA%QV5AKVd0=zjxj#PPq!nl*Uh)<4TjP3ZiQ}(j1My}=doKUDt6Bzx znk3P$>xImv5o=*l@e${9)ZzQ2a2%JyC2(E^-=!n`zcrN6aL&| z?fBb!F>!FxY2EukjU}H66mIK9DXozeYe6ywKn2kr0Y}qvLYOO1H@`+H8Om`1AyW^} zO%1(1QMUAyuY|Yn1D|rK8#W$IsosLH$6|Y1+5p;ohV{Zx`-hXmjf3rU_!Qv79dt}Z zbGc03m7#C+07n@#n-KgI3ASqDMw#@r zb2#qAnZf%ITBQ!7f*&vSDd7Fl;N8i=5B%qCCQ!PfZaG^e;`Ccj&vpop4yq@jf6Y^$hD^TzRUM-(AEV!;i>o+$W0e$V zrnGb)t9AKuy2{}3TaRh?mFr55lLjfvX6Z#F_l$N7jFXkP z)rU*J@9kI~C;H_9PwsPDH;r!u*DS9LbRxF0IjS`ww%RC@(8eBY`Gk=wpRC!~v@Gc~n zw_egqF-(z4L??ls($L5ZS?x4H(MwIZ#mkxZk{RC)h4$+%d6|%7+cjJOJ0skyE)H7n zyO-3qp%van*aCx3LBf(BuPMMb`8<3F-$#t7$M$@)wwov?pp z4?bLm^to)_PE{PsUt^{8SiaRb2Xxcj@0bV+WYJ@={{>X_N3QdlKIqMZ&_f*W^qsLZ z`a)+Ojw7fT=G zow3`>rCU+xuE<}d&osb>eXobkZ?n%@D8;=U((LGD=U47WA>=WL4rXG#$EWL1U-fJG znyzNjZi^1=rPY5q_C~(}LpC30FLqw7H1|n4M||^Io$l1H)*>`uYSa~6NA!&{_poRd zf|?iJstDomP%Nf)Vd{J8#oAw+8DNE(e-if!+=&V6 zH((TUs2bZ7+vs}_hc+b)$70&^od`m_=N#+`jdBn5FjfN%>^cSnO!pvO*R%qxjt250 z`k5`-G;H)nO`WHyhy`aIblwM#5c;j62)JB}~k*)%h9FcAvUH zIF#)BT{m2|X2S81I4&?Ib%*$#JgJCH)T~5$4!2{(D^ zq@=-`p|&vQj~5og=CwhdL7kY`@$}g?ro0=Nz_9m&fyQ=|EMzV|Ezaj``q{AWTEoBD zW?UnAEtoZ#o9~-4Ht^M3_=1lMyw*7+ zeko-q|zHvgHGwpC(p-0VD z*HlB`Z(RFKLOryF!f@$&9Bh)kjaNo3Z%nc%=R(;SAR=`ZXy*-Q&0mS_0rTLol>ThC z!B>wXlCP=7i{&;d#X6jDv5CHnyv^(})rd@)jEKt;HQdGNjE<-8RzGf^jX@(1-8Woo zQg;}9;7g~>+6kF#Dhn9ag&?^KB}J@bt~o&MGN}H{sK$#!PEnyu&fpJUv564f?@8=< zD0=ZYcb*7Fn|lZ9w`P+TSons7Z|yj3YQii>vwhf)C3Yztl@C+4pXw>TK{z7xdZ$yOz}+#Q2BecC<*jA zOTeVd{wjovf+l+?;X^o{TI2sQ!^Wq0l#OTUYZXkL?aX&2H{Lzq9S6LN51S7sfpP4y z=zvkMDGBy}qzbzJ5F#A+uOZVN9WlcqN=FIE&V(C%6$BoI#z#4ciuWQh;3P6%0v#3T zkqy_xQ$W+k2Qn4J*G`dudD#23A}iXCBF`xtIU{r6h{%d1EdCGFT!V=CKiK~bfn75B zi;Kq3$sIW(vttR%{%=U{NRl6XB7%j0mh+$LTK}0$8-LtH0%n8XuKw4rBW&K|aX zpt@7&Q;Wdqv|febPmh;i2dFmInu4A45*E&LsMvD&j(_+gFz=ii`5NpwkXrmfB2w|v zpz3(92%7k`FMT6Iv?y9MHJA`IEk4-Ho-Xr({1O}TGi-9Mb)lM-4z!vBIGKAAvlG6%p_YkA!%bm=uBqKB%N3BnDW=2=jOX9vMNC?+M`q z$1vge<(w}#fmoS4B^Q3r+#SU>txCY2Zn_931Y|Vb>N(3ax zj$qO=wzNB2R?wD5f}vAr`7SU-u1$ThDg=vspm$3CdDMJ!X!+(p_ zPXWwjmWl}OSIUowCWmi|FM(>jVojTfj6cD#L>r`?UB!P5CWsMP6MbjM`9Io7;WxO` zd!QV3tuqV$F@_>0t>br4&1bKYhfyI9r9A5S>rp4TQx*UE|HB4X%z{jMmLzzIK(jZ? zvo>UjNrF6pTEUBoctVM(xYUVEu?LnSO0E>0;5YLi2|Ha$xJtMhff%Y5K23&2@YLCv zi8HbhbOHEio@lvj;|rf2iR*8Q5rtJYxijJSb7Jx7HiS-j66YexGtrgKgce(5Ew;v$7{kl|I0X`CBCG9kMB5_C z_87{2)=4LL?o7FMP!C{6Aiy||`6(r_={{VuJr*LC2wmm0E;CV&x$o_uE=|0;vJbhM z4|y&xvK(Gy8T`m%SoL$k{Bwc(hy3>w5%l-j7Nfr*IzIzUK03I39We3`&=OkdeuNT} z6+(ywc6m%fmN-Ey%_F~|8p2-%KT}v@hXnBTcPZqS5rh!}D^im9Qf%W7LL5iS{}zTE z2^@uF=b-o((^dxzU&%*AITe=EfOGKD!ErDW1u!4ulbjqA%$%NyCuNPxW$PRWAp2u$ z=>}~ui;s|Sj60OaNu0&oJ|Y(a{p+fQLXdE$B*Y{BHx_rqyo4Htt(7W_$njqe^dLSZ ztrhH5Ef`l5xb==VngWT3KwITEyss0yH_9{=CxqkRpb0o~jQ5$_phQQ(!8s<0etLj2?79-}i=VQe%1F|LCXyhmshI4kkh+hr5!~gECok#m@I#Hvz}0b+h zSsKio0ueDo!0<{eV=+2$D`&F7(Sb0EGEJptD*_)oUsR zI_Qs(u`4jABOqOoMGHekYeH2EF(V~o&RA-Kk0#?Iq*0bs#g;@sWOaWYNW>Fie@pcodr4y2i{Bmb`nD{2i z|Keyeu5B&@G1CIaU3DfH%Adtq9~u+C^>-oBB4(p|IL5q`RS+7vkTyC1&CxX#uO)<_ z!80_G($>AVThI@_*58P7p>@z?%n~ph@UuNt6#4J*zYbRxSA# zxekeY9EKd68l!KjT2Mq7UKnmzo<_Wqn=-n=E;2sxhh#|&W5Hbl*20oMbLcH*Zp%RI zIROn+SV-8Y*dj1iF?@79kbzSVqiBOQv?(7pBF8Lx9&=!0^uN#|72Abutb}t5BPlnK zmK)0Kd8k7XaT}%QTc_i5k(N73hZE7mqmM+C+Ea52GchYNCCmMPcLub7dwHK4$#^Wq2h+Y#G~alA>#Oo z7HgfOujH@B)!dNhZ9J4N)L zmpqYvueKruoIqA{SSY%FJthh7t6eB9^&(f;vOKt~nfdpY;Q$4qc8U2K~z-|rh>&$oJ6 z`IdqY-YDC zFQ?=ges4@)*(8q>Gl}qX_ zPz%IB!2_M32SC_{CcPys23B(zO1?;5-X^J~__rK{9z#ct;!`yWAV#!_@48?S%&V=_ zBDj}FnjVtD#B5$i_nH+5BhQ`0mg5AM@65p4Ey({`yH-&o*#CwDGy4ei@=RV@f36Go zleU*x#k{Y}W{lMIpM&y;AF1cbkuWqK`q?wT5TDOEp!yeyJ}_@G40g2K=IU$?U>#%= zjI5KA7q&gP>Lk?O`_t1Zpp4Peu8$sj+SMl4tP81RtMGZm{5YHxK& z4}g9|qI|p)+Dk|Z!B5mE?lfr&9gxtxr|=LMp@xI*ID9bloIbAj8Mr^yW-Yn0L>7t& z1N9K`@`+QR}w23Ck#9ndArXCdLX}w8q(U^-pI5cXu%Kp3WPN_Dy81{bs@?_pG zV*kvLC4GELdE_=QYdXR9sRjkh>Y?@RRh%` zX3~xT7?Ohrn*}6R0NSH%vz0S@-Xq)QL(}qA{;A5_A zKCj}9wD5dwyj%q;Anc9l!YU4?d*|s`XXp|AZ8HAi&wiaB3`25k1K?G$Tp_V#>64Az zV&m)HR*W;3GoNzx>E16Cw7PgRXHCDZz-xQHL{VaxMkS&f^WqR})=`;YVk@?)w<^(&c6hc%Lsk z;Oo{YMQ>Z`Nk&QIMLD;SfAsVivpK{m0eScSW7kGvB5`+X&rVaFtZ>xOF@9b4GPTNx z)p?~!Mmswr(dUP&Qf8OQ)v_To`WZCwUxLBS6&96}4^YssZSJOL8Z&maR%$aE0=5ibwD(9+N~N;p8!pT@kr(yqRp`byzPB&igM&1;4W}NN z%yL|NBURr>@9U3-gsmK&1~Wp4vS!TUtefmPHrCWOhcurIHfyjgCYGiiV#&O3zK24~49tW2lSb27$-MZ*)Z^LS%-Y5k->}^6;)X{F2AK&SC zV!a#LN>hQQ>wn;eGO}uX?K5+ECx;9>%1l84AC=!#DoWTXnN`V+N4a|kl-uj6JVYmL zA`D&HzT+2LyoG?RC!>Ov=hIi!&!zj`n5b1eTYZl1k`~&B)vvG|q@@tO*C8yFbvB;< zuXcGe697#Tr+TgXlvP75j8R3hDf|?roVbP4Vr4#e#!ViAl4|@oKqGT%T6V2NiakGT z$#u8Zk)%fON~&@k!h$aCMYhIDBqG5&FpdM|c1M!n7?<4^y!@+|g+fU9yQR`Kz&jm} z?I(K8X-cv59De2{fvjrNNzN^l@yrXV+q0vKB-;xQ@3Ohg?@)$=r}&Zk^JL<>5MH-u z)=2d}OCIy!ue+0WD3cKRVhGot)#eD9Gd65@ji&m?1B)T4-V__Ql*gLT;+c;anHvH= zZ|;rLREpB)?#8NP!X;!=OxWYv-ZzCDZHb(2IgMMbpOP2$fIf@=-Yk4l3 zoVaN%nqXYX4E&y9JswV=xYQuUBZB-a%KpaKP0MZFUcUT#+3vXlj{)~n*4w5$^jV|f z;$`sETuwT#rE3W7+-Bi=L<9Wu2b z?%u4vnam3LNG6#XWPV?Dp~4tgB7zDD>u7Xi*leePY0sg;)-AjqoMhcXZq-rGo;4dm za)h_w)JsU@`tXeCIE-Z~IlmjALgl3{BxbTbp)yVJB6h=?>ZNH_UZw8xSMDRabL>?& znDF~~NX0L~@q$T~o#}=ftu5!Uebn4Sh5ryfrN8zfsCSSn?{|mucBA9yGM_Y86v~4nLYb zJR4i~ggK8Syt8P~t{}?JH&tALuL77yV7-idlgXV7?cktYO-d@CPJMYr9 znKAgw$7N65E2Wu&o~A|DEs9QzvzKYuUhu$lx>LN3-Y|h3zcX2y?)vA-_x1;_?2Qrd zG9sgRp^y??wtJg2d5-(|ekyfi+uj`+lw>RK`o0Vd;6xo@sho zYWagEs!Yh%Res{)TRZ%K6qoB)z1?OT_4mXq>}W#mkO^wzprS$4-Q;k%B@*W+Kv0fQ zxAcB52Hb6jH;b^0tWlMnBqwadi+|!OpzLn7S+&&A?FQ`e(*q8*I{;Pxp6`Av^kVf} zPYn|yJK3|6Z?hJR z!;5k%D5OT&;Q?#cQ1dT!LJ`7oOmAaMj8O*IT_McC3)FLqM(ToIl&+d~_X9_bE8e2I z-be544T=aJPB-&vxVcAP=7D3>hJv=`ePA1F>!tD1nDp-Cr-6lJ1FlYS z&SZP<7*2S#Odl+sIkBL;X;W`5y#-PE($nS;OPRM>HMQ7J_@!vS|GHsG;WDQj#8%n7 zUcNC)(;p#_9reWLa^NA#W=hj>TyC_NAgs8K6P-**B{+KO+I2I>*&N3DWxw)%O(N5( zaR9Ih{oCp+<-X6Yqk%~k*e#XWC!Oo9BkBXs$d`+}SS}J`Pwo-^xQS_XQ%~Kzm-(a^ zR7ng%s^t~#!d*)J9#2m2N2CEAz{kHwrL$}E@;w?;p@}Nki5^>acRtv%h3EFBWo?kz zJr3f<_os61Z?6LQ#~~xnXH!%nBvfry=>L9nb?A**cOn)6{q*$ zd^%6Jf-1~D(>GffKVq86J{X&5I*Z-BwXTYLIW*lXqSwOcIQ>qCOWC@wPeqJ_Io_pH zsk?Ls7d5CJ8OcsgVd`LKw@na1XK8C&X%+#Y!qeqTiS*vPWsg5IQObwDJf)GXGh~-s zzOTt6k4#>#>tQ-RXuP*ZnRljlX`FJfad*WqerEHWNe5D|MtVUI{V zGmk&SGK!8Y8$Zeq;=k=&ROa3(b&U9?dtyEh4jnGnp?V{xRl1KA0H0_H%B^9IYr>nO z=_$7-^r#tlBi7bpK{QVFf%mtXs{$=kSPE!}SZ3i6=4m#Zr(N1vn^pu4UWOjK9nGuZGpt<| zD$G2e+Ai#^CHF{_Q*7e!DkWuNH#zc4Wy}#5Wi@U!gU@|GY+*K$2(=oMU+**<>v7|E zm-f!nQ{JgRr6eb1VQwo2U`|LtWmpRwu5OsTRW*>_voAC50q@0o_tWbgOdcMqw>{#0{8HzV9A$?|`VcG}&4? zJl}gB%_n?gE;8to(}E|;A@(Fa`{Pz4lIe8|MZeqQFJ#uvSooqcn1M4OjiT zh2N^TKgAoyrv?o9t;bt^O5&vh5$CUvW&}RImN0C0#zu)5(L9XD>1$(eHS?vlJUcwJ zRAt>|RCXzm2&UzzZ>?XGGz_}(VUljqN`k|`NH#JfUHKHZiVm^Cb(vl-AJuZ>-NX-N zBH5*qn_B7B3AKnTuW!EmSf8w1htMO1mp#Sqz?fI|VO^ z#Jn9Ft^uk`w_{($4{Pi#KL}Sz4r}W*?4H&1%ozo8&r?pxj&jT~->DTXUVEX9mSF;N zek){nO=uJ*aEDm%sC3`ikJEDH7<~pOiQ~JnpZENvOfHv&t3r~m3lc@NQXGZdtW%jU zl~wk@9J-Zjq3;}1Qmj4PwCHXr3!kHMiw}_ytC?XrZl+F3!(ho$ew2C&dI!?j2%06$ z?Lc;evbc~MrYpKf=XF|>@a68Oc8`EUS`M1UJ{s~1v#wscK51@v-y5Spuy!{a=O!uc zVzT+yJXYdNCuNzZ>&v4Wi57s!+sBE`7-@$P<7bp;*;&F_OBURTv_^`=gZ4CuvadH@ZH0J{skM0O<6*U(IX3cj(8( z5ih?O$~C*ppSrN$HXCdPzM$XFnV(G?`p4gKR&*~*QjnF2i0>g*^v&Eva$74io)pI{-f0^N%O-DcPONH0i zFr3G3605Yn7PkFcB;eaCF1XN}e;5*%#V<;zIDdh6BOKQ{sN|Tt>~fa zQH4cL7M~6~w45usHfQO(R_{=)OXH6ryMa$qKRpNfAMW~YP(7)>o%wjy@pO=eyXW^S zJ;wLU`tRkRXxsrEPw860UHI#d7GDKkY~i%J6(Dp8^TQ!CKm_#UiGGR)hA~;$<)af?~EK~{+u}MNcPX- z|8Zhi?IY>5z7$XE&1~s-{Yfve?nj?K44}(6Hzj?&>@4WROZ#w|Jln9<&E4?VU_X1x z(aDzi!JF4Bw;I~sDF0Z%ChOJ3s8xNRxt_aMn>$LRoYR;Qhd&h2oz7!kabJeQr!9Jq zpIqvFLT|9L@`&uz?JG+)%I~8^UHsf=B+QTWN_{pwKLr5t4q4lE*PeS)E_@w*?3$^e ze6iy5<7Eqr3f7fk*9__DBhG#~9}h+k4z~Hf?`(a1>Q`afK1XieXUqGu*PoSZFb!9n zAhC5^)OA!E%O}DPA@@Y!wnsMdub1mEhpmK71lDCxGa}(NI=$mPMuS8e3`3DT@yM*e`m^ z`bsR1Obfe9OAS=dYz%8|-8d0iBhDv)`SIcrBtLMCg13-3c_}$u$3;IT5)958M6KR4;U2s&b-grC%3Urrsg!CQg(>B z3@1}-%@$f z_xG+Y46{sdY_xf~&tpJ9na%)I%ugyz57muQ^x|qO?%;IASEG{-TRrNx0S%mo`{6zIgY-f!ttFAp!)TS2I zT)D#_I<+!ChSFc{Zs(xK< zJbof`!%17t^e-QJZMka0f&Go^eIs=>Z%)y4sQzPn;m*d_S7pqox$mV<>f?*o&F}Fk zy5IxL-aY6)?}N3^$lsf=*D-v``H#=9`gHQ``IycN;R_f1>4&1SlfFk4mGhO0<+bfM zBs?X#ZD>J8;<8!GPH&9*d}&mRY1wrZ(2y}=o^Hs6V+V{soy&de)01txR;T!kmS_^! zZ~yG%)b{f|JNFbl_2=c1(4A`aTNyJX(}Sa94nLF}k&Njai#VFJ;fKbur@PAbYtY&TPxrX+I0TGiL&0R@LW}n*iS$pQwa{`jjuB_PeL520uE9b^;%N>f=MrWI1#^ysNJf{{F(WEprHC$ouT->pJ_xA~zzoIp0RcIVDPy9+0yx^A6yc8PMzZ|p9-8+LZr zT$u8k@0$Jds<;cwz6b>~*YIu9mSJkq)eh(+_OiQ?4vNBLs^q=Ob z%Iw3xd==UAq(5x>dDFj(Ue~@5*Zs>sl81hJHt^Yc=O6r<=gID$v#PntdEw;p$8tWd zotbke6HY5M)p!oX?!u_pPs^6x(+8Ws#jH z@t&XWjZmDtVdmHOhAyA-z*y(#nYV{qdvj)wx#Q^bn9eof*}k8xjRwik1!I?fyF~tX z=a1Ho<`;g5cxuL@8`?hj`Cs4v^uGsF4*pO-J^PdHFP*<2KPqw3`XSY)=V%^qY*x&@ z?z+du=5>93o2<4y=EHCQuIPDn((YX=HaBc%vbOG>nW=6+9zY&WriI<_`>8z|V9^Pc zWR1QgA<}Ss>YUfEU;6cucSa|_9U0NQ&>wl0qP;=*`LCqJzCi7n7x zcJI)DiR1qBC;J=Q>KxeI&i(wny~%Vz#@)^}Ct(zjB|UQ##C zIybtZG5?31I~F?|ANkI2kMpPJFTp&_3tF=t(CTQ~Z)YBex$EZ4&~Ipm4ytFP`iBDK zgCrCr$n;3UK?>ndYEH?e5d2Jx(8dfL8`-WMNX-%k(CPs4)bucL>NlsP#`YU6iN`CavyMfeOjXRW6xhDT`$(oUoK7WU0R0 zU_lJMD8X3076{@QB01e)v6}595{Tol!@QW8VPStX`5KZcGk2Q!1P7ePwA!JCBuUT^ zXh9Ff_4SOs)@rtt8?|jV?{?-(1fbRam|@u%kXpLI7y6V)fz(pDv}T0_BsG0wp$qq4Z0M^nD~4 z$xZq=1NVSS;C9AluXW&XH?TNb=&jYTSZikxl40>hrT?I}^kp$zNnOf2T@7`x=b@`^^6rM6|O7?dbbOvK2!*5 zS{5)mJCL$K%8~&Hg0e21GnjNnhn~TCHiD+p+87(bMLJ_=tQF)+0Hs=^(F-_JYqeD| z_I9(Lma5VkOm_6Y#)=7DO!J~SPyhn))>JJms)_O(%raVHs9Pntoa|!dsM?XzBS9n^ z)giyMI*7%fH6@AFM3GQ^iow)J?KP=2lZ-@3Tt7&h_aqo#DxqmpQ-poc=jWQ6`mN4~ zTz%`K27&E2C~W^hVF%Pl3C2#pLLgU_nCpNeW%E8x7hX|pd zmkwxBD5{8IQ40-=5ASgLunwnhbpgK?2;ipI#b}Vkvx^;HwAkqj5V*(^wNG6^6kEGL zr8pKYfjMd%SbAudrSzmpAi?ysmsW)wRUt=hyA*RIr0dV|EL8`22_cvlLWsB!LcN6$ zMk*xELohLQ>`kZ&zvoiJ^#n_@8ZoR6Cx#B)M%1w)sOA=2I6IPNOW17GBh_rLk?bh< z(umh;o(Rg07Gz(#@kLj)%LEVMP4Fbv1eX#MJZX?7*vrFk27VyJmG*uI;g?~Cz3Ovc zqR=diglw3(Wr4dL#uybY3^&_NN+TmE$oDe)UUr--R4=U5! z%qE-N>d@KE?n@@L${`rQea%(VLGSS>u5u*}IxYhvqM8YG=6{Fz|HEN^LBU@3~o62xQ0_OKb-Q};Z#J1Q~n@_llvOp z8Ms}BYwUd(hF`{ja<9xajM^a^43Gm0AT1RZLRuOaAuSy`AT0x$y3#@0iY7@-Q&$@D z@LJe|9b2Id2!!O(v8Czw?`ZmeH<~(sl}S@LVtl!MIX@xPpBr5PLTDfd4H80w6ZsiW z01f4E!-UXq4mUywjpRmclyKBWv!j;e3?UCFH}U+=CAt}^ z9(MWjsfITI1*`#}j}8mmp5=8&Ffwxv%!oES7iyFEp@^qqVnE4f;6@y%8xmI-;Dp~S?{RBW*8 zj0TG)4HDT5xqC)B$|wT-aAA#7A&0|N%b&@8=qn#v=}RTBTp6N-oIvyw0crl|CldV> zv4}k(U;fW?3-*7Xnb*@y5Up_pu_c-ywnVdtN8Za_@%k>?2*s;mf7B4fN0SKR+K~it z?Z_gyiy;0x_nw-kG;f`^mACa$+NZM#=5wh8^SM+O^Lf9KTMj+7>YGGc#hD6<8CO9t z&*u@$^LZTRhz}o+-YGI*-rs;-}KqJgFU@$Hpq|`IP*3h^}_n zuc&ihPnQ7u)pYXb49R-+VBhQulPez9Op0$heh%p8$cF(CN~V*9lIbL+Bvl2W|G_N9 zk&|jxry7T>y4H5v&1DpS^BID_`3%>Hl;G(QJ_esY`Z`(6#<&b2$heEp4Q+I|Vq z#KfNSZ;E;te@hF?aX4ZhwW9>_GaR^&Tk#*Y!XLB}`-&CE|BKsFZajbd>5{kYkI$Ms z7T1@6sv#yU0qF55Dpqnu-7{}YoBZ~i>i0kEy{EYd#I7`(&ey(lCJ8)L?Zm=%-wZfLygIR2`Wr*_!bKNGY=Lm3S8MBUsYJ zby6HufjE#Mj0%o;UE-WKcGZ60aMQ-GEDH}|;&U+ZFx0wMvz4XV&KQm6T#lNb&?6L3 z#2=2Gf+-FmWTb=)ZL%b;HXhMG?qsRX{%-ExMYHBlPu}=V<4i(zE~XlRsCKp+jLdIE zSNqHSM|aKBRr|kxUQ!d70pE45p7x40;$d;LD3vR2( zoqx-_ab0n&KTs$;jX9Wv=-4`ux6saOG6VKbGuYd$3|gg_9ahjYty+iCuF)B_4y4@l zm>vO_o@$QV8XRfEGv120nhf}XJN0kyeHME!W$#njdl`G5$llA@`{7vH*SLmEf}msM z7!bn7K%gY|*q!*5iA0^2;kIU>3T<|)L1&-5$brTw+hT^?XlM?Y%yx}CWPrhpZ(Ff4 zC|S-tvs`&H%19UzKyNlL^m2YIFJY`^Xf-Ux+qovv3rOtH!XW*pDy`{XFTBDfs+cUyWaT_TGP9hp3Dz!S64sE2j zvLujpwrlMmu`xO`YI{5ml%d%g9O;1SfZ-abKsCxGXiNkmb{!@iK0u1dG_h|8Wd&NT z1}r?HY;66=lg2df!+J3u@!5eC++Z;>$j;~uxC$FPd$by?=$B=o6*<$nYcMhT zVw=s-X6j%}b}CqIBSgriim-{2Qo;*K$_VW|vgLqgNM!zqo?^YmwofjaB5jq&QBE51 zh_fQj&18>S*UWnLH;RU!iRwUDOm3T4yeQX80tV_JA#Vx zhKkUS@z+rgSTz@?`0nh(P0xK2}1eLZz*_xbJm_p%NW3| z=_v%!zsrLcs>{)JBt2+RmWh~g0(^p)-Ih7z;T}oDo*>`kH=nJ7(RUa5WduL)>JjkW z-6MT$+Bd#o(~9@NXyYOIE9bUm=7FM?ZO|z9294wzG@djl1m(Z{r#XwhUESJ~szEK1 zIf-=e*Sm55DIn-&Aip5_=wL`MDHKMeQ1bq+>_yKf9~uMFUtJ7x%mz7Pl5n#`gd43h z{Be{_gtjyJU!O^`G(%n^j6Ow9rgSGyK9+~h}RP4%EK3M+R1$(Dv`tiF~-ngo%^Iz9({?E;OmCS<)yE;0L*6iH%4^*5z_Ib! ztxG-1VLRZ9c0!KW&5gv%<>BNg{6XD&60)X7;pjImw6=4ORYe8WKs95lixC1?F0Bn znuJ%8sDbSUBoww%>fa#tB*N;DOCc+uQ0z|myS$*pz982!kII{N%OjXj5b>svlR?QX z1vfI-cc@0{96-GQIh~BXNy<5B1W?bK{i6?(ijugtlSM4Dl5}+J%{4htbKlBG+G1R!y<|8=0caViiQDotShiimw34MJd6$7MS`t^ukolD2YK;U6WG62O@8tQ!6yCRJPxpg+*WX#T9nx58 zg|ZKT>`SYW*+FBALAIwA^m=}nWYDDt`p+u_5`z^y$Do=@7T?mPRw6s(0*FtIj1FCR zU9!PZa0W-|z6C@`@vD8A_rhOjfmNs*S1FZ25D0Pihd7$KMn8oct-(7C=8g_+jfJsl z?PjaM0xvY17+pU*W^St)aw~H;d&2oCid*t=1Fgc<+9)~)xoy5h0=odByZSO}5Vtwm z?GdLG@BJo0yLA2SDyFl?{b=#rRY#KAs(dXs1H3Eu8=)JKuw7U8_lJ5$J*Xe$JE!r; zn9rI~);%gk?o%U%_s;O`3_peL^}fp3;U$}2*5AG={QIc@E3v?mAaX-s^iuT*z|qOg zKAE)>1qYcg#pDz$xkaOTu#kfhUd&&g{*dfa2k?)+3S~R6ut%VY!%f)SQokMPTMM+c zfz9S-z|`Qj%I0^vlKbBT^K)%3dhD%xb&A){_dQOkU$E3?D*`2h`9l24pO>BKxg#SC z8ga)t*)B$ITb@OuHKK_-Kf%bf+7k-$TFoZArd6wB@)JDHH9|a~HxmvH0E0?&muM|8ia2yM8->y?g3b?Iu1@Y44 zl3H#;d(0`EWi$IXuTGz#=w=-66R*ZTaS*(^O&PoIfp<>6Rm8Pv9K?LSJ0G(6Hbr9t zhtqKUPZx@BNKR9OR)0BqPf;hc{5n$_1tEVh?@ZKJ@%perV!U1{_GAF z*51E5sgA>KwEfYawB0n3H)KDb+uiIMV}-I8fozv5-C4|JS;Vhww+!%Hh!Pdq$xZ8j zp!s6oAr{to?%uj@bO~GMY4vDMI6L^dophX%DfcY$RC-rRl4%efjmP1fAZ}Zv*lN{w z6H{GcHX9kO37PC-(4iEX)6tm1QM}|1k4Ce@4jnqcAF+UTb0;u1oz{Yb=-TaeOYZpb zMzc<9Y&YBNvxVss8ff(<6LpaM)eqR%E#tMIEzCVTFPmR7RC zOzyO{7K6P*YvG}GvX^h?g6b@F0tVix1#R-jzUxxKoxePCUkcTA) z@+whSBFztqi;m|~d<(<#yVA|4T)Vw#RZNeNCyQ}AJ$9)gm~xN;Nu8q)aG zgm}EGFIUG<;bDPg#pBKISV}f7KT5ugTVmk?*Lt%S?_w?8J9lV4sZWk(bG&y?GH`|J zVfpb&1z)!YiF3V#riZ(wqqwAoGzX||U}KmXPkVC|{-HIK9s7hhK5%UW+wXD6 zXz=I)UHs6tmO$S=bb=O!}FO)|5_P?Y< z3o@tk>tcXY&Xznb1cck+aL@DzxsCIq4`0-HGole0bCaW^1z9{oxC`AGjk##$>0ol9 z6-T7xLRv1Qc1>)he>j~@J(bj47$<&{#z%O_5bILU@B@V;-W9b%A;8L-K={ctp4tu< z(CKt8ji=l01jx>2r;35YRtc~XtcL*A?%0QMpj15F-ywlBSRUJPN93X&qL0_hXygJr z<8W~dS*}#_1ei!euI0Ye%Tu4m?>*k|NQ_CA)qSF!hz?2ZUO`^sE_37khu7=Ds6 ztny|!9dXQa%Kav5ekFzzJs2kO6@rkYD9`u`_az+R9iJlC8-o_6THaTjskIukEk^d) z2U>NbDT|x|fyQtWECCuVD^J1?u*fQqvdkKAvb(?r)Fz?cC2ezCb@97E_*y_WF+9#L z=?6-uJHq!7AS*{9-<2j4W3AQV`Pa@3BTw#oVRay43@1@Zc^6zKU=Uj^5{V$M_%&M* z%1+A)Zi04ii&QlnwdW4po>D{v`#PmYe6om*U-IL(8wNT*!R^!pR+&8BE$AQw?I7;G1h);X2;qhn=_@n@ zK5z<3r_<6?#7bufOOse{iD$?k*)lyU+z=Dgok8oa9(>(0@w(|K7Es8f6gtEx)Lopy zNcN>+g&;$j$XgH-%bb9oJpsD~@s{(QIh-a&Uh(!#>dGkE;LWC`zKwEtD zGFyE6#alf8w`(JUF7j?2zJ@0D#UWD;sVa3x5q(e4!5X3y?7whs$!4>2yCPbDPYaoojhW-)aaf2Yv+79inLELl9 ziBn|l$n?t|)o`&kWnMv>Jk?UrrU58sT}9i-lAQ1x8-13{#4GJBFMW`BP{_VgJLo+> zx+-U_M)~DbE|7{xwdtu>d&*$xrdGj+B6MvuCGGj2Fg=hQxJlp44dCu=MC1$4nj^;Kq?JCY<~7!~Usi<*z$&+N7^Z2SsiwdMlDAEd>k z0h7+Y1;Gv}w-+-dvD_<`T;!nOje`Ks_cLjMq=5_2hqLY(m9AGvS%OYv-%K6UUsLC0%i13 zpj`MUkoKnAv&oV4y&*aGx)J{b`#sMGj%?V;TbQY9z{m4w7#fXkgJLj136w$^EWpQ( zNZn5O@s9NO2;T4HG!9Fc5RVc-6t4H33c07Ps7jT4l`2wYJXa+NCcv)?lgK6&eI4K( zr`y{BcKW&$4p8sSL>#wh+pN%JH0!#Xz?udr8nC9r;xurW7VVy0s#`J z@{lk-TplGZD`rFMs0`2XjtgzAj+W8YB^nwpo2_82N{VEk_tu_jm*R! zkf?Dft~57Fpx5+9F^Pui;J4*^(@}eE^w>lEWdyhg#j_~TT z*D)qNf?J_jr!!mixW|fd05uzWUxJS*FtzdF_a)@Zeo(6IV60lo8M=0~nDOx_C}A<1 zunY`c29pg73e%}#Ob%hX($1hpkyAB`X|z9-wllhgxC-2J6;^|uB&L{+IQk4H>rtEV zFLpd|f?i77&1M_LV9E`Q5fx*MsO!ml!GuFihq~oq6 zDP2gY?`nHi@($um6#jFH*Wd1XjqwiaexJ+`p7cMCyqUft8BD%0yt3MPTJ3unG<~ z#e=s>kNayq?x%X(PxETqwcgaKL^!Axfz^n>B1K@e9Bg|3lC2XdS1$r<5P{7QfklbH zX1eRpEDs%O?4P^YBDKxoVApw-o9c}{m&2atfjz%}s!bwP<2hJ!|K*}Z%4tPlEg~?T z2uv>mV?0ltzyNrL^~kX)GcQ`VUl-vjqqtSjGhe4V#_-t>=(IyZOR)%fMXEh)thtT-nB zpTC@qk>9&uq|U)SKH~#F#i46III}^Y0l@*c?So;BCpP>3t>HMp(wmo0{r5zlkT>d9 zZ#)ElXy{SR?pgQUTzT7x^M!AZS@T@vvUeI9Uu;B_Ye6${Ozhh^!}m4H4p;T$g}{w7 zZaw_bbdY>By>@)eN7rZUx_!pzS_oP3Xx;vt;Wr#=xGz}_*LF!Jn!ADM2NeEs&3v(`YvwMFt* z{@(Y%#{F&E&ICVN_ScvPK(@Pa{+M@B6TWyh>%x-1ZuxH3d#4|5tKD?(nb8|(1%hJn z-$1!Kd)bUA?cSy3Z{KkKh1X&Hx<*Keo9O>UgYo!-N7oInAEnPY3X1moLDH!{T=&%o z$u)(YjjQ64_W4>;Pgd@Dt|Re54eXfRBmLy|9gp6g{zT@C9sAyB0Lg+KpsG$_y0)!| z*gtI5(Fgx9c2pktuIqx3MGN~S=DhhEb zKZAu8M#hjXrv3Zuc1?O}+C)u5JEN&Go5&{}G^J*%#cU;;5-FNuqftW+_qqRm2OA_Ij5mk-N?6B$> z^wVnZM5`)|1253Yq19ED4Vr0afn%~UlQcGl(J&n?j9$;^HAV{6=oxzOGHN5Cp=az` zgVB}(PAT4LOocY*?o-1EAPjOonmJXI110GYoFz@Ude0X*`9C@+*=+bd{x1XB^ ycPS%f2=csh$I+$P>V_qU2uOiIFV#%C{=Q?ycR9~b15TDQz`NkM*8c-d%})8{f&4}Q diff --git a/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java b/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java index f4bd45e8b..03b297968 100644 --- a/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java @@ -26,6 +26,7 @@ import com.jpexs.decompiler.flash.gui.View; import com.jpexs.decompiler.flash.tags.DefineButton2Tag; import com.jpexs.decompiler.flash.tags.DefineSpriteTag; import com.jpexs.decompiler.flash.tags.DoActionTag; +import com.jpexs.decompiler.flash.tags.DoInitActionTag; import com.jpexs.decompiler.flash.tags.ExportAssetsTag; import com.jpexs.decompiler.flash.tags.ImportAssetsTag; import com.jpexs.decompiler.flash.tags.ShowFrameTag; @@ -83,15 +84,18 @@ public class AddScriptDialog extends AppDialog { private JTextField frameTextField; private JTextField spriteFrameTextField; private PreviewPanel framePreviewPanel; - private PreviewPanel spritePreviewPanel; + private PreviewPanel spriteFramePreviewPanel; + private PreviewPanel spriteInitPreviewPanel; private PreviewPanel buttonPreviewPanel; private PreviewPanel instancePreviewPanel; + private JList spriteInitList; + private JTextField classNameTextField; private JTree instanceTree; - private JTree spriteTree; + private JTree spriteFrameTree; private JList buttonList; @@ -105,15 +109,17 @@ public class AddScriptDialog extends AppDialog { public static final int TYPE_FRAME = 0; public static final int TYPE_SPRITE_FRAME = 1; - public static final int TYPE_BUTTON_EVENT = 2; - public static final int TYPE_INSTANCE_EVENT = 3; - public static final int TYPE_CLASS = 4; + public static final int TYPE_SPRITE_INIT = 2; + public static final int TYPE_BUTTON_EVENT = 3; + public static final int TYPE_INSTANCE_EVENT = 4; + public static final int TYPE_CLASS = 5; private final SWF swf; private final JComboBox typeComboBox; private List existingClasses = new ArrayList<>(); + private List spriteIdsWithDoInitAction; public AddScriptDialog(SWF swf) { setDefaultCloseOperation(HIDE_ON_CLOSE); @@ -149,6 +155,7 @@ public class AddScriptDialog extends AppDialog { typeComboBox = new JComboBox<>(new String[]{ translate("type.frame"), translate("type.sprite.frame"), + translate("type.sprite.init"), translate("type.button.event"), translate("type.instance.event"), translate("type.class") @@ -183,7 +190,8 @@ public class AddScriptDialog extends AppDialog { centerPanel = new JPanel(new CardLayout()); centerPanel.add(createFramePanel(checkEnabledDocumentListener), "" + TYPE_FRAME); - centerPanel.add(createSpritePanel(checkEnabledDocumentListener), "" + TYPE_SPRITE_FRAME); + centerPanel.add(createSpriteFramePanel(checkEnabledDocumentListener), "" + TYPE_SPRITE_FRAME); + centerPanel.add(createSpriteInitPanel(), "" + TYPE_SPRITE_INIT); centerPanel.add(createButtonPanel(), "" + TYPE_BUTTON_EVENT); centerPanel.add(createInstancePanel(), "" + TYPE_INSTANCE_EVENT); centerPanel.add(createClassPanel(), "" + TYPE_CLASS); @@ -296,7 +304,59 @@ public class AddScriptDialog extends AppDialog { } } - private JPanel createSpritePanel(DocumentListener documentListener) { + private JPanel createSpriteInitPanel() { + + spriteInitPreviewPanel = new PreviewPanel(Main.getMainFrame().getPanel(), null); + spriteInitPreviewPanel.setReadOnly(true); + spriteInitPreviewPanel.setPreferredSize(new Dimension(300, 1)); + spriteInitPreviewPanel.showEmpty(); + spriteInitPreviewPanel.setParametersPanelVisible(false); + + List sprites = new ArrayList<>(); + ReadOnlyTagList tags = swf.getTags(); + spriteIdsWithDoInitAction = new ArrayList<>(); + for (Tag t : tags) { + if (t instanceof DoInitActionTag) { + spriteIdsWithDoInitAction.add(((DoInitActionTag) t).spriteId); + } + if (t instanceof DefineSpriteTag) { + sprites.add((DefineSpriteTag) t); + } + } + + spriteInitList = new JList<>(sprites.toArray(new DefineSpriteTag[sprites.size()])); + + final ImageIcon spriteIcon = View.getIcon("sprite16"); + final ImageIcon spriteInvalidIcon = View.getIcon("spriteinvalid16"); + spriteInitList.setBackground(Color.white); + spriteInitList.setCellRenderer(new DefaultListCellRenderer() { + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + Component renderer = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + if (renderer instanceof JLabel) { + if (spriteIdsWithDoInitAction.contains(((DefineSpriteTag) value).spriteId)) { + ((JLabel) renderer).setIcon(spriteInvalidIcon); + } else { + ((JLabel) renderer).setIcon(spriteIcon); + } + } + return renderer; + } + }); + + spriteInitList.addListSelectionListener(this::spriteInitValueChanged); + + JScrollPane spriteInitListScrollPane = new JScrollPane(spriteInitList); + //spriteTreeScrollPane.setMinimumSize(new Dimension(400, 1)); + JSplitPane spriteInitSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, spriteInitListScrollPane, spriteInitPreviewPanel); + spriteInitSplitPane.setDividerLocation(400); + + JPanel spriteInitPanel = new JPanel(new BorderLayout()); + spriteInitPanel.add(spriteInitSplitPane, BorderLayout.CENTER); + return spriteInitPanel; + } + + private JPanel createSpriteFramePanel(DocumentListener documentListener) { JPanel spriteFramePanel = new JPanel(new BorderLayout()); JLabel spriteFrameLabel = new JLabel(translate("framenum")); @@ -315,12 +375,12 @@ public class AddScriptDialog extends AppDialog { root.setData("root"); populateSpriteNodes(root, swf); - spriteTree = new JTree(root); + spriteFrameTree = new JTree(root); final ImageIcon spriteIcon = View.getIcon("sprite16"); final ImageIcon frameIcon = View.getIcon("frame16"); final ImageIcon frameInvalidIcon = View.getIcon("frameinvalid16"); - spriteTree.setCellRenderer(new DefaultTreeCellRenderer() { + spriteFrameTree.setCellRenderer(new DefaultTreeCellRenderer() { { setUI(new BasicLabelUI()); setOpaque(false); @@ -350,11 +410,11 @@ public class AddScriptDialog extends AppDialog { } }); - spriteTree.setBackground(Color.white); - spriteTree.setRootVisible(false); - spriteTree.setShowsRootHandles(true); - spriteTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); - spriteTree.addTreeSelectionListener(this::spriteValueChanged); + spriteFrameTree.setBackground(Color.white); + spriteFrameTree.setRootVisible(false); + spriteFrameTree.setShowsRootHandles(true); + spriteFrameTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); + spriteFrameTree.addTreeSelectionListener(this::spriteValueChanged); //spriteTree.setPreferredSize(new Dimension(500, 1)); spriteFrameLabel.setLabelFor(spriteFrameTextField); @@ -365,17 +425,17 @@ public class AddScriptDialog extends AppDialog { spriteFramePanel.add(spriteFrameTopPanel, BorderLayout.NORTH); - spritePreviewPanel = new PreviewPanel(Main.getMainFrame().getPanel(), null); - spritePreviewPanel.setReadOnly(true); - spritePreviewPanel.setPreferredSize(new Dimension(300, 1)); - spritePreviewPanel.showEmpty(); - spritePreviewPanel.setParametersPanelVisible(false); + spriteFramePreviewPanel = new PreviewPanel(Main.getMainFrame().getPanel(), null); + spriteFramePreviewPanel.setReadOnly(true); + spriteFramePreviewPanel.setPreferredSize(new Dimension(300, 1)); + spriteFramePreviewPanel.showEmpty(); + spriteFramePreviewPanel.setParametersPanelVisible(false); - JScrollPane spriteTreeScrollPane = new JScrollPane(spriteTree); + JScrollPane spriteFrameTreeScrollPane = new JScrollPane(spriteFrameTree); //spriteTreeScrollPane.setMinimumSize(new Dimension(400, 1)); - JSplitPane spriteSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, spriteTreeScrollPane, spritePreviewPanel); - spriteSplitPane.setDividerLocation(400); - spriteFramePanel.add(spriteSplitPane, BorderLayout.CENTER); + JSplitPane spriteFrameSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, spriteFrameTreeScrollPane, spriteFramePreviewPanel); + spriteFrameSplitPane.setDividerLocation(400); + spriteFramePanel.add(spriteFrameSplitPane, BorderLayout.CENTER); return spriteFramePanel; } @@ -676,6 +736,18 @@ public class AddScriptDialog extends AppDialog { checkEnabled(); } + private void spriteInitValueChanged(ListSelectionEvent e) { + spriteInitPreviewPanel.showEmpty(); + int selectedIndex = spriteInitList.getSelectedIndex(); + if (selectedIndex == -1) { + spriteInitPreviewPanel.showEmpty(); + checkEnabled(); + return; + } + spriteInitPreviewPanel.showImagePanel(spriteInitList.getSelectedValue(), swf, -1); + checkEnabled(); + } + private void frameValueChanged(ListSelectionEvent e) { framePreviewPanel.showEmpty(); int selectedIndex = frameList.getSelectedIndex(); @@ -704,22 +776,22 @@ public class AddScriptDialog extends AppDialog { private void spriteValueChanged(TreeSelectionEvent e) { - TreePath selection = spriteTree.getSelectionPath(); + TreePath selection = spriteFrameTree.getSelectionPath(); if (selection == null) { - spritePreviewPanel.showEmpty(); + spriteFramePreviewPanel.showEmpty(); checkEnabled(); return; } MyTreeNode tnode = (MyTreeNode) selection.getLastPathComponent(); if (tnode.getData() instanceof DefineSpriteTag) { - spritePreviewPanel.showImagePanel((DefineSpriteTag) tnode.getData(), swf, -1); + spriteFramePreviewPanel.showImagePanel((DefineSpriteTag) tnode.getData(), swf, -1); } else if (tnode.getData() instanceof MyFrame) { int f = ((MyFrame) tnode.getData()).frame; Object parent = ((MyTreeNode) tnode.getParent()).getData(); if (parent instanceof DefineSpriteTag) { - spritePreviewPanel.showImagePanel((DefineSpriteTag) parent, swf, f - 1); + spriteFramePreviewPanel.showImagePanel((DefineSpriteTag) parent, swf, f - 1); } else { - spritePreviewPanel.showImagePanel(swf, swf, f - 1); + spriteFramePreviewPanel.showImagePanel(swf, swf, f - 1); } if (!spriteFrameTextField.getText().equals("" + f)) { spriteFrameTextField.setText("" + f); @@ -758,7 +830,7 @@ public class AddScriptDialog extends AppDialog { } } if (type == TYPE_SPRITE_FRAME) { - TreePath selection = spriteTree.getSelectionPath(); + TreePath selection = spriteFrameTree.getSelectionPath(); if (selection != null) { int f = -1; @@ -782,18 +854,18 @@ public class AddScriptDialog extends AppDialog { node = (MyTreeNode) node.getParent(); TreePath spritePath = selection.getParentPath(); - if (spriteTree.isExpanded(spritePath)) { + if (spriteFrameTree.isExpanded(spritePath)) { boolean found = false; for (int i = 0; i < node.getChildCount(); i++) { if (((MyFrame) ((MyTreeNode) node.getChildAt(i)).data).frame == f) { TreePath framePath = spritePath.pathByAddingChild(node.getChildAt(i)); - spriteTree.setSelectionPath(framePath); + spriteFrameTree.setSelectionPath(framePath); found = true; break; } } if (!found) { - spriteTree.setSelectionPath(spritePath); + spriteFrameTree.setSelectionPath(spritePath); } } } @@ -818,10 +890,10 @@ public class AddScriptDialog extends AppDialog { if (invalid) { okButton.setEnabled(false); } - if (spriteTree.getSelectionPath() == null) { + if (spriteFrameTree.getSelectionPath() == null) { okButton.setEnabled(false); } else { - MyTreeNode node = (MyTreeNode) spriteTree.getSelectionPath().getLastPathComponent(); + MyTreeNode node = (MyTreeNode) spriteFrameTree.getSelectionPath().getLastPathComponent(); if (node.getData() instanceof MyFrame) { if (((MyFrame) node.getData()).isInvalid()) { okButton.setEnabled(false); @@ -829,6 +901,18 @@ public class AddScriptDialog extends AppDialog { } } } + + if (type == TYPE_SPRITE_INIT) { + DefineSpriteTag sprite = spriteInitList.getSelectedValue(); + if (sprite == null) { + okButton.setEnabled(false); + } else { + if (spriteIdsWithDoInitAction.contains(sprite.spriteId)) { + okButton.setEnabled(false); + } + } + } + if (type == TYPE_FRAME) { boolean invalid = false; try { @@ -913,7 +997,7 @@ public class AddScriptDialog extends AppDialog { public DefineSpriteTag getSprite() { if (getScriptType() == TYPE_SPRITE_FRAME) { - MyTreeNode tnode = (MyTreeNode) spriteTree.getSelectionPath().getLastPathComponent(); + MyTreeNode tnode = (MyTreeNode) spriteFrameTree.getSelectionPath().getLastPathComponent(); if (tnode.getData() instanceof DefineSpriteTag) { return (DefineSpriteTag) tnode.getData(); } @@ -928,6 +1012,10 @@ public class AddScriptDialog extends AppDialog { return null; } } + + if (getScriptType() == TYPE_SPRITE_INIT) { + return spriteInitList.getSelectedValue(); + } return null; } diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/spriteinvalid16.png b/src/com/jpexs/decompiler/flash/gui/graphics/spriteinvalid16.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8c373482e071726fcf2e8967eb3c762b224cbe GIT binary patch literal 745 zcmVk(*8wLyDN6qc8lhZhzWexdK7n$>DOH&Eb@W1hKn8Q^d@kW41g?RL@Wbg;d>&1>|H z_R!v=L|lNWxBqtA-QC5~(h_2^7>CVfq3AG<**(V(o?;pYD#p|9T1vg`zE3EEYGZ7mG!H z3=*MUPy!O*&Ws$JzJ?#pH|Ql-(faThp{Xl)KQ;bEU}HMXF2|(VY|c=3_xAQstJQcj zNr2+J?w!YXM#j5wVCD=kJBr$?>u}u~${$}zlgTt}G#X#B*&b|eZgLS4qXw?sl%p51 z|1;Ku7bEOAL%kFKf?lt`%;sxhBkIxJ@OV786E00000NkvXXu0mjf_hDCw literal 0 HcmV?d00001 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog.properties index 4d5650261..e78a24af3 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog.properties @@ -5,6 +5,7 @@ button.cancel = Cancel type = Script type: type.frame = Main timeline frame script (DoAction) type.sprite.frame = Sprite frame script (DoAction) +type.sprite.init = Sprite init script (DoInitAction) type.button.event = Button event (BUTTONCONDACTION) type.instance.event = Instance event (CLIPACTIONRECORD) type.class = AS2 Class diff --git a/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog_cs.properties b/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog_cs.properties index 39548538d..3a83240be 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog_cs.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/action/AddScriptDialog_cs.properties @@ -9,3 +9,4 @@ type.button.event = Ud\u00e1lost tla\u010d\u00edtka (BUTTONCONDACTION) type.instance.event = Ud\u00e1lost instance (CLIPACTIONRECORD) type.class=AS2 T\u0159\u00edda classname=Pln\u011b kvalifikovan\u00fd n\u00e1zev t\u0159\u00eddy +type.sprite.init=Inicializa\u010dn\u00ed skript Spritu (DoInitAction) diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java index aa052c06f..093e371c4 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java @@ -1040,12 +1040,62 @@ public class TagTreeContextMenu extends JPopupMenu { } } + } else if (addScriptDialog.getScriptType() == AddScriptDialog.TYPE_SPRITE_INIT) { + DefineSpriteTag sprite = addScriptDialog.getSprite(); + DoInitActionTag doinit = new DoInitActionTag(swf); + doinit.spriteId = sprite.spriteId; + ReadOnlyTagList tags = swf.getTags(); + int addPos = -1; + for (int i = 0; i < tags.size(); i++) { + Tag t = tags.get(i); + if (t instanceof PlaceObjectTypeTag) { + int placeCharacterId = ((PlaceObjectTypeTag) t).getCharacterId(); + if (usesCharacter(swf, placeCharacterId, sprite.spriteId)) { + addPos = i; + break; + } + } + } + if (addPos == -1) { + addPos = tags.size(); + } + swf.addTag(addPos, doinit); + + swf.clearAllCache(); + swf.setModified(true); + mainPanel.refreshTree(swf); + + TreePath selection = mainPanel.tagTree.getSelectionPath(); + TreePath swfPath = selection.getParentPath(); + FolderItem scriptsNode = (FolderItem) mainPanel.tagTree.getModel().getScriptsNode(swf); + TreePath scriptsPath = swfPath.pathByAddingChild(scriptsNode); + TreePath doinitPath = scriptsPath.pathByAddingChild(doinit); + mainPanel.tagTree.setSelectionPath(doinitPath); } } } } } + private boolean usesCharacter(SWF swf, int characterId, int searchedCharacterId) { + if (characterId == searchedCharacterId) { + return true; + } + CharacterTag character = swf.getCharacter(characterId); + if (character instanceof DefineSpriteTag) { + DefineSpriteTag sprite = (DefineSpriteTag) character; + for (Tag t : sprite.getTags()) { + if (t instanceof PlaceObjectTypeTag) { + int placeCharacterId = ((PlaceObjectTypeTag) t).getCharacterId(); + if (usesCharacter(swf, placeCharacterId, searchedCharacterId)) { + return true; + } + } + } + } + return false; + } + private void removeItemActionPerformed(ActionEvent evt, boolean removeDependencies) { List sel = tagTree.getSelected();