From f2016efcc48fa0f094f4d2e30aa544deaf503946 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 22 Mar 2020 18:27:51 +0200 Subject: [PATCH] Piglins are ponified \0/ --- .../client/model/entity/PiglinPonyModel.java | 55 ++++++++++++------ .../client/model/entity/ZomponyModel.java | 7 ++- .../textures/entity/piglin/piglin_pony.png | Bin 7102 -> 2774 bytes .../entity/piglin/zombified_piglin_pony.png | Bin 7102 -> 4502 bytes 4 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java index 909b9121..4e67fa30 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java @@ -2,40 +2,59 @@ package com.minelittlepony.client.model.entity; import net.minecraft.entity.mob.HostileEntity; import net.minecraft.entity.mob.PiglinEntity; +import net.minecraft.util.math.MathHelper; -import com.minelittlepony.client.model.entity.race.AlicornModel; +import com.minelittlepony.client.render.EquineRenderManager; +import com.minelittlepony.pony.IPony; -public class PiglinPonyModel extends AlicornModel { +public class PiglinPonyModel extends ZomponyModel { - private boolean isPegasus; - - public PiglinPonyModel() { - super(false); - } + private PiglinEntity.Activity activity; @Override - public void animateModel(HostileEntity entity, float move, float swing, float ticks) { - isPegasus = entity.getUuid().getLeastSignificantBits() % 30 == 0; + public void updateLivingState(HostileEntity entity, IPony pony, EquineRenderManager.Mode mode) { + super.updateLivingState(entity, pony, mode); + leftArmPose = ArmPose.EMPTY; + rightArmPose = entity.getMainHandStack().isEmpty() ? ArmPose.EMPTY : ArmPose.ITEM; if (entity instanceof PiglinEntity) { PiglinEntity piglinEntity = (PiglinEntity)entity; - PiglinEntity.Activity activity = piglinEntity.getActivity(); - - leftArmPose = ArmPose.EMPTY; - rightArmPose = ArmPose.EMPTY; + activity = piglinEntity.getActivity(); if (activity == PiglinEntity.Activity.CROSSBOW_HOLD) { rightArmPose = ArmPose.CROSSBOW_HOLD; } else if (activity == PiglinEntity.Activity.CROSSBOW_CHARGE) { - rightArmPose = ArmPose.BOW_AND_ARROW; + rightArmPose = ArmPose.CROSSBOW_CHARGE; } else if (activity == PiglinEntity.Activity.ADMIRING_ITEM) { - leftArmPose = ArmPose.ITEM; + leftArmPose = ArmPose.ITEM; } - } + } else { + activity = PiglinEntity.Activity.DEFAULT; + } } @Override - public boolean canFly() { - return isPegasus; + public void setAngles(HostileEntity entity, float move, float swing, float ticks, float headYaw, float headPitch) { + super.setAngles(entity, move, swing, ticks, headYaw, headPitch); + + if (activity == PiglinEntity.Activity.ADMIRING_ITEM) { + leftArm.yaw = 0.5F; + leftArm.pitch = -1.9F; + leftArm.pivotY += 4; + leftArm.pivotZ += 3; + leftArm.pivotX += 2; + head.pitch = MathHelper.sin(ticks / 12) / 6 + 0.5F; + head.yaw = 0; + + head.roll = MathHelper.sin(ticks / 10) / 3F; + + + helmet.copyPositionAndRotation(head); + } + } + + @Override + protected boolean isZombified(HostileEntity entity) { + return !(entity instanceof PiglinEntity); } } diff --git a/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java b/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java index 817eac9a..a6cf6e51 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java @@ -17,6 +17,7 @@ public class ZomponyModel extends AlicornModel extends AlicornModel extends AlicornModeln3eXTBiysHmPC=O)#xnyR99N7Sf7n&FF|w z7Cu5Vo;^D@_MRQvv2ha2+aLD5zVG?@BX&kga-;~~&v(zczkl;_&%JQdZ?2bqb?!?z zc;rVM00fRdFNp~)ro<5Hc`E>bH_pJ&(uCwh7>1T606=mg3^Ad_`+q!zV)RZRg=Vt> zfmjk9h+`ZktasVr4@VJ*C2`)tV_J-(Mqh_}safcF6U+@3gvPyabhaTB3Kwl3JNX`0 z?E9lfejpWUn|~5R(CD@gbHFgI6cbwT#u-eBnGS7E3uRhKym5y9wly`#+JfOp06??Z z0DF@Kfmjm3R2t9&{&1AmS*=Z&Zm=LChQYTkhv>VFkQj%i!2sWX{Am4zowftOY$7FV zFGXY{*|oYoQPlHR)bmzo3Nh8@w4hv4GEeG);YkEyNq+#q;b&{G{L3yJe0B!*rrg|Q zhcyibgvPy@9nK1()zw1VlOGDQov!a)DYd#w~DrF)GFPcXyzjd$+1LK zq7)GX?0h+Z-rq(MfC&Jo5T?aAtQ`*M>S__H4I`aSBO-=zFEvZsYxH$_^OE*b)PeZi z1<>ZSKz~eVRhgbE5d_#9%?PF@(QGrw5a8%+gZH`{oKcI1nr+b4)nY=J$S^;frtNAp zJ)181{qd~8%N78!0ctzX8o{}cy~%>_K9!;>0A%a{Q2}d*1EFy*{u>BFtJmRPY8Ey6 zx(q5pVO0c>_EL0k$2N*)rJ9QgZDAWg5Wot8^?v|rf-p7m0DyQzl&Js!?0k6=tB!>c z*XP>{U0p47ya}_3l+5Cj9d2>8AY{}_vxyWH4%=Rg)EH;^t5HJ$={y(xC(J8<2V%*L z)o(Pzrmv-SfmjlU_U)!nPN&nTGwNaOaG=hpho-@R*krV<_EKJ8N(@on$R8nY=+GXC z^?&zjJFWEph0wqXMJ<+Kg+~_A`{%zD_4D5A?uufBa{Fr3b|2XV@qiR8MRX4y)o(7$3k872C%YxKJXbP&#w96Z1~Tt# zB857mUT#duLX=V5^?@^)-M!fbzWWA@tF9tB5zZiDM31s4-9GUL5qu z2Hf&^Ikj_k*Z!Y!0I>hFpOhYT*#H2Z*fgAGo$TM$21({E&K!RQ0I+5Ew+kL$StI(w z(c`lE%kdi3_2r#Ojz2GvgI=4{g67@7-~gb;W;0q-@v9&9IRAqbGk409bMNHe9Zi=x*c@kBB($jp0$34aryt@kj#%;U+qLAUL^=(;dw=mJUfAfMyHzO> z=7}pcHS%~Iz(``mF_;-aWa>(%$@k!CaKwE%;`!z z0k%wtxH8uDO^G3#_}hiNzT3Oo^Txb6a;qW+*xUg*Lfe}xG^e=UWiL3^AC6+z);?Kw ziy%NXA7F8~0Iz_xn}629?TI4l6=bf9l+_|Vmj2-jp&$XgQfUkQ0E#;mSzHxh|IzbY=uWm{tZf%IJ~oj?=8e{=>h+ zkpo|+!IRUhgVSuokPuYO7?sK>vBVl@Wjo0~3<*Kln=F*^B!9y=DI1K3p;3c7feIVW z5+o2I)brLn6yziiY+vibkB_~9U0eH97hZ18PMOjoj1d)36By|;EckJ||3X&hd$RU~ zEe~c8P$*O-Q66Emb=`)d&>s?lG9lQTEVyxPR2CEX!*k2o0l?m#%%SVp;3!R|koseT zqq253;i8u22Y;-xvZj>vRO&tpdo>jx($DE<{%jXAQ4< znqOYlu;=wcu4hVdJ}8C)BK;G8YQV0ik{EUe&_CeBFTb;_A|ohUAHN|#Qq0;Za?!!A z&*E^=6n~r3g5{h0kW3uFzfSeg4b()v0-|04Q&}UZ7JqyYX_61H!cfyge2r8z-01SqeP)DZCcY4y9oixCO^ z15Ox>htacP2YMUT4}DMXc&6z0*!7gVK5~Mko=uUXWXEc9M$VdNEZFD?n8{0I)bmzV zBj%69(0@PR#OB95us7~uewzzsZUL*z{*dn#Tc28g7XBHb%rJKy`RL(D46hbyvbnoL zhL6PltV)pEU!}Vu^(^h%`PHI%`*ISi#m)-sJ%=g+zWB2fw9wj`NqPBvVSN5`598W+ z2tHp}wVlwXP51Jw`mo@aU4awk)ocb4E}JrAsejt_{q=jh=qMEV;=+oB*xaz z1cvfV4*Nklx;oXTQcWtAkW>f(LWl?o(sv@*qksx3auFNUp?Hx_Y;XV<#Vc@y zr(knY2(8kS7)c-ylNgc^lB!Bl{i#!@@Ald4`=g{#Y2q8#F}M%sUuTT7=UQ`pYp!qZ zZ|)`3A2>L;>GAjS)tj#r1VNy9*Uti1kWd2`AA#-j7g8t`&`c3sitvgR3IzZ(UBwK? za9tZ@htznM1$_%<|G#JRkJzz&Bf~?JgyRZ!&7-k3$`7ZO(|XpKoc8#od}CifmnSx} z<^H^I#JSBuGMVI|8($JuoYE8g?gN+O)$5p&O2xMDWD!Nx5o{M%muUUOr-WBxI_lhx zK-E+fRY5i-9{&CgA%Dkhfjyo=2peqLxRnFDItVu;5#tdAO+nPo*erbQ$5#o0Ff)!A zi6V$1xk3do5~c3c0J!VkTX^7!U-Q^=zhQi8oU}c_eH-uL?)ASWlSxx36qrbl;y4Z) z|GaS)fbE;NaAoIbFrotASn?%wEyTwv@8WBn+Ym&NxosWvCKITJ#OYsJ6jY1$%;GP3nB! zzv3*8?0d(o?}k79k!QC*N?&&$0Qr0#+p{qHdhon}hPF90#hW?)3tu9et>A?;MkYoX z%;W%g=*E|XP*mmgFD(k}n#Y3P`P{@aT$Z|<3x|G&D+vT*!1Q#1a@|G{JOEaHs69C1 zokwty`W{r%AP58=KK?31MMRMlNst`k?&kZdFH-S#d2Bs;W@#(jy{IZ1@A&f#FPZ`)e2h3!1FvTO(9gZIoxfb zoXvn+!^UAGJx#q@eJub}Qz=4tSq8TD+Bzo&-%};7^-h3xFC3lxiMz+eHloLJ5@(J0IoH1CGYC zL;}&l^2#(c#sRSEwOLYpY2ZbCwa&+n`|_*fX)0mchPuM3tDhnqhGcg)$z+mJ&0}O@ zl-mxOWb-{mVRU4Sk%>{Z+@BYgy)PbwRAY9W=YPLPh&M#Qwkh~7W`mBS=vcWDWv7l) zDKIsa<&zt)b!0k@a^@3CrFW54PN&7hcJLSFBR82qhvU znj3H|4^x+r0uf1-K-2h6<;?^A@uHp z|Ne(7ncv?@xl~39B+lQr0PVx?p+1$GO?B7tc!dBnnG7pFnhY|T%->A0d)IEVkqW*b z(WV4cH5FBHK$6IoEnawL10C~|+<*PH+0q!Pij>U=u2;dS*9oL5T0@9$>mPzv5Z0`H zI|e)1kHS>WKr!PKh`W+a3t!r=#;!qoI6&5f-yB&w*0cmI^abb%W}TlwX8 z)(O0coqX}apjxbR>#~c9nK5)TL^+!y(K#2dkjGVIB9ctrc2FD_KX7q85vN|GMGz>+ zGM?{a>N=Bq_R!khfmp1T(L*YQOo>vtL@u9Wx->C+uJw@0sY^b`mf~i1rCwmH@*)Mn zr!m<`&)go0#Uf_dL{()XW&{zDgCZwjI4x}0v5xJNFEBomCFaj(czBq}i7AGMhZ!Co z#&vAen!vT%^Ej@@{_LP7%Lyc(xpUglTN_?2*O@fAY?{)*E+z(sP-|5j+oo7^iAV}w zdK@>TP~Eu`*Q+tGcQ2CUBTE{xD$48~9inO#7|-pYE!jo6RH3)y06gDCKwxxYlx6XQ znB13R+#KQ9#xqGaCCH?6%xRwkz|i1c79B8C5=Y0NPi{eOX{RfCFaWM^1JK&m%&vV~ zkra{6&QAPF9XGI9b<>}O{Q>a33x6qm@Up`L&-I~PrAk0!)Wolf>=>UWa08Y^O~zk- z38S%vm>ENGZ4^nOSaqq}E@4-sN$^n`S}9bjh?{pl%S3KBmTjSmI+@foJ*`X0qzg!* z%z2;v1YiBZIULY-IK7KHm}kvr*U)x8@NdU((n%-H2G`X+_ixDWPpPe#-m5$ziz?$& z<5*Rj(bN!vqcJf)!ccaaL@dfbVjuk4VZr6faRjbQ`1JSDdG@(vQyI1mjk5NE-(u%2 z^7%YwS1*x<7F=DTBGf_DW{F)kb*dgn5gobiAa8nU9bZ28S_*~2EO|xD5T$a7LIJ-0 zt!pWjb3FLa1FZSuQ#iGNo}L~qe*aY*dE=1)D7wI&!4Vpp8mQMCOw&ZsMT(4&qzTuy zsM!wf&FyR*T2HP#&2jHsL~1NWyi`KbL;nx}x@-_T_%QU&d1Rh?j1#`t#Yfg&f#Z7^ zOEexDxf5kVMO1ulY5E|Mu1>y6-yT%!qTNn*t2I3-96p2J3gJt6EP#ys`bCHzs{NSKEd4B5=70T zW;;a82$|v(sp=4?t~?h7g@_rUx3iP6iG6(a<_`pKw)i{Ve^y}CJ-)L3JN)?DSEKj= zUx=QEu7ufeS4vp9t%VovofOvJJuGx~&Ea$Dd$?%eb~bE$mSk58p(z*42)11$mn%@U zDo64j3O-^zC zr!JT!%2K&R+J2dN4a+H&OLWZXpi-?cm7Sueqla8M$L5`D$mjEPw05&_?jh(Q6-_aS z|M#72*|dZEkF4SgKEM6Wn{&bYzj{azI1=CMJBLqhz8Y1NSpDPF>-v23>qiC?W5YOj z#A7igCdWAKgfsZJ{8D^PM$#389Xoaeg+gKW^|nwb(2z`$N=;C$)Ud1?tGD0Hi`%x+ zw_p*b7UA?G&&8_R{Mq>(d&Z_&s4T#YhpFUkmh~NhRki8t>?D`Z;zkgE@j=x|*plTAen#I$1>=F0}ZRx3v zL0^A2xAuOTXc*k8hw!yK&JT`iJp&()7mLqv&e|HtB9f@iq=*^Dj5JV5PcrB`9C7(o zZ#v=FjW+~hpb$6(#6ZGKHX^zXv~K5wN8yptK~7k30IPTG;G<`~m-%1$`s>D*y6TER zFP5+x6I5K7clqT4fVfC|2a2eoi3ZD}M-o>AJl`Ua0u0TdUaR3b4vM1E5l`$F<&dG_ zS|xBKq^d)`SY$d~BAkpv%?I1Z$rTwd7O3IkrYoqvz~jID4drTeMtWB&ckCD#4< zMQ}W%kO(T|21hBBt6XkBO(+uHF96wGn$M>0<-$Eb$_&XPz%7btVIl%m|k6W41>yB071; zVNG9-vvwvxhBf!z^O|_}=P$hc?P~+2TA?Wt#u5drs)OqXm`yrCx`r=!7=;oUua2Tc zh%_ZBxOF1+G8NI}ypf;Js6_K%QBrCGXYIaf%BGdVbj9|&~x^x*jpnW9Z|a{?={ z@yFB1F`fEk={4NtOk^-x8s5}jOoR-)h=JV@C#bu#$l0SgR3|{1$Wv%-L73M~xj8<2 zELFD&&Bi_-rl|1c_w}R}gM*rta5~JOOt)GYfoJ6HrV8S#-&Ug4g9PXLMq}{$jnH zC+xa-hJ-ab%Jp;ha_hyb0Ek8sXbEGcd8mg7G?`j!E4!^KW>Yhtt*xAGcZF>mRa1HD zj5AR+b>{aExAN2vx6<7+j~^}@WADzbc(OugZyN_JU5amuTwQxN<#LJ7|L$Vy;SkT> zeJ|^8x`FPVc`SV>hhMf>b>G9U0sgN$yqUp4T9Yk|jgMoOJmiXl83b5fuwQ>s7DQY{ zqUxiCDNPr(}PqAt3IwZ@QZFha_dnaL- z3dcQoKZdDbmUvXo;lSxQHHFNPB0p<{h2^$PWhP4}|JbTq_hoYTpo`Ta$Uy*i$ZIJ-QyEnu;ss)*j?cIldoZ7&k#T10WKKoWYHoR7s`NocOfL=HEX?TUce@!nv$i{@f&2qtA7ovwl ze17={I3#WI2VsoULj5xz87gJg1-m(?|1>PiM_;y#6~7#$_ndQRiS}~cCvRjtQ)EHs zGR|D@^2OGb6iQWAN5(iczMK%yxH-o!7fo-w*IVl~Zk+YxVQ+{|x2eJ9?5hw|8^m-5M9oy*+$ZCsmQNpX4_F{}}bMR0T- zzg#7vhj1;4mtNk9B8!B6`v(@Zv~b@uw{iFCTRG*L<=nmcW{P=>?xrTb+PaPFd-rjx zdn_%@34*Z3+^#O{ijA&^IpQ%$L>jO>hsxMK{JBNAXX&7*NwG2^j@6>{rwDV-~EREULwjR{u*RO3~|>L zSFm>3IFo*sWeX4DM*nEOu=pv?-{sTL)rqES)GHO#kbzUIar)kNnhuIHylD#yLXE^C z8nvR!ZORF3-?W!4A5U_|V?$_jS{NGGM|)=rQQ-gz=_0ZeaE-E&p5$Cc_U+^G!wa1I zd<)SYiElP;<&u$JYI;DfUI8)S(_;$=WDnDjiBu!ZZEdG$yWG${iZJf;t;v3(UK`_m z6Z~=gdM@kfqvF&U6?4Qo8sE@=^}9ucaUW^!L7^*m#WH+$#~j8EFlkwpWfq_e;DOmN4|%jKm7z7j&gWhA4QNQ&S_i8$nYqq)S3~D zF!`}@mRs$d5$Q)Z6tr3$Ni%te*uk-K4>8H$r8#vDPMMgEaUQJhAfLq@4fo<& z7OE_B*~DV1hEAidU@0Nqb;9vjbsJ4p={R&bqv;fWwL-`T%ha)|Wkf%~_3H$M8kZFN zFv2A=sR^#v-c6+U)mQD`EVzI|semAbkQI@2>z-$9#RSDdnad^*;n8_AFMPa-FOM%n zG!oD@=G&hH{i+A8I##{T&5MTFGc>_< z(G#(Ht6bwe@-F~@q4C@!Pw|cS9L-2EkD|??Ci~QafU2E-`yYWz{55!qDA8~P$@jUX za|?+%Z78-w)NFkF10d)=tKThBv|Z-5wi8hzn1+lji+p-)!P{R8eEF9527|ly65!K5 zw}mfHA4)vgj%8J`?aJFf0|Hm(qL;fU6mpDBjIwUs^C*ghp@xYX=086JCa$_7@NzXg z-v-xbtSv#Ws1R;yrCiF=dg<5Rbk1kbJ}-FuB)D+0A0ZZ|SSs=BRS$B^;>A3^YbRH) zedeDU^FO@`7@9#zs^Ym8Nkv15Cs1lOp5suj)%NS(f7D?t&HCi(73`@j8=iZfC%eb# z8V%!n{y)D@@XsEwl1pJ%N*F#=ygIUKFfcNTXvoCW{ZHrBJjT=0*!2>sD00%-A0`xz zaNoi#5k>vq4*)7N-{%~Ub$@=5P$bOd_R|!~RdR!)|Ihk;&As=43}@|3u%<8f&#w~y z(*Z^<{c7OUOC%+YS}cMXNC-^^<+Oz?3g{sP-495YDmbAqA;%@`mnmr`F~ZF1YJ2A7)?)Qe>d+eUSQSy@_l0_u_EELTVq zc~mFZuYRxl0x?yb<(jt~faYj|s_hWSK7KvmV);ofJN7Dm**k=v$y4)vG(o}^6kOMR zjVyhIE3%;gS#ELL)5EPw1h!4GIN#g){9qh{hYm6qoa6+ zMA&tym-BqKwi2_cncY^ET5Bs~^ZoKge-_imc^#E>-e$u6d?f`TiVDJG7OH4 zVdLyqzuWa1-|Tyt;awvrvisHpP-iPXNO(P<>f~i+`fyt zD{|oBEAU(kL6T@`ZKl1en{;Z5tuJrGH#9P-G~XEM=kyIxE-fynR`sd=MZXKG&b6z{-8`OT;Aagq=&nIFozucEmgl*|UqgGm;SKfs!1mot*L=RaIK|hEwQoHDLdc+A zsi5f^HLJ$(&@O(wc$nLbGg!3nKyLC^^Z9$v=dLTRKoLU>Z`wjrEY9hB+i`>dITWF_ zuZw@5TEVv_`w?`X%cEP~P`}4I8reHB%thOpxooKKtp~skEc{x5snj&h(HOs3mc#w& zUdD4p;=dSWUS|*IZ)xT6zP;r0(>(a{4jPl~3=R(PANn6S{^XMhYZ}jPc!A;62nQ`& zMkYVS=j!)yW%5}rOdmioT|f)PK@^FaQBFMSoy=)%COmh}TMvMt$Xv^68k(ZG0i69} z6Nc^5nlzaJx)#i#@6f~edE>{pT|W&~mT@hMXhV`87-wNiBJ&mEXhc=kbj^U6UPA?XOd?zz{H`j0m4v4gj8&yOB307UluM9UhCShOrE24cYp z?6M3%JQ_vyoknPB0KXqKl%ybnOQOB93ndU>nftHx`@_<4{`Yss8R++8FE^7;=Gf`_ zbLy{YL-csrcyJrRktCwSh!V@;u95I~JoKI%V#UfPezD`X21<~rr+=)aN5(MNC4PIn zi)9OIvAaD89sJ_#> z^7nh*&_A{@(TM2ra5DHaCdT{#{I2r^->v%+lGDJwOTU3=wefCN;LM3m41&Od>ROtX z)nbv1G%c$o5lPc~atLRog`QJ=lq%`*2{eNRH86!_)-Z_{jKKg?qr-W9XLm@1g5+#g z>~0r{P>^TWD(q<;=Iz?t+1YMs&}Th58sVYlUer*Mwzz|hiN@jqlUau~>wW&dzfKAc_)ND2&l$KolkZV)?fbJsx)VAL7-K&N(2gY2Atv2Op;0@<^nK2K8B4PQ*Rt+e0&UmPb~N{w{3WU=aR>WN259? z;PnC!9gXl@@)+H|9(KBYL`Ng~`!p4tjg369=mdvuy^SZ^#)t(1gaa{bswnV9^XjlQ~l9 zEEdf`I25LNNi)lrFGuuv0LWP#MSYqoZYMe#VW-;%z_u-W&c4rT!JbY-%FL%b4q>;0 zr@kJK$3rxkV{mkcre(Dxr!Qfx1xHOa z6Jz6;1tX@}9jvkqEtAGjA!C(ol)1`K5{a`9`2A2(ja`4hnb@< zyug{$L#(@NA!QXZo9_DvyHe{x$O2%qNVsbx5|MOKM7S6hplBMYtV$-NV3$PK9JuF$jHV;@KdK4@q8l~pz|8Pky zz@#e=Y!^EC!tx*J$`@qso}V%m46^ukiHFqnRNvbU!07HD<$1vCMGYnO8Ey71Kp>wg zFKKB8zaM*3Q;`+Sc9%;AKtcJ=XkStMF3kQM@p|)$Pxsk9b_m8mu6BYapA&4ZtzpGb zp25{n62T?uAd3~%D3hZAbax!N^Z*nt_S^coZNmeELt)+j3v%!F?F}Dm{&3HYASQW zytkr~<7DIweE{kHQ%jc@FMf6~NA6s5vNJPVEY z-*3o=Y3s)@3l^+`#5KBkcW6AopA9{R(KTJZ+U*{8) z!Ha~M%tV-kn8O&3fK5EF@lAcFUCT@a$cj0PR*|$^PC6N*H%r#_SgbVmDV&mCmD&_Sm?rjy;w@>!36kY?`!?w?rBCTSJh$Dh$H z!BXi#$Z5>0a$z(Hn1n1bkBDCbqeDLL@y+h9s49*c8A%qI%49Hn;hH+F6cTxO^H=p5 zS3^m?UfAvHL3GK~d#iN-u+t5Hx%@ByBnK#dcqNOqISiMpIfEr5j?Kk!p zDfmI{0B25gQfDpK2khk5#o zuM&$yVGTU~Jbdl#Cy9Z9Oj=l~CL2>Y5wj9NbW{36wh$tW;ljPUR7 z)0jr0D4}Q(^LN@~dhKwNv|_AVXhjW7VYeDEJ0t{Msc9sgcP{3h`+mq*KKE6ecP^fz{EpQd zxvPE!J63Px;muzqFf_^m>o8eUinOL6Sh5I`NPi|sT1j9K@)WbDb+{<|6J0WPS*A_S zSAHMueG-RLrvLTB#1FiPT=TsJwZEiFZ!Z?dvIeDZoy*Pv?b=Wv#@u7$!wPwB(l- z*?5xdRD?)8!e^C6eKwQV*68aFoil*PSKQ6!#tn46yr0H3>rg^bHc6}WSdkkPtfBCW-+#7BZFNvzUB}jmeVpv;!9EourzTM*{E$uNi=y4W9{xUkklp=< z*uCR5;-}tYr`yNYU<*6lK056&UHKmWAeBoSbYELN;Uu0(Lb;jPcn|=GD<7^L^W6Gu zD}exQaYs=daptw_RQ|gE^}{rK7wDGJo;%2rmS)=G4)(MT(_Y!7uUd75XIPa^e#b`; zT{7*N1Jo|6W=Gl0JXw8;Ct3zjQYo;AsEHgxkAIMzZXb`YxSQQOUZcO`Fpu^=smJBV zt8Qh#t-mOXD_9ADb>Tvs32XjZlgLg*h>ZtPO=gy!H0nD?o1|4bXm=bD_4@_FD}=?$ z(f9OF3ZMi6dcTL}eV#jxh&;aHZhiI(V*+%mD%`8Trj0~;f`q1#OsH&&T+3(PbaL-t zD{mY)geqAPcDj9hv*~Uosuyx>%NJ>X`93x`ZeVM$<(xdYq@`J3=HmC$fAly(M~3oo zjrEZ#){azAS+;uk)Qezx$f0vPqzv;pw! zT18)77TiS%MQIPL*1=XnQML>>V=@UiBone(W`VbcNIFZ$Ist>IVtn9+Pk#3)ig8|!)ZrEZRHG_y`v#PcU#p)KUh7etp<@XG`L!^*~bo_g(dQrEfZ37_G= z6F#<#EI|oHS<$kJGbcJ}9k5~^iPEZ;Q)Ut|NM?w|*iiK`szYgTICxzgWu0>c#A2*V zR6#7CAK;iSo;n=*b#*9Br{?F0@PCm_CJ{XzRz_U-eZ7b-na1*b0XJ^eFiBQSk`=ql zja77#ORFrMwDSFmqx?L0oTQSVrF990hPqlk6`nsoPg=vnK|Zl|F}_n13=ao6S9?L$ zxP_9}~F3IM;a9&p85KB+AY9I3HbZzKg57EYqY<;3!{PCevDuNF=Wqdk zIR2p&3&j%n!|}@=fb>v^?!G?6aywcoOWIvdPL`;5yBHfEoqIl@0K&}Qnc^Fsz*}bj zf1x~p*&$)K8c+jMAjxDW0~j@dl$yd`Gw;fe0^N6S(VUAKd91vPE#r%E3l@x$#0&fP zbMq~?{0Za%+5Fl+rzWva#W>m5!`6v?)K}LbSsmwgfh$SWL=LcRh3K?{|CN*_Kj`pTC|zV z-PwyCZ<)PlDO~EJXy*2N{sZT?|6lX{M+_I;0%orHXBRvk{PfBqfJ!}Ipl`ol;Qs$b z=YaFA2b6lgpw#{UKL`mHK=2JuoU$Udn3VZUE1m~i2I zLE)^=9_vAvC{}*Q>W%s#se(n!K4Q~pkI{Cn{eKtK&p4btdw2MfguznJ7eHzI|CdD` zP|Ep&QuqHaIRK@eFDP~Y|B?ex>iL3F_x~?B0HvNUD0Tn;k^`_Y(Wv`7K-DuL{rB0m zif;0S!G;#e{P>l_0Q~D)NA(;5@`oWhqkU{2e+DHGK=gPJT{7JrM-W{y&E5q%7Zm<3 odMbRrQtJ7FnQ|fhOI;rS9|us_7{Dec7ytkO07*qoM6N<$f==nEKL7v# literal 7102 zcmV;v8$slWP)Nklx;oXTQcWtAkW>f(LWl?o(sv@*qksx3auFNUp?Hx_Y;XV<#Vc@y zr(knY2(8kS7)c-ylNgc^lB!Bl{i#!@@Ald4`=g{#Y2q8#F}M%sUuTT7=UQ`pYp!qZ zZ|)`3A2>L;>GAjS)tj#r1VNy9*Uti1kWd2`AA#-j7g8t`&`c3sitvgR3IzZ(UBwK? za9tZ@htznM1$_%<|G#JRkJzz&Bf~?JgyRZ!&7-k3$`7ZO(|XpKoc8#od}CifmnSx} z<^H^I#JSBuGMVI|8($JuoYE8g?gN+O)$5p&O2xMDWD!Nx5o{M%muUUOr-WBxI_lhx zK-E+fRY5i-9{&CgA%Dkhfjyo=2peqLxRnFDItVu;5#tdAO+nPo*erbQ$5#o0Ff)!A zi6V$1xk3do5~c3c0J!VkTX^7!U-Q^=zhQi8oU}c_eH-uL?)ASWlSxx36qrbl;y4Z) z|GaS)fbE;NaAoIbFrotASn?%wEyTwv@8WBn+Ym&NxosWvCKITJ#OYsJ6jY1$%;GP3nB! zzv3*8?0d(o?}k79k!QC*N?&&$0Qr0#+p{qHdhon}hPF90#hW?)3tu9et>A?;MkYoX z%;W%g=*E|XP*mmgFD(k}n#Y3P`P{@aT$Z|<3x|G&D+vT*!1Q#1a@|G{JOEaHs69C1 zokwty`W{r%AP58=KK?31MMRMlNst`k?&kZdFH-S#d2Bs;W@#(jy{IZ1@A&f#FPZ`)e2h3!1FvTO(9gZIoxfb zoXvn+!^UAGJx#q@eJub}Qz=4tSq8TD+Bzo&-%};7^-h3xFC3lxiMz+eHloLJ5@(J0IoH1CGYC zL;}&l^2#(c#sRSEwOLYpY2ZbCwa&+n`|_*fX)0mchPuM3tDhnqhGcg)$z+mJ&0}O@ zl-mxOWb-{mVRU4Sk%>{Z+@BYgy)PbwRAY9W=YPLPh&M#Qwkh~7W`mBS=vcWDWv7l) zDKIsa<&zt)b!0k@a^@3CrFW54PN&7hcJLSFBR82qhvU znj3H|4^x+r0uf1-K-2h6<;?^A@uHp z|Ne(7ncv?@xl~39B+lQr0PVx?p+1$GO?B7tc!dBnnG7pFnhY|T%->A0d)IEVkqW*b z(WV4cH5FBHK$6IoEnawL10C~|+<*PH+0q!Pij>U=u2;dS*9oL5T0@9$>mPzv5Z0`H zI|e)1kHS>WKr!PKh`W+a3t!r=#;!qoI6&5f-yB&w*0cmI^abb%W}TlwX8 z)(O0coqX}apjxbR>#~c9nK5)TL^+!y(K#2dkjGVIB9ctrc2FD_KX7q85vN|GMGz>+ zGM?{a>N=Bq_R!khfmp1T(L*YQOo>vtL@u9Wx->C+uJw@0sY^b`mf~i1rCwmH@*)Mn zr!m<`&)go0#Uf_dL{()XW&{zDgCZwjI4x}0v5xJNFEBomCFaj(czBq}i7AGMhZ!Co z#&vAen!vT%^Ej@@{_LP7%Lyc(xpUglTN_?2*O@fAY?{)*E+z(sP-|5j+oo7^iAV}w zdK@>TP~Eu`*Q+tGcQ2CUBTE{xD$48~9inO#7|-pYE!jo6RH3)y06gDCKwxxYlx6XQ znB13R+#KQ9#xqGaCCH?6%xRwkz|i1c79B8C5=Y0NPi{eOX{RfCFaWM^1JK&m%&vV~ zkra{6&QAPF9XGI9b<>}O{Q>a33x6qm@Up`L&-I~PrAk0!)Wolf>=>UWa08Y^O~zk- z38S%vm>ENGZ4^nOSaqq}E@4-sN$^n`S}9bjh?{pl%S3KBmTjSmI+@foJ*`X0qzg!* z%z2;v1YiBZIULY-IK7KHm}kvr*U)x8@NdU((n%-H2G`X+_ixDWPpPe#-m5$ziz?$& z<5*Rj(bN!vqcJf)!ccaaL@dfbVjuk4VZr6faRjbQ`1JSDdG@(vQyI1mjk5NE-(u%2 z^7%YwS1*x<7F=DTBGf_DW{F)kb*dgn5gobiAa8nU9bZ28S_*~2EO|xD5T$a7LIJ-0 zt!pWjb3FLa1FZSuQ#iGNo}L~qe*aY*dE=1)D7wI&!4Vpp8mQMCOw&ZsMT(4&qzTuy zsM!wf&FyR*T2HP#&2jHsL~1NWyi`KbL;nx}x@-_T_%QU&d1Rh?j1#`t#Yfg&f#Z7^ zOEexDxf5kVMO1ulY5E|Mu1>y6-yT%!qTNn*t2I3-96p2J3gJt6EP#ys`bCHzs{NSKEd4B5=70T zW;;a82$|v(sp=4?t~?h7g@_rUx3iP6iG6(a<_`pKw)i{Ve^y}CJ-)L3JN)?DSEKj= zUx=QEu7ufeS4vp9t%VovofOvJJuGx~&Ea$Dd$?%eb~bE$mSk58p(z*42)11$mn%@U zDo64j3O-^zC zr!JT!%2K&R+J2dN4a+H&OLWZXpi-?cm7Sueqla8M$L5`D$mjEPw05&_?jh(Q6-_aS z|M#72*|dZEkF4SgKEM6Wn{&bYzj{azI1=CMJBLqhz8Y1NSpDPF>-v23>qiC?W5YOj z#A7igCdWAKgfsZJ{8D^PM$#389Xoaeg+gKW^|nwb(2z`$N=;C$)Ud1?tGD0Hi`%x+ zw_p*b7UA?G&&8_R{Mq>(d&Z_&s4T#YhpFUkmh~NhRki8t>?D`Z;zkgE@j=x|*plTAen#I$1>=F0}ZRx3v zL0^A2xAuOTXc*k8hw!yK&JT`iJp&()7mLqv&e|HtB9f@iq=*^Dj5JV5PcrB`9C7(o zZ#v=FjW+~hpb$6(#6ZGKHX^zXv~K5wN8yptK~7k30IPTG;G<`~m-%1$`s>D*y6TER zFP5+x6I5K7clqT4fVfC|2a2eoi3ZD}M-o>AJl`Ua0u0TdUaR3b4vM1E5l`$F<&dG_ zS|xBKq^d)`SY$d~BAkpv%?I1Z$rTwd7O3IkrYoqvz~jID4drTeMtWB&ckCD#4< zMQ}W%kO(T|21hBBt6XkBO(+uHF96wGn$M>0<-$Eb$_&XPz%7btVIl%m|k6W41>yB071; zVNG9-vvwvxhBf!z^O|_}=P$hc?P~+2TA?Wt#u5drs)OqXm`yrCx`r=!7=;oUua2Tc zh%_ZBxOF1+G8NI}ypf;Js6_K%QBrCGXYIaf%BGdVbj9|&~x^x*jpnW9Z|a{?={ z@yFB1F`fEk={4NtOk^-x8s5}jOoR-)h=JV@C#bu#$l0SgR3|{1$Wv%-L73M~xj8<2 zELFD&&Bi_-rl|1c_w}R}gM*rta5~JOOt)GYfoJ6HrV8S#-&Ug4g9PXLMq}{$jnH zC+xa-hJ-ab%Jp;ha_hyb0Ek8sXbEGcd8mg7G?`j!E4!^KW>Yhtt*xAGcZF>mRa1HD zj5AR+b>{aExAN2vx6<7+j~^}@WADzbc(OugZyN_JU5amuTwQxN<#LJ7|L$Vy;SkT> zeJ|^8x`FPVc`SV>hhMf>b>G9U0sgN$yqUp4T9Yk|jgMoOJmiXl83b5fuwQ>s7DQY{ zqUxiCDNPr(}PqAt3IwZ@QZFha_dnaL- z3dcQoKZdDbmUvXo;lSxQHHFNPB0p<{h2^$PWhP4}|JbTq_hoYTpo`Ta$Uy*i$ZIJ-QyEnu;ss)*j?cIldoZ7&k#T10WKKoWYHoR7s`NocOfL=HEX?TUce@!nv$i{@f&2qtA7ovwl ze17={I3#WI2VsoULj5xz87gJg1-m(?|1>PiM_;y#6~7#$_ndQRiS}~cCvRjtQ)EHs zGR|D@^2OGb6iQWAN5(iczMK%yxH-o!7fo-w*IVl~Zk+YxVQ+{|x2eJ9?5hw|8^m-5M9oy*+$ZCsmQNpX4_F{}}bMR0T- zzg#7vhj1;4mtNk9B8!B6`v(@Zv~b@uw{iFCTRG*L<=nmcW{P=>?xrTb+PaPFd-rjx zdn_%@34*Z3+^#O{ijA&^IpQ%$L>jO>hsxMK{JBNAXX&7*NwG2^j@6>{rwDV-~EREULwjR{u*RO3~|>L zSFm>3IFo*sWeX4DM*nEOu=pv?-{sTL)rqES)GHO#kbzUIar)kNnhuIHylD#yLXE^C z8nvR!ZORF3-?W!4A5U_|V?$_jS{NGGM|)=rQQ-gz=_0ZeaE-E&p5$Cc_U+^G!wa1I zd<)SYiElP;<&u$JYI;DfUI8)S(_;$=WDnDjiBu!ZZEdG$yWG${iZJf;t;v3(UK`_m z6Z~=gdM@kfqvF&U6?4Qo8sE@=^}9ucaUW^!L7^*m#WH+$#~j8EFlkwpWfq_e;DOmN4|%jKm7z7j&gWhA4QNQ&S_i8$nYqq)S3~D zF!`}@mRs$d5$Q)Z6tr3$Ni%te*uk-K4>8H$r8#vDPMMgEaUQJhAfLq@4fo<& z7OE_B*~DV1hEAidU@0Nqb;9vjbsJ4p={R&bqv;fWwL-`T%ha)|Wkf%~_3H$M8kZFN zFv2A=sR^#v-c6+U)mQD`EVzI|semAbkQI@2>z-$9#RSDdnad^*;n8_AFMPa-FOM%n zG!oD@=G&hH{i+A8I##{T&5MTFGc>_< z(G#(Ht6bwe@-F~@q4C@!Pw|cS9L-2EkD|??Ci~QafU2E-`yYWz{55!qDA8~P$@jUX za|?+%Z78-w)NFkF10d)=tKThBv|Z-5wi8hzn1+lji+p-)!P{R8eEF9527|ly65!K5 zw}mfHA4)vgj%8J`?aJFf0|Hm(qL;fU6mpDBjIwUs^C*ghp@xYX=086JCa$_7@NzXg z-v-xbtSv#Ws1R;yrCiF=dg<5Rbk1kbJ}-FuB)D+0A0ZZ|SSs=BRS$B^;>A3^YbRH) zedeDU^FO@`7@9#zs^Ym8Nkv15Cs1lOp5suj)%NS(f7D?t&HCi(73`@j8=iZfC%eb# z8V%!n{y)D@@XsEwl1pJ%N*F#=ygIUKFfcNTXvoCW{ZHrBJjT=0*!2>sD00%-A0`xz zaNoi#5k>vq4*)7N-{%~Ub$@=5P$bOd_R|!~RdR!)|Ihk;&As=43}@|3u%<8f&#w~y z(*Z^<{c7OUOC%+YS}cMXNC-^^<+Oz?3g{sP-495YDmbAqA;%@`mnmr`F~ZF1YJ2A7)?)Qe>d+eUSQSy@_l0_u_EELTVq zc~mFZuYRxl0x?yb<(jt~faYj|s_hWSK7KvmV);ofJN7Dm**k=v$y4)vG(o}^6kOMR zjVyhIE3%;gS#ELL)5EPw1h!4GIN#g){9qh{hYm6qoa6+ zMA&tym-BqKwi2_cncY^ET5Bs~^ZoKge-_imc^#E>-e$u6d?f`TiVDJG7OH4 zVdLyqzuWa1-|Tyt;awvrvisHpP-iPXNO(P<>f~i+`fyt zD{|oBEAU(kL6T@`ZKl1en{;Z5tuJrGH#9P-G~XEM=kyIxE-fynR`sd=MZXKG&b6z{-8`OT;Aagq=&nIFozucEmgl*|UqgGm;SKfs!1mot*L=RaIK|hEwQoHDLdc+A zsi5f^HLJ$(&@O(wc$nLbGg!3nKyLC^^Z9$v=dLTRKoLU>Z`wjrEY9hB+i`>dITWF_ zuZw@5TEVv_`w?`X%cEP~P`}4I8reHB%thOpxooKKtp~skEc{x5snj&h(HOs3mc#w& zUdD4p;=dSWUS|*IZ)xT6zP;r0(>(a{4jPl~3=R(PANn6S{^XMhYZ}jPc!A;62nQ`& zMkYVS=j!)yW%5}rOdmioT|f)PK@^FaQBFMSoy=)%COmh}TMvMt$Xv^68k(ZG0i69} z6Nc^5nlzaJx)#i#@6f~edE>{pT|W&~mT@hMXhV`87-wNiBJ&m