From e03e61ea81bf3cced94e5a8e2ca1809b0db0ac57 Mon Sep 17 00:00:00 2001 From: josemarcellio Date: Tue, 30 Sep 2025 03:27:08 +0800 Subject: [PATCH 1/5] Add BedWars1058 buy & generator collect task types --- .../quests/bukkit/BukkitQuestsPlugin.java | 39 +------- .../type/dependent/BedWars1058BuyTask.java | 98 +++++++++++++++++++ .../BedWars1058GeneratorCollectTask.java | 84 ++++++++++++++++ .../task-types/bedwars1058_buy-(task-type).md | 24 +++++ ...dwars1058_generator_collect-(task-type).md | 24 +++++ 5 files changed, 233 insertions(+), 36 deletions(-) create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058GeneratorCollectTask.java create mode 100644 docs/task-types/bedwars1058_buy-(task-type).md create mode 100644 docs/task-types/bedwars1058_generator_collect-(task-type).md diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java index 00920e77..87f5ce56 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java @@ -108,42 +108,7 @@ import com.leonardobishop.quests.bukkit.tasktype.type.TamingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.TradingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.WalkingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ASkyBlockLevelTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BedBreakTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058FinalKillTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058LoseTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058WinTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BentoBoxLevelTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensDeliverTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensInteractTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CustomFishingFishingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EcoBossesKillingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EcoMobsKillingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EssentialsBalanceTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EssentialsMoneyEarnTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EvenMoreFishFishingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EvenMoreFishHuntingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.FabledSkyBlockLevelTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.FancyNpcsDeliverTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.FancyNpcsInteractTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.IridiumSkyblockValueTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.MythicMobsDealDamageTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.MythicMobsKillingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.NuVotifierVoteTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PinataPartyHitTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PlaceholderAPIEvaluateTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PlayerPointsEarnTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PyroFishingProFishingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ServerNPCDeliverTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ServerNPCInteractTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ShopGUIPlusBuyTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ShopGUIPlusSellTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.SuperiorSkyblockLevelType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.SuperiorSkyblockWorthType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.VotingPluginVoteType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusDeliverTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusInteractTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.uSkyBlockLevelTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.*; import com.leonardobishop.quests.bukkit.util.CompatUtils; import com.leonardobishop.quests.bukkit.util.FormatUtils; import com.leonardobishop.quests.bukkit.util.LogHistory; @@ -501,6 +466,8 @@ public void onEnable() { taskTypeManager.registerTaskType(() -> new BedWars1058FinalKillTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested taskTypeManager.registerTaskType(() -> new BedWars1058LoseTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested taskTypeManager.registerTaskType(() -> new BedWars1058WinTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars1058BuyTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars1058GeneratorCollectTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested taskTypeManager.registerTaskType(() -> new BentoBoxLevelTaskType(this), () -> CompatUtils.isPluginEnabled("BentoBox") && CompatUtils.classExists("world.bentobox.level.events.IslandLevelCalculatedEvent")); taskTypeManager.registerTaskType(() -> new CitizensDeliverTaskType(this), () -> CompatUtils.isPluginEnabled("Citizens")); taskTypeManager.registerTaskType(() -> new CitizensInteractTaskType(this), () -> CompatUtils.isPluginEnabled("Citizens")); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java new file mode 100644 index 00000000..cfbacb4b --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java @@ -0,0 +1,98 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + +import com.andrei1058.bedwars.api.events.shop.ShopBuyEvent; +import com.andrei1058.bedwars.api.arena.shop.ICategoryContent; +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.inventory.ItemStack; + +public final class BedWars1058BuyTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars1058BuyTask(BukkitQuestsPlugin plugin) { + super("bedwars1058_buy", TaskUtils.TASK_ATTRIBUTION_STRING, "Buy specific items from the BedWars1058 shop."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onShopBuy(ShopBuyEvent event) { + Player buyer = event.getBuyer(); + if (buyer == null) { + return; + } + + QPlayer qBuyer = plugin.getPlayerManager().getPlayer(buyer.getUniqueId()); + if (qBuyer == null) { + return; + } + + ICategoryContent boughtContent = event.getCategoryContent(); + if (boughtContent == null) { + return; + } + + String boughtIdentifier = boughtContent.getIdentifier(); + ItemStack boughtStack = boughtContent.getItemStack(buyer); + String boughtMaterial = boughtStack != null ? boughtStack.getType().name() : null; + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(buyer, qBuyer, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + String requiredId = (String) task.getConfigValue("item"); + if (requiredId == null) { + continue; + } + + boolean matched = false; + + if (requiredId.equalsIgnoreCase(boughtIdentifier)) { + matched = true; + super.debug("Matched identifier " + boughtIdentifier, + quest.getId(), task.getId(), buyer.getUniqueId()); + } + + if (!matched && requiredId.equalsIgnoreCase(boughtMaterial)) { + matched = true; + super.debug("Matched material " + boughtMaterial, + quest.getId(), task.getId(), buyer.getUniqueId()); + } + + if (!matched) { + super.debug("Bought item (" + boughtIdentifier + "/" + boughtMaterial + ") does not match required " + requiredId, + quest.getId(), task.getId(), buyer.getUniqueId()); + continue; + } + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + int amount = ((int) task.getConfigValue("amount")); + + super.debug("Progress " + progress + "/" + amount, + quest.getId(), task.getId(), buyer.getUniqueId()); + + if (progress >= amount) { + taskProgress.setCompleted(true); + super.debug("Marking task as complete", + quest.getId(), task.getId(), buyer.getUniqueId()); + } + + TaskUtils.sendTrackAdvancement(buyer, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058GeneratorCollectTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058GeneratorCollectTask.java new file mode 100644 index 00000000..026ab181 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058GeneratorCollectTask.java @@ -0,0 +1,84 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + +import com.andrei1058.bedwars.api.events.player.PlayerGeneratorCollectEvent; +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.inventory.ItemStack; + +public final class BedWars1058GeneratorCollectTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars1058GeneratorCollectTask(BukkitQuestsPlugin plugin) { + super("bedwars1058_generator_collect", TaskUtils.TASK_ATTRIBUTION_STRING, "Collect specific items from BedWars1058 generators."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onGeneratorCollect(PlayerGeneratorCollectEvent event) { + Player player = event.getPlayer(); + if (player == null) { + return; + } + + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); + if (qPlayer == null) { + return; + } + + ItemStack collectedStack = event.getItemStack(); + if (collectedStack == null) { + return; + } + + String collectedMaterial = collectedStack.getType().name(); + int collectedAmount = collectedStack.getAmount(); + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + String requiredId = (String) task.getConfigValue("item"); + if (requiredId == null) { + continue; + } + + if (!requiredId.equalsIgnoreCase(collectedMaterial)) { + super.debug("Collected " + collectedMaterial + " does not match required " + requiredId, + quest.getId(), task.getId(), player.getUniqueId()); + continue; + } + + super.debug("Player collected required item (" + collectedMaterial + ")", + quest.getId(), task.getId(), player.getUniqueId()); + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress, collectedAmount); + int amount = ((int) task.getConfigValue("amount")); + + super.debug("Progress " + progress + "/" + amount, + quest.getId(), task.getId(), player.getUniqueId()); + + if (progress >= amount) { + taskProgress.setCompleted(true); + super.debug("Marking task as complete", + quest.getId(), task.getId(), player.getUniqueId()); + } + + TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); + } + } +} diff --git a/docs/task-types/bedwars1058_buy-(task-type).md b/docs/task-types/bedwars1058_buy-(task-type).md new file mode 100644 index 00000000..59000199 --- /dev/null +++ b/docs/task-types/bedwars1058_buy-(task-type).md @@ -0,0 +1,24 @@ +# bedwars1058_buy (task type) + +Plugin 'BedWars1058' required +{: .label } + +Buy a specific item from the BedWars1058 shop. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|-----------------------------------------------|---------|----------|---------|---------------------------| +| `item` | The shop item that the player must purchase. | String | Yes | \- | \- | +| `amount` | The number of times to buy this item. | Integer | Yes | \- | \- | + +## Examples + +Buy 3 Ender Pearls: + +```yaml +buy_enderpearl: + type: "bedwars1058_buy" + item: "ENDER_PEARL" + amount: 3 +``` \ No newline at end of file diff --git a/docs/task-types/bedwars1058_generator_collect-(task-type).md b/docs/task-types/bedwars1058_generator_collect-(task-type).md new file mode 100644 index 00000000..ea2ccb99 --- /dev/null +++ b/docs/task-types/bedwars1058_generator_collect-(task-type).md @@ -0,0 +1,24 @@ +# bedwars1058_generator_collect (task type) + +Plugin 'BedWars1058' required +{: .label } + +Collect a specific item from generators in BedWars1058. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|------------------------------------------------|---------|----------|---------|-------| +| `item` | The generator item that the player must collect. | String | Yes | \- | \- | +| `amount` | The amount of items to collect. | Integer | Yes | \- | \- | + +## Examples + +Collect 10 diamonds: + +```yaml +collect_diamonds: + type: "bedwars1058_generator_collect" + item: "DIAMOND" + amount: 10 +``` From 5c52526b642aa3c5295150ce3bf309239a3204f9 Mon Sep 17 00:00:00 2001 From: josemarcellio Date: Tue, 30 Sep 2025 03:40:09 +0800 Subject: [PATCH 2/5] revert wildcard import back to explicit imports --- .../quests/bukkit/BukkitQuestsPlugin.java | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java index 87f5ce56..6f311d11 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java @@ -108,7 +108,44 @@ import com.leonardobishop.quests.bukkit.tasktype.type.TamingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.TradingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.WalkingTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.*; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ASkyBlockLevelTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BedBreakTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058FinalKillTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058LoseTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058WinTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BuyTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058GeneratorCollectTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BentoBoxLevelTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensDeliverTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensInteractTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CustomFishingFishingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EcoBossesKillingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EcoMobsKillingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EssentialsBalanceTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EssentialsMoneyEarnTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EvenMoreFishFishingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.EvenMoreFishHuntingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.FabledSkyBlockLevelTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.FancyNpcsDeliverTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.FancyNpcsInteractTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.IridiumSkyblockValueTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.MythicMobsDealDamageTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.MythicMobsKillingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.NuVotifierVoteTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PinataPartyHitTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PlaceholderAPIEvaluateTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PlayerPointsEarnTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.PyroFishingProFishingTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ServerNPCDeliverTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ServerNPCInteractTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ShopGUIPlusBuyTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ShopGUIPlusSellTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.SuperiorSkyblockLevelType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.SuperiorSkyblockWorthType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.VotingPluginVoteType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusDeliverTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusInteractTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.uSkyBlockLevelTaskType; import com.leonardobishop.quests.bukkit.util.CompatUtils; import com.leonardobishop.quests.bukkit.util.FormatUtils; import com.leonardobishop.quests.bukkit.util.LogHistory; From fc67c34ca5a55c24e5f7056878f262bc71dd2c09 Mon Sep 17 00:00:00 2001 From: josemarcellio Date: Tue, 30 Sep 2025 14:24:17 +0800 Subject: [PATCH 3/5] Fix BedWars1058 buy task progress calculation --- .../tasktype/type/dependent/BedWars1058BuyTask.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java index cfbacb4b..34006f7e 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BuyTask.java @@ -80,8 +80,15 @@ public void onShopBuy(ShopBuyEvent event) { continue; } - int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); - int amount = ((int) task.getConfigValue("amount")); + int boughtAmount = (boughtStack != null) ? boughtStack.getAmount() : 1; + + int progress = taskProgress.getProgress() instanceof Integer + ? (int) taskProgress.getProgress() + : 0; + progress += boughtAmount; + taskProgress.setProgress(progress); + + int amount = (int) task.getConfigValue("amount"); super.debug("Progress " + progress + "/" + amount, quest.getId(), task.getId(), buyer.getUniqueId()); From 6c978edd7e27e43d33110f8c29d30ed2925ac0f9 Mon Sep 17 00:00:00 2001 From: josemarcellio Date: Tue, 30 Sep 2025 19:50:44 +0800 Subject: [PATCH 4/5] Add BedWars2023 compatibility --- .../quests/bukkit/BukkitQuestsPlugin.java | 12 ++ .../dependent/BedWars2023BedBreakTask.java | 60 ++++++++++ .../type/dependent/BedWars2023BuyTask.java | 106 ++++++++++++++++++ .../dependent/BedWars2023FinalKillTask.java | 64 +++++++++++ .../BedWars2023GeneratorCollectTask.java | 84 ++++++++++++++ .../type/dependent/BedWars2023LoseTask.java | 74 ++++++++++++ .../type/dependent/BedWars2023WinTask.java | 74 ++++++++++++ bukkit/src/main/resources/plugin.yml | 1 + .../task-types/bedwars1058_buy-(task-type).md | 13 ++- ...dwars1058_generator_collect-(task-type).md | 13 ++- .../task-types/bedwars2023-buy-(task-type).md | 33 ++++++ .../bedwars2023_bedbreak-(task-type).md | 31 +++++ .../bedwars2023_finalkill-(task-type).md | 31 +++++ ...dwars2023_generator_collect-(task-type).md | 33 ++++++ .../bedwars2023_lose-(task-type).md | 31 +++++ .../task-types/bedwars2023_win-(task-type).md | 31 +++++ 16 files changed, 687 insertions(+), 4 deletions(-) create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BedBreakTask.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BuyTask.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023FinalKillTask.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023GeneratorCollectTask.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023LoseTask.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023WinTask.java create mode 100644 docs/task-types/bedwars2023-buy-(task-type).md create mode 100644 docs/task-types/bedwars2023_bedbreak-(task-type).md create mode 100644 docs/task-types/bedwars2023_finalkill-(task-type).md create mode 100644 docs/task-types/bedwars2023_generator_collect-(task-type).md create mode 100644 docs/task-types/bedwars2023_lose-(task-type).md create mode 100644 docs/task-types/bedwars2023_win-(task-type).md diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java index 6f311d11..e81c5c3d 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java @@ -115,6 +115,12 @@ import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058WinTask; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BuyTask; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058GeneratorCollectTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars2023BedBreakTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars2023FinalKillTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars2023LoseTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars2023WinTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars2023BuyTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars2023GeneratorCollectTask; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BentoBoxLevelTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensDeliverTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensInteractTaskType; @@ -505,6 +511,12 @@ public void onEnable() { taskTypeManager.registerTaskType(() -> new BedWars1058WinTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested taskTypeManager.registerTaskType(() -> new BedWars1058BuyTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested taskTypeManager.registerTaskType(() -> new BedWars1058GeneratorCollectTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars2023BedBreakTask(this), () -> CompatUtils.isPluginEnabled("BedWars2023")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars2023FinalKillTask(this), () -> CompatUtils.isPluginEnabled("BedWars2023")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars2023LoseTask(this), () -> CompatUtils.isPluginEnabled("BedWars2023")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars2023WinTask(this), () -> CompatUtils.isPluginEnabled("BedWars2023")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars2023BuyTask(this), () -> CompatUtils.isPluginEnabled("BedWars2023")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars2023GeneratorCollectTask(this), () -> CompatUtils.isPluginEnabled("BedWars2023")); // not tested taskTypeManager.registerTaskType(() -> new BentoBoxLevelTaskType(this), () -> CompatUtils.isPluginEnabled("BentoBox") && CompatUtils.classExists("world.bentobox.level.events.IslandLevelCalculatedEvent")); taskTypeManager.registerTaskType(() -> new CitizensDeliverTaskType(this), () -> CompatUtils.isPluginEnabled("Citizens")); taskTypeManager.registerTaskType(() -> new CitizensInteractTaskType(this), () -> CompatUtils.isPluginEnabled("Citizens")); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BedBreakTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BedBreakTask.java new file mode 100644 index 00000000..a6a117c3 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BedBreakTask.java @@ -0,0 +1,60 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + + +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; +import com.tomkeuper.bedwars.api.events.player.PlayerBedBreakEvent; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; + +public final class BedWars2023BedBreakTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars2023BedBreakTask(BukkitQuestsPlugin plugin) { + super("bedwars2023_bedbreak", TaskUtils.TASK_ATTRIBUTION_STRING, "Break a set amount of beds in BedWars2023."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onPlayerBedBreak(PlayerBedBreakEvent event) { + Player player = event.getPlayer(); + if (player.hasMetadata("NPC")) { + return; + } + + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); + if (qPlayer == null) { + return; + } + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + super.debug("Player broke a bed in BedWars", quest.getId(), task.getId(), player.getUniqueId()); + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId()); + + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); + taskProgress.setCompleted(true); + } + + TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BuyTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BuyTask.java new file mode 100644 index 00000000..d6fa66c8 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023BuyTask.java @@ -0,0 +1,106 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + + +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; + +import com.tomkeuper.bedwars.api.arena.shop.ICategoryContent; +import com.tomkeuper.bedwars.api.events.shop.ShopBuyEvent; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.inventory.ItemStack; + +public final class BedWars2023BuyTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars2023BuyTask(BukkitQuestsPlugin plugin) { + super("bedwars2023_buy", TaskUtils.TASK_ATTRIBUTION_STRING, "Buy specific items from the BedWars2023 shop."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onShopBuy(ShopBuyEvent event) { + Player buyer = event.getBuyer(); + if (buyer == null) { + return; + } + + QPlayer qBuyer = plugin.getPlayerManager().getPlayer(buyer.getUniqueId()); + if (qBuyer == null) { + return; + } + + ICategoryContent boughtContent = event.getCategoryContent(); + if (boughtContent == null) { + return; + } + + String boughtIdentifier = boughtContent.getIdentifier(); + ItemStack boughtStack = boughtContent.getItemStack(buyer); + String boughtMaterial = boughtStack != null ? boughtStack.getType().name() : null; + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(buyer, qBuyer, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + String requiredId = (String) task.getConfigValue("item"); + if (requiredId == null) { + continue; + } + + boolean matched = false; + + if (requiredId.equalsIgnoreCase(boughtIdentifier)) { + matched = true; + super.debug("Matched identifier " + boughtIdentifier, + quest.getId(), task.getId(), buyer.getUniqueId()); + } + + if (!matched && requiredId.equalsIgnoreCase(boughtMaterial)) { + matched = true; + super.debug("Matched material " + boughtMaterial, + quest.getId(), task.getId(), buyer.getUniqueId()); + } + + if (!matched) { + super.debug("Bought item (" + boughtIdentifier + "/" + boughtMaterial + ") does not match required " + requiredId, + quest.getId(), task.getId(), buyer.getUniqueId()); + continue; + } + + int boughtAmount = (boughtStack != null) ? boughtStack.getAmount() : 1; + + int progress = taskProgress.getProgress() instanceof Integer + ? (int) taskProgress.getProgress() + : 0; + progress += boughtAmount; + taskProgress.setProgress(progress); + + int amount = (int) task.getConfigValue("amount"); + + super.debug("Progress " + progress + "/" + amount, + quest.getId(), task.getId(), buyer.getUniqueId()); + + if (progress >= amount) { + taskProgress.setCompleted(true); + super.debug("Marking task as complete", + quest.getId(), task.getId(), buyer.getUniqueId()); + } + + TaskUtils.sendTrackAdvancement(buyer, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023FinalKillTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023FinalKillTask.java new file mode 100644 index 00000000..0aaccd7d --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023FinalKillTask.java @@ -0,0 +1,64 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; +import com.tomkeuper.bedwars.api.events.player.PlayerKillEvent; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; + +public final class BedWars2023FinalKillTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars2023FinalKillTask(BukkitQuestsPlugin plugin) { + super("bedwars2023_finalkill", TaskUtils.TASK_ATTRIBUTION_STRING, "Get a final kill in BedWars2023."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onPlayerKill(PlayerKillEvent event) { + PlayerKillEvent.PlayerKillCause cause = event.getCause(); + if (!cause.isFinalKill()) { + return; + } + + Player killer = event.getKiller(); + if (killer == null || killer.hasMetadata("NPC")) { + return; + } + + QPlayer qKiller = plugin.getPlayerManager().getPlayer(killer.getUniqueId()); + if (qKiller == null) { + return; + } + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(killer, qKiller, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + super.debug("Player got a final kill", quest.getId(), task.getId(), killer.getUniqueId()); + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), killer.getUniqueId()); + + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), killer.getUniqueId()); + taskProgress.setCompleted(true); + } + + TaskUtils.sendTrackAdvancement(killer, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023GeneratorCollectTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023GeneratorCollectTask.java new file mode 100644 index 00000000..1fc8d37a --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023GeneratorCollectTask.java @@ -0,0 +1,84 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + +import com.tomkeuper.bedwars.api.events.player.PlayerGeneratorCollectEvent; +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.inventory.ItemStack; + +public final class BedWars2023GeneratorCollectTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars2023GeneratorCollectTask(BukkitQuestsPlugin plugin) { + super("bedwars2023_generator_collect", TaskUtils.TASK_ATTRIBUTION_STRING, "Collect specific items from BedWars2023 generators."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onGeneratorCollect(PlayerGeneratorCollectEvent event) { + Player player = event.getPlayer(); + if (player == null) { + return; + } + + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); + if (qPlayer == null) { + return; + } + + ItemStack collectedStack = event.getItemStack(); + if (collectedStack == null) { + return; + } + + String collectedMaterial = collectedStack.getType().name(); + int collectedAmount = collectedStack.getAmount(); + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + String requiredId = (String) task.getConfigValue("item"); + if (requiredId == null) { + continue; + } + + if (!requiredId.equalsIgnoreCase(collectedMaterial)) { + super.debug("Collected " + collectedMaterial + " does not match required " + requiredId, + quest.getId(), task.getId(), player.getUniqueId()); + continue; + } + + super.debug("Player collected required item (" + collectedMaterial + ")", + quest.getId(), task.getId(), player.getUniqueId()); + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress, collectedAmount); + int amount = ((int) task.getConfigValue("amount")); + + super.debug("Progress " + progress + "/" + amount, + quest.getId(), task.getId(), player.getUniqueId()); + + if (progress >= amount) { + taskProgress.setCompleted(true); + super.debug("Marking task as complete", + quest.getId(), task.getId(), player.getUniqueId()); + } + + TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023LoseTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023LoseTask.java new file mode 100644 index 00000000..0bbda6f9 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023LoseTask.java @@ -0,0 +1,74 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + +import com.tomkeuper.bedwars.api.events.gameplay.GameEndEvent; +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; + +import java.util.List; +import java.util.UUID; + +public final class BedWars2023LoseTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars2023LoseTask(BukkitQuestsPlugin plugin) { + super("bedwars2023_lose", TaskUtils.TASK_ATTRIBUTION_STRING, "Lose a game of BedWars in BedWars2023."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onGameEnd(GameEndEvent event) { + List loserUniqueIds = event.getLosers(); + + for (UUID loserUniqueId : loserUniqueIds) { + Player loser = Bukkit.getPlayer(loserUniqueId); + + if (loser != null) { + this.handle(loser); + } + } + } + + private void handle(final Player loser) { + if (loser.hasMetadata("NPC")) { + return; + } + + QPlayer qLoser = plugin.getPlayerManager().getPlayer(loser.getUniqueId()); + if (qLoser == null) { + return; + } + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(loser, qLoser, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + super.debug("Player lost a BedWars game", quest.getId(), task.getId(), loser.getUniqueId()); + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), loser.getUniqueId()); + + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), loser.getUniqueId()); + taskProgress.setCompleted(true); + } + + TaskUtils.sendTrackAdvancement(loser, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023WinTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023WinTask.java new file mode 100644 index 00000000..33c4999c --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars2023WinTask.java @@ -0,0 +1,74 @@ +package com.leonardobishop.quests.bukkit.tasktype.type.dependent; + +import com.tomkeuper.bedwars.api.events.gameplay.GameEndEvent; +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; +import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; +import com.leonardobishop.quests.common.player.QPlayer; +import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; +import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; + +import java.util.List; +import java.util.UUID; + +public final class BedWars2023WinTask extends BukkitTaskType { + + private final BukkitQuestsPlugin plugin; + + public BedWars2023WinTask(BukkitQuestsPlugin plugin) { + super("bedwars2023_win", TaskUtils.TASK_ATTRIBUTION_STRING, "Win a game of BedWars in BedWars2023."); + this.plugin = plugin; + + super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount")); + super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onGameEnd(GameEndEvent event) { + List winnerUniqueIds = event.getLosers(); + + for (UUID winnerUniqueId : winnerUniqueIds) { + Player winner = Bukkit.getPlayer(winnerUniqueId); + + if (winner != null) { + this.handle(winner); + } + } + } + + private void handle(final Player winner) { + if (winner.hasMetadata("NPC")) { + return; + } + + QPlayer qWinner = plugin.getPlayerManager().getPlayer(winner.getUniqueId()); + if (qWinner == null) { + return; + } + + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(winner, qWinner, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); + + super.debug("Player won a BedWars game", quest.getId(), task.getId(), winner.getUniqueId()); + + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), winner.getUniqueId()); + + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), winner.getUniqueId()); + taskProgress.setCompleted(true); + } + + TaskUtils.sendTrackAdvancement(winner, quest, task, pendingTask, amount); + } + } +} diff --git a/bukkit/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml index 56b2d21d..92b89ca5 100644 --- a/bukkit/src/main/resources/plugin.yml +++ b/bukkit/src/main/resources/plugin.yml @@ -9,6 +9,7 @@ author: "LMBishop & contributors" softdepend: - ASkyBlock - BedWars1058 +- BedWars2023 - BentoBox - BlockTracker - Citizens diff --git a/docs/task-types/bedwars1058_buy-(task-type).md b/docs/task-types/bedwars1058_buy-(task-type).md index 59000199..fd360553 100644 --- a/docs/task-types/bedwars1058_buy-(task-type).md +++ b/docs/task-types/bedwars1058_buy-(task-type).md @@ -1,5 +1,14 @@ +--- +title: bedwars1058_buy +parent: External task types +grand_parent: Task types +--- + # bedwars1058_buy (task type) +Not released yet (dev builds) +{: .label .label-green } + Plugin 'BedWars1058' required {: .label } @@ -16,8 +25,8 @@ Buy a specific item from the BedWars1058 shop. Buy 3 Ender Pearls: -```yaml -buy_enderpearl: +``` yaml +bedwars1058: type: "bedwars1058_buy" item: "ENDER_PEARL" amount: 3 diff --git a/docs/task-types/bedwars1058_generator_collect-(task-type).md b/docs/task-types/bedwars1058_generator_collect-(task-type).md index ea2ccb99..ba9c607e 100644 --- a/docs/task-types/bedwars1058_generator_collect-(task-type).md +++ b/docs/task-types/bedwars1058_generator_collect-(task-type).md @@ -1,5 +1,14 @@ +--- +title: bedwars1058_generator_collect +parent: External task types +grand_parent: Task types +--- + # bedwars1058_generator_collect (task type) +Not released yet (dev builds) +{: .label .label-green } + Plugin 'BedWars1058' required {: .label } @@ -16,8 +25,8 @@ Collect a specific item from generators in BedWars1058. Collect 10 diamonds: -```yaml -collect_diamonds: +``` yaml +bedwars1058: type: "bedwars1058_generator_collect" item: "DIAMOND" amount: 10 diff --git a/docs/task-types/bedwars2023-buy-(task-type).md b/docs/task-types/bedwars2023-buy-(task-type).md new file mode 100644 index 00000000..d69fd1a9 --- /dev/null +++ b/docs/task-types/bedwars2023-buy-(task-type).md @@ -0,0 +1,33 @@ +--- +title: bedwars2023_buy +parent: External task types +grand_parent: Task types +--- + +# bedwars2023_buy (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'BedWars2023' required +{: .label } + +Buy a specific item from the BedWars2023 shop. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|-----------------------------------------------|---------|----------|---------|---------------------------| +| `item` | The shop item that the player must purchase. | String | Yes | \- | \- | +| `amount` | The number of times to buy this item. | Integer | Yes | \- | \- | + +## Examples + +Buy 3 Ender Pearls: + +``` yaml +bedwars2023: + type: "bedwars2023_buy" + item: "ENDER_PEARL" + amount: 3 +``` \ No newline at end of file diff --git a/docs/task-types/bedwars2023_bedbreak-(task-type).md b/docs/task-types/bedwars2023_bedbreak-(task-type).md new file mode 100644 index 00000000..cf33b45e --- /dev/null +++ b/docs/task-types/bedwars2023_bedbreak-(task-type).md @@ -0,0 +1,31 @@ +--- +title: bedwars2023_bedbreak +parent: External task types +grand_parent: Task types +--- + +# bedwars2023_bedbreak (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'BedWars2023' required +{: .label } + +Break a set amount of beds in BedWars2023. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|------------------------------|---------------------|----------|---------|-------| +| `amount` | The amount of beds to break. | Integer | Yes | \- | \- | + +## Examples + +Break 10 beds: + +``` yaml +bedwars2023: + type: "bedwars2023_bedbreak" + amount: 10 # amount of beds to break +``` diff --git a/docs/task-types/bedwars2023_finalkill-(task-type).md b/docs/task-types/bedwars2023_finalkill-(task-type).md new file mode 100644 index 00000000..4496a3f6 --- /dev/null +++ b/docs/task-types/bedwars2023_finalkill-(task-type).md @@ -0,0 +1,31 @@ +--- +title: bedwars2023_finalkill +parent: External task types +grand_parent: Task types +--- + +# bedwars2023_finalkill (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'BedWars2023' required +{: .label } + +Get a final kill in a BedWars2023 game. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|----------------------------|---------------------|----------|---------|-------| +| `amount` | The amount of final kills. | Integer | Yes | \- | \- | + +## Examples + +Final kill 5 players: + +``` yaml +bedwars2023: + type: "bedwars2023_finalkill" + amount: 5 # amount of final kills +``` diff --git a/docs/task-types/bedwars2023_generator_collect-(task-type).md b/docs/task-types/bedwars2023_generator_collect-(task-type).md new file mode 100644 index 00000000..ffba6abe --- /dev/null +++ b/docs/task-types/bedwars2023_generator_collect-(task-type).md @@ -0,0 +1,33 @@ +--- +title: bedwars2023_generator_collect +parent: External task types +grand_parent: Task types +--- + +# bedwars2023_generator_collect (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'BedWars2023' required +{: .label } + +Collect a specific item from generators in BedWars2023. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|------------------------------------------------|---------|----------|---------|-------| +| `item` | The generator item that the player must collect. | String | Yes | \- | \- | +| `amount` | The amount of items to collect. | Integer | Yes | \- | \- | + +## Examples + +Collect 10 diamonds: + +``` yaml +bedwars2023: + type: "bedwars2023_generator_collect" + item: "DIAMOND" + amount: 10 +``` diff --git a/docs/task-types/bedwars2023_lose-(task-type).md b/docs/task-types/bedwars2023_lose-(task-type).md new file mode 100644 index 00000000..d54b1f87 --- /dev/null +++ b/docs/task-types/bedwars2023_lose-(task-type).md @@ -0,0 +1,31 @@ +--- +title: bedwars2023_lose +parent: External task types +grand_parent: Task types +--- + +# bedwars2023_lose (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'BedWars2023' required +{: .label } + +Lose a game of BedWars in BedWars2023. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|------------------------------|---------------------|----------|---------|-------| +| `amount` | The amount of games to lose. | Integer | Yes | \- | \- | + +## Examples + +Lose 5 Game: + +``` yaml +bedwars2023: + type: "bedwars2023_lose" + amount: 5 # amount of games to lose +``` diff --git a/docs/task-types/bedwars2023_win-(task-type).md b/docs/task-types/bedwars2023_win-(task-type).md new file mode 100644 index 00000000..841cce83 --- /dev/null +++ b/docs/task-types/bedwars2023_win-(task-type).md @@ -0,0 +1,31 @@ +--- +title: bedwars2023_win +parent: External task types +grand_parent: Task types +--- + +# bedwars2023_win (task type) + +Not released yet (dev builds) +{: .label .label-green } + +Plugin 'BedWars2023' required +{: .label } + +Win a game of BedWars in BedWars2023. + +## Options + +| Key | Description | Type | Required | Default | Notes | +|----------|-----------------------------|---------------------|----------|---------|-------| +| `amount` | The amount of games to win. | Integer | Yes | \- | \- | + +## Examples + +Win 5 games: + +``` yaml +bedwars2023: + type: "bedwars2023_win" + amount: 5 # amount of games to win +``` From da2704d60045c2fcc2c8387da2cd321f0aa2b594 Mon Sep 17 00:00:00 2001 From: josemarcellio Date: Tue, 30 Sep 2025 20:04:01 +0800 Subject: [PATCH 5/5] Add BedWars2023 compatibility --- bukkit/libs/bedwars-api-2.0.0-SNAPSHOT.jar | Bin 0 -> 150505 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bukkit/libs/bedwars-api-2.0.0-SNAPSHOT.jar diff --git a/bukkit/libs/bedwars-api-2.0.0-SNAPSHOT.jar b/bukkit/libs/bedwars-api-2.0.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..78e1c2530813c684cfcbadbb146393fd020122d8 GIT binary patch literal 150505 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̚ycP;68!k5_u94MfU!}f0JryOdHLPJ+T3O*r zx;dXr?b%wp&Ho1giV%BwNHr?il|5u<$COK?rIUAB3kt6;o8XOM_Ohmu_+XD(EC^JJrqfINv6+-bhe|`I` z;(2LO-u~2~sQabV#=<{}A*FWP-?D|jb}IRTcr^oQL0T&3`UW&~woE<}F zB4$(}V+qsm7#woQL495F$=AC){`>aV3tP`J(%Y8^Mqp%oi%hUL4ENC*G2!7M`bt|1 zv6j$*Y(q>P>=}zuqPPtRSDlP&TUe<#zlQ2rWlluJ_2+dmIIvZK*8^ScoN4y9)p6KS z-iA7RSgYuFP(zNb{4P_Fh;lwH9$#SNyrQa3nAhzKsxyYujjgEVe!@?xg0goQ*G!?j zu97UFe|C?cQNeSF@Z>s};pBV^OkS`@i$}fVA$ML)bofDzqF)+K5;6FiKw;$`D-+N_ zqYi`|*!W5zCAV1{4Xa=dUvr; zTbwI8dGZ;IVV*5byRntfcu7{dL;USBWZ|zH{}b+i5&TWL z@{Oa42RV~{DKQb=(9A_0to1^Dj#bJ6tsbk~7M>jmz`WiYG2imz&kG7Qxb_rOhiT5? z?LYWRG6^RxPYkBFf&tCm<_ix2Th!Q4ZQWW9gRi^)=V|+1ORog4Zm|pLrL$)G= zR_{f&)iXw+jucUaXlecwb|vki?i*=4e}K(=Q}EWdQW$K`$3IZ!#M7}XYI37^<^O1LydATT-1)?8?Bz5gv=qx-!NTLlSUus zm|_@iHtZ;zEfoHte4ZpKAn)`)vz`ta?ai82=8$+z$D27jkDT<`dHUsNH*~WkbmU(z zrBhSKZN2j9p|{D>qr@L+cuEM-;q(#*&wdrwGSYZk8(J`@*SYZ5JY?&|d-c8xJf#Mv z0S*=^c;s^2SsUI+oy5x~^*B0dpDW30+7+^a9z_6U&nwhJuAptppNiDnw@cOeBRv7g zYqt{#0{o1wV9{f|o5>o<%6IW~D(LucRkON?*M&?%%tmXQi#P}H)7>WZ%q_L4Ql8j; z$ey^=8z{y&YL`Z*zXFq(YcsX}n>Mdq1W#zU?b7cu7!n&C!jLU#H!3XA*Y<_7mM9dN zoN9_BfHn#WoEokdaKGTyx=Ti>fc&qFK z;s5p`Xx6JG%`$Tv2jc3d3PxD+XC`vKOEWO(i(}}fhj)RcXSSiWuOO>o=UObi_RD@~ z4tC9voAPUOZfebu6wYoyUhcKK`iRU5>kZq_DdNWfjM^$PO8 z^a~11QcplQXYP0eYo=tKPJM_0cMcxcP>6lUHS$hq?#v72o}5S1hg+0wp>p<-Vfhh! z^V`#3MSh-%VCS%24f`+ga5zc#!6bz{{dm``-ug0sA|V2K5Nuu=)!a|Teg}sIF1=mK z1WEnbz;;(a%t$Aaa z31HJNUS%{w`5bAKjA$1He>kB0DkHP0!AIT%=_h-wnF4S1Onw!1V>g|^zPwEx8}Qp``)e80bP0%L58Mmv`4ZV5<=S+!fDmgAx~qhI<@c@ z3jN|Z|1BgJ5WE29&(!HJXp;vJ*~KIOp~K1dtKA)9f`3vTx?vYXm;001q5kTrr-wZB zEZ07lE6LDNQUdxW>iiKlUrrQt11Rs@*=)31FN&1B4#GVUPJ|Fxzq`%44}|@``hnzG zsSG4M7=YZe58m=^zKNaOim2-hgmJu!QX(8t}c7Iav2CMjz&C z*O%|5yk(k_&V3jHoi}sq?D5$BoXaA~jXp?T{&U=MW8mw#$^;kZT{!sO+mhgXt+?PW zZ|;42q=4k12BYMgB&ui3gP&?+Ks4c%#6DxtzsxI{T+W4&&d9}#vQ=`nlD8r1>NdWi!Sj51W-)~)K$9xBd{O1@PNsP!Wo)fQ3J|n3 z(f)<7Xn!zG8;_w=^*gzJoV%0+j7J}KZ1>e*$t=~`!&*O&UvIUytnDPCr+Wstx?#lg z%vaGm?Y-sVze2QRaLK(GvV{E#}Vfx2It~?15*%oiL=)=Ac!RCVA!Ehk3~3&v!WYPV1$FVyuUBi>lS!!8%rXA$Z~fU5m6Q$Zx$s zpGy8ce)^z8kL8Cl)or8oPL7zs7Gat>S*j>sWysVdTgU~2E+s-&K69x$qo&|7wGQsml~s7TPswbd^naX%-siZn0!v3Kvulr0J&yYisO4>(nfHWI&X- zhAKDw!QMGtF8|>3VGC8ia_N#B{@TJ89^*qZe`@|#h;F!3)qWKw5p(JVld$Zrpf2NV z_(y_f#b4Y^Ey$CJ%iwxDXtN0yt#`Uz#tvKAS5Ekzoje8A`RgLh$p|M@C{`xBhAix@+^)6H`S_d^5C3ynd(pw1IT0>R%a zQP zK)Z?OM?{c8d}!uNf{2iT7=_kgg2?A1A`KuujPp4`yGTICLS&FH{CVnNA!s0F;Sb0= z*F17i0349Ma1Zngm*#v-Al{M&^efY|iop<<<~81Xbz(7EWDT+#bRJh^DtH#On{%Ep zXf#L*JP*DV)dqfkC%7HV0eTa$75f}yo>BxE!Ut!*Bsd=gs8MJQDoA`zDbfJpLpYxk zOjq~<;*WA(B2obME-;@F+>Zn#EF=c|LO5R&8GwF=pWh4qK2dXJ-%z{9hYJuNa-w-f zgd8Z^=f?Pq2-#ElUu3%C530D~ll#iz(d;%Lq**(6Aye7a z%(wzO@iA0_nvCz>#-OQi>!MW2ub6@dI|=XZl`ib9V7eou>9};^Q*m56Nf6;JnKBG^ z>0r9Ur(s?^*%j$h&iDX7`Ev7SQ6XA983}$wGc>}Yxoen$hMI)Fcq9#eEb8|2D)b9u zBF3a4uA3TznjE`$gbjX-?)Gyj^owCCz@jOrpR$IUv?eWPe@&a8eCIwp-7Xqw_M~-F1_p!^#R(P9mn=|Y_|U!A zip@#?)Xz^XtYP>FzNd@bN$hE#51&)R`D1;l6*ZLX(E-11&Obipm0@UsHD9kiZ?BPG zuf|Ug%ulFSOsbjdiQ9f|6h^WKniNKw2mcwHhOZ@gh5WIT?M?V|CEMHoN1bw4BA??ew9OcjDCefddz;k!z+w_(Zd|feoeEo`#iM0l6!wN;mZ4AG~w#|BQ)W%dv-M8 zhWl8wf!g~Tw1N8j9JGOwdtbD`%KI_2!18-+w7|N1ZnVIL`$V*#;`@f@vpck(s(WLA ziDV^30vW2Tma0V@g*j%lTyq4Oom_J|Sqg=&axyJILDQm}0-v@ynt~m3Ljf>@xuFJd zz}Qd%5MplV0^lU8DXLT{NM-ZL5CPZaGI9X#7=|PZWXb35ylZ#j4QcwAQpyXJQguKr zSuDkcdZ{r$R5F56w|e{=Ku|hP3LvN-PX-W_jQyi^aY=wd z_4oyZ)Z4_D_R#53+o~<>P&jD0<(I-^?uak;VeUvTdPuSZJm|X{O8a6?DF{{EWELr7 zm{NculE~>m7RkgUpp9f=8W2KK835FfRL%f0NX{h#{Un)FfoPJj}u_e-c5i^ryk3KR!JX{>h%KvVc9w> zfUsdb8jx4KZVSk(THgTVRjfk-3~SfR0ER{DngGL^^?!h!(sf3_PW?I|V5e@q4(c4#5G)^!*Z#UzoxwkK!1@3XkNN!g`NK7{a2DDVV~VkL(!2 z@{g{V!p4uW7y}ZIQ7(QfB2L6XgQU=ODcv1u!KOj^7NIc9@{HQ%NQ2uB=+)@6>J{VK{bQ})Ie^(p^ z%0kme%8jWiN$}OsSjV}I(oxgpai+GEyRE9tQe4zlFA=?D0i!J{@l)YtC zolDX-jJsRV5Zv7%xI=IV?k*eMxCeK4m*5)Q3GN=;-Q6wUK6B=M-kCG&JKtJ5f>r@-*R_rFA{}GB_a8$O2O}$}GRdJEewy z<)P|tE1YzQq8fBA?rBUVKZv#^Jm2ILG65KH_v*s!Kw3Rm^1&A>1^(x`yRyU^=9mbZKP#b zCK1baVyj+RMLq#I=S?z27~&A#E1D9-oS@b#XzBk?#^$jqVYOwh!qjzfCZ z&!DfeA8pa2hou9Upchq&3P{#{TiW(%CIM3qoV!pRi&E)I~Q1yfh_Tyi0vY8rXh z9Z2R5y(YFU#+C2@q8e8L@;zyxY6|A^4OJh?UsJV4U;w$Iay<{r4)u6Z)+8519%hFR z!Fh@JrMSdVr+E$yTai5i&ja5j%BKo|>bJN6v6xx+L-{ko<$A=|gA_QjfUoXubS{{FI~qLu?NUk0iYqy@IBE->J4Kf?M!gN^h(V@f-=e z*$>lvw;Z>O-UJ;Af?~u|lhYx$1h?pK@ZJ^X&pA_FQ^k>alZzvVPMkR2dFD6zKco-o z8U>!y$Ax~IuuXG$47@X}pm-0u2yfI`-9na&3La}dDcFENr=3Ol7!n=o+vwkBWV`>K zz$p-1^gk3lwZEm}!+BGmtom(ap8q>-)ZC} zPx$H{y}@rC5rZ``S7oQN?Yu82l1oe)KLjtiqc8DSf9|w&TVGRWcT;VKdFi&}*&wp(d-zFkBi{~x@iXHZTxTL>JMGor za|Cf1*UsS1(yQv{ken#4gAdybk9%&iJ`C&O8<9=>uA6{IZ#V6Cxbm&Eqizp)oC1sy6y?R&yDb+gp2bj%5>oaTG(CQMd0zYI#7 ztE?W5{cPh|*`ze5%5*HVudAc8b-=&!GXJQzc^dYC7vSbvOmMMvyTzYH(%w`jXzPs9 z|H3V~!+9W<=^#ItHPO;M+JfuKr@rl-b#g^|@O5=(HOMmy);{NkdV)t`$LB!2J?94h zqy73oz(k1K&=Vml-^OPDgo0bx4T0YAYfwrOibZkC!h0DO%KKsIXrzCF zB3)iG+NmHqGG#d@WhF;_IY)gZXJI*Kfv@T0BK;`B@f>(Af%%*G-^oC#XsC_KK`quc zK!Y7L{@)B#|I=zs#o7K3x!R5PF2ryib^{l8h~O5^*f+(F6VbGYv39 zYM#!1oYS_X2fxk(6fOYgBsW zD4Hm144wZ?=WklpG5(Z$EWq??xq-Bu=GTqe8~UC`V+JWYwF7s<_3s}K`riL(RY&so z9}nW+viZ-R(#vdz1Nxx;rKh0&rS$*J0$=`E=TE79S00szV8QB8GeiTw0uPr^9~cT| zj50L-WF$p7EoEf3;-4|x&CJ$Fgw(a)gL+vI2`CLm)U^1(&(rjf`69KkuCE8ai4jet zL1r)TrAU=>7T%1;@p$Jj%|Tcbe+JGR7yj7F-XK88dCV+Qf*$2COK>2MToFz&9SWin zk!uV5u5Oq-5z82Fgr_5Bk)Qc-ESzs;Fjb8m`DQT-dN*N8|o8Pges z*GOSsob$GHw^As|4wMY-)Ht{LM?IO`#xE(rJ>p;}M;ntV{b{LcW zqQC*)H;N&VA=G{El`4IC_u$bqV7-hr$)D~Hq zL1k73ldCU^v+rffL?~N_tyh2PSpTm`fBIXX>C7ijmtIyj*4aGwQv^T$hBEkg zr$-*kK4qAXsf%<_K2lrnh@bxpD_ae{!E^P7VLkC{f~UtyE4CM&vU6TapbC2SBr}_) zs@_^zJw9?N!8Ov8G?*RCc+U?^Y(QCt&s9l- z%fHKgvKXE8djV@B zd^V(B6uZ!N$8w#GIFA5{&i$(U9Iyy}RPd92X2!IdOG43Vrq$*6OK-goNK`108XT9e zo%E#X^;h+#S4YS2lUkYrXup*=AeNF%*Y;ZX;?A~xxkJ^XIXlt|zLaHeYV`#&Hi7He zVLBx}UTHBLV+B8PGM_2IeBLTysNJNYDw=C#+%=pl)ZemYIHdmVi=ko6Oa^Lw&RqI? z2ga=hFdd_lFF#g}4_FpbYR#WRfLq_k&R{>vFLU%v@?=dNl-XyFtPh$ch?hU>-&WBz z+@0F%Q#+!w)&tOAnGudyD5oWXx($Xqp3bZmM3$-$b$vwpY+r>pQBfZnM}}~od}}J? z)kag*QZ=I^drTYbMDiw=NB1#>QE6GXUPdNGt5J>{Q(+rT{~WG$`QHC~p}xKJkz)p> z>96ZDBVm|Z6~k{S5aDwc3rRDb_ij$ohsbI-ZNhD7rdUj5Sw#$lWd$W!Xg!k4ByA@ADBP*Q<@Ax2=j%(FBvaZjs>Nt2W=78Go<|QP^TCc=)|J15gQ1$xJQ8s5g~G-bRS`R z{cYTjMo{`eAamNV&`&^S*7s7Hft}V9(iqDE>Px$-h6$98JwZq;&sb&T=L-133H=PtVsv5D|5h4bBD69{dFFd@%`I@tqBtdC7 z(ENONERBuL^=;DE_YK(qNB=vTs7{F4C;!6kFv)qYZIMT5c9yf%j!Q$Pq+4mI-?oLg|^5lzVfWKJ7Q6s=V4p@W*t`SQor)k*VR9@ni{;W#-^4v!f!b@r=29gLZW zyEf~EF671CUJ`}Pe76ph0`xvI{q42tW~;w=J5#QmXH|7F^+^0hu)k>qnp7tPN9DKZ zjOv*OZ`0jq(gziKb55zY?fK^W9g1SW##tk6<3o2DJ04zq_kQpm&-F(bj^BB+=tGHm z4u^7re`tH5wX4y(Kdz zw3r3jip<0_*K6O@7(JTK{q=$ov58@N0*`3b5d+j zGdeo4z+vUiUJG9%Mh&MFR^TnCO-%&3kkspNpMl+AHuv8^3L(YO3?IfU34Wry&&}D0 z^Y!HBt?uyh1_;Cv{kpezWdFINkh#-*>F$Jb;8sU2gNcMi(S)SQV2vG;CxtS~(!5PP8) z9CdY|+C5!I+iob0f;^f0#D#s#@1$3`ifLK2C-igJ8;_!F5s z$miAjuI9Qv^`Rmz5lhNI8HHHB-(J2(;0Kx8><~gjG?(z4y}RQ1rX42tgbUY3>onNo zYzNP>W$`a%@yE`?J=)Vc39v26L(V&BjBLBKJG0bPufkOjEw&$fC?0591bU_V{EARf z4qbNr1Y*8qe@@j2|MD)9*ZKMv*Z?stkPK9nA2H0YdO zs#x~KRllhk3TS=|WpXqiFxpsrVlr;0dySeKEJS3{BqK?pjxXop1lb^lTdcbVy_KXq zLk1;_J#qMTSWcl`#l$2JD7)|*fyGoK>GfynK0x@OBC&^6tW2<>pr=M&8GtYnT&A3? z%+T!oTGPSSSJs6KSc@9NqYN{jmP3^oDk%GoIY7milgh>o>jROJWr&i4T5BI@c*K+c zmoEl==zr<&JDEDVfEaio|I!*CXcqJf1?2D7gT~+Amj1bbw2CRv*+}Ge|6au7kWEdD2Of+y4@~s-SgnW*f`LFo@psKSWRPBTIT8ukO zTU&a1^zwxDb4nd#Hi+GA++9zG=EUaB-g;JRPLGhe!e2|yu2Q*`OES`>vo=~ZXI=@d z+|!PFgIM`Ei`B8;K&%3mK?{g95o(mRtEqxD;>51^ zl>E?D-f4*Yy7+aDndH7p-u3lDDP_K$dU$hN!QrDu6lV7QPRIUNT#|s8Qpu|0!Q(QzxLEqp7fop*@J0@=pO*YJ_+HJMcbh9|apXN6 z@X=D5AeSMLurEw5gL5i5dFG|_@J|2ouHbFFf>gG#0;cnMc4BOz{b8S|>%nZEsh!mu zUWo4;%QFNAAN|U;9cD>nJ<>dBpcb+rk@FOE zzBColUDj=C+IXrhyCDh@hYpjKNkxfy>rUn|8~=vG_yh^rP6p$5Q{^S}Q5+3C*VQ-+ zQa(ws|dFlo&0U+-W0GRRX7%H1?7u) za>=_|X4n>ua*AfriJx&qPs?xMX6zvPU0>hCM_cx+v$(?UyTLx9wWtbsQux^?>yVvb z2UuQ?)0ycYKIr5`FtON11VvcYsIZ_~g6akPlxW<0xVg!aU%l*Pa$55-$5Ql^mKQ=g zk}-+dDNc$L=f7&JE$$U@`KGB(bOfgr&Qrx!Y}=Ivb61O50fY(USwF%?&8icfGzR(I zRQyukqBHP~aInZE#(!9>MKoD31IfGD0jYAI&^kd{BHS)Pqex9jl9C_p*YgF*8aJ** zCPF=F7|(y8Cmc-`Kp8)G5E{)=_zhtO@Int&L{-yFy|t5kfVq#Yp$`j-hivz2tEX-I z;d7MV!0v_FHDX1~YYhE-EWy;Y7=3<>cau985%a`3{1M=}SGL!7Cw_OAixD4VX3MCA^aYKesS( ziOn}R#a>vT7aB2bC^ z*rh?mVR~s~{KUS8Rg)w^tLe+}>Q)pM%go&UAi}m4l){Fja`XPZu=IJ}Ml7r5PW%l^ zcmG6+=rz0Nr7vAa?tLP@LJl`-b0ZogIm^b$6;+8l4j~?c(R^WjVmW<*k$Mg2na}E# zf-$`F92+tjES{^^^hZh(RkMvm`bng`cf8moWJNjl$fHHEY5f+}I}c_mG$WST4CXmo z_?8I*j2K0ldW?4jvP8=vsi~r7;Wm3EFxcxvD`UEjw$#F^>42X};d{_e+ADTZi@`b0 zN8`v&R^8DpBDMvkh;AH)sgB=pVGvB`*l3LNQz&8k?NN&Tnqw3qQExN|3z*`gWe)+_ zNp?@x!r4ZM(`jQ1jU1+k$O(*k&zoDyDh}t&GcB){OjJ&TUKE-<0nPH!cerVpg?Ybc zJBr7OSYyZcgrvpF64K!v*!`xrTcG2llUQfMNDADGfSh(|x~btK)ytZxb&SXTKX}ox=J#&US%{yrDl*tzwac!tKD5ZqjDPlV<%zy{s){>e zc~deUvhF_Y!G9I|NXB&RhBL`Aq>n7f=0kGeQ@X?Yk+i>hZ^aJi1)G9zABNe5x`X;y z5G;7~$o5WZe}=Tk;JJ#&R^VVt{lF589L7)D$*B8yZ)7;Kp9;}%&U%`cc*N2@p~0y_ z8gpQrXzv4v_?f)tuDxI7f>)~AwI`c-#FF8@oW%Nh@|OKoZu7aERiRf9YCf52FOL{a zUALE8^>SVI^QfI%bh5op6l&cY+=h#jT2+WPlTdwQR)|Zm9rh#jiihft4tTZ2NG+S6 zgOBrAiaR@xfvpN5SJE;ReS5IN@@A?XkiRMwMESBls25N+(Xn_4p@o)WJYs!Rek*o* zGk1J5zvB5NNbh;=m3@YXitA z!qy0{RI#WYc*mntS7zznUO}hd6u09TJaG$I3I5{Wf94*sas}-bSLPMAqZLZ&LiOmC z7DIU^kcah-@KNba+Dq+DznA8hU^tfLN0m0giHGXZwIyH34ON)ym)Q3r|81J8IY(Qq z`YaJC8!s$1^X#7!0f2;NZ?c?-!~IKJlna#L4#Im!H*mW}J+&`9%%Xq%KGBq`tI8Su zZcHCY$Noi_DW)S&xLCwt<+$A~ZIgrv+Z2Q^>bSirUC|N8io!9^ZWWbB)82xhf?L*o z73+2?$V9ZTDB#;3d}evHL%X-bAGHZMapwBW4PwnLJ_mne z+xrEH-#3|S(y4ELwvcx)sm^B7z952@@?nY%bw*vmo}w?}66Km79=Z2$P=#&D>=$f%!GT-A|?rv9NXMiZ`&w4LXGV6vSjs zfPCzZH_lX$-ld~hjK!Rs_e1(>^tV|_l@Sc3EG>JUHDRN1OQDX~XYF`u zdcb}rjZLDRqKmxPft4vHrY$?TB6|`f==>c$8FK~UQzjwUJNX3V z)YW5mrQT0>iSZuoYt--imq6z2o?wmxDB3&;3P%1tHOfCdB$a=7vj3NJFiB-YVOA0A z{d~Dnn}L;zRp=5n-{uqDr=eaPlWo;8Fk?gbt0UVvrBkgLXWWg~1QT)*cKqzOg2)5C zqFmgByDcA3^f~L|b?E4UIHwC-qx)MhT(8NvU25Kjn|0IuX?Ml)%7xn$`%|_t=b1r{ zPI6$>gQp7wQkg%s5mN17hV`TjMR2L(2LyK#bgo!5jOSxBcjNDmW%XaN&ShbcN^SV5 zHZZqZZE`Ftu~gI781YEW6p9zAW###=QibxwA1DS#Ql5C8|v59K@WDeaWN62!or~IqXq)jIe%0QuYEVSJs%R&#E4KKJ|1C7iL!mYps%Yj63JvGetm4H7iEwSAh5)oJJ@@_nH|4aHpc zr)FMtfWt^ud2m}qpjI6=p{xHKl)jR-R?tPMb67SZE>ofHLszn-K%``Nv1BX{$22~* zID1=OA{$_I0Nx`8i|jv4Qk&fu8ZQ{&ux&n!Pl1)QE-^`^!y|l5rip|J9N5)Pe-up> z6T3cu3sP684Ku#Y@q_o-MSb_?jZ(oWiX~$g*K_njQw7lwD%%7rlFU(3hQu&?T@q6u z&*meRCWZ>R#A6|lnsAmz1fA5Ih$Jz5H`f2zn8=A`EejB>Ys?3vZ}-1%yZJ52Uq;B= zpCk4c+0sZhd&7z27nHHHTds!5hzbrYl6au_SRbpRFbnk;9=T|(6Yf(8yu$zclgkY5 zPO1h-e^WsE%lzMX`2V;-{j2&~E6f^T`K&t^XfxP+fl71R%CFi{zQPc+iDzKOjEAS} zr|46-XjG?mIh$#~?RrXp!XUv%&UsTBxJeE>40VuOraH(x_&HlWqj0^OBucT;5P%(g<>kBIs-!@gH~rW`u8dLaJZA8|0x(pU5r8MuOM+2scRVnP|j#y>nikljfx{|f=3&*j`$~E;4x%!>7 zIk_D_YRCWBGu3*+eM6RUS6=53N{vq)9(F2}`gY1QhH=5D$rgA$jgsfxGek2(JZ#h~ zxsgZBDf|k*DoMXBNSUa|Fp5Cc?14b}R4e%C{(Njsk4udKu*3ToRRM~ zmTl6U!!vTBYk)jx_=L5T@%lD4Lo-gxT{P88A;tEeh}dH2Ny-*HSf9a_+AjqZg?|#X zqcPpSthcY(#4nK}KVHS0+U*l-exa{rV^up86kK{ypm*t(YzZz25O+5OduYN|Ty^;m*UQj@q-gtS}1&dOWDHcr=FZ685z% zn4@MZ^!y2XwLgVRr)Ks`+qGSuE%6GZOuZjF*@<0p!-=8^$h71qo84-SJY&->#6!O# zu+5`F{*va^@~|73nQ2e{I*ab3g_++_A3eRzn&rVBqTQMt;9YQa7R$IbjfW0)A_`1Q z)m=*prOey6;-wTDRAwviGj8=@)|y#mRciwS_({L~YTr4e@Zl8@Gvqbw`SyVX!gAK0 zeXRzslAcTLCDx4MDG1uO(7n*KNuw%?gf~py3~R*RQ-gq`-k)%gouhp7kjE`Fj!^@L zE7RWds8+i!#G`&|$cr~g{$^HI^p=%3Yx)Q4FBTcsfgToV-0?|A^N_p%&(8tQ3|2In zr;F$pp-`5XSzE>9B+DY&ctmV`@CMFc#%?Y7RR@w^+em95MKD>frZ$STpxgsyx6G{9qi<2TJ+i%D)hHlG_8j&$q7rc)}Z%>r|oy#u$G(ODoM_9S@pxdGt zr(~=`23;{w#r&`HeVxG^?6 z(fTJcTUn-St|_OY!q*me98v0U8*Y=N>-Tyh_n_jFrXzUj^4BSsv}#G_-2_kZ?C|B$?bm&QmR zR{`X++LMF2eBMt>Z9E##Wb{Yz`d%t#yMp$fGkF zvP1JKLt^*jt94`_R4FdzV&N`#dRKSpqY8U>j(^BgI4->Q(P&Orc&iufdjZ)xNndHg zro$+E>loqSu}cT_B7}#(Z3;jJo6|apNo=*UWHpMPteOCtFP#e!rYviGmSPz13%Qq z0RVexTz&~7QI#7G#ZB}HT#mO``$p3&VU5+k{!3AZfw5c2zD1-mTTvJutw|Aj_v?b9E9Wu%Q5S;1uCxM4os)i$DH49P#9RtPHlWLK!5ygoDV9Bko5jkHdhvtMOSFI+ zB2wQW$i6eK!7ImXNSRh3La1a^E0e%n}_)cueQz! z@+Zr4XR`A}ge%A(4$F;?pQYS!BGTJWmsv}xBEThgyBH7ZRUX=6g@U&;pxRE7}ms$el!DazRV4c z(B(8b@fYY*yBr%t1zIZx70Qz6jtDZTfK)RTTPDrC|Z zWvq|r8WDpnQ8WXt5o;r4uVv<>$ffGgDPGp9?@+2C=seRFQkNuXO}!C0#8a-9dg%4X zz#W|Pj_!47N!|emSLK~2!*ug+1-dSRq9sx*Zh<6l6N`~tq{gw@(!5`XG6#50*$%uN zB~qsuGdy>{xDMBwfg=RV{g{G?giQ4N+LGX9r1|&=;nh8EW!O2U|uU3qu%S~dC;wO1=b0tX<;odHfW4WSj#6Lo;;X* zE^zr8Yf#xQOTBYJ1E!1%I5VRrCj=?nB8$iOO!ewi{XjuMwf?uc-5ZwHR7Mhrjzm3* zBU4~YVRcbrVRhbuj0dzX&C$u>U3{nTG#9N$Qofz?t(AB+Iu=BG+IoI{n~-Hw@WA~BxngEssW{joIQ&FW)NfCDtcL2zfx2P89ygn7IFOYWQKv&FZU~Mjr3E1{;XT;A zRcB&oJP^HgX0(qm<9*@}v^xjiPo2+ng40TdU&v&VWYhFuiJe3mOg zcw7p~7-77v$|wS@i~Pkbtd2CC+f`Y)HZ4@8$+s#@7&N&RO71QF>3c%09O&x}zx#*y zjgZZBW1vuaeyvHkL@0rBksqJ!&1|DqD5K0Qvd?&} z3NtTB1>VU5R7VF#i19vgo#fb_ejio84wr3$ddJz%3wu1>)t59F!hWnOm?}#rXzz#y zP)BV1qBv5Y6&?9jel&W^?Ds34v*jHW7b?TrMi=iYI$Xeh3(ntAz10pEC_8Mzev8iE zP`mXE_tBpwhC|@-(Fm^^AJGqB&7P3>yvFPBmZq|w{xe=e*rHy(bv)*95W$+RWU6h1 z3vXwewOlocx$KbYHnm;`yW(2qmGv3#O(zc!m)yVmme5^A4QWilEDAi}~oBnh)#amQPeY{9QheMCC{>By*2Z037~(hOxI(ye1-W~CzVyN!PTSJ7oM znf2cJq5TG%tU}4Mqmv~itJIv9fKRj2-#gy0EcNrhBd0;KFXj^Gc09}!>4pq(3sIdj zJ&9+jUaHccSt<%Z)qrJn$Tp_376-EtP*xQxw2EkgFUoK*B=*tb0QsljO1JK=O8>H=%$SP*BT`tj0p^vU7_Wes5fytxnFt>&xCojf%! zyq&~nL#;~H)`F9E+aTt0Rh-0X&S#12u~?r`-=`BoekyXR>n|!2k& ztK^xR_aFXUrh2l?5B{JRctKFI63_oGQ)xvTLw8e0C1*=xYY}Jne~9Q$>0~LdfKqVL zvbLeYt4pXsM7xWya$j_IAU}*#_Q|3Vd(p|(X=^qXo*6xI5Wj*6j&N&(SNmHKyZm4) zKFFLH8$Fq210xjWLBxXy={!{-d*RPUYR)HG_coDH;Y3pnaTMw}35{xQl@8n}r!2s~ z5zP(~hsZ#+8M5fx_S19z*lfp)ZGQtTwb^5-rDG%}wgRX=|C;_=5eSbJ+m3!E5EDhI z2&Byk%@837+|?otO_Rn#;PL?j5&bHV53-))IhwWU5Ku@$;be{w`L|~;f7;|-M^Y|w z8ylG8FmwC#tAx@xK^YXkX@8sUOI9L9u`vvAZkr!fJsf(fdrB<9Wqp%N>mH`BO3S{0 zuPESPy5A7zfjCf#cug8a7 zKedF~SM6=g?|cI6u!0j}6jFt}v_Or&-S@^o9I)TycJX@9ziU`3f5UOLoOSl>Pr8D&h!^;Kw9W{3UVQVpB`+i84VrtW}HLn1)E@m2(`9o+esG+8w(GERDKM$ z2xD*r1ibT8?$QBbReP7V+hOCIkGD85jQR<6J~;#4%E;dSh&^l5naE8=c8@Ir;c7hq zGOaRT68;H1YI!jlK~=(oyrzdU@3pM8L|EJ1#?akCW-#~lg@+{dwf3*zS3dnp*`6N= zG+OS!O0@IeBml~EXp$5b%Vc<_+HNteO2}4gjiBntKz6!QsAJb zvu0tuv@L%7#`ZXX^KAas&EDB2d;89n5&+1)4)^IdZinFV0J@9b_Uur zBiH5AUovv4OTdD)K!ULc*#f5j!WO82MD(u~Abvxpml|>XZr#k%1maT~M!hV&Xnx4EGGIn2sUE-1R?5hLPj+;D-o1I(M;SLY>Q#xMz0h`sInQ^{iJUe zX*}dO+M;`Ibco98ea-iF6n+HzoCWp0b~G(OFahs`l8wzsl%p|Mm+^S8OB(T;FxZ0a zFDn7vB{f7y9^%6>C8&{f5A_9I)zzsVU6tkyPkrdkLphlUg1I}j?hRtG7bmQeLs1BL!s|7)0lrsj5z|4gILQvL}#$&j1}G@4ip5?Oo< z6VP}Z5Bp3pl*OT?lDO?hmrF*MDb>AKtCpt#J^{TWd(6!M zP6M6GC;zgZ1Gm-g9b1;if8F2^RIxlQB7x#xG{oO8^6@L4E7WspttuX!WixyBP~4Or z29^YQeS7b1G85_Wmpr8{M`Y$}pYt$F#wAbljoVBolg5RUPt3#>4>iKZceYhXPXTPN z=KN5+8d276#{@WiP!f;|N1^iJ+&ICcVyVy_(xC2>SWj3Oj?qem`NT^@U)AwapstbW zeGiY-r&th+R`J#`EMCf{z`M}k-_zbq%j8D~0chQtevX>lCM#2Zj*IjbUmKy%M$Uy` z9oj<6etvv@nW{WT?XEf{xn-8vED^cY|4RfMMh~7X2m~11|BrnoZEIrc_NTc?iXZ;N z?+6~WVPKdFdP7b}#L?j{w6~xrl){dnci7ygESMvYB3qzIl-%ityi^R8Run_e$L2A? zczF=aG2egNxkCn<*lLCVz1Zo;wEWtEtHVMjHo7Dq4;)p!8kQ`evnGyn|bhY_ZxijeM9{9u1`hq2tY?&+uAcoYP>x6ns?o{iNryiAvO z^(w-0N}!onyD|$$?iIf^l{*m>=i-YFz%>Z*GA;J}qij2}j3(K=;u@)-?nGBJC_(vLY5E9{9&GGW@l~ z05RfIs%R(klj;6wce`(UCwMnSrkkP&H=^1|qzvXrQQ=Z-zGRhoqyltC)Li0||JsYr zb!t8A3fvt_juYn=t65VoOAyS@h+%G|t@fp3Z0W<%(ClTnhPconu0*}KEhARZX3P7; z=p|-Z48zn|r+A4YXjz7C!lkAVmvXp3MH0N|W_HHFsioNEHJIR#;i7svu&qQ%r4)kj zGjVlk<2X-Yd=jhsuUYVsIIOn6BOil4`PKvzAZek(-9DIJ^P0X)$~S7boPSrG-VlEk z(OY-~GM3AxxQ@V4plAQin`}?>9|1}&7>U3|U646%J?cUQGT4vSVKzdxZBmX0bm%3hVUkjyz&iuQJjasTjykN)eE6UZq3Pi`vd-&;sa6H_C@|4dE|w)Og+1OgZu z1TgP^wSu&YF(`S`$j;Ew}D?K+#G|Q+Jt%0KtP**4to*X3U(>D#H=g6Cnh#O!{D#^=*ls zI|?CSY~D-UYz(Ws`+LtL@L04+u0dzHWJ#Q0;hD9VBV_t^V;*ZUE<2OU63G8rcDXN0 zvHOjxs_{DqkA9`P*Lh|PR;8=aU8A#>J-dGeX4Y9==jB!Y$W2^Nn=Z9~tQ1#Gh)W7q z$>z{jwmFymmi1S+j)IB(2L+p@+y0PmM)iy@CZhwERhRF#zAwz}U%7|4ZL5u4eM4ry zHSAnOhc`rT*L>sYuH!@%YYaGWTwJ4O zZwHSrnBTUu31cFsbbI59&U+#KtYJGE1t3H|x>$4YUw1s&{am11SyDR<4O8i9*LzfGSR_B)YR=3p; znt--U8il-&k#-GP!XToMujGWXCoqH9(q^-3R$O-wI{lWIpT+h7z- zcrwXn&kB&H{qd@gW6}v6mT$)QBXM*_KTRbeMbAR77!CylI;08ss+opDyHgn>yT4w6RJ)^VYCRKj|eTYjPikHmTBUkbn zA-zBK58nu~&1O0Y#lVcIOfMMX?04%ReqiOC5S9^_}z)^kwvE_pS8t^|keR_PzAM_JsuBmV)__Gol!<2M&so4+&l4zbz-!>5EzElG;fc#zE}b+mrbpd(J@Q4dAtZ>V zL%3X!?aZZWnUz&svuEL9UVecdK;X83-4a3>b|<0jP0h(Wg{s1|9FKh4hzwaW$yV7u zxsU8O$FP6=kl;TA7F?BkQLNtaRSR*koa&|Bf?Zi2gZR*lm4lri1|oUMw-o7kuJgI$ z?b}pGVY^B89rpR;uplbDB*gV9KMh%KcZ7=pK&H8eWeI8rk=iwY`gHdD%w%%YygC-`@5bA!<9CaQiOG;wflrpnv*KVAZrDAYxY6 zwpp!;vDNMLfV02Q_5Jr78))cc{hu2fFU1Q%5Cp#(2!77Lh5yg_!nU?{&bG$?xGJiG zR{ZA)5I6ZpWMrVYgg%!V;SoZwTkIqXasUdIoE%qo5^aKUk<0cvaJJJX!Kj6*@&oKt zmKWZX-vBUCcmgDoN=2_OyakJ_C50xi>Ex{3XTZTO<67$N0>u?`#fMJo6jRbEyiB*c z8Je76Lar+^5G`kOt!P@-w3?sU1;md^c9zw`kcebD;XeUP)bZk@`i*N}wu57!Davp(}fRrUDcI-FXkh z?ym6Z0#-pKZ-4QnX$XHrAb}uB293Y>y#9pbk9d`(t@-~&!#P&&4{thX5ISC&x(gAd zy9gSdNwX#&OOb*+HhfVbQ%NcTR3d_QXGQ-<$<3D;DU*N?KG$QOIlB*UH&4)D3-%a2 zLfzk4gKmq4N@#~iLbvfN6Euou3Pv-%h8?nwcaw-oY!JD%wqQpHok?>FuxXeKQe(Rs z3YEJ1O`dNB(FqcC>emUtjVH#-=w-b{KiE$g8e`%$upQ0u^{Y)p3St(E$OB%r6OKf> zHAV9l$A{gm=Ut0t1UMVkZT4|63sNZNTbp?H#>sGi)jR9#iY3^443Bc%7M8T-ha}@+ zU27*>Wu>3cx+N^+hZ;_Wz~uNzkhIr=l*&D`&Ru!WZ^2M_hIKk&?O*?L3=W2suk3=f zTp1+VzYiJxDcV2kML?z5|1RB_T6vIPD`pPag6JW;kU1dgT8%Oqs$!|fDTxqdw_ zlYl$$MPx8aiOi+n#FxhVCDT(X)rKCNYA5XbsFfbW5ahIbV8)>Zs=XS zVxI08i8nF7Eq5t=m@N3qnu5Q#Lhb!0)EPnDEE24^Ci>yK-%dWQJ}#wLN1Y5}@Myl* z>u+at>2{e_?chw{G(>M^>&w)`nonmg$3SDdJg)1t8i!#nK#+XKT-l;D*d*HKi#nx7 zY4TbwE>0Jl-k=*EBn!HNL>y`yiNqv}^c~!+YRtnU(v7Nuy$r%LX{)4$*I%NQ|7xho z{?^bs+nYNYnwb8lt)7%V#{man;0YRh|J@Sewx$4g5kn_aaa&Nqld7Yk{htQgIaXNq zkGQ9~HK5+=>XX~UoF1s7+K^lcTBw%Am4I}JbH*v<7tW+t4%Bxr-^6C6+Hc$;4+f9> zKQo#hQq;kkgQcM$q1D|@r_~!b8_j-3E=-amD+6jO8>Z3;GWi@xNaT%@|{*-~Ya!`Aog{u)xRf~k7iys)SH6sJgI zXh`^1jtS}GQ(NBT^A~-+edenOdy-A(0}|pIUZYJpzw$ zZlifbWS)#Ca;|ZuW^lMvg9ZR@;CC z3uz9G=MRQfe#2G%+gXpRuxm~yA5W$Wi#Qf8 zDJh|+t9y#OWd-*o_E>nu{jSdvipL^kq_S(jf1BPlc<^UAM-lx#Hdgg(;uSIHEO>X< zDWNelyr@DbEKr_ zeUizLh&9Lh9(IvbW=x?8y^*TgnR}NvaNQ)LwLi4dR`pcd{%#g2ttSzW^wx1Zuuc;+ zcmK(&(fq)hs=$ZzuzKF3pw_AC;5~oyGd{KubTlkw*SQ07CpWN*)3EeXZRFYQqk6|Q zJ}RLx*g{+<@Zz-~*qZ`g8nz;Jvv%8575k!d9HM!JqZ7eBU%sqpSy8>FOXOjt&B-tE ze5_o|PEP}b($0#7Ce^8lXKm-Yv-Q!g>aD267JEJG;^P@*x7}VpvWRsV_7byv-hq<+ z*l_XSsrL?a!OkYzt#U*dN-lH6ST?$y+MD-flzuJUPKmY;&E2v0gobp5^xyhTrTY#g zw~WibDAY-4%1qNUM>Ux$X4m^4E_l!6@r>I#r{=_|7~=_n>gzWmk|Pg#9PO6SPWG)C zPhGI}5;dnQpLH+;uA|5@ppN4$Be!E_xUHi(!jvpZb|t8_5iD zQ8u4U#gqN7MsnYMir%+&n$1Btyn=aGTxPP~-DY;F1oa-I;10g`X$LCrAmJXTek*3w zZ9d=;VbF00o zSfOyF@7XiuJy6ynYM1SDHM$koMLWB|ZHUrIy+*pVX3v9#GGBT=zhN#|FaK<1t&{Yn zlNQh8YtJ>`-chwaR3-TdhmedMYf1%D$uqAO{UXs_>>Z1K@yYCSw?p=9TfeuLDZiaf zN8-)tWM}%|vz@!N6z)hrWDw>Xy_!6ne%5GxK`sB~{w5`Em$fW;#Ufix9Fdtn11^iG zQ{QfXU>;kh9d^wHA&W8Qj4FqJzpl-tuc^rx0NeZk^~G2_r@zI|ooD;WeN5xcrWV*Q z2B-3QzHmpiM;!G)n~Qt%817F!6rukPBlYe!lkJn|8;AHlVLsE3*xndtOMOB|V;`}K zZ;GIY0m3hQpAWhv5v>as4&2o8>m?)Kux!VQ&Za^uee~<2zo7HDpLg zRzAG<%AP~Q;klam)VhYpn?pWdFQ?slL2zfV!HvMav1falAB{|nwdUWZ8t>PnUai6P zLiR;A%(l`d*u3V_#_0DN3`b}Z`nQx-_R(E%5}7m zNwB$m_Q4%*8BNQCw;Oh)Sj6bQ-ce=y+K0E@;=-*V>VA7W3BDoqO9@v7MX`%^9`;~voP&(MqBL8sr#N;FX>jUTId!*dqhHgWmub7 z$rYv+6S<793|}}SFXtWPcCl{TAHn`2FGXGb_BOSrj!jvnwUYPTCBbPVhnnx2CR=O6 za>EZg(q8$E_RlcS++F7bx0(7ae(8{Ev(A6~fkSl#=Q0Aq-GyRHJy#*eiZab)goO)a zcl31$rL~?=DUQpj)3pxJ9Ow5oE)iuhbhQYmG{e>l^KmAsf=sRX7W$g?c#)#Wt(&Gnn`&Flf6I&8WJ@+|(c@|x0%w)J%YWQniD>XEGUd>H zfAO`GS&(*S3D;w|DMLof){ZRXhc{R9n~WGaQMDJl^TN;cGgds#klF=5G+_U1#v`&__&l7uWSlOVj#e98yYj~FW|{SL<$etuk>#=iA_I>^ zQGI()8c4FJ@SJlvf3$Jiwy7&`Je6S$)Ny;|ij(A<{|xDRqmUCLjr9d1jVcmc6I|AX zr=rGg7Jf^Tv2TbeU%|}pvlV)Ojg^zWO!fM`yG)SAuQLFM%fJieLkjEmpYT*sf89-DmPJ z`(0dU`b{Oc4yhQ34WE+T+qI|ue9%?z3FMHV*JozAlqo83c>RpufN@u_u>VfkFZ);{ z%DSRD|8O}-_$$eJoJi2*q~^`nR+nhm()!8rtEV%~#xr9=u%6;Q2L(bfr_rXK>xKPR zDHi9Cp8cu()p@eGpHHGy^pBl?v`bsg#W$8tT@I%ms){Q^eajh}{^X)_!(F&g=lX9; zhpzA&+VcVt6t<(v?}A8Yq*sEr^W~$F44wTfYk#ejqL;BrItI(TM0fS&pNwFx8+8F1 zhz$>O6EeqB83!AVn+Kh?tTNipRoJ$%&&2IeQ$({ZcNS|VHwdY>d$s_$Bp(>$xL%d{nJaSD2{f~%uWCG1$9{iZ`<;ghLrRM_)VtW;y7 ztlZdLq8hVf9m<_zOh0L#D2q8MuXL8>yXTJXm;}f5XFR10^_xr5`Zw-)&e{9osftDQ z)vLReF4vou|DYXL-iZzu3cYKRZPeNoqtT09t)cXvXk&&wb04SSU@s$WvQypJw^)sI zPqzmOk4B`pKBDqfPF}8Jj`xuhxcSjcHql7svdlGAC9UZEU9#LxMx|=I(p^;3Ror!N z?0oDlo~#g|=X@mxn_|sM<7fMMa?qk)`tBw{Lz82AcRK{Xg}RjJTUH0s-DyC@miB~j zJ*n0AWB8WnS?8J0wq<5)qv-q~=mbxyN&iFXCQu>Er&xF}fMe^vW^BISXpF3YZ zpo*>YXJ5%4#~&&dj*87=(L%fmaIK6-j|^F*T{>I4;ceb-onIp1ToqlJvBnD)S;deZu0jbhT|qJ(K*y}Y4#jaIFD%hB^G z{(J}Sgd8mOgq5LrKPn{Trihlyr7FBVNB!}pn#RB}ZDirjFUS|T{wkbqn^AFdr$O4|(Uk*8~I=p>Fk_#PTC$I5(?>Ooqc(Cx42FR-NSjDKdKf zX|xoho3$t0O1Q^zOL=6^?_7f#v#;@!A!kjh0zTZe=ExYz3;CF!SK8nr(Cr@Qmyxu` zym2cZvz~YNn=WZ2y+752M5VU(-rtUOElR(#iazIa-Z@@LeRYpbd`7jHgK)FFW~}nY zg9n3d_78FvhRF@^&?4UoywKE-`lT5%{;4z|=;V#V<|_?ry4FeJ8>*2ZCDz5U;F?P2_sR zA2AwuX^p4w*0fk!rP>P~D)AZ``+b0SN6@qW4;NyzuAMc|(m8lHqljzT){EEogwmBx zgI@>UDcarr7F_t*;!~EX`1@xKD62tp@saR9SCnHiJ8SC%g+~rJtz%eeb)ojZJ9OOH zTVf`1k9|YhiAf@Q4yx3wDNea^boF)l2OTkN)Rp790W~gxzZ73tSw*LZBD^IXr?%v~ zVq}MvQX<2u&aa8HUmHggi%bt>7(4PZe?J#5tat0DGfq7nZtR)szV1A7;z0nlf?rIp zjI%NB#T8cy4g7d6{y;ZClbG`kmD8Jjw_CFgcwJ@AH4TtJN1*{!pN8 z*!H~GH*KZwa2)f)Yp_ev>)y}>u{p21t+Q=gtI+X~3jO{R;+>^%q%zJRigqwV3}q(c)b(BmG= zc7ww^AfDrk{81I_#)jmvI=MCGVoDOo#=;ZhM)jkY4!mExz1qsl=~{`_>+@ypcCQ0> z=3xEbO0Sjqc_Nhga(;WjJ1);P$`Y`2|Cd&1^|NNWr}I`uNhPWc9-eAFT>s;R+P7xe z(3Lq(_r!awi%#D&*nQ>vad-LW8;lM4q|UnDe6$m}|GiE~VeE(Cv$5TmPQW<76kYYZ z+Gc*?`W+qAz9Ub{Z&v#o(>Io=?K!2x zT|oa?B4}HtqFP-~XXrz=>s`WO^suDOO?%3;Pw%+Ekn(1G<(t;?NY)a?&s#F;+x&P^ zhJsI>-RPXLS}Q%LO>14nI>wN={`C&Iy9kt%%LjIPBpmA?wsfv!yLqZ`M_VnvIIK6hi?%}Su&OEx^H&#f>@@sWS zt8wnRF9~I?jwY-6{m%At@Az5R&!AWte77^e+{nE#?kgB^=8B@Uy%^|rZ0z0rQ%PTjDSP}TYI0Y(ZdayKmUqQvoLXN?-w%_ zeWf5>IvVy-?&!%wo)T?6?pf1Ke}b41FQ=a{QUBg}A@L7b-d{n@Ny7<_Yk~0zl`1s1 zoS$5R3F2H~r|O;gPkNfBs**5$EwJ;5|Fio?sr&fA|I7nE0BpWsF{0ql^FPy5)rVo6pDPgY5%6ayofoNJu;P9|1^wd6+%LS5?yhhj6iCNL>bKl@ zzkRvrxAt&HUpurHNeo^*jHx9t>`;hBI6kE;Y@^^8F<^lOI*5uZSd1L_H%linQ-eEN z0J#KJwe~Gc&4J0YCs&V>-l&i*y%xds5X1d>YO1P9+(OgYeIdGOiu39}0qgxIIk8R&xmHWN6- z0$q>56)eUAGz2oR!9|Is%|iWS!s8c!^a2df5+tr*F`JplL0>pswKPZ9;K>9in_%oB z4dBdVaez~LOQR3Ge-Qj0plgG+D2Edtd}A@rAiKfx_W5h^-fL+Vs!ngV3c&CJv|o@g zVZLB7=fG5HSr+0|3!&g5$)+i4}75f-ME6q zw2*BcQKfUtX2V~w#TbaJBy2Gw zDohpnB5vh#kCi+cK?}(Q==fr53oMVU5BKxdJTkwpM=18+78b+FJktZYZ(SbT8SVi` z+kqsMi)`(r|3?`L+E5Htn#YA2Up_^+dvOd4S#Std=*w;vU;tit3w-d~`BTtyFK77$ z6<~l%8|j85UJIRu2gjZOg${wZ4IMDW6)c7qv?_44kHcK|^iXco}f0bIdiG{G4ovSbFg1!r$q;B9*o60H{5Fl+-6 z0Zn${SimQe@$uIHb~7*zzRU;7g@l38-_kONv(esn0D*c97zyByZh}n=Q~_B*}^t2Y~cm z$HA(8Ixb{>w4mG(7n}X(TR(^S*v-?deA)vvCJMsTc9{*Lk@+Bk3C6z z2oGlx5ghnTVDGVC4&TQE;V{!@EHX?1vLI6d7=;r+B}8S^FY%vA22F`o_Qejq_-;^DKTSRC!V?d-uhx<&T6s2Y+0xx6g!OXzSUu3$0p=g0zt zY0N<{FED;HJrPF=AMSwkK)U-ck~gWdq_7SM$pd7@?nf0xvJ^W}GQzTF|$6 zlG1v3BfvXKgw7Yj8rc;I`gvL~Il?!t@C7p9G~iw+J6{hwd$%Q~AfiJq7+KI|mI4m^ z&S3fm8Tj)4MblS~vi0l&z1G(38v5`Zq; zVETbSE!de#39hEIvl<%V=nPl$LAW`RP~>SpI=cW6b^_z!6UwIl6QQXK8tF@d@NR+q zv?2`^l|5LzQk<_VXk=iVMF}A^PuKJyrCLUm(jiTtnmbTU1COaIn^LBk6#+0T@gV6H zZTm&H?*oj(pmnO@F`mh#h!Hm%)<7dsBy8ziq9^ecgv23WPfa|&-TD8-H+Q;_1m&-D z!ze|dB4UwILmp8=Ilo@9tWn=9S@EU-Mjp^4@T+nCQ%V>O!6G8c6zK~`FV`lXBjmKq zfJs}yN(?^Z=E8qt1h-urNQIN!oRqPApraMgQ5mly8;dDngr*U*a}^R*2;l>+nSwv$ z>M13I42oMs_9@sL4yT?0u#t-#L$-_p)ERJ9C)XMIp$&tj7la~5uIN6tk#ZmsC>9G=HywL=C~3dTWUD$yfgipDx_)2r2iYi=I{-0S=!7 zhRmvSo&kMfF?VYz=7T$`q2YG36-eBihep=@v;pS4zQ|SRz>*l~kGCyshvBxgpzSF5 z?BD|DfHSTF78lffoK2t+6A6RH_#Cpg1B~|p<32nEUo=q4r~$Nd*MK|0K_&?Fa>P;U zyYCwT;wV6@jz@gDiBe)M1lr4cIl{M-aj)bI?wwVP5# z9VEhIW6_5&6{{g}zU{DpjdUT$qoDe+lY({EedPU`}qcmt2T|hm3JhlmN7m%_D zuZQ%2`|q_w%te8jznUO@(6~e%gwyYhdU0t`3MO3;4Ak(rFM`{0{|h&9-+^nj$Q1%U zJ)kT8*sUFGS5d}i42RkziRMUS_XnX5$S}ZB@vD&v+`guiY`M9}M3qk1bOGosWi)Lq_2gi*8Gk*K1S@SmpdQWs?g{)?5kijY>oq%#G7+^@WW46?bm zb_ko>CM)T78UVWz1QvW1A}Bze311orFKE?^g!@0;=Dg)CnDFKRo9&rX1^U8bI>Eig zW$iVm!fdRZSz#l=_1!%}iw-D8vq&*+0SdY1Zse07vxCvz@&RPFi`uoHAcbTmC@@q5 zo1P@t#HzF1R1lP5fK7YV*SeBMJW4P$QF@pGkCN)rk z)WUiD)_EPFCCBIDxf#c2ER7=gCO)%*@9SJU;`b0#Hf-62{YIyAGZYp`t2hCL}*9|38y2H;>-^!9D*F z@Q*MM&ha(xSNb<{Q@9(L5}>_Jk+VZ)5}N;ApZE@6ph^Zg(e3}j?>@2Yz!h^A#XuT0 zaxtMbDNQ$oJHi75B~t6Pe=D%CXAC(c3Y@K6wsp&LGHz1XF4|H-w|6 zlM^(J$59a`rBfg@GN%Cj1(0DEW|9f(cfsI zcxa!|Cwq|LE<%yrXMKy0*u%Q_7w3$ z7M%?RjCi_{B>dYM@Pmkk9VtRLur}lac9s{lK$o__vMF9Li&7)J{18DNAhhZPArm){ zx1w}j4LCB{9Y_fO4qPo*I!4XQJGUdg#Px?PQ4#xeV3TI>k;SX=fh@A%=iU@FR5gSV zSKx1hZ=Pp>y49a|Nix8}Qq|(d+_a;s>=1BKXo*2$9u9I*>3d|r=|ZT>3%Y3@84~nE zHYsEjn9VFc4nX^1(83CIi+jL?V_}RA$;oq{3^WLHc`@IMHIT{vq8{oYHAAIQE$7D!qJR>l1Xh=%n05b*O z2+dDOK`*fq;_Vdn9xRJdL04VyTfwHMWWd4xo=+1Oc5=8KqvOVDWL)oB+h5}ariT5#f+OsQV?5DAbj}-hlj}ujRlJP&C63jYdY%C zt3<@x6yd`V3*eSt$p!!WnFvDR3EweTz-MYB5C5;!SA^h%DfJh?KedwwPWH4$0Ea!( zo&vv-gr7?gPbe;7f_NMx7E?eL-csq}33(t~TpZYhBbkx=P8UhJ!P4yF@d#n2avUHQ z^Meeu#d*sKr6tUly@3DX$MVt=$(~I}009y=M`#Zzg1KbC1b4Iv^E)qyTS5jJ@odk8 z5)&pYUf?hX7buq=63=MEgChc8-&;GeQJh2qMgbaiUZWkCje=W~2vwTic z0|*aSrTB9ki2+jhORmEaW`bQ17)c)BQh8wsEkl?Xb%Cg2kSxg;rAZ}ZAj}cEz_95z zSq#vk=-hfD@jinv73Ts2-!OR$1c^BbRUphgxj+y-LKeZC_2xsH?MfHDpef)QpMToCxq@?iLxun3_EGixnCZvgTy9dCRfITz*G YGTcW87L2H