&?NH(Nf&r
zMnIX~e7?I1UmvZuTj?=+DC#J-c5O@+#)=!B
z099fwfn7(Y3aC}gK`W?st30WCc{5AggJ>ZN(0tc0taS=OvQsd^EWP1HK%I5$;H2XS
zdp!Zo8P=;DVYb`><|`a&P7~$`iR#}rFX57px7
zfoeQI+JG;{OL2D}7v+&WyuP~;uRm#5s`!&*wYajYgp4g!1sJJ3$zq-ICS8ztO1C9!
z6;R8WQ%Z7QKy_N+?1x;J0AxD)Bi%6oX^ufiatNeI@0f`V+Kp?p}))lh6LD%po*CgXfb)d1wpo2t%2;M=dN6}xN?ch8hfd>xro*}
z1R&py@!dNV)m~&T(;BHdiE9?tZla(PQ6(iwS+pC1-0{V}4R~;<8lO^t+&)P5@@5>|
zl%bfmyCX}Bi?m6FE8q;$cd28bh_Q*jyJ!mz|`*m}IkDr5JFyhjEp!BQ9MQfv{Wv
zRN#`aVv}xIz9&DE*HQ7goq)Gd0n@fN#^6wAJU-o5jAutH@a#Z7o{tyd%bi)cKbFoE
zEdejDHvnJt;`RMbe0{kQSND{t999IAxZ-2XV-NRJ6^ojjG;wF5ctscqs8SsgWhyC%
zq#}}oFm^CS$LpO{w;ND)tsK=au(b#gHKtG-0o}V5O94
zEfi1d0$lOUp;kP*(26fkZlJPct~Wp+>9&MvKL=Fe*LO6ICH%
zS4$kuZBD~i2aE7zUnaiVo`^@=Q}B3q1|IB4!Tr7Iczmvcs<?MtnQed8=x5`c9EnN_4>4q?KDqCY0C5qe)
zoZzTq51Uo?Fkfj8<7IYaq%Cxp*kKi!xni*cmMyfy;(4}My1*XG=G&{sOXl10`|>jf
zKDNQ~1$_QOTLN!KknJV_c7WL`XIL^W+jHSataj6PR^SGkxT*9>@?cqPvhecxK8s!b
zRXJ1AFj2#s=zYXwH>x$vTLJs@T&s#lhX*pSzav$}#=RXBOB0~(WULccx~ZHoyEq74
zWpwFfVQ*L~z>0~>7Pem5y^e~s1IPMvFM
zo;NVI(lw8Fq~qrHTs%HhgvYy*@pyYYo@|ZBqpgYfVk`xp?#aNT(-rvgY#q*1)$eUf
z=4&Q0OvLa#B`YB}DFCO)7M!?aN$#a2Ckj}qNm3dVP$i9tvT#GFnJWTmqIR7bL+!{?
z^HpT2a=DHQ(A5jAv2uYGS!s!-^R2LWt_7AYu*RCjwgim8FSn=J!EmK543}9#cabSp
z&NagFxhCp&mM^s7qTu2ngN42F+A0RGcA%?w;$m`9;06+0#ayOClJ90Qhn50~Ft^rI
z6M(WC)Jc>7uOlJ=cXzDA^|1FB0RrZ%a#vn>nX9xlMsJt=s(I|;A$B;)ICvG{s#8h*T7hi8}SaD8t+
zjt)^DP%Q0kmxYwX|0h+23i;de9+h}fi9H$H92CVk6{&K?A~ynS&z#cQ1EH24>SlTq
zR9CXpcC{VMdBY9YxMR(7H>_Ufij~UMT4TjLGpv|n4E;qG&|6@FWiwV{<;-O;U8)D$
zmHKcuG=b6V*|1%-5RS{1!ePZ~*sL+dngymny%YP
z#~B`U|Dw7@P{m9rW?^o&qnGkBHH^9I{j~gByipImQD=Av#;W;`*T*SVjc!OFh`bqe
zyOO#bAh05G2I~_PV+GvKqEPgd5l|`q(>7Pf@b~G8*V7fZWZ}>zrZ>GMWS$5vDqp&9
z*>W4MiB->$;)AesWJ3yu*V8={TzPG|`J;8Q*u}qpb}$!rb{61M0`>KwQVOP0JRQ%c
z8_rO`e!H8D-5HBVd*blrffPJAkcJ=bG~wpqLY&=|hw;s1IR)UJPKniNIM74S(<$*g
zoxoB>N?~0<-4GZ>l^LN50aB1pv8Q0M@>BvznBqZ}I<2yUHC?5_3Ky(i;f7T!J+O#z
zbJ1KYESqaiK&`N9wm#nbxA!pPzo$ZP=28Nx3x9KSMA%p&!paCP@Q+m9N5V^QXcYgyAdHkIW1xyRz9C6VUuY^1<;|D9RJrj|@R$8h#oE#c
zwWBjw8ADLx6ccw4B&p}_l>$OX0fke6s^@Oq5U;=zP>1<9M(YyaZ1JhBKeBW4x@5Im
zG*lIhF)pk<8{+WIu?9S2>hkPFF1|gIg(u^g3e+ciQx&jJ_a@=#e!Afuk@$RXJbt)Z
zjThJIar=nE`Y8Nh{QVo2&FV-
z$0f{u84qVn6u
zfGCyUN{E>RcDRhd))0X8bX`=u0_voC71oN2l=vy?SA-OY(O)}4e$C#vwR
zfO<3yj}E5bn|GvY(*t(|~=lI~k95C*aZEWIR8X1ANhqmzUS$6DsC=$Ln!}>CoBj
z#i}#p-1agYrz$==zy(Ker?iJi?N=*8H25($^a(|&dmz?Qlt|52N`j(Fou!yS#cRvF
zRC3cbjH?3bvU!Y?bh)eM8sNYG@%IGvKk?50{%@?BHXGK9m&4D*RDl|4V}@X(Rq$Fq
zTY;Kjx)j;AYmjHBiy{YolsFim!o>tFVXi3ic0!Q884PCWV)Z<8tXk}dHH(}XbKO)9
zEcvmUi61z$~3IlD+IOv;acH>SE(gSMNL|3#1(I^S*!Lxg+T(M$}uP6o|vQ_
z5}StW$yy2}F#&jT4|Ze%EP0MRSJdqOF3D%f$PJ9YjIo22QDm*Km+U69r5?PQzc*Nu
zq&CjCZD498yGhN_xWkXU*)Jmady)NKunuk|U~mY=Xz76U;ZZQ$P%wl~M($^O(QNUTV0x6bPK*#8ks(wG%9)&_IQ&OHf7a
z3R{hqn&NkV`|tS8U;h*S`xpO!kN@>Qq5Hu!SkIdSk5xmak_abhl#}0|
ztVD_0mPNC(IRTfp<>0fU`S|8+CcZowhp&!AU;QKA
z`rCiN++Y71`X9Utn>ioBZvKaGm_H4!i>AVF#dL(Oo`E>M*~l_qgi^Z|*yv-x8?Qr_
z8emVDF^)u=<7A>KPNrF4JlPsMQoT_b=nb>ED=4Ta%vO3rZ?OeTms_gZv-28P_~^SL
z+LEf+$q%Jmlr`RA3Rr0b*ccRq4qn^Ce*$)hZgHeuIux{x?mcZ38_XxAL@0G&*^U#}
ztWp&MI_bIv7%66qcV*ykcRJ2($-#qTb@=AOM%*}9sdD4p?M!0`u-J}`35?%K%Ca%TtW2mn!h++**8dnru9kh9@U8@$@9!@`*e=K2}Je3-S1fW>5L}DHp=$
zd-%I_(a%qp&>c4s-1T^Ut%1y~!6%2RREbpfnvV}=;$Sz^9qB5R9wX^AkegEK5sCtj
zFr+#MBG}vwF8WRc)&-_39HF(`@jBM{PwT@8t?u6
z-(k+b{|lD>_SevP>o>5P`3^z-5bldVpbGw&Y@LZ@!`UdbS&9mWWoYv=#0bIM9&Lhy
zG3Gd(XobVk`Z%3pf^!*`IFM?G;UsS)T3bMOwjP$uHfO$U4U^@zsxab6A?IsAWlUhR
zoB~kn8H_4#iL(@fWNK4D0NMixZbS%n)@Lg>JX|NuW5Pfw#IIGripj>gws|i7N}8Aw
zaK#Oa`;~&kaSD?&!}&Npn4t>t-<+++51(}4$&C%Td%Oa-k5u9Mfl8d)QH1^7$=KZy
zkDYDN*wYn@BmGHS1ncnlLbV3$**rWsUw~)lD)9JJIX*vFhJ-adniQU?2&ny5n)8
zGYS_567ldr5uWn(zu2FP&kkhci^IA2`gkG1ZNZl(s&W571uhd**>65Mn5C*wQ#SA)
zm*%fZ_W+cUsZ!w2p~c(#!QaFcPPz`TX8vfl%JofYaM@f-=q3Ce;k*XlK$aF`j0Rz65WW&mn7Pn_$gid+0D6m@l)2
z{Yo2^f<;;Ts`o5$w%jWe)f9s3q!m^`4I+Dk{IIvVkPMW#$2dzjETHag)f(4C6$?{$
zwn&Xw>kpPv;N(t?xZpkf`ueU~GOQKPFSg+O>y3DIy&BJMmgD8!YP`Bvix>Ac;QI&d
z`0hauK0m)6XU4K{Zf7RW@5;m{Cra@A23dBq5#QZv!mDeIcyy*7*LLLN41qY*nS}AS
zBphf>=6g-RE~Z1067Ag(g>z)#-JPX)u)hqqcjx2&crm^>R*om<*5T
zz&+NN!Tg%8SpIqG#g$#00!Lq}VP7QK`l&R+!+;`1$3dkS2FskWf;r{#1sbr+X6fTM
zfA?zw`}g?6U;h$+{^eiegMauN%=`7fVC5fwt$?+j{We?{egMy(As%+ynbkX6iY
zO_obJ(-ux^>=A6{g)}lYPj;U?!%$5TwT_Bdxnly{6zq@vEyWn6YnAfdSaT+JwPdTf
zDZ4D70>Q)5!~5`$Jgud`rdlHyj`yf44)kfM@>}QH}gbMsQl&erc7%_ii`tY=bMSq$>r>+=Ic*UCRuI;cvEyx}TF1TsDC(A?N!m};4V8j?
zi*!b4EuSK;h8ifen41pOMq{io8N0~bW8GP}yQdt_&er1TnS4CIl!d2PGVtxKOahsY
z7oQO9`{nqS41RWZJppdy_vwCbRO0z=a7h_Zyu(CHm-iv6
zUA)UsWgPm;qcBt<4dti7hI2>q;$KkGIT-;Xl6R^^1B56XgTQE}S
z)}+WT#eOOD3$U_lBfBsw7dfed{^~_Gc<(>nr4s%J0{b`k{V#u^82kP|{4M7E`d_i^
z55Ixo2W0G=58$%oBlzpgLbTCbq*=^IvEyPidaXoHkRCQi7-4&?G4{t>;8-l#nn+;N
z9dPOAz^0ktXp$XMmSC8Cv;@l-+m|eMB5Nt;R=KG7@21PV*U$;EmhP$xGKa!XdYYwa
zUA7>rz1@{79;4e86)dTY+|WHO(pQv>1MN~x%2Z-Xs#Cp{G1}3J+9)zMhAKBf^&cH*
zO~DDq&TmeX;`#Y}e0x3}FRqiZH`e0W?Hqzwh?k$14?-IKBZ^mx_4h5@#%(XTun0
z&AjzDRKx#3P=Bd_{nKCnLIFGL-~Snle)nsvdH46QnDHK57EgyS)o_IVEF_uCMv>io
zZ17r!-e6s9jW)zsoFVoR+ymj}I2vh-4s&NjeoS0dFIJ7JUgGGfc^F|
z*?J=nFYXi)xDqmzu9(2Sc(4wyKHs3&`}*?+UQ6kw%kk=dGwv`x9_Xfurpi`qZA?3n;u6Nfoh56f*Yug#Bi-xxavPXHI$26yQ>*v
z$<}p&;VOqMa1Ky6M)p0WdqIG;TVtnG=p?X<=U6f2up(3c1%IR)o&;9K*nj*7%>37X
z#{A#>2Uh&)w=nwXEjTaw7+%Y#BY5>kNHCg-QpZJ1b5>v=R2SQ#^{_K~4R%K8VY|N(
z_5@krM7%XwYlo}Zb_Cc8mnfi4rn+G`Is{$|S3`G>A(k@T5?5@n+!2;*oK)9_FTG2s
zsf+5gkZ_V==Yf1j0_*NirA%NO^R@mWx-!}O+~1K#k+Bx%hq7>_BLO?==hayD9k_C!1iL%QxTYkv&?a+c^)=t$C`Hrox)}BM#bc=5B{Eht
zfrJcE>%wZ;v=H#sAu}$Bk-7-Q-s3$~#f>2mXb7O-kovHbzuLr>_E4!0yXb2%)^xeG
z0(J#m;G)@7#LOjs``7;)fBx%VF~0ud{|DH2;Iwc$+?RYv@$?~5OlP6eWii?UR#FYG
z!C15|_QdF7H-R1YHN=(xGaQPt!RaIls1$2n&2Tco1c#HHFcK3CpG9k+L(#U1z^d)P
zWtK{@O94eHWFcg16oHinIO$E6?hgT0;`8n%y1x!-G?Ts3MAb2Wf4q+ALnW?_WaD^y
zD)z3A$2RGfsFH2EaI%#*wt+X4z)I0!yhFrFHdB>qe0^puo?Ohpvn$znb~O*ruIJtg0A@SttyJE2E4qt5nnLnIkAQAmw!)soVGVgRf@5+h9F5favk3T
z8N7u+$zd$n3Y3il*@zHrAi{4u1)ppx$Z5R3suDni$Mj5PB(1a=`d`YuC%=qd&5!32Hmqe~w4H^8u;3HF3r;z*1Yj>lTyV7LME
zT0o;*;AH^TAjZy
z#YL$)ICZEuALq7|;^E0w{BUysPfxAK=ljcXeG7BczHF*b#9+dGx`_8!5!PuAY8WsGg2z-q$h
z=jyS)HwioG{I=_Hg63E50vGhepk
z%wf3L62JTV|57>ZACxKb0WsBeCxkpHvMflEck%Het>Y@kC9@dP){09!*eaCb1b-4kYtLy_hf4>!i4I8z)*al&v?FgzA6g4GgJ
zI2-%H+av%UdhQ6b^i>`vT(tba~>2wSv9?yN}}O+-9=$BID+jd^|cG
zPq&jiklI4UAZm@D8uy;FxrHyUtwGX+?;^h43@uGi|-0*b^_<#y?E
zg_$GO@z_#DtDwNEW$dMRlKo$)j!BEnHs;vUsyfW~Gs0Y4HYkS4+7Y_zQ~h~-|JArL
zR)#5U{*h>=aFU}C6$CfeO`6nv2&^ZW;HkO|rHjF6DV6a&D`l%^o8ayLcn|;mcmIOl
z|MlMx+`nSF^9#KDcfZ7pfBz>e`0szk@<06t%xAm>`}yy}eewHb?1xA;nTZmIg-SfN
z`>nuG=xXeZ)x+*+9gGC&V>Fm5Im{S4L&?$zGgV?dl3X~AJx)R=INu3bV{Dy6dp)LTZHjVg*dW_;BLyr3C7kd
zI}31idmhC`F>a0(t0wZ#jx^xb{z^VKRh0!r+z6ZYwdL^lGV%4v_4xKeC7ztg!1If#
zcy=KLFD|92csmL1i<`w{XfdANuE48LHsI>P9BglmpzDoSB1s*gl(HrPmN+`RK8i6t
zO2zhpGAi*h0#(7-*+6$qH!X2kwiBzwO&0MrQ
zN-?FyKN`*cOz8bXP(_z4Nq(%2uiEQ$*LPP9Wdf}6GJEJPvW3n9Yqd{0?}NqoHS<^j
z_RqikUwDh)zVkPKg&F_)_gL`Te`YTGYgo;G7fy>lfZLMy;k)7kgy~L2hUFa8c&y~#
z)ImR8?P$0zc0?Ltge(=?8fk>FaD5z&Hd7_W<0-b-ljem|DqGiOMyfq0j0-QuCJ@OE
zA;@s1xdb80H3Ye?6oBr*s%BhErb_im(z&LvAnb3`jyN9KR7{tet%~@kMlw~k=IV|@
zT;7t8^CLO9NhaUeQ;mI$fzov-1&o~=c|)0&9PY_db=lX~nVX)^#^ZCz1U8KTGwr#Q
z@dn)I*K<|O{q{x~-E#v@ZcV|?wphARZO2GhCMs8UktCK&ER}p&_J2hrNljZ)9aYlY
zAf1oW(n=-Yu61ij?k#z^q->I7%l__x_B34HT80}tD{*5NU9kpil!~(zKEcRw4N$u!
z0TaMF8)$o=QY#jByh=JHm`ko&Xo`RT)xY6)zxq2Roc{cazoMA>fAH}?|2-D|?q9I#
z?ccy`=DP}9hXwDcvZCM0sfaV0gIRF%YRZN%)YGVxecaDo#}TFfaEH*6PJv
zu+8DY3RvmlKh#->gB?=$%~d-ymv@w?`s&HPETxi94(8zme16SrW#nq{j)c=zv3H@FAv4hp6uN
zwI!-5)|Ku2f3_6j(rBKXw$qMmRCxucJ|{WSC}(E^O*~Z7wv)cA>J`@dgsF@Ptn@am
zT4afL{&T8Q$A9_-S^JA$;!pqUe_`t1|E*SiqAE80@NJk(e+M>mr;@qT;5`2wcrxBb
z=*>j3*#Z>UFULAh9kesHN+qf%NC(@gk`E;t;e3WA&ZIk$t-h%7^MJ!5LpZH=Qu%cp
zK}~Y-Qz!JK+LY|jcyn%Bq-DK(BU&Iwx%^d#Z>fn0oduMQ6hr~v!)
zR6L%YNyH1f<>!pK-=3$7zL<$87xM7xY7H)JO~uX)VQP+q2qKB4l1_<=9U-VA)mq=O
zwCzZNqF-|Ab+O7tZ`%+_MIV7P{pqS+d}m7$F85{PQZGZvP#$h_7D~D@sR?Y-crJxHbWIG
zv@=T*=&(LWwN>_H^7EaKAmBpcwr8Tsoef
zWlD6WkTIOE-xP`+4N=%yFCr;Y0V`J#K1%%1^=dIUUMo)2g=4fX6x(Y2ajGj0pYJZh
zi{o{8eY^oLj;+J9BMb)z>+r>a3f$jAP8dsZ7R)lm>V+1V`MVGBr@#3J{NWdW%Q*WtWbOZh
z_y7J^nEUJhjirD1ce>>Ng8sDM!D8m0VLkhga9Q*&{8oR2P{UbBvRH@$+hr(oSd1Fy
z`4m*kur+E8cF+~~N1CEB$e!=T9wxJNU@*%VMpWg}t>~iTLYK^ZRZb@;wg#ZYCj{lb
znog+o*XrNve64V*GX>jN9-i#Z$HT4ZcrcQN
zPq$^@-u6t~;@9_g=i<&-7MYulYon>SGMq}rW?)JUQydvFP~xnqN$GWx^Qm&2Li(NL
z1f1%i(4~M{?f|0|uBz&za@tu&Fqp4{_y6^``28>b5r2}Mp1=A9S^Eoo^nd;iv;X}c
zRob)W-T#KswBN#P#_!=c|800Kp9bGmA0kv|IueZLpwNCPnY$E?-pdqg+XD2+JTs&@
z+roT-F4oL4#G08VFrj!eUMO9XP6)E}LxN);Wxi~dYgSFy+0Kt?aA2b<0vLVzT
zyBo79V6^>L5kh;IlkV@9jy~&3IPvIUrdE2C+6aFD9_%|H+rUo|2?ny*uA+!3Ri#NE`+i8N}-EPi_q{`_~pX6o|~_}%~drP_3#_K$y$dH?nAYE!`A{XeL@)^^t0
zaGEb->O%yqo`EQR*&JAeJlmxNcri+ymm}XwTFO8
z>?GLoec22+(VMAKo(G5PD6rCTmhM^#_EI>Id{$Vsk8WDx^Y?eV@aj^L0`c*&1O=>^
zYIQjtMPOsd)hhg-6@c6{w$N*3dY5ZGc@9_fF|Afza_&z%D@>&aHek~pxsla!)yD&v=f{X;3
z91J2eAhcs0Ze*<-sc=!?O85U{u|iTGX^{~VCflsBgR2o;^t45)neFYr|7TT|`qQue
z1|R>+KV!~+{F{ootKR-Cj6V3oo6ZXF6*K6TXTyK>OoZ#rMU2s6M4PUJpS}((ml<%;
z7{Hu=Q?}=fm)OBn{@zMwiaJk35m-re@?B+0jXx?V{%U*zR6Z_j6;R~_o*aa3i3n6h
zd~u_~mc5LXG7?BwD^(={Y%krk9ACUjmHhO48$OqFF}+lqeW^Iccr2nv&4?fn!g4tu
zBj;6duMy8qXW;8Y394`Dt3xr0!B0=d;OnDN${jyFlZVfb6yx6ha@^cigX8^0YC#FG
zZw_y%?ZXV!J9V@(0}u98sZ(}e?aIg3JG1cFXd)hLO9XDN2fpkA?o*k6u?a74b>Op8
zb-1>-7?*bD4h$s9N?oeTF>i{QCt6>L`M!C-+t3>KNdY?UqCOuXR0I4_63q)XCG
zkDkQB52+4;$YuU2b1LM0%ODcTT@|oY#4;X8&LYWSvyBmcYTIqBMJv0BdzI8h3hrtz
zR!-2-O`jbuRzp1S$tYf4ZO7&9RMG7*>HybHGD?8m-JGS06>>a7HoU(+S_oXLB$x#E
zNFptc-_t<-hOYRV6KnCsk!+kDOv2%=L>%74*Q9rl#i4qwx^l3SuO%jj!=wXJJcNu<
zxVNhej}BL#TEOLv@Z=SFbdG?#4R3V#CUrEf>JIKs==UG?<37!>r%@28;jnN34ARZRkyV5Bk%m!Eo*z
zs@)~9TDlx23s+&)93!lv+qGQd1P?PG_%oJzGpBYna8~`z(rzk8IP+ZPye{>DJ6$l@
zIti-Gc~Y&Xfn+Pe6=2&U{cy5ZJMVIObAbZz2y<0Ax+s+;xydI6igA9lR3-RdoovEa
zr`D^19eY|C^V(BX3>HvjT#uXtkRpe)vs@WX!s`oV_+p%~^mqooBDkL)jK<@WjE6^(
z@bG9Bu5M4o;m&xBx252K9NAPo$v+(g+d&T^ho86dZ)|Cl-KQkAiGG4WogPTV?Y#wf
zak-J+p+lXtyMMeG7x!i1+^!r2=;1z^I?AaX!ag-3m8ZZU)iB;bRViH*aMuw7{lqlE^T
z`_^oH{M!%l&cFT%fBrwe$NT^GM=I&}vE;oOSoQHjte(9LtLGBXxy!L^=4vdTV-4e#
z9&o4X4Yu)9E;q_55TQ(O!e#J?tv|AzwL{o)bW(PuQIv$hmel`qrC+x%{ez(jBC3p)$xDnAKKrZ#GE#cY?VG_
zs^oRz$~94Sh70A^SO!y@GK!-t;C3DGRXeXW_~sM^&&dLOcC?tUo2WpQ-65&_iprJ-
zIknS7P^DZbihXh_jl^5od=L*K9f#sxzq`wL`uQMU+-%3qLuI(SzX+$d=Hm2l2}Pb(
zbdlB?X-GfP!#uXx-w)0H0oWi1o+olzacy#TM~->O333_o5o_s6b4HRQ*-W-1IffwI
zDgeI5KJYXqYYjc%YwklPGewdU=>*$+nJwd_30BTF#`4)lSUJ~3ZIsKYft9oLuzZ#-
zzh{8ujHSycl2*(!g~4KH*y{Koz|tGBjsZxp4?&_`2ofB8k?7!!410PMC+6KUkAhxC
zW=zTHK$$Ez395_&>IjTPyMGv3y#4rnXI$M{j;ni$aPNR7U}TcnzAmjqC+s=aSE%gt
zkjC7L1YQmj%f7AZR9K&?x*0_D2zz%n#o;=^mkz@(kK_>C3f1q68ykQJWY#?bd`Dt+
z4ZT4oj!=QiSs&SUlbEiW$$)>$@
zOvqKh9juGhPWjc4owanuwJ8eJ(Hcpy`1jVyfH65JEoX#c)KnNbxh`9evRD+TjQ4wa
zmE9kS*W3BrDUH5<1k_(8@^YqBn_H+2zmk%iYz{~qlOu|fFP75vN%>AT3uGomyrqXa
zrz)L|GLs_4J{aM4!SFHjg$xQYUSg}Z{0x@ZtHaTfBFSSh0bNED$N^^=JYus_V{0gd
zSTa3ArdtT|+`^Pl5+chuwJ
zu5!BA62{w79O~jt*g)4RyEhXj?shW26_XYk^_YN5&MO^?yXY48HOJvVV+1Y^QW!~Z
z@4-S<3=rnt*j1v~d1b6z#b{xbxZo3m>3DR$6%S7};&3k+MR4R~o*cQ9g2Wqe|1Ty#
zlRhY!Qz0fhJbODb)M+{~X&R8BVLu-jCPfr+^J?VY`;xD6hB=?i6>d9rEE2X(w
zn#?tp&G-Vw;9RB|(hVrXE+>bMq&Nj3-XREK1lWg4R!00tief3lLncn?nbFm1lVr4G
zBeEqZ-4HS=NL;z(%*qWr1|o}LK+fb8xCN*oUNS69OoUSre^%(kRL6yi*fWreFc6JF
zfoKY*Dh}301BxhY^z}hQpes%d(ESbQPS9NiUP?<872PtVyb?LHdaVToE=B
zvkp^WNp5*zb2jepD#ESpS@?3CY0mXFJUQK@a^J(*7-Z*SP#|XP@WoVE1i6D#9!Q-oRX76&C=E>?on2|ssb_XkR~yinRL7-n~X2V
zo!#ZQx3>)Ub{8>Ut)wfi=7PyoBX}f@k&XOAeWf_qTf!S&L=f^-3_rc47@r(z#-&|V
zWNf?wvA10IUK7w)s&z*8l|?F`#d^!5lTcjQfsJpuI
zRnN3cc$1kITljlZ){AQ74G?fAZ;l48Hoi_=v5AZ<3n;K@NkDji75}+wYdmKyRubR#TZ?)>NS#f&~>r=ny$Aa6{q^M@#%OyL9N8Coh5j9qz=!{
zwJ^t&66M4OI029|KReqB$SfJXN0Z^y1VgG^G64Jf{s#3}TyQ7B+*A^Q-jYak7lmt9
z8aV;Dw3^DnE}1c*O@R}W#}e}eP%!~qhG0vR-sG_qxysmuDUD3-WqzU>wdbQ*8*f@y
zkapBx)MXnVw**9DJ!4s=l>Rr7$4EO45#E=97iIN?VPb(vz`4(hBNp=%5%V&F9kf
zDB#IeY;uO8TxE`8C>Mh4C`m`Z%#{%LUO@L-#&}*q!6x29z!dc>Loy|P$~e8YU>Ua;
zjE=Biw1sNJvz3=&c#%ov>)gFj1E-Q{ZV^hvJpqwQ3`6dbpA)#20q>zRvI60`;-
zux{?E#f_acxHw#l3vyC?C<~WHa>&*a+#D;!eTuL9`>S!6Adj~vV4Nw_E`qC$N%E%d
zY9~wEYCx>!MwMr($3A;rRtHa!M-&5qDml!Lv6lK_ztaurkDU6k>O?OxfItj3VD=Cr0
zGdbrYhq$CbAOk&0=n92d+0Ncn%5Ey(jk0u6(`KY38D=iPxvA58V)C_|4HA>-FOe3W
zWU04meNB*kRvRB=J29nk41nAKF$r~;wt0s%^ekLcHteW+fVnE
ztNl*3=ed_ImFdzY=D^Z%A#B~Yo^hJ#j|eR(=I>M@OaPFWn5A6t{!LV}{h7GDvs8gA
zsf$c{k$qQbkx@rZ$WDp#(y<|+3j6m`6sgY{P^O7HsZi}Ijq?vrKN0YL(=?GRZ}TY{}m4oB6~OrU10|QICkR^UP~y7?v~e<0
z(yPhcrUP9}zj}%^wJx4O77efRx^j+JiKY&1V74rZNniz30ei~&0LCH$D{Ar$r~)X{
z1~pM;a&$bwZ4G10CBW+ggHXqqTOLr`jS6c#vr5dO*G(@bMp+ZLf
zY@$2v43T4#RP^*NDvzZuXb*^DT=u4-tyLpmZ&APqE6)t%;QZ!XbrL`sK|b5h?=cph
z@6RH*1bHMAH@4EYXX5rwy5l`Xbk7tp?b_)$5nQ6GrD7!RQ>sUk)5xXhA)EP^$o?aJ
zYw_Ud27Gx+<_WLI$swv(rY$m?NeU2hhDg#XiJtPKIf!4h#=JRb!TIKLJ_T
zD<%a6nH2tWoBV75c`Qxc>Urw9eyZn6UPIiwWuRpRP7g~FBzpn~8K=vXh9XOf4I+pneojs)pFEH~X)@1Pn`tZu
zw&nD_CYB_&{@j@EXcZ^vHV{UrT@kK!u}(e~d*k-V4Eda$-Z1TE$^`tyzE;fCQ*X(>~2Zv&ruXYZsG`b&-#3k#oD!@ZCVQE@Eh7K%i3W
zGIXqq-bLP1XHbmhdKo5Kna7IPkvJ?ZwW^XP@6Fd8H+OHuF~(7u8*!R$SB`j`-&&?R
z8Z;|Zc5YDYCvYzgWoQ6z$x+SZH+EK2S?57^c_dwt+OC|E7x5!qhT6fZ80M1EOm|Xn
z_fReFAFWg1%2@Z)Bie^C2(Ti2MCeE?7EnbLy_r_d_&Pa4S2F=tbH`$n4AxYzrihg_
zXDFMZisvFS$X2z|DLSMAB`!@3sb*@SCU~oxsf}vyp-Yw<+ZGU{J~2amm=R67G2VbY
z@tHbe>O-6UhiO0a<#YWgj$~AV4BzrsP2TkcQFdz7r;G4COpc156i%vSsIGLkfw2TM
zTB%{t2+d@(ECTry5BY?WdJlKh_&edkD3$K+DvFnU^*J@Cx0R|%p+A8sRy<*a1Xct0
z`j#Rs?(%wzYFSbvwQ0X0lfo$rBQ$YH;^p
z4X%upss$x2I8r7QP}M#xQx;WZ=q;ou(o9k%O$Cc-F;>*C#85HWVUpUmuyt~XwKR~w
z0k+ED2Q`6A^n?6S9~^-7!Hl^yIo>ZP!COQ9(H7>XtUb(!@zV*86#=YrUU4!E$?J^7W+s{ObmP4`u3i1HF`O2=rC2Cnk>@`5v3;Zd<5=
zRqPL^*I=&Q6cVn4-TGiI2)>8<0LFiUTgin|>gk3;Ul$zP)`kOHH{jsb_1HIDhy7bO
zV&9e)92nWC*>LL{8y{)IL1it7>MPK;
zt^ys+RcLQ2M_W@7Huu%z=z%_5Jh=sDk8Z}%ecjl*trgpbnlRG00sUR;(bHa!{_aK$
z_BLavZ{tta--Mx_4H($8j?b&ZfU+74bW~%YvkHUll^AL($52NF`r6Bs^|zMNiqYRv
zq-@Gz{=$(>wK%q^2FJT=ak{ro*_qxNoawH{Ii?Bcm;;{gDaVDLQe5mUqm|%%H-$u3
zAue?m;z|eAVtawIOKthMNVjpB{{IREz>S__T<3GIb47~D*OTA7MgefOv*e9k>nc@t
zeN)+lRp458C9d*4Tp~zO2Nm@ofIkZ?;?K)AA*{4ZJwGVF
z6#;o|>Sw{ly$CGsQO^%9l%M}(;e{RQZ-f_YL>T{ONZtm7zt)TzD_
z0$qf&eRNg*1-LjcX?eKV&%BTE;#&7w-h2v-O&J7BES=!3#ck$pZ)_j~xB4k2s1R?`
zP2K3r!1dm>{M{^C&crnf*QI<%)4rF3D~vmrySZ2>B+hl@<5WvNjy5snXw1XGCc3aD
z=8KK_*x68m?RBNtQdfe_1bKj9c30J6Q*AAp8XA$D#~ZV@0g<^a2+fn5+=-x)e)t#l
z!?&1LGzj04A!XjBo8etD0-w_D@GTvKSIHPWi*~}bU^_g^_QAPyH|+VfQ|TT!7Vn2c
z$+%`^hu~6i1WsanEZ=i19_RD<{j$SwEkB}uF3+h&5HNXcEht|
z7d-j5y-K#ht#C8k3;W@b-wXHrPI%_F(OTe@yAfUl+?NZ~Kf747%mQVBnR%FUa8nfy
zk`afxt0)R8aFjqFC(y??mEa_SJxNxcVIV(Gwq5KaD|_>Ch1VQ
zSG%U+MsF(a^rhqeU?x5pTKmTCQi$9cOee@`KLI_EO`x-WW|P2Ys@J~8zj3vXIVMHL
zImVq+odq~buW-19z;0w((9FD#;O<&iiXC)`Tgl#$x?*gusYG90HF_E<(B8ZOu^E*}
zDA~kSPsZ^E3A23iy2zk@+8_ZYur#0IA@~#x6WDF=E+(kF*QP`IpgG2c#I9Hs3Q~6nCE@h_)?kPBwo`h}5QP`9ngI&cj
zI8~nDYaNA42?3|M5o`h2y<{){js~tr(H3|V4#Bga4;}?w@Xl|8SDpad1n=B+8n8Jf
z@KfLxz5#d2cvl4ucU96I6WFeD9HmP<+Fpob9Yr|7n|PW`Im_UFk<7V5P_Omoshcf!
zvoD(r%p!*z*l=Sak(c47pNTNy$HA`+6r)_m8k*Kjss2E*t@=ntS!U#`XUAHXk7(W
zYB~DX6{DkZ9g_0u6;nfV+Yyx40pI*h2q+$ae}QIx1q77<3#eYjTj5!}10KaY$=>~N
zE!@wW%o|^<0pMDG42~s-VPATfARbddX<(g#WBEBaS6(8pR|w=qIF?;fSM|930_-c!
z(ayq_z}uFeRA4)moFu@<$=+jdEj>zb$>LHCTn{d={|T;Veh0yACAb@C)daU3J~^cX
zmzGteY|6pTQXK3o#$f__tg9Hu7&DKx=ivnH6qDvNRAT2lvv8>^3s-u?U21F+K<^D?
z;gf+(g2e=!pnN)z&aYEwNq8`ng3mUm;){`VJY){|<(4dbJ-QZOjbz}f;Z%IhpFbqP
zpKli6v$zQ4butv#cL#*=nkj(k3FPly-o)IpivV{r@8tVCO<<32%)^mp=6@ULme&_x
z*ZM+?tt%n8np+;JqnIFLqq3?HRM>{Vf>r`aVDoz5S2&=+^d_)g1w*`f!|Eow7j5Uw
zrRy!(%^SXlY#Udu)R~NQsyI#-o`hq?Y1mhuhBdEZHU!JA;sP8hF2k|%8h?I+c9X#0
zpj{`Jw92c>>?$t7zFdsYFFOmz(zE;n-OJ(7m6x1?*v$B%}^Qt*gB
zd$c(jUu{mum&0rEaC3$-SrDHNCaVQ`Sa~rILj13
zV(u{ldw4?@_OE9eu|A)`7GXz2DcMUgMS(TYybh7sRRmH%Z6#aV32Yy)1MsH%6*dT{
za^ogJl{l(mXer$;-K}H!QN>OLsIZQp*pivnG^?sByk3D_<#jkz-h^Y-ErNT8c8@^b
zRc2dtTbW(u4fVW9pdBj2xET0)j&$3OWn?`8b|P~nHjCSL<>C^6T^SnOxbR#RxB~=t
z6Jsyka^5<+y?PSrb6ZsypgxTO|PAg+tXn*j3Z2K7nnuX4W;Iz^eK_Z1{7VY61D?PgX5p
zlgU+=73=NF&oExoO^b)%-xrS|p2MYh7hH*JAlJlmFxXWLWod`CLI9ZToqG<>@)70OMjJoc55c{haoI-~SADH4k7jVb-;uE3=|m)_ex5nons0^gU%()pwOyljYV`
zvQVzTs^TJD`*{_I?aPiUVJ4nK19yzzZXvh?mWtk$|BHa@DJq%Zil7pJr$|ga-bFFO
zobn9Qn)3t2xU!i!u
zcs3G;=fkmhJ`#=RqcM1~g^#x-;Khz4yx5td?D-CYs(?<#i?K8X{I^?^ls(;&h$qAG
zTqv>lY9JP0_Q&C2e>^_p-;%$3wpIOW>%RF5v#$My
zAj|U}D!>J7i|PlkAlT+)xkdFIzSebE(nTwP$zBmzqPPWICwdg;;%x+Yl)w%u*1GY3
z^5CNNV6H5R**mWpQzWLIVk#q`Ug#^r<)LB?)Zs$h8qUMLp&XT}d`1)Z_^>}24|@~v
zRbM}!eD0|{@yy(g(u4^{JoYrfn~4M6vNzH=>36XfH}
zbw$x1>!7;tU|!x?f$iO`h|O=HEAF8y78l%4Q0aapPb8==WfPz>&lJV$!W$`Rio{X7
z2|%qFJH_Q%3JBE#$d|CFeFXEG=P;>x2D9pC1m-CLdO`pn!>aCEWtR1tS=2p+Wvyn`
zwT~xE1KEORUi$^i$Z&JIYcslQGrDgGZP>g|yN+!@Kmr&OyCC~&?Q61SU(ulo}epijuA
zr-RXWu{j1WhY8@QSR^eR-){}a58EQ}t54HMj_JIU5D
z#@Zd?ij(kolwi_*KN_YxC#Yfq?4(5CC2*N5SPD!!1gIny?HZKOl3OZUbatx>PC0xM#bw&hB%XZp
zi9O-hU#Uf6S@VU)T$+F@>@}ym7xs#K7Ox@cl*C;HZmDPham!qsMI!nbRwx3s|F0KQ
z&U7<<=r15si+%=bKJJd@;ggBn^9xb00xECv;{grO=Yw>$gOPYOtbzH%mI#_$LkVga
ze%#K-J0tP^9x{1PyawvNG(6u=0Yz}X+@6TfMq`=UMB;W|IBs=^;#OBMZgm7HyW0_}
zObIdm?JqaeTQH7)PF4LG7n^T0<8sOr3PUZsmtGP1Y4v9?s(wfiAHlemAlAKrVf_mj
z)jo$|4Ifv%gi+;7m{z_b+g`!4@-^)xnf{z^m4H?d#EM5`-y?$bi0l)iyDnoKuK1MC
z6}!(k{RzE-7~^-%UA3sJB&O4I2)I)GP@;-TUBH!;O#T9h^L1mGlLq2!s}D{!d*fuYpRyAhd~meE6Gv*@aIDrHC+j?M
zw!s@$HU{BlTNv*3#Naam{23RS25zbb?rqGgtxj9dBzgzO~`Ic-2>Q}?b$|VY@&&2I2P#Hr9
z!|-}IL^1Q_us_{yFn-t`gdgO(D-_@D48!;P;_%%#mF}KI0vd&@Jt0g_{BWen1LF;@
z*x%rW@eRJ%)8K<$)gIVU?u2c{_SjKmk6k5>*k9&CkUep_!55b{hTukL1Ql`|bKNAq
zw^V$wC4;YZfHTyNVDonYz5{lst!S@kFM;ZXb(R@tAxDCH8?L?6NO(A`)Xv>hvgc3@S|7*+&q!{UGuED9XKlHe^^7S5kV
z@4=eHaTsKtfLZ=|Se0BOQ*WyL*nx3Z6+fi1Re3?ZXScFr@F06V=$;k0MY{;@7^YnA
zW5VB`gX?r>w}x`bfNXq520R?i#FxBzl8;L2qClnFeKj0Tc81`4vC$C4(wC!tz@9J)
zr67E_D+J%|A@KVtq{bO1cPHQuf9G_EKMrhg!|qyV?5uOePO@@my%%<_^T(DN9}Jg!
zV6fB~gGG)QDs;q_5-02^CPzN9n)subh}RQE|x8O!YH`b70=pnj=hsjyUB
zu0ic<=+}G)or>?Uy6iiwA~RPP65xW@(9L@V!#uJz?VU~0ax?zX0%x^0e
zdGunTdpnkRv}1)=JC=L4VXZ*FrZgkC_^f;bO&%Bs>dl&6d;7++Vn1>rO3YB(mIG3R2;)~I2
zd^w!13J%{4#^DKB`eHMgDxeONjU%B7)E~DI#O(oOC?D@;Y~2%z*L%t2ebIP*gz9-L
z1{b@1aioO+Hn?E4+8Lu&uGmuTj;%Ew1k?+IRo>_=^T4KJS9BM;U{iq;x@rAI&KN0k
zC%`V)Uh0C~mF_rH=Zlk#fw<5fftx+?jIqq86|l4kU?r5?pyv@UbiOZ76eqBn%y+24LYH+|N)DZkHD(~QFwWXDt1>iPIl0}*4kmD$^iovj_9j!L0`EWfpkZA
z34x?_6}zLozy&S2j%d!dM^ly^nltUtk?VloLRSnFyJ0h*x1Frr%|$R?$9UWrjEn8j
zxZaaUH=L<}eL!G886{&GXEk86nZD(yovEGO%>=d$e#JW}Fl3ADkgEGiHOaX`E82^j
zQ(}prnoWqLpFsUixm?|{@1aX~t5f(rbn<99KR`DNSd;!8^wYkD+1jsRns^b*LDo*W
zHjstuOc!nqWa2IrrWEua4yKc-OhM>|pAAS#L$EeeAdQ6J^(X<{7O2Hky51l51`^O9
ze1Cv!Js64S<1u)2ARZ^$TrpB^hQ3k@Y$~-yXR#yN=~i2cT+o#7h$aH3nG+gw9I=jI
z)}~pZCe;%488!;&u0l65*cm;AbkQa5*k0+4eYJi#ye<%@S|V_%D-O3sKoQ)Z11nl#
z64;X+x!BRwh}hg#0=t|4__*3ZQN{eqGX(U!5+zdFlaimfVB?yvVOaYu^qH>c)oP#$
zOV3b`=KvDm#9%Y9lIk9(jO
zy%okOdtse(oaxR*xbi)_Rb7E=72R>=X%$jj39S3XzAhQ7#a3~{4~CiE5ZEsVQYH!z
zv3S}?who0;D2WRW*4Rps^y5wfyPMZ>x?=+S<6*|t!_j!OFN%4wJBEsM$vQo>6_}x^
zzzQ4k?NFaf%W^>NT07LF*(j?{u~1f#WQNjsW0WPB@cVo|!EPa_t$9x95Z6p*Z>jRd
zuG&ECuMfh}#t58ljmEX!B-~;8Bfx&Tr2u!Ce=A`7GjXANEl#v&O#s^tKXFrZSChax
zRGm?EUmM94t8OvZ{6x86quNIV^_fz=N+gxj2&xWas9p};@!IcTkVaq$>gsp`o%9N8
zqHbfB%XYkPT!U#wd6;FKrodWYn2dS4iI}I8j0JkBSYVKXg+@u3Zy1Bwx)GSZG7K|T
zg=3CxG!~d8VUcAz7FcJJ?FCrkQif$-4Orpdiq&ELFo@j_)3p7t$vwez=K{gKtblc?
zJWDaibdA8e7Vm=#7w{C>=vHOJ&6-I)_-cDBE;UEs@`fOM-V=?-gOk;yaD2a=E|{Q#
zuJ^}%Wa@r@e19+quMW`-A5Fmhoe>x;Ho*GS6==>iMMJhZsxt{3Sy-NKgVGcm6eU`s
zAkGZ=v8E`AH$z#Xg}N5S8KWe@6g3&P1lCzuOMxpo3f(bK=FQj~NYNF9-E~1Y&=8EH
zO<_3S8H<|(sbs6B=I;xz{C}?YuEm9}47K$**4c=dye{}~HG7mCR$F6^OmFNe `C
zRFtFuVOH}qwlb!Q3l>mSOcjxoOBKv`DhxG9CQ}n$!z7U|I{X3VxbDTfM(gp;nk;;*
zpF}3cVAkqT%qMtrSA}8Dib%{}8Ht(8Los7z2*C`*$1D7m%~%x!4C)M
zk`Mb3R3ChIf+Fi!8pi4!upwO^MX_s8m|%c{WHaO?Ss*{r3i%0k$cwi{c8nF)Mw%l%
z+!R^S=E#e+#M*FUWJVaFDBcQ{X^vQ*aYup{>vh-Nil_Ec3(Gsz7Y7^2hG#
z032EuiW6Lb7rGK~V=#kWCmWxPXtixAH(u&U#~JDB>u5w&ZWr98O{JJOg`!DzYHXOZ
zT2(1WWX%o8fS!9qxDg;Mo}6
z@!nAUcpwZo%yj37H@-XOkLSnZaD$BQDYBwlH9&T>KGLHMkREM}6atnMYK-I%QzQkO
zAtBHRasCE~_0vaUkTKH2E%-BIr1J0OMq8mg#S!({o&?te8*+Kgaz!hzJ%!$M$=-DH
zo)|6l#Lh||99bVmmmG^Ly(x^hT073Yz6{*#PQ#`46r69#!0z@&MC5fV(d0zNifEFZ
z8mn@$wNm2hL#<3$|3s@Ok*x+5WM(OuN%gB&NH?7S3afKoV$E6toJxy(34<7_=HSbi
zXVHy6FU`WA7ewIwMP%V(AIx0jf!T}Qcy*#VVEO_(e7um?MUMQr6Fy$zfDaejWBM`|
zg6lzd9f(E7kyvULr@&oem4>DExmfL1s=!_8Q;(GdS2wf=M$sd%OxXwfTwn6Y;wb+
zt;}EdM=7!N16}YB$C&P%3dgs{;xWF_1?w{m=~DHP8Eu64U|ocHE=P#h3WWRUA=aOO
z2ACq+*9Z|_`ZQgHd+H%R&Vn#IS5zh2qdtX-Il~EU
zYn`zvi@9!r8@82tVSjZHjyFZ({H6q4>rc^Ib9&Piu$Sq96tErZ6|kZj)&A-Pu$EMp
z$^{cxDMCo?*Ql0&F|G<*^@@K`pz2XDts$tZgsm9_HHjAU0!C3^LC5O=X6RMo?M2ae
zYk?0wSm=Uj3+yp%jumDvvcvRwmNavGG{+Rv=9=Tfxt927p%p$}Bv%UpY=;@kof(6D
zvDhdCi%lXZv|_N(ES_R21xxI*u*6A=w@W>1u_~aAuD=&13EP+}kHfA=YsdLHuy$na
z6j6^yT9U9a-3?j1!Li=P2zJ&%h|3xUZXuc0nre;VJR2OYcEl$GL3p`88sCpc;PoM<
zK1ZpF&qU+P@i=TQV?0gLM_!B}(jtrz>b(*^j*H-7zYt!IOA+FshbTWYMEIB>)Lj?;
z&Z`jMqJuCm0_|ypSYHz)2AU%^!~&U-*2synLT;2Lies%&9%qf3L>n}x+M^?rVk(#U
zFqyln!k;QRlwm|zOCi;#H3Hn)l!7arskqRVu7Hiq@6kjPO^WH#{b0^yUx1ygE*aNr
zl_mX3iX^gCzmUKZR9&iIiLGnWnaheBj-#-OdI95z2Uuj?gQ?5Y@$TY4yt}{|@6WTq
z2eXaw_B0(#n`wZL=NRJSx%&8MwgINj(!&(=}VsE!$)6YFEZ%
zFU;5T$6WmY%rywbY{MwbHI2g@vUk2+4s+a6EcITeT(VKj5G>Mm!6r|@q`EIVqkx_4
zew=cV3UW(L7;2MUkr84|hMB?N#Rz`Ry1dcG$PP6{Q<^;ns8aWoIpStdFrMv=VQND$
zbtDWgkA>jn={Q^`lQ(ASFt+L-B~%BI{yK0cs4lh(;b1wBwgBD^tI1po#01(RCcp|2
zzLxwuhRVDhbO^E@!aWQT=BA4%F9Rg_8zaG&3nj`LB?PxL#uAMLR#@A$)(M08Oo2+g
zvA;GLCpJdo;-*B3KeCp<%D(M2GWKHYPryp~P2#I;V9R!xS>-KN;5V*i-dguql?+8N
zNfAP^wcy8zT$R9539n9}cuHoRjebgZ$Q(EDI;QJZ;r)dnm`2wtpuRUt7w=DBi9f%$
z2=9HkoZzk`xN9(djvhXot%IpEbn(HA)tEMG4Oy(K0G__c9J7|#Fb>;OTsdRbN_Wg$
z!z5`dEV2#~NZAjU4@*8HHh+A1s~_7u(g;2GlQA1F`Ex(>y_|u(B=1y5a?k}fC;R>9sFF)
z;AX1_JJY3bv0MR9+ZFJzTnrz(r3i9bi5PEvWJg*eFTw)3A%>`ovB0_{YiuOIeH2)u
z6jr+`{FIQA^ydbJ)Sd2R#n`JINx0OOfjylYG+>$Hh#Hp0Gug;Cue=M>Y62@Mj;aN}
zRMjOZL`V@rFAvbk{6Q5UL@?T<}vP?{!?@hDAyEAq0=MNU*
ztq0G_#q0I$FY)0Y$ERb(>RJzF0ikljPa+b}Hmyn56H4b)j@w`~P$SI
zpUc3udRvsoufp0ex>nCsWa=VVn$Cr_*bAYz4@>*TnJ~2rEoSU(=F!1%VrUxz4VYAV1TtjM#u^_L}8dAYGTdMoMMMfna&u_
z_fV|eR}+9^jbXUb7K7WHl5nd#3D-K4CxBh|KY%^2HnGjB?!iR1<7&Sos9N5tTTLL#
z$<)Fh>4Ir%f558bm(ZnP(o3RZj^_ekY&DB~hw`SrG
zZ%xPB@6E&e1op$}%P?ck3e1_Wi@6I7cs0aKf;;u2Wq9X(E&wiqx2G+pEyY{Ymf`K`
z1bMy%m9wJ)cN&%RM>+wRVH}0omdu06+9e{UD5P{Edzf~O!8}*u>ZyqsE5IJc6ghA-
zRu_r7BnK2m*&)&29Dz={jCqWAe4H0c
z=Ef_azl!YEp9d$a6>zg&1`qzer}aVvIWI?;^AaTc>!E-tQc0wV25g!w+EVQ>Qs9Yg
z#a`H5>5HSxZ7;P%DPV8+B&!yhOKmdH>gT|oh86QZiLWLE)|9!cQSH~t4NH|tr|L(n
zF8z_|%@4{A>t*umq!-XjVS2->ar_gQM1Kj(s0Wy7unAM=Mq%0vTfD=V`qtDX`18B7
zXfyHQ$4fDTOr1V^xdL|P+?5L4IrH@~WA+*a`XB#19e;XfCjRu^T-tp6;oXJ!^Hj2!
zF?#wUTcwykSmKPSE4}cMF7sb=x@7wtEOITwa&M~SpmylQZ-r_0LD&>C#FS7!6w?G)
z>6AD{kHcdJuno+KTQck!9-J|h
z>xM0b9@t$W`?)^>E6s1WdoysYOD2hLLFG@$KpO^V_rWwz%VI^YPKl
zC73aPC1%W9rQEWx_?`FW;J3e@#^=t!AK#sWKfE&+e`H+#(|b$t?niofo3A%@fsIOq
z#2wEx3dby_LO*xMD}q|EDt0prGxjN9RVQT$0WPL1{&ch$cSj0wq%juVSxhft$ck`N
zR8X)qB-o=R%>n({cGz3vjOzpb_;x%RuZ~43(e(Nh-7*>b=uA3>s;yC*VTOzd69ue~
zi!Q887cs_?wI<8RU;|hguY&%{h3e|#Y7J)_BN*x~rpsOhJByXDB)eU0SHjI^3B2r=
zz@JJw++zhIJeDKQYZ)>ER--7~Kryx@%?|zfZWzpQ#R#us%xe$T2H-+-1a5UDDq!Vw
zg0!n1>TglNN@Ygs!^#!^99ZVCZ-A}D1hCq!jm}!;t^`&$nfWcRCUIZGD*hp?qHkk{
zelt~V3>B{(W2FY{AIVq^*qLPIe8t{(r_QEOT7sDiR^Y=KOBDEjcQ_K(x>o8M1W
z?)|%_HNN;_a!c@ZQJzc;{myyffPz(-u49<5fPGVHk$l=JA+spRIsh>RE$j0nPsd
zSUE-_@%E@zdHRe3>SljB4%7xJ_1netrX$%Jz3C3vn&*uDm2SAw;fJqxlC2a?FAg*1
zITDQTPDc>fSUfqChS54(G-R3~H-_m9m24o>7e||w1a~n^^%tl(>TFAf>MbQR7b(`d
zJDS4Lnv1}Vao58P)}{;K<+KJKc1xHhErFlo0tCA*Mx^@^B>AmEZkPeeqfAg6XHM~C
ziynHCeyZc)92abtP*Lso7r;u(tQ_<@IM9N~f?i0Ynse1@raI?T4l7M#5@QW(zEZW}
zp98z5=zCR=5MXsvX$00F=^2b;zf!>3#NMW;X<-f;i;w0y;QbkTc;~|<3fMoqJA*EE
z2Bv_YtEZN^&y`_>05`7>R-
zJDn-hObfifz!4v<^u-JVQO8MG;E;m_&P7=4UWFxojaU&q2>mn)sG_43PbXEgxqv(6
zi_Q6XIFg5lTXJxVdEnWN;W%9Di#m0#;Ff~&nT
zg_9}#JggAtWkq03VQ;<=zRs%&>N145ub?Yl#C&=ofn9_YzZJ-*aH{0OX^6MPMk?d>
zR2y_N&JL{Q0xWdJ!5V*D+!(2ZlcYUzYTf9Hqgt#V6fPDr1M2e@_M|8yxVI6lHb4*(?b43C^Uf{$uhpLut_N{622;6MN
z+V?-4iy3pt;&(p4AK#zK{B=IloCO4Q9&=m9V7g~8VR9CTj8(u&&u~vF9t>%H
zMACBda9BD5)qjay)PI)916yd#~5Re(jA|nh&rE!y-oIL
z&M`qjj3JUkjhN0Dz{`0RnYx6ocOk4zmeS1{z*Ki3MHEvSClfN(kk2tDd-bT64dCyp
zqly@z?yC{$!<^T1IrCY~4X5}lN0vWbaj-5bD9|>Lwc=H}2=G9{|2?pSF4%gRM3j)it`96fnA*@
z)h4Dv39n!n_Y7w7WNpk{%r)Oc<(hyG7dqqpSw@&PM+fhI%s4xBo{F9C(&c_cAO+Yz
zeej`T?DTodl+9eQiY|OP**y>MO(&QiEaUI$P#x>x&(rjoI+@|ESyp(Tu6P<5JKZ2u
z#n?HvnV4grhXt;sSme`yD{y4kzNtXab&^Tl1
z82q>+8sBe=P`f(P%k=#|ZJSPZbbdH40xAqI&n4nyj~6=fP1M$##91j9dOI$MgT*3P
znaqcs`7#BfvyBept1#69Uam&)cA+^NFfN-Tk$H5CpD{tzLA1{r#QLs6g5OHzhSU95
zA(Ph}-xVm}_iHH9HpW??i|idBa|PIg;))6E&F++m(|Vcebl}0E4n!7dz`9g%RZjpb
zM=dOB2rT2Q1oLeMm}{mo
z?{sGlYOX3v?|!sYr7AJ|JuV{N6`+@55Ot&VD$1DL$OF3?EY|Po1?K@6Di?
znqz=>K3ao!XBgn^j}7qF$A)-ohB@AzZH;#qI^z9hUieTq2s2D#Fv~gvvlwURx|Aqj
z#T848wJW6yCa~%lrvQ78E=ziKrDs=KJip!?k0&EBs^R;)Eg|@ROAxRv7}!o5(^_C&
z?GD7N{r(!TCqh&%dt*m9dWy|ZpJ9c3-tbuFo_?+rLiWpGYdRn9_B!x)Go>1~M2N2~
zf_!XvwN^!n*dRM3g*zf6#t8{Qrp%vp5$C6aq#)+7flQ%-^^g;)kNgmQ6p*z7Y(=0h
z8bS@w6>EV(ran6g-EgEX5SLnG)%hYhY%MLR*JW7c=1xQv_bXTIR;itolM`=pq{5;`
zi?fr!>eVoJt^84y6b0Bd*#uMp3#^F;^kTn*Vbl|tMSq5+&f76lCkr1h^~Hya?36ox
z_oEfeVHe?@cj9a-(CUx?h+5YOLsigFapyplQDy=6<`<`2D`x$2$YhN7;q=<^b!-FvxEHOn}
zzBS5|Esz$bvDV*pwN^^>w}Pjm9=se4;Ok~gP^}OhYLEC32c$*25>ywgjdnn4m^qSy
zjgUy-(g|i(xDj$_d33);WN8UOE)UX0b)X*V34CX)DK=9`?Jf4isdb^a)}Ej?0qzWB
z;pSj2t`8RD&`1}ei+fd5xU_7_4G>_ZU)QRZxoqtNRZ^6l9dXA7mCRoWtZdauF1tG8
z2dqe98k9g69Yeq)zlBN6BP{ngi0Qfon7$%ZZN*7keD5P2GITNCdw&V0eMpx(n<);#
zoyAmV&LVxxU1WmU3yd*uu>}^bu*Jfa_5@a|FMlxCjCrvIrY*F^yK}Aafv|On3*KGk
zj<;9%;2pgXd}x+{={9RI$BhCiU;|dgkH9E<9QLKB)q)lAB(14aWH)5;~%1M%ZH?MR?f$UmM*!QqYe=qonI`gC&?#hM^1
z+KTbk3SnL*2y!Qwo^-*^%yDg3D3K%rD?Zc)snJe~tr=0a$cVH+dbqJFbYw;tATylc
zhU%e!;0my%1XI{r6R3k`{;Vs`7(22ZaHQNH=hj8yPG>Sc?a$`_luLJv2X-%A^nn2Ucqjnh6WEtWqwvXCFb0bBv8liUwP_Y8pqrF!xF{b(1iR}Z
z+}jutK1NK33=tP#Owb8pi~};`osk>wK(j+(f{k+J(p^yyXM+4FLu7~Q&<*RNI7AOs
zbieB&j0mbBI%145m|~7y`HnbQ6@aVE#qV~d;9k#K-0jK6&AxnGA!GLqwIRBwO93mn
ztOo1_)e>V-eM<=_>7I~1S<~9*Fs_pQ*zd{Oi9$uL#@dxhudyobHCD%bhm{dj%Hf}5
zo^2mfkwQ#glR|gwr|q}SF{WtJ!F1Y(GbalFGj-`=`SpAQ<$C8Yx5fOG&X~Q-QI!v6
zt8c1+Ng?*ZLMNq$r!Duy2P?hszK$Q>)eFSC24Q&5A^{&U#xC%##)`;J7-a2*MX`3o
zQv>$6(h>wVQ=NhNgknQP)aP``Uk@hY+s%m@YvoMNRuNBO_+baZo$PfYxZmyb$B&2o
z@cOVXSsRLH$6|4)#U8!ICTPjGKvf!XJ-0BODbTx
z*6Diqc%BKtG{Mw)#$>dq+NPVm+yM(#x?4raKx-;E{ia4N&F@G~mau30(l%lCpbHgsw5z+)d5}DGq_9?8vexe;P2s`#p5T7Jn=yBfAHEy+#`lMORbKnz7+Fi@
zJX&Rf&O&1}=UbtkH@+fG>vNL!n1V!Gl%+ePKGy^5^1V=-?SZPb&M0S`tfmO6%h0+N
zYZ<5OQ>{=%5UZk%P)paoE|#xJ>qsy|AAi0z%MN>)Z=YbAbG11JciPETIh@^@iW?p2
zYU<2craQa(nh}xTuDbW++^dw{Y^61(>avQn>gb{zW28GauYE$7{9L(XVXf9~s%_t`
zS9ULEradeKi{6m}c)Y&PQq-6G7?Po|g(RNzjVXN?aTCqG_jgPBY0F?*#G
z=IXd%fu1)O>ic1lUI6Cn_+#ek04i%L-j%`3iG%pNftbF`57U*7t(NHCko(pEn1Nw&mrx(#;bF}7BC;X)(X+MbBJ9jUlOyV;eF>z!+Hu`?TT
z=xk?i)6ak%S9`K@YTUN+!kZ(K7FG8kXH|u@5^IgBU%;@M?zo(cCAeCwrEp5)l{u|+
zC+fw$gmLsYSnhoaA6v9ynn5n6>&0OnftV@1PHPC-G7rpIO)w1tvD73COH3nGm&5}7
zV9Z*>MW7RgnYt0GV{w*FxN2&XCO855<251pSTCGuP8_B)&6(*`jM<)bm>1ZF6>(c(
zoO1})Wv2-2N!U;r%66So*|<8aHRXmH=aZ?xm2;<`bSLBU-b8%Wm#9wG$=O#q$Shro
zueXq~+nCErPP>DGX=fmr>w_Qm`QSCvpO*)i`ViP}#^Z6a%R_Zk^b}j5v&aVBWiA+~
z^}}F&2>NS7&|4XZ&N5$RZN(ng$UL+;&l&BsR%t!Wv_tD!S~|g|TW(G;SD<#&J#Wsi
z#TcKnzr+n^8iH`6Ee7{GnY*?n<3>BJGYwZdGSrFpQ=K^&>uFTL$|(Rjtu80TBt9I>U{w38P(!L
z!yL>uOvYTpI4m@bQMSZ17RwnMmnloaQuBB$Fp9z)J-Tj#C_X<{*&Kst{$32`7)D{1
zULp(&95o2tj03PNJ);Jj*jAo^U76Mr<6O3%z)Hh-
z_u4nJn&dF?eJ1yx_9T(DN$MQzw`A?}Ap$!bsZQ3t9u0kS65xmJOn-JVpWW%BV(v?c
zyG(mt9_H`wj#DQAb~QL+xY8cO)o$3fJ`g*a!m)LI7)I(tF;o+TzM4SvRQsZ<%o81q
zm79v((M6C2)QzduXh|V+32Fxc?cvuWnfBN%<-;;>oURYTwU#I<;Y0$PMqpE!?xf&K
zTZ(FlIoq!F6>s0P9^rXyZ;p3}yOK?5>7=kJBe>G7IKf&GQ6_H=VNIL@s3f4J;*xpI
zqf*YIYtG?8Uay&pRK%ZWuCi>f{GyjxH}9lX|E2@g^wrUtGx+0-QkV>>s>Hb=Zf7M{IF|7
zFt(Fr+Z%$hV?zW14#Z%cKl&@Z(NpSdY{U;
z>dP>n~nYLSQA{5?o1vCOa$iQeMI&^%;!f1l(}?Fi*t$S$
zUl)Kab-rY^HwMc*(4FUq_H--N8QGm`LDy@7&1sg{kz&^Re4vaD@xwWV=5OH~ZmGlRw6r0@c~ru^JC-t#HL?u_HF;*`j}~1qNxO
znU>f|K*x)maI(?^m$?XTwS?l6u4p{yj-|ybH+-`rh3sWqr70KOnnAW^(GBO|NP9kk
zZ9+_52fPY*!c$FNp-V286XDv9h_F^-t?GlSx=rzPpNxG-K);4Q!PTpK2HhIwt^X6;
ze5OA%>0;E+{tm{OFJYGP7^X>gpdWD@tNpiQrRM-vd38g_yA!(JZP4{v+!dAP|y>Kkim@1DE~La8ne%*%XN<
zJ>huX9gdfM1dbqoH$ZhP>?L!57zxA=TM4czWK4j&n`zSiIK0{)k7xTCvv()qldaLX
zJ`j!zT|qe87J%a$JaM>A_EOz2Ug3fR<<2-z=ENB4jN|m;jAh6Ad&EEvyqFwNoIfXP2sz;f&
zCJI^dT1kIoN{hx?0ryiF)_$Rwt6%p-+t!;nN~u%9c*~f(x`-gtbZPnpOpkKOSei}#
z3s`48gh|2`tPVMVH9_03%6|YWeY>&JyGxyoUEYkgTN-inYCm;5PR-GiPshv4(hFnrk+fvgUOncw~d
zE|oF`m9STKf%HmV!JvfcQSl3y6uyFa!7Eq^xOv~eGW!n9(=Wgv{t#A2?8J)Ttytne
zj77eESm3h>3%t58M!23HXA*0W6N#isgxWu`2y2baT$YsQ4;O%Wgm$Lv)=X;{w(2
zDOkyFmIOR$1byF~L;a#6h
zZ5UHew`AgYOBMmm!6BKB+FF3|jfEI#Z$?sK9|DT^A%LLz5>)T9eefvXPu6PSN;`=H
z_h<3ewDQ(O`;2s1$e!&ZwQnnDdsP210hTj9VulqjV8qnOsEm(`U%|BKH7v_sQrvt)
z5I%!tAr*J-4H#uyhHmmXtV%e}T=X!nN3lBT2-c(=gWlRx(9bywgTjk2DZQ@sJy&W2
zMx^6IjRxZTvo6u5s7iX{NTxcLYxY0x(V8URl>$I!^);V3odNtGZ+3FwxnpP3Xl2r%sxP3Awn
z+8(Ryb{Ky*xcHPs%>
zn3X$eZGNJRj=i`kM@<@)!O~Z|(r{x_vTEm)z1z+D6ZKzGm488#qKS<8lZmS`PWNgbLx;>y=KE9?rq(R7H3x?Y?08Eq4m1~NqxYH$
zFx1lY7r+LV?SU5+q_9>-0=W=mnVYCa)k>G20+%k2H&f;;$qg28O;xL^mI_IpYh3@W
z+V0cN{Jd82SHI?a#^oPWbDVDVlZgfJnr{6E8WiZpHLq3KQcm`nQJ9%gpqbUn>&On%
zr+l9DJKu&`wdB@xzm<%y<>yr1ErU88$|qEC$qp*v5vu$_ZTwzg@0+o=Q_l63;cRay
z&UR}9r_Xfe;=CFio5LHHsm9vL)Kg)|J=xxq32h@;_(Fz{Y+0+Ontn5yipQfVY7XKP
z0xc)upOekc$+%~9*U#xrB__Y%;}-)F8qh;zE*F8!i+VNzsQm6@HKj(IjH*W8_EW&g
zR5t$YPlmE^XOJSVKVJ>SzSv7I)19Z@@5#0t9Nj46_HuAwW1a?Ta}jnm7GQ8=BT|a`
z5K_Do!6iEpR7OyX$Kb=O4DoX1_he4tB)GCsE&H3oTq$12_MR1Qw9G&>ua&an7pnAV
zPGMzQ|CM(9vX=3+{(EfziNs=+Dt)WcCE36?tOWrD!K3kc#&xf_IG(|{mJ3Aog5@*<
zUB0$}Wc1!GSXT4zR%uMtKs`aPa!83K2mUWkrCWcRsW<_u2h%#4Wjy6{PdQF>mEd?s
zp&ITilSEH()yv??bL}$9E=!HIyCIteL)o}Ll84W>72u08v3z_zmWMC53CP;$S^-&@
ztXy?poQjWPj|i^BWw9p%G0Gm(R6Hf9vJWitq$US-J=~n8`mod#HiD{#RIAB0dAK2S
zsrm~QxH5HI#t{fp4{gj*Q^&;x?`bK+u8o!0(O8Cojm=0Y?nG$GC;|&d;9EEfpQ5d5
z;Iw-&;}eyn
+eyWCFs&RP)S`JN%
ztJd80q&-ot+py*t-L*__Bg@HT)9OcR4_Hc=lfyG*VAtfZOk2iOIXEV}P_iW_Cm3Ys
zM#6>^AymFvG@{(E+l2e|CR4q0Tj8D8f+@#0m8rRdN7{;%iaf^HB*UEr;4^KxY5=9U
zW*HN&=0J@W;FIk|craFi2Rn-txSwyur<&@Nnx|#bOyF^yNSj9uindO*D(eSN!_t
zrVYVN#ODN6Hu+^%v4ANf{?t%v0;)#L4@|VV5ZLQ#E>%7*_vPY3uZ)tFE_Y_7nL=1OdDtVC}!fh}r9Sn&V?sTc#e%6%A<)aX6BGB+wo1uo;22Ck$J2g!(|
zYFe8N@bIX-0(UaVjqcI8`Uac{fMd;VZCtGag-n*MKe}rhtBtq4u9^U3P_-;7ZT!3jst7#^8{%Q){mM{kw}M`}UJX>Ayf*mc
zHuKtuDTh1DaHyjghue#An81q3NcQ6d^;A2-rE3;}||eAO0Xr-P$C;Rx4nW3tJFMmlaev
z3G5)e3J28uK{q}Y@gd66rDVGTSLPMV7N0f;>NGqnFT$(l3Os7A!L8;hT&u3ZsfIw1
z#kMtf2oBXNg^!rbLR5l_fKQsVxytt@=On7#q^dhV15~DuUw#9qOdS`Gp{9;gEU6ER
zD3i}5VE7PEBSW*5SYk{qXd|$~R1H+W-1V4psEfdgb(FpVSd#i
zZqU2x9K34;+{W3w`sJ=Pt
z;G5eZpW;!8aRMtQpA8`39_lPqqvWL=C*YoB96K$aqS0SKaEsN4{@vJ8sy;eT&JE>6@G6_sP<3Ew*1GGliW>
zBz4QDi4-ZJce<-k=>i36YZ23$BJ8FD-nAhQ+t(Lh>-utxHdSGCLnXQ!8#Q2ydl693
z1Hb%UWisMc%!}VsAEZ!32Fpz&xRZmaJ7ZIZ~RG3YI9@pPPJda=^4EhU5buv=4nyQ%%c%J~CcDRN|1@VwAbnWE4}7{w!78&~jk9QksBuLv4JgDU-vi*VJ?A=&QU<;{&i|Brf6`&&=oCnM#NHFd6tY#j{PO5e6Iqk#8hFb`k0mpQ2n#z<66oIY;O$?_ElrNw+iy%O7d|n;+o}C
zJ%qWFqvZwM#N=Xo0#87U^gMCU=vxpNqw@_DK4`jG&`tN
z_~Z;??Smb}v`_EQ#?{LE;6kG|kj3Z4_pQW|#MRslKLfQI0omoWGE6zpO}6$_<3LX(
z_H8Q1{*DROGUguSjXOvob*PO3g?6Mpn*itH1YM&tGV2uWv{ZfwhPX@t_ELAYVx3fk
z1jGw%+AN4k6A&*DOtDK$sl)_ODd5WoI7pf`3F_$%Etbj$JBb}xImOy7
zwC!rJrhqF$C}lra*d(kHc8S|m$1|D#YM;e30Uphk@!6W-iP>@yh)Eex?9HcZ@%2=_
zmnLK3#ytv6_g^P$7%YtAGnp6mb5=iI`f4fC;t+W|bo_yA1y?Drx1iGR=+|
P00000NkvXXu0mjf
- 原版音乐包
+ {core.sounds.music.package.Name}
Ballance
- 原版音乐资源包
- 原版音乐资源包, 包含原版游戏的全部背景音乐资源
- PackageLogo.jpg
+ {core.sounds.music.package.Introduction}
+ {core.sounds.music.package.Description}
https://imengyu.top/ballanceProject
https://imengyu.top/ballanceProject
https://imengyu.top/ballanceProject
diff --git a/Assets/Packages/core.sounds.music/PackageDef.xml.meta b/Assets/Packages/core.sounds.music/PackageDef.xml.meta
index 7ce33302..c8d750a4 100644
--- a/Assets/Packages/core.sounds.music/PackageDef.xml.meta
+++ b/Assets/Packages/core.sounds.music/PackageDef.xml.meta
@@ -3,5 +3,5 @@ guid: 43ad64d293ebf3044b8979886f1dbeaf
TextScriptImporter:
externalObjects: {}
userData:
- assetBundleName:
- assetBundleVariant:
+ assetBundleName: core.sounds.music
+ assetBundleVariant: assetbundle
diff --git a/Assets/Packages/core.sounds.music/PackageLanguageResPre.xml b/Assets/Packages/core.sounds.music/PackageLanguageResPre.xml
new file mode 100644
index 00000000..c892b03b
--- /dev/null
+++ b/Assets/Packages/core.sounds.music/PackageLanguageResPre.xml
@@ -0,0 +1,17 @@
+
+
+ 原版音乐包
+ 原版音乐资源包
+ 原版音乐资源包, 包含原版游戏的全部背景音乐资源
+
+
+ Original music pack
+ Original music resource pack
+ This is ballance's original music resource package, which contains all the background music resources of the original game
+
+
+ 原版音樂包
+ 原版音樂資源包
+ 原版音樂資源包,包含原版遊戲的全部背景音樂資源
+
+
\ No newline at end of file
diff --git a/Assets/Packages/core.sounds.music/PackageLanguageResPre.xml.meta b/Assets/Packages/core.sounds.music/PackageLanguageResPre.xml.meta
new file mode 100644
index 00000000..cec4200f
--- /dev/null
+++ b/Assets/Packages/core.sounds.music/PackageLanguageResPre.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 89007c666c85c5040ac2e10e4850ddb6
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/core.sounds.music/PackageLogo.jpg.meta b/Assets/Packages/core.sounds.music/PackageLogo.jpg.meta
index 098fe6eb..40725f2b 100644
--- a/Assets/Packages/core.sounds.music/PackageLogo.jpg.meta
+++ b/Assets/Packages/core.sounds.music/PackageLogo.jpg.meta
@@ -24,6 +24,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
+ ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -32,12 +33,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
@@ -88,9 +89,10 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
+ nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
- assetBundleName:
- assetBundleVariant:
+ assetBundleName: core.sounds.music
+ assetBundleVariant: assetbundle
diff --git a/Assets/Packages/core.sounds/PackageDef.xml b/Assets/Packages/core.sounds/PackageDef.xml
index a0fb4d04..0057d461 100644
--- a/Assets/Packages/core.sounds/PackageDef.xml
+++ b/Assets/Packages/core.sounds/PackageDef.xml
@@ -1,13 +1,10 @@
- 声音资源包
+ {core.sounds.package.Name}
Ballance
- 声音资源包
-
- 声音资源包。包含原版游戏的全部游戏音效。
-
- PackageLogo.png
+ {core.sounds.package.Introduction}
+ {core.sounds.package.Description}
https://imengyu.top/ballanceProject
https://imengyu.top/ballanceProject
https://imengyu.top/ballanceProject
diff --git a/Assets/Packages/core.sounds/PackageDef.xml.meta b/Assets/Packages/core.sounds/PackageDef.xml.meta
index 5e14f7bf..a95ec909 100644
--- a/Assets/Packages/core.sounds/PackageDef.xml.meta
+++ b/Assets/Packages/core.sounds/PackageDef.xml.meta
@@ -3,5 +3,5 @@ guid: 06e0093e996bae748bc95a3a70d3155f
TextScriptImporter:
externalObjects: {}
userData:
- assetBundleName:
- assetBundleVariant:
+ assetBundleName: core.sounds
+ assetBundleVariant: assetbundle
diff --git a/Assets/Packages/core.sounds/PackageLanguageResPre.xml b/Assets/Packages/core.sounds/PackageLanguageResPre.xml
new file mode 100644
index 00000000..40ffb698
--- /dev/null
+++ b/Assets/Packages/core.sounds/PackageLanguageResPre.xml
@@ -0,0 +1,17 @@
+
+
+ 声音资源包
+ 声音资源包
+ 声音资源包。包含原版游戏的全部游戏音效。
+
+
+ Sound resource package
+ Sound resource package
+ Sound resource pack. Contains all the game sound effects of the original game.
+
+
+ 聲音資源包
+ 聲音資源包
+ 聲音資源包。 包含原版遊戲的全部遊戲音效。
+
+
\ No newline at end of file
diff --git a/Assets/Packages/core.sounds/PackageLanguageResPre.xml.meta b/Assets/Packages/core.sounds/PackageLanguageResPre.xml.meta
new file mode 100644
index 00000000..911b120e
--- /dev/null
+++ b/Assets/Packages/core.sounds/PackageLanguageResPre.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b1f7934624c6cc44c84cafbfc7f4a09b
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/core.sounds/PackageLogo.png.meta b/Assets/Packages/core.sounds/PackageLogo.png.meta
index 8c404dcb..f42c93f4 100644
--- a/Assets/Packages/core.sounds/PackageLogo.png.meta
+++ b/Assets/Packages/core.sounds/PackageLogo.png.meta
@@ -24,6 +24,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
+ ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -32,12 +33,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
@@ -88,9 +89,10 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
+ nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
- assetBundleName:
- assetBundleVariant:
+ assetBundleName: core.sounds
+ assetBundleVariant: assetbundle
diff --git a/Assets/Packages/template_PackageDef.xml b/Assets/Packages/template_PackageDef.xml
index d70d3c49..8ab238bd 100644
--- a/Assets/Packages/template_PackageDef.xml
+++ b/Assets/Packages/template_PackageDef.xml
@@ -22,7 +22,6 @@
一个模块]]>
- PackageLogo.png
https://yourwebsite.com
https://yourwebsite.com
https://yourwebsite.com
@@ -64,6 +63,7 @@
Module
diff --git a/Assets/Scenes/MainScense.unity b/Assets/Scenes/MainScense.unity
index 77ee9302..142171b2 100644
--- a/Assets/Scenes/MainScense.unity
+++ b/Assets/Scenes/MainScense.unity
@@ -274,6 +274,10 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 2024946136}
m_Modifications:
+ - target: {fileID: 3715326137320221484, guid: bd7e600d2cecbdd44ae3131bb1544ec5, type: 3}
+ propertyPath: m_Text
+ value:
+ objectReference: {fileID: 0}
- target: {fileID: 7059145561469175277, guid: bd7e600d2cecbdd44ae3131bb1544ec5, type: 3}
propertyPath: m_Name
value: GameGlobalIngameLoading
@@ -694,7 +698,7 @@ MonoBehaviour:
DebugSetFrameRate: 1
DebugEnableLuaDebugger: 0
DebugLuaDebugger: 1
- DebugType: 2
+ DebugType: 0
DebugInitPackages:
- Enable: 1
PackageName: core.sounds
diff --git a/Assets/System/Resources/SystemPackageDef.xml b/Assets/System/Resources/SystemPackageDef.xml
index 0ea6280e..ae28a58a 100644
--- a/Assets/System/Resources/SystemPackageDef.xml
+++ b/Assets/System/Resources/SystemPackageDef.xml
@@ -3,11 +3,8 @@
System Core
Ballance
- 基础游戏系统包
-
- 基础游戏系统包。Ballance System 基础代码,是所有MOD的基础依赖,不可卸载。
-
- PackageLogo.png
+ Basic game system package
+ Ballance system basic code is the basic dependency of all MODS and cannot be uninstalled.
https://imengyu.top/ballanceProject
https://imengyu.top/
https://imengyu.top/ballanceProject/doc
diff --git a/Assets/System/Scripts/Config/GameConst.cs b/Assets/System/Scripts/Config/GameConst.cs
index 7189050d..6a716381 100644
--- a/Assets/System/Scripts/Config/GameConst.cs
+++ b/Assets/System/Scripts/Config/GameConst.cs
@@ -24,17 +24,17 @@ public static class GameConst
/// 游戏版本
///
[LuaApiDescription("游戏版本")]
- public const string GameVersion = "0.9.1";
+ public const string GameVersion = "0.9.3";
///
/// 游戏编译版本
///
[LuaApiDescription("游戏编译版本")]
- public const int GameBulidVersion = 16;
+ public const int GameBulidVersion = 17;
///
/// 游戏编译版本
///
[LuaApiDescription("游戏编译版本")]
- public const string GameBulidDate = "2022.04.24";
+ public const string GameBulidDate = "2022.05.03";
#region Unity 环境静态常量
diff --git a/Assets/System/Scripts/Editor/CSharp.meta b/Assets/System/Scripts/Editor/CSharp.meta
new file mode 100644
index 00000000..6b2e1ea4
--- /dev/null
+++ b/Assets/System/Scripts/Editor/CSharp.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 43cabc246f5818a4c9075182c58a5236
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/System/Scripts/Editor/CSharp/CSharpCompiler.cs b/Assets/System/Scripts/Editor/CSharp/CSharpCompiler.cs
new file mode 100644
index 00000000..e6b88630
--- /dev/null
+++ b/Assets/System/Scripts/Editor/CSharp/CSharpCompiler.cs
@@ -0,0 +1,81 @@
+using System.Text;
+using System.IO;
+using Ballance2.Utils;
+using UnityEditor;
+using UnityEngine;
+
+namespace Ballance2.Editor.Lua
+{
+ public static class CSharpCompiler
+ {
+ public static bool CompileToCsharpDll(string dllName, string sourceDir, bool withDebugInfo)
+ {
+ var argument = string.Format("/target:library /out:{0}.dll /warn:0{1} /nologo *.cs", dllName, withDebugInfo ? "" : " /debug");
+
+ #region Process
+ StringBuilder output = new StringBuilder();
+ StringBuilder error = new StringBuilder();
+ bool success = false;
+ try
+ {
+ var process = new System.Diagnostics.Process();
+ process.StartInfo.FileName = "csc";
+ process.StartInfo.Arguments = argument;
+ process.StartInfo.WorkingDirectory = sourceDir;
+ process.StartInfo.UseShellExecute = false;
+ process.StartInfo.RedirectStandardOutput = true;
+ process.StartInfo.RedirectStandardError = true;
+ process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+
+ using (var outputWaitHandle = new System.Threading.AutoResetEvent(false))
+ using (var errorWaitHandle = new System.Threading.AutoResetEvent(false))
+ {
+ process.OutputDataReceived += (sender, e) =>
+ {
+ if (e.Data == null)
+ {
+ outputWaitHandle.Set();
+ }
+ else
+ {
+ output.AppendLine(e.Data);
+ }
+ };
+ process.ErrorDataReceived += (sender, e) =>
+ {
+ if (e.Data == null)
+ {
+ errorWaitHandle.Set();
+ }
+ else
+ {
+ error.AppendLine(e.Data);
+ }
+ };
+ // http://stackoverflow.com/questions/139593/processstartinfo-hanging-on-waitforexit-why
+ process.Start();
+
+ process.BeginOutputReadLine();
+ process.BeginErrorReadLine();
+
+ const int timeout = 30;
+ if (process.WaitForExit(timeout * 1000) &&
+ outputWaitHandle.WaitOne(timeout * 1000) &&
+ errorWaitHandle.WaitOne(timeout * 1000))
+ {
+ success = (process.ExitCode == 0);
+ }
+ }
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError("Exception: " + ex.ToString());
+ }
+ if (!success)
+ Debug.LogError(error.ToString());
+ #endregion
+
+ return success;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/System/Scripts/Editor/CSharp/CSharpCompiler.cs.meta b/Assets/System/Scripts/Editor/CSharp/CSharpCompiler.cs.meta
new file mode 100644
index 00000000..39d16f0d
--- /dev/null
+++ b/Assets/System/Scripts/Editor/CSharp/CSharpCompiler.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a52a0e193423fe04bb9f7a69a1154b27
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/System/Scripts/GameSystem.cs b/Assets/System/Scripts/GameSystem.cs
index ff638c1f..eaf11e5b 100644
--- a/Assets/System/Scripts/GameSystem.cs
+++ b/Assets/System/Scripts/GameSystem.cs
@@ -301,12 +301,12 @@ public static void Destroy()
if (IsRestart)
{
- System.GC.Collect();
- PreInit();
- IsRestart = false;
- Init();
+ //Restart game
+ #if UNITY_STANDALONE_WIN || UNITY_STANDALONE_LINUX || UNITY_STANDALONE_OSX
+ System.Diagnostics.Process.Start(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
+ #endif
}
- else QuitPlayer();
+ QuitPlayer();
}
}
///
diff --git a/Assets/System/Scripts/Package/EditorOnly/GameEditorCorePackage.cs b/Assets/System/Scripts/Package/EditorOnly/GameEditorCorePackage.cs
index 360b2cb4..b22c7adc 100644
--- a/Assets/System/Scripts/Package/EditorOnly/GameEditorCorePackage.cs
+++ b/Assets/System/Scripts/Package/EditorOnly/GameEditorCorePackage.cs
@@ -7,6 +7,7 @@
using System.Xml;
using Ballance2.Services.Debug;
using Ballance2.Services;
+using Ballance2.Res;
/*
* Copyright(c) 2021 mengyu
@@ -30,5 +31,8 @@ public GameEditorCorePackage(string packageRealPath) {
PackageName = GamePackageManager.CORE_PACKAGE_NAME;
PackageFilePath = packageRealPath;
}
+
+ protected override string DebugFolder => GamePathManager.DEBUG_CORE_FOLDER;
+
}
}
diff --git a/Assets/System/Scripts/Package/EditorOnly/GameEditorDebugPackage.cs b/Assets/System/Scripts/Package/EditorOnly/GameEditorDebugPackage.cs
index 53748b0c..08a29b77 100644
--- a/Assets/System/Scripts/Package/EditorOnly/GameEditorDebugPackage.cs
+++ b/Assets/System/Scripts/Package/EditorOnly/GameEditorDebugPackage.cs
@@ -50,12 +50,23 @@ public override async Task LoadInfo(string filePath)
{
PackageDef = new XmlDocument();
PackageDef.Load(defPath);
+ XmlNode nodePackage = PackageDef.SelectSingleNode("Package");
+ XmlAttribute attributeName = nodePackage.Attributes["name"];
+ PackageName = attributeName.Value;
}
catch (Exception e)
{
GameErrorChecker.SetLastErrorAndLog(GameError.PackageIncompatible, TAG, "Format error in PackageDef.xml : " + e);
return false;
}
+ try
+ {
+ PreLoadI18NResource(null);
+ }
+ catch (Exception e)
+ {
+ Log.W(TAG, "Pre load language failed : " + e);
+ }
UpdateTime = File.GetLastWriteTime(defPath);
if(ReadInfo(PackageDef))
{
@@ -162,6 +173,9 @@ public override Assembly LoadCodeCSharp(string pathorname)
}
return base.LoadCodeCSharp(pathorname);
}
+
+ protected virtual string DebugFolder => GamePathManager.DEBUG_PACKAGE_FOLDER;
+
public override T GetAsset(string pathorname)
{
#if UNITY_EDITOR
@@ -169,7 +183,11 @@ public override T GetAsset(string pathorname)
return UnityEditor.AssetDatabase.LoadAssetAtPath