From e889dd85ee989fea69572b99f0545cc9eb98e2af Mon Sep 17 00:00:00 2001 From: Artem <106631540+rzc0d3r@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:33:06 +0300 Subject: [PATCH] Add files via upload --- Common/NPCLootDrop/NPCLootDrop.cs | 25 ++++ Common/Players/ERIPlayer.cs | 18 +++ Content/Buffs/BlessingBuff.cs | 22 +++ Content/Buffs/BlessingBuff.png | Bin 0 -> 9757 bytes Content/Items/Accessories/RadahnsGreatRune.cs | 47 +++++++ .../Items/Accessories/RadahnsGreatRune.png | Bin 0 -> 9757 bytes Content/Items/Consumables/RuneArc.cs | 45 ++++++ Content/Items/Consumables/RuneArc.png | Bin 0 -> 9757 bytes .../Items/Weapons/Melee/BlasphemousBlade.cs | 129 ++++++++++++++++++ .../Items/Weapons/Melee/BlasphemousBlade.png | Bin 0 -> 3395 bytes EldenRingItems.cs | 15 ++ EldenRingItems.csproj | 21 +++ EldenRingItems.sln | 25 ++++ Localization/en-US_Mods.EldenRingItems.hjson | 17 +++ Localization/ru-RU_Mods.EldenRingItems.hjson | 17 +++ Projectiles/Melee/BloodSlash.cs | 75 ++++++++++ Projectiles/Melee/BloodSlash.png | Bin 0 -> 3061 bytes Properties/launchSettings.json | 16 +++ Sounds/DemonshadeEnrage.ogg | Bin 0 -> 54930 bytes Sounds/RetrieveLostRunes.ogg | Bin 0 -> 76761 bytes Sounds/TogethaAsFamilee.ogg | Bin 0 -> 52765 bytes build.txt | 3 + description.txt | 1 + icon.png | Bin 0 -> 3425 bytes icon_workshop.png | Bin 0 -> 60866 bytes 25 files changed, 476 insertions(+) create mode 100644 Common/NPCLootDrop/NPCLootDrop.cs create mode 100644 Common/Players/ERIPlayer.cs create mode 100644 Content/Buffs/BlessingBuff.cs create mode 100644 Content/Buffs/BlessingBuff.png create mode 100644 Content/Items/Accessories/RadahnsGreatRune.cs create mode 100644 Content/Items/Accessories/RadahnsGreatRune.png create mode 100644 Content/Items/Consumables/RuneArc.cs create mode 100644 Content/Items/Consumables/RuneArc.png create mode 100644 Content/Items/Weapons/Melee/BlasphemousBlade.cs create mode 100644 Content/Items/Weapons/Melee/BlasphemousBlade.png create mode 100644 EldenRingItems.cs create mode 100644 EldenRingItems.csproj create mode 100644 EldenRingItems.sln create mode 100644 Localization/en-US_Mods.EldenRingItems.hjson create mode 100644 Localization/ru-RU_Mods.EldenRingItems.hjson create mode 100644 Projectiles/Melee/BloodSlash.cs create mode 100644 Projectiles/Melee/BloodSlash.png create mode 100644 Properties/launchSettings.json create mode 100644 Sounds/DemonshadeEnrage.ogg create mode 100644 Sounds/RetrieveLostRunes.ogg create mode 100644 Sounds/TogethaAsFamilee.ogg create mode 100644 build.txt create mode 100644 description.txt create mode 100644 icon.png create mode 100644 icon_workshop.png diff --git a/Common/NPCLootDrop/NPCLootDrop.cs b/Common/NPCLootDrop/NPCLootDrop.cs new file mode 100644 index 0000000..3acaf99 --- /dev/null +++ b/Common/NPCLootDrop/NPCLootDrop.cs @@ -0,0 +1,25 @@ +using Terraria.GameContent.ItemDropRules; +using Terraria.ModLoader; +using Terraria; +using Terraria.ID; + +using EldenRingItems.Content.Items.Weapons.Melee; +using EldenRingItems.Content.Items.Consumables; + +namespace EldenRingItems.Common.NPCLootDrop +{ + public class NPCLootDrop : GlobalNPC + { + public override void ModifyNPCLoot(NPC npc, NPCLoot npcLoot) + { + // BlasphemousBlade + if (npc.type == NPCID.BloodEelHead) + npcLoot.Add(ItemDropRule.Common(ModContent.ItemType(), 12)); + if (npc.type == NPCID.BloodNautilus) + npcLoot.Add(ItemDropRule.Common(ModContent.ItemType(), 4)); + // Rune Arc + if (npc.type == NPCID.Pixie) + npcLoot.Add(ItemDropRule.Common(ModContent.ItemType(), 8)); + } + } +} diff --git a/Common/Players/ERIPlayer.cs b/Common/Players/ERIPlayer.cs new file mode 100644 index 0000000..ca6113b --- /dev/null +++ b/Common/Players/ERIPlayer.cs @@ -0,0 +1,18 @@ +using Terraria.ModLoader; + +namespace EldenRingItems.Common.Players +{ + public class ERIPlayer : ModPlayer + { + public bool Blessed; + + public override void ResetEffects() + { + } + + public override void OnRespawn() + { + Blessed = false; + } + } +} \ No newline at end of file diff --git a/Content/Buffs/BlessingBuff.cs b/Content/Buffs/BlessingBuff.cs new file mode 100644 index 0000000..688ded1 --- /dev/null +++ b/Content/Buffs/BlessingBuff.cs @@ -0,0 +1,22 @@ +using Terraria; +using Terraria.ModLoader; +using EldenRingItems.Common.Players; + +namespace EldenRingItems.Content.Buffs +{ + public class BlessingBuff : ModBuff + { + public override void SetStaticDefaults() + { + Main.buffNoSave[Type] = true; + Main.buffNoTimeDisplay[Type] = true; + Main.debuff[Type] = true; + } + + public override void Update(Player player, ref int buffIndex) + { + if (!player.dead) + player.GetModPlayer().Blessed = true; + } + } +} diff --git a/Content/Buffs/BlessingBuff.png b/Content/Buffs/BlessingBuff.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad37246d1f963fae6982b90a9109e6e626c72b3 GIT binary patch literal 9757 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!X^2Ifdl7srqY_qWr%eS`x=+Wt#g)lU4hDj+~^ zqt*(}&cH=^DhGQfvSuyH@#)zWAinF9P$pz0_v zrCc;all50a*)6ML>);2EZj>c4aqoZf%*Xoqz3Ov2)6dOGWN>NSn7Com9fL=LFJ|?2 zI8AVQaO(8?johqqb8cwH9`y+O-!PNI@mS4$8^H<-iSC9o-5a;A42)J-jdv&2#@cYq5#n$W`3Kz{8_zy*t}kY`%E`aJ%(nH?E>G73KTk8- zi6}kaYw+C7|Fdw4Q85S0pASEoH+<(wIQFmW<)06JvluJVVxPO$GP%I%M-g9R;IgHPzKa{%9vfI)=|A;J=}F3L7IBFWi3?UOo0b?U zX0?}*E!pZ!<}z2@)^i2SSr024yC3|;vcl-V>%!#eTP0dq z#d>q<#N0GQvS5vp_`jv9J-&X2GOj4g@EwlY7QSn?R3Woa=$flN=g%Zt zinPV0H{5>fYI0`L{d=x*mt8LWUeR@+#hrcaw8MWE^;ewV!1F8W-Q-m>v-%342jjl+89_lvcdIzAY@*m@&&muzsb-X!+T z?_6hm>QZTa5}Dp`&{=tc655+qIJ{i@-NI&pSAzzu1Ejl-K3AQxikFWEpuqLTeR4c z9hmbNJYD@<);T3Kv2X||C^-CKU}OTZ92$U(nGFmlSMUl#IHU5T;WL^(M)SvL`7l~O zj@A#O_2X#!V6=TS+CCg@ACLAAM*Byg&f;kQaI}9o+CLoaACC49NBf7P{ln4z;b{MG xw0}6-KOF5Jj`j~n`-h|b!_ofn==i|s_`vA+!0;X)_`qkLdGX?PWpU(%B>-QdQ<(q& literal 0 HcmV?d00001 diff --git a/Content/Items/Accessories/RadahnsGreatRune.cs b/Content/Items/Accessories/RadahnsGreatRune.cs new file mode 100644 index 0000000..bb96ac2 --- /dev/null +++ b/Content/Items/Accessories/RadahnsGreatRune.cs @@ -0,0 +1,47 @@ +using Terraria.ID; +using Terraria.ModLoader; +using Terraria; +using Terraria.Localization; +using EldenRingItems.Common.Players; + +namespace EldenRingItems.Content.Items.Accessories +{ + public class RadahnsGreatRune : ModItem + { + public static readonly int LifeBonus = 15; + public static readonly int ManaBonus = 60; + + public override LocalizedText Tooltip => base.Tooltip.WithFormatArgs(LifeBonus, ManaBonus); + + public override void SetDefaults() + { + Item.width = 32; + Item.height = 32; + Item.value = Item.buyPrice(0, 7, 50, 0); + Item.rare = ItemRarityID.Lime; + Item.accessory = true; + } + + public override void UpdateAccessory(Player player, bool hideVisual) + { + ERIPlayer eri_player = player.GetModPlayer(); + if (eri_player.Blessed) + { + player.statLifeMax2 += (player.statLifeMax / 100) * LifeBonus; + player.statManaMax2 += ManaBonus; + } + } + + public override void AddRecipes() + { + Recipe r = CreateRecipe(); + r.AddIngredient(ItemID.PixieDust, 100); + r.AddIngredient(ItemID.CrystalShard, 25); + r.AddIngredient(ItemID.SoulofNight, 6); + r.AddIngredient(ItemID.SoulofLight, 6); + r.AddIngredient(ItemID.LifeCrystal, 1); + r.AddIngredient(ItemID.ManaCrystal, 1); + r.Register(); + } + } +} diff --git a/Content/Items/Accessories/RadahnsGreatRune.png b/Content/Items/Accessories/RadahnsGreatRune.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4e77722db5be9f9d203c19cb13f12a847e1a65 GIT binary patch literal 9757 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 J>i_+(_zy@QS|0!a literal 0 HcmV?d00001 diff --git a/Content/Items/Consumables/RuneArc.cs b/Content/Items/Consumables/RuneArc.cs new file mode 100644 index 0000000..0f6e5fa --- /dev/null +++ b/Content/Items/Consumables/RuneArc.cs @@ -0,0 +1,45 @@ +using Terraria.ID; +using Terraria.ModLoader; +using Terraria; +using Terraria.Audio; + +using EldenRingItems.Common.Players; +using EldenRingItems.Content.Buffs; + +namespace EldenRingItems.Content.Items.Consumables +{ + internal class RuneArc : ModItem + { + public override void SetDefaults() + { + Item.width = 20; + Item.height = 40; + Item.value = Item.sellPrice(0, 0, 50, 0); + Item.rare = ItemRarityID.Orange; + Item.consumable = true; + Item.UseSound = new SoundStyle("EldenRingItems/Sounds/RetrieveLostRunes"); + Item.useTime = 30; + Item.useStyle = ItemUseStyleID.HoldUp; + Item.maxStack = 9999; + } + + public override bool CanUseItem(Player player) + { + ERIPlayer eri_player = player.GetModPlayer(); + return !player.HasBuff(ModContent.BuffType()); + } + + public override bool? UseItem(Player player) + { + if(player.HasBuff(ModContent.BuffType())) + return false; + if (player.whoAmI == Main.myPlayer) + { + ERIPlayer eri_player = player.GetModPlayer(); + player.AddBuff(ModContent.BuffType(), int.MaxValue); + } + return true; + } + + } +} diff --git a/Content/Items/Consumables/RuneArc.png b/Content/Items/Consumables/RuneArc.png new file mode 100644 index 0000000000000000000000000000000000000000..a897dead5645262689c3fccb8ee529cd2167f861 GIT binary patch literal 9757 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<Nn{1`ISV`@iy0XB4ude`@%$AjK*1-TE{-7{-fypM-~kw_gk*p*KR1a zyR?g$Ij!QI+Rk@dcig{|s4?a7!vp2ZwC))EnbR71y16F4)I{h)!2F0Bc@vH;fd^V1 z@~L}#yf9uqvHdk;{&7P1Eb>uqvHdk;{&7P1Eb>uqvHdk W;{((iANas$o_X=&b!Bnn)l2~V370eg literal 0 HcmV?d00001 diff --git a/Content/Items/Weapons/Melee/BlasphemousBlade.cs b/Content/Items/Weapons/Melee/BlasphemousBlade.cs new file mode 100644 index 0000000..b0b5645 --- /dev/null +++ b/Content/Items/Weapons/Melee/BlasphemousBlade.cs @@ -0,0 +1,129 @@ +using Terraria; +using Terraria.ID; +using Terraria.ModLoader; +using EldenRingItems.Projectiles.Melee; +using Terraria.Audio; +using Terraria.DataStructures; +using Microsoft.Xna.Framework; +using System; + +namespace EldenRingItems.Content.Items.Weapons.Melee +{ + public class BlasphemousBlade : ModItem + { + // MouseRight holding bonus + float HoldingDamageBonus = 1f; + float HoldingCount = 0; + bool BladeIsCharged = false; + int MadeChargedAttacks = 0; + bool BonusLimit = false; + + // Blade default properties (without holding bonus) + int BaseDamage = 75; + float BaseKnockBack = 5f; + float BaseShootSpeed = 14f; + + SoundStyle BladeMaxChargeSound = new SoundStyle("EldenRingItems/Sounds/TogethaAsFamilee"); + SoundStyle BladeStartChargingSound = new SoundStyle("EldenRingItems/Sounds/DemonshadeEnrage"); + + public override void SetStaticDefaults() + { + // 20 - Number of ticks after which the frame will change (3.5 frames per 60FPS); 8 - Quantity of frames in a blade texture + Main.RegisterItemAnimation(Item.type, new DrawAnimationVertical(17, 8)); + // Allows animation rendering not only in the inventory, but also in the world + ItemID.Sets.AnimatesAsSoul[Type] = true; + } + + public override void SetDefaults() + { + Item.width = 94; + Item.height = 92; + Item.DamageType = DamageClass.Melee; + Item.damage = BaseDamage; + Item.knockBack = BaseKnockBack; + Item.useTime = 30; + Item.useAnimation = 30; + Item.autoReuse = true; + Item.useTurn = true; + Item.useStyle = ItemUseStyleID.Swing; + Item.UseSound = SoundID.Item1; + Item.value = Item.sellPrice(0, 75, 0, 0); + Item.rare = ItemRarityID.LightPurple; + + Item.shoot = ModContent.ProjectileType(); + Item.shootSpeed = BaseShootSpeed; + + } + void ResetBladeBonus() + { + HoldingCount = 0; + MadeChargedAttacks = 0; + HoldingDamageBonus = 1f; + BladeIsCharged = false; + BonusLimit = false; + Item.shoot = ModContent.ProjectileType(); + Item.damage = BaseDamage; + Item.knockBack = BaseKnockBack; + Item.shootSpeed = BaseShootSpeed; + Item.useTime = 30; + Item.useAnimation = 30; + } + + public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback) + { + if (BladeIsCharged) + { + if (MadeChargedAttacks > 4) // 5 attacks (0, 1, 2, 3, 4) + { + ResetBladeBonus(); + return false; + } + else + { + MadeChargedAttacks++; + SoundEngine.PlaySound(SoundID.Item73, position); + player.Heal(Main.rand.Next(15, 41)); + } + } + else + SoundEngine.PlaySound(SoundID.Item60, position); + return true; + } + + public override void HoldStyle(Player player, Rectangle heldItemFrame) + { + if (Main.mouseRight) + { + if (HoldingDamageBonus < 3f) + { + HoldingCount++; + HoldingDamageBonus += 0.003f; + Item.damage = Convert.ToInt32(BaseDamage * HoldingDamageBonus); + if (HoldingCount == 25) // Take away player's health every 25 mouseRight-holding events processed + { + player.Hurt(PlayerDeathReason.ByCustomReason(""), 18, player.direction, armorPenetration: 1000); + HoldingCount = 0; + } + } + else + if (!BonusLimit) // Will only play the blade max charge sound 1 time + { + BonusLimit = true; + BladeMaxChargeSound.Volume = 0.8f; + SoundEngine.PlaySound(BladeMaxChargeSound, player.position); + } + if (HoldingDamageBonus >= 2f && !BladeIsCharged) // The blade is charged when the damage multiplier >= 2x + { + // Changing blade properties + SoundEngine.PlaySound(BladeStartChargingSound, player.position); + BladeIsCharged = true; + Item.shoot = ProjectileID.InfernoFriendlyBlast; + Item.shootSpeed = 20f; + Item.knockBack = 9f; + Item.useTime = 16; + Item.useAnimation = 16; + } + } + } + } +} diff --git a/Content/Items/Weapons/Melee/BlasphemousBlade.png b/Content/Items/Weapons/Melee/BlasphemousBlade.png new file mode 100644 index 0000000000000000000000000000000000000000..beac3d782152098f7ec9146f15ccdd9d6b84e98f GIT binary patch literal 3395 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 Wh(0HuWdZ&~K+bzz(GML1lKu%_V5IH< literal 0 HcmV?d00001 diff --git a/EldenRingItems.cs b/EldenRingItems.cs new file mode 100644 index 0000000..894042c --- /dev/null +++ b/EldenRingItems.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Terraria.ModLoader; + +namespace EldenRingItems +{ + // Please read https://github.com/tModLoader/tModLoader/wiki/Basic-tModLoader-Modding-Guide#mod-skeleton-contents for more information about the various files in a mod. + public class EldenRingItems : Mod + { + + } +} diff --git a/EldenRingItems.csproj b/EldenRingItems.csproj new file mode 100644 index 0000000..89970a0 --- /dev/null +++ b/EldenRingItems.csproj @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EldenRingItems.sln b/EldenRingItems.sln new file mode 100644 index 0000000..74874a3 --- /dev/null +++ b/EldenRingItems.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.10.35027.167 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EldenRingItems", "EldenRingItems.csproj", "{7005B578-8D75-43AE-9CAD-29316EA25D78}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7005B578-8D75-43AE-9CAD-29316EA25D78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7005B578-8D75-43AE-9CAD-29316EA25D78}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7005B578-8D75-43AE-9CAD-29316EA25D78}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7005B578-8D75-43AE-9CAD-29316EA25D78}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BEEB6D2E-D7D7-492A-A0E0-4130BA8872A1} + EndGlobalSection +EndGlobal diff --git a/Localization/en-US_Mods.EldenRingItems.hjson b/Localization/en-US_Mods.EldenRingItems.hjson new file mode 100644 index 0000000..1160abe --- /dev/null +++ b/Localization/en-US_Mods.EldenRingItems.hjson @@ -0,0 +1,17 @@ +# This file will automatically update with entries for new content after a build and reload. + +Items: { + RadahnsGreatRune: { + } + + RuneArc: { + } + + BlasphemousBlade: { + } +} + +Buffs: { + BlessingBuff: { + } +} diff --git a/Localization/ru-RU_Mods.EldenRingItems.hjson b/Localization/ru-RU_Mods.EldenRingItems.hjson new file mode 100644 index 0000000..1160abe --- /dev/null +++ b/Localization/ru-RU_Mods.EldenRingItems.hjson @@ -0,0 +1,17 @@ +# This file will automatically update with entries for new content after a build and reload. + +Items: { + RadahnsGreatRune: { + } + + RuneArc: { + } + + BlasphemousBlade: { + } +} + +Buffs: { + BlessingBuff: { + } +} diff --git a/Projectiles/Melee/BloodSlash.cs b/Projectiles/Melee/BloodSlash.cs new file mode 100644 index 0000000..6e806f6 --- /dev/null +++ b/Projectiles/Melee/BloodSlash.cs @@ -0,0 +1,75 @@ +using System; +using Microsoft.Xna.Framework; +using Terraria; +using Terraria.ID; +using Terraria.ModLoader; + +using EldenRingItems.Content.Items.Weapons; + +namespace EldenRingItems.Projectiles.Melee +{ + public class BloodSlash : ModProjectile + { + public override void SetStaticDefaults() + { + ProjectileID.Sets.TrailCacheLength[Projectile.type] = 5; + ProjectileID.Sets.TrailingMode[Projectile.type] = 0; + } + + public override void SetDefaults() + { + Projectile.width = 24; + Projectile.height = 24; + Projectile.friendly = true; + Projectile.tileCollide = false; + Projectile.ignoreWater = true; + Projectile.DamageType = DamageClass.Magic; + Projectile.penetrate = 1; + Projectile.alpha = 255; + Projectile.timeLeft = 200; + Projectile.usesIDStaticNPCImmunity = true; + Projectile.idStaticNPCHitCooldown = 1; + } + + public override void AI() + { + Lighting.AddLight(Projectile.Center, 0.75f, 0f, 0f); + + Projectile.rotation = (float)Math.Atan2(Projectile.velocity.Y, Projectile.velocity.X) + MathHelper.PiOver2; + + if (Projectile.alpha > 0) + Projectile.alpha -= 17; + + Projectile.localAI[1] += 1f; + if (Projectile.localAI[1] == 12f) + { + Projectile.localAI[1] = 0f; + for (int l = 0; l < 12; l++) + { + Vector2 dustRotation = Vector2.UnitX * -Projectile.width / 2f; + dustRotation += -Vector2.UnitY.RotatedBy(l * MathHelper.Pi / 6f) * new Vector2(8f, 16f); + dustRotation = dustRotation.RotatedBy(Projectile.rotation - MathHelper.PiOver2); + int rougeDust = Dust.NewDust(Projectile.Center, 0, 0, DustID.RedTorch, 0f, 0f, 160, default, 2f); + Main.dust[rougeDust].noGravity = true; + Main.dust[rougeDust].position = Projectile.Center + dustRotation; + Main.dust[rougeDust].velocity = Projectile.velocity * 0.1f; + Main.dust[rougeDust].velocity = Vector2.Normalize(Projectile.Center - Projectile.velocity * 3f - Main.dust[rougeDust].position) * 1.25f; + } + } + } + + public override void OnHitNPC(NPC target, NPC.HitInfo hit, int damageDon) + { + Player player = Main.player[Projectile.owner]; + if (player.whoAmI == Main.myPlayer) + { + if (player.statLife < player.statLifeMax2) + { + int healAmouth = Main.rand.Next(1, 6); + player.statLife += healAmouth; + player.HealEffect(healAmouth, true); + } + } + } + } +} diff --git a/Projectiles/Melee/BloodSlash.png b/Projectiles/Melee/BloodSlash.png new file mode 100644 index 0000000000000000000000000000000000000000..470f62db8a3548fb76f6a2ffafddb152a674e941 GIT binary patch literal 3061 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⁡#d?8_R1j_-;R`&Z%HqU(X9=AeMmergQ40(r!bgb0b3@1P!r98-gY~BWwg_@L=c=0M+aij>U8X6cTuyX{rZeK(e7eVT4?Ud(J+TbvZa87*bD z)guZ|GtWkEEy%EQZq){S9*=>;Qb6&LXdh&XdRiiwsCefBm&P_?uFx-h3;d@8oe=GdAtn z?G3;LA4T`>QCNr5CB-A(G1Jpqg>klX>LEAdWD@u4!8N}6*27oPyB}x>vvmnyYHvT! z*1X*C?BHmm?@dnedr_63Cvql@+>5<2_u~@5Z-FHkyvqVTe3!+ObAi`PSWC#qIk8M{ zSN!lahK^t4p4+*%CE;DX{A=`b2Kjv&dZuD!>u5TWD+Bq&gR$tQOppl({CI1CHGJ{%^kTF<7b&&?XGTHNy8_c60_Cf|AhLtU2M zol9wO^X2LYc0H>D;(>0~G74>*p4LU5h?Z}@JBAJub%oMzj5Q4zFC}VcUr!$n97JvQ zZY}x_TG<>yAbmX?9d&2jPzk1?y!<%FYx~*hjux(iPe7fU`BfCKzg`W#RRtSB{C+QD z$*yK}X5UNrU zg2uMkjW*?U3O!+rOQSnynaO|@tV>Yp$;caprUuZI(<081`qGi|Uh(jkZP|`$-Aoz` z69@C{QTDgIdWnJu)PRNeNA5pVm^q|=DrC04KVf+3zWSKV61=RCzXXP1U68Sm;H2r@ zO|M)Pw$u?CGaOo}N@E_^)93tQv0bCAcFCpB9Ld1NA?)v=FL)L)K1Ir^*ei?RRn>USX9R z5^89!^l1`*qkJY}ejIY3?GC<)O!dAS1$&)Qzmg0ZZVmTt`c71!)5V;+c>ZxT|77Lg43|e(C{-8i%uh-!rIAujsi1tLlu;UBJ1-Ap zr+C?;2Iip)mv^$-$nUD7#Lx`*HGJ0P@>5apvb3{}gw{Etat-b`#hEatEMP(N1&N#6 zZ%Hv&+x|zzy&kAI#Ez&rzsX&jN8vOSB47S6v_ZV&C#i7QUPsh9Ca#{GBR-$~XnGOn5x4~=t|$ysj`0!d>ApI}>VyM!Cs_5tYw_lCZO#_HAp!yl?Sb;(b6YfTLXr7U>SqKzp(zcv|XxM3r8L(B{|mc{F5Ka-N- z@|1ZK(pJYsqjkfQK{DB+{mo>)>~yd}=efcZmwoPKgS~{GvjNf3e48bN*r-LPq!rgm zxf(X;dQdDv)qb(2PdH{h#`+g$m&$s|#u#MLGfH9!E>q5s zB;_mZczdYKl;RBYCCZ|Nc150V?(c>i){2WA&wbClz5Dv|e_Bu+t>TQ*ry7=*7Tnzq zYu#-2?PW%jq+{3*(F%$3?JP_SHc5J(u%CFlRTH@CN zoF&ptsJ?i80Dc(I8cRu~ zozP_oEhGbTAK}deE!5^EP%kj~Q zwa%5m;c7~BULxU(V$s#Jy-2~WIysexzT2atDm}&dxNMq{@ySNY34aE#4ajyG|gV^)C!%D+wH#_3wnhI1aPZ0}h#Vd3q34 z31;F+&iGrc^mJsizz6I?F0p>T6fDWkFj;E_L>^8D6;to-rTtFCdN#O{UM)GafnLnS*R~x=@z)n zXeiOeVzfEa4t@VddUKb8^V6TwO0?vkh=4%ItL*wO}X;KML9R|FxsBc z%rIqaVvDnA5ZmBj-?GVu>S=@%g+ZHGi)TC)mQC&(&x7HQ zDG!ujc_RvUodS{uc$3LWiCC2}mC+D5w5|%^v4cxbW8A-SezvM5YyFDHg@~_Jzo8nj z!mY|sLmMuck9ugbeqG|DUUmjs$20S`&gH2b|0wPeWGMk z^{4lH@YI{7A};?B+qDP|{Na*1I%wyDP8tfVaeZi*ou8a9HT1-wfq2#D*kbJ{=pL~3 z+Fr6Hf12=fQ00(K)tu8OZVNPAq$C((s zOwz|@A(kQTnXGUjMn>>yP8xF5A5%1bS$f+`?mcQ&vH!fW{ zyvdQIfMkUW<-y-|m z5X4N*Fm^EVs%|y8ae-Hl^X%bUuj8%bD=(~l{GBfSGu=VGyYQoi^XgoW8W9~fIU&VC zfiYI2_&z7>uG?;!7ydt$7p)nPcV^y;F~Gth!;M|zb~gTUe!!O-Aq{~P=(pV#o4N0v zS2wp7ojkI*kv!=PRg z%RV4Vcwg}C!G3TJB@@VhJU%Mm=UR0>kIi2<|2&dH=QToCWB~=CLU*tLul-=X7@er0 z9KzL+*2%zaz|FoEKjuGdDJHiBGD1K&j=?3NqW-ZIW$sCxuj_`RKCm3hZ!((XyXb(i z&+9jWd^I?UZ74JJHya(kvJkm=Y{B}%_wj($hLQM)nVW+U&1WBoVpdyj+~try;xqIR z#;U0rNOeg!`rIHs`7A$U@VHWMYVK3B-A!A^1?q+7Ku_ui@r5JW7jUVLWsc-s zVf!jt^`0J9E7ce>Y+F^-$X1K&AZ|8xJlz2ahxF_ZhUt2&AU8hwaxn?moE?f*9}_?% zH-vTpBW;tIpZ@)MpjhM-=fT&9btuy(g!!+TtW(5**I#2~3iuUXmNF|mE!hitxmkM! z^r6A_o_W~j?5{dclAX^{70`iv_tK^H2yK(EZ5cxlPVidQEn>*Bqra&26FlWw^JmWZ zH_N}qUS*tlwap9{GSrPziqgq9PBJ|wze&AAAzQk*K7tWd8KXm9=mxiw5hD6)SYCd; zHEdeSK-YzcCT=iP8lG%8kxO5N7}Dbfu_<(S*RN}`n=Zs}0H1#kd?S-PWpL&4k1b|g z6XeH3rFMfKNsZ*Ai0sWtHH!bkaVDj(O5ojYfg{(KJ=_nE^tWp0Y^~vgpXhkmV~RnY zkBAg;6$)I6aYR)}yFkq`emLa$&f&T9w~@oTRHT5cBe`q%G zi{(`!wAgwq1VuxWlM4Y^jFRul=?0( zX}^2pm^94uQH@*z4=G-(Aj4J6RozAky~z3ZK-Rgf`wClaN|Z1mC$wgt-D; zx2d>SZU8wIc%^mKz~Q<~*vn>;2W@hXnz~@-gL63-`>pj?{4f6Ve1^g36FDpoLmzO}qcL#o$>@Ku7f~a!s-~beY3Qp3Dm{aL zq-6y6mq z(0zAIt&_O^%FnIdT|ec@OvFTlJkEu6Gho1s;Apy~7tbCmQ4~e0Ys*Cpco_*hqtAx$ zRV_V(K14WV>N(VS(f#>(y>;WN%cxN^Nms11d*dZ5wNYDQh&}?twLG54)LOLXw|_K2 zlAORQTHoQmB%1ZrU-rJTXG@DMWvo#H%>tYZ`luRvcxpeKb&8QPu<@S!RzF8?6y?;X zrxm<*1DnYmMo>R~mk<P!nbJ!*bFZMOgj1d1#>q2z{j!vG(iY=CW&nwAV2zfdqALS_m* z?~YhrNg^C#%M-|1X<)ty$)i1$0l>Auus&o6S^!Iyez5>@`T}`I5VkK%Le)aG*5bj zh(Jo1-^cf2{{;uW%{dW9Vk;IEm$2)Hq&ekAP31x(zck+tDYA)Vv9Z*P`7W80HYxCm z*#W~^v;^sq01vWBvb=_i#MKKY!^CQ{Th3oN#E1j24qmOn)8FceY!c(r(&JAbtfr7! zS%`7)PpKf@x@IuxQ<2q*r#oxq$SyPPX-HvL-d zW&a0rvA#%06aT!jQE`cvB(qn#S%a+_#Z7jRqK3)zTPE$W^sz>B(ooN)Medsz1=dTn zn!3&0A1+;v@DdId3kr#wTaah-rq43P4$KeON0*3O-Ksj!rKa8VZF7)PlO5RLqyh|1 zZ86~)9)3DQF9l^epn2BldgGEgRRUM`p_z6&g92bTo3U9@uiPk5hYV>RN4Qs9LH*1rIyjoB_x8PKz|e#2i=LBFmuw2|IOqOfwI zwPp=P5&8O0MJI#R(DK)&LdhoGNzAwW~gOg0>2+ zTvq;EcHe|No8etl$1B9J@P8!8-+!b2za+>%VmPV*fMlWkpcG%oQ*tP!7gR_UrI1oh zDYh;Ba+Lm-_nyFj9deI-kmZc=l!`HwH=j+B+WHZoImB(?5VbG{1~}n=j=FSA$Ni#- zDWg%Povk#vy{k!`>KE7i?=#-HFA%3CA&P)bp=}$68GYTH!xb7EJj}}if3o!!I@yj}#@T?Zn)j!@Zmx_RGmX)E?-U)>X!RATI5T z!9Tg|2e$`8i&c^SWife81dk!J%wRbbIv7z`HT1~&&mMbgniUMVNx2RQ4iB!m!>KQe zXEn<}ZU%kA1OmGQW4RK zv}PMn<}~LYEEj(5I~W$_R4B1;@SO~UQ!?4_xx~M)=@8Q+6jCglGKJ2Dn0&bZyDad! zo#l1K6;_<+H)%}b_q7w=HnBdp>Sxj@{fbI! zJ*RWhU7~Df$W)Q>x_oK2k{0*#e~mqrJE~#Q>IOp4es&|Q(V_w}(isxtd8QJM{W~@k zEmK^gYerriTZ?Us>YlHSbqZ*CFt|9>=$2ly?LJ({Q9E|Bc0QWgbv{{$3)`mla0`Lp zHqRBp_1MJlx&{`(9Tw(KTx#Whh3}%w!F@`*pK{!eotFxHZ|-E&RZBvUEsirrvPr5|8r{ zbZREy)Y0#;C{tq-Pb4XS_M`l6q|yI0?*FUFR5k^W2-@$qmkpFzG~l&(Z1_vT9IbH?o{ z)#o}>O>X4lS#8P*-P|GW2X5$~#_#O=rw-wCC$_~lD?Hn})ni@K6zLb08hu{o71L+e zvVqa=$0dsn_-?avLfv+!#-Qk8i{L188vjywHWuk0BtKf4NHs_68#o6()B07ls)z}}+Uo44EB znIeKo7{}@yUQPDc;SKOHdatUt-Ed~2wY)s*)&gnm*^ErIyrITQd);rzxX1AlzR%*H z@kG)caaCzdCqnOlm0Yu^Bf`<6%%@wx=R#b$io~4FOMp`8L&oFP?=N_tXZ%)g{Xwo9)Bc20{0LR=A ze?-$y+Fa~m_VpR|_)Xx?-BS=N-X1%d@vA(Me6W9X{9ZT^3dffp6}!Q2rU={zWRBuF zY<^BIp5a}#5?fg~f2jW^B&>-zZkSCI5`EdugXk^4CDLX+$!N&>MTY6z5A@HqNNU`D z6tQDtP$RSHVy5~dxWz5yN|vk^+>XF{?HLtZzTk`pukz9;&^2D_d8Rf~c)_figouI1 z;o*9VU$|a*Gm~z1#vH{gS%Gu*yX$8l;(p8JQPJtP(LX6nVKj|yqJ8F8) z7FGM<*{5YdA80bfpErHP3ZEm`F-+l(HnflQx3u!FrR@3cxFF=K(b|TVX7D9U5}2eM zsO&O1*FYx?7Le|%Yv+_#va~@xLZD_`f&i?B4kprMW1=b0GUnBq~21t>PCsHuBaonFYdv6*myQF+~pdkOGE((+`HOK|jC zT(zk~&S!rHxBz}F;d?ctWMvZhJCYN8mddM~9~0JY=%+P|dF~+cUX#<3`wj{NyFKoF zLI0{&DP9wk#x%=86BKU7%Zs(1?+w>???wGw@RW6}$lNS7c~Vt!@GB#yE$tPiWN&XQ zJhGsn#aijym{4^~jh_*C=Jilz#wO3Z^Z{i@STIk@cHr_JV+AAh?RGwGWueYG@M%H> zRVA--2XNvsXwP{PoCInE%zCc1lDS6Qy4iii7SnCu%uIHBmDGLq)Db5|K6^!hLOM+U z)~O#~c<8N_vb9oPE8ibDe)VxQL_d))aN;G``V(WXsSK4-3&UJ)@yRjTLGx)ZC6D?k zfBRHgqd!6nD9+FvCvD@w1l30mBdVt^wgjOaMGod0G1nP3w$g-VKNfw}EecrJxh5y* z{vYocenh#Ff5;i5A|PZYtaHz1?PNxdKZbowhr&@UekWvqm@BrQBn&s^^5iA+uw0dV z<@4!Q_a&puNr8L5cV--Lkf_tT)Z3^SB;neGykAOOBItY>?C&R8HJrFI(rny?COg83 zWtbJ*gZV>u>7UK8qu;=qUXDA)1VKN6d%g0X{a~5re;6^(TE`Qme;YVEI6JGNDZ_0C zF{whdG$>$LPeJ%w9L-rz?xamB|3&(>fcP$)fqsO;qB9{$y6Rh>hie1W`SjjtLZ|!I0%U3zu)FY0aHwWg|C+6O~PFuYkvFzA6 zHBYs)vDPf?s50Z*|xwI_0OVRi@5n7axK*V2e0%l`aoO z<6&9hTlSTFPvjn`;xv|sRn_9xpS`KSgP+l0j_`m!dDT`#Uwt_U^&r%<@2(ojD0$+K z{Mc8i4G0;xK@2;y^i@*V?7H<_n(9zo;iJZoTaO3YvW3|doa#(CS<=E^pSaI2O7t(NXSZyKpJZ8tXR3Uz8N1Hw;7`2 z&pYKElJ#Vv{MDhDoXq>+=q5RaYacM#?0;WTfv4~1NKUj8EK_a_)Cb6}umS`Q=9glB+=D6J@f|tM-6^|MiX%K^RCJHEey|@J9M?)r#_l|r$>2h zKKH9sNaftn9Dmj&?Xxp3L>X155}xB*%ewVMd@9So_3AW#KFjx}fM-;hSGN@`G*@i) zd%(nybc->%dSNM4Z^S=`g7YbE-`q8+XoCRDK<9&`MB#F=mKevm$^*mHN*Dyg*S zW4Z}y?;?BI6~Q08KVo;heYeZrQcKctYcl@uWo_&r?CsUktWoPXgXDUcwVB^)%apnQ zsKd!Y?kGp4(Hd%5mw5kTfPK0K{4z(6wivl32jVw>f)^E=GV3cvXOphp;tpw59t5az zOniFUCOl1dMkR__%SvtL3o~7OC@ z?BxvCx7qVXh(RA(u`ll&d}ZjN>ZGRn^2c;p1KL}#vF(2W5!J8b7Ef$YrjI0avauf6 z`@~m>>8QRVS6l_i@*@WUHhY2FZ3(6j_kZCc>^9OCTrzmRsALOJ^Q1q|x0{@f8`fU; zZ%GK^TqzRwoXx-Kkxa!&bvflR(3fPKyFRc8KmroKj{Cr1#%U;3$Dr-i>B9UYO7k;6f>SoKp467v|TA+E- z>5|o(9P(-@v%Yusau2N+SBm!}q8@!Bk!g)&H3aooaUW10PQ`AKVwb#f7t{HRI6kQY z>y~O}4DUpXw-Mfo`#t*|f07Pb0Su?^*(25$A06X=A9Y9H>mR%NEW1>r<4}YFR_i(A z$lxn>y_j`s8SBBGYVKwq$p}YKox6QEJ)yjPvea ztPpi<%oR^VHRoFXw$TwQU&-*uez zCu_kgjKtXd0S0((r&yQELje2oJ#S9Jem{EllbPO+Qm_n#RxDZVacA`|cBBNTNV6CG z$9R{uW=P{ ze^gbDD(Qe&)NwjW)P?wI=d+}wv2&UHevn};SRrb^|Z2!jN?MlnG9=BwrQGxZG^m+ zjcz=BQgy_4-||W-hQf1)VuKYI3m8I7wK?}a0}Z4OEe zP?O=kqz`&UD)kvwj6ltmI#0 zqu&Z&Pe1>r$PK93te79kg^r!Il>~!|Z7E%UADgA*tvsEBP35oIdUY&R5;T?*c7KBP zACJBgBYq`;KVJD<5F}}QYiPnr$D(G*@5nfL1Q)_N$FAyNyC1Slp)1(r*W_x3mecGk5a4{66UDb+yZ@WkYaxT4V_S0 zSDkTo;9W|%kGK`%c59qDh6L8G`)a*X3#ltTKX~@88`qC<6aVsQ_6si_)EW#hcN8H? z6k>KP+mjqcLxj4{rLtCPk6AJYK6+f}$FlUDonD6|3f-q_$fSk193L^gxy*RI&oEC8 z-^q~7r*>9x$dkFP%e*yGyVE`&Iu4~&IjYatJ2G7Rik)Otl8;!xY0g{_C+tuYF7o!Fr7vlIel*SQ19JsMu;eQ>Iio4ssmYH$K|uiX(b8CX+^ z;x%!myN9$zp32mcgd>v!?tU5OZ@C8@MF-k0_SP!iga=6#-(6S7t$KHT3b!kfDcjwh zJsWBHUbj}p)}go>S||E(QSI)g4n(kNv`TDf)-YOcc1Kbn=7t7@wYUw!TioU~*i#@y z7uwr`EUsjCCNt2w?VcmL{J+q@+L&%uRf2f_N;Nf0tE(+0tFzSgDNLpJha~i@D48d} zuPLpgi-JYi=WtU-hBqZMCRFq=5hVW1_4AGo55o;_A!9?4-2IvJrP&=t`=e>@o#B%( z*AeEVYs_P10dL(xoTq-hlTa1>;rxg1n&n_vZtTm07bt`Bgy^#~@4_O7~d_a+&wn*MZ1Ml`0^dXc#Uh*$2R; zF0Qy72i$RMR+q(m#uQoFSKoZmxphs?4R&E!6t9A^l|54aH($N8+Xp_gg1f?7Go6dk zZWXn%iB#4ikDOY61e4p?s4G_|WA>$cP}g9VLp*}YOa z)inJOr~P)ES6k0_zAfhPwTg-b7gqoBhYNGf{ZKf@HJ#5w)7RQpiW3_4L&DQDAR+7T z9wL{R(m7E%3Rg3ymzDnO&p zV|6@N@LV>xa~GG-BU^W-OGYj%gcQBNRc7UslSy6k23k})b=2o& zIvQpAb;5;Laj+DC63HKi)IV<3DUfOxAHoD&`R`CvF5;Ju!IqZnbK@tp2bvC_BdGr# z?3kSsA&4y|Ve;B#`PreG5FV(oSm#^nhlPAksFXMkuiZuJX4-r=YNZy&tN2fl;f868 zGc2b+{*%1x++6!m?oTwP>FzJz!^M#X@W8FdkFBPHZo;-#sfTnYtFFTxWVf0JvIDNX zd2gXYqN2KS@AG_wlKByDt2V#ypS3X&U!7XwsWeery-<$n;B0_r0J;Dej&<;63=v zn(p;|-8crSmzpTrAG;DBYhR0*6DiC1onTMPj{r}_S@+g~!;mxB2_>=KtQ?wO zt|DZRHmgup_M44uSjGdN z7(EKu#t}WcSnPV>*Nf5d`rX@zebOU0+gL?U#l>MN8==uBcC~a&+o?-%Dm3-K$j6kI z<;>SvGkzvKHycg!%i-N9oFPg8D6E(>M{Jd^01@wjAyaHJT&ZzE&6&(fU@~Gk^R>!Fo|J| zF8FptT7K0Mc~coqs4QTgx%yNeNO)7xR$gk}+nB!H2tTNd`jFP$28c~}(s9`#5E|0m zv^H?hHV6oLKo|-w_@(-kx4qHw97sd8p{#6p^6lssG>o5lIjY6lF$71Usn*6^Wjf&b zyD-+sv7i??^i*YlJ-uB}>(k^egZq4;tBpYhualMS#gz&~T*E?%{nkG8#5-OlyTPA< zdWoA-D9$oO43{ z;-0rtHrUqCS9H@R0bcUBcdm-ZWO>hnDfoKCs{pdXmji}a%i`!?Iqyn-gvq1N_0`+L zhq`$QU&hu!M=jzRZO@71>@a%gfiTO{1=RjuNZ2G@L;z77iLZkfqr>(*v_PfH-MFpR zlX}V=wS#eAYEDy2*Asszle}_6a`U&lTpeR3V4gqw^Sr(NkLew&YNVv%Ni$gMb@xvh zxKNz(?~h>iW%N4s)!5vdx6%L6Mu#N+9IVjoFy0v^F(|R1hosO3gA5GE+!(%sn`}or zs9ZZ9=<;u7#2opkSWzHS<#1_b$g}JN!j>RIon_&$$1%YZB0K#k=>CNAF=P8rdBM|K zEoO}8W>#Yn(qqo;6F1VX0s;Xi6vlBSb9d%ZJ@VeP6gt)uU>mq`QMXmGr;*{?q&l}| zD_)gk&>&EZ*x2#wL!YVOakP!pIO5z zz;|f7mG3;S;fN>yc`(%n?c{EDDk>{#7Eb>Jr&WpT8t4SJWNf!}>$>=PYbv|e;R@Hw zFJr7F@OJ)TyWXR49)RC>`fP(*RI*aIby)qA@^l8XJW`&2l`&8Zt*O<}T{(EdjFv4FYOjh}US8-dE*sL2Clkt@nG4uveoRLu@ zZva?pueK^$m=ZVymDxBBlpULLe%ixLdAm_vew}(h-s|?9@>Z{`tR7A-Q#$i2lK4MBdiSvXh0Bne7uj@Lg49S%W;B_ZgRddxxg^uiiEo zksBtW0qgCh0g^8Q*g!0wZL$#4s0x|$NWG<}BLjX$0eP9oI?{3)MlBNr8bAK$k-S=NXQ2y*+@(20@? z+_a#F*lavwL2SSF4TwE?x3rS88SoqRxUZo ztxQxamU|G+1?rR6sh0jnjAyYA*3LiVGEAj9e$pJ~tjj}wPeLjK%6iJZdU?Ps)c8wp zUo6rcZR{ zaPa90s!8)h3)ZhACaEXl+u7R%QNa`Samh6NL&|by!vlp}dy{SnCqkXJ9dqAZqC&@V zHWnwu*Jly3q+C4Y$=%AWO$=xX-}1Uept2{pIj;$9!@i-&0WX?2W}pQRkVSA>=r?H{(!9~fE47RlY|L+aS(!Pp`G)aE zTH;MR{awXSGdC>pH?v4a$@FZa-h>Nyjhb>o^9UI7+BmqMEds)Ya$T%cTRH<9rbqzg zi_3ei{fSFTV#>yO5a&AvykNaC79rIPX>Vi(cGmojj;tQg0WM%*I;S~QEFTn?h__vd zwEde|UKpBV6Ov~yHP#S78iv5aZxDn}_@^Jll+jW>p}J^)RGn$GP38GTC+sf}p{g#v zSqU|L6PO~#o@huy0(L;dB`_FP#&0^4-39NIOgw z(du*~>v=h?PVLMPcWYFmqwma)^)y#I_x*AGUGo0*)3JfFMFrmC!T1(=v2)~0a_vMo zq6Qs@Es+B>m^D~*E7_$J*q=R@$aeH4N%K6OWy)GF>FpS_C{Y~X5(u+XkOyXBv^t)1 zk0HumnLBm6r+1vQmB+u{Dn)$Rh9GMub;rJ9cUZixa`9_j3Fe(8(r-2VCv?Dft{qB9unHnaPZqZ6 zOauy5$7t@nTsLLLhX9Zm>5?rEul+q3G8hl&v7ojoG4#klH)rT&8UM*Y2+UnNLjE#g z@but_eSbEg6B9N*uqppJHXl=jR^~P2Vp-Y?x&Z zIj@<``6=RrXQ969j z=91LrU0gW>ni~g7SjVY&_SYkPOG?J!6s$F+H$tsQ0CVEPy%tqjrT?*PZaQcLIiY(0 zZkWgYZZiv!+>_W4%=s!^Z7>($bUDW{H!K)pdAKvHW_EM)R%`3*lhrc>bW>KzjFjPb zVDYrTyCiENpp^Irj)A#>{5V+d0$bKISw4YW_tz?c^TSmrY@tKhSs~W$d5lQ==XZ`(e?icC>ubU7;oxCsv$uB_jT{{WZp(a@ zQt+@u4#Q$8;n~)hesBJ&_NKwVmJl(r_BTnmc|0NjvDtH`Xg)rJ=4!DjE(s8F%{hBk z&y1lHT8qlcXH$DMY)Ak)i-1( z9PQ_EL#3w+0mX=TItEGK0ruwy3KT+b^#8mT0=rL8KLngzND~JtZRkMr>yACeOBWKzIqhmm3MjfADH+p&wz{03Djvp38yq+6VAk9`O5XCfEYj z_FPa!|9mfIz?^)bQ6SMnRBbs5rXRFO*a>>jpb_Ip{(b=OU|r{xPRC-nCn&Mfw~MT9 zmXG~fN#|?k5)#U^;*-?dEQ9N*(ba?+)|&mO*b1+#pt|}M?-k(QYJ5r0h1ugfrz9J- zOWl>%{*WeF-Tt{%u+XlU#zyPe^O_uy$!a`A%_6K?;Hz0mlPOF9>ed-#P`0OVl zx}tj=n4+0Yx$A{lTc9Taz&$*80ja~1!94LS5yKz5s8gQ4Wq5{ER<|+6K1Y{0EhZ+~ zCEDU>Tm=#Pa-p?(C;dOV{3`rgnXuzze-=)l8QlJ%aR(=U z{j5G(@e5-dc6ODJk!N!Im2h3;z{?8^m@1`UU!Y^|8>#QS5Z6NbZ8csB|Z7r=FRseQ_C{^3(fP{y$t(NM+vmeXoRtpW@0XV zZEiIV>Mru>4ltUvz=Azx_*bbQWUKYIO=qr`o{2x`TC4MOi8mjQ3C8Aw0@Y1G+E6m} znYWi(lE=drkFva7Ve+eksg18ITPtPzt0zd(Nf)JiruOBQrq3Df08?k0<6S1IN^O_8 zX1HJ!K4WxF9KcO+mj32#8|(gJ>B060nF_XZL?RNExpqr^U&u|u zf^+*Hbw4lIyra`TE*Hw&ZncgQxfZDzeOKSr5CqNRePwLfE>ZjH-(hz@Y?sF$cIFVq z_?}b|+XO)hFlv;1u74HkiG4xPiV(m~>+c}zf6qDQ#`w0R_{1R@l5)afi z1ew{Dh5k6DRnzWX5U{vF7G>R9-R!@-;$&222{xis@*BKiy4$V^Sr|F;ezEwXwPPJ_ zCE$v9w(zhxBy3=_Wn@gx>M(LhP|!Z8?Ox!UxiNdH@|MaqHscZt(Qn7*@EfpS6;;Wb z8u7@;{K&B3v|g)Qyv^Y^^Hb~BeT(gE6H^7L(&v;7<%=!%bXcr#W9JHEl zm@a^PXk;vAM1#uK@P?7@`}j)ny}rU^+v$Kaz`SiB4&0J#gB+|EGw7da<;N_>;Eq~` zHKeM6K}!?|)y_6Mvi{3Y#uOd)Z(5Qutx2%N)~MD?wKucVaE0q;SwkL=Z8DH;U(^b; z4-$#?iDcV2G+YaRcD`pOlf27qS`m8Lm1*vefCgnj-P|qdFQh}=8omn&a6#q%=~$T zmNfX&;Dc7!hUw_~BOn37$tAV-t-UKmA3mHWa1~q4Cz?&a?NA;G#^4u`Bl9xu?%Jbq zD&y7AE3bA%L8Fqw<$@{Wl%kNNyamk^AlUzqT+)MOH@*0k-IU7h0#3gR?ozoJ;s``sxh7~X`42zPhZ}dDTZf;^d*(Q@H z3C<#ee7w=LE*&}IxJS#v;BrQHMp7%T^PZTA?&F+=&H3%0j?;q~Pax*g7_TCt%ZsI9 zJPmj+P-S{g*y>rIt00{MU(+6$H%<(fb`n7G*e2%R)_E*Cp-3Izo|2pYP6Ku63!5Tm zb3G}V&X8^WsdgMRKF8%?i)-0Dn|c*DtLD1@veHVUGn0iRO6}78%K``KL;`VIYXPMZ zT|COaHCiA4jK(wNPDapz&Rt{86R*3)U3nBUN>q3OTd_ zT<0#F<<$hbWZ6Z{#ph#(m<=Tscs^I}gstCGpMkKb1isq5=YC^+7#@KU@yP}mfjMcw z%6NoEJdW(KLWwA*XnQ+k1YeRplU6GJ#V_C?^244xY6&^^{(YSo@5HQaJbuoVLzi85 zdE+tS{&6AAq_fQM1=a<;?Qnm-rWQbOY3%_<)Sp;bQ}BJ59oKENuc%jEY3=cGR=e9` z(Vu+FquMUs_lGd!A{W5YDQlGBjAYK5T3YiuRJY$|uJ2q~oOqAL0OD$o)8)eIQWnI-V@A1K0j z#5CMp{t7mZdVOW5qa;5b2SK7HL(Iuz8xKD1yK#{)wrX*) zZF{-bJj`TRXFh%dDc<%z8|>PQE#q zp==B5TBFQV$L0*xsJqYCu8!GsTl--mlJY^Z+&k~FI~-;wt(Na;>-ci#dvo8O6P>zs z9<+>(qWQgECPhjaE}5D+|H#z~PvtP2p)md^e%zM$Eq04 zQUGAa6#0Kv;F7Dwj%7e5lLs$$0bw|Cn2;; zI#-s+awe4X(9W$p4qK;Q2sBx~x%3asm$U?pf-w;W%U2NKMD)E-R! zN_p`^BHE7unX5%ZI+UbSoLlpW%!~Cza^az~_Cgidg>otNW7gjIuDL8#J07w)*3a3` zqWwhyh!DRl0v;7zX?yU|lS)mGC)U7bab;x7J;0rZCm*XfqVY8iLpn}KR_%vvb6LK) zf)=#k*(~mq!YJiDYgWrR-4P;q_eAB(B6}`RX|bE4JkJ-EkK2=Qi!1ND!d!me-FH|E zJH!B>d^#oHY=GKw~xezZ>m>;@nco22R4MUvK}$@pYq;?g(7OY_1zPotZDqkyx56 zj7l`zd0QT~nAo-6Y^_k!f5T)Y)IBI5dz`PzcZFcd>fEsctg?wInM1&bC}uj?h1>wx z?YVMa3pMk9JsZH?MGzgL!1J9yt;DJFBzK$t-KL>p%55DeQHJ+oddau}(u zSC#%eQ^2-LMv_)s+RM8_#|G5I{7-i7de(O<;Iu3Sr8m?lxK1rp(Bqi8$lk5&5srJR zF#>qXC-mdGd>~(u^XAAEnLH2tWun^(Eq0vgwX4qzgG?@rT7Dz#Jzvu92o1grOZ=2T5Ia@C_lG(k{smMs- z-G`(3sfKnHTs6tLP|>jHN$WF?OSghPh9|xvEcF>!dP_j44JKFCf`CiW}1QO?J`IkXhWge^xC;aR{x@OzDkg zB5&~TX9!YNnt*>Buq#-kUU~e{0{5V?49~yUrR+U zzP+|SdT~Ar8OE3Zg##hTt}|LJ?s(=t8{x6AnKI8y@laLQIbXG$umSYz&4Ce324p>y zMhCm{O!r0M@8;9!?(>jyaZdHmr!Ry&6~uM3YM5uwGk;9o0X_Rf9%-hMOL;vzniVtU zb8^sQWb1F$COb2DF@RqA;*{bBrgn}uoz{sI~~!v)DChzj`8|6(d7Nr zSvT}>ZnEQ5hzRE+JLn#3Q-+f*e82ir<`WvozIVdGXYi_++IDB6s3%&JHLK+f=u-3<&2KxnR6l|Se=$8|7b*g)H#hZn&s6y60u-dp zM|h8JS-Vj~V!PQCm+Rvj>n+0f2_Cg$@5BtP+8@|tEv47SUbXfNcePxL`Z-BHmrPb) z1W+}9%+!DHLh}#lQ^n*O#J5MqKLS1)z58wMZ__PCulz48?$9SIWYy3!Gx1EtnNIVq z57IXZlqTF|WXD-6d5H^4C%Z(NT#2bp=6`=#c*hd-yOMFtRbs>rWvcP^+CjVD63RN< z$dn0Mdg7>okv=;aKkHZLTzxkw-4U1%LY_NS?8T2B6JS}CzdwYF_VPAvr!K@A1zf&; zO1kq6Wyi9B=^y5*x?o5s9H;%NY9&+Iw)zX4+)SF>PcOGzkMf^_%cpk4oy<}x5~79% zPmHCT62M-?f2QS(lnAySm? zKbAt?{1}Vc(W1sIp2pW)iMnw(T&+SY%kvgKR|8W=DAiG6{INLAU1EK|DWsr|hwp1O z#{Zlbc@rz2i>^6?zfW#$s&>zaVGz587lvLyI;=(@;)7B~PMm@^@~N)SHXXNw-3zRj ze{r4s((VCd)Ve$bVt-kk($RD^tLkr&ayqnkMkO9D3vvDpt?K&vY8omOhH&ubOsPK~ z4sdIBB-NG{_T0(A_C!{-;j*OEE^V1 zuAW8;+AP-q_PMa{6=yU>!5dtWxn+f4koZ{8iL?DR}VhvytCWXznGh7>fsyl zKR3u|t5*hGzxE$6Fh&T@9vrut=V@Ka*|QV3^iHY_@z4npv0s>*e;|4z0Dwuk9MYP8 z_EvN)f<$*0D}JU^#ZB^2_$#7%_#LPgCyvCI>(cCY`+XR}4_i~+&YbvQ*25T%k9{D8K8 z7Fl^Yi}21&mn(1dXudo-4pNmE0Nmnv(k?m2INYoQFPtvB{q+}xt>dikWna(%+;#ou z<-NOU9MU-0&m&)f6T;DIlh!dLPE^Z^JC!Li2aGtANM-Y~`k^gm6~?`{vhrM?YI9_& zm+UMd=n6TpZ+3EM?wpp@K}xQ#=EoaAbuc!`6_MyrPdLs3!m>os`b{|h@4u?#ZF@vR ziqblzwbtrcat?XZ-@ceiU0Y%T-w8;NV(y{IeR8|r7CSm`Cy5WW@a+QJ0)&^5`J}qY z7IBSb;WLU7f7C_y4gxHtwvV1JQAciX`jL$f{N+|uq8-3GXNEl8E(phM-T4S3Fgiz9 zE97cCqTS`>!|$%#7-pSW=vv6pF!urglw(-_t4Tx9TYrC4HKazJB6-d5qj>A$OO=aW z_wn}OKgBn#jwhEAX5``gH2dhlK&PeCp ztWmCyw&7WvlHE&*8>5G|n4a@Z#l^!|ig9&Ih0(#RtObY4XYglAN3G3{(Rnw_+xx`H zPmW@L(C;d1@b6>X1>3k6CwX#bPsfvRv-d$Kb8C*MZ=#8sPsI!7uh5?$mX_~U9W$S1 zu#qhV$ngyVo$(6;6oUi=q-NX#*b&U* z9JPd=reSB^fhj=nlitJ(ueXYB3c6rho(5vgeLEI%O~`RBK&z z`e?MhWx!;Ge~Zwr6&&LJuzGuwmh9a^CwT*!xMj);;z6a z9YjJtu~pf?m{R+H+E;+QBlzC$Huig_<(D%7xU(7Ozdw#=2kA*1is0z+O~DB9tO>!3 z%Z7S_pl3dV7+0B${c?)}ji!UNsb?jW60s2BZIFPG$*pcPq15j?dsR0-Pc6eWw(}Ju z=~FSE!~b2&;8ybQ-msALiD}bI#9~O8OEMNp>ErcH?9<;mXWnb6ak`!Kk26j9o4&Lu z$_#d>g^iMat>D*Ax+WhL@qw8LbGo??BN<=AWMtP@;jwFOXK#7ZW2BRMv><=w9y%s4 z7lz&>)D8CDxk=4%?wx}aT`zOEp$GCC8oT8jhJw4tgEiW};+Q@OvdI|5FtcuJyt*`(lM*))dRTcWA9(`EG zCa|dE4*i{fC3nQgk%Z0)5tne?tI8^Ws_Kx}pq#yDb9OxZSf&G0l4#;s>XCW?KUH;knKZzvWbZ%D6X_9&OIdKIVolR1VZyo_zlT% zc@bH1*oqrdZr1tTleLnMXU_!MW^oG`2k-1=bQD3~5;yl3qgTb6*{_}4 zg+Fk0C_HyTm+GczX&jcPCaOjcgEg)-6^raQe_4wN=tTWSFCrKSi0I6DOB8y-Cz`qc zplJM1U`Xpq)c;nFuarKHXJuK=bnB@d+MTusd115%ve2xtxu^#tRx??v4Kl!}U0$*0 zN>{-80~}7oE59NO0FlaC12u5uFU@Zz*GX-kaaG(HN5XC@wxWnnf(~!r-)>6r$5YZ=hBE)Tv^8(x^PVJce2n~v>%S4 zPM{B*=dZ@2&aNU-ix{)D#2{i{GHWc{n*)E!5i^?D&JfQ1 z=YWuh$ruj^7w(jS?_|lW zvbDxG?I3KB1BL58h*nSK2 zSNJa_GTu~PUR8sOOWrjo!)W^8$m8_Bx-~XsR}4GoeYxQN$O@ZMH{R0BISw&=IsJW9 ziX`!S(XT2@$Pce|m0g|pCcl&zZ^RB(AEr)Tf=y!h*JfTvrU(m3JDgr1e7X0e2VUGc z`IfT+OKq#co-Z8a9FjkhP8|r&BFd44Wc*5km&s^l|Q!JedfzRAwW(x!i7_<&z-wbVZxFe$Q5Q)tP}g6|_V^p#0> z&d)$n=i6ZC)-Mn%YpDgk29`w$6zA&l_uxOaWrVgNom3C+J?wz$X(;*4ur${@V?cU-2B4m=VG5Lg#Biv zdN$O*#Aq>L&3M;|1D;wdoJ8Ptjeo$-olq*yT8!vocV~5-os}&>oFPVp89W6;@5~~4 zH*kOX%k|czW<8=?uh#W^70-1G_+WuvCwCqN?do0F;Ii({kHSwhB}EaoO22ZmA04GG zE->1ICWUg-YQB9=Zyw2{<+Wd^@9#?|(rpb`?61AS?Mf^ZdaaKqWxl5K9q>)w)!I`k z9ThJMa4)~1a3a$I?hm$i_w=fU? zv()A*5M}2Ocxri2-F5XiO`!h4$w?+IN#5t?>(Q2{!I_$gP3Te<>s{mvFhM;$n2ahZkpufAO`AvD}?)t=&7mr+K%NZ(I+c(l)q`+ z;Lfm;7&exjH0<(s~