From 042fe34b2b9a12217c467d2068f716db37aa7843 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Thu, 31 Oct 2024 17:09:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E9=98=94=E5=89=91=E5=9C=B0=E9=9B=B7?= =?UTF-8?q?=E5=92=8C=E4=B8=A4=E9=97=A8=E7=82=AE=E9=87=8D=E5=88=B6=E4=B8=BA?= =?UTF-8?q?Entity=E8=80=8C=E4=B8=8D=E6=98=AF=E7=94=9F=E7=89=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../renderer/entity/ClaymoreRenderer.java | 10 + .../client/renderer/entity/Mk42Renderer.java | 12 + .../renderer/entity/Mle1934Renderer.java | 12 + .../superbwarfare/entity/ClaymoreEntity.java | 171 ++++-------- .../superbwarfare/entity/Mk42Entity.java | 246 +++++++++-------- .../superbwarfare/entity/Mle1934Entity.java | 251 +++++++++--------- .../superbwarfare/entity/MortarEntity.java | 245 +++++++---------- .../entity/layer/Mk42DamageLayer.java | 29 ++ .../entity/layer/Mle1934DamageLayer.java | 29 ++ .../projectile/JavelinMissileEntity.java | 2 +- .../entity/projectile/ProjectileEntity.java | 7 +- .../event/ClientEventHandler.java | 7 +- .../superbwarfare/init/ModEntities.java | 4 - .../mcreator/superbwarfare/init/ModItems.java | 2 - .../item/gun/launcher/JavelinItem.java | 11 +- .../network/message/FireMessage.java | 2 +- .../superbwarfare/tools/SeekTool.java | 3 +- .../sounds/ak_47/ak_47_fire_1p.ogg | Bin 10451 -> 50772 bytes .../sounds/ak_47/ak_47_fire_3p.ogg | Bin 16065 -> 26724 bytes .../textures/entity/mle1934_damage.png | Bin 0 -> 35387 bytes .../textures/entity/sherman_damage.png | Bin 0 -> 22242 bytes 21 files changed, 501 insertions(+), 542 deletions(-) create mode 100644 src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java create mode 100644 src/main/java/net/mcreator/superbwarfare/entity/layer/Mle1934DamageLayer.java create mode 100644 src/main/resources/assets/superbwarfare/textures/entity/mle1934_damage.png create mode 100644 src/main/resources/assets/superbwarfare/textures/entity/sherman_damage.png diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java index bc38bcfb9..6082ff177 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java @@ -2,12 +2,14 @@ package net.mcreator.superbwarfare.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; import net.mcreator.superbwarfare.entity.ClaymoreEntity; import net.mcreator.superbwarfare.entity.model.ClaymoreModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; @@ -31,6 +33,14 @@ public class ClaymoreRenderer extends GeoEntityRenderer { super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha); } + @Override + public void render(ClaymoreEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) { + poseStack.pushPose(); + poseStack.mulPose(Axis.YP.rotationDegrees(-Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()))); + super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn); + poseStack.popPose(); + } + @Override protected float getDeathMaxRotation(ClaymoreEntity entityLivingBaseIn) { return 0.0F; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java index c27502882..42c2242ba 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java @@ -2,13 +2,16 @@ package net.mcreator.superbwarfare.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; import net.mcreator.superbwarfare.entity.Mk42Entity; +import net.mcreator.superbwarfare.entity.layer.Mk42DamageLayer; import net.mcreator.superbwarfare.entity.layer.Mk42Layer; import net.mcreator.superbwarfare.entity.model.Mk42Model; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; @@ -17,6 +20,7 @@ public class Mk42Renderer extends GeoEntityRenderer { super(renderManager, new Mk42Model()); this.shadowRadius = 3f; this.addRenderLayer(new Mk42Layer(this)); + this.addRenderLayer(new Mk42DamageLayer(this)); } @Override @@ -33,6 +37,14 @@ public class Mk42Renderer extends GeoEntityRenderer { super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha); } + @Override + public void render(Mk42Entity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) { + poseStack.pushPose(); + poseStack.mulPose(Axis.YP.rotationDegrees(-Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()))); + super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn); + poseStack.popPose(); + } + @Override protected float getDeathMaxRotation(Mk42Entity entityLivingBaseIn) { return 0.0F; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mle1934Renderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mle1934Renderer.java index be5aca652..ee9f9cf0c 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mle1934Renderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mle1934Renderer.java @@ -2,13 +2,16 @@ package net.mcreator.superbwarfare.client.renderer.entity; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; import net.mcreator.superbwarfare.entity.Mle1934Entity; +import net.mcreator.superbwarfare.entity.layer.Mle1934DamageLayer; import net.mcreator.superbwarfare.entity.layer.Mle1934Layer; import net.mcreator.superbwarfare.entity.model.Mle1934Model; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; @@ -17,6 +20,7 @@ public class Mle1934Renderer extends GeoEntityRenderer { super(renderManager, new Mle1934Model()); this.shadowRadius = 3f; this.addRenderLayer(new Mle1934Layer(this)); + this.addRenderLayer(new Mle1934DamageLayer(this)); } @Override @@ -33,6 +37,14 @@ public class Mle1934Renderer extends GeoEntityRenderer { super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha); } + @Override + public void render(Mle1934Entity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) { + poseStack.pushPose(); + poseStack.mulPose(Axis.YP.rotationDegrees(-Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()))); + super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn); + poseStack.popPose(); + } + @Override protected float getDeathMaxRotation(Mle1934Entity entityLivingBaseIn) { return 0.0F; diff --git a/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java index 113fdce0e..f849326be 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java @@ -1,25 +1,22 @@ package net.mcreator.superbwarfare.entity; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.init.ModDamageTypes; -import net.mcreator.superbwarfare.init.ModEntities; -import net.mcreator.superbwarfare.init.ModItems; +import net.mcreator.superbwarfare.init.*; import net.mcreator.superbwarfare.tools.CustomExplosion; import net.mcreator.superbwarfare.tools.ParticleTool; -import net.minecraft.core.NonNullList; +import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.players.OldUsersConverter; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.*; -import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.ThrownPotion; import net.minecraft.world.item.ItemStack; @@ -31,10 +28,6 @@ import net.minecraftforge.items.ItemHandlerHelper; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animation.AnimatableManager; -import software.bernie.geckolib.core.animation.AnimationController; -import software.bernie.geckolib.core.animation.AnimationState; -import software.bernie.geckolib.core.animation.RawAnimation; -import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.Nullable; @@ -42,12 +35,12 @@ import java.util.Comparator; import java.util.Optional; import java.util.UUID; -public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedEntity, OwnableEntity { - public static final EntityDataAccessor ANIMATION = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.STRING); - protected static final EntityDataAccessor> OWNER_UUID = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.OPTIONAL_UUID); - private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); +import static net.mcreator.superbwarfare.tools.ParticleTool.sendParticle; - public String animationProcedure = "empty"; +public class ClaymoreEntity extends Entity implements GeoEntity, AnimatedEntity, OwnableEntity { + protected static final EntityDataAccessor> OWNER_UUID = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.OPTIONAL_UUID); + public static final EntityDataAccessor HEALTH = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.FLOAT); + private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public ClaymoreEntity(EntityType type, Level world) { super(type, world); @@ -60,35 +53,17 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE @Override protected void defineSynchedData() { - super.defineSynchedData(); - this.entityData.define(ANIMATION, "undefined"); this.entityData.define(OWNER_UUID, Optional.empty()); + this.entityData.define(HEALTH, 10f); } @Override - public MobType getMobType() { - return super.getMobType(); - } - - @Override - public Iterable getArmorSlots() { - return NonNullList.withSize(1, ItemStack.EMPTY); - } - - @Override - public ItemStack getItemBySlot(EquipmentSlot pSlot) { - return ItemStack.EMPTY; - } - - @Override - public void setItemSlot(EquipmentSlot pSlot, ItemStack pStack) { - + public boolean isPickable() { + return !this.isRemoved(); } @Override public boolean hurt(DamageSource source, float amount) { - if (source.is(DamageTypes.IN_FIRE)) - return false; if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud) return false; if (source.is(DamageTypes.FALL)) @@ -97,33 +72,20 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE return false; if (source.is(DamageTypes.DROWN)) return false; - if (source.is(DamageTypes.LIGHTNING_BOLT)) - return false; - if (source.is(DamageTypes.EXPLOSION)) - return false; if (source.is(DamageTypes.DRAGON_BREATH)) return false; if (source.is(DamageTypes.WITHER)) return false; if (source.is(DamageTypes.WITHER_SKULL)) return false; - return super.hurt(source, amount); - } - @Override - public void die(DamageSource source) { - super.die(source); - - if (level() instanceof ServerLevel) { - CustomExplosion explosion = new CustomExplosion(this.level(), this, - ModDamageTypes.causeMineDamage(this.level().registryAccess(), this.getOwner()), 15.0f, - this.getX(), this.getY(), this.getZ(), 7.5f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); - explosion.explode(); - net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); - explosion.finalizeExplosion(false); - ParticleTool.spawnMediumExplosionParticles(this.level(), this.position()); - this.discard(); + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ModParticleTypes.FIRE_STAR.get(), this.getX(), this.getY() + 0.2, this.getZ(), 2, 0.02, 0.02, 0.02, 0.1, false); } + this.level().playSound(null, this.getOnPos(), ModSounds.HIT.get(), SoundSource.PLAYERS, 1, 1); + this.entityData.set(HEALTH, this.entityData.get(HEALTH) - amount); + + return super.hurt(source, amount); } public void setOwnerUUID(@Nullable UUID pUuid) { @@ -141,7 +103,7 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE @Override public void addAdditionalSaveData(CompoundTag compound) { - super.addAdditionalSaveData(compound); + compound.putFloat("Health", this.entityData.get(HEALTH)); if (this.getOwnerUUID() != null) { compound.putUUID("Owner", this.getOwnerUUID()); @@ -150,7 +112,9 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE @Override public void readAdditionalSaveData(CompoundTag compound) { - super.readAdditionalSaveData(compound); + if (compound.contains("Health")) { + this.entityData.set(HEALTH, compound.getFloat("Health")); + } UUID uuid; if (compound.hasUUID("Owner")) { @@ -197,15 +161,11 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE if (!this.level().isClientSide()) this.discard(); } - this.removeAllEffects(); - this.clearFire(); - if (this.tickCount >= 40) { final Vec3 center = new Vec3(x + 1.5 * this.getLookAngle().x, y + 1.5 * this.getLookAngle().y, z + 1.5 * this.getLookAngle().z); for (Entity target : level.getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(2.5 / 2d), e -> true).stream().sorted(Comparator.comparingDouble(e -> e.distanceToSqr(center))).toList()) { var condition = this.getOwner() != target && target instanceof LivingEntity - && !(target instanceof ClaymoreEntity) && !(target instanceof TargetEntity) && !(target instanceof Player player && (player.isCreative() || player.isSpectator())) && (!this.isAlliedTo(target) || target.getTeam() == null || target.getTeam().getName().equals("TDM")) @@ -226,8 +186,42 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE } } + this.setDeltaMovement(this.getDeltaMovement().add(0.0, -0.03, 0.0)); + + if (!this.level().noCollision(this.getBoundingBox())) { + this.moveTowardsClosestSpace(this.getX(), (this.getBoundingBox().minY + this.getBoundingBox().maxY) / 2.0, this.getZ()); + } + + this.move(MoverType.SELF, this.getDeltaMovement()); + float f = 0.98F; + if (this.onGround()) { + BlockPos pos = this.getBlockPosBelowThatAffectsMyMovement(); + f = this.level().getBlockState(pos).getFriction(this.level(), pos, this) * 0.98F; + } + + this.setDeltaMovement(this.getDeltaMovement().multiply(f, 0.98, f)); + if (this.onGround()) { + this.setDeltaMovement(this.getDeltaMovement().multiply(1.0, -0.9, 1.0)); + } + + if (this.entityData.get(HEALTH) <= 0) { + destroy(); + } + this.refreshDimensions(); } + public void destroy() { + if (level() instanceof ServerLevel) { + CustomExplosion explosion = new CustomExplosion(this.level(), this, + ModDamageTypes.causeMineDamage(this.level().registryAccess(), this), 15.0f, + this.getX(), this.getY(), this.getZ(), 7.5f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); + explosion.explode(); + net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); + explosion.finalizeExplosion(false); + ParticleTool.spawnMediumExplosionParticles(this.level(), this.position()); + this.discard(); + } + } private void triggerExplode(Entity target) { CustomExplosion explosion = new CustomExplosion(this.level(), this, @@ -245,77 +239,26 @@ public class ClaymoreEntity extends LivingEntity implements GeoEntity, AnimatedE @Override public boolean isPushable() { - return false; - } - - @Override - public HumanoidArm getMainArm() { - return HumanoidArm.RIGHT; - } - - @Override - public void aiStep() { - super.aiStep(); - this.updateSwingTime(); - } - - private PlayState movementPredicate(software.bernie.geckolib.core.animation.AnimationState event) { - if (this.animationProcedure.equals("empty")) { - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.claymore.idle")); - } - return PlayState.STOP; - } - - private PlayState procedurePredicate(AnimationState event) { - if (!animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) { - event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); - if (event.getController().getAnimationState() == AnimationController.State.STOPPED) { - this.animationProcedure = "empty"; - event.getController().forceAnimationReset(); - } - } else if (animationProcedure.equals("empty")) { - return PlayState.STOP; - } - return PlayState.CONTINUE; - } - - @Override - protected void tickDeath() { - ++this.deathTime; - if (this.deathTime == 1) { - this.remove(ClaymoreEntity.RemovalReason.KILLED); - } + return true; } public String getSyncedAnimation() { - return this.entityData.get(ANIMATION); + return null; } public void setAnimation(String animation) { - this.entityData.set(ANIMATION, animation); } @Override public void setAnimationProcedure(String procedure) { - this.animationProcedure = procedure; } @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { - data.add(new AnimationController<>(this, "movement", 4, this::movementPredicate)); - data.add(new AnimationController<>(this, "procedure", 4, this::procedurePredicate)); } @Override public AnimatableInstanceCache getAnimatableInstanceCache() { return this.cache; } - - public static AttributeSupplier.Builder createAttributes() { - return Mob.createMobAttributes().add(Attributes.MOVEMENT_SPEED, 0) - .add(Attributes.MAX_HEALTH, 5) - .add(Attributes.FOLLOW_RANGE, 64) - .add(Attributes.ATTACK_DAMAGE, 0) - .add(Attributes.KNOCKBACK_RESISTANCE, 10); - } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java b/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java index 7900e08ec..0dbf43e75 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/Mk42Entity.java @@ -6,6 +6,7 @@ import net.mcreator.superbwarfare.item.common.ammo.CannonShellItem; import net.mcreator.superbwarfare.tools.CustomExplosion; import net.mcreator.superbwarfare.tools.ParticleTool; import net.mcreator.superbwarfare.tools.SoundTool; +import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; @@ -15,26 +16,20 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.*; -import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.ThrownPotion; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Explosion; import net.minecraft.world.level.Level; -import net.minecraft.world.phys.Vec3; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; -import org.jetbrains.annotations.NotNull; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animation.AnimatableManager; @@ -44,13 +39,14 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntity { +import static net.mcreator.superbwarfare.tools.ParticleTool.sendParticle; + +public class Mk42Entity extends Entity implements GeoEntity, ICannonEntity { public static final EntityDataAccessor COOL_DOWN = SynchedEntityData.defineId(Mk42Entity.class, EntityDataSerializers.INT); public static final EntityDataAccessor TYPE = SynchedEntityData.defineId(Mk42Entity.class, EntityDataSerializers.INT); + public static final EntityDataAccessor HEALTH = SynchedEntityData.defineId(Mk42Entity.class, EntityDataSerializers.FLOAT); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public String animationprocedure = "empty"; - protected int interpolationSteps; protected double serverYRot; @@ -62,120 +58,97 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit public Mk42Entity(EntityType type, Level world) { super(type, world); - xpReward = 0; - setNoAi(true); - setPersistenceRequired(); } @Override protected void defineSynchedData() { - super.defineSynchedData(); this.entityData.define(COOL_DOWN, 0); this.entityData.define(TYPE, 0); + this.entityData.define(HEALTH, 500f); } @Override public void addAdditionalSaveData(CompoundTag compound) { - super.addAdditionalSaveData(compound); compound.putInt("cool_down", this.entityData.get(COOL_DOWN)); compound.putInt("type", this.entityData.get(TYPE)); + compound.putFloat("Health", this.entityData.get(HEALTH)); } @Override public void readAdditionalSaveData(CompoundTag compound) { - super.readAdditionalSaveData(compound); this.entityData.set(COOL_DOWN, compound.getInt("cool_down")); this.entityData.set(TYPE, compound.getInt("type")); + this.entityData.set(HEALTH, compound.getFloat("Health")); } @Override - protected float getStandingEyeHeight(Pose poseIn, EntityDimensions sizeIn) { + protected float getEyeHeight(Pose pPose, EntityDimensions pSize) { return 2.16F; } - @Override - public boolean canCollideWith(Entity entity) { - return true; - } - - @Override - public boolean canBeCollidedWith() { - return true; - } - @Override public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } - @Override - public MobType getMobType() { - return super.getMobType(); - } - - @Override - public boolean removeWhenFarAway(double distanceToClosestPlayer) { - return false; - } - @Override public double getPassengersRidingOffset() { return super.getPassengersRidingOffset() - 0.25; } - @Override - public SoundEvent getHurtSound(DamageSource ds) { - return ModSounds.HIT.get(); - } - - @Override - public SoundEvent getDeathSound() { - return ModSounds.HIT.get(); - } - @Override public boolean hurt(DamageSource source, float amount) { + + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ModParticleTypes.FIRE_STAR.get(), this.getX(), this.getY() + 2.5, this.getZ(), 4, 0.2, 0.2, 0.2, 0.2, false); + } + + if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud) + return false; + if (source.is(DamageTypes.FALL)) + return false; + if (source.is(DamageTypes.CACTUS)) + return false; + if (source.is(DamageTypes.DROWN)) + return false; + if (source.is(DamageTypes.LIGHTNING_BOLT)) + return false; + if (source.is(DamageTypes.FALLING_ANVIL)) + return false; + if (source.is(DamageTypes.DRAGON_BREATH)) + return false; + if (source.is(DamageTypes.WITHER)) + return false; + if (source.is(DamageTypes.WITHER_SKULL)) + return false; if (amount < 32) { return false; } - return super.hurt(source, 0.3f * amount); + + this.level().playSound(null, this.getOnPos(), ModSounds.HIT.get(), SoundSource.PLAYERS, 1, 1); + this.entityData.set(HEALTH, this.entityData.get(HEALTH) - 0.5f * amount); + + return true; } @Override - public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) { + public boolean isPickable() { + return !this.isRemoved(); + } + + @Override + public InteractionResult interact(Player player, InteractionHand hand) { if (player.isShiftKeyDown() && player.getMainHandItem().getItem() == ModItems.CROWBAR.get() && this.getFirstPassenger() == null) { this.discard(); - ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MK_42_SPAWN_EGG.get())); +// ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MK_42_SPAWN_EGG.get())); } else { player.setXRot(this.getXRot()); player.setYRot(this.getYRot()); player.startRiding(this); } - InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); - super.mobInteract(player, hand); - return result; - } - @Override - public void die(DamageSource source) { - super.die(source); - - if (level() instanceof ServerLevel) { - destroyExplode(); - this.discard(); - } - } - - private void destroyExplode() { - CustomExplosion explosion = new CustomExplosion(this.level(), this, - ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this), 30f, - this.getX(), this.getY(), this.getZ(), 7.5f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); - explosion.explode(); - net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); - explosion.finalizeExplosion(false); - - ParticleTool.spawnMediumExplosionParticles(this.level(), this.position()); + return InteractionResult.sidedSuccess(this.level().isClientSide()); } @Override @@ -191,9 +164,77 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit this.entityData.set(TYPE, 1); } } + + this.setDeltaMovement(this.getDeltaMovement().add(0.0, -0.04, 0.0)); + + if (!this.level().noCollision(this.getBoundingBox())) { + this.moveTowardsClosestSpace(this.getX(), (this.getBoundingBox().minY + this.getBoundingBox().maxY) / 2.0, this.getZ()); + } + + this.move(MoverType.SELF, this.getDeltaMovement()); + float f = 0.98F; + if (this.onGround()) { + BlockPos pos = this.getBlockPosBelowThatAffectsMyMovement(); + f = this.level().getBlockState(pos).getFriction(this.level(), pos, this) * 0.98F; + } + + this.setDeltaMovement(this.getDeltaMovement().multiply(f, 0.98, f)); + if (this.onGround()) { + this.setDeltaMovement(this.getDeltaMovement().multiply(1.0, -0.9, 1.0)); + } + + if (this.entityData.get(HEALTH) <= 300) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 2, 0.75, 0.5, 0.75, 0.01, false); + } + } + + if (this.entityData.get(HEALTH) <= 200) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + } + } + + if (this.entityData.get(HEALTH) <= 150) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + } + } + + if (this.entityData.get(HEALTH) <= 100) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 2, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 2, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.FLAME, this.getX(), this.getY() + 3.2, this.getZ(), 4, 0.6, 0.1, 0.6, 0.05, false); + sendParticle(serverLevel, ModParticleTypes.FIRE_STAR.get(), this.getX(), this.getY() + 3, this.getZ(), 4, 0.1, 0.1, 0.1, 0.4, false); + } + this.entityData.set(HEALTH, this.entityData.get(HEALTH) - 0.1f); + } else { + this.entityData.set(HEALTH, this.entityData.get(HEALTH) + 0.05f); + } + + if (this.entityData.get(HEALTH) <= 0) { + destroy(); + } + + travel(); this.refreshDimensions(); } + private void destroy() { + CustomExplosion explosion = new CustomExplosion(this.level(), this, + ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this), 130f, + this.getX(), this.getY(), this.getZ(), 9.5f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); + explosion.explode(); + net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); + explosion.finalizeExplosion(false); + ParticleTool.spawnHugeExplosionParticles(this.level(), this.position()); + + this.discard(); + } + @Override public void cannonShoot(Player player) { if (this.entityData.get(COOL_DOWN) > 0) { @@ -216,17 +257,17 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit int durability = 0; if (stack.is(ModItems.HE_5_INCHES.get())) { - hitDamage = 600; + hitDamage = 180; explosionRadius = 10; - explosionDamage = 200; + explosionDamage = 220; fireProbability = 0.18F; fireTime = 5; } if (stack.is(ModItems.AP_5_INCHES.get())) { - hitDamage = 850; + hitDamage = 360; explosionRadius = 3; - explosionDamage = 250; + explosionDamage = 100; fireProbability = 0; fireTime = 0; durability = 25; @@ -286,8 +327,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit this.interpolationSteps = 10; } - @Override - public void travel(@NotNull Vec3 dir) { + public void travel() { Player entity = this.getPassengers().isEmpty() ? null : (Player) this.getPassengers().get(0); ItemStack stack = null; if (entity != null) { @@ -307,17 +347,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit this.setYRot(this.getYRot() + Mth.clamp(diffY, -1.75f, 1.75f)); this.setXRot(Mth.clamp(this.getXRot() + Mth.clamp(diffX, -3f, 3f), -85, 15)); this.setRot(this.getYRot(), this.getXRot()); - this.yBodyRot = this.getYRot(); - this.yHeadRot = this.getYRot(); - return; } - super.travel(dir); - } - - @Override - public void aiStep() { - super.aiStep(); - this.updateSwingTime(); } public static void init() { @@ -342,16 +372,6 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit this.clampRotation(entity); } - public static AttributeSupplier.Builder createAttributes() { - return Mob.createMobAttributes() - .add(Attributes.MOVEMENT_SPEED, 0) - .add(Attributes.MAX_HEALTH, 500) - .add(Attributes.ARMOR, 30) - .add(Attributes.ATTACK_DAMAGE, 0) - .add(Attributes.FOLLOW_RANGE, 32) - .add(Attributes.KNOCKBACK_RESISTANCE, 1); - } - private PlayState movementPredicate(AnimationState event) { if (this.entityData.get(COOL_DOWN) > 0) { if (this.entityData.get(TYPE) == 1) { @@ -364,15 +384,6 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mk42.idle")); } - @Override - protected void tickDeath() { - ++this.deathTime; - if (this.deathTime == 1) { - this.remove(Mk42Entity.RemovalReason.KILLED); - this.dropExperience(); - } - } - public String getSyncedAnimation() { return null; } @@ -390,21 +401,4 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity, ICannonEntit return this.cache; } - @SubscribeEvent - public static void onEntityAttacked(LivingHurtEvent event) { - var damagesource = event.getSource(); - var entity = event.getEntity(); - if (damagesource == null || entity == null) return; - - var sourceentity = damagesource.getEntity(); - if (sourceentity == null) return; - - if (entity instanceof Mk42Entity mk42) { - if (mk42.getFirstPassenger() == null) return; - Entity gunner = mk42.getFirstPassenger(); - if (event.getSource().getDirectEntity() == gunner) { - event.setCanceled(true); - } - } - } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java b/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java index 39220f496..d2874c6ef 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/Mle1934Entity.java @@ -7,6 +7,7 @@ import net.mcreator.superbwarfare.item.common.ammo.CannonShellItem; import net.mcreator.superbwarfare.tools.CustomExplosion; import net.mcreator.superbwarfare.tools.ParticleTool; import net.mcreator.superbwarfare.tools.SoundTool; +import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; @@ -16,26 +17,20 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.*; -import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.ThrownPotion; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Explosion; import net.minecraft.world.level.Level; -import net.minecraft.world.phys.Vec3; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; -import org.jetbrains.annotations.NotNull; import org.joml.Vector3d; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -46,14 +41,18 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEntity { - public static final EntityDataAccessor COOL_DOWN = SynchedEntityData.defineId(Mk42Entity.class, EntityDataSerializers.INT); - public static final EntityDataAccessor TYPE = SynchedEntityData.defineId(Mk42Entity.class, EntityDataSerializers.INT); +import static net.mcreator.superbwarfare.tools.ParticleTool.sendParticle; + +public class Mle1934Entity extends Entity implements GeoEntity, ICannonEntity { + public static final EntityDataAccessor COOL_DOWN = SynchedEntityData.defineId(Mle1934Entity.class, EntityDataSerializers.INT); + public static final EntityDataAccessor TYPE = SynchedEntityData.defineId(Mle1934Entity.class, EntityDataSerializers.INT); + public static final EntityDataAccessor HEALTH = SynchedEntityData.defineId(Mle1934Entity.class, EntityDataSerializers.FLOAT); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationprocedure = "empty"; protected int interpolationSteps; + protected double serverYRot; protected double serverXRot; @@ -63,120 +62,97 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn public Mle1934Entity(EntityType type, Level world) { super(type, world); - xpReward = 0; - setNoAi(true); - setPersistenceRequired(); } @Override protected void defineSynchedData() { - super.defineSynchedData(); this.entityData.define(COOL_DOWN, 0); this.entityData.define(TYPE, 0); + this.entityData.define(HEALTH, 600f); } @Override public void addAdditionalSaveData(CompoundTag compound) { - super.addAdditionalSaveData(compound); compound.putInt("cool_down", this.entityData.get(COOL_DOWN)); compound.putInt("type", this.entityData.get(TYPE)); + compound.putFloat("Health", this.entityData.get(HEALTH)); } @Override public void readAdditionalSaveData(CompoundTag compound) { - super.readAdditionalSaveData(compound); this.entityData.set(COOL_DOWN, compound.getInt("cool_down")); this.entityData.set(TYPE, compound.getInt("type")); + this.entityData.set(HEALTH, compound.getFloat("Health")); } @Override - protected float getStandingEyeHeight(Pose poseIn, EntityDimensions sizeIn) { + protected float getEyeHeight(Pose pPose, EntityDimensions pSize) { return 2.16F; } - @Override - public boolean canCollideWith(Entity entity) { - return true; - } - - @Override - public boolean canBeCollidedWith() { - return true; - } - @Override public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } - @Override - public MobType getMobType() { - return super.getMobType(); - } - - @Override - public boolean removeWhenFarAway(double distanceToClosestPlayer) { - return false; - } - @Override public double getPassengersRidingOffset() { return super.getPassengersRidingOffset() - 0.075; } - @Override - public SoundEvent getHurtSound(DamageSource ds) { - return ModSounds.HIT.get(); - } - - @Override - public SoundEvent getDeathSound() { - return ModSounds.HIT.get(); - } - @Override public boolean hurt(DamageSource source, float amount) { - if (amount < 34) { + + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ModParticleTypes.FIRE_STAR.get(), this.getX(), this.getY() + 2.5, this.getZ(), 4, 0.2, 0.2, 0.2, 0.2, false); + } + + if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud) + return false; + if (source.is(DamageTypes.FALL)) + return false; + if (source.is(DamageTypes.CACTUS)) + return false; + if (source.is(DamageTypes.DROWN)) + return false; + if (source.is(DamageTypes.LIGHTNING_BOLT)) + return false; + if (source.is(DamageTypes.FALLING_ANVIL)) + return false; + if (source.is(DamageTypes.DRAGON_BREATH)) + return false; + if (source.is(DamageTypes.WITHER)) + return false; + if (source.is(DamageTypes.WITHER_SKULL)) + return false; + if (amount < 32) { return false; } - return super.hurt(source, 0.3f * amount); + + this.level().playSound(null, this.getOnPos(), ModSounds.HIT.get(), SoundSource.PLAYERS, 1, 1); + this.entityData.set(HEALTH, this.entityData.get(HEALTH) - 0.5f * amount); + + return true; } @Override - public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) { + public boolean isPickable() { + return !this.isRemoved(); + } + + @Override + public InteractionResult interact(Player player, InteractionHand hand) { if (player.isShiftKeyDown() && player.getMainHandItem().getItem() == ModItems.CROWBAR.get() && this.getFirstPassenger() == null) { this.discard(); - ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MLE_1934_SPAWN_EGG.get())); +// ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MK_42_SPAWN_EGG.get())); } else { player.setXRot(this.getXRot()); player.setYRot(this.getYRot()); player.startRiding(this); } - InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); - super.mobInteract(player, hand); - return result; - } - @Override - public void die(DamageSource source) { - super.die(source); - - if (level() instanceof ServerLevel) { - destroyExplode(); - this.discard(); - } - } - - private void destroyExplode() { - CustomExplosion explosion = new CustomExplosion(this.level(), this, - ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this), 30f, - this.getX(), this.getY(), this.getZ(), 7.5f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); - explosion.explode(); - net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); - explosion.finalizeExplosion(false); - - ParticleTool.spawnMediumExplosionParticles(this.level(), this.position()); + return InteractionResult.sidedSuccess(this.level().isClientSide()); } @Override @@ -187,9 +163,76 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn this.entityData.set(COOL_DOWN, this.entityData.get(COOL_DOWN) - 1); } + this.setDeltaMovement(this.getDeltaMovement().add(0.0, -0.04, 0.0)); + + if (!this.level().noCollision(this.getBoundingBox())) { + this.moveTowardsClosestSpace(this.getX(), (this.getBoundingBox().minY + this.getBoundingBox().maxY) / 2.0, this.getZ()); + } + + this.move(MoverType.SELF, this.getDeltaMovement()); + float f = 0.98F; + if (this.onGround()) { + BlockPos pos = this.getBlockPosBelowThatAffectsMyMovement(); + f = this.level().getBlockState(pos).getFriction(this.level(), pos, this) * 0.98F; + } + + this.setDeltaMovement(this.getDeltaMovement().multiply(f, 0.98, f)); + if (this.onGround()) { + this.setDeltaMovement(this.getDeltaMovement().multiply(1.0, -0.9, 1.0)); + } + + if (this.entityData.get(HEALTH) <= 0) { + destroy(); + } + + if (this.entityData.get(HEALTH) <= 300) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 2, 0.75, 0.5, 0.75, 0.01, false); + } + } + + if (this.entityData.get(HEALTH) <= 200) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + } + } + + if (this.entityData.get(HEALTH) <= 150) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 1, 0.75, 0.5, 0.75, 0.01, false); + } + } + + if (this.entityData.get(HEALTH) <= 100) { + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ParticleTypes.LARGE_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 2, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY() + 2.5, this.getZ(), 2, 0.75, 0.5, 0.75, 0.01, false); + sendParticle(serverLevel, ParticleTypes.FLAME, this.getX(), this.getY() + 3.2, this.getZ(), 4, 0.6, 0.1, 0.6, 0.05, false); + sendParticle(serverLevel, ModParticleTypes.FIRE_STAR.get(), this.getX(), this.getY() + 3, this.getZ(), 4, 0.1, 0.1, 0.1, 0.4, false); + } + this.entityData.set(HEALTH, this.entityData.get(HEALTH) - 0.1f); + } else { + this.entityData.set(HEALTH, this.entityData.get(HEALTH) + 0.05f); + } + + travel(); this.refreshDimensions(); } + private void destroy() { + CustomExplosion explosion = new CustomExplosion(this.level(), this, + ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this), 140f, + this.getX(), this.getY(), this.getZ(), 10f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); + explosion.explode(); + net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); + explosion.finalizeExplosion(false); + ParticleTool.spawnHugeExplosionParticles(this.level(), this.position()); + + this.discard(); + } + @Override public void cannonShoot(Player player) { if (this.entityData.get(COOL_DOWN) > 0) { @@ -213,18 +256,18 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn boolean salvoShoot = false; if (stack.is(ModItems.HE_5_INCHES.get())) { - hitDamage = 700; + hitDamage = 200; explosionRadius = 13; - explosionDamage = 250; + explosionDamage = 240; fireProbability = 0.24F; fireTime = 5; salvoShoot = stack.getCount() > 1 || player.isCreative(); } if (stack.is(ModItems.AP_5_INCHES.get())) { - hitDamage = 1000; + hitDamage = 400; explosionRadius = 3.8f; - explosionDamage = 300; + explosionDamage = 120; fireProbability = 0; fireTime = 0; durability = 35; @@ -363,8 +406,7 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn this.interpolationSteps = 10; } - @Override - public void travel(@NotNull Vec3 dir) { + public void travel() { Player entity = this.getPassengers().isEmpty() ? null : (Player) this.getPassengers().get(0); ItemStack stack = null; if (entity != null) { @@ -381,20 +423,9 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn diffY = diffY * 0.15f; diffX = diffX * 0.15f; this.setYRot(this.getYRot() + Mth.clamp(diffY, -1.25f, 1.25f)); - this.yRotO = this.getYRot(); this.setXRot(Mth.clamp(this.getXRot() + Mth.clamp(diffX, -2f, 2f), -30, 4)); this.setRot(this.getYRot(), this.getXRot()); - this.yBodyRot = this.getYRot() + Mth.clamp(diffY, -1.25f, 1.25f); - this.yHeadRot = this.getYRot() + Mth.clamp(diffY, -1.25f, 1.25f); - return; } - super.travel(dir); - } - - @Override - public void aiStep() { - super.aiStep(); - this.updateSwingTime(); } public static void init() { @@ -418,16 +449,6 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn this.clampRotation(entity); } - public static AttributeSupplier.Builder createAttributes() { - return Mob.createMobAttributes() - .add(Attributes.MOVEMENT_SPEED, 0) - .add(Attributes.MAX_HEALTH, 600) - .add(Attributes.ARMOR, 30) - .add(Attributes.ATTACK_DAMAGE, 0) - .add(Attributes.FOLLOW_RANGE, 32) - .add(Attributes.KNOCKBACK_RESISTANCE, 1); - } - private PlayState movementPredicate(AnimationState event) { if (this.entityData.get(COOL_DOWN) > 64) { if (this.entityData.get(TYPE) == 1) { @@ -439,15 +460,6 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mle1934.idle")); } - @Override - protected void tickDeath() { - ++this.deathTime; - if (this.deathTime == 1) { - this.remove(RemovalReason.KILLED); - this.dropExperience(); - } - } - public String getSyncedAnimation() { return null; } @@ -465,21 +477,4 @@ public class Mle1934Entity extends PathfinderMob implements GeoEntity, ICannonEn return this.cache; } - @SubscribeEvent - public static void onEntityAttacked(LivingHurtEvent event) { - var damagesource = event.getSource(); - var entity = event.getEntity(); - if (damagesource == null || entity == null) return; - - var sourceentity = damagesource.getEntity(); - if (sourceentity == null) return; - - if (entity instanceof Mle1934Entity mle1934) { - if (mle1934.getFirstPassenger() == null) return; - Entity gunner = mle1934.getFirstPassenger(); - if (event.getSource().getDirectEntity() == gunner) { - event.setCanceled(true); - } - } - } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java index 6c511fd11..ee21a0e23 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/MortarEntity.java @@ -4,10 +4,11 @@ import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.entity.projectile.MortarShellEntity; import net.mcreator.superbwarfare.init.ModEntities; import net.mcreator.superbwarfare.init.ModItems; +import net.mcreator.superbwarfare.init.ModParticleTypes; import net.mcreator.superbwarfare.init.ModSounds; +import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.EntityDataAccessor; @@ -21,11 +22,12 @@ import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.*; +import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.ThrownPotion; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import net.minecraft.world.phys.Vec3; +import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; import software.bernie.geckolib.animatable.GeoEntity; @@ -37,12 +39,14 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; +import static net.mcreator.superbwarfare.tools.ParticleTool.sendParticle; + public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { public static final EntityDataAccessor FIRE_TIME = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.INT); public static final EntityDataAccessor PITCH = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.FLOAT); + public static final EntityDataAccessor HEALTH = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.FLOAT); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public String animationProcedure = "empty"; protected int interpolationSteps; protected double serverYRot; @@ -60,6 +64,7 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { protected void defineSynchedData() { this.entityData.define(FIRE_TIME, 0); this.entityData.define(PITCH, 70f); + this.entityData.define(HEALTH, 100f); } @Override @@ -79,8 +84,6 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { @Override public boolean hurt(DamageSource source, float amount) { - if (source.is(DamageTypes.IN_FIRE)) - return false; if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud) return false; if (source.is(DamageTypes.FALL)) @@ -99,13 +102,21 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { return false; if (source.is(DamageTypes.WITHER_SKULL)) return false; - return super.hurt(source, amount); + + if (this.level() instanceof ServerLevel serverLevel) { + sendParticle(serverLevel, ModParticleTypes.FIRE_STAR.get(), this.getX(), this.getY() + 1, this.getZ(), 2, 0.05, 0.05, 0.05, 0.1, false); + } + this.level().playSound(null, this.getOnPos(), ModSounds.HIT.get(), SoundSource.PLAYERS, 1, 1); + this.entityData.set(HEALTH, this.entityData.get(HEALTH) - amount); + + return true; } @Override public void addAdditionalSaveData(CompoundTag compound) { compound.putInt("FireTime", this.entityData.get(FIRE_TIME)); compound.putFloat("Pitch", this.entityData.get(PITCH)); + compound.putFloat("Health", this.entityData.get(HEALTH)); } @Override @@ -116,98 +127,52 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { if (compound.contains("Pitch")) { this.entityData.set(PITCH, compound.getFloat("Pitch")); } + if (compound.contains("Health")) { + this.entityData.set(HEALTH, compound.getFloat("Health")); + } } @Override - public InteractionResult interactAt(Player player, Vec3 pVec, InteractionHand pHand) { - player.displayClientMessage(Component.literal("114"), true); - if (!this.level().isClientSide) { - ItemStack mainHandItem = player.getMainHandItem(); - if (mainHandItem.getItem() == ModItems.MORTAR_SHELLS.get() && !player.isShiftKeyDown() && this.entityData.get(FIRE_TIME) == 0) { - this.entityData.set(FIRE_TIME, 25); - - if (!player.isCreative()) { - player.getInventory().clearOrCountMatchingItems(p -> ModItems.MORTAR_SHELLS.get() == p.getItem(), 1, player.inventoryMenu.getCraftSlots()); - } - if (!this.level().isClientSide()) { - this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_LOAD.get(), SoundSource.PLAYERS, 1f, 1f); - this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_FIRE.get(), SoundSource.PLAYERS, 8f, 1f); - this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_DISTANT.get(), SoundSource.PLAYERS, 32f, 1f); - } - ModUtils.queueServerWork(20, () -> { - Level level = this.level(); - if (level instanceof ServerLevel server) { - MortarShellEntity entityToSpawn = new MortarShellEntity(ModEntities.MORTAR_SHELL.get(), player, level); - entityToSpawn.setPos(this.getX(), this.getEyeY(), this.getZ()); - entityToSpawn.shoot(this.getLookAngle().x, this.getLookAngle().y, this.getLookAngle().z, 8, (float) 0.5); - level.addFreshEntity(entityToSpawn); - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, (this.getX() + 3 * this.getLookAngle().x), (this.getY() + 0.1 + 3 * this.getLookAngle().y), (this.getZ() + 3 * this.getLookAngle().z), 8, 0.4, 0.4, 0.4, - 0.007); - server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(), 50, 2, 0.02, 2, 0.0005); - } - }); + public InteractionResult interact(Player player, InteractionHand hand) { + ItemStack mainHandItem = player.getMainHandItem(); + if (player.isShiftKeyDown()) { + if (mainHandItem.getItem() == ModItems.CROWBAR.get()){ + this.discard(); + ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MORTAR_DEPLOYER.get())); } + this.setYRot(player.getYRot()); + this.setYBodyRot(this.getYRot()); + this.setYHeadRot(this.getYRot()); + this.yRotO = this.getYRot(); } - return InteractionResult.SUCCESS; -// return InteractionResult.sidedSuccess(this.level().isClientSide()); + if (mainHandItem.getItem() == ModItems.MORTAR_SHELLS.get() && !player.isShiftKeyDown() && this.entityData.get(FIRE_TIME) == 0) { + this.entityData.set(FIRE_TIME, 25); + + if (!player.isCreative()) { + player.getInventory().clearOrCountMatchingItems(p -> ModItems.MORTAR_SHELLS.get() == p.getItem(), 1, player.inventoryMenu.getCraftSlots()); + } + if (!this.level().isClientSide()) { + this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_LOAD.get(), SoundSource.PLAYERS, 1f, 1f); + this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_FIRE.get(), SoundSource.PLAYERS, 8f, 1f); + this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_DISTANT.get(), SoundSource.PLAYERS, 32f, 1f); + } + ModUtils.queueServerWork(20, () -> { + Level level = this.level(); + if (level instanceof ServerLevel server) { + MortarShellEntity entityToSpawn = new MortarShellEntity(ModEntities.MORTAR_SHELL.get(), player, level); + entityToSpawn.setPos(this.getX(), this.getEyeY(), this.getZ()); + entityToSpawn.shoot(this.getLookAngle().x, this.getLookAngle().y, this.getLookAngle().z, 8, (float) 0.5); + level.addFreshEntity(entityToSpawn); + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, (this.getX() + 3 * this.getLookAngle().x), (this.getY() + 0.1 + 3 * this.getLookAngle().y), (this.getZ() + 3 * this.getLookAngle().z), 8, 0.4, 0.4, 0.4, + 0.007); + server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(), 50, 2, 0.02, 2, 0.0005); + } + }); + } + + return InteractionResult.sidedSuccess(this.level().isClientSide()); } -// @Override -// public InteractionResult interact(Player player, InteractionHand pHand) { -// super.interact(player, pHand); -// player.displayClientMessage(Component.literal("114"), true); -// if (!this.level().isClientSide) { -// ItemStack mainHandItem = player.getMainHandItem(); -// if (mainHandItem.getItem() == ModItems.MORTAR_SHELLS.get() && !player.isShiftKeyDown() && this.entityData.get(FIRE_TIME) == 0) { -// this.entityData.set(FIRE_TIME, 25); -// -// if (!player.isCreative()) { -// player.getInventory().clearOrCountMatchingItems(p -> ModItems.MORTAR_SHELLS.get() == p.getItem(), 1, player.inventoryMenu.getCraftSlots()); -// } -// if (!this.level().isClientSide()) { -// this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_LOAD.get(), SoundSource.PLAYERS, 1f, 1f); -// this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_FIRE.get(), SoundSource.PLAYERS, 8f, 1f); -// this.level().playSound(null, this.getX(), this.getY(), this.getZ(), ModSounds.MORTAR_DISTANT.get(), SoundSource.PLAYERS, 32f, 1f); -// } -// ModUtils.queueServerWork(20, () -> { -// Level level = this.level(); -// if (level instanceof ServerLevel server) { -// MortarShellEntity entityToSpawn = new MortarShellEntity(ModEntities.MORTAR_SHELL.get(), player, level); -// entityToSpawn.setPos(this.getX(), this.getEyeY(), this.getZ()); -// entityToSpawn.shoot(this.getLookAngle().x, this.getLookAngle().y, this.getLookAngle().z, 8, (float) 0.5); -// level.addFreshEntity(entityToSpawn); -// server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, (this.getX() + 3 * this.getLookAngle().x), (this.getY() + 0.1 + 3 * this.getLookAngle().y), (this.getZ() + 3 * this.getLookAngle().z), 8, 0.4, 0.4, 0.4, -// 0.007); -// server.sendParticles(ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(), 50, 2, 0.02, 2, 0.0005); -// } -// }); -// } -// } -// return InteractionResult.sidedSuccess(this.level().isClientSide()); -// } - -// @Override -// public InteractionResult interact(Player player, InteractionHand hand) { -// ItemStack mainHandItem = player.getMainHandItem(); -// if (player.isShiftKeyDown()) { -// if (mainHandItem.getItem() == ModItems.CROWBAR.get()){ -// this.discard(); -// ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.MORTAR_DEPLOYER.get())); -// } -// this.setYRot(player.getYRot()); -// this.setXRot(this.getXRot()); -// this.setYBodyRot(this.getYRot()); -// this.setYHeadRot(this.getYRot()); -// this.yRotO = this.getYRot(); -// this.xRotO = this.getXRot(); -//// this.yBodyRotO = this.getYRot(); -//// this.yHeadRotO = this.getYRot(); -// } -// -// -// return InteractionResult.sidedSuccess(this.level().isClientSide()); -// } - @Override public void lerpTo(double x, double y, double z, float yaw, float pitch, int interpolationSteps, boolean interpolate) { serverYRot = yaw; @@ -215,16 +180,6 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { this.interpolationSteps = 10; } -// @Override -// protected void setRot(float pYRot, float pXRot) { -// super.setRot(pYRot, -Mth.clamp(entityData.get(PITCH), 20, 89)); -// } - - // @Override -// public void travel(Vec3 dir) { -// this.setXRot(-Mth.clamp((float) entityData.get(PITCH), 20, 89)); -// } - @Override public void baseTick() { super.baseTick(); @@ -233,63 +188,48 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { } this.setXRot(-Mth.clamp(entityData.get(PITCH), 20, 89)); this.xRotO = this.getXRot(); + + this.setDeltaMovement(this.getDeltaMovement().add(0.0, -0.04, 0.0)); + + if (!this.level().noCollision(this.getBoundingBox())) { + this.moveTowardsClosestSpace(this.getX(), (this.getBoundingBox().minY + this.getBoundingBox().maxY) / 2.0, this.getZ()); + } + + this.move(MoverType.SELF, this.getDeltaMovement()); + float f = 0.98F; + if (this.onGround()) { + BlockPos pos = this.getBlockPosBelowThatAffectsMyMovement(); + f = this.level().getBlockState(pos).getFriction(this.level(), pos, this) * 0.98F; + } + + this.setDeltaMovement(this.getDeltaMovement().multiply(f, 0.98, f)); + if (this.onGround()) { + this.setDeltaMovement(this.getDeltaMovement().multiply(1.0, -0.9, 1.0)); + } + + if (this.entityData.get(HEALTH) <= 0) { + destroy(); + } this.refreshDimensions(); } -// @Override -// public HumanoidArm getMainArm() { -// return HumanoidArm.RIGHT; -// } -// -// @Override -// protected void doPush(Entity entityIn) { -// } -// -// @Override -// protected void pushEntities() { -// } - -// public static AttributeSupplier.Builder createAttributes() { -// return Mob.createMobAttributes() -// .add(Attributes.MOVEMENT_SPEED, 0) -// .add(Attributes.MAX_HEALTH, 100) -// .add(Attributes.ARMOR, 0) -// .add(Attributes.ATTACK_DAMAGE, 0) -// .add(Attributes.FOLLOW_RANGE, 16) -// .add(Attributes.KNOCKBACK_RESISTANCE, 1); -// } - private PlayState movementPredicate(AnimationState event) { - if (this.animationProcedure.equals("empty")) { - if (this.entityData.get(FIRE_TIME) > 0) { - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.fire")); - } - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.idle")); + if (this.entityData.get(FIRE_TIME) > 0) { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.fire")); } - return PlayState.STOP; + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.idle")); } - -// @Override -// protected void tickDeath() { -// ++this.deathTime; -// if (this.deathTime == 5) { -// this.remove(MortarEntity.RemovalReason.KILLED); -// this.dropExperience(); -// if (this.level() instanceof ServerLevel level) { -// var x = this.getX(); -// var y = this.getY(); -// var z = this.getZ(); -// level.explode(null, x, y, z, 0, Level.ExplosionInteraction.NONE); -// ItemEntity mortar = new ItemEntity(level, x, (y + 1), z, new ItemStack(ModItems.MORTAR_DEPLOYER.get())); -// mortar.setPickUpDelay(10); -// level.addFreshEntity(mortar); -// } -// } -// } - - @Override - public Vec3 getDeltaMovement() { - return new Vec3(0, 0, 0); + protected void destroy() { + if (this.level() instanceof ServerLevel level) { + var x = this.getX(); + var y = this.getY(); + var z = this.getZ(); + level.explode(null, x, y, z, 0, Level.ExplosionInteraction.NONE); + ItemEntity mortar = new ItemEntity(level, x, (y + 1), z, new ItemStack(ModItems.MORTAR_DEPLOYER.get())); + mortar.setPickUpDelay(10); + level.addFreshEntity(mortar); + this.discard(); + } } public String getSyncedAnimation() { @@ -301,7 +241,6 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { @Override public void setAnimationProcedure(String procedure) { - this.animationProcedure = procedure; } @Override diff --git a/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java new file mode 100644 index 000000000..e3766b9fb --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java @@ -0,0 +1,29 @@ +package net.mcreator.superbwarfare.entity.layer; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.entity.Mk42Entity; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import software.bernie.geckolib.cache.object.BakedGeoModel; +import software.bernie.geckolib.renderer.GeoRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; + +public class Mk42DamageLayer extends GeoRenderLayer { + private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/sherman_damage.png"); + + public Mk42DamageLayer(GeoRenderer entityRenderer) { + super(entityRenderer); + } + + @Override + public void render(PoseStack poseStack, Mk42Entity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + RenderType glowRenderType = RenderType.entityTranslucent(LAYER); + float heal = Mth.clamp((300 - animatable.getEntityData().get(Mk42Entity.HEALTH)) * 0.0033f,0.1f,1); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal); + } +} diff --git a/src/main/java/net/mcreator/superbwarfare/entity/layer/Mle1934DamageLayer.java b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mle1934DamageLayer.java new file mode 100644 index 000000000..98df31f9d --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mle1934DamageLayer.java @@ -0,0 +1,29 @@ +package net.mcreator.superbwarfare.entity.layer; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.entity.Mle1934Entity; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import software.bernie.geckolib.cache.object.BakedGeoModel; +import software.bernie.geckolib.renderer.GeoRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; + +public class Mle1934DamageLayer extends GeoRenderLayer { + private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/mle1934_damage.png"); + + public Mle1934DamageLayer(GeoRenderer entityRenderer) { + super(entityRenderer); + } + + @Override + public void render(PoseStack poseStack, Mle1934Entity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + RenderType glowRenderType = RenderType.entityTranslucent(LAYER); + float heal = Mth.clamp((300 - animatable.getEntityData().get(Mle1934Entity.HEALTH)) * 0.0033f,0.1f,1); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal); + } +} diff --git a/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java index a7eecfe1d..822d4be64 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/projectile/JavelinMissileEntity.java @@ -164,7 +164,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo @Override public void tick() { super.tick(); - Entity entity = this.level().getEntitiesOfClass(LivingEntity.class, this.getBoundingBox().inflate(512)) + Entity entity = this.level().getEntitiesOfClass(Entity.class, this.getBoundingBox().inflate(512)) .stream().filter(e -> e.getStringUUID().equals(entityData.get(TARGET_UUID))).findFirst().orElse(null); diff --git a/src/main/java/net/mcreator/superbwarfare/entity/projectile/ProjectileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/projectile/ProjectileEntity.java index 869ccaef3..90d6d0dcd 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/projectile/ProjectileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/projectile/ProjectileEntity.java @@ -73,10 +73,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa public static final EntityDataAccessor COLOR_R = SynchedEntityData.defineId(ProjectileEntity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor COLOR_G = SynchedEntityData.defineId(ProjectileEntity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor COLOR_B = SynchedEntityData.defineId(ProjectileEntity.class, EntityDataSerializers.FLOAT); - public static final EntityDataAccessor ANIMATION = SynchedEntityData.defineId(ProjectileEntity.class, EntityDataSerializers.STRING); - private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public String animationProcedure = "empty"; private static final Predicate PROJECTILE_TARGETS = input -> input != null && input.isPickable() && !input.isSpectator() && input.isAlive(); private static final Predicate IGNORE_LEAVES = input -> input != null && (input.getBlock() instanceof LeavesBlock @@ -736,16 +733,14 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa } public String getSyncedAnimation() { - return this.entityData.get(ANIMATION); + return null; } public void setAnimation(String animation) { - this.entityData.set(ANIMATION, animation); } @Override public void setAnimationProcedure(String procedure) { - this.animationProcedure = procedure; } @Override diff --git a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java index 5c0667b52..74d9edb7e 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java @@ -150,7 +150,7 @@ public class ClientEventHandler { public static void handleWeaponFire(TickEvent.RenderTickEvent event) { ClientLevel level = Minecraft.getInstance().level; Player player = Minecraft.getInstance().player; - if (notInGame()) return; +// if (notInGame()) return; if (player == null) return; if (level == null) return; @@ -242,6 +242,11 @@ public class ClientEventHandler { ModUtils.PACKET_HANDLER.sendToServer(new ShootMessage(spread)); clientTimer.setProgress((long) (clientTimer.getProgress() - cooldown)); } + + if (notInGame()) { + clientTimer.stop(); + } + } else { clientTimer.stop(); fireSpread = 0; diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java b/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java index b2ea9781d..f16a2b1eb 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java @@ -70,11 +70,7 @@ public class ModEntities { @SubscribeEvent public static void registerAttributes(EntityAttributeCreationEvent event) { event.put(TARGET.get(), TargetEntity.createAttributes().build()); -// event.put(MORTAR.get(), MortarEntity.createAttributes().build()); event.put(SENPAI.get(), SenpaiEntity.createAttributes().build()); - event.put(MK_42.get(), Mk42Entity.createAttributes().build()); event.put(DRONE.get(), DroneEntity.createAttributes().build()); - event.put(MLE_1934.get(), Mle1934Entity.createAttributes().build()); - event.put(CLAYMORE.get(), ClaymoreEntity.createAttributes().build()); } } diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index 0c4289e0d..066df3fc8 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -111,8 +111,6 @@ public class ModItems { public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final RegistryObject SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(ModEntities.SENPAI, -11584987, -14014413, new Item.Properties())); - public static final RegistryObject MK_42_SPAWN_EGG = ITEMS.register("mk42_spawn_egg", () -> new ForgeSpawnEggItem(ModEntities.MK_42, -8348258, -2630437, new Item.Properties())); - public static final RegistryObject MLE_1934_SPAWN_EGG = ITEMS.register("mle1934_spawn_egg", () -> new ForgeSpawnEggItem(ModEntities.MLE_1934, -3355444, -14146005, new Item.Properties())); public static final RegistryObject ANCIENT_CPU = ITEMS.register("ancient_cpu", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final RegistryObject PROPELLER = ITEMS.register("propeller", () -> new Item(new Item.Properties())); public static final RegistryObject MOTOR = ITEMS.register("motor", () -> new Item(new Item.Properties())); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java index a9926361d..5032f1651 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java @@ -146,9 +146,9 @@ public class JavelinItem extends GunItem implements GeoItem, AnimatedItem { tag.putInt("max_ammo", getAmmoCount(player)); if (tag.getBoolean("Seeking")) { - Entity targetEntity = player.level().getEntitiesOfClass(LivingEntity.class, player.getBoundingBox().inflate(384)) + Entity targetEntity = player.level().getEntitiesOfClass(Entity.class, player.getBoundingBox().inflate(512)) .stream().filter(e -> e.getStringUUID().equals(tag.getString("TargetEntity"))).findFirst().orElse(null); - Entity seekingEntity = SeekTool.seekEntity(player, player.level(), 384, 8); + Entity seekingEntity = SeekTool.seekEntity(player, player.level(), 512, 8); if (seekingEntity != null && seekingEntity == targetEntity) { tag.putInt("SeekTime", tag.getInt("SeekTime") + 1); } else { @@ -159,8 +159,11 @@ public class JavelinItem extends GunItem implements GeoItem, AnimatedItem { SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_LOCK.get(), 2, 1); } - if (tag.getInt("SeekTime") > 20 && seekingEntity instanceof LivingEntity living && !living.level().isClientSide()) { - living.addEffect(new MobEffectInstance(MobEffects.GLOWING, 40, 0)); + if (seekingEntity != null && tag.getInt("SeekTime") > 20) { + if (seekingEntity instanceof LivingEntity living) { + living.addEffect(new MobEffectInstance(MobEffects.GLOWING, 40, 0)); + } + if (player instanceof ServerPlayer serverPlayer) { SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_LOCKON.get(), 2, 1); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java index 55114a604..a3f64b7c1 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java @@ -129,7 +129,7 @@ public class FireMessage { } if (handItem.getItem() == ModItems.JAVELIN.get() && player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom && tag.getInt("ammo") > 0) { - Entity seekingEntity = SeekTool.seekEntity(player, player.level(), 384, 8); + Entity seekingEntity = SeekTool.seekEntity(player, player.level(), 512, 8); if (seekingEntity != null) { tag.putString("TargetEntity", seekingEntity.getStringUUID()); tag.putBoolean("Seeking", true); diff --git a/src/main/java/net/mcreator/superbwarfare/tools/SeekTool.java b/src/main/java/net/mcreator/superbwarfare/tools/SeekTool.java index 72312de73..52e16d2f5 100644 --- a/src/main/java/net/mcreator/superbwarfare/tools/SeekTool.java +++ b/src/main/java/net/mcreator/superbwarfare/tools/SeekTool.java @@ -1,7 +1,6 @@ package net.mcreator.superbwarfare.tools; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; @@ -16,7 +15,7 @@ public class SeekTool { Vec3 pos = new Vec3(entity.getX(), entity.getY(), entity.getZ()); return level.getEntitiesOfClass(Entity.class, new AABB(pos, pos).inflate(seekRange), e -> true).stream() .filter(e -> { - if (calculateAngle(e, entity) < seekAngle && e instanceof LivingEntity && e != entity) { + if (calculateAngle(e, entity) < seekAngle && e != entity) { return level.clip(new ClipContext(entity.getEyePosition(), e.getEyePosition(), ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity)).getType() != HitResult.Type.BLOCK; } diff --git a/src/main/resources/assets/superbwarfare/sounds/ak_47/ak_47_fire_1p.ogg b/src/main/resources/assets/superbwarfare/sounds/ak_47/ak_47_fire_1p.ogg index 6eb3c9cae6723ba9f3d7f12ec11802ff7859baa0..058d31d2cd30f173f807abd7697a9de1a42082cc 100644 GIT binary patch literal 50772 zcmeEucT`l(ljxlRh9M6@9P$7Ik|iez!$?k&Gf0+<2uc)(BsmAkNpg~msNj&ZAV^j~ zf(Q~t1w`Qu`t9y-_q=o7p7ZvvcV5%CZ+CTf)$Qu4?wY!Nxpn7`J^%*(38&J3Gifxg zc_3!c1J8T5&fb?Guwo4WT;Kxm4fN;!9CYil=f8)`o*-PQ5HCiDQth(kzXrU&n51wG z(E2wJnl>JG4)?h9^_930=E8!4;zB|~f|dv_TN`f&dxWP4!p76!z7fJ!?4MdeVNpx& zOHv?$zlgZeH;q656aX-6n($uCM3Nx@z;MKCBr*aAJC2tELn>5g0;4W-Yc(np0a5L^ z++IgHec%WV=8X`wzXAaG0EQcyeQyQ5-EquJ_lZ)Mo@d}P7ZEL(Mi(KQzF_u+HT6Au zTXvHfN@hxcV*-GJvWC;>sj^1=Tf$wMX&b{`mT5c8UC!t|Dl~uyBbWYMlB$Cy;x5rq z=cz17(^Kc4G4tN*ApGFHuW*70hoNyu{w?`44g~I5a6tP%z)Q@3@%E63TrHVq zq=9klE#ufB<2WUUE)~aHVg4ySF?|tPLj$F014Cm&OG{t(=?Cu98Sb-2e=se);DPI2_lxD%aSk(K?q zGN1TQ6WkQzUp@`6;uo{&mvF~FybMXGWP{hLoh%F6k8EY!DPa=70q0k_A33Ggc zvU+8hjvn2$QlHR2BS!#0IP71gnDsH-Hj1@8_Z~4%MM+8w&oEchsPG8iWm41gM*2&A z59}tXQ1hfZpV+jKU3|-@eD69bRoBv%88hBeoPcwe{?#blq$2E-6d-he^y6{nJ)Bk) zh7$kl#2p~VDVg5>OB_FB#0m3XdHy5JhQ<%vO`qIfY>Tj*yT3g9aCtWV_SMG@rWyY! z{vA4QB*3LQ{ZYp>+c=?t+%Ro4(ccOFM{`uXXaOw~j>LQY+!a zMgNNB+bj2{XdU#$EvLjBrVJgXA2`gnI+(XTG;MvjeEctQ_Wr+W4o+>@q!QLt|Fh;K ztV$-ZtEC`KQ#k)+u^J$Qu5i!t|wT;TW3^0CWJ*)4V=;Z#=$Gl}DvzCPjAx*~ds9Qy6OGO?E{zN-dVv zmY9`OD1%(OEcYF~J~y4Wfwvp0L6jPqbeSGEgdd8NTPRRO2apedkRxEE1|Du6FN4|? zFm?ot9Q`c;s7X=mS5efF%s=J-s~b`aPjvh;{(}Wa=oSqK7yp*AUuCe=vRG=R|0^Q@ zbY}c7v~VNB5gModhZb%`I70tJwEica_y6Pgf0_e0u>+CgE?RUED=!!$2?8RK3MmM+ z2~mu_>4c~gy(Trnlvb218#48Gd%xrc>MO27l&lz3gd4YWOmP($x4q!lPH@R~aVK>?avi5ZbpU|`upcEeHvEe}`xiT9R}FjdjT|ZJ z(rD=$8m6x~Wo$+lb7hxRRq@~mjsMxA3=J)vvi||U5Re)Fr?utP{7wI2u9&jQsyY%~ z8YP_JgImC732;bppsMW`s7n|QWO+5}FUq-mf=`9c)5M^kpRH0y8ysbZ*xC9wYUL`+vvcT`(?NglpAMr4I)ZlXjSfrr2j1b zAdCSH0CTOy8C0%hcDMwWquQ*wEdGK0k0wR{;z0x+Ry&-mnmv~$o`9CVkqUqk;$~DK zO6W5ZXU|2z>?YJyOIzT);qWjWb@keoOqor_a6K~@{{D5TO+?8%vp6BnS=>lUGi+lU zp3|avxLamyYlh(IdM^B}aM#_wiZpc%p?lgu$DI*D>IOZgK)F(|pI^D&s5+KZb z+>bDvkl0ara!{ig@6SXr9(PY+x-TsZ=Uqw%L* zN!q{Jz__9se@mJk*WZe?6f+!}Kd5jCj*y=EKNWiF8aRBHH2&27Ne%ufa+kil?Dn_T z%oWFAJ)Xbqn%|kZ;?VzX=Uj^;q|TlG7d>v-4Z#CY7|L{7+j2T%<`8ybI?lpBvS$wf zq)*fI)cBP`*-GIh8EB3x-a2|QT;Ak*HI?W$h)>A$7@_dAFau%2biGjpVpa!DZb)r9 zT)IE=X{HNLksT>+ja2}EkR&2};zBG60x%+wsvsbO;4wKR8!8Trx3)S70T9q+IyTA% zIFi!;L^!(xeK8R;>JKSoY($tNmvNL zf-@b7VU(0(j4F`>gsM@4P_^hGB6R>j;FfY+fFb}8=ntAdWzav)3oP%S+CO+N%|hkt zS1(v^C|(F%2w&)liQhnZpykDk(HANg+!ulu$P4}p-V3%1H%DKh=R)7!?!Yk-Tb-}G zJ=IJSkfL03hE@Tj;1=3a-mevRpBJNK8PWqK`p-aDxvlV_v z-1VN{bJ8zk%Dda#$MaM7xMY_Hm9DLcr8tLpE04a7kH=F287SB%QHm#ozYZuKY6}Da z$~g^1Y>Wqi*@zO=&96k#6CT&E(ktsS0ZV6hCG+!z*3>EKES<@tomv)mJ0#PqKdn%r zL)FtNwrj*lrE)uaPQ7}i<&XB)JV9-&TiD>UiRH3Q&+>?kxiyKIisot?=Mph<^^_+{ zy4HqV6m?>PFc=$&k!TrS$$?xG8p&ky$!`fC$0D@WF)Z&?1P)21Z z%yWc+t(zJvvOdO|RvP8!~j`&mpsgH|D1k|H3v zU!|6KzwyYNB0FlFtb>7r<%L0Zv6dFYs;b<18cOD>uh3hD)7yg1u={sL`@etl^y=%Z zFkT$*9jU&5Co(pktm z(!I6yflQMsoXU zlEn1z7-tH*Qlq68%I_0=pNJ1cdxTxXqPC{ltONnz@mqmZ!P{;xWeeOC@|x*32Qe!v zU;Bj>7fK-y!5#prRv4`4tv6|zL_D59kkYEI^yY?*(Umjo8?P|oChKJ%@B?Y3lu6+u zC$7TQA_H-As7!ZV7kS$R8g^hc@@>*$h>wYt%|Z`=S+H! zZsplq0ft)wy(@i2%~DPKD&o%zB&P;kKY9H6P`Hqyma*+^4JNMg)7IOA7rc>lrW>O{RlT0W-YYhN}|ssel*In-$lYB1veq z0vh48w)VpaJ7kp%l3P~1M-oNIR`I@}z+5!}fLBJWHfc}f9G0Bl;p@dm81MNSUSp0_wP;6- zd3FcwbtFb>y4jfk1D{1R1udfO53b;av+5pzafUP)MGGtf&3a-XQT$S~Td9rxjOH#0 zJrAlY$^8UV&&{5WeF(qGo)IhvbeaII(TegC?l%e(TcZXldjQi`7n(H@Q2dcBV?}WR#p|w;K zY8G$g_mAHkTkDFx!+y*BWW!ubFBgRgEu`AiK`EwSwC7D#CO+7j`H@t zkTAKO46M7(w@*7f?kNjfjOOxPq>5K+BgsUImmLW6f*YeC)-{8OPfjq~_%C@%)oO52Q7D3fov(m5F!wWG$r9_EmpB_|@a!I%z&| zn{j}3RK9t$<5g$yBfg0Wb;C*?Wvj?URX-W45q(R6)BWeIfyegB)Q6vBH*4B^mP)Q{ zzNI=k9yj1sxUGGi!ec|+UrOy=;$v;X@#yNAq*fOfzfqTv1{MByUTdSIBAn)2F{)|_ zJVs4E30n}iHer76ED7E!pBE)STpUe+*Ar!HJ4j0e7@^GPN+dD`4!bg$0ZO_0)A>5B zBztN!&emDC#;@&%8>w^AgbMjYfzXuJ*g>Jz;BcxRz0<>=HalD_KT#4{7bWn~@j-<} zhMqLBtN_Iz#8cS5`>r(Vj3T@ZdKOMkykdM-75q8{ADUzZem0sMOaSw@W(C1+eXQdL zGqSsYb`%&N+nL=Ek%a*3E`Wi3%$rU%H-J9{=Xs~oR`{j% zj()cs&-k#L{1M##&wx(r$2-b1E?8?{3$vSNx&veVuAZZp$%?bLnlkiA z@Lg|&5-D^_q2ID6rVrOi|wkg`V%dD zCdpQ%rTChDD*J6m;dbB!n~#Z+4a$(N?Pe-H5A{bANe>!_nY?!LrYaXo6TnB1VTw!0 zrbyVeTE_yDgjd#-*=kY=L1#l4%K&U~ETwUQd){HDR+x}eAAA@u*SqZN++2$O7gd9Z z-0Un>E~i8gR;g;rolhC=j-Qm7n!f>!Us>q>b)kbK_@Cq4~kmg*L_t(q^+GXl3 zHAyI6QE)SWP=8X)1X>R-_5Gkr;b5SbY$oIYYRtHg4*!iH;@sOrvo~fFQ;MW{fe8B9 znjze$Xmy$n@5CoO-OE;A+rY?gM6}rc!3lI|PxH?g_uJmy?bkjI5ZE>ngyI8MoSvs$ zZ{AtmCC_QoU5!u>QFtmL5I)i={k$8mXC0tq6Qqow2A1eJyy7eD(XE_o?$Z8d>^Gf| zbS@PP#rG?z=CTd_>z`6ln^9HLhsH>z#BqD9eKR{Y*n8N$yY{ik!tKr3z}W*8$i~N4 zS1qpJ8tea_lb%etGr9a^t@V}1@chrfT)|=8CDE2IbVj@xgF(iR5Aa6>rNo|wO(2^~ zr@`&)#yWE*icxw%jIa_psup?$>$E`}S3XsZoqfulwR0yqjJ2?dZom}pC}luvNaRC9 z4boCTq4Y4AXcR*2ut+kjs#n4FGF5ep(&&BbjT?Nzv}$Le4963(;c2U2pl?O+oLEoym!ny_v7vxf?~yyu#-3{f+Cf z=l(W{58a1S=J-W`9+Sih*y9h97lP#4kqSgyh25`*koNKS34Ky3iJpayddVD;o(yEB zS5*xoZjpU`UbR}Vmc8teI2kY*uldPmIcULS)^&m1|ALqn?eSV+)#PBnt zLaE5BWUbMUQ58&pSsGC*2A1Z^O&^h&iBAou50{y+f;Q}8RY^tB8Khh^3}jt7D2wN> zOLMnrxBF2mnk6hZFx<6Q;zv$6Hz~(Ite*jabg4uD?W+iPj8+y~fC_afLFgB<@3r#6 zSP(=9h`@RQOMdHK*&JygN|y=^&THlsfC0&}W!KqZQDv7nPx-JL#~zoSSRoQo|D$a5 z@#%-vxgDz;b+4u5T37DXk_Rr^#Ne)gI+MHsL8xt7mo_< z`u#pOFTrjI7H#H$j{wZHH6R(8^mFpYs}RDK$R_6 znfeC?II2t@-s-rKODrPWVk+auGUVs&X*xAct7f879rkc*nKs5df181;n>f2Q#Fk*` zim5e<9J{AlGu1vS42&*x_e-XfRnI_F$==s%9Yu^QnJqnG$hPhU5K|2((V~FPMVZ;QBVdY@YK`-Ltv?tL50D+3Z#*W&21~Ui2d-obp1r~ zOj#>skx_}=h+6Xw6YuXaKE?ObK9d30vu|9Hp5OfIoxs}thZg}KmtEp~&BDlcas5IX zcM0NL23!{+xE$*R{RPFv72KuKBq67uBaCF@C9y*_fbK0Y`~Ti%uvM9T_oDNRpwWG# zG3pK;J`Ge7(F2mp3NM5Z>#&X(DND&HFE$ck4}zOmk7Xq1M&7{R|IiJq9bI=Muw7Bg zX0Nl2J3P>)-#q1B8j1XDQCBza!CdzJkw=SkLx-01_ub(jlS!8T>yM32$10CmS`S?` zY?=M*NDEC}$A%TP9{rlJ6}Ae^X5`mP>_XPq*MG}TzT*s^YV-;P^{G&aO$%^q0^d*R zV_VJbxKqvINTGb0ib<4^D5?!E_O;lMdm8H-5W8e+x7DOiMd^t8%9tizZ9h5je z)*)_&AHZ4HnMlF~qO^@mtc~yNOlf3IqW+ zA{=HyA(ViOA_v+1{Y8lho|#wDGLh`|d_-~B#$>@f+WEP`1g2r}oJ!U6;W7r)5D*1) z`r#Mi^Cvmnw0}FwC2j{JvBvj}xVZTM%5oaF+Rkjv&|c+YQ1aEFxfntT4}qryYvuW- zK5Y{}+xT#Hv~ytV+J2^OW_q={<0WI`>-k{vUN)`k=U@Fstv17MfA4x0db`7dW!3a? z`KQBIgL-PEhSD`gR97l^L+A|H8EBQ7XCRRpwqc+iNlwLh-Ea#vOY_;#j1jN6i`&GJ zS^?~^`X3Wy;$VG{2<4>7W46HeUiKjO?*g9-m3UNK=|O&t;i}3^f*27PI?Nbi*AF|e ze_1MO1GdG$(10U=^nHe@WDW=2RB6m9GgtZ6W?DZ#_P%i9+n2hG-<|R)BzT-evdqJC zK`%IWSh9!QS4D0`N|^nYhuLD_K-QcPgmFX}5@Hty!t19JQnjkM1;C0c;t0q9O+XT0 zcJ6H?1Ot1>G(}e@5-P!fM<4i#8}7;Wo*o#W_nz_?ZW#DP!1L*mC09ZYKO`_NuaAyw zWWZhr<$E)VOvu*p)zy)gv&_t<%O5^?bTl@Qemwq(+}yZsXLsPsdW#gDoQ6c=+V*{| zpV~*i435PgS532yf_M8&qR`z@LwwhDVjHkf+tqJ|f+TqxXj*k@FG^EouGn7AW`sii zs36-rd3E?Ct@4!*+}2c76_UvWoV4Z0a*HfXEpQ`SfP@vNfhmHh1_$FkZ?Gu{9ZpS+ zC)~$gcP$cU zAI*hIen~Ok>~UnG{;Cm_P7)nwIzJl}L%EuP^DE4W1LWj`z=SZ6?}zMz2Y|7)_H6C6 z&Eha%FQ&X$(enP7oQuI5LpSGYb)9ZQN;t#VVdeSM(PI41GqcI}mPZS#=a##7RD-{t zZaL;Y`TkQ-*8kCkeC{L8AiGaSzutOUUAL7qTs%8&jgl)*6XK267UR=T9eua7)tn@-w~#9?Py&0cgx8vtP1B)BIB7Bj}q$tBDQ;+BOSew`mB`jR($H0so6&&Q~MViKfkU{ zPn|di&Yv#VxNZ79+}?R>BdsaHmuCV`u~KaFu>7_)|0(#jjAK74^onh!k!~#*M;>F@FWebzRz;U5qv|* zWEdV%{rZCDkTg|$-yIm#+&Z1C|HML7GRayc45S!{A6GFVgpknl8y_ykR|_!VJdie0 z`5-ct7wz0j-|b_*`s)j|pXbbkgsB`)kdqOAryC#R?AXDlXHq^{9RoyaUMK`B2^vcq zW0%#|0HTQ}W+cFqL;*TLuwS?}v1k&{l7Dja0izSJ@_V2kT}PSRKv+H{W8qwo%UP~x z7(-O0?k66FLL3BLM>ZYPnZHO8nG%@sIc0q0&BVOiPfanqxBPpg>{jsmzz*+iG1}zU zlB2O#uO~>q4jPdRm_pGm>Mh0`4U$(YQ*o1Z-hAIkO4xi$#fX@+>GmcCdY0}sahHBd zjGm6B;j?%j;Wfw7wc2!}$7>HJU5BfO&uSh&7T35%q2=mi?YL}_bH6Wr4qlYjfg~5y zdE?&|s+TRAVxh3Il_F*%lGLw;M~5=!E~Gw)LRZiNXK41!G)3qH+x(k?P=VwQ#y&Pn z+iY#CBz^duMdt76Qbjv~XGEn1Qr?+m*$@P&iS4h(43luCvn%3q8jyN>73>Pm*`yCx zIU%>Gsub|bl#tOgFfw53>|p_e_toPLsl5isCtr{2*>(}Sm9|wpk6lB`tMatN;C4Y5 z9d)}s=i{Tkxl?$Y|IcMI>Yd(k?7aI__xq| zAT)lgcYdO&YW{SeRyk}{R>d5?-3QV=p1%wSvsIN2^z4R%X*0Vftky2`W=5+n)r9ZozV zIQ2^y_-Vty_eP3(u_vQ+2uvv#+Y<(9YyoI zujtCU$jXfGCj<4ocyr-KiW8m!Ct#uyaV#d(kK|qTE(8JHfhoKLVL&vJ=b847yP=Ml z`jxk;_3Q>=Y&R2p+B&hfYa^d|?LX~T?K6mBGh{?3(Dy>|gTBvyYwcGrxxf61@xfic zT<<95CHdeQ{iZlXqKiK@dinOXJQxTEOpC zG_053JIB8{IK+KaJzC9;UZ$8Qai9kpCv;)L&`3o0W6#@N@5cKRKi9=YC(%#RO&_OY zPJi@_P*Sv*I1V2;E04djm%m77dQ`ncAG(`uF)uWr&y~3q*bKfWiLbD9e3c8&u2w`& z`LUR=JBOEzg`uQ+mS$2Bqi$8SqH!YdX-HyA?-qViE-D+{8mo-0s!34?}}G1khHK*Iqn=^_=M9 z%X-}B|BbK$}M?Va*q$1holPc}~{R@>wko6dH=_>06PQoM{EmzVMI z4IXt*+zs|zekbhLUA^XW{lkzU`|~}l zY<%~8-7p(+WiD`LUNgk4i{wl4Db?PuDkG8x;Y^4tcQQM#`2s&QjsTXD!g3|iA%Y34 zdJ;7+1rb((2*-qmK2#nk&vRa=9Y0wuJgF24B&$#SK<1!-7e*j6)8qd}8PDiPTBNo2 z{2EaLh1JeHb#=MP56rX}i>q}KKiz!CzE%A%h#){t6HNDgtFa3NC6lfU?%aEaA3Y)R z9wd24_`}7hDlN-i$1sj64!{?^l}i}s_o}rs*711Z&1v~!6UVdPi!3%&+5NGL>wD&p ze($+mOi3)B(U$Mu&XW_rb-eMZ?MSbxd|vK>0PWDR(<;+6o$QT4(+ry8ZcqqS;h^97 zJ++NjEP5FIK`@ANj!T0p&jwSEsG=z}u%)#|G|>)fu4rL7^__2pyNwAcZeh*oCJzt! zuu<72LOwx6<`E7=Fq^EZxRE5EhuT!8x_!~E1Uuy1*&mS|wI+qC)-^_YDSh!L=&t33>0yNck0 z*8bQEE+*mn7FY2e%hY4Axuc=UC_!}_B98jYO5z6R6CE-%8k<#(k_P z*bUB#d&zA@r1kwp7d{kHFx_eKCWHuX^YJse-yCzg1=(VSdb9(b{iKp;g`O=w$?u)*SZWsqPdj45&>B_u(oz9xGth~a&m0b zcp8_9Re2{K4ge;Y@5GpPMl8sRh~M!gvU(9AdMP3g9F{PYM0W}8gY;a$twL2*b1^p4 zg^GOu;J=cc@mto|eaJK4(_F0fqD)|oT|SY8wz_rU?AP*jx%h84JBBvS_p z2CH8(2lS2meKsTb|M(9I{=$5;rA!JieL;MH2xiDfz-`LMj%^>IO~_~F~JnULE5^t#F_J*e=fw>x}sJf%(gORY$jL0|)a^efHjI zkd~=XNoNz5xVi<{=7J*(!@k(8q)|)K3GoMUgc9r zmpr_MotY4py_@-VNQTZ6+)0MQu6C7mf0FqQviyjrKW{@e?;~q%C-e}*29P80&gXn~ zUqlgsZ4?|uTNaD?5fKpIl@oc3%9ZGDrAmx}VVDE8Z%GwT7nBt9Vz2q7u*0uk(u|$% zX8h%et!oeGE3}Ru{BGX*XqS?gW9t>nV`=$qZ~W8q-y+eEz9N;~uD%o@u3YjJ?8k?V z4SmRwg1{*QTgsN7Pojw;VD{e|^-UXQ+Ks25Ki9t_@{$Q@Ba+RW^ub!0)%!I;vg%%y5~9EEDV>z<-0=(ee-+&Ig0YbOwGQ|0UfHpt+oA8+>kWVU!^`YwOy z4h6oaK<8Eu1b-r=`xwA!V*a50;fs$NPpu!TS2!msnd3oayO{F(3UbExCgwhIwJNKt zsp+JzdR++tPCBakR`+LpM?UKCY2}3tZ}07Dty__`3T+xj{(kZN;!K|<^5sb9`yYnp z7V@v?+J6M^jhhTIZe5-H=7^yGbgn^d%>^jR9B6{>IbNBg6%v9s^IboO-EbgU6-K!ibLr7;N6K!t-=PP!A7`bA))sJikSRL{|T_czjWz6vaT zua;uX{3PpT-rsw8qFE;eCk+K&si-RW@^wQ*8p_AH4g7OtuOa`&_$c};lx zD~c#_e}zOQU(R|)fTDA$e)B}`5q<>44i-qcNosx&THgf7S^=1+prygI-|wSHAgqPS zm1i&Rv;a0Z&TO+A4EM;ohtavk_x94t}Qcoqe&;9RjmxiaVfG*)lIwK5R}Yg|N(%v}*c+|_XaRz6wR zR=3D-J^{IEJHBb+!0*VHa<&ZdX-Aa8#w`5C?-2y^^9ce7V6N@v;y$!zh#xfO|b+}1si?dya+LmD5>_uZME6-18ZjDKyI z{Strm>Z6-S)0Q4R(x-^-Tjk%)k1GP(D`(HKbn~+%yd&lbOpP*zwrt6INvAc33B2#) zQoenmvO@sGCA~l9xbo4z$j*saRGYWmV8l(L1RF2jGG)d`&{L)pBoX+iQW^8RvY9;b z;A?&NM0EA=pP^@JC<(@Wh%u3}JmNe|~|z2OIuMHH`Va_i^{t z>(?Se^79Ak_%hfZjx7OIM*d(oOr$S%;Hh00VJ1+=fX%28!>{MS9p^OiL4rjAr~J%s z=PxM9h>H}gsa^(FfXP!EL7ySLsNc!mSXYw-zEU(gc<;zbm&b)po>AmciP07}-cQQT; zq0_j_>^CFLV|v<*U@S-wfCQ&=1n6pH?TMm(I1{NSve!+_Y^YhW!idjfIbxL_1BiLQ z=kMorZ!P5MkZA2v42WwY!blB`ZXGWKpV3Tvw;I{}WHJDu-28lfX@L{>5Hm-cV?B+$z0#m|8YjVf&qoA)U z$9CVVXITa|@m4+AFC4xN^yGe8|26yC-;=Mdyi!0ZFvNG*u?4+-=28v+?5vdM1O5GK z+*@njbhrZ)+gZ;~z3#=63ee}1OhUhnO{2&uq z5lrkumXvp_$SMyCHbIk&7?~kbbyd##2+CF@!>lsQ;pg+tT}5a&dD!i zBc|1!Mz1})wtD+|HJivo=BD3x3`_LDxjzMM=N)T8238kB!S9w);fuE?D+jS>eiv8g zP2@gl1Nevupfi)t;iWzaTTz#d-n+%DF@pGsm9o!!S3jE0Ek>+THr+F9&@8?Q3&gr8 z3ijhZ&pF%A`1GmbaQS=uvj^Yfi8t3>ysZRY%O?o5j-B=UPg@;tej4_C?Fs)HaCBYU z^1*qtil4ZqpF9OcUG%+2nz^W+#u+N%Tqvq86tm6aLrZ6Bm@yg7rj+hPyl`}EgFgx$ z9Nw`o!bl%?)Bu8DhV>@*Pz%$f&vP`e6a@+Ff+~cr*Q&_@#&+zG-0^eAxRHR?Wrrg; z)5;jlh~$Bn0FzT}?U{_npR@+e!5NJn-}n=JBuKY2vJu2A`Ai01mDhJis0~4YA|2#l z(;W2LEjC6zv+E|aW6iEs3jYM<#|E-rx6yd`nln8X`_!i1u8$!3OW*$oQbi_@iQvlAI6&R7D&*rQ-??2nASHolf7!WMOF zu-|Yi!IBrg0sXH;P&m;bYdM*j&d@u^_z*&^Yb2J`FX$1^r}^N-0PAi4vR2a>q3fgQ ztJrxnug3b-kgDw_Q$QKQ8prB-UCixJnB%qZA+#QZW))`rCPBeUs{;XKzOh~*%-7^} zydz<3KlUr^1`x9bze%a{@F+o%j6elX_3>*r`q42fyqgvf9!;@`5N$cuA3fc21dZ?C z&XzkwfLLF}5CBu23@o(yU^oz*sk!w)j||3hqOpB%WR4af+Ow9EDmbeSja<{j>#s0) zO2wcSs!r1f2i;A1QWfx{AW(wbJLhzV$2?(%Gx5=yL~Nud-N2NJrG;9MbU>iXQo6&- z4_3c<#&)kKp672T9vziozVt+3El9+V>dEomGp2NrIUZ6}G4EnU?YtXR}E&7t}HK3p*=E0yT-QRgS>RH~ehtD4@~H z#%;KPfEZMS-$v>{Jk)|dLFIPdVv7XAQ~@rU1t=akdC&22+bO!l!%Pm|ICOe%QmWa3 zH^(58+D@GgmI+~DfXK0Uvsj~G+!adC$|+ZRHia7C7zHF9fP%Ocg2(`?%$oBT3V7iJ zkwfo1&QN&akdZTLMk!Yr8=4WC)VW^euTe2yd*ODOby`{jKZkffjBl^aW6!6iMhmT8 zUd_R~uq`(Us$V_sJU=37yLPmdcXBjq%p%u$_B|kvl=o2@>*k{9OR;o*BPZhbnq@Zz zeev@N@Z9I;VwFWw-qSUme@4&j8Qbd!|V zc@j%02K_0%>fu!g2}~U@ht#7Xpk(D40LE61A$r+meE{u>4VUpMS`_-W#%uNv<|$-?OqPR^Fm*s zj$Bc0W({=L8X&j}z(h(U7=qdcFUa!37fJVqe!Na z5988zD&|M}KeuOizZe*N6X9U9iMNm@LrKiPC|;rf)}Yiv*u##uKp9;l#jbi9n>UAx zS?8T#C__!h^o`KXm)^9PmW14dJA7HhUve{zAt4xB)%D*b6JgyDJ3g)@+Hiz1$MtX} zXvv^r3V5i>Z?wps5lU(Ytdz1BePVXA2jo+l*ZXgk_HPdTw2r0^TD@^g-0DfWQK5fX zGJ+gJzf?;F8OMG)`qG0(pa9ZQ+Gq74z@uEI1mvK&R~wqYUo?>>-R#L^g_&b>x01Cb}kg+)|8*-1^itq&~y{z zi29@|HvnxeevFz2gG63x>8N;d2q|EY?PG$Id9tBU!+Btn;CcgXpOf=VWO_R!?0=^y8_7r_tv>(^W70)dxu88o{)K} zoslSgjIcBbb#wt=-dAbJPf6>E!L4v`bR>2F@)n>aM=5|YN|Mds?g?T=rx%v~O`&xF zaIz8zJjJaye7jzgj0beIjGT4>79GUlt>FY`a#h8;eI=QNdKP`~JTf)_YxazJUVESO zBIr9Z|9tl9Evs9168t>wB%YQwu?s))J|y&AmigArLQSn56T94h7arO1@Ic|78eiZ| z#a4QHk=MmhKR!OZW5l)IM_=#MQU*mKgl*;tSTQ;#RMu`-;QKZGLQ$ZRZy>&t%#>>Q z)OK$iv+lIs81JUG#{dK~)IiVXMU(4M;zF(U*0R=my1IsEB_t1rz4XW%@crs{!S5B} zubyG5sLWKL_*ot*X`?qRngX_yMb$VfqmC>^$D@V@vK?jx1ZTrzwH+`lI< zf$)X#p%Q%=cLGSv!7wj8+#y>+xy+iW`}T$?vydKpI?uBSYJ}+Xu(I{7)7u+I_yP$$ zakjDi;-w|S9}0DoAwm!*VZ!^2uWM3rueNnmR#)G9@#=K$u1CPR+I5L@abH)Wy|XW2 zZTfG%ylg)-$a)nNqG?gppmvuiz3Je)=(kyxpT`K3T7VG~6FuqMNq)=;1r4)6hfz|Xc`{xaMbDi|;$PSn0X7&5hnZG$6+7V7S7 z6M%~Z?()j{ubPySH0g1u&5l71wS z=smsntNrzhlS2s>xw0RJznEo%{5mgK*933f=)LGRPd3=CMvGuwlF$wcj2s1D${}0kp9yDCAvki%fqjhT~IR zZ}!Hx@TXm|UBTz`%E5MWmUO?9U-n#1nyB#n{ld9TPROsT z;ACv;>B-bj?ejNxmg!EPz4Tf}{Pt^@%NI|4)TZ{}2`?{ehon{1LMyy)7TwA_dgN!8 zul3D14k`bDlhQW8X|XXJA6eD;gs#LTILq_`>I8(dVOuR6q&;X$_7kb1R!E#NMgh-; ztl~98c{H-3+43Q7cdra03aw0m=NV)hNC#}Jy-vOr4GDLF2h9$-n2B z0Ig0CiV_W?#L3Cd)Wea0Q1oYhM$W*FUB6HTlX@9BmZgZ)3uvFZp%|TXbOMBDZ? z${+21+SpuJxHEaUTC#6!98nqnx?pH&-di!T@!Ypzy6q-qb;&UorwpZg*b!9D0lkSeieaxl`RhH+h|nEY<4W$qZ>h zm{|&8E*|iR@o_Q6H@V?mBR>#H9t}X*P>pVMSiB%+p(2n8jy-Gcx&)A-$d7_q83P%P zA<8CqdoEnyWUa|nRi6qq4ZmdhT9R`CH^n~$D{DX>M($sPZs!RjGuAWk2J?A0*25Mc0rV;4Ay12r=|o|7zT zdcD436ama*JPd!!ujQuPMWb&&oDeACRQs57Z(C;p_(lCXRSD#a%L>M=0P z2DlK94iC4PF=kd4sjp_6FrTu4X4rlLKthPiv#156l zotM5S54~}WwGqJ5HMv}fj6Fq?2HJl-M}ksF--xnC=Zf3Bm={ugPWjA_2+Ud? z`LqtA$On*QjLE3V43B_ecc&vVWZ`qjIwOkY1)2~ojrqjEPhkdZ z9Q8zWT6jhe8dw$?u<#WLzZIOh%(&=KPS4dH+GAhf`6P<~Y12hU;m1^0W<57krS4`+ zrJe+*DT)EXCNlYzo5i{hmQdYRJ4dY1$B%n{$xh1tws2po<21gv<`npC>I>6{AHN?i zNhlmt4;oEwoPF7n;2wYs9k_&5aGxA4h&dT)NDBWiqOLof>OX9M&vbBb>|=K9otaVS z7-fcJ&ts)wr)-YBvsYvkLS!bgj_fVU4rOHvg{=4Vd*ADN|8Oq_gcgoNseT3M~?A__6)X=1^{! z0+ay>a55J?V}Qw?`zu`#%D@;{A<_&O>r8eyRVax!8c$4$xr`?Rb=6hj_>N^o zm)*XUImqtAe4H?tFDH@u`r-Oz~(v>l@`3itu1-`MYf{w6X(%@ zU!=IPixssibaA0Pcje_mf7%)G$^gPBqO!7*41TY!lO6f@LIpVm;7&3L#2r-P9m&|t z@?8qiYqzP<9vR4iBIt#0{tEMZTPDbBo0Nt4&V+nr8;2#_8`E72lwRH)I`E+LV%wSw zIAW}Pmtb8iFu?bLE$Hj+l>D^U?&fw@e4@KevN%_*vxi^v3LqnjGOt zIR(cuCa|>JNn*hr)(q(Fda+cyCh<2CLa6LoQg|>Eq(Rh#jvk8u5cj6SdwUI z0~tSp%BAGC(FKW|E|fR>N%y1C?|$9*LEUT{d)FLt1%Ow9M2{ahwT9X!M%!|hJ5u6; zhe(i!M9@VB5tU?_61ijRn!|yV58xMj?Oh+#C=F%rElEG-rZhuFa+H;cqagtD@MZjZ z@lo&n3weceL&gOmu0UsuHfPnHG1nl|j!;L%^UpH6mxpfd=gTDQo7X;APgG1UuB~}L zP;5T(;oUfGeW#`|$7t{WPGXc>4p=kG^Cd|H89L2@ahY%Irjzx^?dSN4m2QGnWKigp zt}kCcU<-e;OE8j7)Lfb51MuQE(j7wW@#rW(m_-R`K&oe|ciZ<0pYG0S1%Zd$?=yYs zDjW`&$PtXZefZ5h0A2b3D$*(O(1p`?4~Cq*C7<)nloW#vV#kB!Y>@;svO($3FA{qj z@Rfz@o1jj-GlUpYdDOrBSld*gBVG~8lmSm4eIdMFdux2Z6aBqt;#Pee0lj~l$LIQ5 zSIdeQ`_#?Ty{FwHD_O4lanv^sxGp)ytq0fhD20xwR#%NFd-CQ{b`A&QL3_Vi8uxz< zl%IZXI=5*Ik(>X`*Za)vs=Y%C#x(7STpHjPcx5s=8-pYeI*s3ii;q%s8{GXZO|A-| z&W4;)`MNV0C~N-Qfw8ctHr^Z70}m+inCR(}&yXjBvVO|*dDEZ-l4*g4_-dP5LYt{y z(|Hm>m#3M`40wvhMsM&Mf z$LhnuiR_o8yQNcf;@bMks4^mNo-ZvqTwV0Xcr3!wqN5}6?9?$}Zl}V!f9YcIS=QNG ziUiWryvR0r__vjT+1)1KEmR^KwfJMTB-YpcS$2ld&oQPpL@5)&;msLJ36 z)9Z*Bo3>B889){*CzIDxyN2GU&7F=t56v4iE*?8*gd`=2u&RHmy&sagfmFfBQvgEh z>SefmP}ESNo6Pwueymacy~U3(aWJYqaZoV)Up;-Zl&cmjuZo~aIc*N; zo=9cqgleV2jNd1e*>drIwh_!PyG;xP=*4c3W`$MY#M|k}p4*Ylce}eUADZ14{!;$3 z?X*2_L1C+TZr%CtjP2BWv1$F;(0$GQnUWbNKc9~+PQriL6h+0zvY&#kw}X!YtRGI3 z;lh4eiR<$NEG4P$G`T~m@vJJGsOLKM9E>W4w?jd5F^(w26H#CzAGEAnEJ@dUNb!e{ z3@bXIabrIf1@XZ2_2%9WRO$R${k?OX=P)p|WD%2+NJobOsnt-|IL9HQ4C{H4XM3MT zSZbM5pm1TVkmA3N#V{n!?;02SV4&2GOrMWVIzT&mjqWl(QxixesnK& z>*U%eN7O2kMiBB` zdV1FII4qT|_e`mZ^x#9U3q?H$?}rUh2N>{f+)@Pe!#$`R^I;W)0JlS@w)a>8gbV-; zKnX;aH)nF-hB?J;YGOc!*H#n;iC0J1XC(IqJNag>lX$cU@9kHDNjNAxlU+@QQZ>w0C({(9eb>3G^gbni6xK;2`3k@%UA?ucfEQ8lB~1odM$o=&-VuxJ4d7P z45hdfSY@pfRbdt;Ga@Zv+uxb4-gEx9j^3q zm-|RQ#Q-AuB`jiy*&#o?()5sAiaNAo*)wOP>H~$U34QvP0Np=QPl{~s-Fn1gK-!J} z{zJk{*C%_*(&)!;ot@zEO&>_E38y z{{skpk$d$A^B1zTxUgMVCKAoiLIviZ2|^y?(R^aj3d#V+y{(}0Kobsx*)ROb;B)%K zkRC^o9&A;O1<>HV8N3rk`#O!@>&e7L^%b=1{!ya}V1!2^95uB-s3mbH3QQf_UKbT^ z8PhcVzdjBi0?U8i4*&T$5PeL5z(3!#Fw{ggf%cO0lAXvWP!fMhh`*GVjF<3B=q2(J zaf$4<=S{j*2~_P8O%A z{1>7~o5h5bb+>0on>b9=m#IUO+*X!NDk;gq7AZ>Yw{H8TOgRwEtX?rKYnA#UE5fKQ?Xki@VIZw5`VsAO|mb=Y`ViY_?O zV>=(4?62AqL0x)RK|8-34ywfc3s zw$A%(9&Eo=SZh<1V6U`3`V;8vsL)Y4;aMAE7|nM0DB*wskK6V4_G`Me%>c*Xs}mBz zLL<+!fv>3`3vij>vq$qnE|OpcZYe0Yjyl=jjjVbsEb*$Nec6C!44WI(DYg;32xswS z-Jy+90Jxs|{UU4FriThSS6Ph3C_G}pT?0DMGi2>t`ClGQfbaixkC<939PC-vpmD;% z09Iu-e*P{WM16$rVIpS-cvze%a}_-4pix7#@8Kqo0-W&H_@T~DDCGkp87@D3Z){ac zOx5=qH?QdAQrkL=E(tuqdW-(F#KP%wDP3tZI~s!g^M1uudPGJ}YCO8O+?x40Z}9nMJ|$o$(w+XpIX3R)r{@5P z64*U=oJ#~#Hwh4&`LT6oHF92PhA?+C_; z6(V%5J)5Eyqn!P8z?^r#;lZb6>_IqG4fxI)%L<^$ud1a3z%EEpEF*y^QxXMW#M-mE zebc-h_*Z)ZEdo0<^`cP1d7C0swSHv=^y1NXm^nj##(ftALmDzBqc4vVbdGQC9iCNJ zHx19vaV19meIftd?B<%=$=Z>J|u|`evaNOoJOD%+hvmp{zE44g)q>#1RC>gnGOp;iLIIFS0;v1?6?o; zQGH|oB1)_y_y%GnY5+l?{|d9~>~8%HEH}Y+-{a;bqofk1hT3-FHhrW3uX`=rFsb1K z8U&DRXp8Wyb2fT8Az$a_DxRg9Dzcp&X{^S+x%o{&E@;=1i^)~%ZS0JVPDF~u+MTnu zfyiyuxLda!`H(^xtAX^eu_$e7?+++%c%Gq&Y_ExlD&seWXTbm~lJ}&c5N&F&zIuyF z{bi(le@M^y7sh2JKiXrlGe)Si37~97YM(}-?gGfG&JA*|2!QNfjM4xsi&Lud`0K9} zpxslJ@ZA*kkDq=LRmizA`b`CW>|Ww!Ao#*!nxdhQ->27&@>4{8%(Y*!v~(e??Edn2 zon^of=%skQ9}fb)Oie9=Bvgs)EFcYdL;u|xSH|cLVUlR|3J&qc9GU2oTxobxYs5;e z-l#X;xvW83)uTM8&r9D*}c5Ixw{+BWLz%x==ET0lSjkGh|uflT}SJi z?bgSO?f#G4qXUkDCjOlGwA?Ko0MKscP0FLdG^Zz6S)OlH@^LWCTgI=sSmf0l1Rhef z=#SO>|u|P#uLh&&L1y!rC@n$CgbO~C`JQ5#s3NBO3G^T6pL6+eS&&Amilj-|{KLDx&y6i4 zc<}Sf*SNKUxQfckY|*cnAF48UqCtKmEUxd26S|w;F9@EjdRg4x(Q0f`zhdNn@OSp> zSMfVpWY;`))D9$Ln|^m{{k?gGz3oh1cWMej9v4==e#bfDW zjo15rvM=7Wt1sC53)>XK7wv5mDF89ZL%`a)q+s7kkO3zr(Thnr?l!iT1yR%S60?Eo~a#&NLFoUJ)!N2G6*9H zX>c+x?pgm_mm?>NuDmmj)iK+|OnldxDHd{!ZOGn3kZ0z=dRqw^+!>NTZ_p$LlK>>n zxE>A8sWtN>7?WI*_BJRQHUYzjX9Y84j*&7oJccB*;OfA_pMqc1Q-pXaS8@O8`;z(U zurO{h{0Yb8J&+h22$z*;AdkNFvBG^ccud1h*t3*E0z-kBeT+7-4L%jFc2leZq2=+k z|Bzkt&S`=b<{$32npny>I{cy(#%03(o#W~lN8nd&dLCZ!IHfdmqIL+oYsz4JJxlgR z<+a`Pwn{boC&$~K4L*KujFc}9q)$Cn=M(eB3sywPEyt~Qb44T2M2TYoagS&)e&XoR=h#XAE{l&<2oizG^bk9sIA zRYIe{DNc(;)Q#$gn1uJl{*30D_^@nGf8{$3I+W9)prDO36%kJFdm_0%4X8g{MP(%z*n@Sqn1 zvzL8qdpk|Cxf$v8Wa#^0VC4tx`6qWya=otf+^DVn%HUr2YUak1llFV(sk;TP-g6Up zKyT-?4nUIQ(RY`EQ!)JrAm}_c9mW@>zO(BC*k=qNkG?ZhaS~iIBnE&)c;b%@ zrJi?@f(RO~uXUE#CB^FNAm15sRQ{bs8p89+CCRU!Cf3u7yHSiecO2_UMl*Zmjo&DQ zbLnzA&u{LsLQs*)^{*nC81uNb808w(Ijpflnrk4Bevf1aX zrxn&sX3q?b&za_QjVixNYrEVgQ~F4nE<9T2K#DI?N<}Rz)RZ@JrUJv-{l#{1+*%mp z`&N(HlvX1A_oSx0k{r8Ca&zkd?CXSJJt2%%il3JzVRm@;iSd{`j3_*G>T8t5=h7+h zg1v9vf*xy`0o(&3y%;5Dd?Fnr>}jz_GGH$vve5Q31qK|+)g;tUpwwMpohf#i;A^T-?RlDp=7)Nkv(~x0!|%T zr0m4y_12aoJF|0)I;*6tpU5$xe#uOVi3QHi?uaZ{EjXKGGx$8vp@9`mpAvT)SlKR4 zVq9}KKUiPz&Dfc5pML8zepG+TS+2TbI%H}N@BA$+hNBtKDf{6-CJ46!HOxUw+kzW7 zt2l{6gXAAM2|aAt!mKyQforsP>GFd~^O?3Lnuv1apHhCeRF3LHOa8WsI)eYEeXzjZ zuaF|Nl)jEVO+NI{75zL9vQGl*C6Yeyw-#hFTA=rk=VFnPipFT?fDN)g$4APs*jNA zB~)?=n|fpv2JxE0Dd>*|^g`VTAhUJR%ipY+Bq;m&e1yW0^?3GfXtR5Ba_-4n0k7+R z<#i8SddFF*s%16fw>3ZdJ6}<_DJ9_Y0Rz@0EwLiE!wKwl1-t?^dX!bwjE-etifW1G zm-)}5)2owSO#%3h(?4i}Q7S)8D0QF>!Aj}9cEP;3tmawJ+@@%&j54mbkY{48^*#Gw=U#|G?5!0;Qn8^E6kd)V&2A@LQ|pwCDVA zsaeofe5{bY`M%s*@?72B_F$ljCv*6i6wvc5%KH6xbh{42p=n}zui(aDG%aR}@|IzS zIXR@Sr970Raq?}d{l~zdwHtYz*8_UyD`O`ZXHejsK~-Gm(F@b}>Kf3kSr(mC&ctBG z{h&M&-jo$u{w)wFO>f24?sP|niHRHr9%*|G^ ze|-6k0TUJu!t}-;eD*(nX#+gBaXU|sTnkVf3D1$O(WczHy7ov(t z?<{(J^*HICL1>XsbsS9^jfO1}A?s=4?E8H1FYfx`l-s+t-!gVByXSeo>t$*`pF8v_ z28Fd03vzO5Yg~MIVuk)wdl)0yk21)Q;3iAF_1BqK1s(8LtoI(gJURWU52x5K;jUW~ z+CwRcb#KQJaTO2t{ZrmFb%KSeh9||ku0SPjpGJh*gZwA86bWx?za^%OXP6(ef>^np z=ri%4XE#O@kEjJa`k11FTcAzUkDQd>EK`R`hwU|LuUBY*nEF$uH^N9m`_rxg&zu=< zG?W*?bLTqN^yDS+utqK<(2LEFguVUu9>lmLPzCB8{ntsYSFPtKBY16z_0o0iviO=< z7}XyUMsq_a_cs#y<^6_GOx62`Ho^ArcjIZk?;;Ne7cM-P%a*>jRrx>j-TF3k<5|_m z>dFD*jNfNnO}F<_1_KZH>!oe9Gnol7meSLM-8iumD1eBpC@3R*v+Ff2?%N27)6}!T z(agl_MRW`IZ=L9UaHMDFV17C#_90P6F5F`IUKuzOOpfIR9<-+{)*C_#gnOQfpasBH z7Jv&Ypq~7tEJ{4qdC6!a1z1eKgDVmY18EKeb)Do`Gz6~)1#HE^KrUqj2*5!XC)e;X zScXXnfI_5KyAKc79tC7D2hnVcOCaF?G#BRo&yoCd+#FE9Zo~$^BquT?bVNpk{Opp9 z_%Dn|k06OO3GD3jGJgTV>P8ISS%c0^Ejer_M*PG*i-$55qKf=Ot{F#EbBk#g8E|lx zC0W3rIQO5=s7gHp?5Nliw@8E-5MQR}2&W4_>&}N76`ORdO-yyqD=&5?j2U$kbl$a| zZ*>!0WLleK)-nhy7yY$lSa=<9EIr`{m+U~4Y zs;APrzS3}|hl|H_O?!c5>kYnrRZ3_$r_=48o($m1PRnDq>}NOjUN?MPjN*0HsYkzw z{>*WfAUTthfKqdU+TqsY2$+72JFa|#9iO{VvZaY;ZEeqt-^tBTII^&Tm?)F~&0I87=PT^vS?AH=qmuIU_aV)c`E~8b z!zr{es&$bSFdAs*k8uRe1B<^ffD{HotSSq|uKOONF;Ou7$iALN|H$cll%mPsH-t03 zVK1qe_|h`XXv0uJP9VvOu|{y;}^(F@;p~*C)@HSHN(qwo8S3fnT*aW31U)x zsv0xvI~77jp0^HSEBoY6VNVrvk3znrteiF_ue_)*b>}^B4(#3krp%swI(2?_mA)5= zovx03%@(JhcH_>L5p3I{7Afd;XXYsP4Qg1BdvZA~Phb@6s5|3ki367Bi2}11&&9ry z?ra5-)APdh_@RmXs@;yaqCJb8ZNRjM)JXjo16Xc(LZ5jrzc&nUH@q=%#qy40e!fD{;r403$2s^Z(fvcwy{icj6_1`9S$%$B06 zJUM(cWi_yAFfS5P4~V-V7@)z5exfn6vCr&AfmetJqaOa|rqkN{c)-uL%!F>517h~D zstLzwJ_xV0#0HNJY(aR*v6v{pmenqvVrmNV0R0bs`O6!T-gBjkk7AV7p0D2wYGR<{ zWRF-0vGWmNqZEuUOO2tN3@IxkZhsK&ddOEuozFJUh~%DgQyf;VQAN)CpKa^T7wvy5 zegCk_%1~9RFypG<^<16o4^)iV=@wTbeY-<8Jv-zFucPmCrbjD*E!K7jV?(T9tS%-8 zFuJcs_b$rB`;~G&@}9H+Zn3#xrBkP;q!ECQp2i^usC9x#&3X8Y-oCKE>Y_=iNa42A zh%ri>C;4TS&(w*(v(06L2xd;Ku36(ke7S*`0=(?K&`4Ax5En? zR2oN&z{i}$1x2)i_LZ=YTlbOnpa=3MXZgZl{J;7-3W6btkx*nLtraB6jv^w_#+N*- zW`4Fr2qG-~3&jVF>o9sw=mMYQC*6T}8PPU)b_f@^}zT z&g!eA;7}&Wt@t4kMzPb%fdU)6my*BTSIMFZ-(@m-oyT$KT01{B@ln zxQL~F>ywb?LV%**lkjkR!{o?E4DPd=Wk(3bUex$Jt;o`Xxj&-Y7#!8^5q#<^n2`8Z zR@mGyT-%V?ZN&(Qq2bHpt-TF4$IU*@SDiXDuh|B*1gbPK!eidcaYizbioeu8viB~! zaoggQr&l8_cqQMLbo@_TQ?|))jmRgn9SJ;8%Mc!=$IN0kE5Q?N_&A4$Wxo)#;7?oWjXvmVhQFt=X_5-}?E z8;7T6%~{bEQCR^`xw^#qFuh{5`A~GY-53HVtZ=&?Hht*q-jXOza##~8cFVp?zu>ZH z;m#iVBDMQ#6XhT+y-2u8$B zL-QP4L&IA*=xxHx+46(YgtLR29hIV!uU@>DQ`Q6B^{nkExI8fp+B|HPF< z2L0i zMa7f7;|sgm@T0Fv1o(0f=3SqFFW2pVIJULf8qZ^&O;cU)hD>Qf%1*UgfXi3eQ|FN{ zIrricuSV#4qYQZsC#@|+9T29hZ%|ssY}Jo)nc_};YifKM=A}r}{ow6p6+;)?6bqGq zoNGNZQ^OeMt%8(NFhk#w+GL9Mk~`fK`VL~kcjfCyzf|T17j{cEiOfC2op>kE_bsfto2UlZ6cfsPg%+6y^|H|pk>KNWJR2NNUN0-ocw#O zATvPhiLU=co4N2byCfymeyHRoXJzkF!4>|j^p)xmfMc2qRHfssnc}GEb5#k`o6^T+ zptf}{4Q5_(Nwc~@=LP5k9d3K!1T`Z`JQ6_@$ZwYy(E77+*aSKoA%}Z%I zUI~`PEDCl56UE`T%0|2QHv}gP=69|BzIVU4e6+PqWogwSHr?oTa>^E9cl_qS3uf7S zB0Tf!{hBZNc)9xfoeJ@^F28pnrXPcy*{RYErbB0XE$%sx!xXwbneqN0C?;Ec9A)lp z6_`=#BAO1d2@QuXZ}L+}Q(oK30Z2`^BI&y0?k0~XTE1%N!Z_|Wk#!~rmWti)T>e5G zSG~)Zz5jDA^r~tj#VbTTLlqjLM#!vJCZ=HYPc3qg^zMDcoK?|Mh~EbA_52uf&!=RJ0J3e zymB_m#d<2r?Ow7;seqML9Zdj2v*=c+hgg18v%c?A6RY}YW-z$-+{m{xi&f=5804uV zA^_+>dEJbS=W#~78gatfN@v<(psHDg4Lb~MeXaDxW=wCCYgF3U2KZ=zaoehHNfJJ3 zK&dFIsNpXQcH%#NF)|78MQ8&u?E=q1(hN_COcoUXFBpGWFQsR0bN-;_=DjIuseEr6 zPAm}4HKl^rOw%8imBoky_0l53bl6mrX|Hz!AC_W2ywkn-+Z*4EJUQoDxcPJ`Ua^#< z?ZnvnqQmXx`oQn)?X~6-ZTxHh0XZlS&j<8s#ya*#9yG(!n zUI@Pld-QSVX#NV(Hq!3ZH?S%Ihc^1tjBe*PflLK)%C{`WmVs!hUz=njbvkQw={8@* zBk@m`vmdAo<0wfJKiPqjiY=EwnFUVTGD0J(R`TQhv6a`bm?SyE+KgA*&=;=itoZqQz#YyqkZY(8ZsT=B zaTlzlrOkK69O6(Eo}UJz_j@9;XG+g>bEtVux`y#4RGd@6#8pPM1 zZ{4em@i>X`4OOlVqP^Ofs{BTnJYR)$U{2}f_Zf?v8$hZ!KOcp^@nIK~IGJkS__W5Q zR?`lvIc@8e#HEsg0B68E8QqWZF-z9?umS+_s!{PhX&}Bt9FY3!KDBb#(_UC+=uzS8 zsRnis{YQ0Fhy!_IQo@CUy0v?O28m+Q}rXYO9PT=#Phb|ztH zryb9!97chtuiu&Vws^+d@M5t2-Q(SSztPmR6QRT>ad-FK@0GR=D@7B%Mgbd^72X1A z7bC!^70vxQEK5_pmZNi3@2YJ1%)ssXk(K;G-jxR5Q`$((70BHpqQ+WGErt75{+-w!P%P}&;2aI5^ zsRMrkij-Z%gBjt6R2MPQ&r zXnETqpNLc2A6APXkUy9qza4fSHJOBlv(z))@~?#L?8Y6n$GE!X4bIFTC>;Ca6G*S% zg13Rac3=@K0dY$tqRzA5-?({a6tKrc)@t(`w?o}O<`ec+w_Q5sJ9oN+$#s5R!*Voa z@iKC4WNG*Phtrz)%NvR}YNbVx1^_qj^mA_s1ygp4>}9D-ha$h}oz(^_s90MNN6Uoo ziTt*Tr1_Alu7mCe4rEEv4;QA)Oxc$KjC!1#p0v;e!RJHO8epcT0UFZf9a+V}Cfbf) zHKzHTOWW5WKup#b>473S_SV!yQg{@#ayoIdyd4T$O*UE#M~--9QE@ZHWA^lkx==8v z4up-4gWc%TKDZoT0ET6du zVkY`A5Rd=nTynPrasf_?je_f>j{XkXMZB;{hJ1j=5mgUH`b&Arc!?`7sG zP(1O?V@skROt#&rjs+SA=?$RnSEpKe2kzK>-h3=U=(CRqKw(Fs&8Ei=cjWDo31EYv zLxYY+GKssj@xb(RHB1z_ZtcfMU%vs1bZEo7QO8nc&`6xc==D*-?5pNY2(l7z9E=+( z0bGBOMrFn8?h)L=j)>Sh6dCQA)bo^(pM^V?2`FyE+@wc-CxLKu54JfDsB9 z$u}=F@EveVqfidB$kPbyQReDsh^h!VS_Y=-^Q4tCkpQ6j;s7;6QxU}5QqjaaFl9ZIq=b`;!%z)6L9{qN)lO`4exT>mSF z=hNI~&aQNv@Kd>AhVLd_&jqE6_)B^X=pi_N!vJ(%#*k&uPMtOF$$Mh%8{+49Gk%wv zbjqv-?J8u?oj38lp}cZF-12m7;mhR7-(9tp0jw9(()p*>dI~$g;Ue2$CV9=LV#yJf z%wLr0^NZKSZFIfLJeky+BrEqk(Xu)yPE&hqI+hn)HTR8$$}ppMXI__i>>7{vt`iWI z2A6*kYdrdgsewKOZ-OR@MX)T~-&3a)?VDWl)mb5n*T4eM#QsG2q?tN=WR+p3uJfl$ z!`q^M<=|tx?+|NQ2!6RCnnLP^EJg;&^dz4jY@+RrCjnw0xev|`?p+!UjM$?TDWm(^ z^0xCn&tp4rZ8}sXWwukANVZo>hEQ-Y@StwH#qzBDx7VxNcLuWFXY~=tF(bB)23rdO z=e-A1Yk@~?l}0Z;jJ05?61!TG;+`WbswA3KeT{uiyWVTrb)c$n zcs1wm!f!3*dekpuBY)Y}s&hf?QrBVXb`{ltN$Cum-rgBC`)&oabE7G{?JYCV6zoTM z|LA&#G*AyfKop1AC~X`PqPuVSX*ZG@2=~-3gjOSdIMu3vc@z537t@VOKC9FtlMM?f zN>Xh~Tr$n=P&=(qNdhDyP7Z~YKmu+62^lc~ntU$T3jMG##22|P{hviQ@>?T`8KD1* z#IWnRrqk!UhG`fvFi7D@K~i`?V1zRl=WMnNA~Qid*!f^?URfx={`bRWEA#oi`QGt` zbI;LA;j8cdYz1x?RJP{c&-2b})RB4roW-v0kEtd7tGRJGTI~@tOVWG>eT!!X>i(RlZsdm=Rn3cm({EJ6SX0i*{1cN=!!sMi(y(?+5G3x-Ccuq%=i zdTP|gVD2PdUS?a3wgWc5Xi~!19)*e1kQ$lxZC|ze+qJDV6lwjABxB(F4j03{i8Y49 z;;nP}pvy7W_pR(cin(`Wcd~vliNo0HpFox2+oCZGnoLhaps2e%LZ=&%EY;cSHy%mg z%fCs|<&2Xlu*)zf@^%=2%CVT0j9FV7w05i55=@DyGptx(ek2GABbxk2gwj@N)tFFl z{_K3@70yczdp85od4rD>y^1N2kubnuqL(`)@=+-4->*AkLh1Lu_U_;Eem67lLP*#j z%~sJqLkRXRp(fiRFP<6GU9OIg6`R z?>LO)lyx%5glY?x*wS-}fqB19p_x81wIv9}MI{Eb()-c54+*?n8NA%cGug)#>$*?2&g8yn^)W5&HU_gm8UlLRea>@BCTfW^R%ht&6I7+BHs9%@BN|Xw z`khGU!I?)-ptm6n7B&f1Bb4#;%lwDkJX_!y&(o=g#gy~9`bqZ+9} zGNs_pIdiqIMUS?06NQKmE*cY*D1jY@Tz4HFi#Ads{KZFjGxqkr2e2cE#n$$2fUvP@ z5aC>tEb=A_`AONbod)(`2X=>$3=a{{-)ZdR7Y%vYvqqYvFkwhf|3Eq=I&0&V@tbNL zb9=$gk38vo>BPMvL{z*#!JE){Pw{a+h#$$ihlc@Vh`>yL>$Mwn|KX!^$G;T0xl=@d z6e+l|zxSk$et;pROb}*B|8H#JcGhqb_~p7&Ym3H%k1lf;X6?Se*WODy=MA1*EbZRT zJ>T#@_uLmhciSDVG}`w)Vo;dydVdn&AMj}4;^pg1$I5TdXf>bV9~O6&EIyAI4Dt4g zylcSV5}&4Ae7845G|Qb;;CY&jWC<2U%Go#z;gCrqwe>juGHEC%N9ZB}upw8?)#s{3 zm8cetKqwnutdJgJrrr&&k@$%Ln9xpZmlCG~YpjEJojht_+jhsfnbr!*Wh5E=5Ba9?07dtU~f}|Fz6Fn(B3;C~+c) zK4Il~y&kP>0N?VX&yE$*(JYI(6$J{m8Jd@o`OwAPu{vtuBC2?aZeqCnehi!R^Qt+C z%zJ4%@9VAW@$z=RYtO=^=iw~XH|w`InVPB5IODbPL%XQ4oE=fF{DT$-s(g+rRN?Tg z95Og@)Qe3V(s}C8>*+*2CWNAgJAlhP;x{TbcVRCTr&4L^ySZq7*#Tsn;F7Oks-0l=)Or=#5DP$*x_#-i zP_^GaZelM0{D3@vpbUFQ;S927210Lu%P6rAbG8BAT?hffPeF{r+?i`yoUkjDgN938 z+vTF^BL58d9vUE8A0r|yUY?|6NSrwj7al!{hk&zc-f>X&-ux|idHusd)BS_Uw&M%N zoh!eFTxYG@!h7NB9#73xYQ?}J zKw^P3@!>Nnc>;i-2HIgkVmNUZH!OsN)eVgYQ4v5)#4<5=7W7eDHCUM&PW+JEHBJ+o zK7`{7($wOISrt4R4MClz@B0;Q$K6y| z>r0`g`nGX-*5teS=tlEy+Rug;BYv;Q+E2<4%H$H>v%P69#=AfgZSJR$lD+n8M+h2y z2E2|Qec{@7y)JgH^Cx#Xqx*2`in4QF#A>|HG8UmM2CI>I%R$Q(8jQ52qsVW6dtyXJ zumTAO-h5Rk&H3AMH(ErC<5P5i699Tfo>ma!aj$Mh5a^wA6=ot}@Z`>UeW;J05=5_- zyx(n!{{FetVP&tNo22s@-Sj6KFz7GH+DO74$Yr-BZebx8A)tR3;%GsTsh>8Ah#+JZ znl&@+Pr%e6D;+`4y=7OVGy4s-H9cWO1brKrpOS58{cF)YV-bLsvktP7vs2`rbwlu7 zlZXqlYBZj9JsM5UUR5iOZ4JsP9T@Tdq8M0uYM7wdqQn2JXS74ATh$~YT0kbf@ORzZ zy+1dvh1~y`mS-;Y_^c z_0A?uq}v;%Ce7HtKCp!v!8o=1*KlDEq-buLd8+)Z0pNE@*$K;~OyFnsVb!hsFX-dB zesxAo(N1GsE#E|5UwmT4j`F>l4@{7h6bAzgR{-+G;Q!+$7XF``AR}@Us-5Ks42(!Z zkp1UOL2(Ho>L)|_*_8q zx6Okwx4)r6Z$maM#`AxT-AMD%$Ys|t6DjFV)P5I^D=jd;jAGk zH2{1JiVO_n;D*%*qBQY|Y~ZYxde9XgYmJ$_0O8Bmo-T$#0qd2O_Rb@PRDDKl%3_i< z?(kQ>Od(x4S19mxa9ws-|jR!B%9I7)UFjbyW3G;G6r6aVs!OndM}+WC;aS zTAQO6_~G7;2gm^)egay9Ki}DATKy_Zm3TqdFhxkE))tDp+5g!xpG|+UwC@j5&Wr-B zrPICdK$*w9Aevk48{MNs2p)iowNBt!kc;ggECz!94~$u72)BrG1HhRfZ79L0!_{q+y2F@>Tv5vTzpa2ml2Z-m)eY+ zB6&}$w0fi~y%mbml2n-XL~F`9ebLM_mxw23Cp z;M$nINc!U1eq4JM$wq|zQ%kqpT)Dw7g+`#n!E`Cw&sG@n4*5?7Yeo|W@4!E~Dmo8i zQ@O|&rA;7s?X0IdAtr@o0GA0j6qUWhUA=A~t(b8<$XOeoDo(n^}$*4{Z-eIwD|y2zN4&gF^MA4K_lPcUo>0~1SyDxmZ;ctxfuDQ zmdeL@Hw%`&b?VtbS${X}ZKeTnNJ-4U(!8IhrUBBeNihOdC54OOPH;e+S37-Gg6)>u6furlU#_spTzozpTk6^qytHmR zU**%i=VPBWw{T-HHetaweZ4jY&B)hOtvkQa`ikyF|JDB~>bm2pe&6@|OzYSqqc~=W zviCS<$jTORY(lokI`+<9k(KO(%p^x4BjZCw*=6sMy?*aL-|zSJ`-{JLJ7gvX4*+-lb;O+J%*K~ns&tG}Xj!TM)OWmFf!v0&5L-{ehA4s$I9unpB+P3OZ zcp1M^ypQ|k^i|U1*AHC=o^RsZ%)U2_Z;T^_Bl05CKKMGB@oj;iqKs$N-u3p`@3 z^}Tg#|0x4{Hs+ewD9^no!Uq?I8IMZu!&euNzPx`z*^lS0C?;O0tTxf?5Y(vbQch#2 z!NKb{Z}0tZOUnBuN|@b|O5r=!?1^YV-Nvp~$jLct$nHP;FsklJ5>A zFnV(y=6D_G`Fj?QLZ0O47E%zogRi$I=@hv$^bv@A-y_>i4Kqx{RFH;(iU|-{%G;>< zT+6o={*zfxeeC`D#=~*M%2e`)?iYLV3G#2p*;uA~mR5`9!E*WS-OhwT-<(FGUXu1_ zpWP;2$9uQljj3azINg@aS<5Vz2pjr|wUaE^cxu`}DWr^Ty@Nkn^MJt9cvkw?B%O%> z;=&$id39yQQ}g~8JI+9a^5c}qTb^(yVnY2e+N3^Hn%!FvY1;^nYzz`+1A8lLu@Gw6 zr=H_Ys~LU$<#c$|ot_p&_ zkp4MH@aMZhCQ<(N;B&VJV`)o9_I_K(v8mhMvFVVoUra_WKL`rQ6Ry=B+63h?}7E#;R%MKDT%y^;iK`*s-6JB)V&r3c?VJO6f9_s+0 zlK&oqg2DI(+x~}Of0WhUY=_~;ga!gal1yTbCIiE6y0lc}eOgv*LQ&AsL{ptOjE?wOd`2KJef6X@QhjmNY?$dV;sa< zL)t@B-TZcm^}S_1y&C5C2y1WYHtdJBaw-w>PS1AQH6D_CJojs|J|>f(1-d*))P_uq z>RR9)2`Or5_kv}8)y;BibfAiW`srLNA_`#}f@5>O$dgmN? zp&nbz{dBB6Ej!UWxdqBznE}HzA7N7oK0(&F6L#DP&EZx{j0)b zvT?vh+-!7;qj?l+w3>=ScVwjyE$ZKZmL>DOoS?$r5+j zAO(@4pTmP5fqJVo5ykBh!n|N=cOkz~&G2g!nRNkp?x&XI;pNx-q{^mmy_VDpol1bx z$8;*_MI}?1;y#O~dlj^FZx^Jg>*kM#(7I~buy&Q*j*jc~ZaGuy3KChtVj&DRR;amf zJv>yx@h_*hKYZE8ZHW#9@v%kgnh2&GyK2H`yO3jM_{c~wV+C$V%c=_CSLcq8e;x*S zUFsm#SKf}URZ&fEeWADb1M4U^H zQA+sXP^3_hz)0E*9fpyCmOsH+=jTpBXb6H3Znp==|7%7Qc^!ab4S+GBPRHvt%Iu(=dJ#8zBLnJuG^0^H)=oiyIuHNV}N zOE(H=Fnx+sArfk<%F(aG?5Ye2TYUJa{mgd09|2>c4VjiGvZs$-;n$wgxm>oCAHMupGRNQq-ay5Ai`;KSm6beg$3r)X-c;@RYNT62JgbF4ElHe$?rH_r8~5B3nC=6V5A z!vA!70C;vN$W;LUx?zxjKcAU3s$ILdf*qb+0hdQt$P-Xmf%vm?bcHzF1NZ8zc>rXd z!M(a@?o;6a@R4_|H#6exswQ|1DcNXXJ=hW-E#|GeyDgT|vtBE(!ks7EvTcU!TR{PD z_|m+KSQdW?{rYsD*Z(k@Y1`cJ;Nf#xzF$|yS9KZf&1xd$uNi9Du%t;-9nP_Nji->@ z#!}HO)D(y9J5}0It@Ci1=Fd3?H$J8La7Y!+EFtPDW(ZP5^1=&WV}Nf5yrYD3Q=u4k zK#_R9dSh#60l;Z4kS5VUll963SS5JybWIFGQLM?lcY$Xw2=ko!0Q|?DQD2+W=)sra zrtUJXKP5#pm65mBZFq9$Bugez>AE0=NCX0>H+KRK9tCEy&iBjuBfwI7TF8~JWGr00 zp7_sXuc4-4op+>KA`QrXvkPDa4EPQ|7hH9JdEI+_*hjvRqdF7vwC>x<*2^pZv_}#w z(`~GYhS%>9>1~O=`F!#)h&bBT`sBJ-2E<7!Mp&8vOVxXpe3A$1CTvK46B!p-T;0L- zQWEiRd|c$;Xpp2F=uAe2}V8xEy8M&h3lh(^mP{O{g9;k4+R$(KL>T zkbQjF-Jf(_n*%%tSi}z`0RZtPGTCvW1`R^F(SLWK-9L@!->Y)bJP-+R;DVW4I5X3z z?%n-2y99+Mxv-bD&z)Rb+JnmSgroc~`Ahcpgr^JceOb5&mk;4>E(p0h8xm-yCY?C) zYDiSkyRuo}L{_C)T}_-VQT|A2X*6=(4p&a>&R8q{MOL(=jdBc{dVl*sj{b@^YN0OR zW+{O+v(8T(ZUY_gokM4#E1*3EHECxU6}cgHYQlw!pDw^R7T;6VeOG5EZk{xcHhhx#XhKXIf1LclORf#z^% z62PoE459-C;@|JCZ)-&btlYc2_-3mB0BR41;Bl`tG!3m2Vk)V?-awQ7$rE1nz1;ZZ zH)LE@bmcVj0411@b~>7r%6G-S{ZbwAVO#@jk#4!AV)Gvm|5s+S8>qAiqIc zTVZ$E*j;GPvs8u%a}e~;O2w$VK;>BqlZ^eQ!pI8|+ot#oL6oB#b%E#DM@Y9?u61v4wrw1?bUmKnOPqfcO2a ze+G354*G}l>T*+v6#|qTrc7uI8g#2E8`jZ>QYI&S5!o=k*zb_tKOD}V30c{Cs3iJ! zdFI{0e#cVknem}gWoe=5Eq2H#v(813lf3sOPQb0lmKJ&>8ryaatwYzdWL0*fu|Y@n zB7v^XrBpTuCrZ=`OmS!|~q7Art{cxw2^WGg8xXlqGatc6jjl=jyiv zv($a!c7k1FY6;BQo~s8 zZO?L1LxC8(XP>X+^F0(}jA?VJ^t}yKC`|-av8Yh)3XwsX*X@at@|Om%?)63eR7Rtm zNh$!)r1+!T_F%c-YEbFFIpz+S9aXp_epvx#et@poKLSc_J#{s)TgHQN(MbD zt(!P|Rb;S6^KFOOhyNk3W~|(C$ha{rA^n^a*Um(XlS^gWy|3R4o-ox@Guk_m95+1! zklBA=8pk)PulJd6FnOKtBULyTVnP)Sc?4cmfx}OKbEP>*5X|0f3{f9QMctsE5!?@WGDp034v9`QPgQ3-*x!aN3@2ZJKEpZ%Abj z0s2#dlexw=3%T(6UR?vj!3FKh=X>!T2clWy{=){BX5^||oyNCr<$axQlRsJilrr$D zL^My6mx%7&b?aXF7Q~czB?8VPbNNQC=!T_qoF3#RWN7k*l6Xc;|8d>w!@7ghLs8e2 zt%z1P*L;GF%yLgKfbu$B}Ft&L{?u^;hhem@FR6s-6$vlxU)=Ef8(9;)2 zhbw{*{EPGlWqlEFu=VC-yF=wRM7Sm0YiduCsv)ASKeX5A(vpySH?e9g4vOE@h(Z7y+MEM4L8Cq6qEtUNe;IgQ|7hBFh25;Fgyp+H`TuY3mOgnrlMWB@1@{uk^I$_7xx(F91Wd2gxMFh7reJv3Sp9bd%0njDELbm^KR zMFGg(4Ly|TLY>YVb*$XI+jPI`9`)@Lysw4#iwVYVXwVkneeMnDue%m*2FBiZ6A<>R z&A(nA2}uyxh;aQaNoaIO357n!ymZ%a7l44RtK^f>*SfX-Nf>T%SqQ0rLClnJ|g&hfsyS? zz3{9$zpHP$tif@)o6E1@!mYb)Te+R7wv{{tM;=?650j=JRXpEYQ097GSY{>F4mI^! z@D{aLdR&OmC*@h?33vHaGXxU~d`N1anHan1`6l4%MZu!S<|2T-*Lu{@b~lftl7Iq( z0K7@wv!D}YI1BGb^8O-@`(yhI0(9d-396K{9upw z6wwG{=n5l{NMK=hn06*w46wJy0x~K;R0to4uo5|8 ztAnsFtbDm(?$%cDuy56O=Asb#6FyB1%W}TsZ(E;kL%0IE^8pkM#e$wBLFaAmr5_ad z*&D8nH^Y1UAQK!<6*tYt&%i!IXB#i|%RoJsB8HJ=SRhJSAn2(ig^+~TDP*p}CT-pk zfY;(bMulKuB7_*&<-eI7DG~5D&c6oZJWloadMmk@U z_}>NB zfD7&h4qpqsrOS zO?25&U;K8G&ylq|jJ+?VL}BQsqQE+knQP?Eb3m()Opt7uQP>80?&aOZD@3N2FQmLWJgA(AnT`cU1Az@ZPBJK%O2JfqM6RC2? zk~j(*IL?`W_xtzBKlZl1Clizan!$H>@$PT$eqS#MhyHeVIOp$YQ%aM!9J$P0k1x=U zCr@RD3WjkOadwh|I4P<8s0c+AocsQ8ZsTyHGi4Y;NJVmt+%s5y^%_{y0@Yd5h7FsL z;I~X4DZ44cj7!G4Z&|8{K|Rgy?aX!#P4mq9PzqAvx{hzU*iiexgktu%DfXDn#QVgk z_5y}(lLYkG*~=nKFqv#2&y-XF937soHT(7aS|ImG62 zx3265E3CO%lz@brvzJfvnWX6&TN#BM4o}{jwIyl4{h+9k`Awd+Q+_zCw6@4XIWne9 zuR*|oaa1K`G0cmBhrG)(II6QP9*-gk=jL90O~W&&R!agTE7B5C{Yi9{`O#yP9#zo^ z*x`AkhWa;!RUk(^YA&qF%kL3YX0Vn=U!miK^}N=pQ!-7V2JTTZ+qO#DQeURz@6f%4 zg2tz&4-2kI<6a}HLNYZ?UqK9=U|{PLkRU8}1E5#uQo=*SLy;K19Xx~rAOOGofm;?e zxh{=6F-V0r_jgmfAPQ$IAC;u@s#M0s38Dd5?b@PVlaX(A$k8qJp8gs0o+ws6FC%M? zWof_mw?Cxh3no=lp7LxRL4O%03>l$jpD+|w{cxroT4T5?IYsc3jfF?SwC(0_tT1zG zi$pHm zm-*Aj1muv}TS$$@go2t#I(NpE8zfp*C>jXf27)Rq9GP!W_0yQY_s3~xu8wmg> zap)ro!GG1YYRU3LIA3ig)&DdT*D@Z9nLEbaBp4GnJLP07mr7#6eZAy2jm|`Lg?oHAx z?Z}|s)3ouu!udRXuz(;2nF^S}k%GVVy{PZlIuc`(u{P)#7y+OFk(m1g{0j^Jq9K^+ zgF$~lg&On;LR9n`@w_!OFr+fVzA5UksCf_K|Y7HsLs~P3|XtE2A^F_ zTTFANDMilS)Ea5cZn)zZ%E8$ zvC_jqYVIA{!0T}ZpK&#vfY=7-C>95$K*?wV1epKwe`)b*6c`M4Z#E>?Tn#9kx&PuO$2n1^_@5zZTIhun!ehGJbaX=;**Yt-~ud^BcKN$O$$g!PY5^Wl#FW!QP_z zyD{WTqW*<}JB-0I;|ahZBi=IET3mY7Q(I-a9HHX7oa#;tI3})oj1!jvc4{)x_r-ff z4Nm>eqY4@Wh(PtoRd4cmj7 zK8v4CW&Iwoy;K&+lifd1(I&gK7ZcWLBYh;1rP&Cmx*TecY)ZR2mvY|&1VkxbOQ)uK z3{UO`hnTL&4EJ%-HB{$JMU+XVDXj)dzI_DTN@kRPRWG%CqZe6y=o()EY4KKwTj0H>+BS587H5H;XJ4k@e$db7N&v=+pofXv2GK8tz*?LAWUyS+RU(*9!ErRV793#w^KpRP&uoruMW9wjr_ ziN&C6rstb~C>b8C)D}E|N+h^{xG~lgzn;Ta8;gd1IbN@-3Lcm1C{2RYaO-SA_0tmB z^#EpFD9P-{dV)w@?tK~}rnZnbw4dOayB%Icihi`L8bXUhJEE1)eqavd2zu2r zJDy(*b6q1(#wlU56h}Gh~PaBJafbShlq>hhzjlxE56RBIrYSJnTL*@^Y6u&L&v&7cX z{f%G7tydS(S=%Zx{zukkg%^^oBVNygl5x!js~?;OwAg8a$C7$?BwvtMJP$%w@HTv2 z9$W03@9p z`L|FwMr@0+ihu#~UiZ*$qQ=PMtz|nh{4G~+KTaCWBm)q}0;IkF0|Tx?Ahd7rYSWVy zqb>aj zF?v%NA=$4rbuKU8g&$#|f|!i2l5X|30p4T)DTS|+LZ;)AZ7gTiw-J)9KRAR*UqoZl z`(#`XNv-$QE(DWpo1kRntmki~`8 ztXoJ>*-#}0NC1yOxjW+1mqk~X5BpxzZ-oMnSDy~Yuq&NjglA=)G}7en~zGIvY-gv?rRmuj4*qtuSO;HgB36`F^ zdz|I$;mPE9O0={D{v(ncfD2*&e))r{fiU>L80ZROAePX2xA(Vr_eU{jfePNbSCwoO z*6<#Q@7K)*uY$y6MMd# z)-END6gjO&MD&r0qwDB(D-~8A+A&FLT8sn69+y0-MO$!}YC-GVU({3}!XED_>zBpQ z3Ls5VoTYf^>+pC1q+UJ`xnm=MXN(0r^Bn@i zhH@Rur_x{hwXt+{EevBTt)dx**|TLvkFvY(`CO3m?E9GVH-nhnbe~0yM~7d3@a)dt?EPIqF!#gy zmqhGDzbvNcD00``H?v%ltMQW0bL(ZS)1#3Q%ieGlFwJiCO^Dn^#ta~%xMdGvlVGVA zcFNWIA*wQ?8};1@KYUBAkQ6}C3cQ5A;f-D9CUXybj%MsA<$rVKTQS!0tQ<~KLDIGiN|98e)u-9v;oz{{g3Cv zBYs`15P=fPTXnIqY{iu+pf{VEd3~L+@Qr=Ur%Cbf5PbVcLB|liPT5V5qap_j@{6}E z1T-lH+v!c1N0-6*S%yhODYmC4wR8a<@ftd`zIj4p`eiU~Ki~KqP5l<{3z0L;8zY9e zI;}Bvdmo)wl5Re?IRKG$hH4LmB@&dFp9lGGWckZZ>muZvz$@!REjwkUPmg@vwK;cz zEm%L4MjSULB&NOLk%l;%cyTiYUYx_rS-3hp4%Pgy+lRC31^`agQ^qm2cxGFZb$mAQU6 zh{I0Vt?TxiA6fjU{LvsoPD z4-*C245D!m&_jZH4uS<3|NZuVSN-?WyJf`_QqbUntNJVA_)B%ap%uZYk5HRA>ou3a z466=dw>w5d&#sPUKU|)P%nqA&j~|T|$u{qwTQ%)2lgo!_GeX^l?@U8FE;i-g$>;pK zo|hS(ss_mzDYtqs08FEQMKuZB3OvXhF6)wj)R%s6&>FJsur#$wi#XNxE&cAvIT1AQ z6^$CVh!FBJP_~+M=Bs-8%s8CRk_?mzI3n&!_?CWr?9<~DmyIO4nYbHaZhX~Y z`$>>R4acxxWYQ0Ie}|@wn6qdpH>C&yANuYMycD^6Xy?r;GYsT?Yd{oaGvO$qfnnFN zQxIZnUeVLsv1AZ`> z2YJ0oGu;=Y{TSIUykQpg_D1ihZC9V-L&>*xM914#CufYfRlaXLlJo1)lfFmd5DUhY z%EwiM5%jiC@p?+m)*<;eecL1ppTs9bZ;h~%kCZ^8!8U&zzy^H_st$jZ0r!oU&HG6F z{R}c^MWdmHA%xknot)U#lJ*Q>HotDaV0U5b@L0}Vfl~tbD#*eJ0vZ+yo^uGx90VT) zVE=RU{{jHM@y^MzTUsoVkg8?$@IKh)8LN&ojIf3SP#~Q9rBLY3`R6a{o+Ir6OG!Cr z2R>#AE6dE3rs~3K!TmQC0_F#&_WaF00}v4o*xZ+A)2)1eo-<3x5}{;0I8hWvM|fl7 zo8F5;D>}<1&^D|9hw+)CII<&u)2Zr5Ca&4rpBvFhz6ufOd6vTl4s69x*pSsyGTeO!)M`wRs zGyZ^`Da1!tu(K<~Q35llE!N2xqX67j?t!gc{mSt2IE2G#yJ;&gXDNL?_%eope+t1~ z4Y;NUZFR<5$Z7mK7?5{QJ>AN+Fin#fmdSfy?{^Wyk-pUQdCW-m%L$QmjgCrK?k4s0 zu9eETkgU;jQL{3WW!hn5-#-BZi2QZ&m+%cq=7G;A@AaU+$++*!LT@&NL55Cv?v2~i zg4HC!uJ`GEc8@|M{-6^mlT3dy4mwhGf z!9Df-;eLh zb3Fl2I4F2E+Wj*?LL5}OoS7{~z=0N^v5Ju1P&3W0$^1jXS|R->Y>* z6FJ_M{xFkEvMqR?*%k!6{aU&5ep^SUMop?ob{0*gdnvOsJ}}HqI7)a5fpj};zgj3s zy&bBZDUsph)1YHAMTuI7ky^ezPI{zDFO|lfy2otRdNb;pA$KMt*=g&<@Z+OL`Y$zwU-`pT*W`S}SE~N0*M{}C z^kx;M{2-;VCD2Op(lQW)KziqbHURVpfccvSpSAUNA!F!2iVC!zfUK}GK-JRIeE+3{ z=Bv0c)ygZu%lHl@N*ODC0GGxVs0*b74-vdaDg4eZvk`q)^ zo+5yfn*;nvNzniq7z-~fLDG{jjsco@by4BTb^{;-8Gy=8BMnXE1OrN_DjLiIZa*XG z{jt4(>}|RT{l4nm%-MH&@@jFWAb8s}L`w2$RNz0mT@509qU?#|N4LdVf4Y==613mH~<;?0Vs@*GlQw(wwlk4eCXHaT4$R-I21Ss8paal5I9zQ_jgV$f=nUw6XH`e z(J@vDfVltr2x{(ErdA$=hW3SA@q6yVO@)D>ZcChX{A;l0uc>QDOF+vMN2@^E5+m(dB=dVNb@kslnV{fIh~Z=_p@)7Z?&NZF3;-I( z{5KRH%yL{yK|}slg=Xv&p}?O>?kN5!JNl@yN?uj80Dx`Ls<#oWZj=8IeA?`KX|-8X zjT-Jazs#^J^-iW`XP=aPwtPVtZW&^TDWXlE9N2ngmqFD=viAP22w;h`AN_)kLquYp znGI&%UD0k;x2w^CZI3aVmqzROca~NjwWUAIL8!+n|B`vp#7JE3cWSYGHN?*!5n6Ul z^ha{PXOJd28(UQ#|pPpD8%3LiZLAw1Oi!u|uyF^c( z**I{2LTmS=IX0Uy1yu&cD**xksryK+2x<;eD*!N{{^maa>VE$Myu&`*H7ez54Ey!V z`S_)3>%0FLYQ`CW@+Lv3O|?YKWb2Sp;&`sx%cm@0#QgcJQlS~lN(g_;_8Zbd3Pn82I~w-puY{g^|v7S`V@Y)zCk;F;q1UAd6ENr zUa0RC0Ov?ag#F< zYPkPmX(`<`;=4?TL5--oV1;~+5_B;R69x@F^K?(kGn8}=dfi%;fvtkYO?3SXTMhw5M$m3 zf{Yd_%InI@)pLZA_*5VwRvkZ9Oi0f({#rA_iRKreMr8Bj;|Ery5;GQpIjJ4EQKc0= z8a~Q*mnl0IJ0JnYT?63&NRNV$f$O51gW*O1^sWD3zyKKLPg6s##BwMAOouTioh#h{ zmti&N(rtqR4^S1gqSnBdwBWo$s<9acmE7YR_DpxSw4f zbmuK>SwzGVg-=DdD8oHO0^}tDLy2$v{cTnuj{rI38AAX}`*=r))UdR%xTh_VJ7m|M z#d&#rOi2mutixJGeE5QR!tmX?I!{)YA}fI1 zDPQZqO`(*q(IlO%$lOR9{*XAWRn9$p?gmB3tplVOha7&^!x!yCo+j67-P=NVk0J(& zrl!U%Y6Su;c*K7zKUpLYZcyPiJbRxD4p7X3#7~?Z^~-Wl*+>aanjK+70a|I4tPCM1 zryloD!VL!+cKxBoZf*z6^YKfriyIrz2d_18UBmh~O`D8nfN-P8tG|l$a=4L75^f>8DK@=$q3-MPy&DzwF5*T zMI1rw`>S{nXaB2!fBeBei&_i7y%oP@XlSorqCi_jPeBjh9_}}M4{(1s7TZ0u(|x+( z`0b-z@bctvO*UgmZaky$RfW8Hae9uUaTpi&p(TPk=@gum)Ho{d>E|_@S9T=YgOrMQ z=}O&N>(gI!^2QJQcZI(E8MG)DU_3)YBrs^J9$O`)Cn=08_F9vKCA%uL8kKu|Q;V%D zwYjJ2dp~{L`T?Rve%DVL zD#rntANPVSKlI~Xg#cz!keqBP?V~48c54*H-e4hSg%#9yeTQg%fzkssAoqV}nL-KZYV3kNO<6Cu~=RZ9@esBH(llmdJ+DP!zS0CT9DgAdxpRd-ZxeqtL zY;k9#@YkEx2Msfuhf&T7pK1JZWQh?E+`Nt3H^e+GEfpYoS@i9y{$Veg%j=avCWkmO z9cu~eQVe7ClZs``9*DMht2|Y&ui-Bs?2*%APt0ArfvT$hqi9avqYU`bD^PMNwGe4K z7W&AMkog`Zh_+g>#uO1tk@*eO9OR`+UyMQlK^#P&P!>R8cP}vD`;HV0ePHP`o(l_v z^o3l$u1_Hn!gM57Y8ZYic^MZ6nlArUM*KTq+Z7jqYWf0v63n zi+k5YT_S+;xcitpk1_EEk9lvQ21^^kR0Yj0@J#C7*r=JjrKoptMd$^~Z-qRei-fPc zgM~KNcl-c45+tzG!A6%2>@eb^#zEEtEc;}ihtz~zYfXoeQT+QWtt1ZwoZ1&}iCRe|hJgMscz*KuW%6K5Q?IXiYV$}CYu&)p5+q?{I7CHh-2N9*CAQ~VP5s;2XL`s764k}pa zU8)p8REh$E6{U#i-QfG4_niCX|J>)?Pxra=Om^0+Su<Xoo{gDu`1+!#O zW#zF>=zUEPx<3<%;7(d>eZxMkX@?Gb{8*@Y>9$6eKOm z;#gwd;7*980(zwfaMFNQ2|o#=#3)2UV%@oc zQ~<~?lt?U;I0WObI|TFs08G;Y-V=c6OGEV4BA6Lj?dkT>W(4K*6Dj&BOZw?3`*hKR z`tDkp)Ii-ql|LA+4*=#CEV==3hJ$hL0Kk}!OQhN*QoR$G6H*vSaTPQG5ddgGHCSy+ zRlQ7|VJqvYCcoK#tEaL(_zs4H7{bPUJWJ^lWTAZY2YvvTLF7o3?IivUGLhGit&piw z>2>a6zC9b+uvSShSHJO6`t8JrO3S%HLw)aZ<%U42FxQ@i49YF%cIMk3`a_A=UK$}| z_IUwAt7mdKxXn(4M$NR2TL@w8Uv*hu^ z?As$~Rnq%cW-K&pQ5;Gw);QO~Br zBG(DimaOa~So$5GwDbL_v`mg^uyOFMY$O<>shNaB2lydD?D6z`?x`00GrK0B@8t#_ z!j$}h6S?mi05JQC808TBr+z^UbBJ1Sf>nB4{`k11u62mVRCb8{{m4_(u})i&b70*L zak0zxu>X(x$8_+0M}nLEk0I!8-k?FH6;vkdZ!?Ji|CL; z=>|#-jA8%SILf640%{xlCuscT003a=tAP)UB1||%CkWEkmeLah-3d$U|EZXaV@RDXE30J`(QCZlFGodm%1z5d+ypiU(0Q={j0}0>kI<}>(yYTCAOirYSk@6$_8L|8zuG7hsFWEL zI}H7+{oj0Pj$t)7RKfb!B%q?tIvimAt1UGQRUL(@T7c2xzb>t#|EUYKXkVA=-?~7H zKt=y|bp6+h{r?mEzm5P5JnG(npEJU6{yGsLfeVnuv0+)s^uthGHr;T{vKAbY;?cJ8 z<`PWzA1tuLF=cq``7+?y#+fp6>k^rNy0VwGtP9HgorrHQ$y(pUSaJW;Wd<*3Hg|e} zX;sjDfN|t5WB#Y>-zhLM^ZJ7axNHH--)r*6C3-*r;v%>t07zN1;{gD>Y|%sjIAc$i z00aGhSN>BWCy+n`$Vz|;!3^V!eKsBTSsjo~KcY%phJX9TmWL@Drf;b4ZxD(YM&<#=0u6brDfnOs%CKAQLOcZwGSDb3rv=L%F5nlWlgC1i82j9NRB1dmxnMWKVyyxU9KKYCvAo+G#4p!@dau4ylqHsAKhan#uy( ze!za~+$@MX8v@Lklkzi?FxP8FNzCk;1;UavLI=_RES1Q(*kvC=w@LOf)Og zunb8d5YXHtD*{HeD4lQ?Z4D!!(OHM^7;2Uk08B?g!B4EYcdsFUWCw`Ili;E4#v)$~ zcNpL~S_g0wARyds_Mpc=#IsR8Ywx{w>n6$_8*4-qW-sz|HCF7AY+XKR@A3!l-mtP?aqK6g%CmKwDMAK z2Abm0-1sCVF<~l?B#9Tq*iepVSc#z^bJ9U7FNh6~uI#e2dY_w_>5y1i0+&alsgtg- zcChJ7ZA6kVrJdOhzFLeVs&mnMN z;>)Wg&S%ZzQp9xl$e)Pe4gi^T1Vf2RYfTX$o22wx^S_b z)pP`n2||K&8QgP@00+nDpo_crIsf2`mx-i=q*O5Yf%hO@;4*kC71h+y!3Od2 z@e3dXj|d@!MUJAt5dG(xjU)oJw12Xt{pd_f`{y35X|z8c413@`dY{jBg>;=q>6q;6 z-jRjZBU5AT{oP%Y!}Eg!0|Ppi*+KtsZ-|Th`adqGI zCEsZ(g~4NT%@g-rc!y|M+*y}jY(16ny#YHv{WEUML^X!>JT%$ko}d2*8Mc0tO`xPo(SRq{STqG=X1hl}8iXcs~i_Q1N3wm z`39L;NB3e}c;l$8K=xF8x4kvm(Jj5ediL%|$`!qi&6WAC^)8J^YHCNF=RRcfsUZYS zls5-msPS(DRnNugpSqkJbZ_kBRL5sU9n&BQBLOc7PSW>)&~WzjroI>5q>?t`NCT4> zqk^dYjHfrje%$=)J0{j;W92$eof8_t{OD<%( zl83R4$+)wygHb)!CI5lkM{()oM^6%0?Z{aTl>)b#8no6zOF!5Pv}k`Ze<^4ylr8nn(}dOjAK0C%XKL`BBe|?X!Dar62pAC`4| zAa3tnZSLOVo}Y`cx*V^Q#pTU@GYSsoiu1w7cu|$e_j7cgd;K$=)2t=g`Dk81jtG2b z)rE@mDc1;mt!PMg2O!MT$%8B2ZE!psk+ZA8EIXoNwtLJW)bSzb7H1~5kI!V&Ilp3e z-Qd{z`_ng{I5)q0w|tj6kSD^^;om%Ddi+MWf;7i&8trbnD4x~8jic1iXeJ@Mu>5F= zgDqA#zL-0@GfbV+LOA?vV>HSlRn#fOfrhF?KP86IvzRvx`#`=_IDWWSHdQ<1s#=4J z{Iuwn(|fb=3-=AhuNGEDI-88S`ze2+oIKjv#tc0zv$`BR|1|IR7r&@;&=DDI^xCLC z@9u_g4E)=A0kO#+aQ;DJi%GZ(VSc_)`Ry7PBilapOumnH6mMlF z9TQ`#j$Cj&U+q`5HWK*U_Y+KSU_HNBefDeJP-orZ&78i9OJ;83btwDZ3H3s)`-YQ+ zDQ60@;C+QO*m%y$lSPkTkC1GF5Ps>aF4f+3Q>R>o{lX2g4ngy$^&NT(v`R%|F+rA8 z=hLsFHQM)5OcImtda0$+1lDTYZ|F2ShiZtus={alFZEn`Cn)8dvslv`Kpu>@ zu??&3Hw-^*fn_bRNgcY5IK691^>KJEY+f@)|bbEd23Mubt-xJe}~i@}yjeZ>wdD#;weOsGe_8Xc7#Ot=)lS zQIB@nR_&r(kxamspLjj9d_O31m#l$>KXi5+AB}SE&eI-!Ty(xlhy37e z@Lp;aHZi14?YZ4db6Qa?xviOn53~qA0r%$jmS4)hW9Af`T3WDzGzyWzk)zXtgc;_? zh1fb;$E5CB_^`@$mNok^(79?xh`sUHqoo1_-{?kR&Tx-+a9ys{ZG~d% zEO)<(aFn2t3UFR!LGE2(*2X-crR6ZI4p}T7?q%+@>bKGG6F9l>U4!opfYD%nF%@6VG9s}XvK&)bT>He+7xLZ5f8_bgCPlQ4m)eTC zrVF|Hygu-1CsWtfRd>WX_2>n4kF?{5nF-}@ujNi_5uF@h2-6{#4j1%qMtXVa_szbY za<$_&(+Ww|%^vn_;$)kw+cx1EpT-%I7uwzqPpa0O-NJplh#N7o$x-sQFLCcolt}L` zr9(O;JK0+vVS%R`iLfoOg`DQ7Ot7}53uUD@K@u%%<v>6l$O&VRuYWUSpB`VaX+#EuZU1y_;ioQl>g9h$=lD^VyI&fcz!eJP3- zqP{~hV1Ro=ev5oIQMVrxruF9KzBVjxoy3J$fH^U+2*t%mJq_O|vu3DNANV#u{dC8s zXERCg$6lnkiJAes*JiBb&Iz`si66c$yz<@1DA04P*0^M~^;Af2E&^^R`T0-{z;6+Y1zM0mY`u>DIiSNRssQri3upzliA?FDVCf6shXl77RW{;}^OHe|?7xoaZ+ zoBia6z57EaeD#L6+Pi;d`bL}z|Kv!&+2oWYvP$cp%f^JU!pF7ZgZ6uTsne+Wk#~9oFjCXGL%SGLzSn?6SBnHEU0o4|Mm1)4l;d^FeudF*=pP zm7?azhwXmx#*eJwFQoM~Sd5)-yW_Ha7nF&SSipHF^D*q?<-zOFnZbLxm}lF1Z5%w6 z9%T|@-a4Z~Z1GV^Elh3?Q?l=vR0lUb9)&+ks+|~+@)GKa+fCZcyPtmfdutF!5p$E< zc$#rFp|8%QWa3;{d5d*~o=<~_l!%FqaNZNoqJVQn^{)3KYRc79Cb5n-ft^I_Ut>dYw9MNfhw|TaT@dFNzEv!&M(x2o;uT@@ua?i2aJxSx@ zjJ|ccHs=K+=88xhn?VCVK3u>^`HH39a?7HOuEf0JY<|&PT9${Ir1sIeD?jkM^%D_E zblO8W&SB=Pn6$;FPtew7x%?`jGr`k7pGpVv9~o{AwlQkq@amAf9qjJKTU_uG7da30 z#ZehXP1fYTFHkauHjdk@?JDp2mh#(okLW&g4RYeUA=}(4v&CnyP^{1$R-IG+w(IMF z_?EG0IbS{7!q{1*f}Ak9T1T1caxb4wV6Wai!0r1N=y90M5T2n z{lKVSwy5Tp&tv#LXLypO;%z9EZ6whK_S9$o*P0$vjHeP4uXGCM8e0wn;`zG<-BK*>Yh`}sCS1z&%2$~~`q zXUtEm{41AO(~Jv$hTC^<V$sB(=k@?z>(#3G6I9@1M6(EYosp{d&YktCyK{{Kj;%Z+EidoloAJp|1|x zR=g+{gXZxi?>@Ov%L2>3G3c$5v&YX2Udo2t{}q_-kthVq9qwAnX8yK98PuCG6vbsBqhT$?F?{$|GI z>{^3zBP*33u60)9{S*_|Ce8U8Xum8DfGDcNFiaywNugmUKGyqI8)o+SZqluotm)_U zzsaGy(KYqvc8o12_KZmPH%@ZeiyimoJMs@(C+==#24qA=J=oy?uuS{;1ri&@;-z^D zUIWQPe_#HPSIxvfA7kR9R`vRv=|}<$w1pcLbuC(MuLCqC*S|kxP^CiI;O(X$|G-{_ zrO>O6qQOYFvFY>e5<}~I8_9(cBH6cu%R9nvnUc$LN}8E{sIy#$OzO>yGrVDXF-XF- zB5g^`LN762JC6cK;Fxmn*(5?6dZJR8xTB26%Pfy-cgMgT3_8QJbZj`{WCTU7JoeRP z2+8UG(%y9F?Sl%qqQ~M3N+tY>*hkSb`mIfuR$4ELk)eniynw%XJS~h7C}{(Jp`E5a zXmsh2%#B9SbIXe-w%v)0+A$t3OG^n{2-lw-vMe2%A0{JCC~*|M-7f36-o4!w9N4s8 ztC+szkP{fxE$bWM?H=LqYEC-gc#$1Pqkm$6#|txqvUu+VWU3i$S5%{Sp|qK(G(MrR zHB?1%PoBrkXt;s()XBy|CX=89WvasnZ#(Q-k!aD~U(>$>G^8b5!mew5ai$s5wv99# zs|>y{tYdkMMq^SkLg`Yr&&`Wa`iwE!E1Y6ZFoZISzDS$oD>I(qwh-n90lMM9pS)vA}nBoFI|6xX8Fs%AgMSrcz!{k@^d zhtKIqY-zA`$TAYs-8VkHio*OO0R_b9slm?vCHaPAxjFJl`JG1-FPQmFIPnK8LS~mRV zcyT%KqNf@PKct1RO{bi7`DMRpQ~g9)?eHDjp4^bIIjq@TDPE37GRF58SFa0jO-6LsF^mO2G|tmFjeFVFt@3R|+bD8l#M|uMWt1nj zQaioMudL4CL*jJjwA&ukTjV6gem%6#ONGTd!iIVEHi0hQd?a-H!j^!Q5}{yB518ci zV+hy5jO^@~3SBI;x~JkWInCOB!BIowYw7xRiJy=BHp3?UzHsJ5DLT`9Rstq9+QShy z%d#}HCjrGCQ9pMavz?n5z}~v=m}94|@g10?cEr}e&4{SakX`zwld?L`-XRNQn2y%U z9CiJQox8W|e(Oh}-0Ji_squ=%qPO;L$_-bZyL!|%&lxLIe3Hqg8w(@JM^2t7Erjz$ zxpQZYob-xVEw%6|NNco6rc|bCS<9WQl{s9x#pdpuK6adtz;??ev1_Y|N1?gv%czci z*ZHTflU89)_2!Dm;?)&RGjFx&;wT=-$hS;-=9=G-Q3dgHv&I6<+`U|4P{mY;I$BL; zYfA!3E0XI%XnuKN>zN@jAxax5VITVjx9*KY#JTX&Luxuh9zXZ+U}Y^(Y*tsGXXqxo zxn0e!2>9}0U{P2><-zj&D;b4~aSsZ=${lA3d3OM|IqK@{U@v!BW@jYb|qkx;jpB z(q6J9_*~)*xgYqP*+J*!1Db8(#xgAu`lz7l85hkqpbF4k*?D_QILnDseom#Ub zv_nKsyoWClEnn(Vz9%{%M`w2 zQCD`6j-QTNu-I9B=>t@FdlAGKda)Q@0PzGJ`Q+{x!zzoz^)xowLR3g{NS@GW@bvg_ zxyB)BxrhI{!p0GCHwC_#uA6r*iRymSzx|F0Qdr%1&Bm5sqjk*`3nv+N6xvDTw~BK- zH@%hY^fRV#hK|%8(`lhY*Bt)%=c%bO_sjL)?gv-rNLwwQKa*+)(479QF!BI1_1l&X zs}&Zh>G#=!NcwI42EY}$w`xIYfmi6gok#sO&uTD%l!~}&lhv&?k)thlbgs))3&fos zfb-s7ter+OBUw5?W1u&46^<%&r}Wijr}^NXRBc?ym=C^}?2*h7@0Ah|)u&3v_La^K zOgxxLzE%=ymlLN&P2Q6zr`GJuo(Qzx?Mraa6Bt7W$eIh6dKan{0+k~oiC^VJsQV^X27a17Kx!1?u}<;6C!B= zX{WcI=VA)nb}Q~a^!$!o``k8hYdpU4>UpR7j^Ss^o_zIMfe*fHe9DW8Jk37a5jy2U zKC)?JvK5a?S9}#ZOo)ooR&K2ugQgX03c9k=dM5;{HI#Pgq?+C(56wrbnO(A!I_F}Z z5c5&%n@7;qS6rVJS$AGO8`GkYi)YwNy|wxMc9|%yrw%PugmvZy zBo`~Od)Tx&Lh%c#XU+iY?_vN(BvI=#_`exXB=+u}ZVAq88>i)@{$BP{{N;DSoJOS@?UdW53ks}UxoJV}&WV{XFUck^aVwItI^!0RBEcJWd0XEyh_4&TpH zg&8Ylh}6&n4m zM78(7!fmUrlo>3dBY$!aq6^g>eF{ae<%)LFf%>-%=T=H{zi-VINMYmc5GC)Md1kNDT=oBMoaY*TWYL#$+0Ovh-2n+E%Q1W ziPScz>=E?d)uAiRQkf8jgv?(WUK&n3{X}SLy&S$v=vNz(1rUm6_MubD=fMD(xw)P| zAj(|tknX+8+0*XJ?c%yEg$3^RsA$T}_S+KM6ZBJI(hM}%uYnp%=gws`cp7I}bxE+{ zLbf3|dbTf+oF6(@0)LJ$mVftC9JVg;ikA|8zs-AjR3Ov=LU_|lBtm30;eQq+b_)kl zd~nkA_ucx_8OE6q0mn8SywjuDF`z0!vx8Rqf3bp_s&)YK(B{8ZjEyL}qbsElfpu zS~qM#`fM{yL-`+zX|`V_T1Z3DGBlJJ`;#=HBoT=;qZtR1G!!HeXx-2S_enKl6c{Ah zvRo^hQ&P;nmb)b=9MG66Ny;&XB`6>iYpO`f@uVzjFp{}yXxK;`LLMpELJ^7${xdWHpDh0PW-WykOxzhAvVv1f=b3#NkeK-IGL`5cHz%rveR&6_{rxQ0Ndfvy*FpY+EY~O(3l1v?U6w0$ zhy~++S~>mu61Ej@V}k;vAoeFka)BB1vmdo-zABk|P2Dl%cp9a+G2Jy?mhzCo~;qEX@i=W-2c# zh~gY&X&mPqd%K*}HBJhiviDlW%K8c*Ipo*6n}mkgKq4l9W88HYttGE2-jX zFC+sE7eO0$_9g@#8~5&8_wKt(VJ7-1p#P`-M|6lJL70+={}H5^&}^LJATLo(@_)pn zfIRTKI_ZEjjjRjJNCJy|BDZ3r@Wh<3@{N=_uJW9gw62@@b$>Fc$0x6i_P^fD8&sY-$)X8%{cE{{Jf5 zKL?Kk0H)(fN8(8#4lWOAK>gD$WGz4goKT12AWjeQ`2WhNdIM1?a0c%GHUI#?PSdBs zBJ0X6pQNSOtfkznrHH4ks{Q|0c$DY3l_83yg{(Tjchhe__9!T6Y4E@j`Mq3s7A)C3i7H$RSF@0!Tq5AEX$rU`SrpsQTs_qaj;em}JVr>XD@Jt$YyTEzqQp4@)QnJ}f{T00`xfV=TfojTR`) z`Vh@{kmefBu}|t6BXE%CronWO<))(0PYCIjX1Qtz(kHvBDA4Ca`~!dh`Jm)a$KgSV zX90pF5`Qta36frj`V>e}`jTEI0v?WH^5%ALRdqPy9Zu=cIeoV&=J z8)(7Z-q0NgyjRjpQC><0&AHpJC4+#Tpp|=`IXB>(HfY5SxZ(lQZ3XJz`OmqBZ6$*~ z>4NkLJ%IONhD*tNZomy)kS?DNWY%ygY7D(z5|dyWyam#B-wsj52P;;u&tM}ai0u=u+p<%A=J^w z5C8Nhd+*MF*UKG9sSg;AA4=adh1qOIM%@qEIm%7W40%w94BD) z7I(i-UdVmdZtg&D3*gY5yW6fTf50fjv`}xR#TgaPr(}i>;)epn(nJ=R>lZNSr!Yj7 z9Cj2~b<`ADmy}!QSQ}(mW|UZ0G%#k=uvlkU8{}AIWR#|tSY_1MW|UM#l`xK#*o-z< zXEdC4G}w36*sT><|LfXil(2L*RIb&W9(NS!my~`yu%NbD<0STieZ z-Z(d~taZGHpnBt+agbgDfnk?X!EBgQn(@YYKe7bEoF%iQVl?F-y#m7dI5NlfA7`7@ z3hRtF&a9awOk*|nPvDc$28W6YI|%2KH;{H?;EU0U^M3;VgVDgc)^IV_Q1$drz&98b zY-0`fB#m}Y9ab6tMa8t%!1~kyL3J@&<5*cyb@J9df2?sj>0s|_uzRYgdhB3c>u@~b zT)Xp^g1De2kNp~Coj_dh4g?vR;kGx_);8o-UT6V9To4jcO}Ld;AggFmd7;T(KgHgp z1+)zzZUq_Mxi2NVe_Hb2T>@?FcQl-hHB>)UR6e$xKlM7D)ci&U00^BRDG_@LPko; zD{4+oGX67iatzVWzmbj(wv2-Eii(qth8l=bDr%TJ8%|Fkjf#`e8kVQtijEp)h)Pd- z>mav7Ot9ACxDJW#;ESi;`0A4mw&z|BR9Ps%Pb74JI2>v0)PSr5X25o z8Gn958?k23l9(^F2e{RK^F|gHG|lVGE|Q8tt*L$_tqr~#bg>Jed|)1 z|C_~>9L@?s7lcSREde3Mlw>G&{UV^apv46M^!_QV?--F@ z+U)Z`6$AkQ6cMy#Nn9pzX47UL;#}sHLNGN|+)C0CSCs~E&C#Xkv!%if)LK%{ZUfghcXao(x79V)*Ho02OKs@Oo{I6t&2r^>g(^Qk{^(3zwcSI1Y`N+& z{Y#KbH@xypLvmV&N?C@O?ZReeh(`S~Ky$@mzG8VxB5o z=CRQP_R`#;zZ)KrTaT{qNi5#`Qf&GC?T(NY>?}C`y#%fEVaiw@W7ciIL;3y4t}xZL z4LS@MKc3POq12DSyfbqna5X1?5xJaagfGMCkw;d;<2|W*`2}swd$di zdSJ{>3_#RyK?Se_kM!r<_?JR9m6@(ily^J}QY?OpJ=%4k;`kC+$aO&YDzk0S2*Y8g zX#$RA3Fg@ddd+)ujYpYz;48w}g!v~^zL(|QCd20P3K0#?`*F{S(xUrkrj(M&@jtF? zyd|o4wQWK~ce7xA58a0|E9B%}I|}BIT|8tt!iR2Ko542bOs7^CbwdH+9P0tA(rs}I z9*6lb`NQ#Pzcm`!_3lRI5T$qx51I0JQ6-slnsbuV^cSe2Q8biDlmJG~;Hl)5Qt500 zjkJ+=xH=oq!l*_S%l3*uVBn+mR=n*AHQ0`70yQ@#0D5Zx18o)A{U{J8?&!-c~F zrF*j6w7oXEdnIz9!BdY{Xuln$b-#~*Pb$9&DXW2Rf^0Nhb{ke5Z%~NQYZ&&>E}fpT zmEd|WbY>})b)oLnQ0`o$GtA-QhuC8Qo}&rzZ`n(Uvx#-YzDgBU%-2lyPZg{(nOm@8 zY|kH}Uq|-acoHrHVznbekV#y!LM2-RHf@ce$PHitP}pjKfccvkZL4v}>moyK)u;xG zV(+d)*JGBz&{XThuc(q0%$U_P@Du)Ec{&MYV(lpfC$sT8^*{n=SZZdH48;=7 z@8_dwB_Y;p(%8pj&fX!T)VA^%H93|pF2vs|d7v(PD@z>&5;Wmy+MmNbznbv%nXR3g z!`-r%*wzlOG7%W`@xtD|%X8POS!?B++DxfUSWIjK{$6a>_ob?7z8sY$_V2a!oe&*S z1_U63jQaB4Gl<`>_1_+*5mX{z5?58>?t$d_xA_8}b1l#}l#6t$XFazHbobPP$NnT{ zjySz;PpiO&gi>0BjL4E29rrAq;u&OE$fHbjp)(b$M}u^@=~4Zc$qGC&pS_r$l`KW| ze{07yN1v4;gH;Wp59$Sw4m~vqg_n>9FUjrP<9>OS>lx1C`kK5H{#;KF^-KRV|6oZ$ zZO^0PS4<;_t{{EgT+^>QElU+900#gg!F>n#*#S1*nSx@mOzOU%q3AVh;7X^23ZU7x zs;$_xru%?sv#&{gF|U|nz1uvqCtd6@oLSA?y$?j7&iFZlwN7%YFyXRK5$Uah7!ss$wdRMb}n8IoV5FmR_$~Y z+B~5-*T01z^UDbOL`niSgWj*Pm=Ra_zevS`gJrXTE6*cmqj*|3J-9W$d`0D1nbnBg zcT<9ojS-h9LRXmt?~lEh(&?zSSar z^So~e*cOUJCTeRGY7`=$|`hN?+*Sw=gNJV@z+%pf~AD#w1y-DdyQ3M7TYG% zNzN2@3XE=vbN{XteB?Ej&t~-WG&#g)hoRkPb2Q<)$dkeBHSX2v3MQGG;j+)&(;t?V zD{2j*&0)Yu0}ZgafOA@(QbW%>fZdozRVdxI>{RP2+MQT|iS4fY?Xcr!YtN@rkxj$YR%F}FSR@8dE!7m@Q1u|*Ark)bpGM~*AX zlIG*O55FwX@$hz+HF?tm=tXsAzX&NOB#w^SpbXRmuC_hAFr%j}c(Ab~!Mhjxlg&>N z6-r9wB=RLaOHZi~#|MaVA&qjg98}oq@XP}Okir^RvG&M0DB!y9W`)tk#FbUn4(zMJxMT%Wgoz5auLQSZgrs67;R zy!PM$-fXX)LMxZDsRL9Emf_>mU5xQ!9PBhRc{?nB4_mDmD_$wQ^Ihpj1g8pqyys_G z(@@7_NDV}>>QBgh@}`&V^Y|38P}#WE(>1eSrSKD>vgLh?`g;DA-Cl1TpAlZ?OjfTbk!e<4sk)YxDRb69<5I{BvIENdBB-`Hn}bvzf3@QzaM#ZsNk>vEIH(qyzv9@K_rO z5KyrE!L=T5&m6N>m;InHHYz+Ys*n&i(R9w6d2MUC^2g3nNNnZ!WxvfgDNpQG6~vJB zRJa-^>ovfB7hRf2vJ=kMHjQgw=AYjhCvj{Ct4o{0#Y26*CrRF)Qa0Vh`B$qoioEDn z9^;5Ge#o;7w)c+F#)9JmLFjty&xvLEPdx+VDp^Ld z+VA)tNOcA?Rac4}z>bx;IyVg0ZcIhh$6btB$tP-l>!A+QH@H_LqgWC0wy8^QFW6P+a`|5_YJ5pk4CIzM*&G6~TQpLz(w=^4ztv~E|IOv(&uXfi%lt+FFc3+XK zI9V*fxnE%XKAw5JY0ct~i}C=H*0Xx}(WpBpZqaZIhT`3<-k#3>7|B#_=OMAf8-@o9 zu{E&VAu{%|_B==Ij(4q$l!1;&27wsyiM%s1TMLWVY@c*}EKbLJn$@m)W{>3G zrJ^)9wWXhG`J$2`S5Ja#*FV^s6$;jQXqN$|Av8yYOa{F*Sbz;L*GFBx3`!;~Q#*Y_)JT8tc(0+03H0aoG* zzjfPhOwGrF-16!xpLs7>GIcnxz&C4=ZRk*pO=uy`#7&?Bkks^ z?V8tt-(9A1M(hj|iT8o^U*UytYfK^4xp5ZZby%UHkDKjNs#sDa81ZwH@%owX$Is{; zgvTuG7qq=7uY|a*6l}PB^6sk=KNi@@(3Hi6OX9hloF2ON@+EFgm^QKv&iPr6R(qc= z85~C%?Tg4LIFNm>-INf)r(`1Mrv57a2c>{sz8M&h?A?GF&|Pb^0G9?9PzHhf;KqOd zm@Dv*^7tZfI;n?MXS2|dP(UTyV-e1mb(G{*ljO$tfGMAExB0aA2#nJ{@Bd?5mL3!Y zy`{@l;+!i;<*EWyJ+3t~SKor|5A!j?(O}$P**^cIRsQb9{Sz%Bnms4oaGk@c;uQ@B zQoUQ6&;_;(TvguJkjHeeOphUxomiSz=4kj4nR*tiI-~QDI5NTMRQpC;izeJf%1Jx= zc%LL;c&RJlaP$a6W2qip^SHTR|WRf@H% zFWP(NO&*}hEC(g~^7_Qr;ug!?$|2K4+z@oxqt!$_TJ!FG(yztEE24tQ5mxZ z1s%!0;YE|FBG01qaSyM*#bGdFKI=UZp0C1a8@JQaB_;>yJ;QDv&h7}Lj?kQb-mLS48N4{=mwjN)A#LvnCjIzXa~Q96HrZghN(2Bw%6i*k46R<) z<@Y@cI5b(PYgwW^{bSUxcsN*Q!pT2&s%vEK5AV3FU}`+ReZVcy50^Sw?X~2);6ur! zi4KU-;q%?1Z$qoLW7fQ|&uAdev0#(~-HFEmcoZcKYs>Y4Zx8)Mc$Vm54x#VxPOT(O zz5ekOdl8`nN%O$--iEg(YdL;P#(j(c8HwAJC>BPvah?ZF$Nk)NT%v4fq2A&tt|Xxj z`AwlO9YuQZ(RDvj>SnUrBMRwQzxx3jSdfSh@@+HnwurzY_X5SK;S@vUW~xnm)wUd~ zcsTcxcR54AT^qC5YOd1u6Uv<2vykUbcHif^v6;lB12k8Z28SHS02~X(oM^v~$IX(2 zI!O*-K!^YEdj*>c_#CfFmtQOL9!nXYzkReN-R~zYr;jd~zESGMrfZVFmg;cVIo17n z*oCtBT`UnhTC_+E4e;Od4DkP+XF!fL05Po#c|;X8HRWZMH60~YmDNR+CB;>FMTJ=f z&53Ux8eoRR|c(QzUZS^NR%hNfTYPl79 z$tV-ZSJavHo#eI_+feZNa9JFCw)_s3!NtMMQ)F zN35v+Bqi{kR&$Ktk+)macjJJLuRJHxV+Q=3A_DbZZu-UKt|5Q#=$l0yY{uRJmTPX2 zF6y=0^=-Q5&&@ynA__w=5HpOO^^?E~-4KI=f=&2z zPsPu>l`4Px?Bb(QkcA_(A1HS+9z<|5jbtJMR0xiYM0j|ZG#EKwXcI4;C>#>xCfLLL ztvqQIlc&-*Os})&z%rP!BdLEuUg6@_5U0t0YPN7$fh@!K(?U!1CxuHE z*%E+B1@$Tx`M7M!F7L4ef@|B|&*Sm!mZ_w=YxmpEHW~XzcG~-1e(v}ULu6y|SUn_R zK=}=e!A(KWqk`38H0sT%50OUndt5%QZew$Ggd5ELzmM${_}=?r4+It)t?oDf)hDhB zs5bp0eA@UeH=QvM1f$2nymE8$+ua@`GQi!VsoLE6bU8;lFZS2r9ZS$07R^4e1Nsf^ z(i0L|6qZLY#xQ2)kE4j3Y*9O84^Z(UEsC^<->mkjmw=$ks{?YSkI=F8%L2&X{bp%E z%o9(q5cQWn!*-(7YZI)TBY#Bp1?|gw_5LT(?j5%*`&;XIzZ#-~QzCM@Bfr$^Gwu<= zR*&W+pTU(u+YTZg237l*rjes>>~KZGEqf=pheh)%#v)>O_|pn=v=-s=O9C)#CQsfg z>5--=EzI~)0CF%AFm=dGK1j{^8BpIs#&L=sWTaDFRfPC;m4>F>8AIkyWb(fC()&K6 zQ>nZ1$T`2ELXccy$U@cmo3E5ZRNgk4gW=2P9J9Z-J{ik@zCQ!9N2%W1|2VAtm3$zq zfT-1KiLHBS8d>tV7~u7gb61#YO9#ACT2+qo;oM^Lj-wLedl@yTjo9^ksG54gMkkgAX{33L9)sZCZWJ`?e^E9l?P(Cv|@JJG4i6B z7+&tC_N5+tnkbE5lHF?G7|XsczvA9of~Yo2^h-FNY}xwXD)}3uEESH<8E<$_#GU=% zeQlaSrHuZf)@@&zG9l54Mz>Sr!Jb8J(c>Du=$T%Y8sE)FyJrb-2*Vpa`pXZrc~isF z749j86xhDW`J2{@ZkI>=aaP>G^o!cB-hcjV{rFqp=dAd;sajWyKP|7B5S|;$s}(9p z&{Mdgr1^YRcFYkLBiwTtaQx-g13leV@P+NVxk}3FdP9ti4ix*bqZ7gMFTp^@ijUzt z!vNjM_6xVLqcbIw7FA>{)I`u$L&!pEcPt2pB~TjOH&cb$>JNzpd|XfWh2({QPJXax zG#n(K2iBel<)Q@>mBW#LnYlX^U!p+NYqkL~>Zh3`T;_ELJn$&_tIUvRUJRMww3vPw zLS8B>wT>z!Z}9XeF=%=pG|F+SN0todZeF22+A`9CRujnUEOB;=ie?YoyiHVbIlai= z5Qd+tyIG1c%up&@8y5dS;lg(Og~oAZ)z z5X*+A3=>+>Q=S|(bm_5TP3#+NXLcrcQAoYgdbbe-9&K`;8dB|=^|?RI*QxYI;cG;fQQofdERRQOSHH`y5linm&ahC6-9jV zYH(0uG-L*jxeCF@F4I4SQ{AvnEW%I!S`CRVY+zrATk75_?}_1i@OT*$eQT@OP(NjBK%zgO(7nyqs*%=)Z|&5u}1H^Hsn%@Do08X6qaBMx$(dS9&C-0Y_K zx*flTb$dWhgj=x>g_6qX)VfvOi@jui!RTla?J`P%A15=LQP?DPV_Rl^T3`wk_az=x z>;18QjYdCOSGc(xk*O<}h|-6A_C3vbRFg(LK5Tu@=i`PCCGBr#T&)%@mJM48JzKL652XDn&HBhbolS62>v8aD*4nN6cM^0;Vr1j>WON-EuocgMJ*@$Q2KXz`Z7)`& z22U7IwvLf7iJIRztQ22eJ?^hB&sysgicM$VX$Jm;5$JyscvtyyV)SH02h3uY-cm7i zWWXMcN+cWJ%}N$)cg9{xHN_5CY6S|XVd9N#2Y=I>d_2Wm$UoGX3?%b6+2b0 zydsQe^5dd+wVL`JXd*~nm%J9mJ*WH_Hj#X^l;L`S5I#3TBHmH2Q5fc0hQM7gf2I0G z*Kl@TLQIt#0@eScXmJog#ysR{#j0uMo8H5I$-;6nZTUd334^)!sx!EqQRY!NqyDvV z;0c@o!Waa=Su%56OdXd_oTipx31B!5J$;WjW~Sj;9vi?z;lLfz;94-xMNw@D(91!B za^(;Sc+$J$SFa^N7l@Gex8!~Q7p7g}6o$IArU1vfYHc^s z5Z61*UeB2IR}8VAH8DfqPbi2&a~#Mt(PUIUjRaUi1F>eqRdO zrr^gCgBJEV5p1$MJ*x?{|02uDfg_KbILzBJ`UIxMLDi#{_UK@tY`yIxMQ2uwYH&p< z`&}Gsv3TN1u1eV1zvcCEH8inTKl-TUscrpCry90hnD)Ug(e<(F==2chTS4MpmZ9ls zDIZm33YqipoM!~{y;k?1p#`eW-NYwc7Fk7`;1@N@XXC`oX*Cyy6z5bUOa|E4JIcqX7j z?#JsbwxSzkBOnS&2GL&sHvh1&4Fh~K=Bh+H; zTgN0;c7Ks9(pFy_$0W>2v+zC=HSbqzW4<=Ht7c0==LM}o%b(D{?@Kk83PO0p2c{_* z1jM8FjOo`C-li{&D%8)jON1+Ab}k0|eWh;xXym0oGcfz$>%HxNJ&DxZwwv60+v;D) z{YP8DLAycad$BOSC28&B4TcOHuYlzfNoz+sy4Zegez|P;Ff@Kw%*+?6`-b8sVi2tCLkt@YTmZ_j1O!@;D8hv6QS9*iIuX&3(F+sbYng|ON zfL!p!D?na~2$q(UAp3sBTsAh#wMejo!1%L0Ef1U~5z|7KjQi4mpLv%0HbLxcMwbXWFMPjwQq?FQK^60OUpr69E0}9 zp59Ht=$;lMmGoyZ<6gJqsbx_*kat!!PT5BVSUt$E8a@Do(YHBv{hGwiX)eybM z_mWI4Fg&s}N*|zejdxbb*)vSAVm>_u&^!)keeCj6`Rm3Y!Q6fGqr=HpWlm2M1?DJF zQfzh-8XF3N&3_$CJ4?h)O;$r7Kg)sb+CejhZC+;A|F>|>_0vWL_{I79fUj0u`U3MWE2mWK zs8?p|o-?T8F|(v7W-DY}!x7v|Y5MEK<`atdshi;nm~@w@f&!XD&shq$=}GLIqGKcI zSaNGN((V2q8YL0F!~7L^@#~_U!DXkyIWOI|D~YzFzM)c8Ty&>xDvMNG$x+rFrys(3 z=9(&;LNy7T@Bz;>Pfe%?@_)McCUJjTs;4KU>UcuIeURLh@!pPTi}rlo3eXTzuhF#g zeORIbRpXjA(RNSGoEV!L$gjwMH3LCvB5jV@aBl#BDD5ED?%;}C;#Jf6)ApF3WB0! zkUX|U_~^CRf(HA`#+IQ(b52lEw|AAUU)0z~Q>EU0^tkHCJ)h6(_ASc(tI!)&343hz z`^X%@*OA`CTgfj^mGO3|AL65-Z-)bm^ftb|m3 zEI$)EpbHd`wp1u%1e$c=LsO_6B0OH+@6ZLok^j%x1QX=PGm!H3TMJmo_bON02a+YHVVQ`!?l!Z+whxpbe2WHKAxk*v*d z?YtXd)UjBo`0A{B}cbK{YtaesZ6BsC6W_&GzBm7kllzGQxo8 zf8$-`^gXps;7x|V|AqTwDv1W8v9imLgklU&97a^|<*$$8JB82f)I$7X9>rO=tYH~joV;Mxc+y!m0 zx~TD7m5WKg8Rph@oJDFjjdLzBC{d(@pP=lwS~UNAA1HAIi0*FvU7J zHd4?I`~~8@FFj!#E_UgxOUL3r@ai@y@E(tnxYdo27{rUyX;Do!UJt*U{$%$!avv&f z&Mae^Np~JOn3Q@y^rNKB#jK#cAN@;$QcTDDH-iTB6n#|E{vLVy^O?efPRGuYt?qk8 zGL?P-bk{j^Zhu3j03S|Fh0iC4XbHySSOpF#^tF2KTjm$8!;$(D_#LI}DyiX*z@&uH zDBZj`7ix{QyvwRs53Vf5)m&Fr$wNjy;=+PK6eHTizxZWD1X>y%z?$cZjpmbuR)1k_5HU3`%qU^Q7#}_*u%! z$e|pn-N)%qSV>3Y_LK+Asb54tZjPD^=z=>q`(dCV=>B>s$ODy&+Nnv_G3Kdlg(`h* z*Tf;O4#%8U(r`Z;1}a`^>kMB`L>|Aj&0preET&W4-}ry?J~l$^)#yhE-!PyPxnMdi zJ#(0oOky+25%i(=a`{Rzgn`x)u*dVH69)7Hf#^7I+h#^JYOv35lyV1#!f+aFB%Xe} zg<)RP<=1*5{`qjGO5eG*zjhb-$MGc3)LT*uez)?t_rr^DwmY_IokdT~;!G)DDb(rb zb!|~1Io(FYD`V74+6g#$^$dYhm%gd|tonIsA7R@(4sW%%oMhqu|ICH_D~&MW(W#hyu0Wbknm5=ppcuc>mDb9 z7NU5ZF>TaXTw?@LvQgG0|6cF{n@uIP@6Cjf$u~q?w%HV)&xYusAG7E6UZh*03FFp#(o8mOZVU5P zqajQi+SoY0mUrg9Ke#DR#`6q)II~Q3l^|n0$PKwMX~9W8!xss>Pib|cTX-z9B|ny_ zJoIjCn#K^iMW9YB*w)E;{{eX%AzskD12u*1xVV{aC|iyUnZ69!$318TokzC66V>IMk5!o6k}rNGFYk$d0fbgL6*~gA(lh~kA%IUyS`3p zIx`KyS^3ciH#E{A1kcPY&-4vdYT9z^*0;J@x5YI|_F*{y?A9i-;+ZI3niKTh=b5cp z&DU2me*l*^3-V($-_wnlm+tEwhoOslc>Ll==W96CXbBx+;f+BtQp2J#(m!3~V=Q`pdyZ-1LJFEK@<_Z&p zTWMy+HIxIx-Qhv-SlEwzfz-~WakCHZ!{rxVwk^VTH%O&V0? zgMxqsTD;WYNTagH=>@-%vgg;U;U8&p2;<{gRMA#s6EE!`cS5B%tv&vYOV~IatfO8d zz7IKjlp0SFw3UVD*3q#kme-?@TyZbW)=zcb{N1fT*fo1E7FF-RNt%C1h3(LJhfU-w zT^`;-D|WW$qIc<>jX#yy(vNUvlg_G`pO(G9?%L}_EqFs=$;B<`B5{JH=x>pWvPHpv z@zGUL?87CwiLsE%@<_cU5e%_W(Nrh{foLCr#&4~fJ3h4F=-{=*7a5B!OJEA$S-zSS7L@{iX;S1 zHlXRB1Uo9wC^+GEd8@I(2%g+nRof~^k|4_xm$41HhFI&Ut&Tm_q-Y<*#YQz4Oi zMwlEpr`>U3y~h1{&fv@W(n#jE@qGvtCCw%HE#h9EFoM#cGjLXZJ_gyj43DEBG8%(u zvz&05X07_oi*8GE=9NV6^LN)1+@M=Ckof+?OYF7UKZGB{D`(n zmvOE&rvevVQQa&48$b+;_~!SyOFH<RHaaQJ5Tr(N%T-SJC^06<(%I(JC*1Ki(A=tP> zy)p;i(7wOr9|u#?kJHN}gOP4+@9IVvPoh;Czes;4Z2`%v!C{L(i*3F(SwvM&x87`d zIqd(Efi5HbG4;1}gY-H>`s^BHqPlIEZE(wuN(LM%%>wbwW{KblSN3h~Pl@iT@0h4i zlVDqBm)kY^-(f7*uNtrvsTwa6g@i8bJ{!k>>(E@^&ETqAho%m%$<8~cGTz~&J>?G? zL!yJ=61%8&JK2e}lcihn{k)lkU1^L$F9A0jW!y2;spz1O5#T3s)nmK&JYmx1X^I(@z3-oMfDa?~8BV#gX;AOM)G`*nRyd)!lD$4R zG|eQ_2=nmk_rUk*I%&%6;c&L9p`0&vtljkpFDRQoF!+K<5!Ry{0? zE#t@UjC^Z!d{T+w7`@fs9UshlzvAixcc8d(vi(SaH#A5zsj7+WJ6m#r*5ZpfH& zET(;{J`ng2+STxmM@im(km+CP=|iN$)w{9&FoM4)R`l>hvsnMKF#etZ2AlloGgc-lRHAhY0+J~DMtK3B?uR-6M`f1dRORV}C7UJ+*fi;|0bUBC~ z=GdL@3ClE5&5R(gDij*DA8zL^J#SwR+OG#tN?*xUoiA7E=^yi7nQIfDnlH%4W@vWr zRkAlbZE#_8GnyL}CJ1XM%?@Ak>yt+Bp!|ub-KpcRQtUq-L}3(sxLf?S7iTi@tazUg z5Rr&<&Y^<6i`41!EmoJ2xh_?DPn^#&5qmvOwfcyYoqa4_Kj|4VQEqS2M+zAk z;>g)uzq3L{n@elDI3XD}d2MLOo`dw#16HxNZXg*Smh$iuC$v>5&rFVE(1~Ip#AEt= z#lgw-(M*YdaIw`%)7e+jSxjt)r+_5Rm&V~-= zS4&@v5^WkKBJ{>x2osxny=K^ubMe?=fJ5rYN^91Wj zGj0n7Pi9zHm$S=L40inR#U7*TVV6uH(W-T!J#mMgHTd%O%K7A+1Dwh^)5C$0+Yavl z5+%&9q0D11M|X!-KH1>y^)-@lfRC*^jt~Ni4^PcFz$ z>X3OmHQN$1Ebqg`IUNptf~K<2d2h!o-&-XPtx_M;oY)gUZgiE9dp%G;_x1U@EbBn} zGx2W4;KYaX=O%m)4W8!0WX{Ovl#1|Z&8cvYqXo8B8@+wk2ja%_?Cja0vw9br{t87! z~=e{FJ6EDTZLo2Np1IaEuXu`G8d2&zQUdLkZvg4Ta+Aqhf}y)Bf3DQy|v zl^=D~WSb~;>DHcO%vtQRpJCl)C2<6F)`#5Nyl&QGgbBnha2-m5V_WE0wtoemL?*vu zIid9W3QhJGt#%eC_wILbS=O&MdgWi4sJ!cSMMdNy(gMj=GeDV~^Xm_uaJ58w24hJDIebQoj!bt8$6Uz_Gg8wPLo&z{f7_?TG98N@OP7C2A)h0ZMHmT$ z&P&2DGjq%9eTE&NJ@hwFSxHOT^-yRkltd|JDzG_R#@O!9-QaM^RHS8K-tI{FJS`$p zIOO!4FdMbOAc&klY@=b3VXu80+`gjxE{dtP;4_oT<1$6;gsRbE|DPedR(n#1EfZ7J zx;;AQ<~xo!UQyT)xH+k8lP1I~>-9efR&V?HR_0dG8lwX)Kr3th>%mfLO7`Se?NlF{8nv~=>fC_=&i$__V0j+Cu2#C?wf@SME*e{r1n4jr zxRHPyplpm~^z~?Z;#@^sC(a>~+ne>a0&8bA>*%9!j*2!B3>^E{WlK;|jJ4D0AW3XK z1JWfD$2&dE$j}jil_8OvW1l*L5)+Nw5=@J7r=F=9tC4Qhl`p`*OQ)CH&av}Awaf6J2bu+FCwlWA5r_w$Vj;e5eA?R}`4mFJ&{ zbfwXNo9(wtGfL^Y$*}PHcm!~J)7dM~+(MId+?k5(9AR0HL+T_H-ME;Bn~nt&OWlf* zoVuR=NylqQ6iiO45T)#U2D`nPmva^P_~YG`Z@@_Q9>&M!JRP&s@3X&q3&}Pf3g(%oIk(A`}ULyI(s(xFI;ba!`4NP|d+ zbO_wR_x1bkz5l>D=UIF0wb$9_{Lb@3H_cUQv`c7%qY0ha0!qG_@_2Ad=&;SbK;oHl zL7b_DlmJIq%FE_Y6^`OVb6ncE3VHPhfoKoW6ltwd-(HK@mtk?iyn{^y;)nM7B1M^z$(0sgT5dJs{I;ul@;aO%o^ZQ8|2?Rr zJfvpBudrqk82CjhaDc85y?2^C2CIt4M@zzJf8cXDSxv3Q0haetbJgDXZGpj;M+WPI zHs2>9UO$c=Q&<{NfF5Yy`fPbXQHg?xk%vT|v&^k&)*z5w4hvI~$k_0v$&yFSY04Trw2~nP0ZDXTJ;l+1qnOiED=tO6)k6mSkV{dlzCC-L_AX;ClUBi@O$IWfRdNYj2J9(&=O-%UKeseC$=fF9ea`%4{ z8_Qp~@a^Q9rjB}EVDP(8z1;5W8~QFagPF+QNeG1C_)`)85U||FofKQ)*5v>dHo@@X*-;q*~E zyxwp6sNXsz7ud5C|4L0(6zn^C}?K}X8z63W$Z{-^WZ_r*{fP67_? zY?a|;!6dqHU`$UR>%H$V_m>ns6X?!6Kz=(2{ud|(^c6|;3$-_bJxyuApBprVZ`ihs zN1D&sYg)(H@YyCa{jaXScGNPoEd2xt5&3p)#+E?(6Aql0ENF%M z=v%<4R%1JQ^_?v;7sk!IuJ7eJ#%(X4|hxRw+_G!j1ONNV2qd~WjW zCV4;W6@#E<=BQblqu&BlyI_B-q9hK38|R)VTP63#BZ1SqJ(X4Kvp`zPO4CK6bRg!R zfTfv#LaHI;UXUTDoIgckrI!;df%}i1xHZow9Bbq6==G>p&v3Hnqr=SIu$T{bZCZ6A z5AO;HQ!K01-RoZ(lqN$>C%X@}fR$t|zeIB$6Sd=<~Z->UMxKDJD0 zLqUx`#y?1&JHZa$s6TYzS(zcV2L((+xY)pX&%kvwIOO4gJ&Oe(?$@{JWT5t1ue-=4x z-CM&tbD5LJN$3LA8}ixaG0)=cA&aR$Gbs}knZjX>jBY67^P;4OGa!eZgNT5TA(g-@uGEE zQJ7;mE$6G2r8DDAOU4l#k?4kiI4Zq&stz>-DGgnAhmo2F$|`VQ>4zpli%$^i8+zgZXzz7@ntaQMEw?cm}}KE z@;byn{5d`jIA3NXC+13jvnpKD_Fht3ETl@#;HjUhKvrv^NDuA+8e`I{P0h9$Qj;Zt zjKrTW8Nem}ru$JU#dTI??DgIU*SCOJ<04W#MTuR_|~HU>O-M%O?y z3?K7VTZ&ZjebsT-86a5&Az?K;^;kPA1*dt^Rj4b0CogG*z5PnZFu+Kz9P!VhL;xYopaO+)ck zpTARX7jFw3)=bbl7M0^0vpITMmph^owM;JO-CKSniz#ywc?6kAk`2$Ev+VLbu>X3I z)yOW|Y;wo5UYfZCj+X8ffbSpw7@7RnjH1YV~EanU5seP8YO>0 zD=LCYU1XGMZ1`d5lJS*_CS`G{&f;G4IK|&Qfyv3 z<2E4XZodK!gqoPi%xdS+MX}&vF60=ZRTf8nSjv=MY;=83a(M1Gy^6NsScbWlRNPRY zzmhe|Wy!6pQF&Z&pgd#$$s*7^VRExZ-Mx?f$#Y955)+SGR=U_2ADb+?S&dJuolh7G z6E}hRnHt`<=R~+N-A2EJas~;bckTQ=Y&?Uz?5xvpo;>h2;8u@5XAKp~v)Y{Pd5{dX zC|A#w6=17+@$R-}vFZDC-)_LC(c8N$jkD*RV9$o*mnBV!buxL-sj z{({d&J@P6bepTx3hr3Zj3(AJip|5C3?{1K`BW^P4EPr>Nm50AA7~V`9=hMwt-_h|U zy^Fe60&5c%zn9C4h!&>m^RW~bq%rD=rIGXLNHHT!E=Z2o^cW*X99ke+G6CnKYRVx1 zkFFnkUb=dE7%rM{F)VVwa-Tbc!{)iun~jlRS!SEp15Xb-SH|ea2X}s%vFZ68k7r*! zh7^UjWP6*N>Mp!8AREK%)v5|Q7BLGDIV`+Tsn>V??yvF_m=Bu}ajzPWPodf?P{se+ zpRCG#rSCqbsQ(*}(Svbcp7lGE6NZ^sAkKp+3Q)fH@Qykre1idwTcfM;{gWcdv|Xx ztXX`T=gJ%2O37+W@I~*hkee4XoID2wwWhPynE@x^pM-@U+h&Gu=fl$VQ>?qOezjSC zFY9@-WQ0qfK{&n%scjX9L_ zEw(@3& z>M35Nl~An8`>F#ZY>E8-_|)r^iSyEj&LSbx*Xs$ksYhtwll zkC&IPw?{^pn~9;Gp7AT~S0)C!1~0Yr^mO!I>A!;M8|yt#J?7rtSrejc0QK-5xrM zh>44jv%v!RG|=}Sl0H8xRs|^SkJl9wp-R+7?<8SUkiCA&-tMZ>RHKW;`<_&wM{VX$4rxJ0_nj`lnZ6FQR=oFPEc}KP5IX&Xx*gNOiO!Bo?1_F=Vs>w?Xz{lYwD)p6ivK`N@X| zfw9M9ZSx9(SIxWum=}qdj!#|KiBCd(GNTn;0{Vu@q#GecXQ>D3n@XdKvmex)YuE|D z(}$3LC0Jv7ybwSZUOw9VSlQWLS&@eFG+`M_EW_GWdhWAPAUyzazWJc7_g`FSKu$7m z7LvUoIYp{~AH2*q?P`2d!jfq{oT!}8tQa(Y)fu#WtShrSC-o>>zzd!a=Z>ER7sK|s z%e^nE<+b+~rf(7)qZ+79BWo>$ePuJlH-AnxSNNf`m-H)!gKt6pXy?mF7f8&QZC~vE zsHk#UtP2fF8EwdOg>qF3EkIlK^-MhSug3T(9ZPM(a}m9GLXq^vS*PE6%E~?k*Hz@Cd~GET;>3M^<{?A5#tbSh?BP4m zueUFyg8aZ;;!7GdSgxdjU@hM=dS+S%V(vA5B)`MIi zr58$7+(Sr*96Xp-^blwl?61Va2_is*rGH-k4 zc}b6B%oQu%YdO*uV-tjyeg_hUxa1IA_^jxxZF9Odv5kQ^XXiiivhFa9iz=Y{{;~qysXfU7II&9!_=jHiF)k(`Cz_C0HdZOF zBEWUF5L$IQzW5p_E&%2bNd=L)xm!zO05wF#*EKY%kgR`Kh{nsqgZA^((mjhhEKP}+ zYk>mG&phpqeaj72^PX6!_v5V&B$I3&@tPDQn+S=|`%6%h`;Ht{TTHBOPk=B*{}}NH zT8jZZLykI1+O+9Pz(!vkJ{Ds~Gi6?uz2GB*K`De%Zccy4ZOok^jpX0HBqt=L4qhrB z#Z$K->#&X6dBHDnD!3LvyS!=m%Z-OOcGTJaeSzpMN2eHoNcRWWatt05^@^W>FS=aW&>hu($FbXNT=%w>J(x~4B+=N-*n#6YZgao}L zwTvsHQwsR=F6EphOG7*;QGk3%wn$#G|0+n#F%=2|Y;uxWZ2~POK&_7HHT716tS(P- zk6xAh&`a0Xede{YS)Wz82$7!AM01^uX;(#jV=ZayD8KYS5K2iHG4L6}N>IIuZCee` zJGJvha@oslSGrD}E=XS53JsbnRFyKJfRT%_-ViG$hCUqU1=zPJbRs6DJixRoGTkiM zO-e#+45y0c$44B`7Wlh8PVQw?TD81yzN|%J-kd4x9AJFO9A^9qFO7pnYTV&Xkz5fj zeH2MK9!ad$`7v(rV>$LF#qPS2Lx-`)?yfiJDdU}DsRm`@fa0{A)RoNf59edZ6_nei zR8|_S^oFwJKCo_bq`0svzQjs1(^vj3G1I@mZk-LD))3X4c-{xg>K_hRO-;2zqg zdZW6sFHU1QU;wrOLgSQMQ`4#7$aDBQZy|#vs_;4216ZH_jBZ*b?jrQdDK>g_%JgqS{r`Ca3tov`DEzrRy3;u+6i8SW+g@)L7T(z1%2`!@~|kqP=2EHRJ5 z>`dzS3*2z5lE>gUWB`MQ($UHQ!9ZGAVYI*~76)dN=pOZU%UWZFeD>-~4^(yKz3t_O zO(#QW$%A;0j!!yT-FxHM=Ib=7Ltl7ZSb+)JhHYDvVAGZoK@o$6XCuzFW{2<^w&-Va zRO$a2o*8vv1z8SXD`!PFqM0eqr^ldDpZ}+` zs`3|aF4b247qY@>T26d5)>9-($2UyCL3Vob| zA13z|giTb_kIID!k3o6>WW+z(Werrv=o*iR33s&oXf}^8KlW2m#Ng><`HyLS}QF_wQF;spGLpWeFG%E=!M% z0}@bmW&c7_4+1(IA?ubJYXu7JUN;qSzn*~MC~K<7i(2+_&` zM1(c0aeeXlSY=qKy0!Qs6ZtFFugUn5kVo(-v|2c4HU)GbTfYL^G}m}@*#c))E=NLW z!tn_sTshE)fsP>r2MkB~2N5Ngk5~dL-{^|OfmD4wszxx$9~s4NHJ4rIshG>>EDqf* zj&oH$<#|)xEiH^cC`Pggq{ZZW-x}PI^yXneS3ATwAHVPu*Ggoac}sISF~(4X{ABEZ zFZf80NI{nvEUK7I>S=Zai<OK#sI((M@FJU5G^GR%`Zw>R z5s=TuQBrf!7J>1eWGQXCj?yL^eln(7`*Ep8@6FtoWiFw;P&K>)kCji1Va?4f&`eLR zQ{RE7NWYLNt#a_j!3;9|>i$Io*-oVwr4Bg%h_@Y?67$dK%B>CQe87b`a%%O5kXlir zp0!M0G$nkL{j4f0P%uMCp=B^#+0OOig!Ez^f?k|7Whvs6>&J+H#QmFPXuq>z$!hxY zS?Uts5If2vY$D1?G`4IY=&zbMBho#Ts}dns$&;XWQ?M?!`uCpB4yo@{XDn?EH_Rx4 zax_vMyM}hVf5F;KJ`h)?IKpguBfR4}MQug+<}TXS-sAx=@^Gp!vf+OQjR_cbA;1bl z4nz%9h%QncW8i|)*)2>{=I?}4CwH@rXw*^9NYwf_9aBtL7yg`CEDjmyvxf!aHwYNj z9%n_BoxQ{PdAL*;UcJSJdr<&N21J02{-pXJ?L(|~@4W@w5tk9CD0wa`@b!RLksqyQHaY6`0JDW7{En<3f}Z-3 zYOoaWFANw6S};yLq+yvG;B%LIs)Ugte&(k8fZGuH$fw~r?8;c!lYRSf8_Z3-&;}jn zH?ly+RLg5CE=^}y9Tm~q4`p`5=HsFtWpS~P%K*TCDv&fnt10>-@pPvUD=yn2^4l{I z$k8{^edI5|tlX{NJ6p^eyt(A#Yb9NEEXr0D{hEc8flP7#ssE2qWQGVvutNy)n{9!> z&ojf%fP9l6dqM=le@Yvo2%y^aMJFI!7783hBt&`F9B*Rj2TKqv3^jGMl|YVRo372d z3H?Z7OUv&p$TgEej4#}>*GFH!6eC)us*Gg&GdIRk{y217?vWP;c3h>gIND#eLkzvJ zLR_h-g<=FmIZ>+J$QZ9hR;DvwrzjS%pAyz(ZfjN8@1|iIZBAZ@2 zCV7Z@K$w>Yw|VBFeg#)+IM$UX5~Sne24e92%i{+;9(c?~fWUc`e3T*@Ux-qA+atki zSieSGg}8D58-63D3-zs*yuNW6rnnug;Rg$4lHYb5PU>`PD-euHt}M#ta&EPt7BKcp z2{bG*0Na0M1N4G=j4F-+0ZD3U+VdBFZ(1*Jo!Xbv@TUBDE>mTXF+HeiHZA0Vx{@{!fX)szazoH-Q$) zW8?8_mRFDX#>Ye)-o-)>>at%){7h@EqzdWph=E|AEl=P_*@ZS*s!J*(5f4YjuK85d zDh7+6p2#PhA+LpYeTLyNeDe7r8oD) zXaj>GL#bAJX>Xsoxh1+Hz0aW3a^YZS5L})d-gT}wOmhd?^f6=J10;g#0?bG32;y3H zmUGlgmE>FR33Ub6iqt}|+PNE3RXRCE#2Wt-FW;m}syi4=u* z<{K}+flgc}+;?3Szpss5cqQXse|#R(={2J5>Y>JawYdG0@aSMz0Xah(xJvj~<&lfK zd62PNZVV0qfbVY-KWMw{dtz-wZ33#MhFyF)i*vMbcTnKJR^Jk9C~NxC-AzKbclAAP zFxU7)fz1?>R+iKPu1HR|?pAq@zS9og=h)zt>9jW~h78!@D2fh|U9NtZ0KWfPuRmhh z=8~+Hlbr=$F0FRJEPe8L_1NgnEsLX@sFBh7>9dUOOU_TheUT1xm0^6e6=CMizLQ{~ zS%@i9hDo4@l{rmqj*X~EYM)vi(5*pzY^)9GU#)oXM`kkUY;Ox#06%PBe_LWU;*bfY z+dX;ZL)Z}BA(wUkqP*tL^exM!{SM;n`8lK-uV&M9k_{N1MeN``PC+Fy26Yaxh1)U# zi^W==t>o|m$F}|-$>gw$!ENgdT4)lL=esi4&=31Cx>(yO&)|+{Y{Lr{-G|Squ8V)p z+Wr)8%G2*>DAp*6e+yghDP+VnaS6ek7~duiv$Ezf-;q5A8__LIEec!I2pLt4OF6M`BLz%Zl1| zFR7+Jt0ULbo(yXI`nZbWoO5?AqpsRcbXj-nq^W}u5S7)SZRWX8u|sl0I24qLjTSPW zsohR~SXAb7NR`fIpRFajz|^J-90OpM{U@f*e}tnDvlxt`^Pz7o8$Wrn&A3dXxZ0tm z{`i$v2J2=+2Wn$pb+oPFrCK99!+ZHTAn@YcoU|BEm z^*O({?3n!k`Jty8S-d+|73yu_@=6bMDvp6&@rk%$4e`SbI1Zu={I4wxTA<#833Gh( zL=Kr4RVu*jLfswxAa;LirwT36jdWU&tDubrU(r#;+^>DM9$jOImRFg{vgf<2%a=K7 z#qisZi!a&kWM4(IELKu&0ddLy8C(r@7~3E|Ob?*~>p~#A`pLqybdx@%Jw*flQ-PEw z^5r3g6ox8K(grLsEIFz)-5P}{)q3-3=nB>L-7tvYHmQ)_jqEZcL=IyM(DtuSvVf>P zxKe5^1yy2j2kmFPU9c03oG57UTi8GaXSGgb#j|6f@S6SXbzz-yBi$2>&1<@Da-=IW z^L}cx;7rQ?l^?mf_Gf1(scTuBKosLJpp;DzHfXhunFYY9l$UFNiTO%%u> z8N7AHC+rX><%2P4mi8}$;o0*DEVfLZA_l644d@JNSd<20Q5$A=;GD5#D34 zH2Qbr)3f#qWMC@S@qtH*L)B`z={VEDI0R<${HxZROK-fztjv~_nM6>y5Z8#ufNq7f zj5(bI0(mN2#{Z)7uxIoN!lkJiC{m3ZI`sV#Ti9k9G8YlHGXDC&w({vl&E=3-e?L9XHKSJ@XP#Zn*c{o_ zCL7N@NU+HiE{B~E1^{3@!0=BP>k#&)Ocp_s>>L$qyX4#Vl=ral4Jn3?!jiqJrKR#~ zwzQ><*RzHfpDcqST*ltXmqJ(HYM3uHQR7;w|Yz;=H@rVPcp%3lKb4!s3GJS=r1kvYpO(GTao<~?=+xcMFyRuzAo!>%Y?)5uZhT)|ZNV5O21 zh-2`#96Wg67wu?)%raU`Z7j3FK}>tz;HBIK+uOMaESgW=cnqgJF?scc#Y36A4Cs7( zy`4E3$ij}EJ<%UOyx!P8(fx*`7#jpk?Ln^yOa?b(iJ}FfK7bq(@Wmwsuj)V!7261) fNel)Q0NXNx*N_d70bnB{C&YU(?|$-SJB!PiZ1>4&3{+hu>Z`%3wDdD@{!9KS{s|%)2gaU(2?u1 zv$DQsV`F30Bd0YobTBm`x3MNSv{7@?AUERrS1&6&rykuCAPD?F6VZu^X+QuZ@Cln7 zdAHA4lsW)l0Kj`HI<(ji(sX%o*|e@naZ*pMZq|^bxR7oF<8Zc~e^=z3Cb$3q2l&t; zN91fuTaNIW5zs`~XYpDn@Dz|EhAJ=fB6nWAGPcgI$+xl|p`%86t_=@>L=u*w2*6Q! zs*Hju0tvt>h{V2+q9Dy4g}yM$7lpl#+)s{uCpT8%%}!xX#G75(nlaI5Of};&a%__t z#^tRDdL9lVyjyAis*wNUK@P4(6oJqLLlo(0`e3^JBzthGf6yWad_Xh-$!HwuDxAS8 zlHp%eil>aq*j&FjBvjSp)xpb2Pt)0S+SzH^*;6|yK)1nDyCFb#CP42hz>pyDU*+0! z>FTNcMV%Z1WWD4~Sfl$!N%U=%_ZzH#U?~h>@lW+50>Q?sdeThb)N>S z83(IT|Gok;8188`K$b;H{{K-vXeXHdzl*SWA3Y!p(z4f%q}Ps0LWQc=o)Pgch5G=I zr@|_X-S(W44xGIX{9uuE6z`9d8$Opq|2Gq!*bV@~Y$V-wB>f;YRG230xilRFrXA#` zK~g+XIY}OOTBuhWZaA@P**)b@G(4l(S)8w3Lmk zBAnETA0cX~G>t_`sed{6afEOUR{m{9rw+V4Z`gN#pA>CcfjdzC*i#8BBlDQ4sXrTA;@ zW`;vKuas3@?UW8fUYv>yUEV($1u~V~BuWH<@UM~tCfN_r6@XgtpNu=E8pV9^>p#lq z35hZmHCTSJGpTY2sH>@KI)BnmbegXZ(3^2un)Y0p{%U|9_}>NVzcdE`mB#KG)aFnm25SY{5a$ADW~EY=PzstWlnijT)khoP7`>hs;~7X zxJ)P1O(&gAXX{LL>pivW{-rSgsLj%}(|>5rlZsICMyyH2!2NH{$)b%|<%xJH9YduZ z^U5{BEF`5UIb)~j8_Ivv9P`kEq|k!k(5>JI+K>c`kd)%aZyyKB_nQ8n<-asX(w+(| zpyo)}Q~ihLbg+?#f!b8fD1Y`3jsm|xf;vjz|0e?gpd$)Z_OBgLR$-b{;hI!oQdblB zpEU;To#d3C-~M>y|Mynl?e zjDXgNNLSPuIYlpyv5W-+lj(1QAHrLI>^3mqK(hx2ColFo}Q-Z?3KFqrPDlq;KrqAPGNDK^+0(=N%j6+o%PwLC2pCN4=E|MO~tQ5i>-=_ zty7Dw<`Za(iwldZ_mhhmN~#(6iy7vdz+Q&pV#csy`oZG;+cx^aCZ^)zGH{l?e1^NW z!@HU4L*jzs-6s0^wyJ^ZioLdq8mEOTfr&U!DLfa{)D04ymT2djSi_5p_lg0Xb`T@zb)@h&*&nY!jB2ot&akof0zaZ}|$^-)RP{$0}{ z@u1CpL)~z_XC~Wxlj8MP4+E`%I;NU{O#8j2D%AGq@_W!D5ZHpggEbo!hp3to2*w89 zW7sRO!Dp+WiXu|vp@~Z48e_0;<*E&dAm`QKiAt9lp^9!K`492ZW&0PY;SzdyXTv@jk8v=!coJ>zzoRW-ecH9&=l_Q$UE_tq+ie*{c zZ=>#{IMg@v>3%UX^lb5QI?wWIG-N`na&dI6*ruk8%D@reRPk{}a!iv`My0hN@Xe&S za1i(tj3V`L>7A^c7+%^Ua0DG)H@K=7{&8=R=;GCk80c!jRh5Aqw0Yflx@B~=8e)H^ zVx;SyF)FF;)-VPURFbg*VW?PfvChQm$G&W6P>3 zJmWI9sX61a)`GvQ0y}u8ri{zDuKr^FwA{QYOAvFSC*WARv_((AK|=fmuJdo;T2_`! zJ%3lFWn3=Mt6{8I2Ck~KwpPQclxs`NxB`rtP zX*qG^T}gg%^u6S9<2v0WaVk1{X|dxf;pu)VPYC?h39n6v(*dynqf-ZrXHq+vU*tV#0U^t|!R>L$r^?0S)w3CPTc46#f`*o;pO4(!mZSia5|#QGlWaS||)rx;$`|Fi$3q zSmHGe0Wv+O2{jOf2#R=4oP&yrWgI9y^kot#YzW!8Q}jJ)u`w#)xW*&W(oa%L2g-*P zB8aO_No`z=%E#Kxcc4u7=r|~Vyt677C;-KeYwOQ5phFK-7`{qn69?butbZecDk}37 zBuml#jg)hr9BNO}Q$^sQ@Hcwq?IkbSpO1k8*tOUK=gI$xMA4H^LE(i@_g5pzOY@78 zk)h*~;iaJfp_DvP%Breci;@|uefx`ix0YK`tPjImLCeIswL19txw^A~43QGTMCXoO^0EodM zr=(2bjX;Y;kHUz?jKPYK0Zt`g!xsetrCOKj8 zw@_Lr4=2ZKF6p;o;!so$b~bi)W;HRWIFt|i3W^QI=j32xkrx&d7ma&^3G@4*kTQoc z@}jnM@?wCAAvL%hhQ{}B@}$z4>D{Hm$^?|Gq9N=-&;|M;vHzfV`aIhYiZ4_gZ1H%r zFn{%7$=bl;S8Kk;YoJAgR|8Qv=&WLQ{10!%QH9$t*skNOV!({{%FG*edT`o|1uF9B z?ePkF+J66RebgjlaiDLY%>!Z&@B>*8;Lisd^qJ-dN$Ti{ldhzflv9_L!E#ZUm-@f} z3)aey6&3lImGAi~+?U&Her5Bo%hkB{3^yL0&vy&Y_k3bW^}Yc~W1<27+sCvan>;Q5 zHq)@)O}jbRh;-Mes}R=b$46*Z)PlCjqn^XT&*s#-R2O@7vmIgQsAT8zNR1Bdp1T7EbK*3}j(3PVH_WYY=+A)v&~Gs!ARdCSt)>p=ZYY&?1X1gO z0dN4u@|>|d`WA0zX0uH1^7mH;uAB`Yvk|`?3qP{R{5eo{3gM41dF=a&Tfr`AmRGAO zYuK$wztiBs+lDq#HP#=}pf@9vLt04O!uOB{0gCrtE}?^=r_PLX_Wg7e7653dOI-Go z{}mOV%c>Sur?56_ifFg#3tu%d{JTlzx6qiYkz4Kbb2U<`Jux}H6YAZ_)53=a`^|KB zfA%@FNpW~T+w|S1aY(r5cxVXxkEFxkqiIWx3b+@%NG^h{Pd~#G$Ym6{9#ri(B z*7$*dok>T5;jm*#=vTHDs4BB{Fzv_)K1&`+TrXlvOY1$;K1En5h`AOT=IO3 zNF4AJY`T+)>G{-k$SOJ9-1b#1=nLh(-_HtoX=!!L_aC=b1W*A2E*Tz)o(^zZTKc;c zXRuy^1i|JH9((4&EU>*??{bmu<@j5}#UX4d_I8tkGBD?}MlFUd@|E-SiEe7NLkbz( zRLfY{3+y?f`VT7vgI6XkYusf}GT|j61;+>(9AV!hft>X~8ms5#IW&6}IMO4+R>u_rofF`*j}80v9T%rH<^`>Z;$Q`*PGZ9+-uZ zcuG-)?E@5A%li#T?6N52<@(U!$bHM1)Y9l|>`^UTcWIbMkoaH2qf*)O?w{)b6uQ-) z0eT=5oJpQ7H4s4t39S?tOO*B!aWPZxPoJIjog@Zz)-^RMC6^jqNIvSMJ_mp_`%NhU zz&$SEI}qJR5r%<<72fd_;AVJf;#05{rtAFcq$YNNYc7Ku6BnP2Y{XK zho&Yh35BqCj*-BUKihs;KNWz1oJ8y&v0bJ+?5i#LgXoM#6J8vJ+K^=}VJQubZpuSo z1T-V*z3tY^P0Sis8Cx?6pCbsn{9wio2f8VVURegCz5~YCy0R9sUA6o88@p-x2K!}z z1Xv$T;JqW!3xPg|y`kz?74Qz8FQK$2lHp87WFs)kv2bKJg&(`dTGE>yolJkNeiBHH zkakDQv{`iYILkNgt%_ZRR>V?~RImboIEn?4+A!^u->z&)hRX7vO8FGP$W$ zHvN%C)GsMg@e?Ib(^>i46WUPU-X67c#4mV3ft+}A`15pcC-mz0U?!iM_VnWHCXg5r z835R&*HHwp9?gMo(=pe*$GD=0E!R_->1ajvO#KHSM0ghjMo30yP>a%(bk{4%d7w#tv6YER$KcQA}lkXOze z9U|>EFHbk&iyPbcYabdaXp71;nDI{UbtXAqthAW9&MhNhO_lBLY;D+LXq9W>WKJU7 zY9454dTZ{OaX07D+jMG4oBqy}+WS_s`J=@%fr~(?^73^4+n1hDU&j726Az8VUUnsB zGgCgng@A-Js@9|Fj@Z4NlIekTZr}z8g9I2nn{?*FFM{W&%-V^1HiJk6~WP| ztCK}37Z@};zIH-J5|l|;*Lbgf1ibIZJFkU#l1!c?@i(=?HOwMwnf#(aD4s7!v*t?(d-EQe}m`pxKq|t$;uS*CjP1XGc zMkcskz9SWY%Sw@3+%(H0;+&;ih3i95?Bxtyf(6VWKJUCQp6ep%+<9sASl7+vLzT98E49j9-9;0SOMAPFtUTcU;vUW6Nn#M8-o- zaT^JIr4loZGPv+09DkT`;k(dQM@)y6wE|Dt7LnF7q8LVP zZ>@I=Hfr$d)QqJWKZIm`eZ3-H;3wC#o%7{|1Qw#({S_6r-O9=lM;xYtaqz6-w zU=q1wdh^3ae`1(Ozh4XIA*`)X=+)KtGBU_?MqFcqfEWBDY`@*tQWBrY_I2{e`O!=x zx|d%}){@k4K1_T^6JJSx=SMe|{1fYQv{Xg*#>=8`6FS0L4FEty6k74c3>O|9DYiw^ zUgFRmE0Y5W4*0Vq#A>#)@Dg}Hs+(DEV@@DAfDfc9*py*K|S zj$x`V+!6EnJ|!_9c^*+c|8OHI2~8h-pBrb zp4mR&nQcKH$sjEr{R;!0mlw0WQ9)@ff3zIz8?6kfT)CP}D^R2onAt^51WVJ@3fP(PCh)!EG~* zze)J)(gCNYJ_$KTq~x^C_=#_eef{)N<5;}tC;Xh@Z#L9%daL}>QSyvy25%~vu0*K9 z3%-)Rv;!ZrdiLtiyzL=6*SqNJN)FG+ZszfCbm!RG3@D380AAtEr3b}>XA7Xw!kEpB zgpdP(Qf-!LM1w2O>aW^Xo?WBIEl-o(ZV+R6FFv-Lai~V;iw0D;dH&?ag~MHPqaV(K=^(p% zTM7#W6;ullBv_A@ttS3!BQc=Yy^%Gj))duZz^S zv|DB;PHSNR;e9M3Y^LYKRrJ6YPzFzGK~ey~Un_ypu}7EnxduG|=5$c@3rmA^cOpw@ zZ$(@M3kqO>HBfQvuLKN4s#5emi_|h^z?Go}NE&-_uTDsntf_NnR(%DSWjk)i$zbcB zRcbMA!so^jcP=9{Bc)LMfp#2V3e!VqAI0OLK`<2tx6tWhZ=i#F)kX>g-Uj;Gj$7_d zUQ7WX_!Yxg4m?mvi{*^3R@7{Ba|DqwuXMh*P~&c6#*l zcgOGRJ3plN`AyeNB8-{b-Hon%zLbqGRHeIoRqwY(( z%7mBHK=8|fmfI|vT#^-)K?|f8_ej~uK;l3qWF1qs_^V?z8I^tLy8beo3_!c{mM6-Y z6JJvV{eHPh4IpBJ1H|CH9m#@~G8RZg!z+RH2hNXwB8R(+kY3|4meUJCvUuTf56F|1 zdVL>YZnv7^l)}SEG?h=%u+mUM5Kdw2*5O@7vNDXavKmj_CWZN5Vg2bekIo+e#D!n^ zoW><`jhy$H4fMbX{V_*8W1|B0kuTJDoFBZ#4bPLM4rf_2O8BN`FEhU~GVGOp^NSZl zMcv6_thB7qaH*}8oiOA4gDG)aJRw|mrN|k!v0dywoPF+~-I3JAp%|NqyiXyUE*ZlI z4HdR8Y2-?AsaS0F6k?Hv+adD*;$|Ccr!!eoE*RaqIj7ray!UO7#x1?UZm4(dYLVeb zw(OJ$Y#go&`e;A?jaihWeb_I0hmZA#-$%C{Q}Aq$S?#+T!W5y``x=|E{DN(*3+d8| zWb=&oP2W7{BRAm53n7;LT4iF$_n4joN}Cc;F-3;geHuY-5(X^pl5No``m_TuW0_)h z?t6>xS{o?a&PrN$N~X_JUDY0xCfyzGg7qlSWdh&RV^#E_p5qFP7rM?v{od9X)|Ffc zo+soa_XJ@;6$44iJw@|o~(_1KT3Wp_|)A^@+2}2_s zua2J-ztZGO_Rqi+qt+M3C)qZc2V8i`ndvKpywy$}t9mcwg<{~&A%lo)wsAt)GpKdP z1;2&2V64RLX4nRM@C=s8^l#A5NcGjxwHM4~gufW9H3Y%kBL|p^vur5RDaj$+na`)M z1kU4^#tX3+F(<>q>COpD&w zw_P7^?fJJc(H2M{a6oKrvhK7JT>tr^V3KDWzU`h!&O(!32xe*t)ud^i`&dN_7F z-Z_aS4)Qvx{bj zZU-L1nt*;d8UwEXMEbz)hfDUMNS2>22>%{D%;Abzvy0q_aMB4nRn1=@4 z9Ti~o@z-7PdGD`|x5v{epO0or)N1SL63HkbfGB^&R>FyZF()nUJNN!=mNT%HH7fq$ zJMYWP+366PUdwr!7-E}#5xnHa~!0%nGnk~HGcl#zp zby-B1eE}U(v|AY0=6aQFRA~3A>C*4}DNaGu+4lPnYY)_DRX;P-)T10Y%#CWzb&Df$ ze&@fN=-V6Y8um%Qi5mTu@spK%n2L4QXmRe0sk$ErtCAuk>m{{_8tsg{VKz#EaQmNu z#Ib3i^be?jkIMASEXi2Ya#8sT_PXLg}sb==b3WYP}{y0+&^mE!jCB9SW%Hn1!h`NGNLgFXM8@_ zLe1?;53|>cdw1EkpD_JFaNZ7k&-U7LM_V&2Q}g4;X*mSrWdKm`56dn@1;zw<_P9$G zJ$c$#Tie`_9(67~9d}cV4Ls2|Gmz#@oxA<&+K1i=gc3}}8Nc}b-7zrFj%M-YmHJZM z>M1-<$zrRPT}~U55M#ww;}V_R)y<3!fV33Gg+ra~wn_k(6&%Q8Gw|l9RdoYh>A1!K zQI1}yxty;gdBkoAzb)ELK3#Z#s&}G5E!?C{FC%pQD1DLl6wEo$Bj3)7J+&n#ID*vd(?fu(3tv$EXu}$^v zMnIt=)4ieou=BjJD7S^**mi;55Fi0`l5%h|3{dJd%79_HJWk&c+ zo|SHza;!J-TdFmV<*go_H0=gr89}Gv02uMt&psOcfqN~vV{ZTML+63(U2rHO3?TK6 z99FWm=zxth=G5)m_q6!}Oq(%?KK>A`=?^G!9L&!%o5R;trFe?ooB_= zM*ut?TG#Jp6A*RpTGAItg>Fo4C|-xuUY&Xi#aw2(mXkz;-QnT{@fj}3xeYt!IC~KP zVLRLB9&@JBG6+A?Y1k$ZD?eHGyWZ^k@B%!B#Ud&o0f8po|RZ+ zy844p(Ow*a+an+S`8PhD;HfV2S?9d_c1<#|vWurW&$d3>(Kx|-mBlM6+egj2TaE=h z;*l(Gc6g&(^2q+&T9}i)=hqy?WMP%TDlE3AfJqsk^@(!%e1Eo=tXPnF)C!IMqb>D{ zZeiireG${6xLp7Cbz989CclBzAcckx&jZhZMctb^{d;DIF2n^#MB-DCL^qucBtH5a z!=ScqqXG@wm*fx2{N)l?>u6xJTwcJulF$N=Gp7$R=7_*&@|U3dJ?o z==k{!l18sY?B*-zwqY`o18XVRnSHd}M}LsnWbVEHN*Oykol)u?uBoWN(xrZ@%ZUZ} zH2EqJv?IQS?Pf}YFFc7$BvC^4zhF^wWpTq#9AAxt1-$S`ls2gziB;^heOFv9UG8x1 zVp)L*1fXbO7OoG25I$@8AlhdBV@Af@e)dwkOP-wfD7Mhq^&DPlBQ3|mFqK3ny238O zyBGA;I_>64lDxj!g)Tb=vPjcjCx%^_*!%_?@WApI%U}izi=suH$v2=eR$$S*|DiP) z3cu$kVB>0t4qO>l2RNMyk$x_8r0#vbVfX}4k1zYp* zgjZy_a}k#I#rDH0@!32yJa*-S!@(K-5VN{Q399ezw+FS6mS>AyXwmce5MFJDVwK$L z?-}O|_hmnfigYMg!F`6-Bploeh8@a}RpS$ne!Bz3Z-0A}A{G|%t=@Rz_^`CYBX7)` zHprwKG1l>`<#o=HedK*Lvs?ZFP8W5>_SeU+ha<|bsyqvS&TNvXENk4EM;N!}^9Q#3 z#F@ay%qfj22A(T;RVY~tzkho)q7}k!vrnEP-GiRo&KZ;NvyGi^v2eraim{GGZb=c+eLrY{&WzKhyrA&Ian->_q^>0|-BdbTMQ4Gyb6UN&0vY-zWG6TF35<#+>}= zszO)c;&J+}UGTc{^3r{o;+9#zNUbb`_UuL(=Rt-plkBqj9QfglrcoQ6)%e;_a@cih2tT^!85gEs72b5evGK1XJL|@%$#S)=yFmqM;H4Hqa>7{ zMi}Mr>f|SLAkXMz(_BS=*-?S$^RFw6E>S}kt9OS#-=MN|s%%J6LC%+M(WTw^7f=9z z*4dAI1T$6B$MW!-@2tSR?DhM}{Fc`R)?#pb~6Ys-w>k=l#K7uB7h<>!cfxRorL*U|_ z!Niw>Se5*Bu={gvbn@DBYo*^a55mmt87g~-V4jJG0fWd&=j)W^rM#PelPj~wPE4%+ zuU6iwHRAEL%c<`2VD#Qt(0r@?ut++;;IS33M_@tZFSFST6G)2s=r5*N(zorW-zJLjCz&)r%66jOvx&7_bYu35z_&y<9d+ zcM_G*wPjb;&{cI`X9&Rh$TS3hR4`(hP+;Vhm_Ii+$e+-!%UKuX&Gn&PBz%F_X=-%V zqk68+7fld<{g{qWFuqgjhpiskHG1{tH|7CjKu!G=EBhrI3OO2H`g0l<`Sz5OX6*8% z+Gm3H31O?y{^^55SFig$FJ*=`x}o`>p(0h8iyBJ+X--!w` zdNDV61rB0ALOzY$@a*#>IsM??dgi&o5Y8YqK~-B!9O^cOVJ&!VDr15?TzH3h%` zr1&O>Su%0Sbq-;_aa606W-V4BDI-L_Cc z-D5%VzFy`#*P7!A6GWI>89}0*9#D~oA7^IQQP{Bjf{44f z*{zsE18ui2=&mB(lkpYrEHW;TPGGGV1(S&xIEk}}ICxigA&vxjht|dwe}bb(Rt#KV zf2~m*Sd7s0d?Zwz?|EMY1k8?n9^#u@j?R?kAbh#0pCPjYyCnS?{<}v}! zL^TA=>$``Wb12N&-P!T&`SsponioEt5d-`UD;t=mv<4u>GUj{#Z|KLs&*>k2OTvU@j4j#o>8%efH(0sR3rtnss z=(-F%)5oTF#!VdDdD~jRU*-dvKBf;MYnuDI)YDD8gj$J8arei(^K-H$@zt%Z7bA0o zTWb;mG(FuVu=;p4KMq9rJIDx@Pd{x$+8m{ZeHBH6FQjMLM{iFn;+cfn1o_IPZMv|xaw(c>n9gWp5?Azy#7+M+-N=OIj{ws)mBBty0xqo z{Tw}A6@X*T+l`nBLHlmLGGaOd2{v2#KE1D(OmAy^llRq>FemJhG_~f-)el$StI`UD zk1y`dI;MU;Adc*ZW_rVK$!trC6KAhrHig~>-v`J3_#R7=)+Z5uXN&bBD8hdt2-Q?w z&wj`=ZRZ;*&>_}CyH@);{6c$&%~+3s*`9l7=ID7#9$cd?mR*DL9t=I2Zo9HoOGv1! zBd8EmI~TJ29R^fc=Y#ca>)DD2_!2=UqQVG;^!V612nc|VwMEZ|i-9F*UajC(B0A|p zU-jC}7yd?Y$L;Z_$iPjf(K~vJz+uBp9}QzS!X=A42!&bYSJt;kjJ<6^wH#crhaHya zrPaL!0Xwk@;?Plx!{N~S+tpTejE!fz3-dhe`%L(%)?~9Kcc@0hpB#^#nMtJhZW5P` zc;VC%5MMnpb-#Cy2 zk?&fzDUEC%m9%lql4c{yqVHab%C!V3sTsN8wX5y=SlG~TuG;uc@aACgI_g<-RqBiQ zNHUhlki_|6!4fQc7WCG;l;*lU)29A=tst4@i^Z;&4EJ4I&11o*>c56KfkQC;3z@? zA0j<(NyRoh*PQ+KvRJKT6$cMx*SqUvh2uSkE?!v;xCQ<~lkgJ~4{N;Ooqd9$%a93A z)pgLO#ZbXg*y%xBPA-R!8|tO`z^!$LZX)z%_q=a9+)6USY}K_$-}sH+miCZc{ck;* z{c!}~eW6NBFqvs7yr|DOQ(66%KfSau(KJ-ZUCUu}z8sJouMO9u_T$vOTc+_?(BYBv_pUkHh5%whd4{=L|0HcjUMLcH#JEn3le< zz|2Gm&3&d#$x-HkcolRM+GcM$S`jp_XnjN2n}VI5@oh7AfnP$^2!0IZU}P(D^3IUX zFgQ|pP^kZe&?{Ql^WyEDz-`re`_&&CZ+C;-)689O7Z#_{N4=$j#JQT=)N13}Mo-2t zh0XP-g0}s5)hbhT#NXk^@<(g89*}~A7z0Nc3CC9ueRdt^&K+FykzKwLW$8a6p=UREJ0#N$0FbSn;lNl;G<)_uO_GhpCL&p7P@1(8nKR)~ zBSU!YIYZ+$0{`us=@2@Q={P6UUtfQ@j*uHcNE*tmBjwxT`~o530uX%6_(WA%0iQ8S z0g7#}wh!6J1u6RhFX*{n4-el#1)^>h3tmn{(KYntVS)2ina`NPcC$cQ2FZ z3GCO$Vtch$yP)+aTW_c3HQ}G2x(4&@SI_HSla{8_Oj07``CPlY4;=V!N;chN_hi4c zmaXG<{B3A5C)`<~U3%ikgwnZxSj2u5S=d}T6n*p3MPjmTH-dckxvOBOH8FWyV`Kpb zh_d76tAHdQGpdf7abF3;Lq?Qvp%=yUg^;Wh6j)$P*M6#1nyCT3YgW>xqQanRe2>?2 zd8xi_UXLWdovcCzar6N?=MU$Esf?JQW>Nb(VVf@CLXrLO<$cv#SH(oqVTBLk()G6)x{w*y+qIoD}_%Iswof}t%F-=}_$o*^ruVpf`ll?-xUFWc`FMD(P3k9c0)4T}9+>lU( z!`;xl{_5oQMS}+RebQl|Iqw(xr zw{gI4iQ`Bq?LgrGZ5k3kT7;CZ7IXWf%*W#WwL{Q;e|7H=|k=(>FF2E-H}t-^FDW(qw41$(n`%aMsD&X z4CA}F!cgHrd>MDBVLx@em}MeZ?(Ew(J`>xQTTt>T=E?IJ!$Ad(&qVK3$sW8K-SPxH zWFsT*I2k-maqi^5mn=dxx7OF{yB4J@1SKE(`;x^SThn@_ZTP%KBJn2BGCMV9!Zfcj zzv4(Q8hGpnG+c}Z1E(sz7iR~y5%e&1izoW6cm>}s6YcZ(O=9SzyM~WW5266dVGU24 z7Dx@;RdjZh2M#Z`PqvD-hX%B0V`B%ls+xnkpR%VK(ZNP&r4A*Is?whxPo4JxCZqSk zz6KZYQT0?=!!?9DM2)K?SX=l8w|cw{n*3aiKTkpW>SVo-PKI!N7H`<5orC9%NrYmKiHk+EsN1T8*Xd>6?u3Oghu%^>e| zV51#rQRf^=87Zt!cOc@BPr+6=a+kgHjZ}{<`*D||__^RY68S=`$L~L1e(|DrEmC=n zOrT;oLwdDa6dEX~3uH9GTau5&lF9<$M;j+M>Ypq2Bba|_fq3KnmXj#g;5`~Xf)~{@DaIA=} zJ`W^1_cVQCZl;_eUtY|ff^o+W`>L7@_tU}EfJgZ2bV5UkD>e=;ed?^OXD%gB~Z}y2$KD#OO9+-clb?#Dt5| zPj+p|uH7?7R8gKymM7tRhOdwygPF%a(70` zn}>c{>&RNK*6ca>bt3g0=?8SYi**?%zSC*k63S26_UXntzl<}Q?}k>YYsUwVt%tAG z8;MV~^wime1k4KDY=-Y-9V@8Ps*8(fKj~Z7a3n0&)%2Ek_XNZF?`grZlD4)^iBk@J zQ&*Y))~(3q{OL0Hhfe{ENr6GZxbid7*Duv4=_Y0WG#Y? zcAWCLehVIRikPa?<+Zcw`||b8C32D+3uLLPU%II$yA4D``ONn1nhd*oIVv{V;I z(Kq-adLqf-X0;1_ZoRn43nnAzr$QpP=ZJV!)efbl5~a1~hj(874s~FD9)_vUXEpnk zl}v0DuTy9$h<1cT*e;SrVkEpfLqSA7_uJQI0zT=y za9rO8d@@+!C=TnFyrDIq$aw6x41099MP!Xuz8{F(GP^Pvb>a8Re*p6FZ^Fn--4@D5 v={wFiYVHWRpAiNct#EWI=2dr!9$zQhHcxXTY#NLnng~p|z2a`WLWKM;eXy`4 diff --git a/src/main/resources/assets/superbwarfare/textures/entity/mle1934_damage.png b/src/main/resources/assets/superbwarfare/textures/entity/mle1934_damage.png new file mode 100644 index 0000000000000000000000000000000000000000..43af4aeb553351c97fa5b955d6fb9a4bbd6d35a1 GIT binary patch literal 35387 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
MRZgosWp=U0zm{5GX%-y9PA@Vau9m(Ic*q8VRQ z6#^o5PZj0on9s9QEG-J^on$D5xp|%Jqd7DMo)>$2*Wlz+t&>lQalN$;70tLz9PSp@ zJ(TR#G;|KJFfHCRTCin*WJDw=M-R4LeV`CNI}a=LEAQAhW`m9tod{!0T)Cp_vkJ5@TwHS z(CyM!r#T-Jf87?`0XwoYIR9rRv zA;2-~-&tFVNnhR3azV6Tb}iJg|J<183pWDdF<76oCW@889_f z#aE(Pcff{+5rot(PUtjDO;2w0I-Cjhu&W^Plz`tkEL5^AZt|hqz}mH1ft{@})OxIQ zJZ9l`+>|JBJg0ZFGs)PL!DUI{Wu{|k{^olRPH9~X$f>?I z+!LKW{~*OUamry_=0R)jr5>z>Z9qHSK0Wj%xos>`BXE#m{T}m$uWfL`Mn9<9RjSdy zbMwrtrB~`+G*lK+gZhRv?pKYb#<99*K>1-5?mmau^ixV;U|`ca+3Xw^ zORB~rxd5niQZ50ZISc*L^78C}uO)fvA=&e7llJkVM{Sa--1#l14b~w3WTDj9+@{Xh&my{=qTy+KkEIvjYxA zH&K^OBB09Dy<>%?>DwQ#=3w literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/superbwarfare/textures/entity/sherman_damage.png b/src/main/resources/assets/superbwarfare/textures/entity/sherman_damage.png new file mode 100644 index 0000000000000000000000000000000000000000..3ad41aaf9ec0601515f9a89df0e5bbb02188fb33 GIT binary patch literal 22242 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 z zf%$OdxW+BA68E z4`0w6h}Rt~HmjUvU|V)DdqG!JlZPN0Ui#jvLvsi-m>qI9Z4bRSrE_-w{wCoYJ`c`n z9Q5jhrP1C`{>{tTzBjC~)qA_ZgWG_$w94~66|VE}Aq$??FLP$YOP1Dubdj!S#&>>4 z(Aof8Z#5kA58`mo7*OoZ6(I%@M!JzWOlMDd8PT652bgI7d+94ItDp-taOHx_twce%C~MZ}?~SZTHyJ$h>{BbBc-g|> z4~1PpE)rlAk}zA%rt94@cY;ww%jtoa@@H9Fk!F#{^c+Q03oO7s;uujR-Z*7s2TL5z z0c>v_WT-#Q8a+M)oc>k0HG5deIMhYmPsB$Y$D?*ZM?NxyplKg`5Oz!=-q$#}%@xnn zi_o$37*&}buTQ*51RgS9MQvgp+WAUGfd71A+9!Wr(9{#c9BK}oZb)E<>50xq2siNM zaPxsyUrHv>fh(6Lnp&^##;U-3agY}Msvh#enHhAX_%|w%DT`cjz-ntoz!?uaw*C@W z@KaazalLyu{^^&~J}xLhOWQoUMe*Qh&XBs(RXC^*tD$MbRS3Bv@r4i^#wCdyyI3En zTxa@v@Y#>wm0lEsAlPg)O$l~}kpFGS?VrNnlZSe~QQe#QyU^l0Ydew!g0xC(t=a~l z%g6}nxeGvPjc%1f%WJ|6dtrBX?0o)}@y<{L?xbl;T-Diu6&xX=?;$@*z>|E4spx+& zrMYU(>+$qe9GZf6`Vw!uWhzvH_oVpeB0X(L%OE9bYh^{s?W^UaKrY;ZB7bC>b~M_x zW6tNRsxzRtoeTFvGP_fLW$<&;va+zBpp7d&C7D|(23!%=)vC6+SP+W~j1q0F$myPv zl0N_^w#;T8M7mF8SqbZ)`1<~J!6f34iCW>t9^?(^;Ig1=kDP>Bg2Ak6LCk+ZCD??n zB9R+)=-_VINttL^H(I-6uAv-CkR+|Y#}o-IN5?dod8j&n?Q1G>GnCi8~uI0*A(G@|xM<^rnQUn(R+n0J@dH%Za`0HXmrv~ z{26f!iqCP#BIp6p!ndA>1(JKNlzdP*egG#4Qz!g4CJ^u~#n)Fa{$Nh?9-5JTms&&l z!0^GY;AZ6mmVJaq(;e>$2D9~gJWC}*=JB=rAp;BjDiLv-|M7$$f0;?2ppfXOC$mGV zL1KulK-R+Gj>Fs<;abba_4^`1%g|am*;Y@=3cAu!W3T-#941L=_?>ys%@&KL00KgZ z3w3}tQL!<$AIz=1-+oGnOW@Fx;ABL&S4N>oKgIAOga6KT1`3p7Qdj5&Zp%O}+-Yne zi-j@ZO0-dfJ1gvPWJ*3PFnuljD$lc1QNw?B?c=;(*ni=q%+-X}v8m&>;1A5EPS9DK80{tB z4yF_esoeZszv?udml7+>DlEc=5U)@2tp9iL z@OG7*-vG+coh_$zAiw-9#PR>v|KSd-%Ky0~0f$8Dixzy~yMxx^>1gR|)~mmY{vR^% B()9oU literal 0 HcmV?d00001