From a2bbc0c7d49bebffbef29316e5c12509096be4f1 Mon Sep 17 00:00:00 2001 From: bluma4862 Date: Sat, 3 May 2008 17:21:09 +0000 Subject: [PATCH] * correctly select model for gameobjects (no more cubes) * updated stuffextract - added gameobjectdisplayinfo, for correct work needs reextracting models and scp files --- bin/scripts/database_loader.def | 19 +++++----- bin/stuffextract_svn.exe | Bin 346624 -> 348160 bytes src/Client/DefScriptInterface.cpp | 9 ++++- src/Client/GUI/DrawObject.cpp | 48 ++++++++++++++++++++---- src/Client/PseuWoW.cpp | 1 + src/Client/World/CacheHandler.cpp | 2 +- src/Client/World/Object.h | 1 + src/Client/World/WorldSession.cpp | 3 +- src/tools/stuffextract/DBCFieldData.h | 19 ++++++++++ src/tools/stuffextract/StuffExtract.cpp | 37 ++++++++++++++++-- 10 files changed, 116 insertions(+), 23 deletions(-) diff --git a/bin/scripts/database_loader.def b/bin/scripts/database_loader.def index f4cd546..cb120ce 100644 --- a/bin/scripts/database_loader.def +++ b/bin/scripts/database_loader.def @@ -1,14 +1,14 @@ #script=register_db_loader if ?{not ?{IsHooked _startup}} - HookStart _startup - HookAdd db_loader_load_all - HookEnd - - // set up paths; ./data/scp and ./cache are set in the core already - // the SCP files placed in this directory are used to override some values - // in already present SCP files or to add custom fields or content - // note: it DOES matter in which order paths are added!! - AddDBPath ./data/scp-patches + HookStart _startup + HookAdd db_loader_load_all + HookEnd + + // set up paths; ./data/scp and ./cache are set in the core already + // the SCP files placed in this directory are used to override some values + // in already present SCP files or to add custom fields or content + // note: it DOES matter in which order paths are added!! + AddDBPath ./data/scp-patches endif //--------------------------------------------------------- @@ -26,6 +26,7 @@ LoadDB map LoadDB zone LoadDB creaturedisplayinfo LoadDB creaturemodeldata +LoadDB gameobjectdisplayinfo // LoadDB itemdisplayinfo // not yet used // LoadDB charsections // not yet used // LoadDB sound // not yet used diff --git a/bin/stuffextract_svn.exe b/bin/stuffextract_svn.exe index dd0ab63085208867cde42a615b165e184c6276cd..36e28b1c6413f5525c6bacc868f0c50f3c5137cb 100644 GIT binary patch delta 70758 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 HpRoN4X+qUp delta 69679 zcmdpfdt8*o7x&J?f~zhU6%^!-E1;mFfP#Pm0-^#ga+4IKQp5E|$|{u#wqmT0lsej2 zT1uE%X<4XHnqe4dnrWI^YEk*CQ82ZOQkwgI=UG7W*YEwjf4}&7cAhzN=62@HIcLtC zUCXw*l&yDJ!+rmA`tDd&`(LxlhIA)gRjLHFN+l5m`WWp>hS+@HYD=R?e}@$gwyHn@ z-)gJcL+Em8B$-U#BqO?g8ILMXC`h1JiPwnBd+}NT&_1NeNFVr%RjFbJPk*%dQNUI_ zgAX5Dm1;cFdulpb@+ZkPGo>oxx9prsbzJ;q%Qu_s>K{!|@!0^~O3-OYao22qzL^eC z`?!?EB&hV$&HYhdl`R+RoaGaIJk3`Jx}Nn=spJ%$T5g&`yVMSm-n+?fA~+Bz07p6OMnpfXqr)em%?A^LU= zy^w+Kt549=>L_XV=hVq|fTWJ0QMMj^?j2L9J`w~%w~_OT7HH+9sd_$%&a?F)L+J~) zZX^19rxco(MVRx$D)M!a^E?EWM$iBLw!Or|obQTp=4+Y~bgmZs@sB^J-`VP<$>XW5 zows!O4E4A3mrnMjX?BBp|9Kn)NK%{HEDP1K<|K6`h{3gVt)07cnjs< z5sfQ!doU}a7ef*(!}Dm7CbZ9+cP*A%4W!uFv_u!;w7_1@)Ok$e{`5o5P-*{hdQB5V zo~LeI{m6ORstG1<(^*}M90I>a?+H4O?2IfuSJR)nE^yd!UIF>GtP3R^VU9S55T<_Mr4bPIC7gXSJuWvsD$BLB)0)Y8pIDw#liyALU? zvLmWnht$QR3n!N+s6eG)?k1^Jm|dV=&@8=ag>ExuCjR)AHjAY&_E+F#>eQ1kY0b%% zV9h+G4GC=&b+qvnsPSKIC={CVk2c14HsXdx3M;Jji};Jy`g6n>k~_wLajCe+1ND=| z7*domd}B-9v;icO#%Z0&6Es^pDx&`-P_GR%i2A#D1b^*QaC#Shv_YlHLZi;|dH!7^ z5XN-y$QZ#RPW;zKdR(jPj+Ibn>*brg-=B1XeGPesTI|i_3^hB%N}5!9%wagWKqbdl z?LzAXzt9&Q-zHaRypv4w=n1FSXjzXj($8u1(;fq)!>8zt9`0l<)%J8FBdCARaU_fu z^$eBvkEgHqd`H?io@VtLM8;E7ui?_<7`ne#9dWBEc79wUE;Z+SR}lex#`Q4SRTJwr zglIm}VAwbKi*#|{W8@J!#ywTDxr+ia(v9wG$!R*!D4qV#Z!ChJiog5xPxwpPY z)w>-~t0+20$N9KBoJYM*>GTd=;IqV~e~n62erwS)8S*q|n{Q2b?k%$AJ*bWET2f0l z_(qX2^pvlGT&K}~kCUBrt6v%^qSyWAlK;@Wei7X^91`6)W$@*6OTUp)eJZ`s&zFSI zzx#zteSfB5IzMSg8l9{QCV{kEmuo-oCyS*i@vdOgx-V#pF2HxB6(S^soOoH*$mwc1 zK?*FdFV<8htNH48>7hDj`uxPMRNsFLJ>BF?-{?O{Dj84j^!Fk&XkY*Fgwxgju5_ut z1382@Jy}UF`KMs<1_r!~&u;<(#mcAypOf}|NIxFnO?L)%BQmWG9E-_W0s~238aQAB zSwRmD7)WyIl>rkZ`w!L)2a||S#Z>IAGrjU5Lf1nrXN52_3jD%DB zATQFJ1_zzO=e?j@tm@?8jDbXvliG%K$Ah1l>ecBsje34fk&xOBv32}7#B)&^{VF(| ztfSor`Rm-j1qs00a+5hHI2n3K^LE z>RT#R;bkFy6u|`XqiDwF@7tB7BDKZrOU5UtteUDrJEmhlJ7?rnF41}L7W!;RkQ7i& zNf&QhZNJ-mAUz!tJ9kI&!<9^}t{K_NRGoSCYbq58qv(HA%uY&I9d0UiSDON>{QZPL~L5B>} z&HKMk>v7b+KP`_{%Cw>%o>mO7OfgF7Kc^)?%CyD+Lk{;?MVAllOU}`Y!$$k>+VPJW zbOGl+I0MlM->{XEVZGdUY!!3xeD%NQ@I0L#I?&@?@TJuZ`iD7!m4;s48yZQv)9a!A zJXW2y>g6!#Wymh8UUnvU0eDOwcfOg7Q-u<=syuk=)ypTj6GQz{j2hJU_9X-M&aQ`l4hW~AO1!8M;iq8$ZXt2F!mr$%>lU*xyO4bdX z@ZS~Nm3b|8qm}PFK0y_$MMQM;s}TW0W{wD!YEo!WgfEm+YDAJ>Masjho}Q5(2M@}#wNbO3Ai94LnIvt{-<2L+inTdeIeOl@h3X=6LKcaVdD^IX z0&NyDL4PX<8T=`QE1ghHUgi|k2GQG9&->H2Bgad3chK9B!GR~hByzr1?rqN0`9$T5 z7WNC!DDx7XE4G$Lxy9I*@7O^njO<5DbpFT`GMpY5>Dk*=U;#(AksZ*kI_gldEw`c9 zN4gU=?H-jZZJa=}qQVjyu3IcHMAX8N(1Fu4!3`>Y?JpQI(Z4B@M3*i$K&!B^gJ1w# z$!KbIg6we=vgg}f^z$fxw+-OV4&kE_RkVumIrkOSM!y5QV}GA zEY@b_zywUS7MSy$xVsJRDyesr4j+cx^`X!n0b*i0Q_Q=N*zi?Ty{Qs(r5L^0se5%7GA=VD74NzzN#}n(uxQSlf$HWZ&{pWw{ z)$6x^?R6?$ImUPJc(A%`Cpb}7wMe1$a+*3S+1Y5zhl+x1wJhNfA~!Y&^)z%m{c6le z;z^wn`bnDcG&~_f`uHN9pAhN1;v$s65}nQ|ZwihLDLPnc&h$V+fI$0CLIiQ7UWtR8 zzrWCql`pU|b(%^1Njfbtj1vPrH{O$*({ z3gy7u+f2VtoJL-zaY-zwWi@JDb6ojcd#%5%wax%+t>xWO>uG8;c9K;73XSn|rwhii z5YsP0RJCCX{X;%?+R!F!!UxOgo5}rqQt&rg#3Vg3Y?}1xd?{^C_Vg*X9xpT>Y+Ie6 znglVRg&1%)!zM8UlZR8!aUN33I2tuBx@Z6M3LTUq77EjOEj5pe9uc-uS=W3pUFUiA zzcz%}!3u-V3cxt*^gMyy9XF`o|HkX;XT|%Sri>p#4$~#$eaUO|)$u|9mpWJaS?grd z*70#&4ReC>_CQtAugX#PU?mFoZOtZGe#Jhx#EmEoQqLTBtIkCC?LU9z7ed=XC zmcBE=kEGC36PDR~eth4`^`TQ!0(xFK2v$uzuZQgmePQ9|{_SRM7rHyePFkmQCLPq# zq6vNbuS50r-pN1C2AKmY6O)kw#@$dN*Ko9okru#>K3#^k% zqZ8BI`}<*R?cF^w_uspFqFm{24t+1pWFK+hes{JsZel=BH6Rc6w#~1-H&r2k7_uDGnjP>o_;q=h0T3 ze~-H#h^m)6t8S*t)BQ^2=>O80O=_JQ22cklRf&x3;)GAV9IyF6yjV^OOSZ{YynB3! z7OdVF2>kmJ5t6ith{F3Iv2*m?W~0K#5d3n2n*g{`9NH9jOebH@j;8LDhLK>JHfbc8 zPR)~M`3L`_sZLD&11dqbKR_cghB|FCW5idYeuMtJ1^s!2K9!Lc{MF|cOHMY9__32J zr|Ntf6Ldv{hroRU!IbGFhsY&rNSy>-EOZq8EyFh;Xst3%?9-46R4~ucg@s;-`pr0i zhrXavh2Dx<<_bX=K%+9>lr+E5pE9#ae;SkJ3IjMh%h%EG=J4 zS7(io=1-)bX8CqKd@4cJl%zR+ieAt17+>`TRt$a;Vb{raaEjINcRss&K4278~YVqa0(D(`da-GFO zFZ3Kt4`+KwcYDwuvcGkn3ZVm;>m;|8Ut82OD`Qd)Urf*B>?QkZR!tsaBNe34{Zl5A z9NK-VmlS%L22J%So#CxgDI|@U1Y^WiFMkTE77}jnfNlgqVV#7fb1xiO(RA`8-c*4C zc$lD`gmWoHkyP&k2mo-M)A_IeQE&q%@l94-*LK`s1$U(txBQmTpKtC4foNTXb@b%a zLHz2Ru^O*bq9+TPkr)SdIgJmb9BzdP8d~6WulgUMU(S%Fe&He z_3hIi>Q!-YVFrbQB@_`1k(lRhzoT4P_<3UCH`B(vL6TDn{Ua}5aww-+`5A7%f1>bM ziY_)CjOH^*Aqd#)06moNhST?jd_SCr@8!GOC$G5ALebQJT3D&rD#Fio34LJB?J5W6 zvzjRGQo;YC{G)%AR|#I%b1^W*?;)HXJ1ZAwVwJ0I-FJG#Lkgo&v}SdBl(aX}G_AuA zN{@Ea_Eng~ubaXoQSUzB`-r2C1#aQRKVWf$7378L4;WL9N^2USnUp`%GUW`MguVUy z3hLwFOrI?13*EB1U^LOv;{~pz+G7c-MZTs#ofg>0b5(UB8}z9jtl^r?@8Xya%TP#! z$Yst8ZMk6~27lBNl;)fvPu00b9b0V6y#N!&z+te3obPM{xYZY9ivpq88y5DLvz;di z=k43r`2rVmM--Xboap0^W(J;HY|Y}#-sZHxR!)V5BYzH-aGg}B45&$O^F=yeLce>o zNb;0v`eQQ(Y{o$O?p1=A+VXm1Kluyp2VEC+qjP%C)8R ziRs=cjlxxYA6pI=?L2^J&yOwx2HdHlg{Tw8KxIU7GTczws4SJE=_JOKWl&}CXXuyH z`$++5^!9Wg_WVmfw)v*X4w@TS7O5BG(ZM|Gi(&luSIV=VpyBgjIT zEB}yI&(IAQW0CDeBeIjJRijUzln$xmq~~+`ppG)-bpCj$!swu@K(DSh)4ykU^!_jN z2di<{L|+))S6VoVPMA4Ls+&ONnLcoTEit=AehN*Aogxlb!4UrieE7-xHgd2yC50#l ztKzrOai(sLJl1uRK3mV{*W8;KK*(+CU$}jMkC;gsoE%RtX&;g~$<>_XA^#_@W1k4C zITcj2x+GFb6h=|#H=2y2hAof4Se+cIE|YV z6}Lt#hM4weCI55Uau;QocF@g@i-6v70$VRmV05WLS1Nn_S2q#=nBII*51ItzkB&NP z911NPRvE9A&vK`6xPz*9T=4=lDL6Gc8`F~S@W_W-Tcm}FRpiZ>lXdL?$+n(oPmtttHmDyV8qG`$0 zd!B3G@`u}Mr~O=anm*4}>Xl4q&kOc@edGgckbDo47wxR5HwvW{R+*&bhv^6Nydy6E zHzS1U#gtF*qYoE>M%fuKesp}ED|MP5-F=PV0oONagNCvCmO;GL{~>f6{x#jRaI)m&PaTSfONISu zQn5F@?lX%glVtjF@id$!yp4|&JvAAp!FBPYah=qBkuF{|M0@^Xg6jOK@0u^!p1erk zUlb`Fxma^;(RlLDf-xndMZt;^8-gp)il-vH?`z+VTd2I*3RhdTGyU$V8DwKk;?q5d zbR&gMerAk)?sKuKhAg=iJNtYJ-SNywvWourOd@R90ZY7KoF^}dAlvBjC7DvdaC&aZ zBOXFbL7HU<;q9C)hvdNh;{(sMCMsqdOau)K(U}_dd(>2R_ zPgdl2imq5l%D&>%sfcWu*9nuCC>jm+^-W_h^DMROBCyQ^tvD^Zh^e}wVkh%pYd&hI z(ZxKVrH6T*1^{|**)&i#zjQo4-z+W0r&n1DK4+H=?V)r!UR@CxB;` zK7saMqmx3H)J#|tPlk`)3){+KbeC7?)?gV8Ay64%eB28VSDSS()>SPd%P$yRQ7kg; z#RF->+J2Eq!p_9u$O?o>-&JnlH=nmyT7u-&N^3!Xq*o>p?g>OgNQT^qwj;P>H|o7^ z9@#>lU-vfok&dL1QluR=Dj_#w=q!C{9(gsf&w%!RB(TVG0A%0e_50Ylv()Akx z>4o)C(r`~;41z;HX+wzDR2+yuftjI=Xg~3vr`w zYzpY%iEV8*o1ARz|B-t1@*u zoXBC)Hu3e;yg62^__57CkVPpw`-X$iVEy*3T8yna<0UM3iPd`?CXAd2;rim$#fqFS zk~#0!okqP9t%$71LbcJ>T%vC29y!>kHjiqtF)xEWIY8+v1BZ!C7g?xrEHB5Jmz54u z72CIO_C|A@rey&J6y0gF2}l85`+AUst?cpY7;M~vS9jslVao(ElRmPguiFG@QJh{( zis(@-vK!zjWDsmYTDc_+m>0K9#AooT$Pki5tmSrpCEU& zV)0g#RZL6R?*!^a=EdSRF$>mTS6W-`>+*A~G9U9&o!RJ<)tKm{;%8#%wd!%wb~hTa zEl&7)pV=nn(z@Ag_;V{Cp3L60|2mo9=5#LdLL1t$?GQcWD?Z$#k0=)0reuxG%~9qYJ! z)<4(LGzuG-KLdLSp)qA8U^m+n0_ni74mVk+yZc+;V8kES8-ZkKwDqa|;9 zNPk4r7vD~lh8ELHZwK{z13R~4KD(yhpU;Cl*}0ApO-mmh^&b`gI_gj~C72SMwFZ|# z%BauSiIr6U2cA?KwLR4D9$w@$&8qC+igabo;xw?63)2yWG&z{B5ol|+_f>x)Uf$V0 zE~LM}{~yboi!v;;X=$KB61WDw38PcCxJe&}(Zn~R=-juvN;i|0i_`1} z@NBQ-4W+%`dxSQ>=O+C)lHPewCwcx%ecv~_PYAis9-YmBRdTKjrSH9;rukur2pLm1 z(8V>Aq$A1nSdD+=rnwf2!BUy#A$;|fV?8pO;#`%>mt1FkMXs7ZgL05g^ABg77Jdu5 zYELZrlpfpDx7SX(&!ncY){Cir$YycR z5L&!rmuyy% zN45KgLUoSX7yfUaU)k)0^ zvSw9Sflvr%y8pmr37xro zG%!wQ?acMz&MJG0&Xm%Bb|yedXA~H6xQ>>6^k8Q>xG#RNGgo@&qo<|IztY7AqeW2Q z-h+8VUQYg>VF%X}EtdT@;DV;HYJ94iy8M2M#(f+i^-B_w2=s-I!=yFI^wW>0c~p%3 zpFxF}Xl#9)H$WL@}qYi;kn;Uba066A*_(^LnQnw~|j~z1}@W^+8M?Skr z?YJ5zN$xO{>YI{b{TKBN(YEsjIKzDc{i?}FT79wRcGFTq3TuoOI2rX5&o_0SO4H=PqG8QpK=97N{Ycu%xf^H>nft?os+=`I}1EDHft-OycvhK zD)9!#<8I{M2%;zA3*4E46d%@Ws*#%WZHNxp$zpV3#Q-rylP z@8N9u;g{pwW?{q0C(PkHfWeO=G^9$rRo53%kJFXv=bitEyeOPf!7Nhb@}opJ9WiuC*{cssYjkWe=ung*ZoaV>ZpDp!fFNZhUG zKf`i4ZY`XC#;42qg^E6|k3TkG3qn3KbUIiUT&cKE>YCr*_ zDJGMaT}+cM8|cZ4`M@1=Nzgy*5<`t^mtG)J*;TsiJ6~|XoS3gd0 zSc2g?u0JFnYA|REHFWUhQtA0h`tIdWvZm(8%P|sS7JYx-Np8>+KPS0;4kvl&QMkzw z0fx|uaq^*j@TImenGWKz^xA6rAs>$W*qc1f{w|J&+58Rgnx4N-Q?3lch5yr6s>plP z#oG zTgu!nAwr;XtR;WSv!2 z&>?@gjyxi`XvL>sOS9);yst`hdQDK$v{b8dEPn-XOSnSBO$M|jx0#oohdZo9kaPJT zqaBo@BoxVQ0(9b!snQVx4Zc+t(qp+`BYA`PjBdf*7cWxYFH!+HjOk_bk#;ut9E(xH ze{%6wKrh~cnQR*mfidH<*kMuO3AFd^EZ@swZH=yc2-eo%#h1#cVZqq=`>=R(bE`7x z>f6IT1eWETd>$^2!3J%9q;2zjSg0<7#MkM!xBbZxYTNb<`Is(mD}5;GNz%*`}WzO+PtC-OHb5)Z|agyYe`*?EOIF&_LdD$*bwFYUSNZSC@;U$^&|0_@e;>5pn@n=Lyzf-I1D!P~&iD<2f zh}J6FTZ>awj#C{2QXQV%cy{2~if1F9HFzrM-oM8663xgK(OoN^HauF|wWWDzM~ z5fV8QaT!Z$)?h2$$L3FXhXdG z3dHW1vRS37K91V_#Z9=rtY4}zXn5;&)Zz9ov3oYe&us@vt9Rl zYv`@hgrzV18T7x|uVuymX210=g8jU9I4cXf%>@gJr4JNo9blL7Xk4iOUjY&@!GB}c zi=zL@f1*_I43ZK&MR*GF6yTYRM~^4jh3@++xtG9{EuzDncyWwUjm*03staq`-(3}5S zYtfQWLVB}M2U6#j;f^V!YRx3HKK9CPv3X{kS2ZPGEUi^Ll37G5S;Xc$kug%}BDTkg z?2ybxmfr*Qjci>Hf(zF5wY5EnFOe!Xv2S`3Z)x&N>`qT&BA?cl_99maNoEEYvZPzd z9N1vV8ngWpcEg3llR_5Sn|w>Qvz~p(<76LO)Q7w%dB4mYT*-1Wovm>t#Zv2M%+8Gr zmC81hCX4nZxzd_e#(c?J4swRI>*8)rwqWy#ek2te_7y);C>?2KUHXx9DSQrl zq#p_I8Hpe**dZ-ddW+F1Cxg%3U0c;ptibu&uXGrQbkV@h`V(K5i`Z!`E*2M8*odaK z5+j;M5x#yiSfE4)kcE=xd+fac@{yFkn-v9Or@hHs2atiJiH#XR;-utv*~$TAuGD*1 z?H>b30FmglTCX5tOGtGszS6N<>eGxa7I|k|Tq4j%2jC6EtFDQN#KxsQ0I-Cp`e(v>lE*Jpd zXB`<2%VJl4K;*FH9B*|&DC}g%4fV0+#LF$VJV(#g3@5#N{5BB=YCTWru2MA^G=(Rx zvD)FJLV9E(iyJ|j$zkRfK|YYWrLjv9WRd;1uUUJ7qw%>^RuGA8keA9{8jb~~2LBR{j5 zaYRQZGdYgJqz3VC8~1d)AAAC z$VQJLk)F9I{Sc=`OJs)DaRnSKmUf(D{K+)7VGNNyg^`5Anv~Z75m%jw!3j;8ofCTN zV{TwE3B-q7XZZK)?w}bRKLY+v{0eGVw0e3k*^6A)sZauXfdIl&l8bBq|xlxg`m>!;u?TMieM zazYVWWDGOaJI$_lhD9Li<#hD82R%kL8S#zRmJ*Y#sO4m>RV~nF-*UE5@Cy%jjRWyC zq8eKp0cziQ!O1qQ6V!MXDt0yVs zCcCRA!=#ASEF_%_0XG(;lP%H{G9!~<&DhDck4++kNH(k3j0}=Q_OqQCghFM-W~pnW=8&s4QpGRq;1tYnGP^m23`UDSQ;D18J&GM#K-^g7R1(#F)+p@z27^=K zj$hczQz7anvrnf&v=^{z!0kN=UVvP4-d(xNtpqzYDIO}u(a1dVNTyT~!xrR`rQ{cO zBabAa#_)Xdqm;Ugxlbegr6a$vctk9ah}svXk)8xpeXW2D0I81`fHeGc|Xz<|T=IC!Hv8SlltO)&xyS8%2n zfut%{V>9Zi4hsxXQgsqaa9W-{}FjCp3)m%^c`G02&5@Y zoCkZ&+F%SC$hDlT)+l3O7pFs5B(T4ylSC=zDV8vU4CuASkf^$yq}9T!WK2U8Lv(ox zE1N-D7pUoyubd6jrX6?9Q z2)oXSADcRdl#pol)f^l^`m&U{usvFCvL$n&u^VsJR?P($kgc^{=96ATUGxW<_bMVD zWD&dG3L|hZ>v4_vvSmeJoe}JnBI4KOCcaZ*`e-YA`Wh(r8QX+%w`T=t*q@lczstS%Rd z%Jh@>p`Yw36GGHwK7YeeC%i;Xg%Q`G2|hjn?_eUnLU_;U&TkyRpnY%>I>7Q55Z4f) z^%nT@CV4`?RaY!zj`-s@=Zh&iw;Yv^9QxC?(xcM4x1oFM7mxt^@tx>=(g8Ma zDsfF3jm{dx?u`)xZ$Ij_YBO@=r5c2#+%fua3AHlBpOs~JlC={|>B>xSUk<*C!X_<* z3@c!-FNC1XVBakyBa!P{Osf1Rizy`?$BmK$AB}jzTwy8+@};Ta8XQtJ85`omO!j>- z={@x5Ou_bx)VyB2m}aVRBDgEGEbk_ETsT^3kWaRJil(}K0gMJV*hs3-(@7(NOOOp& zL|jVU5b&?i8&Rh1WGxY6*!|f9Wc?oTIfAT>NUa1E(|KO(2uoDc5=4l$6S@uvAoQ!9 zcveFHF#BObV_oDMSXCA{mGod|7U7gNrjAX>BOXDc(X*At{W@tZG~iTBz5R4;2^SeY zgvBf-!97mY{*&T8+0%=Och6TJ0{>uOZ!adF9z5~ z=4lt(^9%b}ehG0MX!r#VuCGC0(_sWtER`y}tW5XjK0y_1ah0;}{MszGwS;_Mx>3+^ zWfKgQ3+BAb2Ev~{23kW87;L7Qmo`Vm2*=^l9QpR4pQI|`QM74{bS+MhVd-g2#g2OJ z1lAF|qu9ohc-dreUJ|IF$!a@Oy^r4Fk^sT0KrCT){M@5JR&r(!yRj{=HkGzBgWz`< zdORK@X}~DlL0?5#)rs-_+=%hj%Xu2CTViumQ*n2B;a$@&UCpfYY2u-{$Sf}BF;e-4+{oWRcMYKy^d}oH zqlJ>A?7-8|-hG+PGvpJJ!y2C< zWV1~x$gVD~Hxg8ZIQL8}C+}$^kl|hSg9CS6VA_?$XXu@BWPAW=;AI!Ul(9=d2+4Bt z3O11iXU55*#{LhH3Eu-RAyi-9O48qb?m9@5S?4jzY5}&cKze#Mul}a?)s+y?J?a3i zJ|I5o#mC|K%)WxexQGn*Jco)62A{$b(faN>Hm!mT^w@{y+I`_hXCa~=6$>ERsj6eI zSCGKc+1oqVql5OlaupJ`ymL@ATqQnQdLIW^Zm5{TsAioL`SN<58QpWIxz663I#NmPT;H}aJdycc)L;Yal-17UFN zn3f;<`4nEhL~Pp1G)sDp2+j9bjtPR1t)hH*wnCiy4OEB*aF#j<)nMG0VNjQTd=iw& zu^64PbM)MQx-wX_@N$LMDsRVq4SF8*1nK~Cbd}wE-ELix8iGT{j$Lj!k9rk$OTKA& zPcf3j)CH(r#fj`iB@07mqgdoj1W^iWz+%+G079hKjy;T1j#kLB zH>TJ6t%mo>u1?e*&AzCF!z_;Ve4fnF2nVG2@fKG8JefcEyg=ynzED)5796ReBy6G6 zgsKX?Wi~cPDOX&Mm0w_)t4f&P3nZXag&q~B-b)G)lEf0WJDa~X6=16xlGVEvMW)qf zbAo-Eo14_KR&eL#mO^MeLj*U!3aD%^RG(Sxa9;(EQ+yG!N@zL$*Bw!{yk03b_7bX& zq*&bV>pED99SSj7QHbov7f5(eB*JSOWMwjr*on&bo-z=NEWW*lh(<)@xMoe#r>7SN zzrx0>A(I_OKBiKAAov@Sn5VEe*TCPke-Zm;4Vf;nM_KGz;-)$MN}MX4KRKU0x|T$Z zdFK_Z2+Sgi^uAeCVGBb*d*!&$m`))1i?JZ1Pxr^1v zwP{?HtiE-K7!jglt)*km>&SGsFE=Y~)FH8&mR1(MJCUtjN8I|(*@Q`&6MqN8d+{;_ zNsGzwip{l$*O6q21Tp&!q|Esw0yuL`sjV=Ye~*Gs5c|}>wrT@eK(xAz9rNJ9%$t$^ z9&Lg%8s2=s6#Si8=lnHe1?;|seGFi82!9WWb#7Kg@W*&%|2$}6??AgSWZ5-(>#(S_-X#jaS8mC-QUAKOS0V%EOc(K&w! zuUHxEbYat4_gAV$tje+MoF!AD?3GqBoLQX-`-#)!bPN=3!m430H&zMC4N?Gcwt}ph^g5d2MbwSDHixpvz^T$IPr*4$M>Nk z$h8@XLa26rNNP@2=!IVKEi;w%F5LAd)*$%}tie)^+$08kyPZ?Ql(SL0RE8fcUt=6@ z=*B(R&6i+3yv{T)lfffJ*OdtoTG)$Xdk9NVgT@;0bw}JRb>kPYy6uJ#WX^+QW<@WP z-UA~<_sgL+#F_~4aM946zauKaL!iM(uRMlL16Us04g6lBzw%p-D}*x*vO`vXRKUJ| znRt6RzlA!X7sf!Un3ic&Mvwa*$CsG%CX(3a>m6b!rll8E#-AFK)Wqaq2?|5?qD?rD zeg+3ZE*QKSlJwC^?MI>?v*O=;YZHmVafWXq0bS!?$J8(wcjmg8B>PnEfRn&wI_3>& z*I@zK@^1eD-QoW*u(Hj>wNx$a?8;(0vdRu$ow;gIkImulA_P{r&do96vJH33#{@ns zu$K62etI4X&yOh^6_Z;$RD6MMIk15%zOj^+ouTIrf?kJ(Mbv5I%uKK@ZIjyOw=%?{ zeqd4BOK z&Splj$F`C&-cO34#kO3WhPAlEXhWx060wmj#AzJ;25m;N`32jPNHDYN!%C{IK7zCo zI`oXlmp9+VMzwXqJHfvy6!rq@lOkxb4xe4ss`@6|1MH`2q8p?E7Bt{FSZulQ+$!8t z*tReMuLYQkDMlcuaL6FM=EK?%+i>A3%}r&Gz7F5X1orIfB))WlayY5PPxu*zS&Vlp z6K{Ygh6C8WO?cQ1p`AeAcA%5q5Y`FQ0%$s{7s$?fLwG0r_aCh-xatkVJAvN;m~9w= zJn)r{J|EPM=c6|a?8K`Bu)R^8-VoFY-^z-%6Xzhgy-u*+FsQR^Q9Ce1Zy4MOe3ZSr zo%9JB*IwqKH-vPSg|!1C^oE2^pf|gT9wv7~S^EHD^@gO*;$Ok7VyX#x!`M#XrFLMl z-jLi0JkkzK(Hq8f0&7^_8>G+NP3>iwdc%ayGO-av)06dvluqE2?ZByeLuw~*DuC^S zE6^L#I^hZJ$kX+PiJib9?E5!}b7|l9vN?J~WM`S}{f3J4hLN4{Yu{UkQmi*bbpp?~ z155OV=uTimJ8+5K5Yq{K2SDriR+eE)>J6hTT{{?yvZXsnAGc?$^~9IoQ67t`8Q=#! zf1K??vB!k_Eg-N381bErhp=YRfNOgL8-BPbvAF-$7j|`miIvwT28XZt@udvEBRZh8+b~E7I0hvp)$+fF ziadUjP)VKnRV8)hKZtZVzo2A&_-Q58@ncFF$QzV2nD1B85MHCCVf<|+_2AV?8o@Uy zX*8!uO^0JGrHf*Dg#t_9WlEaNOO!N)7b&Tp7b;t+t@2~at5`c;ue>6RM8)?iuUp0ITgt0gBECg=-63Ar9(jwV|U>w%@it#)LqE)?jw=9pYBnS9lZJD#t)KIA@F90utB(hMhJBdZBj*?ALFsFsOw- z9k6c!v&xGx5YVn2;HGv|AH6}}0jp_;K`W$pz_tL!ir*zprSkoT2IviL;wJ%xP$_P& zG*EBIR4QR77qr8I^oFbsSV}t#Y9+e^7IDAHL3#sz8pJ9HeA`h6>kX4SVDEoJ{XCyPm&qJzNR#x#E_SX4H=YU1V-IfOlUUjw@~G>zY%F_J+qB|S;Dz=Y zCntfp#6#`eRh&ncBHD8&ySxXtd_&mKy(Cn+GnUQVi(5Wtwq`GGkJ_@>_Pw~#$zxqaRpu?|U2*gFer;hu~<#9pmMyu#TGcBB>&LfsqK6_LLCChJy5 z-s;IQXr)@Nd%c0g77nUsjdkQRmqN2x3}NZ|b$FEO1K8^ykO-1e`|SthqFO4rSbN|g z3F}cxzKB!(_9ZOxvvDe)3vsFyC*oAokuO4i?Kg3%KR%CBojHXIq_5&s67n;UPeeW) z`2}Ccsm>mcQ|&t$r~2efoa)E(ajLP%2OuAcd?xaB#}LqmKDM2XQ+;|aP8E)PSL9ug z4?h>@V!e$@Pp=XI3Zb7u099QqW-CsT0I!S1FloacvU3%nt-v{Y62Vf_Sn4TIWOpQ+ zcM9IYsqE!bWbwegU4_tTs+`dZAEUCue15oaDp^D3Tg9cbaK}`7)kb|uMiGh6XV07_ zp*_u0@G~&tul=IvbBEgc(_|ST4s7&SWCXm+i@(AZT@Usm66sfew(l!4(q(6V;b3yc zWng(DSYJ+b78mBWXGxCM&a;CnaeOa4i!ha)VeHqlBu$#_&En4?cwT zdHW`u2VfziH{S;yZ&C?ogEAfdS64>QlfWSBJ;4N1BVt!?n2lN-FQaS|Rwb$ykAOf7 zg?~=m9SGqc$$mOde005``@u_)oR4N(LlMNOr36N|d>+7*$e8B&Y~a@jHallvd0!LP z=!z`whnNC@xGqu;L35FU}U2fw*uM>?k5RQEkL-%VDEiR+-Jnj zwhkkM&r;sR6^7%AS1}m``HHcQ6X&@JMIBsji>sWL@NC`}HwBRAmvP|{Adk75jISC= za-$yp^UHiSbVCMrLwh)`qV{Mu^cy&>5m}M-4e{_gmr&@5AtK$sFl>FShMlvPzl}$U?ru1yMR%^c`XdA7^iUhgg*UtXDJH z+^-@{Q89}8fe+|&qRdQgY{|CZi%F0aw;b7*%_Pv-56TPMfrq0)lWL$?#DUD=d*bcX zO*G+`-_gWG7V|w>kHhDe-yPN^}iz+ z=#S(z(zkZ_WrDB3&DhQ+{zTlRmrB{3pK#V+Tw445Po#iIYyV<5ekN8e z=BO6RR$U>B5gsUAMd(g58+MiGr2R&Q&;;+=#aH2omR`D1yT1hi3R2-y>|`q>+`OmQ zjaK5L_J0cMu>jEtY}hs8)qltzf(lM>HU&nOuYt%b_Oa|0X=S+xpAcW^xKhH5*AOl9 zNeSDG2nN@u;qC|FOdst8f)ctQUieGw%ryw$W31ONBz*KuH>;3V{~D*Vxd8=%XDyyf zc&^|Xax+df4Q1_O+!?x>uYM8@!v&Au17^?tLLy7gLN4H&4zBp+;+$#^{Hm|ztezjT z0@Vu8ryaP{3gjyUrmh{x0L-lpMh^PZx$vYY6fKl0@Ib(;#0M@tCPsP+wBoUPehGz^ zaFLU3Zt#;V{yK?>72N_j;JgnLrrhip1G5zOFrWf#I?Zjj;N zhT0su1@64Kfvhl#VyyvkYebHxZ*7$ck?g|K3}A|BD{|i0!^f z7I=@h+=KFKwG=s9iqw^fckydBaQEmd6I+Fu9M0l?B>{boAIH|l!r`~3464GEdoVq) z?c3N=6cWl_{}or9ne3Ziq1-cB{%=H24zPEBBZc;V^inv;`WsBOKEIPs3E9Yg`h#SV z%Pjg9Hd_HZb&JGWlin=wHi_wJtb%;BlTQk-?_ajE^M(Sp_%`td4!cdlrL9l16Ss*+ z9|H`~D}O<5ixFSM6{R`vBKLTikv5oN@lV$Vx8eWd81$CnEph7pNpTalIZU^g0OA|BY*X|ck#gqCSV3)u{it70v{uOTSG4yiNoGTX)kV-YnRwcafH;dgLaY|vghrj z5YkIUaU+&h*Wv`mIK;a+;^bWGuEBp*;vQRxlGMAVrFT`1EBu5>kktmHAoYfl+M=$~ z3pS+Ni}sQajA~zd>5z?PT>^{smj>1LbdXXB>Bb5imBQtY4;C(PlAdw}%eDqeUy$J1 z0|TT9wn#NYq(>#Yigma&*3`})Dn+QBeHc`G)|us3B^(CLS!bFO&lj-$_%VOYR+J#u zTze^8dP*%N?_jG(Nv^DDq?8nxyaR4)^@ik~sGQn%=!(6zZpBFJk;tQ@tbpWgSSOHnD;DLSl;7OGa#qTF z#tF&`WKdQhKSX(feV_6LqXp#!HkMdmKg0q8`#uYNI9jm4|K9^y6elJAztiu>I4QhK z@EfY--JQ3zxXN|2`aAkVTjS&}@*qXE&&-yFNr?M>XRZ`xNh;+*2SxSpz*4o z*2k;9+Yqlh{$jk!$l_I3@%({D^HRL(2%gC=$E(se#jCb&j#u@oidW68j#p{7#jBRR z9HY(Fh(tSl+5tW2#muzbNZU(yuKe9y2fXG0Ck6cy$9 zp1F6~i`DP{JkRnOX6`v>&YU@O=Jn2<@jIS?%WjUO8n7C@>J;1mp|N+*^WVTy=9`M= z`{LC0K`2D5jqDs1XxPv2tj1@+|VQl&*#$MPc?EJ*orBxm>5NCecXJf%B_Sq-MLeVL9 zit-!OctpGAg{R{Ni`UP}y*#yyH>hkH$ML zpFrn$5T_B?D-UCS=xU20Wu?`|zv@k6OF!%)x;yw*gZ=V}@@^-LosFmtcb_tL_koh9 zo-vlRH|Cxy|LwBTWpW5cZ{x!im67j7sD>ED%N|A>>yXDWQfoe3DuTNO_oREcH2b&V z(mA;MYlchT!VNhOgMu4-VYsvhZp=maaASTSE`0$PSvy?%3~tJ$;ga&laOn`-y?>4y zE}i~!xOC5z;nK>#hD+Vx?ynmzoq{vp7%r`Yd!=Ex^wPEA($C5W>3*LP(tfyM%|_ru z+7Z%S%|}QZ;bKhi%j0huAHBfdI9#x}@uJ41W2-4mZ@V*v3(ux0Y3 zlvI0Sd8k3IY;7z!$$o1ihX=1a30=-PrKw=`rJD_-X*K2M+-mzeHpnbLVT3~8G0Sfo z+6wlYz}~&~BHk5WKEcx3%2~$sC)v)n@-k!9NtW48{?k}}vizR*@^zo_f_^K}FaH%I z<1KcGAs+MD*#%H*3*b4mRc;Deu!;-rTHp*+6LOfzX`hyGDgB zF258mKV?*5vj{dCu-OCTpA21BB09hO3r&_;2S^sb{P_{axgG2kC)n(Pa)EKviSnxh z<#(vMz8)$6)Oy9R5z^yum2gUVag^N5q!z(>e0v8`%HN2S|BzLXTLrP#tnx5p^`Y_; zR(YPmSbwPep5bzc5v#V(Cdh*^EL@i$KcvREpvCAqQcf_~${!vnD+Y@B=qUMs(U4sp zGe+KR3}5*jr#;Whw;AEs- z_Z^#@ET^c6)@YKiPnJ8F4EFN9lVsTtY{yX;{F!>1-6-}Q^e|I?glUSIXM#E>gVKGLp0+}fN^u>J0a;)bLG*-#2n@~PwvTnoGben6QA)u zAhLO$+`D<=0&EPfl-ZWKa&S0bW%I(0n6pgVg-`CDnkS#bl=8m$ z^5>3qUqj2|GH*86cT*^yLYFCY7lo9a2=${74x7jM3KX(Zs1t?eQpil9r4;g^&<+aS zco-p^2#u31D73Bwp>q@pCD;!X%B9eE4-fF5_Xt7)Zl%yB3T;3LZyxP+^stJ+(QKMDgcCBrk+0kNleuxkPZtLy-J;4y9~$p4`RJe5m)R(go*h(ecq4r7rb4L+2&i zmk9vvY9@NN_jlDd{sSR?-FQyAkIIJJ&xO)Ry=rS+Wt#qY_MNH78TxEd1@NC2ZavB7gxpmT0t6Vx-x-{l({ zyW6~IEon79Ff85SAA17&c|Jqc4`NJ~x8nwutiqcOhM|!#FJI&+&0K(G2Ao7Z8K-pI=nP^KP3xM=bZ+Xj0(=)l6m6LEcH0j1;~dC5ToU8pwtwvXEQ`-90%s)m{MG#sSUYi0g;A zK70d8ZmXY~iYS+uO(N|l{cxlzC2Qk3D!0f=2QIZFxkRC=1HK}a2$3ioh*V<9Lm-96 ztC67OXlwr0ez0eRViQo_3p-!|N-YDr4kN+F15{er%M{IC(jYR1&Z?rOx&hq? z3!$>-D_l3d$FPaREO6phcT{-w#6-FkiY>{P3mv1D)zi>-Y6{=Cy}rR&DoW0#-uY2r zDS@yC{?qg;wrW515zBaA7!7r8%-k=7QHzw771m z@H`1I2f)b6*etp(<1vKoMc|U+9PgV#*JDK4OYoS=lRQjc-hs-Gn?d;90%9UQRKfTF z9iN`}y}Ag!m`Mk!$F#}$gasFkVKb)^TZf|v+yKS?ke!3KTaWTncz_sF=-#R-ghij4 z;u;4NO|wL#@}m)2X4dqlfC-VJ`TM#^Zy@Xpq650!&tV*Z&4_I2BDqHo(vyu(Rb!#b z_|q26R1oLQ$H|gy_~?7tsYP<8Y3iHx_{K9Qk~I{{-3EWXpuVA|&1Cyx8rAQt>Va(q82Gqh( zD4l+|!onH#3EgoMn94t{g!S(NV_!aKpQsWU8Y!*6^0yEbtyKoy!;&cyi5bZj7R$Jl z^c%LNSPt!T1t)-lL5XNO_)?-Tv2Y}#XM=Yxmp+j@7++0by z7!l*brUJ`lq-i9pqC+Qmnl4r%!jn_%)sTZOm6(}s<*3M{& zBgkxDu{I_0$i(A#)2%T#zzA&WeGPG`{AH0LrSL+|1pdJ!uZV9V>>LqlrH7uDS6h-UykHZeP741{0$}_HcpP+K3wLOxP^hBLKDW4;rD}oJpId6niwl z{I66t^uKbC!D57r-mtxt-IdRx8TbxDf00V*Dm?KKEE-9C+4P(A`NDnp&a1)xOFVn! zzw#Y1ZBC2vMksnqXX|R@8F$H4A?|%5uBoDm9v4kl=94Xzmwa5S0Uq@ZTqG8g1x zzT@GuBoN#-(b9st-`9@nX zK}0*Z>mp7?IA&U0&QxF~^6@&%aC{=ZSPp4*-+x6z70pwFnC}v~PuGh!Z@NDr>>3?9 zqhTTqIqkgle_6^BxwmhTs@oYI?NwDQe~H{P=Ezdfw&mKkmM(&(vT@s2fh8QuXvW|8 zMD#IWFg3;I+GHt%SpgXVWOM9L{BeogvCAVbYGW?%SgTZwwNm-T6xRMFIn1~%g;`&c zL)$UZ1@5jYwZw_S@So3~eF-Zb5ihZ~UXsH@ADUC&5Q8x!kmiEv_>ZiI@%RapD~y!_ zV-rcE11GRQUXlkSJ0}ZasMuO!7!ehgZHX`!9E6Cme`0uXW<1)BBufN!&54v88lk{V z^$pQoXwGCVpk1G?0?T1|yv&z9@vesRH%p$ z2EG`Wodsr#4Nt}yZ8y^p+`fqod=+&*tQ6`~`+wWkeH44WC}TuU1G&t9TdkUVi5MfK zY(1vZTm}z~M&Ua(no>cNy0u!Rp~}Ef#oBHAi;n znQsIxx(oFp=7Q@!$TEjmylAY@@r+>J8#RwU4ps1RsNdTX-beE*ZLwV_!Qx*-Gb{hM z>$P@|M%8Hdf+2jMYo&#X&N-NnW7PJK@M!so(Ayp z7+U#vjrJ7{Q5Nr3#D*=EgN$g!rY@Dc44#NK#HzdT$%g4qC~`sO*_Jnaz|619o!Unsh9^sy&ZY95 zV_59#DC{@Ku*}!xuy$F{8r8#6%W5bzm0!S~A;68&3+%^t9#1v`$s6#P|@+12sOVKO({lz6}kN_|MVo#2a$&HdAS2g=9$^ zHb2&8ncSgs(N^@<5izSp>merAWk6$YKbj3)CJ!~{k7o0i$sLU|Ml-fd4($*^CHVMA z(gC%Mlm))0h<(3I4!a^XVzuy0f*^_MBC&hll<#ybLuS(XqsTk-ujop*}`9A*#~dQ{qA@kQ!JD{ z6_|}bBT6^~dvZ!FqKq`#?ZDS=V-0V?MDJX{LYE_Ye;XUKT<#fFo7Y&e=-cy0T$vWh zUWWRd&L@ewWx~i4+mh^Jc#(kRuUqf3vgLBem|t*usi?bHG*Ig-9IWw zS}JJ|CTc@1lh&{&-o_NK=oWkaZ8>aE7SUi8FvVMmc8fin)W_;8(ZXh8NO58iOL<=o zV0CZHty@i=kCLJFobfH0-#c=Lfaf<-J@T|1qA}bV&tl(^M;I5xv%Gguh3xU{wRhx* z4ryeq4-X?1HCCam3q|YEq5FSsuRwyM?^3j%}#MU>N4ZHx5Nc zV87ARMrOC<9}Q)>E9B8;QH34{3I!3pMuBYkthSn8Ux zNHAYD3aZhEux@YHlm|NgEEJ@xMgemHboR@n|95+<5kb{zL>N?~RYTNjl(7VrK~$qB z6}1{Us9}ErXix2!kFdT|`rtXW8a+US59$afX@t6JH19cfW+htxjOVB$3oy|DB!%ZE zu%LJ4@X-O_MB`=d+nk!pU?+!h_>ysWhSwIB-xotI~HD1)?dk@uWDi_3(aL zyWbs+M-(=6wy<&EIH3U4#?VxZXQJWa;H>=5Sk`70szU);-9<4_ZmbSt=c(0U^@F!p z2VZ{7E~-OF>)yyEZVH9zhd{%kDm(}_YBiV~!}hI`$EnpIKplq1bjf4AKR{1X1#P7B zH}6)9X1y5RX_8xbdo15!G)F@|G`fv6G#=Dwdhy?BN!Bw)oYY8T_0sg_d(~xIf~E3- zpb_ieR2$jJ59GGS_II<3AIJlZ)iJF5hjMRYMGPDBA(n_<#@8DkVjwX+hAkuit{C7_0-Y(Jk$l?-KwOJq}nuVcAj(XQBEES{pf_XmxJPkp2lEs1hcv?E=_}7@Q zSXuL{YmR?xJ0kSa5ndb2`mUC{IWi%NjsGsp&5s6+Qz1V8YOt5(=LkC|_|m+Srabn! zh>^-Six|GhZzftNnv*9H#d^d}7>VN;MAIn{P$dqWBWh&KRTHvIv=KK@wl)n2RIVQr6{gJPkuqV<189*wx#Wv*Wn35*MbYn#8ic&yRfPTamj*@O z;RX)kfweVt?v)*Z_Ao9iNyKYI@xa2~__88ZeOY1qt|3Vmk$Of%#EXwGq=E#GV9W|W z(cZThDI3LGj6hw2VLN3Xl3eyFW6!OVI~j9-XRofqcq4;iBUyFO&Y@afafLPk(Rc&b z)sQOB67EdLR>m*52cCdJ-}fT2l&&9xK@*W_`GTAa`>mg zti`8tP|!(rw2sV&r+6B0_zC>0fo#~Pa{sPkw6S%7Xgup47f}Kizd1Rg*pa zDOFlVZj$PS`$ejb9zn>xKDEgr%L?*xTWUj91SY$7O?HKsV^{~p*;CzpktJxa6gF?O zi-fI>2{+MQ=KZ3)2)5;Hp#v-N#p^BNJ<`(7LX^11jDM>t3<-o&-zfS;_z8UdKWnlj zu`Uq#w1MedvX&7lQ?E92HKuC*ChOEWP2=j#U~_(~Ld#&yc(MB6Y%MAu-hIlu<+FjY?(Pn8ePnmji=}C^q#9{E|=xnKDg_`K(CRZG&uaygB;seNG)3 zC2d0kM+0i(nc#xrTZIR8Dajv7=Hm%kYS|5HT16t5fyWTAz>-KUwFWeDiyFTOz!VKA zb29-Qr52MezQV8LSZ2iEP3dZ+KKvH~B7I%_X1t1kr53v`dUO7z8a)(1PjnN1PmRuX z(Od8(09KgMB}>Jaf}qNw+guM1FKcNL4Nv>XQwN-QqICk`tnlz;C$E5Yua?`#<1tD+ zTF$Exxyt64`Xs418l{1fMk!!JbsSGi$tz$3Ps{D8+l~;AqG!VsHSQoSgNLWxuqSdDi6=$Pl9m_09@WGUtIz-G= zg~?M%$&`VcsXoyc#Y@(a+llOauyaRo zCYtFuplF?CDX1MOd>1y&!aggJFb^AmFD%c8I1dZLsUW1zkO*yjxk@(`4_wyh_6fQ? z(20&rBtJ)`3njXfbb>tisR^&tC7i-15S?R_BC4lcV@7|kpE$nD&I?jzBpM`A`SFjB4U(-z6 z?WAlddH^F9n}^;?iWhz8V5^LQNDSVMiOd7$SBP?jETYPNXd6|ZYzRp^WPcZVT(2_jz`nP;;p#@ls z(b7|}woM%r$=-$Eg{(PXWXM~Z#h(nE^5(&J<+)hxQ1doknT+#2S7Du4l==W<^7g!? zS&~xuag+*_C1$i+gsQW}I78$KZ?6)>3jvtNI+bu|0X9@YmX0X@1dkQtwItbzSUge9 zBwwX=qNXfxSKLo0Kw{HWpjJ<@gANOrKnAk2o8|s@&eh6TyvEVg)6KbFbe=GonaE>o zt+`+jmGl@XW@xsbyxuZ}C2o;>KQxmk&8%-&hi_D>VuD}IX?3eI&h+#j?q8{8!2AbM z&7W5~qn?*9{lBe!^^b|gR?1}vWVEuXEpnjanVv9TJUQ|1QfP~mBUV%+^5!qh`k1yz8a0NCE}^EifjH<&REx|hS+V`uH^$Fjlkid zFmFkUXh`8lF!e#X;hWn|Gn7eWL%iohXf=$^ukjGUn_>GSi95=bek=B%d0`l~*q}aS z+O~>TWxZ%Zcy+$0Dr9MR`Rui{?)+(3j^5B5O)RYkFMqwMrJch9x3IJ)7XFK+1zLo} zTl}D=+ba)VwrK{WUdxWV4k_zcVS$y2n&m*%I;z4n1EFd-SKZoTPvu{#I9N*__~%zD znyKa2C7BmuBHiHJBnDrxo5Wn-TriOg1Pw&&XvJJe8%j_e{r;^wo_KVKsE=V<+C814 zu~(~9bT6ssbt1X@4K&R*G{|UzqWDSZbxR<)#Z2?f@xg(=-M3*ka1>t#t?C+fUPASA zw4bh(xc<9nB^p_2Ro}vAgQX|+e`=R|2z@na7WmDjV4p=@0F|&KB{dz*u7&r(+XSk7 zxRZG`g2hiL&XGzny+IQ-TUeZ@+K*TH%9|_}s)d^N3O}YsA5FN74ST4S`qsSgn`>zD zLy>ttA_R2?Z3ETY5{n~?DAlf<*11r;cv%w?d(B+%6CRzTr=rvThe~QUc>2e$wf^xg zyHH~^6_>Yv?8S#cN6wDuI07RN;lDpERw=KTs4vgLcTZn_CHpzLlQ59n?n`^+J~4Q@ z@0gwX?z?wm_kDou1PkrXC>Jpj@-=C%(1kDd2&i`8GkFOu{-;?oQ$4k<5=IIA`ujK} zsSh6ytt0o)Nde$ZYF;QmBamtnA4pAnk~T-7F5nK{gCUQiV^^E_RJ^|s74J9#|JcOm zqZE*usCb(lqN$y!Yva}J7HGQ*EF`6kr>XRsIrPSBb=r@CfqoS{4DE>u^>VJLmzXeG zRQl*Hw28`GPzE%5KmYu%ZsuQaVO~VdB8}whk(Dxxo+KK8tBZ5|D!nwqjK5TD5=iB{ zP=Gf34)Aedk^{{{2+DR}{sXqapp~cvGa>3J1Z@1nZX#>wTviJdDm~55vB{Y5peM;i zw^WHh3V*hnI(msbspYPht}3a+s#Kn?GNn8WCo9Uo-o?Cd4Sm1oQ0=VhiC+;I$#VGd&ykToVZ|1z2fZPiZj7l z18p=K;;)yWtdF{87;0o1HEP4y?^7pZ7~6F^aBX1s)XhR_w&rWh+C%Inr)uVC+0fYhuRc-_AlxVB5-Z)TqPZ)Pq@;e7l&jMd1@u^nG*Z7M+-Xa(AjpPA?F zV1${M=*+x7?}3dZP0Sqcd{i?>pwY~|<5N%J&4Z3T#=g}IYm!TLh+i0 z$LdF_5kdXGt-Xs%r?UkyP!xkHgNpN7&O_J7nHSzeZ6!(;W0nvq*b-p?T3Hv~AoEBh z^SDCmKLuh_5NQoogp#3_6-8>nSa}~F%?10ZxacDat&L-!?2@~qoDaW%avrpYI&mJi zO<&Ff{#MSR8UNCd{aZO>Wbx0!ObBzq z%TQ92y1aI;C}lr=DR0)7@?B~v{|O`U>_uAv&eXq()fVhUbskmcakB%9@9|G9x<}#9 zq@iFv?|17_AF*xwZ(VFOZ->d{WX+DBAoAy_40IW~#T(g=+C8Pps~n=#Hx8NEEcz{K}iQ$US)NQV9TBstEoo_Hk-k z-Z0mp_5r+U1@dk_^=YzIMccL;4R|o%u{;67cypkBGL^y)q9j4>k&O0)f|UZ-{FiZtoyg>__xvHDSCmJWXVkV+vrh};`m$GwMsTcuNvsBzOGjt z!Uu}H(cqB=4QO3fqqR-h=}?DJL-~_5g3v7sz4Me-5%0k6u79YAp6S@P0s4vv1^geq zYKhQ63V%h7=lEY0kzUI1$5ldYzDN6m`MoMg(>zW0L{Cd^b@@;g=dGL9@txSK_`Dd} zrb&sPw`x*VbC?UUpweJ3pt?DjHmTtqu~s)rEm0aVI#udt31Kdv8?T9()8w=%#U++J z$~1aitaqhgUZ|S)}tjuH7Kyt-y%MO5nQT8yT2#kryZYF;fyDjI6(`o_< zPVD2+mT0hgfN6?HNY66kGk8Ng!wAtLw7OyC9hShjaDqgVTAjo?<56CQ z)}5-0^MF=a;&~TaedA|<)K*wMYd{?#9z{##Z$i&7)Eb|yepLT3@AXXBcnEBm+JmIV z8FN?I-wa#~iUPt-N)p+)zD+w){Agoywqk;=IqQuM#HN0w*kr~qoX24y0xd!Tk|z5X zLh|Tb9plK8)GDP}Y&zzn^~~?a4P5yYCTucKViLn6`K( zKIn3ks<_CLH9l(Lkp19J1=x=$r^Zdpe=DY${QD{Y-W()wHrvx2B;MW}jO2ZvB&5md z&@T|r6itHKB8=j8eA}gO5td@@Sq#9sVO{)xv-nUaT zioG8Q>AGe@mNER|O(sLo?KL3|kPsZu-51y559G#K`ksPpO=Z6=?) zK~#B%mW$D-^SMo?T*OVRDKuG3rq=@M#&AypYMr(5ed#a;d?x(&l?6#kw z^nHT^HFON`juLG$NDGH0covVx@`vaZfo^5tB{Z4B5;{HckCx!6=bNEWBr4Vywu+AN zZ!<2c|9_uy6{->ct#8N>Lvb|r_p5X|OYpAy#j7}7N8r84tg_Kj3uSR|6&6JK`U&))@TDZKKHW*2kBjt zf1KLx*MK<&HvakBt_!8*Uo*~`s&Dg9$}@|fX>9e%$Ld{*JGjzRrNX zBbn#bxH+V6CxSdW3iKGsP_b^DLR5DWeJ+JQ(a}fS zG4_&p3nDMItOR-L#ylcwPUK}2TG)hq6@gAf3TZ4tnso#@wi@J^b~~`?r3rl%VLu}J z63bcSJ7r@vK|UaQF@du*A@}_j$hkxgH3?}#2=XkEi!tS2CU0h=?MZ}8R;4K*X&f6f z2sDo97gK0w6Z&NY>Z(eU0Q!`Ts|XTIk_5T=)p&!Z7TD z96Mh21AHGI9MryTvScBr{QWj!P)R#8Y}|6U!hv=d;UM2_;-3ofXpfP$9 zh{W_M8i7>)l$N+U{-s?~qF2Z66QB`04jv!T7~5BkU1F(2RZii9wb-SWdLSGmI}Mt# zIz)tsUJo+v(-@tr(ea%F0ychCXpm&zjc2j%3qE2K9bzAY$9Jhj$oYCa3en3DNaY)~ z*ac#v4n%i|Zx;}q2oZfHMK5lQ9;_-(T@p^=&uP)I&r(x+2zh#c$Hz6srVT?v z?eu=d#)oLJODwdZh(s?kqW?v7B1H6Tir%_0I_*UgveQnBRNl~BG%6@X+N(rruLT^j zi4L((!Q%&1BIG;-M2KBt@ukH0HZ3-`Tj80sPOpt<&kzwJy4dWzq%k_}MHjML5wP)m zEjo5FAQ_T<3PoQgHuEEP0-pH9#@H1g5~8m}AeE0)5onM&RXW7p1UO<>IN&4tDtKBi z)PnzoP6M?+l9m(y*k1Edgo1vEeuC|$hlZ{(}8vw;}LQ&|FW3W*}| zj+yK~Kg&H@{`s)r&Bq;JFaL}KET$>!tDof@X zH{^3VR0=!i%fF!~an4mvySyRdxT>5Mc|*i!``JDZ@^kBnfL^T;`JOfOBo3U)8Eda1 zruT`ol$wq@A?gS*TouAY9>gC)Ye)N08q3GVJGW+oe~|~bTUgrA@WA$TXKmhmh0=Ml zl+FDGAHOVqgRLQdO&+WMMeb_c;&}B}IjHa34vbHBPI~}X28{M|W|{b60H!&20-#zL z{fB);4rL>Mm3xfwnFO=MIvt8SAqC44baGOnQ<{{@TjkMh^Erbt#-ww4aKevJf@N1kDc z=TM5t^V#fka$w(y7?2`@#-~V9n>eiIq#|-CTsT|=pC#R7pPiF?hi=a&TUW5e_)29F zUc>EF^QDz}qoTLJ+ZvA&d{x36CQgdHkUn{*PXa7Liv2!2*!dM^jF`$5?7_CP zo!P!l;|j7CcM43FZ{K~3>Oh?HnAnlcM})J-IL?%_vSl1!k+^!XZCviq;n|yFaExWJ zD0OF2h>b@zunS!7HS*bT(U#E*E@}>Fg;IQ*xz;VL-2E(S$3(v3ckyJy(A=8p+)Hy_ zE)7M@Y^=ck$I2$Vk=!8*o9mXJ?K~c*eRRau2D-h}Kc#}|Csv9=`2HB?_nRC%nB=#o zEy78r0Tko`^+G&xE?1z9?-9}}9%)gw9X*U;NK^ZWKriiGT*$Z62j}O3 zuEQ{m$NWIQCw*}%eF~2TBK;3227$6D+~XkjV+dN94Tkq;~HJfE38zu24HzJUWDLza3=Z>uv`H z^Ebz_w&&$e0S{T~8{D(d3OgrA-CYb@iu+@;M{ybHz_Fz7p& z%NFK5FOP6Mbq$}zoz9+*Ls=f7jlyM2p!2?DoNp$ zY=4cc3S{a0rm7Lp_u%by^v#Jr$a7>+4Wn~|k}t@yVL)SUG{E;9isz zo(cdmW2aM&Mj?!DB<~poEoPxg5y>NT6qY*H?V{Y@`1?yN>vuWOzZZB6=ZCL)dF;N* zp1UXqwfRT~TYi7TSJ)4irzyA7;hTipGF)yDJ}Seli0V!<5$cC z1&_xksysSsJZdgCN0q&f&vAP0UD3ve+nMPkN;%Zm*q*uSL)c_%kq%kF^!5e<6DDFI`#Mg|pzoXc(My84bCZ~{phQ=rL}~Pr#ygQ! z;2g58`_znQK>{+4_Phb2dL{DzM~Q;@ah1wdB95LD`;Fqjq7Ezq_{SlGrnDw@QB{63K#T2CW^I|+epC_fZk zb+Rh3%>OfNgly+l2yTie^&*&a8U>rzw=^K!OnXGYuQAwF8?Cf*<|+mH94sF96{}o zp_^WYdTNBIp64g2BJ{neig4qC5W#r(0!zM*V^9L1MW{kEMPY-Q#f9)|$Ov$awn*=6 z$riiwA61N2EIs~3&W$S7KPj*$PZ9}-c%--Jr9X%@N+JD}ajNtU=UI;%DA}s>Eae7H zA^GGy%Od}!^X$Jj@L~4!^K8=%HSEcHoJyBp!``Y#_w_&x+g=aR z2iCCKdU-%gF+~z{3wFm%48whD*?l+Bcnxf9yzaQY@#>VQsi`bcZM=s6#(umh#~FKb z*5#HQ7~qRh7J9o9@!~i(kvhC<=h)a=a%f=h`Ud{UdhsUy?(OD+Pf+z{nE33A?1fu$ z&pS)ciHN0YL>on108qXI!!tj8Pf*jw*^KV;YH&(5$6ce9^y04k%bD!wTk@dTMI#{< z)@GnH*xyDxkv=9UPOMHKmEss2K+%miQ&UjiX~*VL3V;5}Yz?x-_z`DMH=xhX+x5SE#B4_FACWGk~Sa%G1G@ajyHsbiQ%87=}ik#P0Fd z;$kn}_6$2KD`PrFKym{{lQ9uFX59G`Z@|PqwyvJN)j}D`iWQ|zn+SX!=(!9m_Y8Yi zQ5G0)`mj(RWn?cmny{F8{`2JGdH%RsF7_%!8ikJyaR;WjS`Al_Ijh-AK1x5MsUO?s zqbxRldAWRIGi9N{c(hsh(dLTL5InC2`ESVS$A7s)#4L{RT=p3H1N+OQyk~6d!`^J6 zq_sH`>J_EyDb~`vIxK8# z8zsF}38te~+hknzexdxMHcFVG@2B`EK7WS=DK}o}-tv1PGA@0bR{WIj1J3P{-`>Z2 z-T2&3u^QSg>fWT-_Z?;_ZI$=1=yD-Y31X8wDkoYbOvlTc-C?a0+1-K4rz+|Uj-)@( zNm<(5O32np?1|3G+a1-1G=N;ehDh8hOD{U#PGh};l;wd*0Dt$hGx_}0<3W2CoB<}U z)p2KQ8~Y(h>Bn|3M+pjSlMsvl!fT|?u_D*t8sXBfg5w~d9AM=+gSBT z`ND3>aCz`Fw1|7QFP_&cK{^Q6r+0#MFWhptqi{8FqxvLB1L4-ey$hGthh6KT{A#eV z>Yhr+`x0R-HLYW7b0T25;dUz?T_cnk9c+A#*gx+Zd4=klsF(aer6|gsBV?bNzV>J@ z?YO_wuBc?G78G$7d)cD&G(zMGi(+YR9Q|YY=`iIdqamt%TYu$YxmN>Bde3&8XlieR z$@mOxH;Al^@u7w&JN?Q?lQlar#wUS|8Kexrt+CGxQo1_Ef<~;?;2uEtl$B_Y(kv#| za9`)x^O3vx6W~`7?M{%~%T5CYlANPAnv#qol1w6bMk7fjlH}U_ZGrCQr*EU~Lexu% zdK{=-$&On0*%f#xpL3o!tgolbCq2n?Bwu?J)cc6KtDrvSF8@Kta5YH2C6YQKx$(no z!hcGrj0-?j1GUeYtmJR=b5HL9=;A*C{RYr+-Ub^4klEKgxH||o5y6KP&HJnHzYO3j zjX*GT+mGC6sIU@z-VdxSO7VA?kR6ef;=Xx`6oFJj+<$n2aqe@T;1u^M1S?7?_CUea z9orviR}dhC02K*;AsC=f5oiCqMWy0sIb8kWnS5B3CJ;gND0rQNADcCs(>9SHx zg(Qt5{5=AnNk9kKF~2*N&W?ki++LAI_+DQ8IN+Uy#45kqU@oA26Z!Ab<1MnTH$|M4 z6z9?jNaL~)&qb7`n%DEk8P|*JBg`U))4zQ^5Qhe>D z_(BA&l*U>w!AdW|Ya*CS1TT6C@0ZmDee?O zK@jF82=NjGh@da&zonP9;TY*sbU<6G8J!&sqQL)l(L`{^ny67Ze@R2Aoyx%=YffXn4a3YsNYL{KmjLHF7m z9N|-V_GSZnH(CjF3I0REjmzS}wGX|Cd$Ndpo`Ojtm`Hr$ z)$|4UP5~CgVS@b>%Kc(A=dKL``Yr`sB3?@`iv|G|1eZlnFmro@r@aKVv;{u&FeMF~e#L{UfI(WD70v z9@DiURHz7V(_9-a6ZEnOR#MO{f>S7XS_H9_g*q&PMHJjEf}1F~Sp=(bGpYMi5kv>q z;C^2OG3ti~MKDd2{}Kvs78U-HbqKn$DBeehNwI+xEb|6m5y2>ez952v*5M_{_7XfQ zf;OUkz)LVu1VyyO!wyO#iYSJ7DF%5d`goziUT9kp6pWjR;40#9ZNsgX%~8F=XhyndTAf@(xy{z zgGlWSGugkYVyidaU~jy>A}A#8<|Xj=60{IOA@Hq3lzmZNe~O?;gHupVuAiASA)to@ z0r)x^+`B|r=xUQU-X|W42KRd+DAIVtOS{-hTj(WtmV#<>TiZ}_LiS8SAVj-I1Vw7& z5scCV8i8=dVXB!+57GEzHL8Iaf3y?h4|=@ia#c{}2t33l4O2plR}Qi{-c+6T_75#@Pqi&0$K{UT1a_^?9Ox_n?Q`m3-D6%`n^w zl<*SNbx;geeFMR`B7q=}A7mL;rITa(wHufRo3>Z1Bxr&sK5o;sIg@z`U*W+k2H-7! z!{>YOnS@t7cvtccH{SyVCLeY$u0oy95n zUk4CjB}Eu}dxT@|V}z_CWWOp>SBHCRaYSaFCU89=6i=**G#QV79cauU=5qtzL;>Ux z{D(%kXUanZ>k5=y#cINDKENV|EB?MyC~L9O?i0Cq0f85 z944LFPi9~x%E674H0^TR+|wx|GYQqX5v8eRlY12+x{^1!%Y=W-y%c`MDk8qHpH)Mu zxLko*?9LMYVYi(q&JxAu{hs`K^R>>MNO(UV;NRTOtRs-GP=dq}WZr(}2T1UgU6krE zw>d-p?{X5q=C1SI%K~h?vn3rdMNXG-o*04ca|M@YefT8O2yCVpO@S z3FF%gm|wp2$VY?r&>xXTG{L|9mQ|BnCW2%W@ofRR?HZlHPxj#7B78RCSLpB# zewT+}J`tQEf_#mjBCsW%avGC$jYL=9T%|wj9#8anL@}|EAp|}*fCL(O%Dq1sdF6zU zY{XaF_%0P+?OsE8hpiO|+G_-j?aot|wOY20(3kgW8K-${=q=dA$iwceE~H9AfA2x> ztMK#1^Vf~fVuiru{%bEJO(N8XjVPf=*T^YjB{XnSBi7`;hdBGU2DZ&!wj5YTKqJ=IU5t8%l|1(XqOuXy&Tkrvu%e(C zfM&E3kVmMGyeJ`?`=cPpwT@7W2~|NK?YocAOt_kW&)r5}kx6*R=S1L#B`WuQw-eAO ziSAbkZzX)}ZFnB`WPO9(F9jQ$ZhT17A|ZzN9}hykvWF1<j?kq?Rd%o?@f3q75Jxb$CCzlGs4>lpDytBS1CMJgf~Vw9tFw57eP`+ z;3yS5m!LBV`XNEPsu9;yxSa^Axpa^7Z7d#wsP~Lvm({xy@WBbL8$%aPC##sq=l#(z zy}c45+4$$n(bXqel+0qbJyGcp`ht!=eMd})l*A*Rv} zBUoH{qhVvjqX_*{Qs1zV6y-iip?MVAw*;3>`Q*(QDOF;fej^3k<)!7;u}Xx&QD^p% zn&G3bK)6u2Xt)G88(aq56L9n4UWZ!)w-fF(+-10WxOQ!Qr2cTD;2wZ`8mqxQF1LhAV(u4EGk?D!46h-@qM)tA_gn&V&u1fpAth8{7a1+-_e#KU>sfI0vr5a) zStV;VxD{HZGOUe{K5dmoAd25FNNt2w3W2KxttVXYt0&BEB`aUFIFC4gfX8ySZM@R4 zt#mp8+ay%BNeI8l+~XBCtY~w*l<{za6xwH`MBy|oyzI_+DNzf5^+miCr-f%!#7j|H zcy)O^%b2V@SRP_itftoOhQ>>!;M^rHURqxM_!Pz2+^1qTUNx5AoTfZyHY{P!%u>1; zai{m|vy>iqJ+gV0GQv>J3|Y!v!;OJP{w@blmn z!&Smn!(|0qaV8iv0%wII8XNq~pAw`>@bZIigI{tcL8=BXD|~A>_;iEosnXZNw_2=@ zCQK{)K=q+W><%OZ=LaT-Q6yzxLcghSMf8l~qTd8;Hu#w z2oIM57eVw|+-hiUaUmpM*B&|3T*zG@hO@$DlwW&NnPM!To}+wbpe?}V9p@fifb*;kO8vW#i8Tm$iVxK9V1v)NnH?1b=E+0o+fDcow(9!zZ{WoG0aJ z;Shu*1HmbTL;n;tY&0P3N8y3}2lbDHG#PZcp~+U>@m=MP7KTz5zXoMpS6u$k8rVkp zH=ipV4CQs@3OAI8exa1g=JB(#Lmr=%IelixBahCU-kp89SxI(S&p{!NK?e_6rMyhF zWUAobUfR~_Q0OB~OZzbFKLc^;mnQy8QWE@Vz}LMG`uD&Wt`g1<&lzy%QJ1KGS*ecY zTkn!;7a%dX2)L>|2moiBZnL0y>%=b8D3|K9?zd-p3{ zTUa1i5>he=AsSgJTB=1r5sBwV@F+Yd!g=$;z5%N{J#;3Gcn9L<-WInA&rS8hx*kxv z8f$-MLk}pOjTJw$d*S=o(GBfj2lp!-@6fXloFhj{A=FE0KPun|JV&#Q2b6Au^eCc; z137W?{76Z;crJpopvE5lnYFA^y7t%85ba{btI)+G_3!q^Nk<$OTBZ25rSv5*GHKO6 zn{7LwbZk}&+QpH=Mq~7Rh&mjtNSa1Y&!TAYyb{h+*{JoAM4@!mH$s%!G96jC+Sm-y zvm=&vBym`m1ZDdyo-e~$(U^LYAv(1}-l-=i7KuPvKxrM^99fAE>7z`Xa>5 z(#0jQ^YC1x!HQVhLrO>NE;w@#O=QJwl)Ld<^$Tlx2v()X5$8H^me9p`ek7G2o`c~$ ztxTON)nGjx(I;h&l#*_XI~C7%UECyg36jO=$tbGd^pVn1T~yNNDm+)f=@sI~;=e;% z;UV>Oj9EyTYtbpHXe;n+L09#ES5-B)#6xW>276eMWb~^9Dh;eWKVeXK&Vq~9jJQ%{ z%;6!+>5LPFgA7u2vOx-e(;%hYGDt6^HZ=0-NAY!TAkC0&uh7M#n4CFK|mn zC{n8gMS63zA`QS-YK!4k!R>~-1lM+qA`OJI!Oey%gZmP$2F^4VI5^D2q$zN@a7*F7 zgp@;o}i$72G+vJ`<494*2&1+`DjJz@31*K0#U1J%CkyuPCka zViTkuJ}-9?tr|P{z0$4q3LR*w00ry>h<^Ju6qR?8in^?!>UF41Dx>akUf#6?3SzY_ zd=$3sh!QB5{c2?&9Z|Z-i@6#wbZ0G&D&5ST&s!-e@%yy~lcpm|Cj*8|z!`GcYEa_4l^?P)q@c+G+j)P>Mp58MngRMAyXn(wEVG|eR2ZX zwn^>yLX?^8tJFq!MJFI?D^P&w{p2 zqo@|KGZgC;W;g|J5$jG~0gHzxcUu%M3f*v#Eg2>;x5?YWw!y=-tg2cl z`<3qtMRqc5XDv=clF)PUtkqGN-;KZqDI#Lj|Axy)b3GzEvA6fIaNbX;PGFq~U_pku^*u-J~OxFbSpKF^!bETKah;2}QVigq1*|CnsNz zvnHxJ^uwO9%R0VgTAXme>4#p6{rscS_AXnR8X@UlBG>_^1Tu6@MA4rK)GS%66_Ytn z2VdU^4>3$+4^}JfJJupPwOXW-YJ^FH(&YrU_79~)8(q}s%Yx;)^Gb{U0MqXnd?NoD zK1II>p9=39d}8T?aHbk9;+oQ;%@A)JwoU~@K!3LCj1ru@Ce|uhLGSs6;F)-mBc7B_ zJ+``eejb=Fwxv;83J|A&C;DL4_9vxd>j+(Xc9wER3GvlIN(s`fb(RiPNg%ah#U-o_ z4GVR+T9v$12MT5n{sa#1=|G7BG^7F``h5+b1h0Zmf}Mmfuu+Xk8#% zun1^7RAtc#zNdJq)C9vc5OG#m+n*uB5FIE&fC5rA2KVY1OjS{{G}Ig&YO#tc0f;1G zI@AsowOWg{UWckvQ9Cu%K^-cbeR5Xm7H~;J{i;J{sHk4U)GT&}@5y4RKy?|fq3(fC z+04{PNO`-7B&Zd|2*YFOwMJ8SJflThphYWzPkLwYDe61$$xuGlp2^2G0#XHh(*1Vr zc|UxbjUCsX&%&omm4DZsufuPRXCJE?-%s@&QV;@uK=g*+7XCnuAP#IJ_w{NC^b;rD^x6F%YlYkmxTvWFD-^m_n4704s-Nwc%z zlV<0_SB4|7fCBJWz$Zp);FD@MYVaNKNwo*y6XO%`sVJ#0&ATp&vh1AVD~I0j7VGbz zq2G1*l(=!Yns`h2lz0GqN;3pLwK-w%DeXJqQ`+(HX=a-QpVFQTpGNVS@Tpj5!>9D; z!>3{`)}A%r@&A-}{xNZsX&fJ5hAx#>)B>U)tL^!tR9Sl%i$`@@c43iUYaq7OMz^Nk z)do{8At%Xk?w%nht=wg+n3tp^;vLaO>!sD|)}$ItYHVW@sUg~!s-QM$?kuH+R&1NQ z`+nzrW*NX=$zAULxJjOT-uHQ*=Xu|GpLu6zmSNWDfr4p$4rE$i5`))4rgacxTHhD_ zM_?Z6qaf4zwbZ`>3s6t5)a?sEru9m&5L^s$Ah&=_YdKiV*Ix&vp%G+S?*p0Ehe7T^ zE66?iEyz9m1IXFk0dji*@DRwE8y5XpkTdu>>zAWo1a+F&N%W#l z({a-`?;g~rbe$hIv0T`3yAEWBr64;j2iZ{-$W%3f>@W(lqenre>M@Y1>IAtX+d=lZ z1LTgr0CI-*fK1hX5bvhJAESbNzh=z%5Cx{{Q;?}T0dfZ>K&I*+AXAkU(kpNg$W#@B zOx045EATd{+aOn9t<>)YnW_ySS73|i9|N6KJ%NHB4Sxigs$Mbp3%D5dze@d0kSp*2 zcs=+5$QAer$ZLq>q8|r2unS-bm{}DxmVuXnH-m*B+iw6%ai|!}Q3!x5!CS$w7&L)D zNBse?415H<4Q!M47@IP;9-yh_!x}cg~Aso*x*Uw zlrW<@Xs~@D$fKkH41r5P1}Fuq!8^b(7y@g+h_v4i)}sDP;jh7Z)H}ci@X6|6nbC;C z(@^l}e-Y$%2;{-|caR6;g0McAc_7CBnL5vu+R$@r0BPR}G7jrJcvl#thCC3P*F1!Xk`ihi3TSZTrX2wW3s2V5D+>%S*vf-yMa5y+diDO>a5j)+4GIa?f zq+%0hfp#})#J%ZF8;vvFM?CHa#eIB+yWe#$ePyn@jpvr!-fu*iy+_hQ>aJ5}-l7^k zC1H>@95KESI%yWG-D9RNBPxN@cBms`_{U}psXN1%i+(IshcmlPn4X1b^=}`@6Rl=jfwHvK=dsG)4RnZVs+&%+& zw2`UlSEJ+b%Bh{+m5q+7C;%0$R|st};r=IR;xCkzO~O`>#bF&cAu8^hPd$H{1N5lM z997Yf1UL%PazsqnRn#%bHR|*}_(1ot=+goHqN3-JwzkDO?6JP+G+i3?SO+pwYpFOc zE(ns^+(}xm?YI>4V8&V5>51H%3ga&ceqg8EIUvfh%;`iQMwz;=GqKoC;}1b~YHY&1 zreyL-+tIVlU8EIw=E)tx5|r6iH_ut5H5^o5U*tFCN7ze#-Qv zZ`R!`{rEoH*)@)inPvPF;?1RaP`syn&g#v=fVpjxQ9h)uJ!f8#8_Ck6q(=Z{Mv1D? zvu6JMe(`uod)#zp&D;+6dE9%&{h;H{(~GJ4M@^rq!-a-Ab`ED7W4?2Q@SfBi&nFW7 zH%I11UymoZIE5Ts1)p9=mf=w^cRblBb37H7cu(^IgmXS6VtZ|8L^N>^z;1D8w%WwK5AMuu zegyqKM$Y_Dtb4$j_wQIBcoo#&!lSV|#IWe}i5K&j;r2Mi(9> zbIn^(W{BQwJ&xQ#8OJftIEEP0zo=1rfL74NbCVvI zHrln%YU}s3?VQ!N+tYS*x=l@^9}3!RyYo;S18#~an1=gp=3s@10g7tHLdZ^!qu zO^{s+c_pB??i`e(CO-WC-=881|EHcJO1^s0T$uTWY2~D4#h(f}^BhkWSXL~(yk|51 zX#FD+ldWg5_GN&Inn%6}_9jI5=RIO-t^veTr==nk`{~`1jS({$nrarZ;2iFCDS82qtn~9D}X9fD> zmCkv`|9GWye-{6JrE{AVctUef^y6Y@$F$!d$T(5Nu|Y#UyUHqF$KTP~?vXB(0e#<;%Z=CHaceQmxZ2wbud;v0}>HA!u-v!%&@3H4^cJlX-X2*&{*A8is zHoWi2wTU@}W>J{v;D=;(U~k=xLER6%lw&hS^WPZ&f6B<6ff!!|%*vEU z={Az%(EpU_^yD-Z+>OIu)nWNCcmT2=vKO*zTktAl0EIqC52PE?3F&}fbp@^b*jf~u zArVL&Bn)xmk~hw(d)xkmLj4OP~4CQlj3)++0=4E<4?e7wfm PWGetWSession()->objmgr.GetItemProtoCount(); str << " Item Prototypes, "; str << ((PseuInstance*)parentMethod)->GetWSession()->objmgr.GetCreatureTemplateCount(); - str << " Creature Templates"; + str << " Creature Templates, "; + str << ((PseuInstance*)parentMethod)->GetWSession()->objmgr.GetGOTemplateCount(); + str << " GameObject Tempates"; str << " ]"; ((PseuInstance*)parentMethod)->GetWSession()->SendChatMessage(CHAT_MSG_SAY,0,str.str(),""); @@ -490,6 +492,11 @@ DefReturnResult DefScriptPackage::SCGetName(CmdSet& Set) CreatureTemplate *ct = ws->objmgr.GetCreatureTemplate((uint32)id); return ct ? ct->name : ""; } + else if(source == "gameobject") + { + GameobjectTemplate *gt = ws->objmgr.GetGOTemplate((uint32)id); + return gt ? gt->name : ""; + } // TODO: add gameobject, dynamicobject return ""; diff --git a/src/Client/GUI/DrawObject.cpp b/src/Client/GUI/DrawObject.cpp index 974851b..6d0feff 100644 --- a/src/Client/GUI/DrawObject.cpp +++ b/src/Client/GUI/DrawObject.cpp @@ -4,6 +4,8 @@ #include "PseuWoW.h" #include "Object.h" #include "Player.h" +#include "GameObject.h" +#include "WorldSession.h" using namespace irr; @@ -46,12 +48,44 @@ void DrawObject::_Init(void) if(!cube && _obj->IsWorldObject()) // only world objects have coords and can be drawn { - uint32 displayid = _obj->IsUnit() ? _obj->GetUInt32Value(UNIT_FIELD_DISPLAYID) : 0; // TODO: in case its GO get it from proto data - SCPDatabase *cdi = _instance->dbmgr.GetDB("creaturedisplayinfo"); - SCPDatabase *cmd = _instance->dbmgr.GetDB("creaturemodeldata"); - uint32 modelid = cdi && displayid ? cdi->GetUint32(displayid,"model") : 0; - std::string modelfile = std::string("data/model/") + cmd->GetString(modelid,"file"); - uint32 opacity = cdi && displayid ? cdi->GetUint32(displayid,"opacity") : 255; + std::string modelfile; + uint32 opacity = 255; + if (_obj->IsUnit()) + { + uint32 displayid = _obj->GetUInt32Value(UNIT_FIELD_DISPLAYID); + SCPDatabase *cdi = _instance->dbmgr.GetDB("creaturedisplayinfo"); + SCPDatabase *cmd = _instance->dbmgr.GetDB("creaturemodeldata"); + uint32 modelid = cdi && displayid ? cdi->GetUint32(displayid,"model") : 0; + modelfile = std::string("data/model/") + cmd->GetString(modelid,"file"); + opacity = cdi && displayid ? cdi->GetUint32(displayid,"opacity") : 255; + } + else if (_obj->IsGameObject()) + { + GameobjectTemplate* gotempl = _instance->GetWSession()->objmgr.GetGOTemplate(_obj->GetEntry()); + while (!gotempl) + { + ZThread::Thread::sleep(10); + gotempl = _instance->GetWSession()->objmgr.GetGOTemplate(_obj->GetEntry()); + } + if (gotempl) + { + // GAMEOBJECT_TYPE_TRAP + if (gotempl->type == 6) // damage source on fires, skip for now + { + _initialized = true; + return; + } + + uint32 displayid = gotempl->displayId; + SCPDatabase *gdi = _instance->dbmgr.GetDB("gameobjectdisplayinfo"); + if (gdi && displayid) + modelfile = std::string("data/model/") + gdi->GetString(displayid,"model"); + std::string test = gdi->GetString(displayid,"model"); + DEBUG(logdebug("GAMEOBJECT: %u - %u - %s", _obj->GetEntry(), displayid, test.c_str())); + } else { + DEBUG(logdebug("GAMEOBJECT UNKNOWN: %u", _obj->GetEntry())); + } + } scene::IAnimatedMesh *mesh = _smgr->getMesh(modelfile.c_str()); if(mesh) { @@ -61,7 +95,7 @@ void DrawObject::_Init(void) } else { - cube = _smgr->addCubeSceneNode(2); + cube = _smgr->addCubeSceneNode(1); } //cube->getMaterial(0).DiffuseColor.setAlpha(opacity); cube->setName("OBJECT"); diff --git a/src/Client/PseuWoW.cpp b/src/Client/PseuWoW.cpp index f43032c..9be86e4 100644 --- a/src/Client/PseuWoW.cpp +++ b/src/Client/PseuWoW.cpp @@ -392,6 +392,7 @@ void PseuInstance::SaveAllCache(void) GetWSession()->plrNameCache.SaveToFile(); ItemProtoCache_WriteDataToCache(GetWSession()); CreatureTemplateCache_WriteDataToCache(GetWSession()); + GOTemplateCache_WriteDataToCache(GetWSession()); //... } } diff --git a/src/Client/World/CacheHandler.cpp b/src/Client/World/CacheHandler.cpp index 3f85da0..4c520a8 100644 --- a/src/Client/World/CacheHandler.cpp +++ b/src/Client/World/CacheHandler.cpp @@ -617,7 +617,7 @@ void GOTemplateCache_WriteDataToCache(WorldSession *session) for(GOTemplateMap::iterator it = session->objmgr.GetGOTemplateStorage()->begin(); it != session->objmgr.GetGOTemplateStorage()->end(); it++) { buf.clear(); - GameobjectTemplate *go = new GameobjectTemplate(); + GameobjectTemplate *go = it->second; buf << go->entry; buf << go->type; buf << go->displayId; diff --git a/src/Client/World/Object.h b/src/Client/World/Object.h index 63d7b91..e4a9ed4 100644 --- a/src/Client/World/Object.h +++ b/src/Client/World/Object.h @@ -55,6 +55,7 @@ public: inline bool IsContainer(void) { return _typeid == TYPEID_CONTAINER; } // specific inline bool IsCorpse(void) { return _typeid == TYPEID_CORPSE; } // specific inline bool IsDynObject(void) { return _typeid == TYPEID_DYNAMICOBJECT; } // specific + inline bool IsGameObject(void) { return _typeid == TYPEID_GAMEOBJECT; } // specific inline bool IsWorldObject(void) { return _type & (TYPE_PLAYER | TYPE_UNIT | TYPE_CORPSE | TYPE_DYNAMICOBJECT | TYPE_GAMEOBJECT); } inline const uint32 GetUInt32Value( uint16 index ) const { diff --git a/src/Client/World/WorldSession.cpp b/src/Client/World/WorldSession.cpp index 4b9afca..dc8d947 100644 --- a/src/Client/World/WorldSession.cpp +++ b/src/Client/World/WorldSession.cpp @@ -109,6 +109,7 @@ void WorldSession::_LoadCache(void) plrNameCache.ReadFromFile(); // load names/guids of known players ItemProtoCache_InsertDataToSession(this); CreatureTemplateCache_InsertDataToSession(this); + GOTemplateCache_InsertDataToSession(this); //... } @@ -624,7 +625,7 @@ void WorldSession::_HandleCharEnumOpcode(WorldPacket& recvPacket) } if(!char_found) { - logerror("Character \"%s\" was not found on char list!", plr[charId]._name.c_str()); + logerror("Character \"%s\" was not found on char list!", GetInstance()->GetConf()->charname.c_str()); GetInstance()->SetError(); return; } diff --git a/src/tools/stuffextract/DBCFieldData.h b/src/tools/stuffextract/DBCFieldData.h index d970564..3af64af 100644 --- a/src/tools/stuffextract/DBCFieldData.h +++ b/src/tools/stuffextract/DBCFieldData.h @@ -407,6 +407,25 @@ static const char *CharSectionsFormat = { }; +// GameObjectDisplayInfo + +enum GameObjectDisplayInfoEnum +{ + GAMEOBJECTDISPLAYINFO_ID = 0, // <<-- this is the so-called DisplayID!! + GAMEOBJECTDISPLAYINFO_MODEL = 1, + GAMEOBJECTDISPLAYINFO_END = 18 +}; + +static const char *GameObjectDisplayInfoFieldNames[] = { + "","model","","","","","","","","", // 0-9 + "","","","","","","","" // 10-17 +}; + +static const char *GameObjectDisplayInfoFormat = { + "isxxxxxxxx" // 0-9 + "xxxxxxxx" // 10-17 +}; + diff --git a/src/tools/stuffextract/StuffExtract.cpp b/src/tools/stuffextract/StuffExtract.cpp index 1726500..5d82d26 100644 --- a/src/tools/stuffextract/StuffExtract.cpp +++ b/src/tools/stuffextract/StuffExtract.cpp @@ -255,9 +255,9 @@ bool ConvertDBC(void) { std::map racemap; // needed to extract other dbc files correctly SCPStorageMap EmoteDataStorage,RaceDataStorage,SoundDataStorage,MapDataStorage,ZoneDataStorage,ItemDisplayInfoStorage, - CreatureModelStorage,CreatureDisplayInfoStorage,NPCSoundStorage,CharSectionStorage; // will store the converted data from dbc files + CreatureModelStorage,CreatureDisplayInfoStorage,NPCSoundStorage,CharSectionStorage, GameObjectDisplayInfoStorage; // will store the converted data from dbc files DBCFile EmotesText,EmotesTextData,EmotesTextSound,ChrRaces,SoundEntries,Map,AreaTable,ItemDisplayInfo, - CreatureModelData,CreatureDisplayInfo,NPCSounds,CharSections; + CreatureModelData,CreatureDisplayInfo,NPCSounds,CharSections,GameObjectDisplayInfo; printf("Opening DBC archive...\n"); MPQHelper mpq("dbc"); @@ -272,6 +272,7 @@ bool ConvertDBC(void) ItemDisplayInfo.openmem(mpq.ExtractFile("DBFilesClient\\ItemDisplayInfo.dbc")); CreatureModelData.openmem(mpq.ExtractFile("DBFilesClient\\CreatureModelData.dbc")); CreatureDisplayInfo.openmem(mpq.ExtractFile("DBFilesClient\\CreatureDisplayInfo.dbc")); + GameObjectDisplayInfo.openmem(mpq.ExtractFile("DBFilesClient\\GameObjectDisplayInfo.dbc")); NPCSounds.openmem(mpq.ExtractFile("DBFilesClient\\NPCSounds.dbc")); CharSections.openmem(mpq.ExtractFile("DBFilesClient\\CharSections.dbc")); //... @@ -479,6 +480,30 @@ bool ConvertDBC(void) } } + printf("gameobjectdisplayinfo.."); + for(DBCFile::Iterator it = GameObjectDisplayInfo.begin(); it != GameObjectDisplayInfo.end(); ++it) + { + uint32 id = it->getUInt(GAMEOBJECTDISPLAYINFO_ID); + + for(uint32 field=GAMEOBJECTDISPLAYINFO_ID; field < GAMEOBJECTDISPLAYINFO_END; field++) + { + if(strlen(GameObjectDisplayInfoFieldNames[field])) + { + std::string value = AutoGetDataString(it,GameObjectDisplayInfoFormat,field); + if(value.size()) // only store if not null + { + // TODO: add check for wmo model files ? + if(doModels) + modelNames.insert(NameAndAlt(value)); // we need to extract model later, store it + std::string fn = _PathToFileName(value); + if(stricmp(fn.c_str()+fn.length()-4, "mdx")) + fn = fn.substr(0,fn.length()-3) + "m2"; + GameObjectDisplayInfoStorage[id].push_back(std::string(GameObjectDisplayInfoFieldNames[field]) + "=" + fn); + } + } + } + } + printf("npcsounds.."); for(DBCFile::Iterator it = NPCSounds.begin(); it != NPCSounds.end(); ++it) { @@ -544,6 +569,7 @@ bool ConvertDBC(void) printf("itemdisplayinfo.."); OutSCP(SCPDIR "/itemdisplayinfo.scp",ItemDisplayInfoStorage, "itemdisplayinfo"); printf("creaturemodeldata.."); OutSCP(SCPDIR "/creaturemodeldata.scp",CreatureModelStorage,"creaturemodeldata"); printf("creaturedisplayinfo.."); OutSCP(SCPDIR "/creaturedisplayinfo.scp",CreatureDisplayInfoStorage,"creaturedisplayinfo"); + printf("gameobjectdisplayinfo.."); OutSCP(SCPDIR "/gameobjectdisplayinfo.scp",GameObjectDisplayInfoStorage,"gameobjectdisplayinfo"); printf("npcsound.."); OutSCP(SCPDIR "/npcsound.scp",NPCSoundStorage,"npcsound"); printf("charsections.."); OutSCP(SCPDIR "/charsections.scp",CharSectionStorage,"charsections"); //... @@ -912,10 +938,13 @@ void FetchTexturesFromModel(ByteBuffer& bb) { bb.rpos(0); irr::scene::ModelHeader header; + if (bb.size() < sizeof(header)) + return; + bb.read((uint8*)&header, sizeof(header)); - if (header.version[0] != 4 && header.version[1] != 1 && header.version[2] != 0 && header.version[3] != 0) { - printf("Not model file!"); + if (header.version[0] != 4 || header.version[1] != 1 || header.version[2] != 0 || header.version[3] != 0) { + //printf("Not M2 model file!"); return; }