From 76124d44d89276a665373f67dece6e8e1a0a597a Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 27 Sep 2020 18:11:57 -0400 Subject: [PATCH 001/243] Release of Prison v3.2.1. --- gradle.properties | 2 +- prison-spigot/src/main/resources/plugin.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 88361bce4..1359bbd3a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.1-alpha.20 +version=3.2.1 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all diff --git a/prison-spigot/src/main/resources/plugin.yml b/prison-spigot/src/main/resources/plugin.yml index 99196e81f..cae898fd5 100644 --- a/prison-spigot/src/main/resources/plugin.yml +++ b/prison-spigot/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: Prison main: tech.mcprison.prison.spigot.SpigotPrison version: "${version}" description: Prison is an all-in-one plugin for the Minecraft prison game mode. -website: https://mc-prison.tech +website: https://prison.jar-mc.com softdepend: [Essentials, Vault, LuckPerms, Multiverse-Core, Multiworld, MVdWPlaceholderAPI, PlaceholderAPI, GemsEconomy] # Older versions than 1.13 will ignore this, but this will allow 1.13 and up to use newer block types? From 2da859feace95d3713318c574d38993120f3620d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 27 Sep 2020 23:16:16 -0400 Subject: [PATCH 002/243] Set the new build number to v3.2.2-alpha.1 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1359bbd3a..9b404a73e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.1 +version=3.2.2-alpha.1 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From c6840f0fc915a54800cc8f45d710693a789247ef Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 27 Sep 2020 23:17:48 -0400 Subject: [PATCH 003/243] Bug fix: Prison was allowing the material REDSTONE to be added to mines. This caused a failure during mine resets since that is not a valid block. That is redstone dust! Fixed it so upon server startup, it will auto detect the use of this item in mines and convert it to REDSTONE_ORE. Thus the mine will work and won't disable the mine. Also I changed the BlockType to Item so it's still there, but it cannot be presented as a block in the /mines block search tool. --- changelog_v3.2.x.md | 22 +++++++++++++++++++ .../tech/mcprison/prison/util/BlockType.java | 2 +- .../tech/mcprison/prison/mines/data/Mine.java | 11 ++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index ec3982327..8617cc8e3 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,6 +8,28 @@ is going on in each build so you have a better idea if it may be something that you need. + +## tag v3.2.2-alpha.1 - 2020-09-27 + + + +* **Bug fix: Prison was allowing the material REDSTONE to be added to mines.** +This caused a failure during mine resets since that is not a valid block. That is redstone dust! +Fixed it so upon server startup, it will auto detect the use of this item in mines and convert it to REDSTONE_ORE. Thus the mine will work and won't disable the mine. +Also I changed the BlockType to Item so it's still there, but it cannot be presented as a block in the /mines block search tool. + + +* **Set new version to v3.2.2-alpha.1** 2020-09-27 + + +## tag v3.2.1 - 2020-09-27 + +* **New Release!! v3.2.1 published!!** +Bleeding was pulled in to master branch. And published to spigotmc.org too. :) + + + + ## tag v3.2.1-alpha.20 - 2020-09-27 diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index f5538f0f1..4eaaeaebf 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -573,7 +573,7 @@ public enum BlockType { MINECART( 328, "minecraft:minecart", 0 ), SADDLE( 329, "minecraft:saddle", 0 ), IRON_DOOR( 330, "minecraft:iron_door", 0, MaterialType.BLOCK ), - REDSTONE( 331, "minecraft:redstone", 0, MaterialType.BLOCK ), + REDSTONE( 331, "minecraft:redstone", 0, MaterialType.ITEM ), SNOWBALL( 332, "minecraft:snowball", 0 ), OAK_BOAT( 333, "minecraft:boat", 0 ), LEATHER( 334, "minecraft:leather", 0 ), diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index cace801bf..7406c1539 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -247,6 +247,17 @@ private void loadFromDocument( Document document ) // Use the BlockType.name() load the block type: BlockType blockType = BlockType.getBlock(blockTypeName); if ( blockType != null ) { + + if ( blockType == BlockType.REDSTONE ) { + blockType = BlockType.REDSTONE_ORE; + + Output.get().logError( "Warning! An invalid block type was detect when loading blocks for " + + "mine " + getName() + ". Redstone dust is not a valid block type. Using " + + "REDSTONE_ORE instead. If this is incorrect please fix manually." ); + + dirty = true; + } + Block block = new Block(blockType, chance); getBlocks().add(block); } From d244caf338ba28cb72723e790cf2cf2f42523e72 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Mon, 28 Sep 2020 23:58:39 +0200 Subject: [PATCH 004/243] Added some guidebooks Changelogs: - Added some commands guidebooks -> Some Ranks. --- .../prison_docs_command_10_sellall.md | 2 +- .../prison_docs_command_11_ranks.md | 30 ++++++++++++----- .../prison_docs_command_12_ranks_command.md | 25 ++++++++------ .../prison_docs_command_13_ranks_create.md | 23 +++++++------ .../prison_docs_command_14_ranks_delete.md | 23 +++++++------ .../prison_docs_command_15_ranks_demote.md | 33 +++++++++++++------ .../prison_docs_command_16_ranks_info.md | 24 ++++++++------ ...rison_docs_command_17_ranks_ladder_info.md | 32 ++++++++++++------ .../prison_docs_command_1_prison.md | 2 +- .../prison_docs_command_2_prison_alerts.md | 2 +- ...ison_docs_command_3_prison_autofeatures.md | 2 +- .../prison_docs_command_4_prison_gui.md | 2 +- .../prison_docs_command_5_prison_modules.md | 2 +- ...ison_docs_command_6_prison_placeholders.md | 2 +- .../prison_docs_command_7_prison_reload.md | 2 +- .../prison_docs_command_9_prison_version.md | 2 +- 16 files changed, 130 insertions(+), 78 deletions(-) diff --git a/docs/docs-commands/prison_docs_command_10_sellall.md b/docs/docs-commands/prison_docs_command_10_sellall.md index 91a56da7a..147767660 100644 --- a/docs/docs-commands/prison_docs_command_10_sellall.md +++ b/docs/docs-commands/prison_docs_command_10_sellall.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_11_ranks.md b/docs/docs-commands/prison_docs_command_11_ranks.md index fe26d7c61..44825ac57 100644 --- a/docs/docs-commands/prison_docs_command_11_ranks.md +++ b/docs/docs-commands/prison_docs_command_11_ranks.md @@ -3,21 +3,33 @@ ## Description: -Short description of the command will be here +Main Prison Ranks command which will show all the subcommands to admins and open a GUI to players. + +## Permissions: + +- `ranks.admin` If you want to see the commands list then add it to yourself, you can still see the Player GUI for Ranks with another command: `/prisonmanager ranks`. ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- [/ranks command](prison_docs_command_12_ranks_command.md) +- [/ranks create \[rankName\] \[cost\] \[ladder\] \[tag\] ](prison_docs_command_13_ranks_create.md) +- [/ranks delete \[rankName\] ](prison_docs_command_14_ranks_delete.md) +- [/ranks demote \[playerName\] \[ladder\] \[chargePlayers\] ](prison_docs_command_15_ranks_demote.md) +- [/ranks info \[rankName\] ](prison_docs_command_16_ranks_info.md) +- [/ranks ladder](prison_docs_command_17_ranks_ladder_info.md) +- [/ranks list \[ladderName\] ](prison_docs_command_18_ranks_list.md) +- [/ranks players \[ladderName\] \[action\] ](prison_docs_command_19_ranks_players.md) +- [/ranks player \[player\] ](prison_docs_command_20_ranks_player.md) +- [/ranks promote \[playerName\] \[ladder\] \[chargePlayers\] ](prison_docs_command_21_ranks_promote.md) +- [/ranks set](prison_docs_command_22_ranks_set.md) ## How to use the command + +Execute the command himself to get a list of commands like in the example: `/ranks`. +This will also open a GUI to players showing a list of the ranks, you can enable or disable this in the config.yml. + ### Command Format -`/prison` +`/ranks Optional-Ladder` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_12_ranks_command.md b/docs/docs-commands/prison_docs_command_12_ranks_command.md index 1e798a48b..75a572b4d 100644 --- a/docs/docs-commands/prison_docs_command_12_ranks_command.md +++ b/docs/docs-commands/prison_docs_command_12_ranks_command.md @@ -1,24 +1,29 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Add a command which will be executed when the player rankup to the rank with the command assigned. + +## Permissions: + +- `ranks.admin` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- `/ranks command add` +- `/ranks command list` +- `/ranks command remove` ## How to use the command +Execute the command himself, and you'll get a list of the subcommands, like in the example: `/ranks command`. +- `/ranks command add [rankName] [command]` will add a rankupCommand to a rank. +- `/ranks command list [rankname]` will show a list of rankupCommands in a rank. +- `/ranks command remove [rankName] [command]` will remove the rankupCommand from the rank. + ### Command Format -`/prison` +`/ranks command ` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_13_ranks_create.md b/docs/docs-commands/prison_docs_command_13_ranks_create.md index 1e798a48b..6eaca8997 100644 --- a/docs/docs-commands/prison_docs_command_13_ranks_create.md +++ b/docs/docs-commands/prison_docs_command_13_ranks_create.md @@ -1,24 +1,27 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Create a rank. + +## Permissions: + +- `ranks.create` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command himself following the format like in the example: + +- `/ranks create [rankName] [cost] [ladder] [tag]` +- `/ranks create A 100 default &3[&1A&3]&f` + ### Command Format -`/prison` +`/ranks create [rankName] [cost] [ladder] [tag]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_14_ranks_delete.md b/docs/docs-commands/prison_docs_command_14_ranks_delete.md index 1e798a48b..6e425656c 100644 --- a/docs/docs-commands/prison_docs_command_14_ranks_delete.md +++ b/docs/docs-commands/prison_docs_command_14_ranks_delete.md @@ -1,24 +1,27 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Delete a rank. + +## Permissions: + +- `ranks.delete` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command himself like in the example to delete a rank: + +- `/ranks delete [rankName]` +- `/ranks delete A` + ### Command Format -`/prison` +`/ranks delete [rankName]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_15_ranks_demote.md b/docs/docs-commands/prison_docs_command_15_ranks_demote.md index 1e798a48b..4d4500786 100644 --- a/docs/docs-commands/prison_docs_command_15_ranks_demote.md +++ b/docs/docs-commands/prison_docs_command_15_ranks_demote.md @@ -1,24 +1,37 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Demote a player of a rank depending on the ladder you want. + +## Permissions: + +- `ranks.demote` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command himself following the format shown in the example to demote a player: + +- `/ranks demote [playerName] [ladder] [chargePlayers]` +- `/ranks demote GABRYCA default` + +_"Hope you'll never get demoted_ + +_As this is usually common_ + +_and in life you'll see only promotions_ + +_as time goes on"_ + +**- GABRYCA** + ### Command Format -`/prison` +`/ranks demote [playerName] [ladder] [chargePlayers]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_16_ranks_info.md b/docs/docs-commands/prison_docs_command_16_ranks_info.md index 1e798a48b..932f95536 100644 --- a/docs/docs-commands/prison_docs_command_16_ranks_info.md +++ b/docs/docs-commands/prison_docs_command_16_ranks_info.md @@ -1,24 +1,28 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Get info about a rank. + +## Permissions: + +- `ranks.info` +- `ranks.admin` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command like in the example following the format: + +- `/ranks info [rankName]` +- `/ranks info A` + ### Command Format -`/prison` +`/ranks info [rankName]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_17_ranks_ladder_info.md b/docs/docs-commands/prison_docs_command_17_ranks_ladder_info.md index 1e798a48b..f30d106be 100644 --- a/docs/docs-commands/prison_docs_command_17_ranks_ladder_info.md +++ b/docs/docs-commands/prison_docs_command_17_ranks_ladder_info.md @@ -1,24 +1,36 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Edit a rank on the ladder side, like moving it from a ladder to another or also **manage ladders.** + +## Permissions: + +- `ranks.admin` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- `/ranks ladder addrank [ladderName] [rankName] [position]` +- `/ranks ladder create [ladderName]` +- `/ranks ladder delete [ladderName]` +- `/ranks ladder delrank [ladderName] [rankName]` +- `/ranks ladder listranks [ladderName]` +- `/ranks ladder list` ## How to use the command +Execute the command or its variables like in the examples: + +- `/ranks ladder addranks default A 1` This will move the Ranks A from whatever it's to the default ladder as the first rank. +- `/ranks ladder create coolLadder` This will create a ladder named "coolLadder". +- `/ranks ladder delete coolLadder` This will delete the ladder named "coolLadder" if found. +- `/ranks ladder delrank default A` Delete a rank from the specified ladder. +- `/ranks ladder listranks default` Shows a list of ranks of the "default" in the example. +- `/ranks ladder list` Shows a list of ladders. + ### Command Format -`/prison` +`/ranks ladder ` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_1_prison.md b/docs/docs-commands/prison_docs_command_1_prison.md index eb09501a5..313bcdfd7 100644 --- a/docs/docs-commands/prison_docs_command_1_prison.md +++ b/docs/docs-commands/prison_docs_command_1_prison.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_2_prison_alerts.md b/docs/docs-commands/prison_docs_command_2_prison_alerts.md index c104725ef..368eaad27 100644 --- a/docs/docs-commands/prison_docs_command_2_prison_alerts.md +++ b/docs/docs-commands/prison_docs_command_2_prison_alerts.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md b/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md index b596503a0..008131a66 100644 --- a/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md +++ b/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_4_prison_gui.md b/docs/docs-commands/prison_docs_command_4_prison_gui.md index b3c5e18e1..fbeffa9d6 100644 --- a/docs/docs-commands/prison_docs_command_4_prison_gui.md +++ b/docs/docs-commands/prison_docs_command_4_prison_gui.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_5_prison_modules.md b/docs/docs-commands/prison_docs_command_5_prison_modules.md index 2af0ae379..0eb3ac8b3 100644 --- a/docs/docs-commands/prison_docs_command_5_prison_modules.md +++ b/docs/docs-commands/prison_docs_command_5_prison_modules.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_6_prison_placeholders.md b/docs/docs-commands/prison_docs_command_6_prison_placeholders.md index 246dd184e..bd6c71198 100644 --- a/docs/docs-commands/prison_docs_command_6_prison_placeholders.md +++ b/docs/docs-commands/prison_docs_command_6_prison_placeholders.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_7_prison_reload.md b/docs/docs-commands/prison_docs_command_7_prison_reload.md index a6971b3d0..d8bf06c6a 100644 --- a/docs/docs-commands/prison_docs_command_7_prison_reload.md +++ b/docs/docs-commands/prison_docs_command_7_prison_reload.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: diff --git a/docs/docs-commands/prison_docs_command_9_prison_version.md b/docs/docs-commands/prison_docs_command_9_prison_version.md index a3559038a..e6a06faef 100644 --- a/docs/docs-commands/prison_docs_command_9_prison_version.md +++ b/docs/docs-commands/prison_docs_command_9_prison_version.md @@ -1,4 +1,4 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: From a4d3adcdb2570502d5b276693f154ca16f0d09ed Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 29 Sep 2020 16:06:00 -0400 Subject: [PATCH 005/243] Fix: Changed nether_brick to an item since this is an item and not a block. Added support so if it is found in a mine upon server startup, it will change it to a double_nether_brick_slab. --- .../tech/mcprison/prison/util/BlockType.java | 10 +++--- .../tech/mcprison/prison/mines/data/Mine.java | 33 +++++++++++++++++-- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 4eaaeaebf..157d4fba7 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -318,19 +318,19 @@ public enum BlockType { BRICK_STAIRS( 108, "minecraft:brick_stairs", 0, MaterialType.BLOCK ), STONE_BRICK_STAIRS( 109, "minecraft:stone_brick_stairs", 0, MaterialType.BLOCK ), MYCELIUM( 110, "minecraft:mycelium", 0, MaterialType.BLOCK ), - LILY_PAD( 111, "minecraft:waterlily", 0, MaterialType.BLOCK ), + LILY_PAD( 111, "minecraft:waterlily", 0, MaterialType.ITEM ), - NETHER_BRICK( 112, "minecraft:nether_brick", 0, MaterialType.BLOCK ), + NETHER_BRICK( 112, "minecraft:nether_brick", 0, MaterialType.ITEM ), NETHER_BRICK_FENCE( 113, "minecraft:nether_brick_fence", 0, MaterialType.BLOCK ), NETHER_BRICK_STAIRS( 114, "minecraft:nether_brick_stairs", 0, MaterialType.BLOCK ), - NETHER_WART( 115, "minecraft:nether_wart", 0, MaterialType.BLOCK ), + NETHER_WART( 115, "minecraft:nether_wart", 0, MaterialType.ITEM ), ENCHANTMENT_TABLE( 116, "minecraft:enchanting_table", 0, MaterialType.BLOCK ), BREWING_STAND( 117, "minecraft:brewing_stand", 0, MaterialType.BLOCK ), CAULDRON( 118, "minecraft:cauldron", 0, MaterialType.BLOCK), END_PORTAL( 119, "minecraft:end_portal", 0 ), END_PORTAL_FRAME( 120, "minecraft:end_portal_frame", 0, MaterialType.BLOCK ), END_STONE( 121, "minecraft:end_stone", 0, MaterialType.BLOCK ), - DRAGON_EGG( 122, "minecraft:dragon_egg", 0, MaterialType.BLOCK ), + DRAGON_EGG( 122, "minecraft:dragon_egg", 0, MaterialType.ITEM ), REDSTONE_LAMP_INACTIVE( 123, "minecraft:redstone_lamp", 0, MaterialType.BLOCK, "REDSTONE_LAMP_OFF" ), REDSTONE_LAMP_ACTIVE( 124, "minecraft:lit_redstone_lamp", 0, MaterialType.BLOCK, "REDSTONE_LAMP", "REDSTONE_LAMP_ON" ), @@ -704,7 +704,7 @@ public enum BlockType { FIREWORK_STAR( 402, "minecraft:firework_charge", 0 ), ENCHANTED_BOOK( 403, "minecraft:enchanted_book", 0 ), REDSTONE_COMPARATOR( 404, "minecraft:comparator", 0, MaterialType.BLOCK ), - NETHER_BRICK_ITEM( 405, "minecraft:netherbrick", 0, MaterialType.BLOCK ), + NETHER_BRICK_ITEM( 405, "minecraft:netherbrick", 0, MaterialType.ITEM ), NETHER_QUARTZ( 406, "minecraft:quartz", 0 ), MINECART_WITH_TNT( 407, "minecraft:tnt_minecart", 0 ), MINECART_WITH_HOPPER( 408, "minecraft:hopper_minecart", 0 ), diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 7406c1539..344eeb3a2 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -248,12 +248,39 @@ private void loadFromDocument( Document document ) BlockType blockType = BlockType.getBlock(blockTypeName); if ( blockType != null ) { + + /** + *

The following is code to correct the use of items being used as a + * block in a mine, which will cause a failure in trying to place an + * item as a block. + *

+ * + *

This is intended for the old block model and is temp code to ensure + * that there are less errors the end user will experience. + *

+ */ + String errorMessage = "Warning! An invalid block type of %s was " + + "detect when loading blocks for " + + "mine %s. %s is not a valid block type. Using " + + "%s instead. If this is incorrect please fix manually."; + if ( blockType == BlockType.REDSTONE ) { + BlockType itemType = blockType; blockType = BlockType.REDSTONE_ORE; - Output.get().logError( "Warning! An invalid block type was detect when loading blocks for " + - "mine " + getName() + ". Redstone dust is not a valid block type. Using " + - "REDSTONE_ORE instead. If this is incorrect please fix manually." ); + Output.get().logError( + String.format( errorMessage, itemType.name(), getName(), + "Redstone dust", blockType.name()) ); + + dirty = true; + } + else if ( blockType == BlockType.NETHER_BRICK ) { + BlockType itemType = blockType; + blockType = BlockType.DOUBLE_NETHER_BRICK_SLAB; + + Output.get().logError( + String.format( errorMessage, itemType.name(), getName(), + "Individual nether brick", blockType.name()) ); dirty = true; } From c6833f0c29d108a9e5682b04816c856b477131c4 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 29 Sep 2020 16:14:08 -0400 Subject: [PATCH 006/243] Added a few v1.16 block types. Not sure if they will actually work. Obviously will never work with mc versions < 1.16. Use at your own risk. Added: ANCIENT_DEBRIS CRYING_OBSIDIAN NETHER_GOLD_ORE BASALT POLISHED_BASALT NETHERITE_BLOCK BLACKSTONE POLISHED_BLACKSTONE CHISELED_POLISHED_BLACKSTONE NETHER_BRICKS RED_NETHER_BRICKS CRACKED_NETHER_BRICKS CHISELED_NETHER_BRICKS CRIMSON_PLANKS WARPED_PLANKS STRIPPED_CRIMSON_HYPHAE STRIPPED_WARPED_HYPHAE NETHER_WART_BLOCK WARPED_WART_BLOCK LODESTONE QUARTZ_BRICKS RESPAWN_ANCHOR SHROOMLIGHT CAMPFIRE SOUL_CAMPFIRE SOUL_LANTERN SOUL_TORCH SOUL_SOIL TARGET TWISTING_VINES WEAPING_VINES --- changelog_v3.2.x.md | 16 +++++- .../tech/mcprison/prison/util/BlockType.java | 55 +++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 8617cc8e3..ada53c2cc 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,9 +9,23 @@ that you need. -## tag v3.2.2-alpha.1 - 2020-09-27 +## tag v3.2.2-alpha.1 - 2020-09-29 +* **Added a few v1.16 block types.** +Not sure if they will actually work. Obviously will never work with mc versions < 1.16. Use at own risk. +ANCIENT_DEBRIS CRYING_OBSIDIAN NETHER_GOLD_ORE BASALT POLISHED_BASALT +NETHERITE_BLOCK BLACKSTONE POLISHED_BLACKSTONE CHISELED_POLISHED_BLACKSTONE +NETHER_BRICKS RED_NETHER_BRICKS CRACKED_NETHER_BRICKS CHISELED_NETHER_BRICKS +CRIMSON_PLANKS WARPED_PLANKS STRIPPED_CRIMSON_HYPHAE +STRIPPED_WARPED_HYPHAE NETHER_WART_BLOCK WARPED_WART_BLOCK +LODESTONE QUARTZ_BRICKS RESPAWN_ANCHOR SHROOMLIGHT CAMPFIRE SOUL_CAMPFIRE +SOUL_LANTERN SOUL_TORCH SOUL_SOIL TARGET TWISTING_VINES WEAPING_VINES + + +* **Fix: Changed nether_brick to an item** + since this is an item and not a block. Added support so if it is found in a mine upon server startup, it will change it to a double_nether_brick_slab. + * **Bug fix: Prison was allowing the material REDSTONE to be added to mines.** This caused a failure during mine resets since that is not a valid block. That is redstone dust! diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 157d4fba7..ff9e14fbc 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -761,6 +761,61 @@ public enum BlockType { WAIT_DISC( 2267, "minecraft:record_wait", 0 ), + + // Minecraft v1.16.x blocks: + // crying_obsidian, nether_gold_ore, polished_basalt, basalt, red_nether_bricks, netherite_block, gilded_blackstone + ANCIENT_DEBRIS( "minecraft:ancient_debris", MaterialType.BLOCK, MaterialVersion.v1_16 ), + CRYING_OBSIDIAN( "minecraft:crying_obsidian", MaterialType.BLOCK, MaterialVersion.v1_16 ), + NETHER_GOLD_ORE( "minecraft:nether_gold_ore", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + BASALT( "minecraft:basal", MaterialType.BLOCK, MaterialVersion.v1_16 ), + POLISHED_BASALT( "minecraft:polished_basalt", MaterialType.BLOCK, MaterialVersion.v1_16 ), + NETHERITE_BLOCK( "minecraft:netherite_block", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + BLACKSTONE( "minecraft:base_stone_blackstone", MaterialType.BLOCK, MaterialVersion.v1_16 ), + POLISHED_BLACKSTONE( "minecraft:polished_blackstone", MaterialType.BLOCK, MaterialVersion.v1_16 ), + CHISELED_POLISHED_BLACKSTONE( "minecraft:chiseled_polished_blackstone", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + NETHER_BRICKS( "minecraft:nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + RED_NETHER_BRICKS( "minecraft:red_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + CRACKED_NETHER_BRICKS( "minecraft:cracked_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + CHISELED_NETHER_BRICKS( "minecraft:chiseled_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + CRIMSON_PLANKS( "minecraft:crimson_planks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + WARPED_PLANKS( "minecraft:warped_planks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + STRIPPED_CRIMSON_HYPHAE( "minecraft:stripped_crimson_hyphae", MaterialType.BLOCK, MaterialVersion.v1_16 ), + STRIPPED_WARPED_HYPHAE( "minecraft:stripped_warped_hyphae", MaterialType.BLOCK, MaterialVersion.v1_16 ), + NETHER_WART_BLOCK( "minecraft:nether_wart_block", MaterialType.BLOCK, MaterialVersion.v1_16 ), + WARPED_WART_BLOCK( "minecraft:warped_wart_block", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + LODESTONE( "minecraft:lodestone", MaterialType.BLOCK, MaterialVersion.v1_16 ), + QUARTZ_BRICKS( "minecraft:quartz_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + RESPAWN_ANCHOR( "minecraft:respawn_anchor", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + SHROOMLIGHT( "minecraft:shroomlight", MaterialType.BLOCK, MaterialVersion.v1_16 ), + CAMPFIRE( "minecraft:campfire", MaterialType.BLOCK, MaterialVersion.v1_16 ), + SOUL_CAMPFIRE( "minecraft:soul_campfire", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + SOUL_LANTERN( "minecraft:soul_lantern", MaterialType.BLOCK, MaterialVersion.v1_16 ), + SOUL_TORCH( "minecraft:soul_torch", MaterialType.BLOCK, MaterialVersion.v1_16 ), + SOUL_SOIL( "minecraft:soul_soil", MaterialType.BLOCK, MaterialVersion.v1_16 ), + TARGET( "minecraft:target", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + TWISTING_VINES( "minecraft:twisting_vines", MaterialType.BLOCK, MaterialVersion.v1_16 ), + WEAPING_VINES( "minecraft:weaping_vines", MaterialType.BLOCK, MaterialVersion.v1_16 ), + + + + + // Testing to see if we can inject 1.13 block types: :( nope... does not work. // Commenting out for now, will revisit later. // From 1f3c0dbd4725fbd908d8b2eb0ac374b4879c161e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 29 Sep 2020 16:14:44 -0400 Subject: [PATCH 007/243] Added a few v1.16 block types. Not sure if they will actually work. Obviously will never work with mc versions < 1.16. Use at own risk. --- .../main/java/tech/mcprison/prison/util/MaterialVersion.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java index 3c2dc4600..851335617 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java @@ -4,6 +4,8 @@ public enum MaterialVersion { v1_8, - v1_13 + v1_13, + + v1_16 ; } From bcdfbcf0cb869612d0fbf163bd2e3f59803e5296 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 1 Oct 2020 00:18:00 -0400 Subject: [PATCH 008/243] New feature: added some new 1.14 and 1.15 blocks since some of the 1.16 blocks appear to work in most circumstances. Use at your own risk. These blocks may not properly be spawned and may not be all blocks available for these versions. v1.14 : BAMBOO, BAMBOO_SAPLING, BARREL, BELL, CAMPFIRE, CARTOGRAPHY_TABLE, COMOSTER, FLETCHING_TABLE, GRINDSTONE, JIGSAW, LANTERN, LECTERN, LOOM, SCAFFOLDING, SMITHING_TABLE, SMOKER, STONECUTTER, SWEET_BERRY_BUSH v1.15 : BEE_NEST, BEEHIVE, HONEY_BLOCK, HONEYCOMB_BLOCK --- changelog_v3.2.x.md | 9 ++++ .../tech/mcprison/prison/util/BlockType.java | 44 ++++++++++++++++++- .../mcprison/prison/util/MaterialVersion.java | 2 + .../prison/mines/commands/MinesCommands.java | 7 ++- 4 files changed, 58 insertions(+), 4 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index ada53c2cc..5b171d3fd 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,15 @@ that you need. ## tag v3.2.2-alpha.1 - 2020-09-29 +* **New feature: added some new 1.14 and 1.15 blocks** +Added some more new blocks since some of the 1.16 blocks appear to work in most circumstances. +Use at your own risk. +These blocks may not properly be spawned and may not be all blocks available for these versions. +v1.14 : BAMBOO, BAMBOO_SAPLING, BARREL, BELL, CAMPFIRE, CARTOGRAPHY_TABLE, COMOSTER, +FLETCHING_TABLE, GRINDSTONE, JIGSAW, LANTERN, LECTERN, LOOM, SCAFFOLDING, +SMITHING_TABLE, SMOKER, STONECUTTER, SWEET_BERRY_BUSH +v1.15 : BEE_NEST, BEEHIVE, HONEY_BLOCK, HONEYCOMB_BLOCK + * **Added a few v1.16 block types.** Not sure if they will actually work. Obviously will never work with mc versions < 1.16. Use at own risk. diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index ff9e14fbc..2c3c1e68b 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -760,10 +760,51 @@ public enum BlockType { DISC_11( 2266, "minecraft:record_11", 0 ), WAIT_DISC( 2267, "minecraft:record_wait", 0 ), + + + + // Minecraft v1.14.x blocks: + BAMBOO( "minecraft:bamboo", MaterialType.BLOCK, MaterialVersion.v1_14 ), + BAMBOO_SAPLING( "minecraft:bamboo_sapling", MaterialType.BLOCK, MaterialVersion.v1_14 ), + + BARREL( "minecraft:barrel", MaterialType.BLOCK, MaterialVersion.v1_14 ), + BELL( "minecraft:bell", MaterialType.BLOCK, MaterialVersion.v1_14 ), + BLAST_FURNACE( "minecraft:blast_furnace", MaterialType.BLOCK, MaterialVersion.v1_14 ), + + CAMPFIRE( "minecraft:campfire", MaterialType.BLOCK, MaterialVersion.v1_14 ), + CARTOGRAPHY_TABLE( "minecraft:cartography_table", MaterialType.BLOCK, MaterialVersion.v1_14 ), + COMPOSTER( "minecraft:composter", MaterialType.BLOCK, MaterialVersion.v1_14 ), + FLETCHING_TABLE( "minecraft:fletching_table", MaterialType.BLOCK, MaterialVersion.v1_14 ), + //FLOWERS( "minecraft:bee_nest", MaterialType.BLOCK, MaterialVersion.v1_14 ), + GRINDSTONE( "minecraft:grindstone", MaterialType.BLOCK, MaterialVersion.v1_14 ), + JIGSAW( "minecraft:jigsaw", MaterialType.BLOCK, MaterialVersion.v1_14 ), + LANTERN( "minecraft:lantern", MaterialType.BLOCK, MaterialVersion.v1_14 ), + LECTERN( "minecraft:lectern", MaterialType.BLOCK, MaterialVersion.v1_14 ), + + LOOM( "minecraft:loom", MaterialType.BLOCK, MaterialVersion.v1_14 ), + // Already exists: NOTE_BLOCK( "minecraft:note_block", MaterialType.BLOCK, MaterialVersion.v1_14 ), + SCAFFOLDING( "minecraft:scaffolding", MaterialType.BLOCK, MaterialVersion.v1_14 ), + //SIGNS( "minecraft:bee_nest", MaterialType.BLOCK, MaterialVersion.v1_14 ), + //SLABS( "minecraft:bee_nest", MaterialType.BLOCK, MaterialVersion.v1_14 ), + SMITHING_TABLE( "minecraft:smithing_table", MaterialType.BLOCK, MaterialVersion.v1_14 ), + SMOKER( "minecraft:smoker", MaterialType.BLOCK, MaterialVersion.v1_14 ), + //STAIRS( "minecraft:bee_nest", MaterialType.BLOCK, MaterialVersion.v1_14 ), + STONECUTTER( "minecraft:stonecutter", MaterialType.BLOCK, MaterialVersion.v1_14 ), + SWEET_BERRY_BUSH( "minecraft:sweet_berry_bush", MaterialType.BLOCK, MaterialVersion.v1_14 ), + //WALLS( "minecraft:bee_nest", MaterialType.BLOCK, MaterialVersion.v1_14 ), + + + + + // Minecraft v1.15.x blocks: + BEE_NEST( "minecraft:bee_nest", MaterialType.BLOCK, MaterialVersion.v1_15 ), + BEEHIVE( "minecraft:beehive", MaterialType.BLOCK, MaterialVersion.v1_15 ), + HONEY_BLOCK( "minecraft:honey_block", MaterialType.BLOCK, MaterialVersion.v1_15 ), + HONEYCOMB_BLOCK( "minecraft:honeycomb_block", MaterialType.BLOCK, MaterialVersion.v1_15 ), + // Minecraft v1.16.x blocks: - // crying_obsidian, nether_gold_ore, polished_basalt, basalt, red_nether_bricks, netherite_block, gilded_blackstone ANCIENT_DEBRIS( "minecraft:ancient_debris", MaterialType.BLOCK, MaterialVersion.v1_16 ), CRYING_OBSIDIAN( "minecraft:crying_obsidian", MaterialType.BLOCK, MaterialVersion.v1_16 ), NETHER_GOLD_ORE( "minecraft:nether_gold_ore", MaterialType.BLOCK, MaterialVersion.v1_16 ), @@ -799,7 +840,6 @@ public enum BlockType { SHROOMLIGHT( "minecraft:shroomlight", MaterialType.BLOCK, MaterialVersion.v1_16 ), - CAMPFIRE( "minecraft:campfire", MaterialType.BLOCK, MaterialVersion.v1_16 ), SOUL_CAMPFIRE( "minecraft:soul_campfire", MaterialType.BLOCK, MaterialVersion.v1_16 ), diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java index 851335617..ba34af9c4 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java @@ -6,6 +6,8 @@ public enum MaterialVersion v1_13, + v1_14, + v1_15, v1_16 ; } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 8ef929c41..e4482726b 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -569,8 +569,11 @@ private ChatDisplay blockSearchBuilder(String search, String page) BlockType block = blocks.get(i); FancyMessage msg = new FancyMessage( - String.format("&7%s %s (%s)", - Integer.toString(i), block.name(), block.getId().replace("minecraft:", ""))) + String.format("&7%s %s (%s)%s", + Integer.toString(i), block.name(), + block.getId().replace("minecraft:", ""), + (block.getMaterialVersion() == null ? "" : + "(" + block.getMaterialVersion() + ")"))) .suggest("/mines block add " + getLastMineReferenced() + " " + block.name() + " %") .tooltip("&7Click to add block to a mine."); builder.add(msg); From e5fe51ef99b22aef8e29a64f2af91fb96e7c3927 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:02:07 -0400 Subject: [PATCH 009/243] Reformatted so the code will have a better chance of fitting on the screen without a bunch of horizonal scrolling... plus got rid of a few instances of Objects.requireNonNull() which throws exceptions, which are not being caught. Which is also the wrong behavior to what we need here... if those configs are null, then instead of throwing exceptions, just move on to the next conditional in the if chain. Should probably never use Objects.requireNonNull since it will crash prison and prevent intended functionality. This should probably be removed from elsewhere. --- .../commands/PrisonShortcutCommands.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java index 66af76131..3e520c8a6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.commands; +import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.Listener; import tech.mcprison.prison.Prison; import tech.mcprison.prison.commands.Arg; @@ -47,7 +48,9 @@ public void prisonGui(CommandSender sender) { @Command(identifier = "mines", onlyPlayers = false, altPermissions = {"-none-", "mines.admin"}) public void minesGUICommand(CommandSender sender) { - if (!sender.hasPermission("mines.admin") && Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("mines-gui-enabled")).equalsIgnoreCase("true")) { + if (!sender.hasPermission("mines.admin") && + SpigotPrison.getInstance().getConfig().getString("mines-gui-enabled") != null && + SpigotPrison.getInstance().getConfig().getString("mines-gui-enabled").equalsIgnoreCase("true")) { sender.dispatchCommand("prisonmanager mines"); } else { sender.dispatchCommand("mines help"); @@ -57,13 +60,19 @@ public void minesGUICommand(CommandSender sender) { @Command(identifier = "ranks", onlyPlayers = false, altPermissions = {"-none-", "ranks.admin"}) public void ranksGUICommand(CommandSender sender, - @Arg(name = "ladder", def = "default", - description = "If player has no permission to /ranks then /ranks list will be ran instead.") + @Arg(name = "ladder", def = "default", + description = "If player has no permission to /ranks then /ranks list will be ran instead.") String ladderName) { if (!sender.hasPermission("ranks.admin")) { - if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("ranks-gui-enabled")).equalsIgnoreCase("true")){ + FileConfiguration pConfig = SpigotPrison.getInstance().getConfig(); + if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && + pConfig.getString("ranks-gui-enabled") != null && + pConfig.getString("ranks-gui-enabled").equalsIgnoreCase("true")){ sender.dispatchCommand("prisonmanager ranks"); - } else if (ladderName.equalsIgnoreCase("prestiges") && Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("ranks-gui-prestiges-enabled")).equalsIgnoreCase("true")){ + } + else if (ladderName.equalsIgnoreCase("prestiges") && + pConfig.getString("ranks-gui-prestiges-enabled") != null && + pConfig.getString("ranks-gui-prestiges-enabled").equalsIgnoreCase("true")){ sender.dispatchCommand("prisonmanager prestiges"); } else { sender.dispatchCommand("ranks list " + ladderName); From 65d4787f788da0983606adb1f2294b9d6b7da58d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:06:03 -0400 Subject: [PATCH 010/243] Bug fix: change how /ranks list works with perms. Should allow all players to use this command since no-perm players can use /ranks and that just redirects to this command. Removed admin features unless player has the ranks.list perm or they are op. The admin features are links to other internal commands. --- .../prison/ranks/commands/RanksCommands.java | 95 +++++++++++-------- 1 file changed, 57 insertions(+), 38 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index bdea7aef7..f48893a84 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -35,7 +35,7 @@ public class RanksCommands { @Command(identifier = "ranks create", description = "Creates a new rank", - onlyPlayers = false, permissions = "ranks.create") + onlyPlayers = false, permissions = "ranks.create") public void createRank(CommandSender sender, @Arg(name = "rankName", description = "The name of this rank.") String name, @Arg(name = "cost", description = "The cost of this rank.") double cost, @@ -111,7 +111,7 @@ public void createRank(CommandSender sender, } @Command(identifier = "ranks delete", description = "Removes a rank, and deletes its files.", - onlyPlayers = false, permissions = "ranks.delete") + onlyPlayers = false, permissions = "ranks.delete") public void removeRank(CommandSender sender, @Arg(name = "rankName") String rankName) { // Check to ensure the rank exists Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); @@ -139,10 +139,14 @@ public void removeRank(CommandSender sender, @Arg(name = "rankName") String rank } @Command(identifier = "ranks list", description = "Lists all the ranks on the server.", - onlyPlayers = false, permissions = "ranks.list") + onlyPlayers = false, altPermissions = "ranks.list" + ) public void listRanks(CommandSender sender, @Arg(name = "ladderName", def = "default") String ladderName) { + boolean hasPerm = sender.hasPermission("ranks.list") || + sender.isOp(); + Optional ladderOpt = PrisonRanks.getInstance().getLadderManager().getLadder(ladderName); @@ -163,7 +167,11 @@ public void listRanks(CommandSender sender, ChatDisplay display = new ChatDisplay("Ranks in " + ladderName); - display.text("&7Click on a rank's name to view more info."); + + if ( hasPerm ) { + display.text("&7Click on a rank's name to view more info."); + } + BulletedListComponent.BulletedListBuilder builder = new BulletedListComponent.BulletedListBuilder(); @@ -185,8 +193,15 @@ public void listRanks(CommandSender sender, if ( rankName.contains( "&" ) ) { rankName = rankName.replace( "&", "-" ); } - FancyMessage msg = new FancyMessage(text).command("/ranks info " + rankName) - .tooltip("&7Click to view info."); + FancyMessage msg = null; + if ( hasPerm ) { + msg = new FancyMessage(text).command("/ranks info " + rankName) + .tooltip("&7Click to view info."); + } + else { + msg = new FancyMessage(text); + } + builder.add(msg); rank = rank.rankNext; @@ -215,34 +230,38 @@ public void listRanks(CommandSender sender, // } display.addComponent(builder.build()); - display.addComponent(new FancyMessageComponent( - new FancyMessage("&7[&a+&7] Add").suggest("/ranks create ") - .tooltip("&7Create a new rank."))); - - List others = new ArrayList<>(); - for (RankLadder other : PrisonRanks.getInstance().getLadderManager().getLadders()) { - if (!other.name.equals(ladderName) && (other.name.equals("default") || sender - .hasPermission("ranks.rankup." + other.name.toLowerCase()))) { - if (sender.hasPermission("ranks.admin")) { - others.add("/ranks list " + other.name); - } else { - others.add("/ranks " + other.name); - } - } - } - - if (others.size() != 0) { - FancyMessage msg = new FancyMessage("&8You may also try "); - int i = 0; - for (String other : others) { - i++; - if (i == others.size() && others.size() > 1) { - msg.then(" &8and "); - } - msg.then("&7" + other).tooltip("&7Click to view.").command(other); - msg.then(i == others.size() ? "&8." : "&8,"); - } - display.addComponent(new FancyMessageComponent(msg)); + + if ( hasPerm ) { + display.addComponent(new FancyMessageComponent( + new FancyMessage("&7[&a+&7] Add").suggest("/ranks create ") + .tooltip("&7Create a new rank."))); + + List others = new ArrayList<>(); + for (RankLadder other : PrisonRanks.getInstance().getLadderManager().getLadders()) { + if (!other.name.equals(ladderName) && (other.name.equals("default") || sender + .hasPermission("ranks.rankup." + other.name.toLowerCase()))) { + if (sender.hasPermission("ranks.admin")) { + others.add("/ranks list " + other.name); + } else { + others.add("/ranks " + other.name); + } + } + } + + if (others.size() != 0) { + FancyMessage msg = new FancyMessage("&8You may also try "); + int i = 0; + for (String other : others) { + i++; + if (i == others.size() && others.size() > 1) { + msg.then(" &8and "); + } + msg.then("&7" + other).tooltip("&7Click to view.").command(other); + msg.then(i == others.size() ? "&8." : "&8,"); + } + display.addComponent(new FancyMessageComponent(msg)); + } + } display.send(sender); @@ -250,8 +269,8 @@ public void listRanks(CommandSender sender, } @Command(identifier = "ranks info", description = "Information about a rank.", - onlyPlayers = false, permissions = "ranks.info", - altPermissions = "ranks.admin" ) + onlyPlayers = false, permissions = "ranks.info", + altPermissions = "ranks.admin" ) public void infoCmd(CommandSender sender, @Arg(name = "rankName") String rankName) { Optional rankOpt = PrisonRanks.getInstance().getRankManager().getRank(rankName); @@ -307,7 +326,7 @@ public void infoCmd(CommandSender sender, @Arg(name = "rankName") String rankNam // set commands @Command(identifier = "ranks set cost", description = "Modifies a ranks cost", - onlyPlayers = false, permissions = "ranks.set") + onlyPlayers = false, permissions = "ranks.set") public void setCost(CommandSender sender, @Arg(name = "rankName") String rankName, @Arg(name = "cost", description = "The cost of this rank.") double cost){ @@ -376,7 +395,7 @@ public void setCurrency(CommandSender sender, } @Command(identifier = "ranks set tag", description = "Modifies a ranks tag", - onlyPlayers = false, permissions = "ranks.set") + onlyPlayers = false, permissions = "ranks.set") public void setTag(CommandSender sender, @Arg(name = "rankName") String rankName, @Arg(name = "tag", description = "The desired tag.") String tag){ From 53f45d3fe985a273ef7ffbf2e8afde342a3bd548 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:35:56 -0400 Subject: [PATCH 011/243] Hide command count if does not have perms. --- .../tech/mcprison/prison/ranks/commands/RanksCommands.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index f48893a84..54f73182f 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -182,12 +182,12 @@ public void listRanks(CommandSender sender, boolean defaultRank = ("default".equalsIgnoreCase( ladderName ) && first); String text = - String.format("&3%s &9[&3%s&9] &7- %s&7%s%s &7- Commands: &3%d", + String.format("&3%s &9[&3%s&9] &7- %s&7%s%s &7- %s", rank.name, rank.tag, (defaultRank ? "&b(&9Default&b) &7-" : ""), Text.numberToDollars(rank.cost), (rank.currency == null ? "" : " &7Currency: &3" + rank.currency), - rank.rankUpCommands.size()); + (hasPerm ? "Commands: &3" + rank.rankUpCommands.size() : "") ); String rankName = rank.name; if ( rankName.contains( "&" ) ) { From fa29bf4f3635f24639fb8af06ba016171b364ebf Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:52:53 -0400 Subject: [PATCH 012/243] Some more adjustments for non-admin players. --- .../prison/ranks/commands/RanksCommands.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 54f73182f..355a5f724 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -166,7 +166,10 @@ public void listRanks(CommandSender sender, } - ChatDisplay display = new ChatDisplay("Ranks in " + ladderName); + String rankHeader = "Ranks" + + ( hasPerm || !hasPerm && !ladderName.equalsIgnoreCase( "default" ) ? + " in " + ladderName : ""); + ChatDisplay display = new ChatDisplay( rankHeader ); if ( hasPerm ) { display.text("&7Click on a rank's name to view more info."); @@ -181,13 +184,20 @@ public void listRanks(CommandSender sender, boolean defaultRank = ("default".equalsIgnoreCase( ladderName ) && first); + String textRankName = ( hasPerm ? + String.format( "&3%s " , rank.name ) + : ""); + String textCmdCount = ( hasPerm ? + String.format( " &7- Commands: &3%d", rank.rankUpCommands.size()) + : "" ); + String text = - String.format("&3%s &9[&3%s&9] &7- %s&7%s%s &7- %s", - rank.name, rank.tag, + String.format("%s &9[&3%s&9] &7- %s&7%s%s%s", + textRankName, rank.tag, (defaultRank ? "&b(&9Default&b) &7-" : ""), Text.numberToDollars(rank.cost), (rank.currency == null ? "" : " &7Currency: &3" + rank.currency), - (hasPerm ? "Commands: &3" + rank.rankUpCommands.size() : "") ); + textCmdCount ); String rankName = rank.name; if ( rankName.contains( "&" ) ) { From 7e953689ece74720e6a5a79aa841ea525711d6a6 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 1 Oct 2020 22:21:59 +0200 Subject: [PATCH 013/243] Messages Language GUI support but the ranks and mines main commands aren't still in the Ranks and Mines Configs, too many things missing which I can't access from there and I need. Changelogs: - GUI Language Messages Support --- changelog_v3.2.x.md | 10 + .../mcprison/prison/spigot/SpigotPrison.java | 6 + .../mcprison/prison/spigot/gui/GuiConfig.java | 104 ---------- .../prison/spigot/gui/SpigotPrisonGUI.java | 17 +- .../gui/autofeatures/SpigotAutoBlockGUI.java | 7 +- .../autofeatures/SpigotAutoFeaturesGUI.java | 62 +++--- .../gui/autofeatures/SpigotAutoPickupGUI.java | 6 +- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 7 +- .../mine/SpigotMineBlockPercentageGUI.java | 13 +- .../spigot/gui/mine/SpigotMineInfoGUI.java | 43 +++-- .../mine/SpigotMineNotificationRadiusGUI.java | 13 +- .../gui/mine/SpigotMineNotificationsGUI.java | 21 +- .../gui/mine/SpigotMineResetTimeGUI.java | 13 +- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 33 ++-- .../gui/mine/SpigotMinesConfirmGUI.java | 7 +- .../spigot/gui/mine/SpigotMinesGUI.java | 26 +-- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 22 ++- .../gui/rank/SpigotConfirmPrestigeGUI.java | 13 +- .../spigot/gui/rank/SpigotLaddersGUI.java | 12 +- .../gui/rank/SpigotPlayerPrestigesGUI.java | 14 +- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 14 +- .../spigot/gui/rank/SpigotRankManagerGUI.java | 19 +- .../spigot/gui/rank/SpigotRankPriceGUI.java | 13 +- .../gui/rank/SpigotRankUPCommandsGUI.java | 16 +- .../spigot/gui/rank/SpigotRanksGUI.java | 37 ++-- .../spigot/gui/sellall/SellAllAdminGUI.java | 6 +- .../spigot/gui/sellall/SellAllPlayerGUI.java | 8 +- .../spigot/gui/sellall/SellAllPriceGUI.java | 13 +- .../spigot/languages/GuiMessagesConfig.java | 181 ++++++++++++++++++ 29 files changed, 465 insertions(+), 291 deletions(-) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 5b171d3fd..f929be591 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,16 @@ that you need. ## tag v3.2.2-alpha.1 - 2020-09-29 +* **New feature: Gui Languages Support** +New languages folder containing the GUI and future languages files so players can edit them or contribute to make a new +one with translations to download and put there, then you can select it by editing in the `config.yml` the `default-language:` +to the language of your area, this's also related to the file language name, +for example the name of the GUI messages file should be `GUI-en_US.yml` by default, so if you translate to another language +(for example italian) you should rename a new file to `GUI-it_IT.yml` and edit in the config.yml the string +`default-language: en_US` to `default-language: it_IT`, if you select a language file missing in the folder or invalid, +it'll be generated anyway using the default config as the model so it won't break the plugin, then you can translate it +later or edit the config to the correct one. + * **New feature: added some new 1.14 and 1.15 blocks** Added some more new blocks since some of the 1.16 blocks appear to work in most circumstances. Use at your own risk. diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 7bbdd404f..81dfb71ab 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -62,6 +62,7 @@ import tech.mcprison.prison.spigot.gui.GUIListener; import tech.mcprison.prison.spigot.gui.GuiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; +import tech.mcprison.prison.spigot.languages.GuiMessagesConfig; import tech.mcprison.prison.spigot.permissions.LuckPermissions; import tech.mcprison.prison.spigot.permissions.LuckPerms5; import tech.mcprison.prison.spigot.permissions.VaultPermissions; @@ -232,6 +233,11 @@ public static FileConfiguration getSellAllConfig(){ SellAllConfig configs = new SellAllConfig(); return configs.getFileSellAllConfig(); } + + public static FileConfiguration getGuiMessagesConfig(){ + GuiMessagesConfig messagesConfig = new GuiMessagesConfig(); + return messagesConfig.getFileGuiMessagesConfig(); + } public AutoManagerFeatures getAutoFeatures() { return autoFeatures; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java index 344495f14..a9c2b3b9f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java @@ -88,110 +88,6 @@ private void values(){ dataConfig("Options.Ranks.Enchantment_effect_current_rank","true"); dataConfig("Options.Mines.PermissionWarpPlugin","mines.tp."); dataConfig("Options.Mines.CommandWarpPlugin","mines tp"); - dataConfig("Gui.Lore.ActivateWithinMode","&8Activate Within mode."); - dataConfig("Gui.Lore.ActivateRadiusMode","&8Activate Radius mode."); - dataConfig("Gui.Lore.AutoPickupGuiManager","&8AutoPickup Manager."); - dataConfig("Gui.Lore.AutoSmeltGuiManager","&8AutoSmelt Manager."); - dataConfig("Gui.Lore.AutoBlockGuiManager","&8AutoBlock Manager."); - dataConfig("Gui.Lore.BlockType","&3BlockType: "); - dataConfig("Gui.Lore.Blocks","&3Blocks:"); - dataConfig("Gui.Lore.Blocks2","&8Manage blocks of the Mine."); - dataConfig("Gui.Lore.ClickToChoose","&8Click to choose."); - dataConfig("Gui.Lore.ClickToConfirm","&8Click to confirm."); - dataConfig("Gui.Lore.ClickToCancel","&8Click to cancel."); - dataConfig("Gui.Lore.ClickToDecrease","&8Click to decrease."); - dataConfig("Gui.Lore.ClickToIncrease","&8Click to increase."); - dataConfig("Gui.Lore.ClickToManageRank","&8Manage this rank."); - dataConfig("Gui.Lore.ClickToManageCommands","&8Manage RankUPCommands."); - dataConfig("Gui.Lore.ClickToOpen","&8Click to open."); - dataConfig("Gui.Lore.ClickToTeleport","&8Click to teleport."); - dataConfig("Gui.Lore.ClickToUse","&8Click to use."); - dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); - dataConfig("Gui.Lore.ClickToEditBlock", "&8Click to edit percentage."); - dataConfig("Gui.Lore.Chance","&3Chance: "); - dataConfig("Gui.Lore.Command","&3Command: &7"); - dataConfig("Gui.Lore.ContainsTheRank","&3The Rank "); - dataConfig("Gui.Lore.ContainsNoCommands"," &3contains no commands."); - dataConfig("Gui.Lore.DisableNotifications","&8Disable notifications."); - dataConfig("Gui.Lore.EnabledAll","&aAll features ON"); - dataConfig("Gui.Lore.DisabledAll","&aAll features OFF"); - dataConfig("Gui.Lore.FullSoundEnabled","&aFull Inv., notify with sound ON"); - dataConfig("Gui.Lore.FullSoundDisabled","&cFull Inv., notify with sound OFF"); - dataConfig("Gui.Lore.FullHologramEnabled","&aFull Inv., notify with hologram ON"); - dataConfig("Gui.Lore.FullHologramDisabled","&cFull Inv., notify with hologram OFF"); - dataConfig("Gui.Lore.Id","&3Rank id: &7"); - dataConfig("Gui.Lore.Info","&8&l|&3Info&8|"); - dataConfig("Gui.Lore.IfYouHaveEnoughMoney","&8If you have enough money"); - dataConfig("Gui.Lore.LadderThereAre","&8There're &3"); - dataConfig("Gui.Lore.LadderCommands"," &3Commands at ladder:"); - dataConfig("Gui.Lore.LeftClickToConfirm","&aLeft-Click to confirm."); - dataConfig("Gui.Lore.LeftClickToOpen","&8Left Click to open."); - dataConfig("Gui.Lore.LeftClickToReset","&aLeft Click to reset"); - dataConfig("Gui.Lore.ManageResetTime","&8Manage the reset time of Mine."); - dataConfig("Gui.Lore.MinesButton","&8Mines GUI manager."); - dataConfig("Gui.Lore.Name","&3Rank Name: &7"); - dataConfig("Gui.Lore.Notifications","&8Edit Mines notifications."); - dataConfig("Gui.Lore.PlayersWithTheRank","&3Players at rank: &7"); - dataConfig("Gui.Lore.PrestigeWarning", "&3Prestige will reset: "); - dataConfig("Gui.Lore.PrestigeWarning2", "&3 - &bRank"); - dataConfig("Gui.Lore.PrestigeWarning3", "&3 - &bBalance"); - dataConfig("Gui.Lore.Price","&3Price: &a$"); - dataConfig("Gui.Lore.Price2","&8Price: &a$"); - dataConfig("Gui.Lore.Price3","&3Rank Price: &a$"); - dataConfig("Gui.Lore.Percentage", "&8Percentage: "); - dataConfig("Gui.Lore.PrisonTasksButton","&8Prison Tasks Manager."); - dataConfig("Gui.Lore.ResetTime","&3Reset time(s): &7"); - dataConfig("Gui.Lore.Radius","&8Radius: "); - dataConfig("Gui.Lore.RankupCommands","&8&l|&3RankUPCommands&8| &8&l- &3"); - dataConfig("Gui.Lore.Rankup","&aRankup"); - dataConfig("Gui.Lore.RanksButton","&8Ranks GUI manager."); - dataConfig("Gui.Lore.ResetButton","&8Resets the mine."); - dataConfig("Gui.Lore.RightClickToCancel","&cRight-Click to cancel."); - dataConfig("Gui.Lore.RightClickToEnable","&aRight click to enable"); - dataConfig("Gui.Lore.RightClickToToggle","&cRight click to toggle"); - dataConfig("Gui.Lore.SpawnPoint","&3Spawnpoint: &7"); - dataConfig("Gui.Lore.StatusLockedMine","&8Status: &cLocked"); - dataConfig("Gui.Lore.StatusUnlockedMine","&8Status: &aUnlocked"); - dataConfig("Gui.Lore.SpawnPoint2","&8Set the mine spawn point."); - dataConfig("Gui.Lore.SizeOfMine","&3Size of Mine: &7"); - dataConfig("Gui.Lore.Selected","&3Selected"); - dataConfig("Gui.Lore.ShiftAndRightClickToDelete","&cShift + Right click to delete."); - dataConfig("Gui.Lore.ShiftAndRightClickToDisable","&cShift + Right click to disable"); - dataConfig("Gui.Lore.ShiftAndRightClickToToggle","&cShift + Right click to toggle"); - dataConfig("Gui.Lore.StatusEnabled","&8Enabled"); - dataConfig("Gui.Lore.StatusDisabled","&8Disabled"); - dataConfig("Gui.Lore.SkipReset1","&8Skip the reset if "); - dataConfig("Gui.Lore.SkipReset2","&8not enough blocks "); - dataConfig("Gui.Lore.SkipReset3","&8have been mined."); - dataConfig("Gui.Lore.Tp","&8Tp to the mine."); - dataConfig("Gui.Lore.Tag","&3Tag: &8"); - dataConfig("Gui.Lore.Tag2","&3Rank Tag: &7"); - dataConfig("Gui.Lore.Time","&8Time: "); - dataConfig("Gui.Lore.Volume","&3Volume: &7"); - dataConfig("Gui.Lore.Value", "&3Value: &a$"); - dataConfig("Gui.Lore.World","&3World: &7"); - dataConfig("Gui.Message.CantGetRanksAdmin", "&3[PRISON WARN] &cCan't get Ranks, there might be no ranks or the Ranks module's disabled."); - dataConfig("Gui.Message.NoSellAllItems", "&cSorry but there aren't SellAll Items to show."); - dataConfig("Gui.Message.EmptyGui","&cSorry, the GUI looks empty."); - dataConfig("Gui.Message.NoBlocksMine","&cSorry but there aren't blocks inside this Mine."); - dataConfig("Gui.Message.NoMines", "&cSorry but there aren't Mines to show."); - dataConfig("Gui.Message.NoRankupCommands", "&cSorry, but there aren't rankUpCommands for this ranks, please create one to use this GUI!"); - dataConfig("Gui.Message.NoLadders", "&cSorry but there aren't ladders to show."); - dataConfig("Gui.Message.NoRanksPrestigesLadder", "&3[PRISON WARN] &cThere aren't ranks in the -prestiges- ladder!"); - dataConfig("Gui.Message.NoRanksFoundAdmin", "&cSorry, but before using this GUI you should create a Rank in this ladder!"); - dataConfig("Gui.Message.NoRanksFound", "&cSorry, but there aren't Ranks in the default or selected ladder!"); - dataConfig("Gui.Message.NoRanksFoundHelp1", "&cSorry, but there aren't Ranks in the default or selected ladder or the ladder &3["); - dataConfig("Gui.Message.NoRanksFoundHelp2", "]&c isn't found!"); - dataConfig("Gui.Message.LadderPrestigesNotFound", "&3[PRISON WARN] &cLadder -prestiges- not found!"); - dataConfig("Gui.Message.TooManyBlocks","&cSorry, but there're too many Blocks and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyLadders","&cSorry, but there're too many ladders and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyMines","&cSorry, but there're too many mines and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyRankupCommands","&cSorry, but there're too many RankupCommands and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyRanks", "&cSorry, but there're too many ranks and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManySellAllItems", "&3[PRISON WARN] &cThere are too many items and the MAX for the GUI's 54!"); - dataConfig("Gui.Message.ZeroBlocksReset1","&8Set a mine's delay "); - dataConfig("Gui.Message.ZeroBlocksReset2","&8before reset when it "); - dataConfig("Gui.Message.ZeroBlocksReset3","&8reaches zero blocks."); } public FileConfiguration getFileGuiConfig(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index ab77720fe..42d12ac35 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -49,24 +49,27 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Lore of the button List rankslore = createLore( - guiConfig.getString("Gui.Lore.RanksButton"), - guiConfig.getString("Gui.Lore.ClickToOpen")); + messages.getString("Gui.Lore.RanksButton"), + messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button List prisontaskslore = createLore( - guiConfig.getString("Gui.Lore.PrisonTasksButton"), - guiConfig.getString("Gui.Lore.ClickToOpen")); + messages.getString("Gui.Lore.PrisonTasksButton"), + messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button List mineslore = createLore( - guiConfig.getString("Gui.Lore.MinesButton"), - guiConfig.getString("Gui.Lore.ClickToOpen")); + messages.getString("Gui.Lore.MinesButton"), + messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button List sellallLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen")); + messages.getString("Gui.Lore.ClickToOpen")); // Create the button, set up the material, amount, lore and name ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, rankslore, SpigotPrison.format("&3" + "Ranks")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 4ea903bec..5f33219c4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -57,12 +57,15 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, AutoFeaturesF } private void buttonsSetup(Configuration guiConfig, Inventory inv, AutoFeaturesFileConfig afConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + List enabledLore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable") + messages.getString("Gui.Lore.ShiftAndRightClickToDisable") ); List disabledLore = createLore( - guiConfig.getString("Gui.Lore.RightClickToEnable") + messages.getString("Gui.Lore.RightClickToEnable") ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoBlockAllBlocks ) ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index 43d4227e4..ad96b4170 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -58,6 +58,8 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesF private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Declare buttons ItemStack autoPickup; ItemStack autoSmelt; @@ -69,15 +71,15 @@ private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFi if ( afConfig.isFeatureBoolean( AutoFeatures.playSoundIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( - guiConfig.getString("Gui.Lore.FullSoundEnabled"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable")); + messages.getString("Gui.Lore.FullSoundEnabled"), + messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); playSound = createButton(Material.EMERALD_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); } else { List EnabledOrDisabledLore = createLore( - guiConfig.getString("Gui.Lore.FullSoundDisabled"), - guiConfig.getString("Gui.Lore.RightClickToEnable")); + messages.getString("Gui.Lore.FullSoundDisabled"), + messages.getString("Gui.Lore.RightClickToEnable")); playSound = createButton(Material.REDSTONE_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); } @@ -85,15 +87,15 @@ private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFi if ( afConfig.isFeatureBoolean( AutoFeatures.hologramIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( - guiConfig.getString("Gui.Lore.FullHologramEnabled"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable")); + messages.getString("Gui.Lore.FullHologramEnabled"), + messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); hologram = createButton(Material.EMERALD_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); } else { List EnabledOrDisabledLore = createLore( - guiConfig.getString("Gui.Lore.FullHologramDisabled"), - guiConfig.getString("Gui.Lore.RightClickToEnable")); + messages.getString("Gui.Lore.FullHologramDisabled"), + messages.getString("Gui.Lore.RightClickToEnable")); hologram = createButton(Material.REDSTONE_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); } @@ -101,15 +103,15 @@ private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFi if ( afConfig.isFeatureBoolean( AutoFeatures.isAutoManagerEnabled ) ){ List EnabledOrDisabledLore = createLore( - guiConfig.getString("Gui.Lore.EnabledAll"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable")); + messages.getString("Gui.Lore.EnabledAll"), + messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); enabledOrDisabled = createButton(Material.EMERALD_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); } else { List EnabledOrDisabledLore = createLore( - guiConfig.getString("Gui.Lore.DisabledAll"), - guiConfig.getString("Gui.Lore.RightClickToEnable")); + messages.getString("Gui.Lore.DisabledAll"), + messages.getString("Gui.Lore.RightClickToEnable")); enabledOrDisabled = createButton(Material.REDSTONE_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); } @@ -117,16 +119,16 @@ private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFi if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupEnabled ) ) { // Lore of the button List autoPickupLore = createLore( - guiConfig.getString("Gui.Lore.AutoPickupGuiManager"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable"), - guiConfig.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Gui.Lore.AutoPickupGuiManager"), + messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), + messages.getString("Gui.Lore.LeftClickToOpen")); autoPickup = createButton(Material.EMERALD_BLOCK, 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); } else { // Lore of the button List autoPickupLore = createLore( - guiConfig.getString("Gui.Lore.AutoPickupGuiManager"), - guiConfig.getString("Gui.Lore.RightClickToEnable"), - guiConfig.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Gui.Lore.AutoPickupGuiManager"), + messages.getString("Gui.Lore.RightClickToEnable"), + messages.getString("Gui.Lore.LeftClickToOpen")); autoPickup = createButton(Material.REDSTONE_BLOCK, 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); } @@ -134,16 +136,16 @@ private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFi if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltEnabled ) ) { // Lore of the button List autoSmeltLore = createLore( - guiConfig.getString("Gui.Lore.AutoSmeltGuiManager"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable"), - guiConfig.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Gui.Lore.AutoSmeltGuiManager"), + messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), + messages.getString("Gui.Lore.LeftClickToOpen")); autoSmelt = createButton(Material.EMERALD_BLOCK, 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); } else { // Lore of the button List autoSmeltLore = createLore( - guiConfig.getString("Gui.Lore.AutoSmeltGuiManager"), - guiConfig.getString("Gui.Lore.RightClickToEnable"), - guiConfig.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Gui.Lore.AutoSmeltGuiManager"), + messages.getString("Gui.Lore.RightClickToEnable"), + messages.getString("Gui.Lore.LeftClickToOpen")); autoSmelt = createButton(Material.REDSTONE_BLOCK, 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); } @@ -151,17 +153,17 @@ private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFi if ( afConfig.isFeatureBoolean( AutoFeatures.autoBlockEnabled ) ) { // Lore of the button List autoBlockLore = createLore( - guiConfig.getString("Gui.Lore.AutoBlockGuiManager"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable"), - guiConfig.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Gui.Lore.AutoBlockGuiManager"), + messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), + messages.getString("Gui.Lore.LeftClickToOpen")); autoBlock = createButton(Material.EMERALD_BLOCK, 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); } else { // Lore of the button List autoBlockLore = createLore( - guiConfig.getString("Gui.Lore.AutoBlockGuiManager"), - guiConfig.getString("Gui.Lore.RightClickToEnable"), - guiConfig.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Gui.Lore.AutoBlockGuiManager"), + messages.getString("Gui.Lore.RightClickToEnable"), + messages.getString("Gui.Lore.LeftClickToOpen")); autoBlock = createButton(Material.REDSTONE_BLOCK, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index ad07e8aff..51469d442 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -57,12 +57,14 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesF private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + List enabledLore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable") + messages.getString("Gui.Lore.ShiftAndRightClickToDisable") ); List disabledLore = createLore( - guiConfig.getString("Gui.Lore.RightClickToEnable") + messages.getString("Gui.Lore.RightClickToEnable") ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupAllBlocks ) ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 86970674e..dd2580f51 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -56,12 +56,15 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesF } private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + List enabledLore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDisable") + messages.getString("Gui.Lore.ShiftAndRightClickToDisable") ); List disabledLore = createLore( - guiConfig.getString("Gui.Lore.RightClickToEnable") + messages.getString("Gui.Lore.RightClickToEnable") ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltAllBlocks ) ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index 2e51bde5d..8c1a94849 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -57,21 +57,24 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create a new lore List changeDecreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToDecrease") + messages.getString("Gui.Lore.ClickToDecrease") ); // Create a new lore List confirmButtonLore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToConfirm"), - guiConfig.getString("Gui.Lore.Percentage") + val, - guiConfig.getString("Gui.Lore.RightClickToCancel") + messages.getString("Gui.Lore.LeftClickToConfirm"), + messages.getString("Gui.Lore.Percentage") + val, + messages.getString("Gui.Lore.RightClickToCancel") ); // Create a new lore List changeIncreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToIncrease") + messages.getString("Gui.Lore.ClickToIncrease") ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index b47837d73..d6e8f0be7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -56,49 +56,52 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // The Reset Mine button and lore List resetminelore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToReset"), + messages.getString("Gui.Lore.LeftClickToReset"), "", - guiConfig.getString("Gui.Lore.RightClickToToggle"), - guiConfig.getString("Gui.Lore.SkipReset1"), - guiConfig.getString("Gui.Lore.SkipReset2"), - guiConfig.getString("Gui.Lore.SkipReset3"), + messages.getString("Gui.Lore.RightClickToToggle"), + messages.getString("Gui.Lore.SkipReset1"), + messages.getString("Gui.Lore.SkipReset2"), + messages.getString("Gui.Lore.SkipReset3"), "", - guiConfig.getString("Gui.Lore.ShiftAndRightClickToToggle"), - guiConfig.getString("Gui.Message.ZeroBlocksReset1"), - guiConfig.getString("Gui.Message.ZeroBlocksReset2"), - guiConfig.getString("Gui.Message.ZeroBlocksReset3") + messages.getString("Gui.Lore.ShiftAndRightClickToToggle"), + messages.getString("Gui.Message.ZeroBlocksReset1"), + messages.getString("Gui.Message.ZeroBlocksReset2"), + messages.getString("Gui.Message.ZeroBlocksReset3") ); // Set the Mine spawn at your location List MineSpawnlore = createLore( - guiConfig.getString("Gui.Lore.ClickToUse"), - guiConfig.getString("Gui.Lore.SpawnPoint2") + messages.getString("Gui.Lore.ClickToUse"), + messages.getString("Gui.Lore.SpawnPoint2") ); // Lore and button List MinesNotificationsLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), - guiConfig.getString("Gui.Lore.Notifications") + messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.Notifications") ); // Lore and button List MinesTpLore = createLore( - guiConfig.getString("Gui.Lore.ClickToTeleport"), - guiConfig.getString("Gui.Lore.Tp") + messages.getString("Gui.Lore.ClickToTeleport"), + messages.getString("Gui.Lore.Tp") ); // Blocks of the mine button and lore List blocksoftheminelore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), - guiConfig.getString("Gui.Lore.Blocks2")); + messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.Blocks2")); // Blocks of the mine button and lore List mineResetTimeLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), - guiConfig.getString("Gui.Lore.ManageResetTime"), - guiConfig.getString("Gui.Lore.ResetTime") + mine.getResetTime()); + messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.ManageResetTime"), + messages.getString("Gui.Lore.ResetTime") + mine.getResetTime()); // Create the button, set up the material, amount, lore and name ItemStack resetmine = createButton(Material.EMERALD_BLOCK, 1, resetminelore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index fa0b375b9..cf7f478c8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -57,21 +57,24 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create new lore List changeDecreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToDecrease") + messages.getString("Gui.Lore.ClickToDecrease") ); // Create a new lore List confirmButtonLore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToConfirm"), - guiConfig.getString("Gui.Lore.Radius") + val, - guiConfig.getString("Gui.Lore.RightClickToCancel") + messages.getString("Gui.Lore.LeftClickToConfirm"), + messages.getString("Gui.Lore.Radius") + val, + messages.getString("Gui.Lore.RightClickToCancel") ); // Create a new lore List changeIncreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToIncrease") + messages.getString("Gui.Lore.ClickToIncrease") ); // Decrease buttons diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index c915e09d7..b95a31f00 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -61,36 +61,39 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, String enable } private void buttonsSetup(Inventory inv, Configuration guiConfig, String enabledOrDisabled) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create a new lore List modeWithinLore = createLore( - guiConfig.getString("Gui.Lore.ClickToChoose"), - guiConfig.getString("Gui.Lore.ActivateWithinMode")); + messages.getString("Gui.Lore.ClickToChoose"), + messages.getString("Gui.Lore.ActivateWithinMode")); // Create a new lore List modeRadiusLore = createLore( - guiConfig.getString("Gui.Lore.ClickToChoose"), - guiConfig.getString("Gui.Lore.ActivateRadiusMode")); + messages.getString("Gui.Lore.ClickToChoose"), + messages.getString("Gui.Lore.ActivateRadiusMode")); // Create a new lore List disabledModeLore = createLore( - guiConfig.getString("Gui.Lore.ClickToChoose"), - guiConfig.getString("Gui.Lore.DisableNotifications")); + messages.getString("Gui.Lore.ClickToChoose"), + messages.getString("Gui.Lore.DisableNotifications")); // Add the selected lore to the mode used if (enabledOrDisabled.equalsIgnoreCase("disabled")){ // Add the selected lore - disabledModeLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Selected"))); + disabledModeLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Selected"))); } else if (enabledOrDisabled.equalsIgnoreCase("within")){ // Add the selected lore - modeWithinLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Selected"))); + modeWithinLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Selected"))); } else if (enabledOrDisabled.equalsIgnoreCase("radius")){ // Add the selected lore - modeRadiusLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Selected"))); + modeRadiusLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Selected"))); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index 007cbc818..0e2fcf1ae 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -55,21 +55,24 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create a new lore List changeDecreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToDecrease") + messages.getString("Gui.Lore.ClickToDecrease") ); // Create a new lore List confirmButtonLore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToConfirm"), - guiConfig.getString("Gui.Lore.Time") + val, - guiConfig.getString("Gui.Lore.RightClickToCancel") + messages.getString("Gui.Lore.LeftClickToConfirm"), + messages.getString("Gui.Lore.Time") + val, + messages.getString("Gui.Lore.RightClickToCancel") ); // Create a new lore List changeIncreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToIncrease") + messages.getString("Gui.Lore.ClickToIncrease") ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 552f6e680..f97721e50 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -51,17 +51,18 @@ public void open(){ // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoBlocksMine"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoBlocksMine"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.TooManyBlocks"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyBlocks"))); p.closeInventory(); return; } @@ -142,12 +143,15 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Block block, } private void buttonsSetup(Configuration guiConfig, Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create the lore List blockslore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDelete"), - guiConfig.getString("Gui.Lore.ClickToEditBlock"), + messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Gui.Lore.ClickToEditBlock"), "", - guiConfig.getString("Gui.Lore.Info")); + messages.getString("Gui.Lore.Info")); boolean isEnum = true; @@ -162,10 +166,10 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, PrisonBlock bl } // Add a lore - blockslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Chance") + block.getChance() + "%")); + blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.Chance") + block.getChance() + "%")); // Add a lore - blockslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.BlockType") + blockmaterial)); + blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.BlockType") + blockmaterial)); // Make the item ItemStack block1 = createButton(Material.valueOf(blockmaterial), 1, blockslore, SpigotPrison.format("&3" + blockmaterialdisplay + " " + mineName + " " + block.getChance())); @@ -175,12 +179,15 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, PrisonBlock bl } private void buttonsSetup(Configuration guiConfig, Inventory inv, Block block, String blockmaterial, String blockmaterialdisplay) { - // Create the lore + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + + // Create the lore List blockslore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDelete"), - guiConfig.getString("Gui.Lore.ClickToEditBlock"), + messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Gui.Lore.ClickToEditBlock"), "", - guiConfig.getString("Gui.Lore.Info")); + messages.getString("Gui.Lore.Info")); boolean isEnum = true; @@ -195,10 +202,10 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Block block, S } // Add a lore - blockslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Chance") + block.getChance() + "%")); + blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.Chance") + block.getChance() + "%")); // Add a lore - blockslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.BlockType") + blockmaterial)); + blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.BlockType") + blockmaterial)); // Make the item ItemStack block1 = createButton(Material.valueOf(blockmaterial), 1, blockslore, SpigotPrison.format("&3" + blockmaterialdisplay + " " + mineName + " " + block.getChance())); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index 2b3d0a9f1..9a65ebbc6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -53,13 +53,16 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Blocks of the mine List confirmlore = createLore( - guiConfig.getString("Gui.Lore.ClickToConfirm")); + messages.getString("Gui.Lore.ClickToConfirm")); // Blocks of the mine List cancelore = createLore( - guiConfig.getString("Gui.Lore.ClickToCancel")); + messages.getString("Gui.Lore.ClickToCancel")); // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmlore, SpigotPrison.format("&3" + "Confirm: " + mineName)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 722ab7f89..b1405ba67 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -46,17 +46,18 @@ public void open(){ // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoMines"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.TooManyMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyMines"))); p.closeInventory(); return; } @@ -88,32 +89,35 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m) { } private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + ItemStack itemMines; // Init the lore array with default values for ladders List minesLore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToOpen"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Gui.Lore.LeftClickToOpen"), + messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), "", - guiConfig.getString("Gui.Lore.Info")); + messages.getString("Gui.Lore.Info")); // Add a lore - minesLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.World") + m.getWorldName())); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.World") + m.getWorldName())); // Init a variable and add it to the lore String spawnPoint = m.getSpawn() != null ? m.getSpawn().toBlockCoordinates() : "&cnot set"; - minesLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.SpawnPoint") + spawnPoint)); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SpawnPoint") + spawnPoint)); // Add a lore - minesLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.ResetTime") + m.getResetTime())); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ResetTime") + m.getResetTime())); // Add a lore - minesLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.SizeOfMine") + m.getBounds().getDimensions())); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SizeOfMine") + m.getBounds().getDimensions())); // Add a lore - minesLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Volume") + m.getBounds().getTotalBlockCount())); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Volume") + m.getBounds().getTotalBlockCount())); // Add a lore - minesLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Blocks"))); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Blocks"))); // Init some variables and do the actions DecimalFormat dFmt = new DecimalFormat("##0.00"); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index fe1fd0312..14d220c59 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -38,17 +38,18 @@ public void open(){ // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoMines"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.TooManyMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyMines"))); p.closeInventory(); return; } @@ -72,9 +73,9 @@ public void open(){ ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m, List mineslore) { + private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m, List minesLore) { try { - buttonsSetup(guiConfig, inv, m, mineslore); + buttonsSetup(guiConfig, inv, m, minesLore); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -83,22 +84,25 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m, List< return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m, List mineslore) { + private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m, List minesLore) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + ItemStack itemMines; Material material; String permission = SpigotPrison.format(guiConfig.getString("Options.Mines.PermissionWarpPlugin")); if (p.hasPermission(permission + m.getName()) || p.hasPermission(permission.substring(0, permission.length() - 1))){ material = Material.COAL_ORE; - mineslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.StatusUnlockedMine"))); - mineslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.ClickToTeleport"))); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.StatusUnlockedMine"))); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ClickToTeleport"))); } else { material = Material.REDSTONE_BLOCK; - mineslore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.StatusLockedMine"))); + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.StatusLockedMine"))); } // Create the button - itemMines = createButton(material, 1, mineslore, SpigotPrison.format("&3" + m.getName())); + itemMines = createButton(material, 1, minesLore, SpigotPrison.format("&3" + m.getName())); // Add the button to the inventory inv.addItem(itemMines); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index bf1d9576b..6c03daff4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -48,17 +48,20 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Blocks of the mine List confirmLore = createLore( - guiConfig.getString("Gui.Lore.ClickToConfirm"), - guiConfig.getString("Gui.Lore.PrestigeWarning"), - guiConfig.getString("Gui.Lore.PrestigeWarning2"), - guiConfig.getString("Gui.Lore.PrestigeWarning3") + messages.getString("Gui.Lore.ClickToConfirm"), + messages.getString("Gui.Lore.PrestigeWarning"), + messages.getString("Gui.Lore.PrestigeWarning2"), + messages.getString("Gui.Lore.PrestigeWarning3") ); // Blocks of the mine List cancelLore = createLore( - guiConfig.getString("Gui.Lore.ClickToCancel")); + messages.getString("Gui.Lore.ClickToCancel")); // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmLore, SpigotPrison.format("&3" + "Confirm: Prestige")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 8c55a4fd0..22a96b544 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -45,17 +45,18 @@ public void open(){ // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoLadders"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoLadders"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.TooManyLadders"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyLadders"))); p.closeInventory(); return; } @@ -87,11 +88,14 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, RankLadder la } private void buttonsSetup(Configuration guiConfig, Inventory inv, RankLadder ladder) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + ItemStack itemLadder; // Init the lore array with default values for ladders List laddersLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDelete")); + messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.ShiftAndRightClickToDelete")); // Create the button itemLadder = createButton(Material.LADDER, 1, laddersLore, SpigotPrison.format("&3" + ladder.name)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index baa4cc22e..1d200d191 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -151,15 +151,17 @@ private boolean guiBuilder(Configuration guiConfig, Optional ladder, private void buttonsSetup(Configuration guiConfig, Optional ladder, int dimension, Inventory inv) { + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + if (!ladder.isPresent()){ - player.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.LadderPrestigesNotFound"))); + player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.LadderPrestigesNotFound"))); return; } RankLadder ladderData = ladder.get(); if (!ladderData.getLowestRank().isPresent()){ - player.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.NoRanksPrestigesLadder"))); + player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksPrestigesLadder"))); return; } @@ -178,8 +180,8 @@ private void buttonsSetup(Configuration guiConfig, Optional ladder, while ( rank != null ) { List ranksLore = createLore( - guiConfig.getString("Gui.Lore.Info"), - guiConfig.getString("Gui.Lore.Price3") + rank.cost + messages.getString("Gui.Lore.Info"), + messages.getString("Gui.Lore.Price3") + rank.cost ); ItemStack itemrank = createButton( (playerHasThisRank ? materialHas : materialHasNot), @@ -201,8 +203,8 @@ private void buttonsSetup(Configuration guiConfig, Optional ladder, } List rankupLore = createLore( - guiConfig.getString("Gui.Lore.IfYouHaveEnoughMoney"), - guiConfig.getString("Gui.Lore.ClickToRankup") + messages.getString("Gui.Lore.IfYouHaveEnoughMoney"), + messages.getString("Gui.Lore.ClickToRankup") ); ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format("&aPrestige")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index 18dbafc67..0d3a25ef7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -109,20 +109,21 @@ public void open() { // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); LadderManager lm = getRankPlugin().getLadderManager(); Optional ladder = lm.getLadder(GuiConfig.getString("Options.Ranks.Ladder")); // Ensure ladder is present and that it has a rank: if ( !ladder.isPresent() || !ladder.get().getLowestRank().isPresent() ){ - getPlayer().sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoRanksFoundHelp1") + GuiConfig.getString("Options.Ranks.Ladder") + GuiConfig.getString("Gui.Message.NoRanksFoundHelp2"))); + getPlayer().sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFoundHelp1") + GuiConfig.getString("Options.Ranks.Ladder") + messages.getString("Gui.Message.NoRanksFoundHelp2"))); getPlayer().closeInventory(); return; } // Get the dimensions and if needed increases them if (ladder.get().ranks.size() == 0) { - getPlayer().sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoRanksFound"))); + getPlayer().sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFound"))); return; } @@ -158,6 +159,9 @@ private boolean guiBuilder(Configuration guiConfig, int dimension, Configuration } private void buttonsSetup(Configuration guiConfig, int dimension, Configuration guiConfig2, Inventory inv, Rank rank, Rank playerRank) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Not sure how you want to represent this: Material materialHas; materialHas = Material.getMaterial(Objects.requireNonNull(guiConfig.getString("Options.Ranks.Item_gotten_rank"))); @@ -193,11 +197,11 @@ private void buttonsSetup(Configuration guiConfig, int dimension, Configuration } List rankupLore = createLore( - guiConfig.getString("Gui.Lore.IfYouHaveEnoughMoney"), - guiConfig.getString("Gui.Lore.ClickToRankup") + messages.getString("Gui.Lore.IfYouHaveEnoughMoney"), + messages.getString("Gui.Lore.ClickToRankup") ); - ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format(guiConfig.getString("Gui.Lore.Rankup"))); + ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format(messages.getString("Gui.Lore.Rankup"))); inv.setItem(dimension - 5, rankupButton); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 27e1525c6..9df8a6f4f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -59,29 +59,32 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create the lore List rankupCommandsLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.ClickToOpen"), "", - guiConfig.getString("Gui.Lore.Info") + messages.getString("Gui.Lore.Info") ); SpigotRanksGUI.getCommands(rankupCommandsLore, rank); // Create the lore List editPriceLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.ClickToOpen"), "", - guiConfig.getString("Gui.Lore.Info"), - guiConfig.getString("Gui.Lore.Price") + rank.cost + messages.getString("Gui.Lore.Info"), + messages.getString("Gui.Lore.Price") + rank.cost ); // Create the lore List editTagLore = createLore( - guiConfig.getString("Gui.Lore.ClickToOpen"), + messages.getString("Gui.Lore.ClickToOpen"), "", - guiConfig.getString("Gui.Lore.Info"), - guiConfig.getString("Gui.Lore.Tag") + rank.tag + messages.getString("Gui.Lore.Info"), + messages.getString("Gui.Lore.Tag") + rank.tag ); // Create the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 7df41130a..2d6646574 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -62,22 +62,25 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create a new lore List changeDecreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToDecrease") + messages.getString("Gui.Lore.ClickToDecrease") ); // Create a new lore List confirmButtonLore; confirmButtonLore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToConfirm"), - guiConfig.getString("Gui.Lore.Price2") + val, - guiConfig.getString("Gui.Lore.RightClickToCancel") + messages.getString("Gui.Lore.LeftClickToConfirm"), + messages.getString("Gui.Lore.Price2") + val, + messages.getString("Gui.Lore.RightClickToCancel") ); // Create a new lore List changeIncreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToIncrease") + messages.getString("Gui.Lore.ClickToIncrease") ); // Decrease button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 2127c1817..9fab6f38e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -39,9 +39,10 @@ public void open() { // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); if (rank.rankUpCommands.size() == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoRankupCommands"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRankupCommands"))); return; } @@ -52,14 +53,14 @@ public void open() { // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.EmptyGui"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.EmptyGui"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.TooManyRankupCommands"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyRankupCommands"))); p.closeInventory(); return; } @@ -91,15 +92,18 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, String comman } private void buttonsSetup(Configuration guiConfig, Inventory inv, String command) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + ItemStack itemCommand; // Init the lore array with default values for ladders List commandsLore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), "", - guiConfig.getString("Gui.Lore.Info")); + messages.getString("Gui.Lore.Info")); // Adding a lore - commandsLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Command") + command)); + commandsLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Command") + command)); // Make the button with materials, amount, lore and name itemCommand = createButton(Material.TRIPWIRE_HOOK, 1, commandsLore, SpigotPrison.format("&3" + rank.name + " " + command)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index a1fd17606..be05b5046 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -47,25 +47,26 @@ public void open() { // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); // Get the dimensions and if needed increases them if (ladder.isPresent() && !(ladder.get().ranks.size() == 0)) { dimension = (int) Math.ceil(ladder.get().ranks.size() / 9D) * 9; } else { - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.NoRanksFoundAdmin"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFoundAdmin"))); return; } // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.EmptyGui"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.EmptyGui"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(GuiConfig.getString("Gui.Message.TooManyRanks"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyRanks"))); p.closeInventory(); return; } @@ -103,16 +104,19 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Optional rankOptional) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + ItemStack itemRank; // Init the lore array with default values for ladders List ranksLore = createLore( - guiConfig.getString("Gui.Lore.ShiftAndRightClickToDelete"), - guiConfig.getString("Gui.Lore.ClickToManageRank"), + messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Gui.Lore.ClickToManageRank"), "", - guiConfig.getString("Gui.Lore.Info")); + messages.getString("Gui.Lore.Info")); if (!rankOptional.isPresent()){ - p.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.CantGetRanksAdmin"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CantGetRanksAdmin"))); return; } @@ -120,16 +124,16 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Optional Rank rank = rankOptional.get(); // Add the RankID Lore - ranksLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Id") + rank.id)); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Id") + rank.id)); // Add the RankName lore - ranksLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Name") + rank.name)); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Name") + rank.name)); // Add the Rank Tag lore - ranksLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Tag2") + ChatColor.translateAlternateColorCodes('&', rank.tag))); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Tag2") + ChatColor.translateAlternateColorCodes('&', rank.tag))); // Add the Price lore - ranksLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.Price3") + rank.cost)); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Price3") + rank.cost)); // Init a variable List players = @@ -138,7 +142,7 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Optional .collect(Collectors.toList()); // Add the number of players with this rank - ranksLore.add(SpigotPrison.format(guiConfig.getString("Gui.Lore.PlayersWithTheRank") + players.size())); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.PlayersWithTheRank") + players.size())); // RankUpCommands info lore ranksLore.add(""); @@ -154,15 +158,16 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Optional static void getCommands(List ranksLore, Rank rank) { Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getGuiMessagesConfig(); if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { - ranksLore.add(SpigotPrison.format(GuiConfig.getString("Gui.Lore.ContainsTheRank") + rank.name + GuiConfig.getString("Gui.Lore.ContainsNoCommands"))); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ContainsTheRank") + rank.name + messages.getString("Gui.Lore.ContainsNoCommands"))); } else { - ranksLore.add(SpigotPrison.format(GuiConfig.getString("Gui.Lore.LadderThereAre") + rank.rankUpCommands.size() + GuiConfig.getString("Gui.Lore.LadderCommands"))); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.LadderThereAre") + rank.rankUpCommands.size() + messages.getString("Gui.Lore.LadderCommands"))); for (String command : rank.rankUpCommands) { - ranksLore.add(SpigotPrison.format(GuiConfig.getString("Gui.Lore.RankupCommands") + command)); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.RankupCommands") + command)); } - ranksLore.add(SpigotPrison.format(GuiConfig.getString("Gui.Lore.ClickToManageCommands"))); + ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ClickToManageCommands"))); } } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index 48bd83234..86483dbb2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -45,6 +45,8 @@ public void open() { private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + boolean emptyInv = false; try { @@ -56,7 +58,7 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { } if (emptyInv){ - p.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.NoSellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoSellAllItems"))); p.closeInventory(); return null; } @@ -68,7 +70,7 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { int dimension = (int) Math.ceil(items.size() / 9D) * 9; if (dimension > 54){ - p.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.TooManySellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManySellAllItems"))); return null; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 7b3332c2c..36f678db1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -44,6 +44,8 @@ public void open() { private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Inventory inv; boolean emptyInv = false; @@ -57,7 +59,7 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { } if (emptyInv){ - p.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.NoSellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoSellAllItems"))); p.closeInventory(); return null; } @@ -69,7 +71,7 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { int dimension = (int) Math.ceil(items.size() / 9D) * 9; if (dimension > 54){ - p.sendMessage(SpigotPrison.format(guiConfig.getString("Gui.Message.TooManySellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManySellAllItems"))); return null; } @@ -77,7 +79,7 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { for (String key : items) { List itemsLore = createLore( - guiConfig.getString("Gui.Lore.Value") + conf.getString("Items." + key + ".ITEM_VALUE") + messages.getString("Gui.Lore.Value") + conf.getString("Items." + key + ".ITEM_VALUE") ); ItemStack item = createButton(Material.valueOf(conf.getString("Items." + key + ".ITEM_ID")), 1, itemsLore, SpigotPrison.format("&3" + conf.getString("Items." + key + ".ITEM_ID"))); inv.addItem(item); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index a9f6fa236..119134211 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -55,22 +55,25 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { } private void buttonsSetup(Inventory inv, Configuration guiConfig) { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Create a new lore List changeDecreaseValueLore; changeDecreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToDecrease") + messages.getString("Gui.Lore.ClickToDecrease") ); // Create a new lore List confirmButtonLore = createLore( - guiConfig.getString("Gui.Lore.LeftClickToConfirm"), - guiConfig.getString("Gui.Lore.Price2") + val, - guiConfig.getString("Gui.Lore.RightClickToCancel") + messages.getString("Gui.Lore.LeftClickToConfirm"), + messages.getString("Gui.Lore.Price2") + val, + messages.getString("Gui.Lore.RightClickToCancel") ); // Create a new lore List changeIncreaseValueLore = createLore( - guiConfig.getString("Gui.Lore.ClickToIncrease") + messages.getString("Gui.Lore.ClickToIncrease") ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java new file mode 100644 index 000000000..5a5bc1871 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java @@ -0,0 +1,181 @@ +package tech.mcprison.prison.spigot.languages; + +import org.bukkit.Color; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; +import tech.mcprison.prison.spigot.SpigotPrison; + +import java.io.File; +import java.io.IOException; + +/** + * @author GABRYCA + **/ + +public class GuiMessagesConfig { + + private FileConfiguration conf; + + public GuiMessagesConfig() { + + // Filepath + File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + + // Everything's here + values(); + + // Get the final config + conf = YamlConfiguration.loadConfiguration(file); + } + + private void dataConfig(String path, String string){ + + // Filepath + File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + + // Check if the config exists + if(!file.exists()){ + try { + file.createNewFile(); + conf = YamlConfiguration.loadConfiguration(file); + conf.set(path, SpigotPrison.format(string)); + conf.save(file); + } catch (IOException e) { + e.printStackTrace(); + } + } else { + try { + boolean newValue = false; + int editedItems = 0; + conf = YamlConfiguration.loadConfiguration(file); + if (getFileGuiMessagesConfig().getString(path) == null){ + conf.set(path, SpigotPrison.format(string)); + editedItems++; + newValue = true; + } + if (newValue) { + conf.save(file); + System.out.println(Color.AQUA + "[Prison - GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml]" + Color.GREEN + " Added " + editedItems + " new values to the GuiConfig.yml"); + } + } catch (IOException e2){ + e2.printStackTrace(); + } + } + + // Get the final config + conf = YamlConfiguration.loadConfiguration(file); + + } + + private void values(){ + dataConfig("Gui.Lore.ActivateWithinMode","&8Activate Within mode."); + dataConfig("Gui.Lore.ActivateRadiusMode","&8Activate Radius mode."); + dataConfig("Gui.Lore.AutoPickupGuiManager","&8AutoPickup Manager."); + dataConfig("Gui.Lore.AutoSmeltGuiManager","&8AutoSmelt Manager."); + dataConfig("Gui.Lore.AutoBlockGuiManager","&8AutoBlock Manager."); + dataConfig("Gui.Lore.BlockType","&3BlockType: "); + dataConfig("Gui.Lore.Blocks","&3Blocks:"); + dataConfig("Gui.Lore.Blocks2","&8Manage blocks of the Mine."); + dataConfig("Gui.Lore.ClickToChoose","&8Click to choose."); + dataConfig("Gui.Lore.ClickToConfirm","&8Click to confirm."); + dataConfig("Gui.Lore.ClickToCancel","&8Click to cancel."); + dataConfig("Gui.Lore.ClickToDecrease","&8Click to decrease."); + dataConfig("Gui.Lore.ClickToIncrease","&8Click to increase."); + dataConfig("Gui.Lore.ClickToManageRank","&8Manage this rank."); + dataConfig("Gui.Lore.ClickToManageCommands","&8Manage RankUPCommands."); + dataConfig("Gui.Lore.ClickToOpen","&8Click to open."); + dataConfig("Gui.Lore.ClickToTeleport","&8Click to teleport."); + dataConfig("Gui.Lore.ClickToUse","&8Click to use."); + dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); + dataConfig("Gui.Lore.ClickToEditBlock", "&8Click to edit percentage."); + dataConfig("Gui.Lore.Chance","&3Chance: "); + dataConfig("Gui.Lore.Command","&3Command: &7"); + dataConfig("Gui.Lore.ContainsTheRank","&3The Rank "); + dataConfig("Gui.Lore.ContainsNoCommands"," &3contains no commands."); + dataConfig("Gui.Lore.DisableNotifications","&8Disable notifications."); + dataConfig("Gui.Lore.EnabledAll","&aAll features ON"); + dataConfig("Gui.Lore.DisabledAll","&aAll features OFF"); + dataConfig("Gui.Lore.FullSoundEnabled","&aFull Inv., notify with sound ON"); + dataConfig("Gui.Lore.FullSoundDisabled","&cFull Inv., notify with sound OFF"); + dataConfig("Gui.Lore.FullHologramEnabled","&aFull Inv., notify with hologram ON"); + dataConfig("Gui.Lore.FullHologramDisabled","&cFull Inv., notify with hologram OFF"); + dataConfig("Gui.Lore.Id","&3Rank id: &7"); + dataConfig("Gui.Lore.Info","&8&l|&3Info&8|"); + dataConfig("Gui.Lore.IfYouHaveEnoughMoney","&8If you have enough money"); + dataConfig("Gui.Lore.LadderThereAre","&8There're &3"); + dataConfig("Gui.Lore.LadderCommands"," &3Commands at ladder:"); + dataConfig("Gui.Lore.LeftClickToConfirm","&aLeft-Click to confirm."); + dataConfig("Gui.Lore.LeftClickToOpen","&8Left Click to open."); + dataConfig("Gui.Lore.LeftClickToReset","&aLeft Click to reset"); + dataConfig("Gui.Lore.ManageResetTime","&8Manage the reset time of Mine."); + dataConfig("Gui.Lore.MinesButton","&8Mines GUI manager."); + dataConfig("Gui.Lore.Name","&3Rank Name: &7"); + dataConfig("Gui.Lore.Notifications","&8Edit Mines notifications."); + dataConfig("Gui.Lore.PlayersWithTheRank","&3Players at rank: &7"); + dataConfig("Gui.Lore.PrestigeWarning", "&3Prestige will reset: "); + dataConfig("Gui.Lore.PrestigeWarning2", "&3 - &bRank"); + dataConfig("Gui.Lore.PrestigeWarning3", "&3 - &bBalance"); + dataConfig("Gui.Lore.Price","&3Price: &a$"); + dataConfig("Gui.Lore.Price2","&8Price: &a$"); + dataConfig("Gui.Lore.Price3","&3Rank Price: &a$"); + dataConfig("Gui.Lore.Percentage", "&8Percentage: "); + dataConfig("Gui.Lore.PrisonTasksButton","&8Prison Tasks Manager."); + dataConfig("Gui.Lore.ResetTime","&3Reset time(s): &7"); + dataConfig("Gui.Lore.Radius","&8Radius: "); + dataConfig("Gui.Lore.RankupCommands","&8&l|&3RankUPCommands&8| &8&l- &3"); + dataConfig("Gui.Lore.Rankup","&aRankup"); + dataConfig("Gui.Lore.RanksButton","&8Ranks GUI manager."); + dataConfig("Gui.Lore.ResetButton","&8Resets the mine."); + dataConfig("Gui.Lore.RightClickToCancel","&cRight-Click to cancel."); + dataConfig("Gui.Lore.RightClickToEnable","&aRight click to enable"); + dataConfig("Gui.Lore.RightClickToToggle","&cRight click to toggle"); + dataConfig("Gui.Lore.SpawnPoint","&3Spawnpoint: &7"); + dataConfig("Gui.Lore.StatusLockedMine","&8Status: &cLocked"); + dataConfig("Gui.Lore.StatusUnlockedMine","&8Status: &aUnlocked"); + dataConfig("Gui.Lore.SpawnPoint2","&8Set the mine spawn point."); + dataConfig("Gui.Lore.SizeOfMine","&3Size of Mine: &7"); + dataConfig("Gui.Lore.Selected","&3Selected"); + dataConfig("Gui.Lore.ShiftAndRightClickToDelete","&cShift + Right click to delete."); + dataConfig("Gui.Lore.ShiftAndRightClickToDisable","&cShift + Right click to disable"); + dataConfig("Gui.Lore.ShiftAndRightClickToToggle","&cShift + Right click to toggle"); + dataConfig("Gui.Lore.StatusEnabled","&8Enabled"); + dataConfig("Gui.Lore.StatusDisabled","&8Disabled"); + dataConfig("Gui.Lore.SkipReset1","&8Skip the reset if "); + dataConfig("Gui.Lore.SkipReset2","&8not enough blocks "); + dataConfig("Gui.Lore.SkipReset3","&8have been mined."); + dataConfig("Gui.Lore.Tp","&8Tp to the mine."); + dataConfig("Gui.Lore.Tag","&3Tag: &8"); + dataConfig("Gui.Lore.Tag2","&3Rank Tag: &7"); + dataConfig("Gui.Lore.Time","&8Time: "); + dataConfig("Gui.Lore.Volume","&3Volume: &7"); + dataConfig("Gui.Lore.Value", "&3Value: &a$"); + dataConfig("Gui.Lore.World","&3World: &7"); + dataConfig("Gui.Message.CantGetRanksAdmin", "&3[PRISON WARN] &cCan't get Ranks, there might be no ranks or the Ranks module's disabled."); + dataConfig("Gui.Message.NoSellAllItems", "&cSorry but there aren't SellAll Items to show."); + dataConfig("Gui.Message.EmptyGui","&cSorry, the GUI looks empty."); + dataConfig("Gui.Message.NoBlocksMine","&cSorry but there aren't blocks inside this Mine."); + dataConfig("Gui.Message.NoMines", "&cSorry but there aren't Mines to show."); + dataConfig("Gui.Message.NoRankupCommands", "&cSorry, but there aren't rankUpCommands for this ranks, please create one to use this GUI!"); + dataConfig("Gui.Message.NoLadders", "&cSorry but there aren't ladders to show."); + dataConfig("Gui.Message.NoRanksPrestigesLadder", "&3[PRISON WARN] &cThere aren't ranks in the -prestiges- ladder!"); + dataConfig("Gui.Message.NoRanksFoundAdmin", "&cSorry, but before using this GUI you should create a Rank in this ladder!"); + dataConfig("Gui.Message.NoRanksFound", "&cSorry, but there aren't Ranks in the default or selected ladder!"); + dataConfig("Gui.Message.NoRanksFoundHelp1", "&cSorry, but there aren't Ranks in the default or selected ladder or the ladder &3["); + dataConfig("Gui.Message.NoRanksFoundHelp2", "]&c isn't found!"); + dataConfig("Gui.Message.LadderPrestigesNotFound", "&3[PRISON WARN] &cLadder -prestiges- not found!"); + dataConfig("Gui.Message.TooManyBlocks","&cSorry, but there're too many Blocks and the max's 54 for the GUI"); + dataConfig("Gui.Message.TooManyLadders","&cSorry, but there're too many ladders and the max's 54 for the GUI"); + dataConfig("Gui.Message.TooManyMines","&cSorry, but there're too many mines and the max's 54 for the GUI"); + dataConfig("Gui.Message.TooManyRankupCommands","&cSorry, but there're too many RankupCommands and the max's 54 for the GUI"); + dataConfig("Gui.Message.TooManyRanks", "&cSorry, but there're too many ranks and the max's 54 for the GUI"); + dataConfig("Gui.Message.TooManySellAllItems", "&3[PRISON WARN] &cThere are too many items and the MAX for the GUI's 54!"); + dataConfig("Gui.Message.ZeroBlocksReset1","&8Set a mine's delay "); + dataConfig("Gui.Message.ZeroBlocksReset2","&8before reset when it "); + dataConfig("Gui.Message.ZeroBlocksReset3","&8reaches zero blocks."); + } + + public FileConfiguration getFileGuiMessagesConfig(){ + return conf; + } + +} From 5b796652582bc6fc1b09112340f0035505a21161 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 1 Oct 2020 22:37:31 +0200 Subject: [PATCH 014/243] Added mkdir so it should make the languages folder if missing, before instead it wouldn't, also removed unused references to the GuiConfig. Changelogs: - Should Create folder languages now - Removed unused references to the GuiConfig --- .../prison/spigot/gui/SpigotPrisonGUI.java | 11 ++++------- .../gui/autofeatures/SpigotAutoBlockGUI.java | 11 ++++------- .../gui/autofeatures/SpigotAutoFeaturesGUI.java | 11 ++++------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 11 ++++------- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 11 ++++------- .../gui/mine/SpigotMineBlockPercentageGUI.java | 11 ++++------- .../spigot/gui/mine/SpigotMineInfoGUI.java | 11 ++++------- .../mine/SpigotMineNotificationRadiusGUI.java | 11 ++++------- .../gui/mine/SpigotMineNotificationsGUI.java | 11 ++++------- .../spigot/gui/mine/SpigotMineResetTimeGUI.java | 11 ++++------- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 17 ++++++++--------- .../spigot/gui/mine/SpigotMinesConfirmGUI.java | 11 ++++------- .../prison/spigot/gui/mine/SpigotMinesGUI.java | 9 ++++----- .../gui/rank/SpigotConfirmPrestigeGUI.java | 11 ++++------- .../spigot/gui/rank/SpigotLaddersGUI.java | 10 ++++------ .../spigot/gui/rank/SpigotRankManagerGUI.java | 11 ++++------- .../spigot/gui/rank/SpigotRankPriceGUI.java | 11 ++++------- .../gui/rank/SpigotRankUPCommandsGUI.java | 9 ++++----- .../prison/spigot/gui/rank/SpigotRanksGUI.java | 10 ++++------ .../spigot/gui/sellall/SellAllAdminGUI.java | 11 +++++------ .../spigot/gui/sellall/SellAllPlayerGUI.java | 11 +++++------ .../spigot/gui/sellall/SellAllPriceGUI.java | 11 ++++------- .../spigot/languages/GuiMessagesConfig.java | 1 + 23 files changed, 95 insertions(+), 148 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index 42d12ac35..b4b565ba4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -27,19 +27,16 @@ public void open() { int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3PrisonManager")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -48,7 +45,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 5f33219c4..725b862fe 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -29,9 +29,6 @@ public SpigotAutoBlockGUI(Player p){ public void open() { - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - // Create the inventory and set up the owner, dimensions or number of slots, and title int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoBlock")); @@ -39,15 +36,15 @@ public void open() { // Config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - if (guiBuilder(GuiConfig, inv, afConfig)) return; + if (guiBuilder(inv, afConfig)) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { try { - buttonsSetup(guiConfig, inv, afConfig); + buttonsSetup(inv, afConfig); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -56,7 +53,7 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, AutoFeaturesF return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index ad96b4170..e51826ada 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -32,22 +32,19 @@ public void open() { int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3PrisonManager -> AutoFeatures")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - // Config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - if (guiBuilder(inv, GuiConfig, afConfig)) return; + if (guiBuilder(inv, afConfig)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { try { - buttonsSetup(inv, guiConfig, afConfig); + buttonsSetup(inv, afConfig); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -56,7 +53,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesF return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 51469d442..f1c374f8e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -32,21 +32,18 @@ public void open() { int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoPickup")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - // Config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - if (guiBuilder(inv, GuiConfig, afConfig)) return; + if (guiBuilder(inv, afConfig)) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { try { - buttonsSetup(inv, guiConfig, afConfig); + buttonsSetup(inv, afConfig); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -55,7 +52,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesF return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index dd2580f51..21912f396 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -32,21 +32,18 @@ public void open() { int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoSmelt")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - // Config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - if (guiBuilder(inv, GuiConfig, afConfig)) return; + if (guiBuilder(inv, afConfig)) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { try { - buttonsSetup(inv, guiConfig, afConfig); + buttonsSetup(inv, afConfig); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -55,7 +52,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, AutoFeaturesF return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index 8c1a94849..f52493aff 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -35,19 +35,16 @@ public void open() { int dimension = 45; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineInfo -> BlockPercentage")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -56,7 +53,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index d6e8f0be7..edfe8035b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -34,19 +34,16 @@ public void open(){ int dimension = 45; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Mines -> MineInfo")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Opens the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -55,7 +52,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index cf7f478c8..fd5b4496d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -35,19 +35,16 @@ public void open() { int dimension = 45; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineNotifications -> Radius")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -56,7 +53,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index b95a31f00..b57960b7f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -34,24 +34,21 @@ public void open() { int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineInfo -> MineNotifications")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - // Init variables PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); String enabledOrDisabled = m.getNotificationMode().name(); - if (guiBuilder(inv, GuiConfig, enabledOrDisabled)) return; + if (guiBuilder(inv, enabledOrDisabled)) return; // Opens the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig, String enabledOrDisabled) { + private boolean guiBuilder(Inventory inv, String enabledOrDisabled) { try { - buttonsSetup(inv, guiConfig, enabledOrDisabled); + buttonsSetup(inv, enabledOrDisabled); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -60,7 +57,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig, String enable return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig, String enabledOrDisabled) { + private void buttonsSetup(Inventory inv, String enabledOrDisabled) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index 0e2fcf1ae..f59601187 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -33,19 +33,16 @@ public void open() { int dimension = 45; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineInfo -> ResetTime")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -54,7 +51,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index f97721e50..cd96ebe36 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -50,7 +50,6 @@ public void open(){ } // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty @@ -88,7 +87,7 @@ public void open(){ blockmaterialdisplay = blockmaterial; } - if (guiBuilder(GuiConfig, inv, block, blockmaterial, blockmaterialdisplay)) return; + if (guiBuilder(inv, block, blockmaterial, blockmaterialdisplay)) return; } } @@ -109,7 +108,7 @@ public void open(){ blockmaterialdisplay = blockmaterial; } - if (guiBuilder(GuiConfig, inv, block, blockmaterial, blockmaterialdisplay)) return; + if (guiBuilder(inv, block, blockmaterial, blockmaterialdisplay)) return; } } @@ -120,9 +119,9 @@ public void open(){ ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { + private boolean guiBuilder(Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { try { - buttonsSetup(guiConfig, inv, block, blockmaterial, blockmaterialdisplay); + buttonsSetup(inv, block, blockmaterial, blockmaterialdisplay); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -131,9 +130,9 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, PrisonBlock b return false; } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, Block block, String blockmaterial, String blockmaterialdisplay) { + private boolean guiBuilder(Inventory inv, Block block, String blockmaterial, String blockmaterialdisplay) { try { - buttonsSetup(guiConfig, inv, block, blockmaterial, blockmaterialdisplay); + buttonsSetup(inv, block, blockmaterial, blockmaterialdisplay); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -142,7 +141,7 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Block block, return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { + private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); @@ -178,7 +177,7 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, PrisonBlock bl inv.addItem(block1); } - private void buttonsSetup(Configuration guiConfig, Inventory inv, Block block, String blockmaterial, String blockmaterialdisplay) { + private void buttonsSetup(Inventory inv, Block block, String blockmaterial, String blockmaterialdisplay) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index 9a65ebbc6..cc6ea108a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -31,19 +31,16 @@ public void open(){ int dimension = 9; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Mines -> Delete")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -52,7 +49,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index b1405ba67..aaaab4c0b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -45,7 +45,6 @@ public void open(){ int dimension = (int) Math.ceil(mines.size() / 9D) * 9; // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty @@ -68,7 +67,7 @@ public void open(){ // Make the buttons for every Mine with info for (Mine m : mines ) { - if (guiBuilder(GuiConfig, inv, m)) return; + if (guiBuilder(inv, m)) return; } @@ -77,9 +76,9 @@ public void open(){ ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m) { + private boolean guiBuilder(Inventory inv, Mine m) { try { - buttonsSetup(guiConfig, inv, m); + buttonsSetup(inv, m); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -88,7 +87,7 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m) { return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m) { + private void buttonsSetup(Inventory inv, Mine m) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index 6c03daff4..244538f50 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -26,19 +26,16 @@ public void open(){ int dimension = 9; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Prestige -> Confirmation")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -47,7 +44,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 22a96b544..f069cb179 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -43,8 +43,6 @@ public void open(){ // Get the dimensions and if needed increases them int dimension = (int) Math.ceil(lm.getLadders().size() / 9D) * 9; - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Configuration messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty @@ -67,7 +65,7 @@ public void open(){ // Make for every ladder a button for (RankLadder ladder : lm.getLadders()){ - if (guiBuilder(GuiConfig, inv, ladder)) return; + if (guiBuilder(inv, ladder)) return; } @@ -76,9 +74,9 @@ public void open(){ ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, RankLadder ladder) { + private boolean guiBuilder(Inventory inv, RankLadder ladder) { try { - buttonsSetup(guiConfig, inv, ladder); + buttonsSetup(inv, ladder); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -87,7 +85,7 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, RankLadder la return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, RankLadder ladder) { + private void buttonsSetup(Inventory inv, RankLadder ladder) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 9df8a6f4f..c51227c0f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -37,19 +37,16 @@ public void open() { int dimension = 27; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3" + "Ranks -> RankManager")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -58,7 +55,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 2d6646574..ca2d3f8f1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -40,19 +40,16 @@ public void open() { int dimension = 45; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3RankManager -> RankPrice")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -61,7 +58,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 9fab6f38e..90b676e02 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -38,7 +38,6 @@ public void open() { } // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Configuration messages = SpigotPrison.getGuiMessagesConfig(); if (rank.rankUpCommands.size() == 0){ @@ -71,7 +70,7 @@ public void open() { // For every command make a button for (String command : rank.rankUpCommands) { - if (guiBuilder(GuiConfig, inv, command)) return; + if (guiBuilder(inv, command)) return; } @@ -80,9 +79,9 @@ public void open() { ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, String command) { + private boolean guiBuilder(Inventory inv, String command) { try { - buttonsSetup(guiConfig, inv, command); + buttonsSetup(inv, command); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -91,7 +90,7 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, String comman return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, String command) { + private void buttonsSetup(Inventory inv, String command) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index be05b5046..781dd444c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -46,7 +46,6 @@ public void open() { } // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Configuration messages = SpigotPrison.getGuiMessagesConfig(); // Get the dimensions and if needed increases them @@ -83,7 +82,7 @@ public void open() { continue; // Skip it } - if (guiBuilder(GuiConfig, inv, rankOptional)) return; + if (guiBuilder(inv, rankOptional)) return; } @@ -92,9 +91,9 @@ public void open() { ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, Optional rankOptional) { + private boolean guiBuilder(Inventory inv, Optional rankOptional) { try { - buttonsSetup(guiConfig, inv, rankOptional); + buttonsSetup(inv, rankOptional); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -103,7 +102,7 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Optional rankOptional) { + private void buttonsSetup(Inventory inv, Optional rankOptional) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); @@ -157,7 +156,6 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Optional static void getCommands(List ranksLore, Rank rank) { - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Configuration messages = SpigotPrison.getGuiMessagesConfig(); if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index 86483dbb2..452980ddc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -30,20 +30,19 @@ public void open() { // Load configs Configuration conf = SpigotPrison.getSellAllConfig(); - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Inventory inv; - if (guiBuilder(conf, GuiConfig)) return; + if (guiBuilder(conf)) return; - inv = buttonsSetup(conf, GuiConfig); + inv = buttonsSetup(conf); if (inv == null) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { + private Inventory buttonsSetup(Configuration conf) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); @@ -88,9 +87,9 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { return inv; } - private boolean guiBuilder(Configuration conf, Configuration guiConfig) { + private boolean guiBuilder(Configuration conf) { try { - buttonsSetup(conf, guiConfig); + buttonsSetup(conf); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 36f678db1..10e8d41df 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -29,20 +29,19 @@ public void open() { // Load configs Configuration conf = SpigotPrison.getSellAllConfig(); - Configuration GuiConfig = SpigotPrison.getGuiConfig(); Inventory inv; - if (guiBuilder(conf, GuiConfig)) return; + if (guiBuilder(conf)) return; - inv = buttonsSetup(conf, GuiConfig); + inv = buttonsSetup(conf); if (inv == null) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { + private Inventory buttonsSetup(Configuration conf) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); @@ -87,9 +86,9 @@ private Inventory buttonsSetup(Configuration conf, Configuration guiConfig) { return inv; } - private boolean guiBuilder(Configuration conf, Configuration guiConfig) { + private boolean guiBuilder(Configuration conf) { try { - buttonsSetup(conf, guiConfig); + buttonsSetup(conf); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index 119134211..c44eaf663 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -33,19 +33,16 @@ public void open() { int dimension = 45; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3SellAll -> ItemValue")); - // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - - if (guiBuilder(inv, GuiConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, Configuration guiConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, guiConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -54,7 +51,7 @@ private boolean guiBuilder(Inventory inv, Configuration guiConfig) { return false; } - private void buttonsSetup(Inventory inv, Configuration guiConfig) { + private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getGuiMessagesConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java index 5a5bc1871..48ef2265c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java @@ -36,6 +36,7 @@ private void dataConfig(String path, String string){ // Check if the config exists if(!file.exists()){ try { + file.mkdir(); file.createNewFile(); conf = YamlConfiguration.loadConfiguration(file); conf.set(path, SpigotPrison.format(string)); From 63cf2f12ae0bd42e0977b01b51a48519f61d074e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 1 Oct 2020 17:17:58 -0400 Subject: [PATCH 015/243] doc update --- changelog_v3.2.x.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index f929be591..d4755457c 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,21 @@ that you need. -## tag v3.2.2-alpha.1 - 2020-09-29 +## tag v3.2.2-alpha.1 - 2020-09-30 + + +* **Bug fix: change how /ranks list works with perms.** +Should allow all players to use this command since no-perm players can use /ranks and that just redirects to this command. +Removed admin features unless player has the ranks.list perm or they are op. The admin features are links to other internal commands. + + + +* **Potential bug fix if a config option does not exist** +Reformatted so the code will have a better chance of fitting on the screen without a bunch of horizontal scrolling... +plus got rid of a few instances of Objects.requireNonNull() which throws exceptions, which are not being caught. Which is also the wrong behavior to what we need here... if those configs are null, then instead of throwing exceptions, just move on to the next conditional in the if chain. +Should probably never use Objects.requireNonNull since it will crash prison and prevent intended functionality. This should probably be removed from elsewhere. + + * **New feature: Gui Languages Support** New languages folder containing the GUI and future languages files so players can edit them or contribute to make a new From 1aa0a2a24525acb58a0d5bc18a17a1bfea8344e4 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 2 Oct 2020 22:41:07 -0400 Subject: [PATCH 016/243] New Feature: Rename Mines. Bug Fix: Delete Mines. You can now rename mines. This also fixes an issue with not being able to delete a mine: It deletes successfully, but is still active in memory. --- changelog_v3.2.x.md | 8 +++- .../prison/mines/commands/MinesCommands.java | 43 ++++++++++++++++++- .../prison/mines/managers/MineManager.java | 20 ++++++++- prison-spigot/src/main/resources/plugin.yml | 4 ++ 4 files changed, 72 insertions(+), 3 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index d4755457c..ff013ea36 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,13 @@ that you need. -## tag v3.2.2-alpha.1 - 2020-09-30 +## tag v3.2.2-alpha.1 - 2020-10-02 + + +* **New Feature: Rename Mines. Bug Fix: Delete Mines.** +You can now rename mines. +This also fixes an issue with not being able to delete a mine: It deletes successfully, but is still active in memory. + * **Bug fix: change how /ranks list works with perms.** diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index e4482726b..e266abf79 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -125,9 +125,50 @@ public void createCommand(CommandSender sender, Prison.get().getSelectionManager().clearSelection((Player) sender); } + + @Command(identifier = "mines rename", description = "Creates a new mine.", + onlyPlayers = false, permissions = "mines.rename") + public void renameCommand(CommandSender sender, + @Arg(name = "mineName", description = "The existing name of the mine.", def = " ") String mineName, + @Wildcard(join=true) + @Arg(name = "newName", description = "The new name for the mine.", def = " ") String newName + ) { + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + if ( newName == null || newName.contains( " " ) || newName.trim().length() == 0 ) { + sender.sendMessage( "&3New mine name cannot contain spaces or be empty. &b[&d" + newName + "&b]" ); + return; + } + newName = newName.trim(); + + PrisonMines pMines = PrisonMines.getInstance(); + + if ( pMines.getMine(newName) != null ) { + sender.sendMessage( "&3Invalid new mine name. Another mine has that name. &b[&d" + newName + "&b]" ); + return; + + } + + Mine mine = pMines.getMine(mineName); + + setLastMineReferenced(newName); + + + pMines.getMineManager().rename(mine, newName); + + + sender.sendMessage( String.format( "&3Mine &d%s &3was successfully renamed to &d%s&3.", mineName, newName) ); + + pMines.getMinesMessages().getLocalizable("mine_created").sendTo(sender); + + } + @Command(identifier = "mines set spawn", description = "Set the mine's spawn to where you're standing.", - onlyPlayers = false, permissions = "mines.set") + onlyPlayers = true, permissions = "mines.set") public void spawnpointCommand(CommandSender sender, @Arg(name = "mineName", description = "The name of the mine to edit.") String mineName) { diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java index 875340b97..6277d528e 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java @@ -183,7 +183,7 @@ public boolean removeMine(Mine mine) { boolean success = false; if ( mine != null ) { coll.delete( mine.getName() ); - getMinesByName().remove(mine.getName()); + getMinesByName().remove(mine.getName().toLowerCase()); success = getMines().remove(mine); } return success; @@ -223,6 +223,24 @@ public void saveMines(){ } } + + + + public void rename( Mine mine, String newName ) { + + String oldMineName = mine.getName(); + + // Remove the old mine: + removeMine( oldMineName ); + + // rename the mine: + mine.setName( newName ); + + // Add the mine back with the new name: + add( mine ); + + } + /** * Returns the mine with the specified name. diff --git a/prison-spigot/src/main/resources/plugin.yml b/prison-spigot/src/main/resources/plugin.yml index cae898fd5..4a8d3e0e3 100644 --- a/prison-spigot/src/main/resources/plugin.yml +++ b/prison-spigot/src/main/resources/plugin.yml @@ -71,6 +71,9 @@ permissions: mines.create: description: Access to the /mines create command. + mines.rename: + description: Access to the /mines rename command. + mines.set: description: Access to the /mines set command. @@ -122,6 +125,7 @@ permissions: children: mines.block: true mines.create: true + mines.rename: true mines.delete: true mines.set: true mines.info: true From 54466964d9b3c7b687da593ec0aa13d460e71fcf Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 4 Oct 2020 13:12:16 -0400 Subject: [PATCH 017/243] New Feature: Added Mine Tag Names and 8 new placeholders to support them. This is required for the future changes to support linking mines and ranks. --- .../integration/IntegrationManager.java | 8 +++ .../prison/mines/commands/MinesCommands.java | 60 +++++++++++++++++++ .../tech/mcprison/prison/mines/data/Mine.java | 9 ++- .../mcprison/prison/mines/data/MineData.java | 11 ++++ .../prison/mines/managers/MineManager.java | 14 +++++ 5 files changed, 101 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java index ece757386..81e92ad9a 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java @@ -135,6 +135,8 @@ public enum PrisonPlaceHolders { // Mine aliases: + prison_mn_minename(PlaceHolderFlags.MINES, PlaceHolderFlags.ALIAS), + prison_mt_minename(PlaceHolderFlags.MINES, PlaceHolderFlags.ALIAS), prison_mi_minename(PlaceHolderFlags.MINES, PlaceHolderFlags.ALIAS), prison_mif_minename(PlaceHolderFlags.MINES, PlaceHolderFlags.ALIAS), prison_mtl_minename(PlaceHolderFlags.MINES, PlaceHolderFlags.ALIAS), @@ -152,6 +154,8 @@ public enum PrisonPlaceHolders { // reset_interval, reset_timeleft, blocks_size, blocks_remaining, blocks_percent // player_count // NOTE: Remove PrisonPlaceHolderFlags.SUPRESS when ready to be used: + prison_mines_name_minename(prison_mn_minename, PlaceHolderFlags.MINES), + prison_mines_tag_minename(prison_mt_minename, PlaceHolderFlags.MINES), prison_mines_interval_minename(prison_mi_minename, PlaceHolderFlags.MINES), prison_mines_interval_formatted_minename(prison_mif_minename, PlaceHolderFlags.MINES), prison_mines_timeleft_minename(prison_mtl_minename, PlaceHolderFlags.MINES), @@ -168,6 +172,8 @@ public enum PrisonPlaceHolders { // PlayerMine aliases: + prison_mn_pm(PlaceHolderFlags.PLAYERMINES, PlaceHolderFlags.ALIAS), + prison_mt_pm(PlaceHolderFlags.PLAYERMINES, PlaceHolderFlags.ALIAS), prison_mi_pm(PlaceHolderFlags.PLAYERMINES, PlaceHolderFlags.ALIAS), prison_mif_pm(PlaceHolderFlags.PLAYERMINES, PlaceHolderFlags.ALIAS), prison_mtl_pm(PlaceHolderFlags.PLAYERMINES, PlaceHolderFlags.ALIAS), @@ -182,6 +188,8 @@ public enum PrisonPlaceHolders { prison_mrc_pm(PlaceHolderFlags.PLAYERMINES, PlaceHolderFlags.ALIAS), + prison_mines_name_playermines(prison_mn_pm, PlaceHolderFlags.PLAYERMINES), + prison_mines_tag_playermines(prison_mt_pm, PlaceHolderFlags.PLAYERMINES), prison_mines_interval_playermines(prison_mi_pm, PlaceHolderFlags.PLAYERMINES), prison_mines_interval_formatted_playermines(prison_mif_pm, PlaceHolderFlags.PLAYERMINES), prison_mines_timeleft_playermines(prison_mtl_pm, PlaceHolderFlags.PLAYERMINES), diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index e266abf79..1d19c7458 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -212,6 +212,58 @@ public void spawnpointCommand(CommandSender sender, pMines.getMinesMessages().getLocalizable("spawn_set").sendTo(sender); } + + @Command(identifier = "mines set tag", description = "Sets the mine's tag name.", + onlyPlayers = true, permissions = "mines.set") + public void tagCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine to edit.") String mineName, + @Wildcard(join=true) + @Arg(name = "tag", description = "Tag value for the mine. Use [null] to remove.") String tag ) { + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + if ( tag == null || tag.trim().length() == 0 ) { + sender.sendMessage( "&cTag name must be a valid value. To remove use a value of &anull&c." ); + return; + } + + if ( tag.equalsIgnoreCase( "null" ) ) { + tag = null; + } + + PrisonMines pMines = PrisonMines.getInstance(); + Mine mine = pMines.getMine(mineName); + + if ( tag == null && mine.getTag() == null || + mine.getTag() != null && + mine.getTag().equalsIgnoreCase( tag )) { + + sender.sendMessage( "&cThe new tag name is the same as what it was. No change was made." ); + return; + } + + mine.setTag( tag ); + + setLastMineReferenced(mineName); + + pMines.getMineManager().saveMine(mine); + + if ( tag == null ) { + sender.sendMessage( + String.format( "&cThe tag name was cleared for the mine %s.", + mine.getName() ) ); + } + else { + sender.sendMessage( + String.format( "&cThe tag name was change to %s for the mine %s.", + tag, mine.getName() ) ); + } + + } + + @Command(identifier = "mines block add", permissions = "mines.block", onlyPlayers = false, description = "Adds a block to a mine.") public void addBlockCommand(CommandSender sender, @@ -774,6 +826,10 @@ public void infoCommand(CommandSender sender, } + String noTagMessag = String.format( "&7(not set) &3Will default to mine name if used." ); + chatDisplay.text("&3Tag: &7%s", m.getTag() == null ? noTagMessag : m.getTag()); + + String worldName = m.getWorld().isPresent() ? m.getWorld().get().getName() : "&cmissing"; chatDisplay.text("&3World: &7%s", worldName); @@ -1167,6 +1223,10 @@ private BulletedListComponent getMinesLineItemList( List mines, Player pla .command("/mines info " + m.getName()) .tooltip("&7Click to view info.")); + if ( m.getTag() != null && m.getTag().trim().length() > 0 ) { + row.addTextComponent( "%s ", m.getTag() ); + } + boolean hasCmds = m.getResetCommands().size() > 0; if ( hasCmds ) { row.addFancy( diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 344eeb3a2..f2596ee35 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -171,7 +171,12 @@ private void loadFromDocument( Document document ) String worldName = (String) document.get("world"); setWorldName( worldName ); setName((String) document.get("name")); // Mine name: - + + + String tag = (String) document.get("tag"); + setTag( tag ); + + World world = null; if ( worldName == null ) { @@ -395,6 +400,8 @@ public Document toDocument() { Document ret = new Document(); ret.put("world", getWorldName()); ret.put("name", getName()); + + ret.put( "tag", getTag() ); ret.put("minX", getBounds().getMin().getX()); ret.put("minY", getBounds().getMin().getY()); ret.put("minZ", getBounds().getMin().getZ()); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 8460de481..159aaa0d3 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -22,6 +22,8 @@ public abstract class MineData { public static final String MINE_NOTIFICATION_PERMISSION_PREFIX = "mines.notification."; private String name; + private String tag; + private boolean enabled = false; private Bounds bounds; @@ -84,6 +86,8 @@ public static MineNotificationMode fromString(String mode, MineNotificationMode } public MineData() { + this.tag = null; + this.blocks = new ArrayList<>(); this.prisonBlocks = new ArrayList<>(); @@ -139,6 +143,13 @@ public String getName() { return name; } + public String getTag() { + return tag; + } + public void setTag( String tag ) { + this.tag = tag; + } + /** * Sets the name of this mine * diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java index 6277d528e..e2650f325 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java @@ -416,6 +416,20 @@ private String getTranslateMinesPlaceHolder( PlaceHolderKey placeHolderKey, Mine DecimalFormat iFmt = new DecimalFormat("#,##0"); switch ( placeHolderKey.getPlaceholder() ) { + case prison_mn_minename: + case prison_mines_name_minename: + case prison_mn_pm: + case prison_mines_name_playermines: + results = mine.getName(); + break; + + case prison_mt_minename: + case prison_mines_tag_minename: + case prison_mt_pm: + case prison_mines_tag_playermines: + results = mine.getTag() == null ? mine.getName() : mine.getTag(); + break; + case prison_mi_minename: case prison_mines_interval_minename: case prison_mi_pm: From adf41a4641bf1324bead0b0d44bcf9d3a6fa1b5d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 5 Oct 2020 01:06:20 -0400 Subject: [PATCH 018/243] New Feature: Setup the complex sorting on mines. Mines can now be assigned a sort order, with even suppressing mines from being included in the output. Mines list can now be sorted in six different orders: alpha, active, and now sortOrder (user defined order), all of which suppresses mines with a -1 for the sort orders. Plus those but with including the suppressed mines. The default being sortOrder, but if no mines have been configured, then they all will have a sortOrder == 0, and then all will be sorted alphabetically within that grouping. Changed the prison's GUI to display mines in the sortOrder, with suppression of the -1 sortOrder values. --- .../mcprison/prison/mines/PrisonMines.java | 7 +- .../prison/mines/commands/MinesCommands.java | 115 ++++++++-- .../tech/mcprison/prison/mines/data/Mine.java | 6 + .../mcprison/prison/mines/data/MineData.java | 20 ++ .../prison/mines/managers/MineManager.java | 92 ++++++++ .../mines/managers/MineManagerTest.java | 199 ++++++++++++++++++ .../spigot/gui/mine/SpigotMinesGUI.java | 9 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 9 +- 8 files changed, 427 insertions(+), 30 deletions(-) create mode 100644 prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java index d0b3f8b9b..61f78b9f9 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java @@ -34,6 +34,7 @@ import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.MinesConfig; import tech.mcprison.prison.mines.managers.MineManager; +import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.mines.managers.PlayerManager; import tech.mcprison.prison.modules.Module; import tech.mcprison.prison.output.Output; @@ -71,7 +72,7 @@ public class PrisonMines extends Module { * */ private final TreeMap playerCache; - + public PrisonMines(String version) { @@ -232,6 +233,10 @@ public MineManager getMineManager() { public List getMines() { return getMineManager().getMines(); } + + public List getMines( MineSortOrder sortOrder ) { + return getMineManager().getMines( sortOrder ); + } public Mine getMine(String mineName) { return getMineManager().getMine(mineName); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 1d19c7458..d55db129d 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -44,6 +44,7 @@ import tech.mcprison.prison.mines.data.MineData; import tech.mcprison.prison.mines.data.MineData.MineNotificationMode; import tech.mcprison.prison.mines.managers.MineManager; +import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.FancyMessageComponent; @@ -257,13 +258,72 @@ public void tagCommand(CommandSender sender, } else { sender.sendMessage( - String.format( "&cThe tag name was change to %s for the mine %s.", + String.format( "&cThe tag name was changed to %s for the mine %s.", tag, mine.getName() ) ); } } + @Command(identifier = "mines set sortOrder", description = "Sets the mine's sort order, or " + + "prevents a mine from being included in most listings. If more than one mine has the " + + "same sort order, then they will be sorted alphabetically within that sub-group.", + onlyPlayers = true, permissions = "mines.set") + public void sortOrderCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine to edit.") String mineName, + @Arg(name = "sortOrder", description = "The sort order for listing mines. A value " + + "of -1 or [supress] will prevent the mine from beign included in most listings.", + def = "0" ) String sortOrder ) { + + int order = 0; + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + if ( sortOrder == null ) { + sortOrder = "0"; + } + else if ( "suppress".equalsIgnoreCase( sortOrder.trim() ) ) { + sortOrder = "-1"; + } + + try { + order = Integer.parseInt( sortOrder ); + } + catch ( NumberFormatException e ) { + sender.sendMessage( "Invalid sortOrder. Use an integer value of [0-n], or " + + "[-1, supress] to prevent the mine from being included in most listings." ); + return; + } + + if ( order < -1 ) { + order = -1; + } + + PrisonMines pMines = PrisonMines.getInstance(); + Mine mine = pMines.getMine(mineName); + + if ( order == mine.getSortOrder()) { + sender.sendMessage( "&cThe new sort order is the same as what it was. No change was made." ); + return; + } + + mine.setSortOrder( order ); + + setLastMineReferenced(mineName); + + pMines.getMineManager().saveMine(mine); + + String suppressedMessage = order == -1 ? "This mine will be suppressed from most listings." : ""; + sender.sendMessage( + String.format( "&cThe sort order was changed to %s for the mine %s. %s", + Integer.toString( mine.getSortOrder() ), mine.getName(), + suppressedMessage ) ); + + } + + @Command(identifier = "mines block add", permissions = "mines.block", onlyPlayers = false, description = "Adds a block to a mine.") public void addBlockCommand(CommandSender sender, @@ -1130,9 +1190,10 @@ public void resetCommand(CommandSender sender, @Command(identifier = "mines list", permissions = "mines.list", onlyPlayers = false) public void listCommand(CommandSender sender, - @Arg(name = "sort", def = "alpha", - description = "Sort the list by either alpha or active [alpha, active]. " + - " Most active mines are based upon blocks mined since server restart.") + @Arg(name = "sort", def = "sortOrder", + description = "Sort the list by either alpha or active [" + + "sortOrder alpha active allSortOrder allAlpha allActive" + + "]. Most active mines are based upon blocks mined since server restart.") String sort, @Arg(name = "page", def = "1", description = "Page of search results (optional) [1-n, ALL]") String page @@ -1141,12 +1202,14 @@ public void listCommand(CommandSender sender, display.text("&8Click a mine's name to see more information."); Player player = getPlayer( sender ); - if ( sort != null && !sort.equalsIgnoreCase( "alpha" ) && - !sort.equalsIgnoreCase( "active" )) { + MineSortOrder sortOrder = MineSortOrder.fromString( sort ); + + // If sort was invalid, double check to see if it is a page number or ALL: + if ( sortOrder == MineSortOrder.invalid && sort != null ) { if ( "ALL".equalsIgnoreCase( sort )) { // The user did not specify a sort order, but instead this is the page number // so fix it for them: - sort = "alpha"; + sortOrder = MineSortOrder.sortOrder; page = "ALL"; } else { @@ -1154,7 +1217,7 @@ public void listCommand(CommandSender sender, int test = Integer.parseInt( sort ); // This is actually the page number so default to alpha sort: - sort = "alpha"; + sortOrder = MineSortOrder.sortOrder; page = Integer.toString( test ); } catch ( NumberFormatException e ) { @@ -1165,29 +1228,29 @@ public void listCommand(CommandSender sender, } } + PrisonMines pMines = PrisonMines.getInstance(); MineManager mMan = pMines.getMineManager(); - // Sort mines by: total blocks mined, name - List mineList = pMines.getMines(); - - // Sort first by name, then blocks mined so final sort order will be: - // Most blocks mined, then alphabetical - mineList.sort( (a, b) -> a.getName().compareToIgnoreCase( b.getName()) ); - - // for now hold off on sorting by total blocks mined. - if ( "active".equalsIgnoreCase( sort )) { - mineList.sort( (a, b) -> Long.compare(b.getTotalBlocksMined(), a.getTotalBlocksMined()) ); - } + // Get mines in the correct sorted order and suppress the mines if they should + List mineList = pMines.getMines( sortOrder ); +// // Sort first by name, then blocks mined so final sort order will be: +// // Most blocks mined, then alphabetical +// mineList.sort( (a, b) -> a.getName().compareToIgnoreCase( b.getName()) ); +// +// // for now hold off on sorting by total blocks mined. +// if ( "active".equalsIgnoreCase( sort )) { +// mineList.sort( (a, b) -> Long.compare(b.getTotalBlocksMined(), a.getTotalBlocksMined()) ); +// } CommandPagedData cmdPageData = new CommandPagedData( - "/mines list " + sort, pMines.getMines().size(), + "/mines list " + sort, mineList.size(), 0, page, 7 ); BulletedListComponent list = - getMinesLineItemList(pMines.getMines(), player, cmdPageData, mMan.isMineStats()); + getMinesLineItemList(mineList, player, cmdPageData, mMan.isMineStats()); display.addComponent(list); @@ -1222,6 +1285,16 @@ private BulletedListComponent getMinesLineItemList( List mines, Player pla new FancyMessage( String.format("&3Mine: &7%s ", m.getName()) ) .command("/mines info " + m.getName()) .tooltip("&7Click to view info.")); + + if ( m.getSortOrder() >= 0 ) { + String sortMessage = m.getSortOrder() == -1 ? "suppressed" : + Integer.toString( m.getSortOrder() ); + row.addFancy( + new FancyMessage( String.format("&7%s ", + sortMessage) ) + .tooltip("&7Sort order.")); + } + if ( m.getTag() != null && m.getTag().trim().length() > 0 ) { row.addTextComponent( "%s ", m.getTag() ); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index f2596ee35..3a395d614 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -177,6 +177,10 @@ private void loadFromDocument( Document document ) setTag( tag ); + Double sortOrder = (Double) document.get( "sortOrder" ); + setSortOrder( sortOrder == null ? -1 : sortOrder.intValue() ); + + World world = null; if ( worldName == null ) { @@ -402,6 +406,8 @@ public Document toDocument() { ret.put("name", getName()); ret.put( "tag", getTag() ); + ret.put( "sortOrder", getSortOrder() ); + ret.put("minX", getBounds().getMin().getX()); ret.put("minY", getBounds().getMin().getY()); ret.put("minZ", getBounds().getMin().getZ()); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 159aaa0d3..415e101bc 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -26,6 +26,13 @@ public abstract class MineData { private boolean enabled = false; + /** + * A sortOrder of -1 means it should be excluded from most mine listings. + * An example would be for private mines or child mines where you only want the + * parent listed. + */ + private int sortOrder = 0; + private Bounds bounds; private Location spawn; @@ -93,6 +100,12 @@ public MineData() { this.enabled = false; + /** + * Mines are sorted based upon the sortOrder, ascending. If a mine is given + * a value of -1 then it will be excluded from most mine listings. + */ + this.sortOrder = 0; + this.resetTime = MINE_RESET__TIME_SEC__DEFAULT; this.notificationMode = MineNotificationMode.radius; this.notificationRadius = MINE_RESET__BROADCAST_RADIUS_BLOCKS; @@ -150,6 +163,13 @@ public void setTag( String tag ) { this.tag = tag; } + public int getSortOrder() { + return sortOrder; + } + public void setSortOrder( int sortOrder ) { + this.sortOrder = sortOrder; + } + /** * Sets the name of this mine * diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java index e2650f325..4f0e05d1d 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java @@ -65,6 +65,66 @@ public class MineManager private boolean mineStats = false; + + public enum MineSortOrder { + + sortOrder, + alpha, + active, + + allSortOrder(true), + allAlpha(true), + allActive(true), + + invalid; + + private final boolean includeSuppressed; + + private MineSortOrder( boolean includeSuppressed ) { + this.includeSuppressed = includeSuppressed; + + } + private MineSortOrder() { + this(false); + } + + public boolean isIncludeSuppressed() { + return includeSuppressed; + } + + public static MineSortOrder fromString( String sortOrder ) { + MineSortOrder results = MineSortOrder.invalid; + + if ( sortOrder != null && sortOrder.trim().length() == 0 ) { + for ( MineSortOrder so : values() ) { + if ( so.name().equalsIgnoreCase( sortOrder ) ) { + results = so; + break; + } + } + + } + + return results; + } + + static String availableSortOrders() { + StringBuilder sb = new StringBuilder(); + + for ( MineSortOrder so : values() ) { + if ( so != invalid ) { + if ( sb.length() > 0 ) { + sb.append( " " ); + } + sb.append( so.name() ); + } + } + + return sb.toString(); + } + } + + /** *

MineManager must be fully instantiated prior to trying to load the mines, * otherwise if the mines cannot find the world they should be, they will be @@ -258,6 +318,38 @@ public Mine getMine(String mineName) { public List getMines() { return mines; } + + public List getMines( MineSortOrder sortOrder ) { + return getMines( sortOrder, getMines() ); + } + + protected List getMines( MineSortOrder sortOrder, List mines ) { + List results = new ArrayList<>(); + + for ( Mine mine : mines ) { + if ( sortOrder.isIncludeSuppressed() || + !sortOrder.isIncludeSuppressed() && mine.getSortOrder() >= 0) { + results.add( mine ); + } + } + + // Sort first by name, then by other means if needed: + results.sort( (a, b) -> a.getName().compareToIgnoreCase( b.getName()) ); + + if ( sortOrder == MineSortOrder.sortOrder || sortOrder == MineSortOrder.allSortOrder ) { + results.sort( (a, b) -> Integer.compare( a.getSortOrder(), b.getSortOrder()) ); + } + + // for now hold off on sorting by total blocks mined. + else if ( sortOrder == MineSortOrder.active || sortOrder == MineSortOrder.allActive ) { + results.sort( (a, b) -> Long.compare(b.getTotalBlocksMined(), a.getTotalBlocksMined()) ); + } + + return results; + } + + + public TreeMap getMinesByName() { return minesByName; diff --git a/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java b/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java new file mode 100644 index 000000000..1d44bc0ea --- /dev/null +++ b/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java @@ -0,0 +1,199 @@ +package tech.mcprison.prison.mines.managers; + +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Test; + +import tech.mcprison.prison.mines.data.Mine; + +public class MineManagerTest + extends + MineManager +{ + private List getTestMines() { + List mines = new ArrayList<>(); + + Mine a = new Mine(); + a.setName( "A" ); + Mine b = new Mine(); + b.setName( "b" ); + Mine c = new Mine(); + c.setName( "C" ); + Mine d = new Mine(); + d.setName( "D" ); + + mines.add( d ); + mines.add( b ); + mines.add( a ); + mines.add( c ); + + return mines; + } + + public String toString(List mines, String desc ) { + StringBuilder sb = new StringBuilder(); + + for ( Mine mine : mines ) { + if ( sb.length() > 0 ) { + sb.append( " " ); + } + sb.append( mine.getName() + " : sort= " + mine.getSortOrder() + + " mined= " + mine.getTotalBlocksMined() + ", "); + } + + sb.insert( 0, desc + "\n" ); + sb.append( "\n - - - - \n" ); + return sb.toString(); + } + + @Test + public void testGetMinesMineSortOrderListOfMine() { + List mines = getTestMines(); + + // check to make sure the mines are in an unsorted order: + assertEquals( "D", mines.get( 0 ).getName() ); + assertEquals( "b", mines.get( 1 ).getName() ); + assertEquals( "A", mines.get( 2 ).getName() ); + assertEquals( "C", mines.get( 3 ).getName() ); + + System.out.println( toString(mines, "Before sort:") ); + + // sort by alpha and confirm: + mines = getMines( MineSortOrder.alpha, mines ); + System.out.println( toString(mines, "After alpha:") ); + + assertEquals( "A", mines.get( 0 ).getName() ); + assertEquals( "b", mines.get( 1 ).getName() ); + assertEquals( "C", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 3 ).getName() ); + + // Set mine b to sortOrder -1 so it is not included in alpha sort: + mines.get( 1 ).setSortOrder( -1 ); + + // Resort with alpha and b should not be included: + mines = getMines( MineSortOrder.alpha, mines ); + System.out.println( toString(mines, "After alpha without b:") ); + + // Without mine b: + assertEquals( "A", mines.get( 0 ).getName() ); + // assertEquals( "b", mines.get( 1 ).getName() ); + assertEquals( "C", mines.get( 1 ).getName() ); + assertEquals( "D", mines.get( 2 ).getName() ); + + + // Reset and now sort with alphaAll: + mines = getTestMines(); // d, b, a, c + mines.get( 1 ).setSortOrder( -1 ); + mines = getMines( MineSortOrder.allAlpha, mines ); + System.out.println( toString(mines, "After allAlpha with all:") ); + + assertEquals( "A", mines.get( 0 ).getName() ); + assertEquals( "b", mines.get( 1 ).getName() ); + assertEquals( "C", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 3 ).getName() ); + + + // Reset and now sort with active: + mines = getTestMines(); // d, b, a, c + //mines.get( 1 ).setSortOrder( -1 ); + mines.get( 1 ).setTotalBlocksMined( 5 ); // b + mines.get( 3 ).setTotalBlocksMined( 1 ); // C + mines = getMines( MineSortOrder.active, mines ); + System.out.println( toString(mines, "After active:") ); + + assertEquals( "b", mines.get( 0 ).getName() ); + assertEquals( "C", mines.get( 1 ).getName() ); + assertEquals( "A", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 3 ).getName() ); + + + // Reset and now sort with active: + mines = getTestMines(); // d, b, a, c + mines.get( 1 ).setSortOrder( -1 ); + mines.get( 1 ).setTotalBlocksMined( 5 ); + mines.get( 3 ).setTotalBlocksMined( 1 ); + mines = getMines( MineSortOrder.active, mines ); + System.out.println( toString(mines, "After active & suppress:") ); + + // assertEquals( "b", mines.get( 0 ).getName() ); + assertEquals( "C", mines.get( 0 ).getName() ); + assertEquals( "A", mines.get( 1 ).getName() ); + assertEquals( "D", mines.get( 2 ).getName() ); + + + + // Reset and now sort with allActive: + mines = getTestMines(); // d, b, a, c + mines.get( 1 ).setSortOrder( -1 ); + mines.get( 1 ).setTotalBlocksMined( 5 ); + mines.get( 3 ).setTotalBlocksMined( 1 ); + mines = getMines( MineSortOrder.allActive, mines ); + System.out.println( toString(mines, "After allActive:") ); + + assertEquals( "b", mines.get( 0 ).getName() ); + assertEquals( "C", mines.get( 1 ).getName() ); + assertEquals( "A", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 3 ).getName() ); + + + + + // Reset and now sort with sortOrder and no -1: + mines = getTestMines(); // d, b, a, c + mines.get( 0 ).setSortOrder( 9 ); + mines.get( 1 ).setSortOrder( 7 ); + mines.get( 2 ).setSortOrder( 5 ); + mines.get( 3 ).setSortOrder( 3 ); + //mines.get( 1 ).setSortOrder( -1 ); + mines.get( 1 ).setTotalBlocksMined( 5 ); + mines.get( 3 ).setTotalBlocksMined( 1 ); + mines = getMines( MineSortOrder.sortOrder, mines ); + System.out.println( toString(mines, "After sortOrder:") ); + + assertEquals( "C", mines.get( 0 ).getName() ); + assertEquals( "A", mines.get( 1 ).getName() ); + assertEquals( "b", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 3 ).getName() ); + + + + + // Reset and now sort with sortOrder with a -1 on b: + mines = getTestMines(); // d, b, a, c + mines.get( 0 ).setSortOrder( 9 ); + mines.get( 1 ).setSortOrder( -1 ); + mines.get( 2 ).setSortOrder( 5 ); + mines.get( 3 ).setSortOrder( 3 ); + mines.get( 1 ).setTotalBlocksMined( 5 ); + mines.get( 3 ).setTotalBlocksMined( 1 ); + mines = getMines( MineSortOrder.sortOrder, mines ); + System.out.println( toString(mines, "After sortOrder:") ); + + assertEquals( "C", mines.get( 0 ).getName() ); + assertEquals( "A", mines.get( 1 ).getName() ); + // assertEquals( "b", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 2 ).getName() ); + + + // Reset and now sort with sortOrder with a -1 on b: + mines = getTestMines(); // d, b, a, c + mines.get( 0 ).setSortOrder( 9 ); + mines.get( 1 ).setSortOrder( -1 ); + mines.get( 2 ).setSortOrder( 5 ); + mines.get( 3 ).setSortOrder( 3 ); + mines.get( 3 ).setTotalBlocksMined( 5 ); + mines.get( 0 ).setTotalBlocksMined( 1 ); + mines = getMines( MineSortOrder.allSortOrder, mines ); + System.out.println( toString(mines, "After sortOrder including suppressed:") ); + + assertEquals( "b", mines.get( 0 ).getName() ); + assertEquals( "C", mines.get( 1 ).getName() ); + assertEquals( "A", mines.get( 2 ).getName() ); + assertEquals( "D", mines.get( 3 ).getName() ); + + } + +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index aaaab4c0b..9be04efa7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -2,7 +2,6 @@ import java.text.DecimalFormat; import java.util.List; -import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.bukkit.Bukkit; @@ -14,9 +13,10 @@ import tech.mcprison.prison.Prison; import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Block; import tech.mcprison.prison.mines.data.Mine; -import tech.mcprison.prison.mines.data.PrisonSortableMines; +import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -37,8 +37,9 @@ public void open(){ // Init the ItemStack // ItemStack itemMines; - // Get the mines - Set mines = new PrisonSortableMines().getSortedSet(); + // Get the mines - In sort order, minus any marked as suppressed + List mines = PrisonMines.getInstance().getMines( MineSortOrder.sortOrder ); +// Set mines = new PrisonSortableMines().getSortedSet(); // PrisonMines pMines = PrisonMines.getInstance(); // Get the dimensions and if needed increases them diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index 14d220c59..5b8bf4b2e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -1,7 +1,6 @@ package tech.mcprison.prison.spigot.gui.mine; import java.util.List; -import java.util.Set; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -10,8 +9,9 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Mine; -import tech.mcprison.prison.mines.data.PrisonSortableMines; +import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -29,8 +29,9 @@ public void open(){ // Init the ItemStack // ItemStack itemMines; - // Get the mines - Set mines = new PrisonSortableMines().getSortedSet(); + // Get the mines - In sort order, minus any marked as suppressed + List mines = PrisonMines.getInstance().getMines( MineSortOrder.sortOrder ); +// Set mines = new PrisonSortableMines().getSortedSet(); //PrisonMines pMines = PrisonMines.getInstance(); // Get the dimensions and if needed increases them From 050c8aaf47d1acbc1f6cf5241f0060b4634a2ad3 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Mon, 5 Oct 2020 19:26:06 +0200 Subject: [PATCH 019/243] New Mines Rename buttons for the Mines Info sub-GUI or /prison gui. Added to the commands list the mines rename command and added the template page which will be edited in the future like all the other ones Changelogs: - New Mines Rename Button in the MinesInfo Sub-GUI of Prison Gui. - Added to the commands list the /mines rename command. - New Editable messages for renaming rank tags or mines from the GUI, stored in the folder languages and the only file present for now. - Minor code changes. --- .../prison_docs_command_41_mines_rename.md | 24 +++++++ docs/prison_docs_000_toc.md | 1 + .../spigot/gui/ListenersPrisonManager.java | 64 ++++++++++++++----- .../spigot/gui/mine/SpigotMineInfoGUI.java | 28 +++++--- .../spigot/languages/GuiMessagesConfig.java | 7 ++ 5 files changed, 100 insertions(+), 24 deletions(-) create mode 100644 docs/docs-commands/prison_docs_command_41_mines_rename.md diff --git a/docs/docs-commands/prison_docs_command_41_mines_rename.md b/docs/docs-commands/prison_docs_command_41_mines_rename.md new file mode 100644 index 000000000..1e798a48b --- /dev/null +++ b/docs/docs-commands/prison_docs_command_41_mines_rename.md @@ -0,0 +1,24 @@ +### Prison Documentation - **WORK-IN-PROGRESS** +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +Short description of the command will be here + +## SubCommands: + +- List +- Of +- Sub +- Commands +- With +- Short +- Description + +## How to use the command + +### Command Format + +`/prison` + +**END of the command INFO** \ No newline at end of file diff --git a/docs/prison_docs_000_toc.md b/docs/prison_docs_000_toc.md index 0ff5444c0..dfbcd624f 100644 --- a/docs/prison_docs_000_toc.md +++ b/docs/prison_docs_000_toc.md @@ -76,6 +76,7 @@ - [/mines delete \[mineName\] \[confirm\] ](docs-commands/prison_docs_command_27_mines_delete.md) - [/mines info \[mineName\] \[page\] ](docs-commands/prison_docs_command_28_mines_info.md) - [/mines list \[page\] ](docs-commands/prison_docs_command_29_mines_list.md) +- [/mines rename \[page\] ](docs-commands/prison_docs_command_41_mines_rename.md) - [/mines reset \[mineName\] ](docs-commands/prison_docs_command_30_mines_reset.md) - [/mines set](docs-commands/prison_docs_command_31_mines_set.md) - [/mines stats](docs-commands/prison_docs_command_32_mines_stats.md) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 0a653b13a..ee8a25bef 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -52,6 +52,7 @@ import tech.mcprison.prison.spigot.gui.rank.SpigotRanksGUI; import tech.mcprison.prison.spigot.gui.sellall.SellAllAdminGUI; import tech.mcprison.prison.spigot.gui.sellall.SellAllPriceGUI; +import tech.mcprison.prison.spigot.languages.GuiMessagesConfig; /** @@ -64,7 +65,8 @@ public class ListenersPrisonManager implements Listener { public static List activeGui = new ArrayList<>(); public boolean isChatEventActive = false; public int id; - public String rankNameOfChat; + public String rankNameOfChat = null; + public String mineNameOfChat = null; public ListenersPrisonManager(){} @@ -100,14 +102,26 @@ public void onChat(AsyncPlayerChatEvent e) { Player p = e.getPlayer(); String message = e.getMessage(); Bukkit.getScheduler().cancelTask(id); - if (message.equalsIgnoreCase("close")){ - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; + if (rankNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } + } else if (mineNameOfChat != null){ + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRename mine closed, nothing got changed")); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } } } } @@ -840,15 +854,17 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { // Check the button name and do the actions } else if (buttonname.equalsIgnoreCase("RankTag")){ + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Send messages to the player - p.sendMessage(SpigotPrison.format("&7[&3Info&7] &3Please write the &6tag &3you'd like to use and &6submit&3.")); - p.sendMessage(SpigotPrison.format("&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3.")); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRename"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClose"))); // Start the async task isChatEventActive = true; rankNameOfChat = rankName; id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cYou ran out of time, tag not changed.")); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); }, 20L * 30); p.closeInventory(); } @@ -1036,12 +1052,12 @@ private void PlayerMinesGUI(Player p, String buttonNameMain) { private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { - // Output finally the buttonname and the minename explicit out of the array - String buttonname = parts[0]; + // Output finally the buttonName and the mineName explicit out of the array + String buttonName = parts[0]; String mineName = parts[1]; // Check the name of the button and do the actions - switch (buttonname) { + switch (buttonName) { case "Blocks_of_the_Mine:": // Open the GUI @@ -1113,6 +1129,24 @@ private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { gui2.open(); break; + case "Mine_Name": { + + Configuration messages = SpigotPrison.getGuiMessagesConfig(); + + // Send messages to the player + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRename"))); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClose"))); + // Start the async task + isChatEventActive = true; + mineNameOfChat = mineName; + id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + }, 20L * 30); + p.closeInventory(); + + break; + } } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index edfe8035b..49cfd16b8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -90,7 +90,7 @@ private void buttonsSetup(Inventory inv) { ); // Blocks of the mine button and lore - List blocksoftheminelore = createLore( + List blocksOfTheMineLore = createLore( messages.getString("Gui.Lore.ClickToOpen"), messages.getString("Gui.Lore.Blocks2")); @@ -100,8 +100,13 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ManageResetTime"), messages.getString("Gui.Lore.ResetTime") + mine.getResetTime()); + List mineRenameLore = createLore( + messages.getString("Gui.Lore.ClickToRename"), + messages.getString("Gui.Lore.MineName") + mineName + ); + // Create the button, set up the material, amount, lore and name - ItemStack resetmine = createButton(Material.EMERALD_BLOCK, 1, resetminelore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); + ItemStack resetMine = createButton(Material.EMERALD_BLOCK, 1, resetminelore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); // Create the button ItemStack MineSpawn = createButton(Material.COMPASS, 1, MineSpawnlore, SpigotPrison.format("&3" + "Mine_Spawn: " + mineName)); @@ -117,7 +122,7 @@ private void buttonsSetup(Inventory inv) { ItemStack MinesTP = createButton(bed, 1, MinesTpLore, SpigotPrison.format("&3" + "TP_to_the_Mine: " + mineName)); // Create the button, set up the material, amount, lore and name - ItemStack blocksofthemine = createButton(Material.COAL_ORE, 1, blocksoftheminelore, SpigotPrison.format("&3" + "Blocks_of_the_Mine: " + mineName)); + ItemStack blocksOfTheMine = createButton(Material.COAL_ORE, 1, blocksOfTheMineLore, SpigotPrison.format("&3" + "Blocks_of_the_Mine: " + mineName)); // Create the button, set up the material, amount, lore and name Material watch = Material.matchMaterial( "watch" ); @@ -128,23 +133,28 @@ private void buttonsSetup(Inventory inv) { } ItemStack mineResetTime = createButton(watch, 1, mineResetTimeLore, SpigotPrison.format("&3" + "Reset_Time: " + mineName)); + ItemStack mineRename = createButton(Material.FEATHER, 1, mineRenameLore, SpigotPrison.format("&3" + "Mine_Name: " + mineName)); + + // Position of the button + inv.setItem(10, resetMine); + // Position of the button - inv.setItem(10, resetmine); + inv.setItem(12, MineSpawn); // Position of the button - inv.setItem(13, MineSpawn); + inv.setItem(14, MinesNotifications); // Position of the button - inv.setItem(16, MinesNotifications); + inv.setItem(16, MinesTP); // Position of the button - inv.setItem(28, MinesTP); + inv.setItem(29, blocksOfTheMine); // Position of the button - inv.setItem(31, blocksofthemine); + inv.setItem(31, mineResetTime); // Position of the button - inv.setItem(34, mineResetTime); + inv.setItem(33, mineRename); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java index 48ef2265c..b3130b6ce 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java @@ -85,6 +85,7 @@ private void values(){ dataConfig("Gui.Lore.ClickToManageRank","&8Manage this rank."); dataConfig("Gui.Lore.ClickToManageCommands","&8Manage RankUPCommands."); dataConfig("Gui.Lore.ClickToOpen","&8Click to open."); + dataConfig("Gui.Lore.ClickToRename", "&8Click to rename."); dataConfig("Gui.Lore.ClickToTeleport","&8Click to teleport."); dataConfig("Gui.Lore.ClickToUse","&8Click to use."); dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); @@ -110,6 +111,7 @@ private void values(){ dataConfig("Gui.Lore.LeftClickToReset","&aLeft Click to reset"); dataConfig("Gui.Lore.ManageResetTime","&8Manage the reset time of Mine."); dataConfig("Gui.Lore.MinesButton","&8Mines GUI manager."); + dataConfig("Gui.Lore.MineName", "&3Mine Name: &f"); dataConfig("Gui.Lore.Name","&3Rank Name: &7"); dataConfig("Gui.Lore.Notifications","&8Edit Mines notifications."); dataConfig("Gui.Lore.PlayersWithTheRank","&3Players at rank: &7"); @@ -173,6 +175,11 @@ private void values(){ dataConfig("Gui.Message.ZeroBlocksReset1","&8Set a mine's delay "); dataConfig("Gui.Message.ZeroBlocksReset2","&8before reset when it "); dataConfig("Gui.Message.ZeroBlocksReset3","&8reaches zero blocks."); + dataConfig("Gui.Message.mineNameRename", "&7[&3Info&7] &3Please write the &6mineName &3you'd like to use and &6submit&3."); + dataConfig("Gui.Message.mineNameRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); + dataConfig("Gui.Message.OutOfTimeNoChanges", "&cYou ran out of time, nothing changed."); + dataConfig("Gui.Message.rankTagRename", "&7[&3Info&7] &3Please write the &6tag &3you'd like to use and &6submit&3."); + dataConfig("Gui.Message.rankTagRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); } public FileConfiguration getFileGuiMessagesConfig(){ From 0f469e533dfffb02d44de1ba3d5e38dbba76ccb0 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 6 Oct 2020 00:48:29 -0400 Subject: [PATCH 020/243] Fixed a bunch of stacktraces on mc 1.8.8 on windows. The problem was that it was unable to create the required parent directory, so changed it to use the command that would create all missing directories instead of just the last one. --- .../mcprison/prison/spigot/languages/GuiMessagesConfig.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java index b3130b6ce..3ce1877d6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java @@ -36,7 +36,9 @@ private void dataConfig(String path, String string){ // Check if the config exists if(!file.exists()){ try { - file.mkdir(); + File parentDir = file.getParentFile(); + parentDir.mkdirs(); + file.createNewFile(); conf = YamlConfiguration.loadConfiguration(file); conf.set(path, SpigotPrison.format(string)); From 51619d38cadb22bba8402db85e9b65b3f9edc7f3 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 6 Oct 2020 00:57:34 -0400 Subject: [PATCH 021/243] Updated the sorting of mines to simplify the sorting. Now the sort types either include or exclude the mines. There are no sort types that include all mines. But the function that performs the sorting based upon the sort type returns a collection that contains the included mines (sortOrder >= 0) and also a second collection that contains the excluded mines (sortOrder == -1). The returned object, PrisonSortableResults, has helper functions to simplify integration in to the /mines list command. --- changelog_v3.2.x.md | 31 ++++- .../mcprison/prison/mines/PrisonMines.java | 3 +- .../prison/mines/commands/MinesCommands.java | 63 ++++++---- .../tech/mcprison/prison/mines/data/Mine.java | 5 + .../mines/data/PrisonSortableResults.java | 73 ++++++++++++ .../prison/mines/managers/MineManager.java | 58 +++++---- .../mines/managers/MineManagerTest.java | 110 +++++++++--------- .../spigot/gui/mine/SpigotMinesGUI.java | 7 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 7 +- 9 files changed, 248 insertions(+), 109 deletions(-) create mode 100644 prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableResults.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index ff013ea36..f6e3c6143 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,27 @@ that you need. -## tag v3.2.2-alpha.1 - 2020-10-02 +## tag v3.2.2-alpha.1 - 2020-10-06 + + +* **Updated the sorting of mines to simplify the sorting.** +Now the sort types either include or exclude the mines. There are no sort types that include all mines. But the function that performs the sorting based upon the sort type returns a collection that contains the included mines (sortOrder >= 0) and also a second collection that contains the excluded mines (sortOrder == -1). +The returned object, PrisonSortableResults, has helper functions to simplify integration in to the /mines list command. +The /mines list command now shows how many mines are included and excluded in that listing, and identifies what the other sort types will display the suppressed mines. + + + +* **New Feature: Setup the complex sorting on mines.** +Mines can now be assigned a sort order, with even suppressing mines from being included in the output. +Mines list can now be sorted in six different orders: alpha, active, and now sortOrder (user defined order), all of which suppresses mines with a -1 for the sort orders. Plus those but with including the suppressed mines. +The default being sortOrder, but if no mines have been configured, then they all will have a sortOrder == 0, and then all will be sorted alphabetically within that grouping. +Changed the prison's GUI to display mines in the sortOrder, with suppression of the -1 sortOrder values. +Added a junit test to test the generated sorting orders since they can be rather complex and should be tested at compile time that they are correct. +Note: In adding this new sorting, found where the bug was where the actual internal sort order was being altered. This is no longer the case and is fixed. + + +* **New Feature: Added Mine Tag Names and 8 new placeholders to support them.** +This is required for the future changes to support linking mines and ranks. * **New Feature: Rename Mines. Bug Fix: Delete Mines.** @@ -41,6 +61,7 @@ for example the name of the GUI messages file should be `GUI-en_US.yml` by defau it'll be generated anyway using the default config as the model so it won't break the plugin, then you can translate it later or edit the config to the correct one. + * **New feature: added some new 1.14 and 1.15 blocks** Added some more new blocks since some of the 1.16 blocks appear to work in most circumstances. Use at your own risk. @@ -51,6 +72,9 @@ SMITHING_TABLE, SMOKER, STONECUTTER, SWEET_BERRY_BUSH v1.15 : BEE_NEST, BEEHIVE, HONEY_BLOCK, HONEYCOMB_BLOCK +* **Prison_v3.2.2-alpha.1c - 2020-10-01** + + * **Added a few v1.16 block types.** Not sure if they will actually work. Obviously will never work with mc versions < 1.16. Use at own risk. ANCIENT_DEBRIS CRYING_OBSIDIAN NETHER_GOLD_ORE BASALT POLISHED_BASALT @@ -66,12 +90,17 @@ SOUL_LANTERN SOUL_TORCH SOUL_SOIL TARGET TWISTING_VINES WEAPING_VINES since this is an item and not a block. Added support so if it is found in a mine upon server startup, it will change it to a double_nether_brick_slab. +* **Prison_v3.2.2-alpha.1b - 2020-09-29** + + * **Bug fix: Prison was allowing the material REDSTONE to be added to mines.** This caused a failure during mine resets since that is not a valid block. That is redstone dust! Fixed it so upon server startup, it will auto detect the use of this item in mines and convert it to REDSTONE_ORE. Thus the mine will work and won't disable the mine. Also I changed the BlockType to Item so it's still there, but it cannot be presented as a block in the /mines block search tool. + + * **Set new version to v3.2.2-alpha.1** 2020-09-27 diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java index 61f78b9f9..acafe4bf0 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java @@ -33,6 +33,7 @@ import tech.mcprison.prison.mines.commands.MinesCommands; import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.MinesConfig; +import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.mines.managers.PlayerManager; @@ -234,7 +235,7 @@ public List getMines() { return getMineManager().getMines(); } - public List getMines( MineSortOrder sortOrder ) { + public PrisonSortableResults getMines( MineSortOrder sortOrder ) { return getMineManager().getMines( sortOrder ); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index d55db129d..8711ce6a2 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -43,6 +43,7 @@ import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.MineData; import tech.mcprison.prison.mines.data.MineData.MineNotificationMode; +import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.output.BulletedListComponent; @@ -1192,7 +1193,7 @@ public void resetCommand(CommandSender sender, public void listCommand(CommandSender sender, @Arg(name = "sort", def = "sortOrder", description = "Sort the list by either alpha or active [" + - "sortOrder alpha active allSortOrder allAlpha allActive" + + "sortOrder alpha active xSortOrder xAlpha xActive" + "]. Most active mines are based upon blocks mined since server restart.") String sort, @Arg(name = "page", def = "1", @@ -1203,38 +1204,48 @@ public void listCommand(CommandSender sender, Player player = getPlayer( sender ); MineSortOrder sortOrder = MineSortOrder.fromString( sort ); + Output.get().logInfo( "### mine sort " + sort + " " + sortOrder.name() ); // If sort was invalid, double check to see if it is a page number or ALL: - if ( sortOrder == MineSortOrder.invalid && sort != null ) { - if ( "ALL".equalsIgnoreCase( sort )) { + if ( sortOrder == MineSortOrder.invalid ) { + sortOrder = MineSortOrder.sortOrder; + + if ( sort != null && "ALL".equalsIgnoreCase( sort )) { // The user did not specify a sort order, but instead this is the page number // so fix it for them: - sortOrder = MineSortOrder.sortOrder; page = "ALL"; } - else { + else if ( sort != null ) { try { int test = Integer.parseInt( sort ); // This is actually the page number so default to alpha sort: - sortOrder = MineSortOrder.sortOrder; page = Integer.toString( test ); } catch ( NumberFormatException e ) { // Oof... this isn't a page number, so report an error. - sender.sendMessage( "Invalid sort order. Use either alpha, " + - "active, or a page number such as [1-n, ALL]" ); + sender.sendMessage( "Invalid sort order. Use a valid sort order " + + "or a page number such as [1-n, ALL]" ); } } } - PrisonMines pMines = PrisonMines.getInstance(); MineManager mMan = pMines.getMineManager(); // Get mines in the correct sorted order and suppress the mines if they should - List mineList = pMines.getMines( sortOrder ); + PrisonSortableResults sortedMines = pMines.getMines( sortOrder ); + + display.text( "&3 Mines listed: &7%s &3Mines suppressed: &7%s", + sortedMines.getSortedList().size(), + sortedMines.getSortedSuppressedList().size()); + + if ( sortedMines.getSortedSuppressedList().size() > 0 ) { + display.text( "&8To view suppressed mines sort by: %s", + sortedMines.getSuppressedListSortTypes() ); + } + // // Sort first by name, then blocks mined so final sort order will be: // // Most blocks mined, then alphabetical @@ -1246,11 +1257,11 @@ public void listCommand(CommandSender sender, // } CommandPagedData cmdPageData = new CommandPagedData( - "/mines list " + sort, mineList.size(), + "/mines list " + sortOrder.name(), sortedMines.getSortedList().size(), 0, page, 7 ); BulletedListComponent list = - getMinesLineItemList(mineList, player, cmdPageData, mMan.isMineStats()); + getMinesLineItemList(sortedMines, player, cmdPageData, mMan.isMineStats()); display.addComponent(list); @@ -1261,7 +1272,7 @@ public void listCommand(CommandSender sender, } - private BulletedListComponent getMinesLineItemList( List mines, Player player, + private BulletedListComponent getMinesLineItemList( PrisonSortableResults sortedMines, Player player, CommandPagedData cmdPageData, boolean isMineStatsEnabled ) { BulletedListComponent.BulletedListBuilder builder = @@ -1272,7 +1283,7 @@ private BulletedListComponent getMinesLineItemList( List mines, Player pla int count = 0; - for (Mine m : mines) { + for (Mine m : sortedMines.getSortedList()) { if ( cmdPageData == null || count++ >= cmdPageData.getPageStart() && count <= cmdPageData.getPageEnd() ) { @@ -1281,21 +1292,25 @@ private BulletedListComponent getMinesLineItemList( List mines, Player pla //row.addTextComponent( m.getWorldName() + " " ); - row.addFancy( - new FancyMessage( String.format("&3Mine: &7%s ", m.getName()) ) - .command("/mines info " + m.getName()) - .tooltip("&7Click to view info.")); - - if ( m.getSortOrder() >= 0 ) { - String sortMessage = m.getSortOrder() == -1 ? "suppressed" : - Integer.toString( m.getSortOrder() ); + if ( m.getSortOrder() < 0 ) { row.addFancy( - new FancyMessage( String.format("&7%s ", - sortMessage) ) + new FancyMessage( String.format("&3(&b%s&3) ", + "X") ) + .tooltip("&7Sort order: Suppressed")); + } + else { + row.addFancy( + new FancyMessage( String.format("&3(&b%s&3) ", + Integer.toString( m.getSortOrder() )) ) .tooltip("&7Sort order.")); } + row.addFancy( + new FancyMessage( String.format("&3Mine: &7%s ", m.getName()) ) + .command("/mines info " + m.getName()) + .tooltip("&7Click to view info.")); + if ( m.getTag() != null && m.getTag().trim().length() > 0 ) { row.addTextComponent( "%s ", m.getTag() ); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 3a395d614..748641a80 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -472,6 +472,11 @@ public Document toDocument() { return ret; } + @Override + public String toString() { + return getName() + " " + getTotalBlocksMined(); + } + private Location getLocation(Document doc, World world, String x, String y, String z) { return new Location(world, (double) doc.get(x), (double) doc.get(y), (double) doc.get(z)); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableResults.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableResults.java new file mode 100644 index 000000000..1c7817c26 --- /dev/null +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableResults.java @@ -0,0 +1,73 @@ +package tech.mcprison.prison.mines.data; + +import java.util.ArrayList; +import java.util.List; + +import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; + +public class PrisonSortableResults { + private List include = new ArrayList<>(); + private List exclude = new ArrayList<>(); + + private MineSortOrder sortOrder; + + public PrisonSortableResults( MineSortOrder sortOrder ) { + this.sortOrder = sortOrder; + } + + /** + *

This function, based upon the provided MineSortOrder, returns + * the correct list of mines either included, or excluded. + *

+ * + * @return + */ + public List getSortedList() { + return sortOrder.isExcluded() ? + getExclude() : + getInclude(); + } + public List getSortedSuppressedList() { + return !sortOrder.isExcluded() ? + getExclude() : + getInclude(); + } + + + public String getSuppressedListSortTypes() { + StringBuilder sb = new StringBuilder(); + + for ( MineSortOrder so : MineSortOrder.values() ) { + if ( so != MineSortOrder.invalid && getSortOrder().isExcluded() != so.isExcluded() ) { + if ( sb.length() > 0 ) { + sb.append( " " ); + } + sb.append( so.name() ); + } + } + + return sb.toString(); + } + + + public List getInclude() { + return include; + } + public void setInclude( List include ) { + this.include = include; + } + + public List getExclude() { + return exclude; + } + public void setExclude( List exclude ) { + this.exclude = exclude; + } + + public MineSortOrder getSortOrder() { + return sortOrder; + } + public void setSortOrder( MineSortOrder sortOrder ) { + this.sortOrder = sortOrder; + } +} diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java index 4f0e05d1d..7e06ed7b7 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java @@ -35,6 +35,7 @@ import tech.mcprison.prison.internal.World; import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Mine; +import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.store.Collection; import tech.mcprison.prison.store.Document; @@ -72,30 +73,30 @@ public enum MineSortOrder { alpha, active, - allSortOrder(true), - allAlpha(true), - allActive(true), + xSortOrder(true), + xAlpha(true), + xActive(true), invalid; - private final boolean includeSuppressed; + private final boolean excluded; - private MineSortOrder( boolean includeSuppressed ) { - this.includeSuppressed = includeSuppressed; + private MineSortOrder( boolean excluded ) { + this.excluded = excluded; } private MineSortOrder() { this(false); } - public boolean isIncludeSuppressed() { - return includeSuppressed; + public boolean isExcluded() { + return excluded; } public static MineSortOrder fromString( String sortOrder ) { MineSortOrder results = MineSortOrder.invalid; - if ( sortOrder != null && sortOrder.trim().length() == 0 ) { + if ( sortOrder != null && sortOrder.trim().length() > 0 ) { for ( MineSortOrder so : values() ) { if ( so.name().equalsIgnoreCase( sortOrder ) ) { results = so; @@ -123,8 +124,7 @@ static String availableSortOrders() { return sb.toString(); } } - - + /** *

MineManager must be fully instantiated prior to trying to load the mines, * otherwise if the mines cannot find the world they should be, they will be @@ -319,30 +319,42 @@ public List getMines() { return mines; } - public List getMines( MineSortOrder sortOrder ) { + public PrisonSortableResults getMines( MineSortOrder sortOrder ) { return getMines( sortOrder, getMines() ); } - protected List getMines( MineSortOrder sortOrder, List mines ) { - List results = new ArrayList<>(); + protected PrisonSortableResults getMines( MineSortOrder sortOrder, List mines ) { + PrisonSortableResults results = new PrisonSortableResults( sortOrder ); + + + // if invalid, then that's invalid, so default to sortOrder: + if ( sortOrder == MineSortOrder.invalid ) { + sortOrder = MineSortOrder.sortOrder; + } + for ( Mine mine : mines ) { - if ( sortOrder.isIncludeSuppressed() || - !sortOrder.isIncludeSuppressed() && mine.getSortOrder() >= 0) { - results.add( mine ); + if ( mine.getSortOrder() < 0 ) { + results.getExclude().add( mine ); + } + else { + results.getInclude().add( mine ); } } - + // Sort first by name, then by other means if needed: - results.sort( (a, b) -> a.getName().compareToIgnoreCase( b.getName()) ); + results.getInclude().sort( (a, b) -> a.getName().compareToIgnoreCase( b.getName()) ); + results.getExclude().sort( (a, b) -> a.getName().compareToIgnoreCase( b.getName()) ); - if ( sortOrder == MineSortOrder.sortOrder || sortOrder == MineSortOrder.allSortOrder ) { - results.sort( (a, b) -> Integer.compare( a.getSortOrder(), b.getSortOrder()) ); + if ( sortOrder == MineSortOrder.sortOrder || sortOrder == MineSortOrder.xSortOrder ) { + results.getInclude().sort( (a, b) -> Integer.compare( a.getSortOrder(), b.getSortOrder()) ); + results.getExclude().sort( (a, b) -> Integer.compare( a.getSortOrder(), b.getSortOrder()) ); } // for now hold off on sorting by total blocks mined. - else if ( sortOrder == MineSortOrder.active || sortOrder == MineSortOrder.allActive ) { - results.sort( (a, b) -> Long.compare(b.getTotalBlocksMined(), a.getTotalBlocksMined()) ); + else if ( sortOrder == MineSortOrder.active || sortOrder == MineSortOrder.xActive ) { + results.getInclude().sort( (a, b) -> Long.compare(b.getTotalBlocksMined(), a.getTotalBlocksMined()) ); + results.getExclude().sort( (a, b) -> Long.compare(b.getTotalBlocksMined(), a.getTotalBlocksMined()) ); } return results; diff --git a/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java b/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java index 1d44bc0ea..7851dd110 100644 --- a/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java +++ b/prison-mines/src/test/java/tech/mcprison/prison/mines/managers/MineManagerTest.java @@ -8,6 +8,7 @@ import org.junit.Test; import tech.mcprison.prison.mines.data.Mine; +import tech.mcprison.prison.mines.data.PrisonSortableResults; public class MineManagerTest extends @@ -53,6 +54,7 @@ public String toString(List mines, String desc ) { public void testGetMinesMineSortOrderListOfMine() { List mines = getTestMines(); + // check to make sure the mines are in an unsorted order: assertEquals( "D", mines.get( 0 ).getName() ); assertEquals( "b", mines.get( 1 ).getName() ); @@ -62,38 +64,38 @@ public void testGetMinesMineSortOrderListOfMine() { System.out.println( toString(mines, "Before sort:") ); // sort by alpha and confirm: - mines = getMines( MineSortOrder.alpha, mines ); - System.out.println( toString(mines, "After alpha:") ); + PrisonSortableResults sorted = getMines( MineSortOrder.alpha, mines ); + System.out.println( toString(sorted.getSortedList(), "After alpha:") ); - assertEquals( "A", mines.get( 0 ).getName() ); - assertEquals( "b", mines.get( 1 ).getName() ); - assertEquals( "C", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 3 ).getName() ); + assertEquals( "A", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "b", sorted.getSortedList().get( 1 ).getName() ); + assertEquals( "C", sorted.getSortedList().get( 2 ).getName() ); + assertEquals( "D", sorted.getSortedList().get( 3 ).getName() ); // Set mine b to sortOrder -1 so it is not included in alpha sort: mines.get( 1 ).setSortOrder( -1 ); // Resort with alpha and b should not be included: - mines = getMines( MineSortOrder.alpha, mines ); - System.out.println( toString(mines, "After alpha without b:") ); + sorted = getMines( MineSortOrder.alpha, sorted.getSortedList() ); + System.out.println( toString(sorted.getSortedList(), "After alpha without b:") ); // Without mine b: - assertEquals( "A", mines.get( 0 ).getName() ); - // assertEquals( "b", mines.get( 1 ).getName() ); - assertEquals( "C", mines.get( 1 ).getName() ); - assertEquals( "D", mines.get( 2 ).getName() ); + assertEquals( "A", sorted.getSortedList().get( 0 ).getName() ); + // assertEquals( "b", sorted.getSortedList().get( 1 ).getName() ); + assertEquals( "C", sorted.getSortedList().get( 1 ).getName() ); + assertEquals( "D", sorted.getSortedList().get( 2 ).getName() ); // Reset and now sort with alphaAll: mines = getTestMines(); // d, b, a, c mines.get( 1 ).setSortOrder( -1 ); - mines = getMines( MineSortOrder.allAlpha, mines ); - System.out.println( toString(mines, "After allAlpha with all:") ); + sorted = getMines( MineSortOrder.xAlpha, mines ); + System.out.println( toString(sorted.getSortedList(), "After xAlpha with only the excluded:") ); - assertEquals( "A", mines.get( 0 ).getName() ); - assertEquals( "b", mines.get( 1 ).getName() ); - assertEquals( "C", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 3 ).getName() ); +// assertEquals( "A", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "b", sorted.getSortedList().get( 0 ).getName() ); +// assertEquals( "C", sorted.getSortedList().get( 2 ).getName() ); +// assertEquals( "D", sorted.getSortedList().get( 3 ).getName() ); // Reset and now sort with active: @@ -101,13 +103,13 @@ public void testGetMinesMineSortOrderListOfMine() { //mines.get( 1 ).setSortOrder( -1 ); mines.get( 1 ).setTotalBlocksMined( 5 ); // b mines.get( 3 ).setTotalBlocksMined( 1 ); // C - mines = getMines( MineSortOrder.active, mines ); - System.out.println( toString(mines, "After active:") ); + sorted = getMines( MineSortOrder.active, mines ); + System.out.println( toString(sorted.getSortedList(), "After active:") ); - assertEquals( "b", mines.get( 0 ).getName() ); - assertEquals( "C", mines.get( 1 ).getName() ); - assertEquals( "A", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 3 ).getName() ); + assertEquals( "b", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "C", sorted.getSortedList().get( 1 ).getName() ); + assertEquals( "A", sorted.getSortedList().get( 2 ).getName() ); + assertEquals( "D", sorted.getSortedList().get( 3 ).getName() ); // Reset and now sort with active: @@ -115,13 +117,13 @@ public void testGetMinesMineSortOrderListOfMine() { mines.get( 1 ).setSortOrder( -1 ); mines.get( 1 ).setTotalBlocksMined( 5 ); mines.get( 3 ).setTotalBlocksMined( 1 ); - mines = getMines( MineSortOrder.active, mines ); - System.out.println( toString(mines, "After active & suppress:") ); + sorted = getMines( MineSortOrder.active, mines ); + System.out.println( toString(sorted.getSortedList(), "After active & suppress:") ); - // assertEquals( "b", mines.get( 0 ).getName() ); - assertEquals( "C", mines.get( 0 ).getName() ); - assertEquals( "A", mines.get( 1 ).getName() ); - assertEquals( "D", mines.get( 2 ).getName() ); + // assertEquals( "b", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "C", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "A", sorted.getSortedList().get( 1 ).getName() ); + assertEquals( "D", sorted.getSortedList().get( 2 ).getName() ); @@ -130,13 +132,13 @@ public void testGetMinesMineSortOrderListOfMine() { mines.get( 1 ).setSortOrder( -1 ); mines.get( 1 ).setTotalBlocksMined( 5 ); mines.get( 3 ).setTotalBlocksMined( 1 ); - mines = getMines( MineSortOrder.allActive, mines ); - System.out.println( toString(mines, "After allActive:") ); + sorted = getMines( MineSortOrder.xActive, mines ); + System.out.println( toString(sorted.getSortedList(), "After xActive:") ); - assertEquals( "b", mines.get( 0 ).getName() ); - assertEquals( "C", mines.get( 1 ).getName() ); - assertEquals( "A", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 3 ).getName() ); + assertEquals( "b", sorted.getSortedList().get( 0 ).getName() ); +// assertEquals( "C", sorted.getSortedList().get( 1 ).getName() ); +// assertEquals( "A", sorted.getSortedList().get( 2 ).getName() ); +// assertEquals( "D", sorted.getSortedList().get( 3 ).getName() ); @@ -150,13 +152,13 @@ public void testGetMinesMineSortOrderListOfMine() { //mines.get( 1 ).setSortOrder( -1 ); mines.get( 1 ).setTotalBlocksMined( 5 ); mines.get( 3 ).setTotalBlocksMined( 1 ); - mines = getMines( MineSortOrder.sortOrder, mines ); - System.out.println( toString(mines, "After sortOrder:") ); + sorted = getMines( MineSortOrder.sortOrder, mines ); + System.out.println( toString(sorted.getSortedList(), "After sortOrder:") ); - assertEquals( "C", mines.get( 0 ).getName() ); - assertEquals( "A", mines.get( 1 ).getName() ); - assertEquals( "b", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 3 ).getName() ); + assertEquals( "C", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "A", sorted.getSortedList().get( 1 ).getName() ); + assertEquals( "b", sorted.getSortedList().get( 2 ).getName() ); + assertEquals( "D", sorted.getSortedList().get( 3 ).getName() ); @@ -169,13 +171,13 @@ public void testGetMinesMineSortOrderListOfMine() { mines.get( 3 ).setSortOrder( 3 ); mines.get( 1 ).setTotalBlocksMined( 5 ); mines.get( 3 ).setTotalBlocksMined( 1 ); - mines = getMines( MineSortOrder.sortOrder, mines ); - System.out.println( toString(mines, "After sortOrder:") ); + sorted = getMines( MineSortOrder.sortOrder, mines ); + System.out.println( toString(sorted.getSortedList(), "After sortOrder:") ); - assertEquals( "C", mines.get( 0 ).getName() ); - assertEquals( "A", mines.get( 1 ).getName() ); - // assertEquals( "b", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 2 ).getName() ); + assertEquals( "C", sorted.getSortedList().get( 0 ).getName() ); + assertEquals( "A", sorted.getSortedList().get( 1 ).getName() ); + // assertEquals( "b", sorted.getSortedList().get( 2 ).getName() ); + assertEquals( "D", sorted.getSortedList().get( 2 ).getName() ); // Reset and now sort with sortOrder with a -1 on b: @@ -186,13 +188,13 @@ public void testGetMinesMineSortOrderListOfMine() { mines.get( 3 ).setSortOrder( 3 ); mines.get( 3 ).setTotalBlocksMined( 5 ); mines.get( 0 ).setTotalBlocksMined( 1 ); - mines = getMines( MineSortOrder.allSortOrder, mines ); - System.out.println( toString(mines, "After sortOrder including suppressed:") ); + sorted = getMines( MineSortOrder.xSortOrder, mines ); + System.out.println( toString(sorted.getSortedList(), "After xSortOrder:") ); - assertEquals( "b", mines.get( 0 ).getName() ); - assertEquals( "C", mines.get( 1 ).getName() ); - assertEquals( "A", mines.get( 2 ).getName() ); - assertEquals( "D", mines.get( 3 ).getName() ); + assertEquals( "b", sorted.getSortedList().get( 0 ).getName() ); +// assertEquals( "C", sorted.getSortedList().get( 1 ).getName() ); +// assertEquals( "A", sorted.getSortedList().get( 2 ).getName() ); +// assertEquals( "D", sorted.getSortedList().get( 3 ).getName() ); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 9be04efa7..6b2abcf0c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -16,6 +16,7 @@ import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Block; import tech.mcprison.prison.mines.data.Mine; +import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; @@ -38,12 +39,12 @@ public void open(){ // ItemStack itemMines; // Get the mines - In sort order, minus any marked as suppressed - List mines = PrisonMines.getInstance().getMines( MineSortOrder.sortOrder ); + PrisonSortableResults mines = PrisonMines.getInstance().getMines( MineSortOrder.sortOrder ); // Set mines = new PrisonSortableMines().getSortedSet(); // PrisonMines pMines = PrisonMines.getInstance(); // Get the dimensions and if needed increases them - int dimension = (int) Math.ceil(mines.size() / 9D) * 9; + int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config Configuration messages = SpigotPrison.getGuiMessagesConfig(); @@ -66,7 +67,7 @@ public void open(){ Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MinesManager -> Mines")); // Make the buttons for every Mine with info - for (Mine m : mines ) { + for (Mine m : mines.getSortedList() ) { if (guiBuilder(inv, m)) return; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index 5b8bf4b2e..c5555c6d6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -11,6 +11,7 @@ import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Mine; +import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; @@ -30,12 +31,12 @@ public void open(){ // ItemStack itemMines; // Get the mines - In sort order, minus any marked as suppressed - List mines = PrisonMines.getInstance().getMines( MineSortOrder.sortOrder ); + PrisonSortableResults mines = PrisonMines.getInstance().getMines( MineSortOrder.sortOrder ); // Set mines = new PrisonSortableMines().getSortedSet(); //PrisonMines pMines = PrisonMines.getInstance(); // Get the dimensions and if needed increases them - int dimension = (int) Math.ceil(mines.size() / 9D) * 9; + int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); @@ -59,7 +60,7 @@ public void open(){ Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Mines -> PlayerMines")); // Make the buttons for every Mine with info - for (Mine m : mines) { + for (Mine m : mines.getSortedList()) { // Init the lore array with default values for ladders List minesLore = createLore( From 026cee21a21932d5e838db8ef50f461c1bfd6bce Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 6 Oct 2020 00:58:37 -0400 Subject: [PATCH 022/243] Changed the version to v3.2.2-alpha.2 --- changelog_v3.2.x.md | 3 +++ gradle.properties | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index f6e3c6143..7d08e2104 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -12,6 +12,9 @@ that you need. ## tag v3.2.2-alpha.1 - 2020-10-06 +* **v3.2.2-alpha.2 - 2020-10-06** + + * **Updated the sorting of mines to simplify the sorting.** Now the sort types either include or exclude the mines. There are no sort types that include all mines. But the function that performs the sorting based upon the sort type returns a collection that contains the included mines (sortOrder >= 0) and also a second collection that contains the excluded mines (sortOrder == -1). The returned object, PrisonSortableResults, has helper functions to simplify integration in to the /mines list command. diff --git a/gradle.properties b/gradle.properties index 9b404a73e..580a4fead 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.1 +version=3.2.2-alpha.2 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From ad2c9ea2c824a54749633fad0ccaf63fbd32637b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 6 Oct 2020 19:37:16 -0400 Subject: [PATCH 023/243] Bug Fix: A config file was being loaded many times to build one gui page. Moved the config to a class variable so it would only be loaded once. This reduced the opening of a 39 mine GUI from 5.5 seconds down to 6 milliseconds for the offending function call. --- changelog_v3.2.x.md | 5 +++++ .../spigot/gui/autofeatures/SpigotAutoBlockGUI.java | 5 ++--- .../prison/spigot/gui/mine/SpigotMinesBlocksGUI.java | 9 ++++++--- .../mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java | 8 ++++++-- .../prison/spigot/gui/mine/SpigotPlayerMinesGUI.java | 7 +++++-- .../prison/spigot/gui/rank/SpigotLaddersGUI.java | 6 ++++-- .../prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java | 6 ++++-- .../mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java | 6 ++++-- 8 files changed, 36 insertions(+), 16 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 7d08e2104..61a9a3090 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -12,6 +12,11 @@ that you need. ## tag v3.2.2-alpha.1 - 2020-10-06 +* **Bug Fix: A config file was being loaded many times to build one gui page.** +Moved the config to a class variable so it would only be loaded once. +This reduced the opening of a 39 mine GUI from 5.5 seconds down to 6 milliseconds for the offending function call. + + * **v3.2.2-alpha.2 - 2020-10-06** diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 725b862fe..6f21bca68 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -1,5 +1,7 @@ package tech.mcprison.prison.spigot.gui.autofeatures; +import java.util.List; + import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -10,12 +12,9 @@ import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig; import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig.AutoFeatures; import tech.mcprison.prison.spigot.SpigotPrison; -import tech.mcprison.prison.spigot.gui.GUIListener; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; -import java.util.List; - /** * @author GABRYCA */ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index cd96ebe36..8051eb91d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -25,6 +25,8 @@ public class SpigotMinesBlocksGUI extends SpigotGUIComponents { private final Player p; private final String mineName; + + private Configuration messages = null; public SpigotMinesBlocksGUI(Player p, String mineName){ this.p = p; @@ -50,7 +52,7 @@ public void open(){ } // Load config - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ @@ -143,7 +145,8 @@ private boolean guiBuilder(Inventory inv, Block block, String blockmaterial, Str private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Don't load this every time a button is created.... making it a class variable: + //Configuration messages = SpigotPrison.getGuiMessagesConfig(); // Create the lore List blockslore = createLore( @@ -179,7 +182,7 @@ private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial private void buttonsSetup(Inventory inv, Block block, String blockmaterial, String blockmaterialdisplay) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + //Configuration messages = SpigotPrison.getGuiMessagesConfig(); // Create the lore List blockslore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 6b2abcf0c..eff403994 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -18,6 +18,7 @@ import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; +import tech.mcprison.prison.output.Output; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -28,6 +29,8 @@ public class SpigotMinesGUI extends SpigotGUIComponents { private final Player p; + + private Configuration messages = null; public SpigotMinesGUI(Player p) { this.p = p; @@ -47,7 +50,7 @@ public void open(){ int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ @@ -91,7 +94,8 @@ private boolean guiBuilder(Inventory inv, Mine m) { private void buttonsSetup(Inventory inv, Mine m) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Don't load this every time a button is created.... making it a class variable: + // Configuration messages = SpigotPrison.getGuiMessagesConfig(); ItemStack itemMines; // Init the lore array with default values for ladders diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index c5555c6d6..923a5c848 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -20,6 +20,8 @@ public class SpigotPlayerMinesGUI extends SpigotGUIComponents { private final Player p; + + private Configuration messages = null; public SpigotPlayerMinesGUI(Player p) { this.p = p; @@ -40,7 +42,7 @@ public void open(){ // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ @@ -88,7 +90,8 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m, List< private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m, List minesLore) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + // Don't load this every time a button is created.... making it a class variable: + // Configuration messages = SpigotPrison.getGuiMessagesConfig(); ItemStack itemMines; Material material; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index f069cb179..7c0af10da 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -22,6 +22,8 @@ public class SpigotLaddersGUI extends SpigotGUIComponents { private final Player p; + + private Configuration messages = null; public SpigotLaddersGUI(Player p){ this.p = p; @@ -43,7 +45,7 @@ public void open(){ // Get the dimensions and if needed increases them int dimension = (int) Math.ceil(lm.getLadders().size() / 9D) * 9; - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getGuiMessagesConfig(); // If the inventory is empty if (dimension == 0){ @@ -87,7 +89,7 @@ private boolean guiBuilder(Inventory inv, RankLadder ladder) { private void buttonsSetup(Inventory inv, RankLadder ladder) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + //Configuration messages = SpigotPrison.getGuiMessagesConfig(); ItemStack itemLadder; // Init the lore array with default values for ladders diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 90b676e02..587c86c2a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -21,6 +21,8 @@ public class SpigotRankUPCommandsGUI extends SpigotGUIComponents { private final Player p; private final Rank rank; + + private Configuration messages = null; public SpigotRankUPCommandsGUI(Player p, Rank rank) { this.p = p; @@ -38,7 +40,7 @@ public void open() { } // Load config - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getGuiMessagesConfig(); if (rank.rankUpCommands.size() == 0){ p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRankupCommands"))); @@ -92,7 +94,7 @@ private boolean guiBuilder(Inventory inv, String command) { private void buttonsSetup(Inventory inv, String command) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + //Configuration messages = SpigotPrison.getGuiMessagesConfig(); ItemStack itemCommand; // Init the lore array with default values for ladders diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index 781dd444c..beeb3185a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -27,6 +27,8 @@ public class SpigotRanksGUI extends SpigotGUIComponents { private final Player p; private final Optional ladder; + + private Configuration messages = null; public SpigotRanksGUI(Player p, Optional ladder) { this.p = p; @@ -46,7 +48,7 @@ public void open() { } // Load config - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getGuiMessagesConfig(); // Get the dimensions and if needed increases them if (ladder.isPresent() && !(ladder.get().ranks.size() == 0)) { @@ -104,7 +106,7 @@ private boolean guiBuilder(Inventory inv, Optional rankOptional) { private void buttonsSetup(Inventory inv, Optional rankOptional) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); +// Configuration messages = SpigotPrison.getGuiMessagesConfig(); ItemStack itemRank; // Init the lore array with default values for ladders From 0c444add96835a6b01839b6c1429ee5ce8aec157 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 6 Oct 2020 19:37:47 -0400 Subject: [PATCH 024/243] update docs... --- changelog_v3.2.x.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 61a9a3090..1b4531840 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -45,6 +45,8 @@ You can now rename mines. This also fixes an issue with not being able to delete a mine: It deletes successfully, but is still active in memory. +* **Prison_v3.2.2-alpha.1d.jar - 2020-10-01** + * **Bug fix: change how /ranks list works with perms.** Should allow all players to use this command since no-perm players can use /ranks and that just redirects to this command. @@ -70,6 +72,9 @@ it'll be generated anyway using the default config as the model so it won't brea later or edit the config to the correct one. +* **Prison_v3.2.2-alpha.1c - 2020-10-01** + + * **New feature: added some new 1.14 and 1.15 blocks** Added some more new blocks since some of the 1.16 blocks appear to work in most circumstances. Use at your own risk. @@ -80,9 +85,6 @@ SMITHING_TABLE, SMOKER, STONECUTTER, SWEET_BERRY_BUSH v1.15 : BEE_NEST, BEEHIVE, HONEY_BLOCK, HONEYCOMB_BLOCK -* **Prison_v3.2.2-alpha.1c - 2020-10-01** - - * **Added a few v1.16 block types.** Not sure if they will actually work. Obviously will never work with mc versions < 1.16. Use at own risk. ANCIENT_DEBRIS CRYING_OBSIDIAN NETHER_GOLD_ORE BASALT POLISHED_BASALT From 17041e8944f623ae9f8ead6c80a9068948dce4ae Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 7 Oct 2020 20:10:32 +0200 Subject: [PATCH 025/243] New Ranks Docs, now they should be complete. Changelogs: - New Ranks List - Docs - New Ranks Players - Docs - New Ranks Player - Docs - New Ranks Promote - Docs - New Ranks Set - Docs --- .../prison_docs_command_18_ranks_list.md | 20 ++++++------- .../prison_docs_command_19_ranks_players.md | 27 ++++++++++------- .../prison_docs_command_20_ranks_player.md | 20 ++++++------- .../prison_docs_command_21_ranks_promote.md | 26 +++++++++------- .../prison_docs_command_22_ranks_set.md | 30 +++++++++++++------ 5 files changed, 74 insertions(+), 49 deletions(-) diff --git a/docs/docs-commands/prison_docs_command_18_ranks_list.md b/docs/docs-commands/prison_docs_command_18_ranks_list.md index 1e798a48b..8ee7c82bb 100644 --- a/docs/docs-commands/prison_docs_command_18_ranks_list.md +++ b/docs/docs-commands/prison_docs_command_18_ranks_list.md @@ -1,24 +1,24 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Shows a list of ranks. + +## Permissions: + +- `ranks.list` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command itself and add the ladder name you want to see, like in the example: `/ranks list default`. + ### Command Format -`/prison` +`/ranks list [ladderName]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_19_ranks_players.md b/docs/docs-commands/prison_docs_command_19_ranks_players.md index 1e798a48b..393b88f2d 100644 --- a/docs/docs-commands/prison_docs_command_19_ranks_players.md +++ b/docs/docs-commands/prison_docs_command_19_ranks_players.md @@ -1,24 +1,31 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Shows all ranks with player counts. + +## Permission: + +- `ranks.admin` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command itself and add the arguments you want, like in the examples: + +- `/ranks players all all` +Will show everything. +- `/ranks players default all` +Will show everything of the default ladder. +- `/ranks players default players` +Will show the default ladder players info. + ### Command Format -`/prison` +`/ranks players [ladderName] [action]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_20_ranks_player.md b/docs/docs-commands/prison_docs_command_20_ranks_player.md index 1e798a48b..e4b3c4b99 100644 --- a/docs/docs-commands/prison_docs_command_20_ranks_player.md +++ b/docs/docs-commands/prison_docs_command_20_ranks_player.md @@ -1,24 +1,24 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Shows a player their rank. + +## Permission: + +- `ranks.admin` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command itself adding the player Name like in the example: `/ranks player GABRYCA`. + ### Command Format -`/prison` +`/ranks player [playerName]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_21_ranks_promote.md b/docs/docs-commands/prison_docs_command_21_ranks_promote.md index 1e798a48b..dd55d0938 100644 --- a/docs/docs-commands/prison_docs_command_21_ranks_promote.md +++ b/docs/docs-commands/prison_docs_command_21_ranks_promote.md @@ -1,24 +1,30 @@ -### Prison Documentation - **WORK-IN-PROGRESS** +### Prison Documentation [Prison Documents - Table of Contents](../prison_docs_000_toc.md) ## Description: -Short description of the command will be here +Promotes a player to the next rank. + +## Permission: + +- `ranks.promote` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- none ## How to use the command +Execute the command itself adding the player Name, ladder to promote and if needed make him pay (forcing the player) to Rankup/Promote like in the example: + +- `/ranks promote GABRYCA default no_charge` +Won't charge the player to Rankup + +- `/ranks promote GABRYCA default 1000` +Will charge the player of the amount specified to Rankup, 1000 in the example + ### Command Format -`/prison` +`/ranks promote [playerName] [ladder] [chargePlayers]` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_22_ranks_set.md b/docs/docs-commands/prison_docs_command_22_ranks_set.md index 1e798a48b..4ad96dd32 100644 --- a/docs/docs-commands/prison_docs_command_22_ranks_set.md +++ b/docs/docs-commands/prison_docs_command_22_ranks_set.md @@ -3,22 +3,34 @@ ## Description: -Short description of the command will be here +Manages a ranks and set it. + +## Permissions: + +- `ranks.admin` ## SubCommands: -- List -- Of -- Sub -- Commands -- With -- Short -- Description +- `/ranks set cost [rankName] [cost]` +- `/ranks set currency [rankName] [currency]` +- `/ranks set rank [playerName] [rankName] [ladder]` +- `/ranks set tag [rankName] [tag]` ## How to use the command +Execute the command with the arguments you want like in the examples: + +- `/ranks set cost A 100` +Set the price of the rank A to 100. +- `/ranks set currency A GemsEconomy` +Will set the currency plugin for the rank to GemsEconomy. +- `/ranks set rank GABRYCA Z default` +Set a player rank to the specifies ranks of the ladder, like in the example "GABRYCA" will get the Rank Z in the default ladder. +- `/ranks set tag A &8[&3A&8]&f` +Set a Rank tag to the specified one, like in the example the Rank tag of A will be replaced with `&8[&3A&8]&f` + ### Command Format -`/prison` +`/ranks set [argument]` **END of the command INFO** \ No newline at end of file From c58d57d03f3433e1e5b1d4d8d6b27915d069d181 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 7 Oct 2020 20:11:25 +0200 Subject: [PATCH 026/243] Edited Typo Changelogs: - Edited a typo --- docs/docs-commands/prison_docs_command_22_ranks_set.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs-commands/prison_docs_command_22_ranks_set.md b/docs/docs-commands/prison_docs_command_22_ranks_set.md index 4ad96dd32..1efec8f54 100644 --- a/docs/docs-commands/prison_docs_command_22_ranks_set.md +++ b/docs/docs-commands/prison_docs_command_22_ranks_set.md @@ -3,7 +3,7 @@ ## Description: -Manages a ranks and set it. +Manages a rank or player. ## Permissions: From 42ab3930c146eca5be7655046485ee3c064dd08b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 16:29:32 -0400 Subject: [PATCH 027/243] Space missing in the display of the default rank for the command /ranks list. --- .../java/tech/mcprison/prison/ranks/commands/RanksCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 355a5f724..a12be999e 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -194,7 +194,7 @@ public void listRanks(CommandSender sender, String text = String.format("%s &9[&3%s&9] &7- %s&7%s%s%s", textRankName, rank.tag, - (defaultRank ? "&b(&9Default&b) &7-" : ""), + (defaultRank ? "&b(&9Default&b) &7- " : ""), Text.numberToDollars(rank.cost), (rank.currency == null ? "" : " &7Currency: &3" + rank.currency), textCmdCount ); From 33f7dc091d39942fb3d8ee6f99c1ade20f0b4891 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 16:42:49 -0400 Subject: [PATCH 028/243] Bug fix: Found that the wrong amount was being refunded to the player when doing a /ranks demote with a player_refund. Works now, and the log entries are also correct. --- .../tech/mcprison/prison/ranks/RankUtil.java | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java index 3b8fa7187..27e781414 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java @@ -98,6 +98,7 @@ public enum RankupTransactions { next_rank_set, set_to_default_rank, + original_rank_is_null, set_to_next_higher_rank, set_to_prior_lower_rank, @@ -124,7 +125,7 @@ public enum RankupTransactions { fireRankupEvent, rankup_successful, - failure_exception_caught_check_server_logs, + failure_exception_caught_check_server_logs ; } @@ -290,8 +291,10 @@ private void rankupPlayerInternal(RankupResults results, Optional currentRankOptional = player.getRank(ladder); + Rank originalRank = currentRankOptional.orElse( null ); + results.addTransaction( RankupTransactions.orginal_rank ); - results.setOriginalRank( currentRankOptional.orElse( null ) ); + results.setOriginalRank( originalRank ); Rank targetRank = null; @@ -312,6 +315,14 @@ private void rankupPlayerInternal(RankupResults results, } results.addTransaction( RankupTransactions.set_to_default_rank ); targetRank = lowestRank.get(); + + // need to set this to a valid value: + originalRank = lowestRank.get(); + } + + if ( originalRank == null ) { + results.addTransaction( RankupTransactions.original_rank_is_null ); + } // If default ladder and rank is null at this point, that means use the "default" rank: @@ -397,6 +408,7 @@ private void rankupPlayerInternal(RankupResults results, // We'll check if the player can afford it first, and if so, we'll make the transaction and proceed. double nextRankCost = targetRank.cost; + double currentRankCost = (originalRank == null ? 0 : originalRank.cost); if (pForceCharge != PromoteForceCharge.no_charge ) { @@ -428,11 +440,15 @@ private void rankupPlayerInternal(RankupResults results, if ( pForceCharge == PromoteForceCharge.refund_player) { results.addTransaction( RankupTransactions.player_balance_initial ); - results.setBalanceInitial( currencyEcon.getBalance( prisonPlayer, targetRank.currency ) ); + results.setBalanceInitial( originalRank == null ? 0 : + currencyEcon.getBalance( prisonPlayer, originalRank.currency ) ); results.addTransaction( RankupTransactions.player_balance_increased); - currencyEcon.addBalance(prisonPlayer, nextRankCost, targetRank.currency ); + if ( originalRank != null ) { + currencyEcon.addBalance(prisonPlayer, currentRankCost, originalRank.currency ); + } results.addTransaction( RankupTransactions.player_balance_final ); - results.setBalanceFinal( currencyEcon.getBalance( prisonPlayer, targetRank.currency ) ); + results.setBalanceFinal( originalRank == null ? 0 : + currencyEcon.getBalance( prisonPlayer, originalRank.currency ) ); } else { // Should never hit this code!! } @@ -463,7 +479,7 @@ private void rankupPlayerInternal(RankupResults results, results.addTransaction( RankupTransactions.player_balance_initial ); results.setBalanceInitial( economy.getBalance( prisonPlayer ) ); results.addTransaction( RankupTransactions.player_balance_increased); - economy.addBalance(prisonPlayer, nextRankCost ); + economy.addBalance(prisonPlayer, currentRankCost ); results.addTransaction( RankupTransactions.player_balance_final ); results.setBalanceFinal( economy.getBalance( prisonPlayer ) ); } else { @@ -581,7 +597,7 @@ private void logTransactionResults( RankupResults results ) case player_balance_increased: sb.append( "=" ); - sb.append( tRank == null ? "" : dFmt.format( tRank.cost ) ); + sb.append( tRank == null ? "" : dFmt.format( oRank.cost ) ); break; From 0ad4fb06a954e302428a4d83c71989dc8a1869cd Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 16:49:24 -0400 Subject: [PATCH 029/243] New feature: Added the player's current balance on the command /ranks player. --- .../prison/ranks/commands/RanksCommands.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index a12be999e..5a91c9c37 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -14,6 +14,8 @@ import tech.mcprison.prison.commands.Arg; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.integration.EconomyCurrencyIntegration; +import tech.mcprison.prison.integration.EconomyIntegration; +import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.output.BulletedListComponent; @@ -477,6 +479,13 @@ public void rankPlayer(CommandSender sender, sendToPlayerAndConsole( sender, messageRank ); } + // Print out the player's balance: + double balance = getPlayerBalance( player ); + String message = String.format( "&7The current balance for &b%s &7is &b%s", + player.getName(), dFmt.format( balance ) ); + sendToPlayerAndConsole( sender, message ); + + if (sender.hasPermission("ranks.admin") && rankPlayer.names.size() > 1) { // This is admin-exclusive content @@ -663,5 +672,32 @@ private Player getPlayer( CommandSender sender, String playerName ) { } return result; } + + public double getPlayerBalance( Player player ) { + + EconomyIntegration economy = + (EconomyIntegration) PrisonAPI.getIntegrationManager() + .getForType(IntegrationType.ECONOMY) + .orElseThrow(IllegalStateException::new); + + return economy.getBalance( player ); + } + public double getPlayerBalance( Player player, String currency ) { + + + EconomyCurrencyIntegration currencyEcon = PrisonAPI.getIntegrationManager() + .getEconomyForCurrency( currency ); + if ( currencyEcon == null ) { + // ERROR: currency is not support + Output.get().logInfo( "The currency %s is not supported. Therefore there is no blance.", + currency ); + return 0; + } + else { + return currencyEcon.getBalance( player, currency ); + } + + } + } From f6393069a1f21b39eb6a5c3b3aaccf8c3b81f543 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 16:55:47 -0400 Subject: [PATCH 030/243] Bug fix: Had to make changes to which functions Vault is using based upon Vault's version. It appears like formerly deprecated functions have been disabled and does nothing now. Made changes to inspect the version of vault that is being used, then properly target the correct function so it works properly with all versions of vault, including pre v1.4.0. This bug fix is potentially a critical bug fix and may warrent publishing Prison release v3.2.2 to take care of this issue. --- .../mcprison/prison/spigot/SpigotUtil.java | 25 ++ .../prison/spigot/economies/VaultEconomy.java | 2 +- .../spigot/economies/VaultEconomyWrapper.java | 219 +++++++++++++++--- 3 files changed, 213 insertions(+), 33 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java index abc852914..6c8812dc3 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java @@ -21,9 +21,11 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.ItemStack; @@ -498,4 +500,27 @@ public static InventoryView.Property prisonPropertyToBukkit(Viewable.Property pr return InventoryView.Property.valueOf(property.name()); } + + /** + *

Vault economy requires the parameter of bukkit's OfflinePlayer. + * That was never exposed for good reasons, and do not want to use + * bukkit/spigot specific code within that integration. So, this is + * where this code will live since it is a Spigot untility. + *

+ * + * @param uuid + * @return OfflinePlayer + */ + public static OfflinePlayer getBukkitOfflinePlayer( UUID uuid ) { + OfflinePlayer results = null; + + for ( OfflinePlayer offP : Bukkit.getOfflinePlayers() ) { + if ( uuid != null && offP.getUniqueId().equals(uuid) ) { + results = offP; + break; + } + } + + return results; + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomy.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomy.java index 590bc2321..25d10cc40 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomy.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomy.java @@ -41,7 +41,7 @@ public void integrate() { addDebugInfo( "2" ); try { addDebugInfo( "3" ); - this.econWrapper = new VaultEconomyWrapper(); + this.econWrapper = new VaultEconomyWrapper( getProviderName() ); addDebugInfo( "4" ); } catch ( java.lang.NoClassDefFoundError | Exception e ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomyWrapper.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomyWrapper.java index 08bf023ef..79dad7c90 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomyWrapper.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/economies/VaultEconomyWrapper.java @@ -1,26 +1,79 @@ package tech.mcprison.prison.spigot.economies; import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; import org.bukkit.plugin.RegisteredServiceProvider; -import net.milkbowl.vault.economy.EconomyResponse; import tech.mcprison.prison.internal.Player; +import tech.mcprison.prison.output.Output; +import tech.mcprison.prison.spigot.SpigotUtil; +import tech.mcprison.prison.spigot.spiget.BluesSpigetSemVerComparator; +/** + *

Prison does not support banks since the only way to identify a bank is through + * the player's name. Not even sure if it was implemented correctly in the past. + * If there is a need to reenable this code, then bank support can be added + * back in the future, and at that time, it can be verified to be correct. + * I honestly don't think it is correct the way it was being used before. + *

+ * + */ public class VaultEconomyWrapper { private net.milkbowl.vault.economy.Economy economy = null; - public VaultEconomyWrapper() { + private String providerName; + private String vaultVersion; + + private boolean preV1dot4 = false; + + public VaultEconomyWrapper(String providerName ) { super(); + this.providerName = providerName; + RegisteredServiceProvider economyProvider = Bukkit.getServer().getServicesManager() .getRegistration(net.milkbowl.vault.economy.Economy.class); if (economyProvider != null) { economy = economyProvider.getProvider(); + + + this.vaultVersion = + Bukkit.getPluginManager().getPlugin( getProviderName() ) + .getDescription().getVersion(); + + this.preV1dot4 = ( new BluesSpigetSemVerComparator().compareTo( getVaultVersion(), + "1.4.0" ) < 0 ); + + Output.get().logInfo( "### VaultEconomyWrapper : vaultVersion = " + getVaultVersion() + + " is pre1_4= " + isPreV1_4() ); } } + + public String getProviderName() { + return providerName; + } + public void setProviderName( String providerName ) { + this.providerName = providerName; + } + + public String getVaultVersion() { + return vaultVersion; + } + public void setVaultVersion( String vaultVersion ) { + this.vaultVersion = vaultVersion; + } + + public boolean isPreV1_4() { + return preV1dot4; + } + public void setPreV1_4( boolean preV1_4 ) { + this.preV1dot4 = preV1_4; + } + + public boolean isEnabled() { return economy != null && economy.isEnabled(); @@ -30,67 +83,169 @@ public String getName() { return economy == null ? "not enabled" : economy.getName(); } + private OfflinePlayer getOfflinePlayer(Player player) { + + return SpigotUtil.getBukkitOfflinePlayer( player.getUUID() ); + } + + @SuppressWarnings( "deprecation" ) public double getBalance(Player player) { double results = 0; if (economy != null) { - if ( economy.hasBankSupport() ) { - EconomyResponse bnkBal = economy.bankBalance( player.getName() ); - if ( bnkBal.transactionSuccess() ) { - results = bnkBal.balance; - } - } else { + if ( isPreV1_4() ) { results = economy.getBalance(player.getName()); } + else { + OfflinePlayer oPlayer = getOfflinePlayer( player ); + if ( oPlayer == null ) { + Output.get().logInfo( "VaultEconomyWrapper.getBalance(): Error: " + + "Cannot get economy for player %s so returning a value of 0.", + player.getName()); + results = 0; + } + else { + results = economy.getBalance(oPlayer); + } + + } +// if ( economy.hasBankSupport() ) { +// +// EconomyResponse bnkBal = economy.bankBalance( player.getName() ); +// if ( bnkBal.transactionSuccess() ) { +// results = bnkBal.balance; +// } +// +// +// } else { +// results = economy.getBalance(player.getName()); +// } } return results; } @SuppressWarnings( "deprecation" ) - public void setBalance(Player player, double amount) { + public boolean setBalance(Player player, double amount) { + boolean results = false; if (economy != null) { - if ( economy.hasBankSupport() ) { - economy.bankWithdraw(player.getName(), getBalance(player)); - economy.bankDeposit(player.getName(), amount); - } else { - economy.withdrawPlayer( player.getName(), getBalance( player ) ); - economy.depositPlayer( player.getName(), amount ); + + if ( isPreV1_4() ) { + economy.withdrawPlayer( player.getName(), getBalance( player ) ); + economy.depositPlayer( player.getName(), amount ); + results = true; + } + else { + OfflinePlayer oPlayer = getOfflinePlayer( player ); + if ( oPlayer == null ) { + Output.get().logInfo( "VaultEconomyWrapper.setBalance(): Error: " + + "Cannot get economy for player %s so cannot set balance to %s.", + player.getName(), Double.toString( amount )); + } + else { + economy.withdrawPlayer( oPlayer, getBalance( player ) ); + economy.depositPlayer( oPlayer, amount ); + results = true; + } } + +// if ( economy.hasBankSupport() ) { +// economy.bankWithdraw(player.getName(), getBalance(player)); +// economy.bankDeposit(player.getName(), amount); +// } else { +// economy.withdrawPlayer( player.getName(), getBalance( player ) ); +// economy.depositPlayer( player.getName(), amount ); +// } } + return results; } @SuppressWarnings( "deprecation" ) - public void addBalance(Player player, double amount) { + public boolean addBalance(Player player, double amount) { + boolean results = false; if (economy != null) { - if ( economy.hasBankSupport() ) { - economy.bankDeposit(player.getName(), amount); - } else { + if ( isPreV1_4() ) { economy.depositPlayer( player.getName(), amount ); + results = true; + } + else { + OfflinePlayer oPlayer = getOfflinePlayer( player ); + if ( oPlayer == null ) { + Output.get().logInfo( "VaultEconomyWrapper.addBalance(): Error: " + + "Cannot get economy for player %s so cannot add a balance of %s.", + player.getName(), Double.toString( amount )); + } + else { + economy.depositPlayer( oPlayer, amount ); + results = true; + } } +// if ( economy.hasBankSupport() ) { +// economy.bankDeposit(player.getName(), amount); +// } else { +// economy.depositPlayer( player.getName(), amount ); +// } } + return results; } @SuppressWarnings( "deprecation" ) - public void removeBalance(Player player, double amount) { - if (economy != null) { - if ( economy.hasBankSupport() ) { - economy.bankWithdraw(player.getName(), amount); - } else { - economy.withdrawPlayer( player.getName(), amount ); - } - } + public boolean removeBalance(Player player, double amount) { + boolean results = false; + if (economy != null) { + if ( isPreV1_4() ) { + economy.withdrawPlayer( player.getName(), amount ); + results = true; + } + else { + OfflinePlayer oPlayer = getOfflinePlayer( player ); + if ( oPlayer == null ) { + Output.get().logInfo( "VaultEconomyWrapper.removeBalance(): Error: " + + "Cannot get economy for player %s so cannot remove a balance of %s.", + player.getName(), Double.toString( amount )); + } + else { + economy.withdrawPlayer( oPlayer, amount ); + results = true; + } + } + +// if (economy != null) { +// if ( economy.hasBankSupport() ) { +// economy.bankWithdraw(player.getName(), amount); +// } else { +// economy.withdrawPlayer( player.getName(), amount ); +// } +// } + } + return results; } @SuppressWarnings( "deprecation" ) public boolean canAfford(Player player, double amount) { boolean results = false; if (economy != null) { - if ( economy.hasBankSupport() ) { - results = economy.bankHas(player.getName(), amount).transactionSuccess(); - } else { - results = economy.has(player.getName(), amount); - } + if ( isPreV1_4() ) { + results = economy.has(player.getName(), amount); + } + else { + OfflinePlayer oPlayer = getOfflinePlayer( player ); + if ( oPlayer == null ) { + Output.get().logInfo( "VaultEconomyWrapper.canAfford(): Error: " + + "Cannot get economy for player %s so cannot tell if " + + "player can afford the amount of %s.", + player.getName(), Double.toString( amount )); + } + else { + results = economy.has(oPlayer, amount); + } + } + +// if ( economy.hasBankSupport() ) { +// results = economy.bankHas(player.getName(), amount).transactionSuccess(); +// } else { +// results = economy.has(player.getName(), amount); +// } } return results; } From 87da718969f98ca8589c9d2632b16adb4b83edf7 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 16:57:36 -0400 Subject: [PATCH 031/243] Misc updates to just clean up the code. --- .../tech/mcprison/prison/mines/data/PrisonSortableMines.java | 1 + .../mcprison/prison/spigot/gui/ListenersPrisonManager.java | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableMines.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableMines.java index a2a493948..051457c2c 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableMines.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/PrisonSortableMines.java @@ -8,6 +8,7 @@ import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.sorting.PrisonSorter; +@Deprecated public class PrisonSortableMines extends PrisonSorter { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index ee8a25bef..0e6336105 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -18,13 +18,11 @@ import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; import tech.mcprison.prison.Prison; import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig; import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig.AutoFeatures; -import tech.mcprison.prison.gui.GUI; import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.modules.Module; @@ -52,7 +50,6 @@ import tech.mcprison.prison.spigot.gui.rank.SpigotRanksGUI; import tech.mcprison.prison.spigot.gui.sellall.SellAllAdminGUI; import tech.mcprison.prison.spigot.gui.sellall.SellAllPriceGUI; -import tech.mcprison.prison.spigot.languages.GuiMessagesConfig; /** From e77f705d3eb660b029bd3eb5557f474f673a9d2b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 16:58:18 -0400 Subject: [PATCH 032/243] Doc update. --- changelog_v3.2.x.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 1b4531840..18d73a1f6 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,24 @@ that you need. -## tag v3.2.2-alpha.1 - 2020-10-06 +## tag v3.2.2-alpha.1 - 2020-10-07 + + +* **Bug fix: Had to make changes to which functions Vault is using based upon Vault's version.** +It appears like formerly deprecated functions have been disabled and does nothing now. +Made changes to inspect the version of vault that is being used, then properly target the correct function so it works properly with all versions of vault, including pre v1.4.0. +This bug fix is potentially a critical bug fix and may warrant publishing Prison release v3.2.2 to take care of this issue. + + +* **New feature: Added the player's current balance on the command /ranks player.** + + + +* **Bug fix: Found that the wrong amount was being refunded to the player when doing a /ranks demote with a player_refund.** +Works now, and the log entries are also correct. + + +* **Space missing in the display of the default rank for the command /ranks list.** * **Bug Fix: A config file was being loaded many times to build one gui page.** From 78cd57eb4aa84fcf740deecb09789834aac141ef Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 7 Oct 2020 17:01:16 -0400 Subject: [PATCH 033/243] Bump to v3.2.2-alpha.3 due to significant update to the Vault integration. Have not heard anyone else has had issues, so may hold off on releasing v3.2.2 for a few days to add more updates. --- changelog_v3.2.x.md | 8 +++++++- gradle.properties | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 18d73a1f6..9f1fb25b8 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,13 @@ that you need. -## tag v3.2.2-alpha.1 - 2020-10-07 +## tag v3.2.2-alpha.3 - 2020-10-07 + + +* **v3.2.2-alpha.3 - 2020-10-07** +Bump to v3.2.2-alpha.3 due to significant update to the Vault integration. +Have not heard anyone else has had issues, so may hold off on releasing v3.2.2 for a few days to add more updates. + * **Bug fix: Had to make changes to which functions Vault is using based upon Vault's version.** diff --git a/gradle.properties b/gradle.properties index 580a4fead..50e69edc1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.2 +version=3.2.2-alpha.3 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From 5c82ea23c33ac37d47d64da0aaa4858c4c89c5ac Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 15:32:36 -0400 Subject: [PATCH 034/243] BUG FIX!! Found that the default value was being set to -1 instead of zero. :( This will supress all the mines, but nothing will be lost. --- .../src/main/java/tech/mcprison/prison/mines/data/Mine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 748641a80..096c1946d 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -178,7 +178,7 @@ private void loadFromDocument( Document document ) Double sortOrder = (Double) document.get( "sortOrder" ); - setSortOrder( sortOrder == null ? -1 : sortOrder.intValue() ); + setSortOrder( sortOrder == null ? 0 : sortOrder.intValue() ); World world = null; From ac88510af3d1d1f4a12a0224666e1cebd18bc769 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:34:42 -0400 Subject: [PATCH 035/243] Eliminated the listing of placeholders from /prison version since it was getting to be a really long list. Provided a reminder on where to find the placeholders. --- .../tech/mcprison/prison/integration/IntegrationManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java index 81e92ad9a..479aaec33 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java @@ -631,7 +631,9 @@ public List getIntegrationComponents() { // Generates the placeholder list for the /prison version command, printing // two placeholders per line. if ( integType == IntegrationType.PLACEHOLDER ) { - getPlaceholderTemplateList( results ); + results.add( new TextComponent( " &7To list all or search for placeholders see: " + + "&a/prison placeholders") ); +// getPlaceholderTemplateList( results ); } List plugins = getAllForType( integType ); From bc7006eec889fe19889626275292de2c17d51541 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:37:33 -0400 Subject: [PATCH 036/243] New Feature: Added /ranks ladder moveRank since most people don't realize they can remove a rank from a ladder (it is not deleted) and then add it back in to another place within the same ladder, or another ladder. This new feature just calls /ranks ladder remove and then /ranks ladder addRank. Simplifies the process and makes it clear to the user that the option is there. --- .../prison/ranks/commands/LadderCommands.java | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java index 99aede2eb..5e24f39cf 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java @@ -132,12 +132,31 @@ public void ladderInfo(CommandSender sender, @Arg(name = "ladderName") String la display.send(sender); } + + @Command(identifier = "ranks ladder moveRank", description = "Moves a rank to a new " + + "ladder position or a new ladder.", + onlyPlayers = false, permissions = "ranks.ladder") + public void ladderMoveRank(CommandSender sender, + @Arg(name = "ladderName") String ladderName, + @Arg(name = "rankName") String rankName, + @Arg(name = "position", def = "0", verifiers = "min[0]", + description = "Position where you want the rank to be moved to. " + + "0 is the first position in the ladder.") int position) { + sender.sendMessage( "Attempting to remove the specified rank from it's original ladder, " + + "then it will be added back to the target ladder at the spcified location. The rank " + + "will not be lost." ); + ladderRemoveRank( sender, ladderName, rankName ); + ladderAddRank(sender, ladderName, rankName, position ); + } - @Command(identifier = "ranks ladder addrank", description = "Adds a rank to a ladder.", + @Command(identifier = "ranks ladder addrank", description = "Adds a rank to a ladder, or move a rank.", onlyPlayers = false, permissions = "ranks.ladder") - public void ladderAddRank(CommandSender sender, @Arg(name = "ladderName") String ladderName, - @Arg(name = "rankName") String rankName, - @Arg(name = "position", def = "0", verifiers = "min[0]") int position) { + public void ladderAddRank(CommandSender sender, + @Arg(name = "ladderName") String ladderName, + @Arg(name = "rankName") String rankName, + @Arg(name = "position", def = "0", verifiers = "min[0]", + description = "Position where you want the rank to be added. " + + "0 is the first position in the ladder.") int position) { Optional ladder = PrisonRanks.getInstance().getLadderManager().getLadder(ladderName); if (!ladder.isPresent()) { @@ -167,8 +186,8 @@ public void ladderAddRank(CommandSender sender, @Arg(name = "ladderName") String try { PrisonRanks.getInstance().getLadderManager().saveLadder(ladder.get()); - Output.get().sendInfo(sender, "Added rank '%s' to ladder '%s'.", rank.get().name, - ladder.get().name); + Output.get().sendInfo(sender, "Added rank '%s' to ladder '%s' in position %s.", + rank.get().name, ladder.get().name, Integer.toString( position )); } catch (IOException e) { Output.get().sendError(sender, "An error occurred while adding a rank to your ladder. &8Check the console for details."); From 2a80d4e5dbd57ee1858f98548d352d60722b643c Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:38:11 -0400 Subject: [PATCH 037/243] Added the ability to send a ChatDisplay directly to the console log. --- .../main/java/tech/mcprison/prison/output/ChatDisplay.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/output/ChatDisplay.java b/prison-core/src/main/java/tech/mcprison/prison/output/ChatDisplay.java index 8d3bc8e72..ba5cdb17e 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/output/ChatDisplay.java +++ b/prison-core/src/main/java/tech/mcprison/prison/output/ChatDisplay.java @@ -81,5 +81,11 @@ public void toLog(LogLevel logLevel) { Output.get().log( component.text(), logLevel ); } } + + public void sendtoOutputLogInfo() { + for (DisplayComponent component : displayComponents) { + Output.get().logInfo( component.text() ); + } + } } From f852172343404715ef9ccae6b01bc2a912f530f8 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:40:57 -0400 Subject: [PATCH 038/243] New Feature: Add a warning if PlugMan is detected. It notifies the user that prison will not behave well and can be corrupted if PlugMan tries to reload it. Also states we are not responsible for any corruption, nor are we obligated to help recover from said corruption. --- .../prison/spigot/SpigotPlatform.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index ec8e45dce..3389627f4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -299,7 +299,8 @@ public List tabComplete( CommandSender sender, String alias, String[] ar } } - @SuppressWarnings("unchecked") @Override public void unregisterCommand(String command) { + @SuppressWarnings("unchecked") @Override + public void unregisterCommand(String command) { try { ((Map) plugin.knownCommands .get(plugin.commandMap.get(Bukkit.getServer()))).remove(command); @@ -464,6 +465,8 @@ public void identifyRegisteredPlugins() { // Finally print the version after loading the prison plugin: // PrisonCommand cmdVersion = Prison.get().getPrisonCommands(); + + boolean isPlugManPresent = false; // Store all loaded plugins within the PrisonCommand for later inclusion: for ( Plugin plugin : server.getPluginManager().getPlugins() ) { @@ -473,11 +476,31 @@ public void identifyRegisteredPlugins() { cmdVersion.getRegisteredPlugins().add( value ); cmdVersion.addRegisteredPlugin( name, version ); + + if ( "PlugMan".equalsIgnoreCase( name ) ) { + isPlugManPresent = true; + } } + + if ( isPlugManPresent ) { + ChatDisplay chatDisplay = new ChatDisplay("&d* &d* &5WARNING: &dPlugMan &5Detected! &d* &d*"); + chatDisplay.text( "&7The use of PlugMan on this Prison server will corrupt internals" ); + chatDisplay.text( "&7of Prison and may lead to a non-functional state, or even total" ); + chatDisplay.text( "&7corruption of the internal settings, the saved files, and maybe" ); + chatDisplay.text( "&7even the mines and surrounding areas too." ); + chatDisplay.text( "&7The only safe way to restart Prison is through a server restart." ); + chatDisplay.text( "&7Use of PlugMan at your own risk. You have been warned. " ); + chatDisplay.text( "&7Prison support team has no obligation to help recover, or repair," ); + chatDisplay.text( "&7any troubles that may result of the use of PlugMan." ); + chatDisplay.text( "&bPlease Note: &3The &7/prison reload&3 commands are safe to use anytime." ); + chatDisplay.text( "&d* &d* &5WARNING &d* &d* &5WARNING &d* &d* &5WARNING &d* &d*" ); + + chatDisplay.sendtoOutputLogInfo();; + } // NOTE: The following code does not actually get all of the commands that have been // registered with the bukkit plugin registry. So commenting this out and may revisit - // in the future. Only tested with 1.8.8 so may work better with more cent version. + // in the future. Only tested with 1.8.8 so may work better with more recent version. // SimplePluginManager spm = (SimplePluginManager) Bukkit.getPluginManager(); // // try { From de57033d9be339b44116539c0f21b35901657b6b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:43:49 -0400 Subject: [PATCH 039/243] New Feature: Initial work in linking Mines and Ranks. This is just the initial framework for the final product. Ranks have not been modified yet. --- .../prison/modules/ModuleElement.java | 24 ++++++++++++++++++ .../prison/modules/ModuleElementType.java | 9 +++++++ .../mcprison/prison/mines/data/MineData.java | 25 +++++++++++++++++-- 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java create mode 100644 prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java diff --git a/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java new file mode 100644 index 000000000..c8064e7da --- /dev/null +++ b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java @@ -0,0 +1,24 @@ +package tech.mcprison.prison.modules; + +/** + *

This represents an element that is found within a module. It may be + * either a Mine, Rank, or even maybe a Ladder too. + *

+ * + *

The important factor here is that this can allow one module's elements + * to be referenced within another module without having to include that + * module for compiling. The key is to include the core components required + * for the basic references. + *

+ * + */ +public interface ModuleElement { + + // private transient final ModuleElementType elementType; + public ModuleElementType getModuleElementType(); + + public String getName(); + + public String getTag(); + +} diff --git a/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java new file mode 100644 index 000000000..d00af091a --- /dev/null +++ b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java @@ -0,0 +1,9 @@ +package tech.mcprison.prison.modules; + +public enum ModuleElementType { + + MINE, + RANK, + LADDER; + +} diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 415e101bc..2a5c3f5ca 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -9,17 +9,22 @@ import tech.mcprison.prison.Prison; import tech.mcprison.prison.internal.World; import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.util.BlockType; import tech.mcprison.prison.util.Bounds; import tech.mcprison.prison.util.Location; -public abstract class MineData { +public abstract class MineData + implements ModuleElement { public static final int MINE_RESET__TIME_SEC__DEFAULT = 15 * 60; // 15 minutes public static final int MINE_RESET__TIME_SEC__MINIMUM = 30; // 30 seconds public static final long MINE_RESET__BROADCAST_RADIUS_BLOCKS = 150; public static final String MINE_NOTIFICATION_PERMISSION_PREFIX = "mines.notification."; + + private transient final ModuleElementType elementType; private String name; private String tag; @@ -65,6 +70,8 @@ public abstract class MineData { private boolean usePagingOnReset = false; + private ModuleElement rank; + public enum MineNotificationMode { disabled, @@ -93,6 +100,8 @@ public static MineNotificationMode fromString(String mode, MineNotificationMode } public MineData() { + this.elementType = ModuleElementType.MINE; + this.tag = null; this.blocks = new ArrayList<>(); @@ -125,6 +134,8 @@ public MineData() { this.resetCommands = new ArrayList<>(); this.usePagingOnReset = false; + + this.rank = null; } /** @@ -146,6 +157,10 @@ public boolean isEnabled() { public void setEnabled( boolean enabled ) { this.enabled = enabled; } + + public ModuleElementType getModuleElementType() { + return elementType; + } /** * Gets the name of this mine @@ -498,9 +513,15 @@ public void setResetCommands( List resetCommands ) { public boolean isUsePagingOnReset() { return usePagingOnReset; } - public void setUsePagingOnReset( boolean usePagingOnReset ) { this.usePagingOnReset = usePagingOnReset; } + + public ModuleElement getRank() { + return rank; + } + public void setRank( ModuleElement rank ) { + this.rank = rank; + } } From 0337e48b879dd160c2d786424cb57b120ec6d321 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:45:00 -0400 Subject: [PATCH 040/243] Doc update --- changelog_v3.2.x.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 9f1fb25b8..4fe40faf2 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,34 @@ that you need. -## tag v3.2.2-alpha.3 - 2020-10-07 +## tag v3.2.2-alpha.3 - 2020-10-08 + + +* **New Feature: Initial work in linking Mines and Ranks.** +This is just the initial framework for the final product. Ranks have not been modified yet. + + +* **New Feature: New Feature: Add a warning if PlugMan is detected.** +It notifies the user that prison will not behave well and can be corrupted if PlugMan tries to reload it. +Also states we are not responsible for any corruption, nor are we obligated to help recover from said corruption. + + +* **New Feature: Added ability to send the ChatDisplay object directly to console log.** + + +* **New Feature: Added /ranks ladder moveRank** +since most people don't realize they can remove a rank from a ladder (it is not deleted) and then add it back in to another place within the same ladder, or another ladder. +This new feature just calls /ranks ladder remove and then /ranks ladder addRank. Simplifies the process and makes it clear to the user that the option is there. + + +* **Eliminated the listing of placeholders from /prison version** +since it was getting to be a really long list. +Provided a reminder on where to find the placeholders. + + +* **BUG FIX!! Found that the default value on mine sortOrder was being set to -1 instead of zero.** +This will suppress all the mines, but nothing will be lost. This value will be set upon initial +loading of the mines if they did not have that value set previously. * **v3.2.2-alpha.3 - 2020-10-07** From 647483d180388ddd5f26d36d6bb5f5ede7dbba92 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 8 Oct 2020 19:54:06 -0400 Subject: [PATCH 041/243] Bump up to v3.2.2-alpha.4 - Due to error on intially setting mine sortOrder to -1. Should have been 0. --- changelog_v3.2.x.md | 7 ++++++- gradle.properties | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 4fe40faf2..cea8a9670 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,12 @@ that you need. -## tag v3.2.2-alpha.3 - 2020-10-08 +## tag v3.2.2-alpha.4 - 2020-10-08 + + +* **tag v3.2.2-alpha.4 - 2020-10-08** +Had to bump this to alpha.4 due to the new mine sortOrder being set to -1 if +the value is not found in the save files! This may cause users to panic. * **New Feature: Initial work in linking Mines and Ranks.** diff --git a/gradle.properties b/gradle.properties index 50e69edc1..97c57e00e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.3 +version=3.2.2-alpha.4 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From 2b051005f411d933c2ce29ca386fef1993a5dcab Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 10 Oct 2020 11:58:16 -0400 Subject: [PATCH 042/243] Cleaned up and standardized log levels. Added PLAIN for use with mine resets, and DEBUG too. Eliminated redundancies. --- .../mcprison/prison/alerts/AlertCommands.java | 12 +-- .../prison/commands/CommandHandler.java | 23 +++-- .../prison/commands/RegisteredCommand.java | 20 ++-- .../prison/localization/Localizable.java | 37 +++---- .../tech/mcprison/prison/output/LogLevel.java | 14 ++- .../tech/mcprison/prison/output/Output.java | 98 +++++++++++++++---- .../prison/mines/commands/MinesCommands.java | 16 +-- .../ranks/commands/CommandCommands.java | 15 ++- .../prison/spigot/SpigotPlatform.java | 2 +- 9 files changed, 155 insertions(+), 82 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java b/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java index 450befa7b..66d6fa39f 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java +++ b/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java @@ -1,16 +1,16 @@ package tech.mcprison.prison.alerts; +import java.util.List; + import tech.mcprison.prison.Prison; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; -import tech.mcprison.prison.localization.Localizable; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; +import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; -import java.util.List; - /** * @author Faizaan A. Datoo */ @@ -24,7 +24,7 @@ public AlertCommands() { public void prisonAlertsCommand(CommandSender sender) { if (!(sender instanceof Player)) { Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } Player player = (Player) sender; @@ -52,7 +52,7 @@ public void prisonAlertsCommand(CommandSender sender) { public void prisonAlertsClearCommand(CommandSender sender) { if (!(sender instanceof Player)) { Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } Player player = (Player) sender; @@ -71,7 +71,7 @@ public void prisonAlertsClearCommand(CommandSender sender) { public void prisonAlertsClearAllCommand(CommandSender sender) { if (!(sender instanceof Player)) { Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } Player player = (Player) sender; diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index bbf55a00f..0a0adf014 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -18,18 +18,29 @@ package tech.mcprison.prison.commands; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.TreeSet; + import tech.mcprison.prison.Prison; -import tech.mcprison.prison.commands.handlers.*; +import tech.mcprison.prison.commands.handlers.BlockArgumentHandler; +import tech.mcprison.prison.commands.handlers.DoubleArgumentHandler; +import tech.mcprison.prison.commands.handlers.IntegerArgumentHandler; +import tech.mcprison.prison.commands.handlers.PlayerArgumentHandler; +import tech.mcprison.prison.commands.handlers.StringArgumentHandler; +import tech.mcprison.prison.commands.handlers.WorldArgumentHandler; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.World; -import tech.mcprison.prison.localization.Localizable; +import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.util.BlockType; import tech.mcprison.prison.util.ChatColor; -import java.lang.reflect.Method; -import java.util.*; - public class CommandHandler { // TODO unregisterCommands method, to fix argument duplication on module re-enable @@ -322,7 +333,7 @@ public boolean onCommand(CommandSender sender, PluginCommand command, String lab if (rootCommand.onlyPlayers() && !(sender instanceof Player)) { Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return true; } diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index ab8b9cdd0..d8a925384 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -18,15 +18,19 @@ package tech.mcprison.prison.commands; -import tech.mcprison.prison.Prison; -import tech.mcprison.prison.internal.CommandSender; -import tech.mcprison.prison.localization.Localizable; -import tech.mcprison.prison.output.Output; - import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.internal.CommandSender; +import tech.mcprison.prison.output.LogLevel; +import tech.mcprison.prison.output.Output; public class RegisteredCommand { @@ -75,7 +79,7 @@ public String getCompleteLabel() { void execute(CommandSender sender, String[] args) { if (!testPermission(sender)) { Prison.get().getLocaleManager().getLocalizable("noPermission") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); Output.get().logInfo( "&cLack of Permission Error: &7Player &3%s &7lacks permission to " + "run the command &3%s&7. Permissions needed: [&3%s&7]. Alt Permissions: [&3%s&7]", @@ -152,7 +156,7 @@ private void executeMethod(CommandSender sender, String[] args) { } } catch (Exception e) { Prison.get().getLocaleManager().getLocalizable("internalErrorOccurred") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); e.printStackTrace(); } } diff --git a/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java b/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java index 9ee132f51..3334dbab1 100755 --- a/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java +++ b/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java @@ -29,18 +29,20 @@ package tech.mcprison.prison.localization; +import java.util.Arrays; +import java.util.List; +import java.util.Properties; +import java.util.regex.Matcher; + import com.google.common.collect.Lists; + import tech.mcprison.prison.Prison; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.World; +import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; -import java.util.Arrays; -import java.util.List; -import java.util.Properties; -import java.util.regex.Matcher; - /** * Represents an object which has the potential to be localized in one of * multiple languages and returned as a string. @@ -290,19 +292,8 @@ public String localizeFor(CommandSender sender) { * @param level The message level to set this to. * @since 1.0 */ - public void sendTo(CommandSender sender, Level level) { - switch (level) { - case WARN: - Output.get().sendWarn(sender, localizeFor(sender)); - break; - case ERROR: - Output.get().sendError(sender, localizeFor(sender)); - break; - case INFO: - default: - Output.get().sendInfo(sender, localizeFor(sender)); - break; - } + public void sendTo(CommandSender sender, LogLevel level) { + Output.get().sendMessage(sender, localizeFor(sender), level); } /** @@ -316,10 +307,9 @@ public void sendTo(CommandSender sender, Level level) { * are included by default by the library.

* * @param sender The {@link CommandSender} to send this {@link Localizable} to - * @since 1.0 */ public void sendTo(CommandSender sender) { - sendTo(sender, Level.INFO); + sendTo(sender, LogLevel.PLAIN); } /** @@ -362,8 +352,9 @@ private String fromNullableString(String nullable) { return nullable != null ? nullable : ""; } - public enum Level { - INFO, WARN, ERROR - } + // Use LogLevel instead since they are the same: +// public enum Level { +// PLAIN, INFO, WARN, ERROR +// } } diff --git a/prison-core/src/main/java/tech/mcprison/prison/output/LogLevel.java b/prison-core/src/main/java/tech/mcprison/prison/output/LogLevel.java index 6b8c6fc68..e8d3540fa 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/output/LogLevel.java +++ b/prison-core/src/main/java/tech/mcprison/prison/output/LogLevel.java @@ -24,15 +24,23 @@ * @author Dylan M. Perks */ public enum LogLevel { + + /** No prefix */ + PLAIN, /** * Information severity. */ - INFO, /** + INFO, + /** * Warning severity. */ - WARNING, /** + WARNING, + /** * Error severity. */ - ERROR + ERROR, + + /** Debug */ + DEBUG; } diff --git a/prison-core/src/main/java/tech/mcprison/prison/output/Output.java b/prison-core/src/main/java/tech/mcprison/prison/output/Output.java index 690cb0040..458119003 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/output/Output.java +++ b/prison-core/src/main/java/tech/mcprison/prison/output/Output.java @@ -33,10 +33,12 @@ public class Output { // Fields private static Output instance; - public String PREFIX_TEMPLATE = "&8| %s &8|"; - public String INFO_PREFIX = gen("&3Info") + " &7"; - public String WARNING_PREFIX = gen("&6Warning") + " &7"; - public String ERROR_PREFIX = gen("&cError") + " &7"; + + private String PREFIX_TEMPLATE = "&8| %s &8| &7"; + public String INFO_PREFIX = gen("Info"); + public String WARNING_PREFIX = gen("Warning"); + public String ERROR_PREFIX = gen("Error"); + public String DEBUG_PREFIX = gen("Debug"); // Constructor @@ -53,11 +55,67 @@ public static Output get() { return instance; } + + /** + * Need standardization on this. + * + * @param level + * @return + */ + private String getLogPrefix( LogLevel level) { + String prefix = null; + + switch ( level ) + { + case INFO: + prefix = INFO_PREFIX; + break; + case WARNING: + prefix = WARNING_PREFIX; + break; + case ERROR: + prefix = ERROR_PREFIX; + break; + case DEBUG: + prefix = DEBUG_PREFIX; + break; + + case PLAIN: + default: + prefix = ""; + break; + } + return getLogColorCode(level) + prefix; + } + + private String getLogColorCode( LogLevel level) { + String colorCode = null; + + switch ( level ) + { + case INFO: + colorCode = "&f"; + break; + case WARNING: + colorCode = "&6"; + break; + case ERROR: + colorCode = "&c"; + break; + case DEBUG: + colorCode = "&9"; + break; + + case PLAIN: + default: + colorCode = ""; + break; + } + return colorCode; + } + public String format(String message, LogLevel level, Object... args) { - String prefix = level == LogLevel.INFO ? - INFO_PREFIX : - level == LogLevel.WARNING ? WARNING_PREFIX : ERROR_PREFIX; - return prefix + String.format(message, args); + return getLogPrefix(level) + String.format(message, args); } /** @@ -67,9 +125,10 @@ public void log(String message, LogLevel level, Object... args) { if ( Prison.get() == null || Prison.get().getPlatform() == null ) { System.err.println("Prison: Output.log Logger failure: " + message ); } else { - Prison.get().getPlatform().log(gen("&3Prison") + " " + (level == LogLevel.INFO ? - "&f" : - level == LogLevel.WARNING ? "&6" : "&c") + String.format(message, args)); + Prison.get().getPlatform().log( + gen("&3Prison") + " " + + getLogColorCode(level) + + String.format(message, args)); } } @@ -116,10 +175,11 @@ public void logError(String message, Throwable... throwable) { * Send a message to a {@link CommandSender} */ public void sendMessage(CommandSender sender, String message, LogLevel level, Object... args) { - String prefix = level == LogLevel.INFO ? - INFO_PREFIX : - level == LogLevel.WARNING ? WARNING_PREFIX : ERROR_PREFIX; - sender.sendMessage(prefix + String.format(message, args)); + sender.sendMessage(getLogPrefix(level) + String.format(message, args)); + } + + public void send(CommandSender sender, String message, Object... args) { + sendMessage(sender, message, LogLevel.PLAIN, args); } /** @@ -129,7 +189,7 @@ public void sendMessage(CommandSender sender, String message, LogLevel level, Ob * @param message The message to send. This may include color codes, but the default is grey. */ public void sendInfo(CommandSender sender, String message, Object... args) { - sender.sendMessage(INFO_PREFIX + String.format(message, args)); + sendMessage(sender, message, LogLevel.INFO, args); } /** @@ -139,7 +199,7 @@ public void sendInfo(CommandSender sender, String message, Object... args) { * @param message The message to send. This may include color codes, but the default is grey. */ public void sendWarn(CommandSender sender, String message, Object... args) { - sender.sendMessage(WARNING_PREFIX + String.format(message, args)); + sendMessage(sender, message, LogLevel.WARNING, args); } /** @@ -149,12 +209,12 @@ public void sendWarn(CommandSender sender, String message, Object... args) { * @param message The message to send. This may include color codes, but the default is grey. */ public void sendError(CommandSender sender, String message, Object... args) { - sender.sendMessage(ERROR_PREFIX + String.format(message, args)); + sendMessage(sender, message, LogLevel.ERROR, args); } // Private methods - public String gen(String name) { + private String gen(String name) { return String.format(PREFIX_TEMPLATE, name); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 8711ce6a2..6a63dd417 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -37,7 +37,6 @@ import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.block.PrisonBlock; -import tech.mcprison.prison.localization.Localizable; import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Block; import tech.mcprison.prison.mines.data.Mine; @@ -49,6 +48,7 @@ import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.FancyMessageComponent; +import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.output.RowComponent; import tech.mcprison.prison.selection.Selection; @@ -100,20 +100,20 @@ public void createCommand(CommandSender sender, Selection selection = Prison.get().getSelectionManager().getSelection(player); if (!selection.isComplete()) { pMines.getMinesMessages().getLocalizable("select_bounds") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } if (!selection.getMin().getWorld().getName() .equalsIgnoreCase(selection.getMax().getWorld().getName())) { pMines.getMinesMessages().getLocalizable("world_diff") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } if (PrisonMines.getInstance().getMine(mineName) != null) { pMines.getMinesMessages().getLocalizable("mine_exists") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } @@ -375,7 +375,7 @@ public void addBlockCommand(CommandSender sender, m.getPrisonBlocks().forEach(block1 -> totalComp[0] += block1.getChance()); if (totalComp[0] > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full"). - sendTo(sender, Localizable.Level.ERROR); + sendTo(sender, LogLevel.ERROR); return; } @@ -407,7 +407,7 @@ public void addBlockCommand(CommandSender sender, m.getBlocks().forEach(block1 -> totalComp[0] += block1.getChance()); if (totalComp[0] > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full") - .sendTo(sender, Localizable.Level.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } @@ -488,7 +488,7 @@ public void setBlockCommand(CommandSender sender, if (totalChance > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full"). - sendTo(sender, Localizable.Level.ERROR); + sendTo(sender, LogLevel.ERROR); return; } @@ -553,7 +553,7 @@ public void setBlockCommand(CommandSender sender, if (totalChance > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full"). - sendTo(sender, Localizable.Level.ERROR); + sendTo(sender, LogLevel.ERROR); return; } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java index 5df2a0f5f..076111956 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java @@ -1,23 +1,22 @@ package tech.mcprison.prison.ranks.commands; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Optional; + import tech.mcprison.prison.chat.FancyMessage; import tech.mcprison.prison.commands.Arg; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.commands.Wildcard; import tech.mcprison.prison.internal.CommandSender; -import tech.mcprison.prison.localization.Localizable; -import tech.mcprison.prison.localization.Localizable.Level; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.FancyMessageComponent; +import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.ranks.PrisonRanks; import tech.mcprison.prison.ranks.data.Rank; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Optional; - /** * @author Faizaan A. Datoo */ @@ -26,13 +25,13 @@ public class CommandCommands { public CommandCommands() { super(); - // Now this is slight strange. Once in a while I've been seeing exceptions that the + // Now this is slightly strange. Once in a while I've been seeing exceptions that the // following class cannot be resolved. So I don't know why it can't, but it was not // being used directly within this Ranks module, so it's being added here just to // allow the compiler to add it, and so hopefully the class loaders at run time can // finally access it consistently. @SuppressWarnings( "unused" ) - Level force = Localizable.Level.ERROR; + LogLevel force = LogLevel.ERROR; } @Command(identifier = "ranks command add", diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 3389627f4..a66c720b9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -369,7 +369,7 @@ public void toggleDoor(Location doorLocation) { return; } - log(Output.get().gen("&eDebug") + " &7", message, format); + log( Output.get().format( message, LogLevel.DEBUG), format ); } @Override public String runConverter() { From 04559a43408d18b22f0867f5a4975b15208f5871 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 10 Oct 2020 17:41:07 -0400 Subject: [PATCH 043/243] Hooking up more details on the ModuleElement for mines and ranks. --- .../prison/modules/ModuleElement.java | 2 + .../tech/mcprison/prison/mines/data/Mine.java | 12 ++ .../mcprison/prison/mines/data/MineData.java | 27 ++++ .../tech/mcprison/prison/ranks/data/Rank.java | 121 +++++++++++++++++- 4 files changed, 156 insertions(+), 6 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java index c8064e7da..965c64cf2 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java +++ b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElement.java @@ -17,6 +17,8 @@ public interface ModuleElement { // private transient final ModuleElementType elementType; public ModuleElementType getModuleElementType(); + public int getId(); + public String getName(); public String getTag(); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 096c1946d..f0bcdce01 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -241,6 +241,12 @@ private void loadFromDocument( Document document ) // When loading, skipResetBypassCount must be set to zero: setSkipResetBypassCount( 0 ); + + String rankString = (String) document.get( "rank" ); + setRank( null ); + setRankString( rankString ); + + // This is a validation set to ensure only one block type is loaded file system. // Must keep the first one loaded. Set validateBlockNames = new HashSet<>(); @@ -469,6 +475,12 @@ public Document toDocument() { ret.put( "usePagingOnReset", isUsePagingOnReset() ); + + String rank = getRank().getModuleElementType() + "," + getRank().getName() + "," + + getRank().getId() + "," + getRank().getTag(); + ret.put("rank", rank ); + + return ret; } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 2a5c3f5ca..05ff4c253 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -71,6 +71,12 @@ public abstract class MineData private boolean usePagingOnReset = false; private ModuleElement rank; + /** + * When loading mines, ranks will not have been loaded yet, so must + * save the rankString to be paired to the Ranks later. + * The rankString are the components of the ModuleElement. + */ + private String rankString; public enum MineNotificationMode { @@ -136,6 +142,7 @@ public MineData() { this.usePagingOnReset = false; this.rank = null; + this.rankString = null; } /** @@ -185,6 +192,19 @@ public void setSortOrder( int sortOrder ) { this.sortOrder = sortOrder; } + + /** + * Mines do not use an id. So these will always + * return a -1 and will ignore any value that is + * set. An id is forced by Ranks and Ladders. + */ + public int getId() { + return -1; + } + public void setId( int idIsIgnored ) { + // ignore + } + /** * Sets the name of this mine * @@ -523,5 +543,12 @@ public ModuleElement getRank() { public void setRank( ModuleElement rank ) { this.rank = rank; } + + public String getRankString() { + return rankString; + } + public void setRankString( String rankString ) { + this.rankString = rankString; + } } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java index 1ab0ec6b9..c479c9dba 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java @@ -17,20 +17,24 @@ package tech.mcprison.prison.ranks.data; +import java.util.ArrayList; +import java.util.List; + +import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.ranks.RankUtil; import tech.mcprison.prison.sorting.PrisonSortable; import tech.mcprison.prison.store.Document; -import java.util.List; - /** * Represents a single rank. * * @author Faizaan A. Datoo */ public class Rank - implements PrisonSortable { + implements PrisonSortable, + ModuleElement { /* * Fields & Constants @@ -64,11 +68,20 @@ public class Rank public transient Rank rankPrior; public transient Rank rankNext; + + private List mines; + private List mineStrings; + + /* * Document-related */ public Rank() { + super(); + + this.mines = new ArrayList<>(); + this.mineStrings = new ArrayList<>(); } /** @@ -96,6 +109,13 @@ public Rank(Document document) { this.currency = (currency == null || "null".equalsIgnoreCase( currency ) ? null : currency); this.rankUpCommands = (List) document.get("commands"); + + List mineStrings = (List) document.get("mines"); + getMines().clear(); + setMineStrings( mineStrings ); + + + } catch ( Exception e ) { @@ -116,6 +136,17 @@ public Document toDocument() { ret.put("cost", this.cost); ret.put("currency", this.currency); ret.put("commands", this.rankUpCommands); + + List mineStrings = new ArrayList<>(); + if ( getMines() != null ) { + for ( ModuleElement mine : getMines() ) { + String mineString = mine.getModuleElementType() + "," + mine.getName() + "," + + mine.getId() + "," + mine.getTag(); + mineStrings.add( mineString ); + } + } + ret.put("mines", mineStrings); + return ret; } @@ -129,12 +160,13 @@ public String filename() { return "rank_" + id; } - + /* * equals() and hashCode() */ - @Override public boolean equals(Object o) { + @Override + public boolean equals(Object o) { if (this == o) { return true; } @@ -163,7 +195,8 @@ public String filename() { return tag != null ? tag.equals(rank.tag) : rank.tag == null; } - @Override public int hashCode() { + @Override + public int hashCode() { int result; long temp; result = id; @@ -175,4 +208,80 @@ public String filename() { return result; } + public int getId() { + return id; + } + public void setId( int id ) { + this.id = id; + } + + public String getName() { + return name; + } + public void setName( String name ) { + this.name = name; + } + + public String getTag() { + return tag; + } + public void setTag( String tag ) { + this.tag = tag; + } + + public double getCost() { + return cost; + } + public void setCost( double cost ) { + this.cost = cost; + } + + public String getCurrency() { + return currency; + } + public void setCurrency( String currency ) { + this.currency = currency; + } + + public List getRankUpCommands() { + return rankUpCommands; + } + public void setRankUpCommands( List rankUpCommands ) { + this.rankUpCommands = rankUpCommands; + } + + public Rank getRankPrior() { + return rankPrior; + } + public void setRankPrior( Rank rankPrior ) { + this.rankPrior = rankPrior; + } + + public Rank getRankNext() { + return rankNext; + } + public void setRankNext( Rank rankNext ) { + this.rankNext = rankNext; + } + + @Override + public ModuleElementType getModuleElementType() { + return ModuleElementType.RANK; + } + + public List getMines() { + return mines; + } + public void setMines( List mines ) { + this.mines = mines; + } + + public List getMineStrings() { + return mineStrings; + } + public void setMineStrings( List mineStrings ) { + this.mineStrings = mineStrings; + } + + } From 560ab403fae8911a70ef62aebbd78e29de53229c Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 11 Oct 2020 13:47:56 -0400 Subject: [PATCH 044/243] Bumping the version to v3.2.2-alpha.5 to prepare for the addition of prison's new API. --- changelog_v3.2.x.md | 10 +++++++++- gradle.properties | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index cea8a9670..64d0a9fc6 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,15 @@ that you need. -## tag v3.2.2-alpha.4 - 2020-10-08 +## tag v3.2.2-alpha.5 - 2020-10-11 + + + +* **v3.2.2-alpha.5 - 2020-10-11** + + +* **Cleaned up and standardized log levels.** +Added PLAIN for use with mine resets, and DEBUG too. Eliminated redundancies. * **tag v3.2.2-alpha.4 - 2020-10-08** diff --git a/gradle.properties b/gradle.properties index 97c57e00e..17994975c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.4 +version=3.2.2-alpha.5 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From c7562015bbe9429374a42bdf16eea7dcea1ca34b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 11 Oct 2020 13:52:52 -0400 Subject: [PATCH 045/243] Continuing work on linking mines and ranks... Mines and ranks are now being linked together upon server startup. Not finished. There are still items to be added, like the mine and rank commands to work with adding and removing ranks and mines. --- changelog_v3.2.x.md | 5 ++ .../prison/modules/ModuleElementType.java | 13 ++++ .../mcprison/prison/spigot/SpigotPrison.java | 61 ++++++++++++++++++- 3 files changed, 78 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 64d0a9fc6..d97d1392c 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -12,6 +12,11 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-11 +* **Continuing work on linking mines and ranks...** +Mines and ranks are now being linked together upon server startup. +Not finished. There are still items to be added, like the mine and rank commands to work with adding and removing ranks and mines. + + * **v3.2.2-alpha.5 - 2020-10-11** diff --git a/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java index d00af091a..c0b5cb61b 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/modules/ModuleElementType.java @@ -6,4 +6,17 @@ public enum ModuleElementType { RANK, LADDER; + public static ModuleElementType fromString( String value ) + { + ModuleElementType results = null; + + for ( ModuleElementType meType : values() ) { + if ( meType.name().equals( value ) ) { + results = meType; + break; + } + } + return results; + } + } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 81dfb71ab..20a180c9e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -41,11 +41,16 @@ import tech.mcprison.prison.alerts.Alerts; import tech.mcprison.prison.integration.Integration; import tech.mcprison.prison.mines.PrisonMines; +import tech.mcprison.prison.mines.data.Mine; +import tech.mcprison.prison.mines.managers.MineManager; import tech.mcprison.prison.modules.Module; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.ranks.PrisonRanks; +import tech.mcprison.prison.ranks.data.Rank; +import tech.mcprison.prison.ranks.managers.RankManager; import tech.mcprison.prison.spigot.autofeatures.AutoManager; import tech.mcprison.prison.spigot.autofeatures.AutoManagerFeatures; import tech.mcprison.prison.spigot.block.OnBlockBreakEventListener; @@ -426,9 +431,63 @@ private void initModules() { Output.get().logInfo("&7 Prison Ranks have been disabled in &2plugins/Prison/modules.yml&7."); Prison.get().getModuleManager().getDisabledModules().add( PrisonRanks.MODULE_NAME ); } + + // Try to load the mines and ranks that have the ModuleElement placeholders: + // Both the mine and ranks modules must be enabled. + if (modulesConf.getBoolean("mines") && modulesConf.getBoolean("ranks")) { + linkMinesAndRanks(); + } } - private void applyDeferredIntegrationInitializations() { + private void linkMinesAndRanks() { + + + if ( PrisonRanks.getInstance() != null && PrisonRanks.getInstance().isEnabled() && + PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled() + ) { + RankManager rm = PrisonRanks.getInstance().getRankManager(); + MineManager mm = PrisonMines.getInstance().getMineManager(); + + // go through all mines and link them to the Ranks and link that + // rank back to the mine. + // So just by linking mines, will also link all of the ranks too. + // It's important to understand the primary source is within the Mine + // since a mine can only have one rank. + rm.getRanks(); + mm.getMines(); + + int count = 0; + for ( Mine mine : mm.getMines() ) + { + if ( mine.getRank() == null && mine.getRankString() != null ) { + String[] rParts = mine.getRankString().split( "," ); + + if ( rParts.length > 2 ) { + ModuleElementType meType = ModuleElementType.fromString( rParts[0] ); + String rankName = rParts[1]; + + if ( meType == ModuleElementType.RANK ) { + Rank rank = rm.getRank( rankName ).orElse( null ); + + if ( rank != null ) { + mine.setRank( rank ); + rank.getMines().add( mine ); + count++; + } + } + } + } + } + + Output.get().logInfo( "A total of %s Mines and Ranks have been linked together.", + Integer.toString( count ) ); + + } + + + } + + private void applyDeferredIntegrationInitializations() { for ( Integration deferredIntegration : PrisonAPI.getIntegrationManager().getDeferredIntegrations() ) { deferredIntegration.deferredInitialization(); } From e94c956cb0d7aac90a88554d50551607bc28be95 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 11 Oct 2020 13:54:11 -0400 Subject: [PATCH 046/243] New Feature!! Added the first Prison API components. Started to add some api end points to make it easier to access some basic internals without having to figure out how to conform to prison's restrictions. --- changelog_v3.2.x.md | 5 + knownissues_v3.2.x.md | 4 +- .../prison/mines/managers/MineManager.java | 64 ++++++- .../prison/spigot/api/PrisonSpigotAPI.java | 180 ++++++++++++++++++ 4 files changed, 251 insertions(+), 2 deletions(-) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index d97d1392c..98ebb9cd1 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -12,6 +12,11 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-11 +* **New Feature!! Added the first Prison API components** +Started to add some api end points to make it easier to access some basic internals +without having to figure out how to conform to prison's restrictions. + + * **Continuing work on linking mines and ranks...** Mines and ranks are now being linked together upon server startup. Not finished. There are still items to be added, like the mine and rank commands to work with adding and removing ranks and mines. diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index 7b22aff0a..0012b87b2 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -7,7 +7,9 @@ a short list of To Do's. This list is intended to help work through known issues, and/or to serve as items that should be added, or fixed. -# To Do Items - During Beta v3.2.1 +# To Do Items - During Beta v3.2.2 + + * **Rename Mines** diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java index 7e06ed7b7..4e8fff8ca 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java @@ -66,17 +66,73 @@ public class MineManager private boolean mineStats = false; - + /** + *

These sort orders control how the mines are sorted, and which ones + * are omitted from the result's included list of mines. + *

+ * + *

The type invalid is used to indicate that String value could not be + * converted to a MineSortOrder when using the fromString() function. + *

+ * + *

There are three primary sort orders: sortOrder, alpha, and active. + * Those primary three excludes any mine that has a sortOrder of -1. + * Each of these has a counter sort type that includes the excluded + * mines, and are: xSortOrder, xAplha, and xActive. + *

+ * + * + */ public enum MineSortOrder { + /** + * The sort order is based upon the mine's sortOrder field. If more than + * one mine exists within a sortOrder, then they will be sub-sorted by + * alphabetical order. Mines are excluded if they have a sortOrder of -1, + * but are placed within the exclude results set and they are sub-sorted + * alphabetically. + */ sortOrder, + + /** + * All mines are sorted by alphabetical order. Mines are excluded if they + * have a sortOrder of -1, but are placed within the exclude results set + * and they are sub-sorted alphabetically. + */ alpha, + + /** + * This provides a list of mines with the most active mines sorted to the + * top of the list. + * + * All mines are sorted alphabetically, with the most active mines being + * placed at the very top of the list. The value of totalBlocksMined is + * used to order the mines. The value of totalBlocksMined resets to zero + * upon server restart. So this provides the most active mines + * since the server started. Mines are excluded if they have a + * sortOrder of -1, but are placed within the exclude results set and + * they are sub-sorted alphabetically. + */ active, + /** + * Same as sortOrder but ignores excluded mines. + */ xSortOrder(true), + + /** + * Same as alpha but ignores excluded mines. + */ xAlpha(true), + /** + * Same as active but ignores excluded mines. + */ xActive(true), + /** + * Not a valid sort order, but is used within the fromString to indicate + * that the parameter sortOrder is invalid. + */ invalid; private final boolean excluded; @@ -109,6 +165,12 @@ public static MineSortOrder fromString( String sortOrder ) { return results; } + /** + * Returns a space separated list of available sort orders, omitting + * invalid. + * + * @return + */ static String availableSortOrders() { StringBuilder sb = new StringBuilder(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java new file mode 100644 index 000000000..26abe5a16 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java @@ -0,0 +1,180 @@ +package tech.mcprison.prison.spigot.api; + +import java.util.ArrayList; +import java.util.List; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.mines.PrisonMines; +import tech.mcprison.prison.mines.data.Mine; +import tech.mcprison.prison.mines.data.PrisonSortableResults; +import tech.mcprison.prison.mines.managers.MineManager; +import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; +import tech.mcprison.prison.ranks.PrisonRanks; +import tech.mcprison.prison.ranks.data.Rank; +import tech.mcprison.prison.ranks.managers.RankManager; +import tech.mcprison.prison.util.BlockType; +import tech.mcprison.prison.util.MaterialType; + +/** + *

These are some api end points to help access some core components within prison. + *

+ * + *

Use of these are at your own risk. Misuse can result in corruption of Prison's + * internal data. + *

+ * + */ +public class PrisonSpigotAPI { + + /** + *

This returns all mines that are within prison. + *

+ * + * @return + */ + public List getMines() { + List results = new ArrayList<>(); + + if ( PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled() ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + + results = mm.getMines(); + } + + return results; + } + + /** + *

Returns all mines within prison, but sorted by the specified sort order. + * Because some sort types omit mines, there are two different collections within the + * PrisonSortableResults. There is an include and exclude list. + *

+ * + *

All sort types that omit mines from the result type has a counter sort type + * that will include all mines and will not omit any. Those begin with an "x". + *

+ * + * @param sortOrder + * @return + */ + public PrisonSortableResults getMines( MineSortOrder sortOrder ) { + PrisonSortableResults results = null; + + if ( PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled() ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + + results = mm.getMines(sortOrder); + } + + return results; + } + + + /** + *

This returns a list of all ranks. + *

+ * + * @return + */ + public List getRanks() { + List results = new ArrayList<>(); + + if ( PrisonRanks.getInstance() != null && PrisonRanks.getInstance().isEnabled() + ) { + RankManager rm = PrisonRanks.getInstance().getRankManager(); + + results = rm.getRanks(); + } + + return results; + } + + /** + *

This function verifies that the block name that you are trying to use is + * actually a valid block name within prison. If it is invalid then a null value + * will be returned. + *

+ * + *

There are a lot of cross references that occur that ensures that the best + * match occurs to fit the requested block name to an actual prison block. + * Since prison supports minecraft 1.8 through 1.16 (and soon to be 1.17), there + * are various possible names for some blocks since their names have changed + * between versions. This also takes in to consideration prison block name + * variations. + *

+ * + * @param blockName The name of a block that is intended to b validated + * @return The name of a valid block within prison + */ + public String getPrisonBlockName( String blockName ) { + String results = null; + + if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { + + PrisonBlock prisonBlock = Prison.get().getPlatform().getPrisonBlock( blockName ); + if ( prisonBlock != null && prisonBlock.isMineable() ) { + results = prisonBlock.getBlockName(); + } + } + else { + + BlockType blockType = BlockType.getBlock(blockName); + if (blockType != null && blockType.getMaterialType() == MaterialType.BLOCK ) { + results = blockType.getMaterialType().name(); + } + } + + return results; + } + + /** + *

Provides a list of all mines that contains the specfied block. + *

+ * + * @param prisonBlockName The prison block name + * @return List of all mines that contains the specified block name + */ + public List getMines( String prisonBlockName ) { + List results = new ArrayList<>(); + + if ( prisonBlockName != null && prisonBlockName.trim().length() > 0 ) { + + PrisonBlock prisonBlock = null; + BlockType blockType = null; + + if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { + + prisonBlock = Prison.get().getPlatform().getPrisonBlock( prisonBlockName ); + if ( prisonBlock != null && !prisonBlock.isMineable() ) { + prisonBlock = null; + } + } + else { + + blockType = BlockType.getBlock( prisonBlockName ); + if (blockType != null && blockType.getMaterialType() != MaterialType.BLOCK ) { + blockType = null; + } + } + + if ( prisonBlock != null || blockType != null ) { + if ( PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled() ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + + List mines = mm.getMines(); + for ( Mine mine : mines ) { + if ( prisonBlock != null && mine.isInMine( blockType ) || + blockType != null && mine.isInMine( blockType ) ) { + results.add( mine ); + break; + } + } + } + } + } + + return results; + } + +} From 8151330452d7a23dbcbf6c01a6a25d841dc61fc9 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 11 Oct 2020 21:59:29 +0200 Subject: [PATCH 047/243] Added permissions to Guidebook Changelogs: - Edited Guidebooks -> Permissions -> Work-In-Progress removed for some sections --- .../prison_docs_command_9_prison_version.md | 2 +- docs/prison_docs_000_toc.md | 91 +++++++++---------- 2 files changed, 46 insertions(+), 47 deletions(-) diff --git a/docs/docs-commands/prison_docs_command_9_prison_version.md b/docs/docs-commands/prison_docs_command_9_prison_version.md index e6a06faef..3f2407ed1 100644 --- a/docs/docs-commands/prison_docs_command_9_prison_version.md +++ b/docs/docs-commands/prison_docs_command_9_prison_version.md @@ -7,7 +7,7 @@ Show many infos about prison and also some placeholders ## Permission: -- `prison admin` +- `prison.admin` ## SubCommands: diff --git a/docs/prison_docs_000_toc.md b/docs/prison_docs_000_toc.md index dfbcd624f..2b9174530 100644 --- a/docs/prison_docs_000_toc.md +++ b/docs/prison_docs_000_toc.md @@ -40,58 +40,57 @@ **PRISON COMMANDS:** -(Work-In-Progress) - -- [/prison](docs-commands/prison_docs_command_1_prison.md) -- [/prison alerts](docs-commands/prison_docs_command_2_prison_alerts.md) -- [/prison autofeatures](docs-commands/prison_docs_command_3_prison_autofeatures.md) -- [/prison gui](docs-commands/prison_docs_command_4_prison_gui.md) -- [/prison modules](docs-commands/prison_docs_command_5_prison_modules.md) -- [/prison placeholders](docs-commands/prison_docs_command_6_prison_placeholders.md) -- [/prison reload](docs-commands/prison_docs_command_7_prison_reload.md) -- [/prison version](docs-commands/prison_docs_command_9_prison_version.md) - - -**RANKS COMMANDS: _Guidebook TO-DO_** (Work-In-Progress) - -- [/ranks \[ladder\] ](docs-commands/prison_docs_command_11_ranks.md) -- [/ranks command](docs-commands/prison_docs_command_12_ranks_command.md) -- [/ranks create \[rankName\] \[cost\] \[ladder\] \[tag\] ](docs-commands/prison_docs_command_13_ranks_create.md) -- [/ranks delete \[rankName\] ](docs-commands/prison_docs_command_14_ranks_delete.md) -- [/ranks demote \[playerName\] \[ladder\] \[chargePlayers\] ](docs-commands/prison_docs_command_15_ranks_demote.md) -- [/ranks info \[rankName\] ](docs-commands/prison_docs_command_16_ranks_info.md) -- [/ranks ladder](docs-commands/prison_docs_command_17_ranks_ladder_info.md) -- [/ranks list \[ladderName\] ](docs-commands/prison_docs_command_18_ranks_list.md) -- [/ranks players \[ladderName\] \[action\] ](docs-commands/prison_docs_command_19_ranks_players.md) -- [/ranks player \[player\] ](docs-commands/prison_docs_command_20_ranks_player.md) -- [/ranks promote \[playerName\] \[ladder\] \[chargePlayers\] ](docs-commands/prison_docs_command_21_ranks_promote.md) -- [/ranks set](docs-commands/prison_docs_command_22_ranks_set.md) + +- [/prison](docs-commands/prison_docs_command_1_prison.md) `prison.admin` +- [/prison alerts](docs-commands/prison_docs_command_2_prison_alerts.md) `prison.alerts` +- [/prison autofeatures](docs-commands/prison_docs_command_3_prison_autofeatures.md) `prison.admin` `prison.automanager` `prison.automanager.pickup` `prison.automanager.smelt` `prison.automanager.block` +- [/prison gui](docs-commands/prison_docs_command_4_prison_gui.md) `prison.gui` +- [/prison modules](docs-commands/prison_docs_command_5_prison_modules.md) `prison.modules` +- [/prison placeholders](docs-commands/prison_docs_command_6_prison_placeholders.md) `prison.placeholder` +- [/prison reload](docs-commands/prison_docs_command_7_prison_reload.md) `prison.reload` +- [/prison version](docs-commands/prison_docs_command_9_prison_version.md) `prison.admin` + + +**RANKS COMMANDS**: + +- [/ranks \[ladder\] ](docs-commands/prison_docs_command_11_ranks.md) `ranks.admin` +- [/ranks command](docs-commands/prison_docs_command_12_ranks_command.md) `prison.alerts` +- [/ranks create \[rankName\] \[cost\] \[ladder\] \[tag\] ](docs-commands/prison_docs_command_13_ranks_create.md) `ranks.create` +- [/ranks delete \[rankName\] ](docs-commands/prison_docs_command_14_ranks_delete.md) `ranks.delete` +- [/ranks demote \[playerName\] \[ladder\] \[chargePlayers\] ](docs-commands/prison_docs_command_15_ranks_demote.md) `ranks.demote` +- [/ranks info \[rankName\] ](docs-commands/prison_docs_command_16_ranks_info.md) `ranks.info` +- [/ranks ladder](docs-commands/prison_docs_command_17_ranks_ladder_info.md) `ranks.admin` +- [/ranks list \[ladderName\] ](docs-commands/prison_docs_command_18_ranks_list.md) `ranks.list` +- [/ranks players \[ladderName\] \[action\] ](docs-commands/prison_docs_command_19_ranks_players.md) `ranks.admin` +- [/ranks player \[player\] ](docs-commands/prison_docs_command_20_ranks_player.md) `ranks.admin` +- [/ranks promote \[playerName\] \[ladder\] \[chargePlayers\] ](docs-commands/prison_docs_command_21_ranks_promote.md) `ranks.promote` +- [/ranks set](docs-commands/prison_docs_command_22_ranks_set.md) `ranks.admin` **MINES COMMANDS: _Guidebook TO-DO_** (Work-In-Progress) -- [/mines](docs-commands/prison_docs_command_23_mines.md) -- [/mines block](docs-commands/prison_docs_command_24_mines_block.md) -- [/mines command](docs-commands/prison_docs_command_25_mines_command.md) -- [/mines create \[mineName\] ](docs-commands/prison_docs_command_26_mines_create.md) -- [/mines delete \[mineName\] \[confirm\] ](docs-commands/prison_docs_command_27_mines_delete.md) -- [/mines info \[mineName\] \[page\] ](docs-commands/prison_docs_command_28_mines_info.md) -- [/mines list \[page\] ](docs-commands/prison_docs_command_29_mines_list.md) -- [/mines rename \[page\] ](docs-commands/prison_docs_command_41_mines_rename.md) -- [/mines reset \[mineName\] ](docs-commands/prison_docs_command_30_mines_reset.md) -- [/mines set](docs-commands/prison_docs_command_31_mines_set.md) -- [/mines stats](docs-commands/prison_docs_command_32_mines_stats.md) -- [/mines tp \[mineName\] ](docs-commands/prison_docs_command_33_mines_tp.md) -- [/mines wand](docs-commands/prison_docs_command_34_mines_wand.md) -- [/mines whereami](docs-commands/prison_docs_command_35_mines_whereami.md) +- [/mines](docs-commands/prison_docs_command_23_mines.md) `mines.admin` +- [/mines block](docs-commands/prison_docs_command_24_mines_block.md) `mines.admin` +- [/mines command](docs-commands/prison_docs_command_25_mines_command.md) `mines.admin` +- [/mines create \[mineName\] ](docs-commands/prison_docs_command_26_mines_create.md) `mines.create` +- [/mines delete \[mineName\] \[confirm\] ](docs-commands/prison_docs_command_27_mines_delete.md) `mines.delete` +- [/mines info \[mineName\] \[page\] ](docs-commands/prison_docs_command_28_mines_info.md) `mines.info` +- [/mines list \[page\] ](docs-commands/prison_docs_command_29_mines_list.md) `mines.list` +- [/mines rename \[page\] ](docs-commands/prison_docs_command_41_mines_rename.md) `mines.rename` +- [/mines reset \[mineName\] ](docs-commands/prison_docs_command_30_mines_reset.md) `mines.reset` +- [/mines set](docs-commands/prison_docs_command_31_mines_set.md) `mines.admin` +- [/mines stats](docs-commands/prison_docs_command_32_mines_stats.md) `mines.stats` +- [/mines tp \[mineName\] ](docs-commands/prison_docs_command_33_mines_tp.md) `mines.tp` `mines.tp.[mineName]` +- [/mines wand](docs-commands/prison_docs_command_34_mines_wand.md) `mines.wand` +- [/mines whereami](docs-commands/prison_docs_command_35_mines_whereami.md) `mines.whereami` **MORE COMMANDS: _Guidebook TO-DO_** (Work-In-Progress) -- [/sellall](docs-commands/prison_docs_command_10_sellall.md) -- [/prisonmanager](docs-commands/prison_docs_command_36_prisonmanager.md) -- [/prestiges](docs-commands/prison_docs_command_37_prestiges.md) -- [/prestige](docs-commands/prison_docs_command_38_prestige.md) -- [/rankupMax \[ladder\]](docs-commands/prison_docs_command_39_rankupmax.md) -- [/rankup \[ladder\]](docs-commands/prison_docs_command_40_rankup.md) +- [/sellall](docs-commands/prison_docs_command_10_sellall.md) `prison.admin` `none for GUI` +- [/prisonmanager](docs-commands/prison_docs_command_36_prisonmanager.md) `prison.admin for Admin GUI` `none for Players GUIs` +- [/prestiges](docs-commands/prison_docs_command_37_prestiges.md) `none` +- [/prestige](docs-commands/prison_docs_command_38_prestige.md) `ranks.user` `ranks.rankup.prestiges` +- [/rankupMax \[ladder\]](docs-commands/prison_docs_command_39_rankupmax.md) `ranks.user` `ranks.rankupmax` `ranks.rankupmax.[ladderName]` +- [/rankup \[ladder\]](docs-commands/prison_docs_command_40_rankup.md) `ranks.user` `ranks.rankup.[ladderName]` From 5f6cae704800ef3c7a89220f2e802bc0b1bcd9e3 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 11 Oct 2020 17:04:49 -0400 Subject: [PATCH 048/243] Bug Fix: Prevents stack traces when using these commands from the console, or when having the wrong parameters. Not honestly sure about why this was causing a stack trace, but noticed that it was not constrained to just players like it should have been. And that fixed it. Cleaned up the code a little to prevent NPE if an invalid rank is provided; it displays an error message, but it still tried to run the rankup commands which was wrong. --- .../prison/ranks/commands/RankUpCommand.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java index 998ecebd6..05684399f 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java @@ -69,7 +69,7 @@ public void rankUpMax(Player sender, } @Command(identifier = "rankup", description = "Ranks up to the next rank.", - permissions = "ranks.user", altPermissions = "ranks.rankup.[ladderName]", onlyPlayers = false) + permissions = "ranks.user", altPermissions = "ranks.rankup.[ladderName]", onlyPlayers = true) public void rankUp(Player sender, @Arg(name = "ladder", description = "The ladder to rank up on.", def = "default") String ladder ) { @@ -101,6 +101,10 @@ private void rankUpPrivate(Player sender, String ladder, RankupModes mode, Strin UUID playerUuid = sender.getUUID(); ladder = confirmLadder( sender, ladder ); + if ( ladder == null ) { + // ladder cannot be null, + return; + } RankPlayer rankPlayer = getPlayer( sender, playerUuid, sender.getName() ); Rank pRank = rankPlayer.getRank( ladder ); @@ -110,7 +114,7 @@ private void rankUpPrivate(Player sender, String ladder, RankupModes mode, Strin boolean WillPrestige = false; // If the ladder's the prestige one, it'll execute all of this - if (ladder.equalsIgnoreCase("prestiges")) { + if ( ladder!= null && ladder.equalsIgnoreCase("prestiges")) { if (!(lm.getLadder("default").isPresent())){ sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&c[ERROR] There isn't a default ladder! Please report this to an admin!")); @@ -155,10 +159,10 @@ private void rankUpPrivate(Player sender, String ladder, RankupModes mode, Strin // Get the player rank after pRankAfter = rankPlayer.getRank(ladder); + + // Prestige method + prestigePlayer(sender, rankPlayer, pRank, pRankAfter, lm, WillPrestige, rankupWithSuccess); } - - // Prestige method - prestigePlayer(sender, rankPlayer, pRank, pRankAfter, lm, WillPrestige, rankupWithSuccess); } private void prestigePlayer(Player sender, RankPlayer rankPlayer, Rank pRank, Rank pRankAfter, LadderManager lm, boolean willPrestige, boolean rankupWithSuccess) { @@ -315,15 +319,18 @@ private void setPlayerRank( Player player, String rank, String ladder, CommandSe public String confirmLadder( CommandSender sender, String ladderName ) { + String results = null; Optional ladderOptional = PrisonRanks.getInstance().getLadderManager().getLadder(ladderName); // The ladder doesn't exist if (!ladderOptional.isPresent()) { Output.get().sendError(sender, "The ladder '%s' does not exist.", ladderName); - ladderName = null; } - return ladderName; + else { + results = ladderOptional.get().name; + } + return results; } From 0d951f949b8d387d1dea21fb3856a3f8b0e0ebea Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Tue, 13 Oct 2020 00:01:51 +0200 Subject: [PATCH 049/243] Adding some blocks to the commented ones Changelogs: - New blocks in the comments --- .../java/tech/mcprison/prison/util/BlockType.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 2c3c1e68b..52487e4ba 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -878,7 +878,17 @@ public enum BlockType { // SPRUCE_WOOD_113( "spruce_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), // BIRCH_WOOD_113( "birch_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), // JUNGLE_WOOD_113( "jungle_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// +// DEAD_TUBE_CORAL_BLOCK_113 ( "dead_tube_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// TUBE_CORAL_BLOCK_113 ( "tube_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// DEAD_BRAIN_CORAL_BLOCK_113 ( "dead_brain_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// BRAIN_CORAL_BLOCK_113 ( "brain_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// DEAD_BUBBLE_CORAL_BLOCK_113 ( "dead_bubble_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// BUBBLE_CORAL_BLOCK_113 ( "bubble_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// DEAD_HORN_CORAL_BLOCK_113 ( "dead_horn_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// HORN_CORAL_BLOCK_113 ( "horn_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), +// DEAD_FIRE_CORAL_BLOCK_113( "dead_fire_coral_block", MaterialType.Block, MaterialVersion.v1_13 ), +// FIRE_CORAL_BLOCK_113( "fire_coral_block", MaterialType.Block, MaterialVersion.v1_13 ), +// Reminder: Add Terracotta blocks too in the future ; From ad7366bc1dcd3a514e8e4cfc981676d593997efb Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 12 Oct 2020 19:25:35 -0400 Subject: [PATCH 050/243] Upgrade XSeries from v7.2.1 to v7.5.4. --- changelog_v3.2.x.md | 6 +++++- prison-spigot/build.gradle | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 98ebb9cd1..aeb6e8a9a 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,11 @@ that you need. -## tag v3.2.2-alpha.5 - 2020-10-11 +## tag v3.2.2-alpha.5 - 2020-10-12 + + + +* **Upgrade XSeries from v7.2.1 to v7.5.4** * **New Feature!! Added the first Prison API components** diff --git a/prison-spigot/build.gradle b/prison-spigot/build.gradle index 09b87d968..5780471a1 100644 --- a/prison-spigot/build.gradle +++ b/prison-spigot/build.gradle @@ -50,7 +50,8 @@ dependencies { implementation 'me.lucko.luckperms:luckperms-api:4.0' - implementation 'com.github.cryptomorin:XSeries:7.2.1' + implementation 'com.github.cryptomorin:XSeries:7.5.4' +// implementation 'com.github.cryptomorin:XSeries:7.2.1' // implementation 'com.github.cryptomorin:XSeries:6.3.2.1' @@ -97,7 +98,7 @@ shadowJar { include(dependency('org.bstats:bstats-bukkit:1.5')) include(dependency('me.clip:placeholderapi:2.9.1')) include(dependency('org.inventivetalent.spiget-update:bukkit:1.4.2-SNAPSHOT')) - include(dependency('com.github.cryptomorin:XSeries:7.2.1')) + include(dependency('com.github.cryptomorin:XSeries:7.5.4')) include(project(':prison-core')) include(project(':prison-mines')) include(project(':prison-ranks')) From e62747081ccbdfb56abc96b9684956900d8e83df Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 12 Oct 2020 19:26:53 -0400 Subject: [PATCH 051/243] New Features! Total of 92 new blocks added. Added 48 v1.12 blocks and 44 v1.13 blocks! V1.12 blocks: 16 colored glazed terracotta, 16 colored concrete, 16 colored concrete powder. v1.13 blocks: 10 coral types, 10 coral block types, 10 coral fan types, and 10 coral wall fan types, cave_air, void_air, blue_ice, and bubble_column. --- changelog_v3.2.x.md | 4 + .../tech/mcprison/prison/util/BlockType.java | 162 ++++++++++++++---- 2 files changed, 130 insertions(+), 36 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index aeb6e8a9a..296b69751 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,10 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-12 +* **New Features! Added 48 v1.12 blocks and 44 v1.13 blocks!** +V1.12 blocks: 16 colored glazed terracotta, 16 colored concrete, 16 colored concrete powder. +v1.13 blocks: 10 coral types, 10 coral block types, 10 coral fan types, and 10 coral wall fan types, cave_air, void_air, blue_ice, and bubble_column. + * **Upgrade XSeries from v7.2.1 to v7.5.4** diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 52487e4ba..77e9dbc44 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -760,7 +760,132 @@ public enum BlockType { DISC_11( 2266, "minecraft:record_11", 0 ), WAIT_DISC( 2267, "minecraft:record_wait", 0 ), + + + // Minecraft v1.12.x blocks: + + WHITE_GLAZED_TERRACOTTA( "minecraft:white_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + ORANGE_GLAZED_TERRACOTTA( "minecraft:orange_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + MAGENTA_GLAZED_TERRACOTTA( "minecraft:magenta_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_BLUE_GLAZED_TERRACOTTA( "minecraft:light_blue_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + YELLOW_GLAZED_TERRACOTTA( "minecraft:yellow_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + LIME_GLAZED_TERRACOTTA( "minecraft:lime_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + PINK_GLAZED_TERRACOTTA( "minecraft:pink_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GRAY_GLAZED_TERRACOTTA( "minecraft:gray_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_GRAY_GLAZED_TERRACOTTA( "minecraft:light_gray_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + CYAN_GLAZED_TERRACOTTA( "minecraft:cyan_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + PURPLE_GLAZED_TERRACOTTA( "minecraft:purple_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLUE_GLAZED_TERRACOTTA( "minecraft:blue_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BROWN_GLAZED_TERRACOTTA( "minecraft:brown_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GREEN_GLAZED_TERRACOTTA( "minecraft:green_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + RED_GLAZED_TERRACOTTA( "minecraft:red_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLACK_GLAZED_TERRACOTTA( "minecraft:black_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + + WHITE_CONCRETE( "minecraft:white_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + ORANGE_CONCRETE( "minecraft:orange_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + MAGENTA_CONCRETE( "minecraft:magenta_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_BLUE_CONCRETE( "minecraft:light_blue_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + YELLOW_CONCRETE( "minecraft:yellow_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + LIME_CONCRETE( "minecraft:lime_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + PINK_CONCRETE( "minecraft:pink_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GRAY_CONCRETE( "minecraft:gray_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_GRAY_CONCRETE( "minecraft:light_gray_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + CYAN_CONCRETE( "minecraft:cyan_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + PURPLE_CONCRETE( "minecraft:purple_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLUE_CONCRETE( "minecraft:blue_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BROWN_CONCRETE( "minecraft:brown_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GREEN_CONCRETE( "minecraft:green_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + RED_CONCRETE( "minecraft:red_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLACK_CONCRETE( "minecraft:black_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + + WHITE_CONCRETE_POWDER( "minecraft:white_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + ORANGE_CONCRETE_POWDER( "minecraft:orange_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + MAGENTA_CONCRETE_POWDER( "minecraft:magenta_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_BLUE_CONCRETE_POWDER( "minecraft:light_blue_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + YELLOW_CONCRETE_POWDER( "minecraft:yellow_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + LIME_CONCRETE_POWDER( "minecraft:lime_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + PINK_CONCRETE_POWDER( "minecraft:pink_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GRAY_CONCRETE_POWDER( "minecraft:gray_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_GRAY_CONCRETE_POWDER( "minecraft:light_gray_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + CYAN_CONCRETE_POWDER( "minecraft:cyan_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + PURPLE_CONCRETE_POWDER( "minecraft:purple_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLUE_CONCRETE_POWDER( "minecraft:blue_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BROWN_CONCRETE_POWDER( "minecraft:brown_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GREEN_CONCRETE_POWDER( "minecraft:green_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + RED_CONCRETE_POWDER( "minecraft:red_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLACK_CONCRETE_POWDER( "minecraft:black_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + + + + // Minecraft v1.13.x blocks: + + CAVE_AIR( "minecraft:cave_air", MaterialType.BLOCK, MaterialVersion.v1_13 ), + VOID_AIR( "minecraft:void_air", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + BLUE_ICE( "minecraft:blue_ice", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_COLUMN( "minecraft:bubble_column", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + TUBE_CORAL( "minecraft:tube_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL( "minecraft:brain_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL( "minecraft:bubble_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL( "minecraft:fire_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL( "minecraft:horn_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + DEAD_TUBE_CORAL( "minecraft:dead_tube_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL( "minecraft:dead_brain_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL( "minecraft:dead_bubble_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL( "minecraft:dead_fire_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL( "minecraft:dead_horn_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + TUBE_CORAL_BLOCK( "minecraft:tube_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL_BLOCK( "minecraft:brain_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL_BLOCK( "minecraft:bubble_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL_BLOCK( "minecraft:fire_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL_BLOCK( "minecraft:horn_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + DEAD_TUBE_CORAL_BLOCK( "minecraft:dead_tube_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL_BLOCK( "minecraft:dead_brain_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL_BLOCK( "minecraft:dead_bubble_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL_BLOCK( "minecraft:dead_fire_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL_BLOCK( "minecraft:dead_horn_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + TUBE_CORAL_FAN( "minecraft:tube_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL_FAN( "minecraft:brain_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL_FAN( "minecraft:bubble_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL_FAN( "minecraft:fire_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL_FAN( "minecraft:horn_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_TUBE_CORAL_FAN( "minecraft:dead_tube_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL_FAN( "minecraft:dead_brain_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL_FAN( "minecraft:dead_bubble_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL_FAN( "minecraft:dead_fire_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL_FAN( "minecraft:dead_horn_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + TUBE_CORAL_WALL_FAN( "minecraft:tube_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL_WALL_FAN( "minecraft:brain_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL_WALL_FAN( "minecraft:bubble_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL_WALL_FAN( "minecraft:fire_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL_WALL_FAN( "minecraft:horn_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + DEAD_TUBE_CORAL_WALL_FAN( "minecraft:dead_tube_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL_WALL_FAN( "minecraft:dead_brain_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL_WALL_FAN( "minecraft:dead_bubble_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL_WALL_FAN( "minecraft:dead_fire_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL_WALL_FAN( "minecraft:dead_horn_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + // Minecraft v1.14.x blocks: @@ -854,42 +979,7 @@ public enum BlockType { - - -// Testing to see if we can inject 1.13 block types: :( nope... does not work. -// Commenting out for now, will revisit later. -// -// AIR_113( "air", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// -// QUARTZ_113( "quartz", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// NETHER_QUARTZ_ORE_113( "nether_quartz_ore", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// QUARTZ_BLOCK_113( "quartz_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// CHISELED_QUARTZ_BLOCK_113( "chiseled_quartz_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// QUARTZ_PILLAR_113( "quartz_pillar", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// QUARTZ_SLAB_113( "quartz_slab", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// SMOOTH_QUARTZ_113( "smooth_quartz", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// -// OAK_LOG_113( "oak_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// SPRUCE_LOG_113( "spruce_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BIRCH_LOG_113( "birch_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// JUNGLE_LOG_113( "jungle_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// -// OAK_WOOD_113( "oak_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// SPRUCE_WOOD_113( "spruce_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BIRCH_WOOD_113( "birch_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// JUNGLE_WOOD_113( "jungle_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_TUBE_CORAL_BLOCK_113 ( "dead_tube_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// TUBE_CORAL_BLOCK_113 ( "tube_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_BRAIN_CORAL_BLOCK_113 ( "dead_brain_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BRAIN_CORAL_BLOCK_113 ( "brain_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_BUBBLE_CORAL_BLOCK_113 ( "dead_bubble_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BUBBLE_CORAL_BLOCK_113 ( "bubble_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_HORN_CORAL_BLOCK_113 ( "dead_horn_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// HORN_CORAL_BLOCK_113 ( "horn_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_FIRE_CORAL_BLOCK_113( "dead_fire_coral_block", MaterialType.Block, MaterialVersion.v1_13 ), -// FIRE_CORAL_BLOCK_113( "fire_coral_block", MaterialType.Block, MaterialVersion.v1_13 ), -// Reminder: Add Terracotta blocks too in the future - + ; // @formatter:on From 5e01dbb1bd5d13bec6948fae772277fdb96eabe1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 12 Oct 2020 19:26:53 -0400 Subject: [PATCH 052/243] New Features! Total of 92 new blocks added. Added 48 v1.12 blocks and 44 v1.13 blocks! V1.12 blocks: 16 colored glazed terracotta, 16 colored concrete, 16 colored concrete powder. v1.13 blocks: 10 coral types, 10 coral block types, 10 coral fan types, and 10 coral wall fan types, cave_air, void_air, blue_ice, and bubble_column. --- changelog_v3.2.x.md | 4 + .../tech/mcprison/prison/util/BlockType.java | 162 ++++++++++++++---- .../mcprison/prison/util/MaterialVersion.java | 1 + 3 files changed, 131 insertions(+), 36 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index aeb6e8a9a..296b69751 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,10 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-12 +* **New Features! Added 48 v1.12 blocks and 44 v1.13 blocks!** +V1.12 blocks: 16 colored glazed terracotta, 16 colored concrete, 16 colored concrete powder. +v1.13 blocks: 10 coral types, 10 coral block types, 10 coral fan types, and 10 coral wall fan types, cave_air, void_air, blue_ice, and bubble_column. + * **Upgrade XSeries from v7.2.1 to v7.5.4** diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 52487e4ba..77e9dbc44 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -760,7 +760,132 @@ public enum BlockType { DISC_11( 2266, "minecraft:record_11", 0 ), WAIT_DISC( 2267, "minecraft:record_wait", 0 ), + + + // Minecraft v1.12.x blocks: + + WHITE_GLAZED_TERRACOTTA( "minecraft:white_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + ORANGE_GLAZED_TERRACOTTA( "minecraft:orange_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + MAGENTA_GLAZED_TERRACOTTA( "minecraft:magenta_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_BLUE_GLAZED_TERRACOTTA( "minecraft:light_blue_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + YELLOW_GLAZED_TERRACOTTA( "minecraft:yellow_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + LIME_GLAZED_TERRACOTTA( "minecraft:lime_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + PINK_GLAZED_TERRACOTTA( "minecraft:pink_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GRAY_GLAZED_TERRACOTTA( "minecraft:gray_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_GRAY_GLAZED_TERRACOTTA( "minecraft:light_gray_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + CYAN_GLAZED_TERRACOTTA( "minecraft:cyan_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + PURPLE_GLAZED_TERRACOTTA( "minecraft:purple_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLUE_GLAZED_TERRACOTTA( "minecraft:blue_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BROWN_GLAZED_TERRACOTTA( "minecraft:brown_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GREEN_GLAZED_TERRACOTTA( "minecraft:green_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + RED_GLAZED_TERRACOTTA( "minecraft:red_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLACK_GLAZED_TERRACOTTA( "minecraft:black_glazed_terracotta", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + + WHITE_CONCRETE( "minecraft:white_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + ORANGE_CONCRETE( "minecraft:orange_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + MAGENTA_CONCRETE( "minecraft:magenta_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_BLUE_CONCRETE( "minecraft:light_blue_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + YELLOW_CONCRETE( "minecraft:yellow_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + LIME_CONCRETE( "minecraft:lime_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + PINK_CONCRETE( "minecraft:pink_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GRAY_CONCRETE( "minecraft:gray_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_GRAY_CONCRETE( "minecraft:light_gray_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + CYAN_CONCRETE( "minecraft:cyan_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + PURPLE_CONCRETE( "minecraft:purple_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLUE_CONCRETE( "minecraft:blue_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BROWN_CONCRETE( "minecraft:brown_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GREEN_CONCRETE( "minecraft:green_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + RED_CONCRETE( "minecraft:red_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLACK_CONCRETE( "minecraft:black_concrete", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + + WHITE_CONCRETE_POWDER( "minecraft:white_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + ORANGE_CONCRETE_POWDER( "minecraft:orange_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + MAGENTA_CONCRETE_POWDER( "minecraft:magenta_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_BLUE_CONCRETE_POWDER( "minecraft:light_blue_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + YELLOW_CONCRETE_POWDER( "minecraft:yellow_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + LIME_CONCRETE_POWDER( "minecraft:lime_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + PINK_CONCRETE_POWDER( "minecraft:pink_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GRAY_CONCRETE_POWDER( "minecraft:gray_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + LIGHT_GRAY_CONCRETE_POWDER( "minecraft:light_gray_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + CYAN_CONCRETE_POWDER( "minecraft:cyan_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + PURPLE_CONCRETE_POWDER( "minecraft:purple_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLUE_CONCRETE_POWDER( "minecraft:blue_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BROWN_CONCRETE_POWDER( "minecraft:brown_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + GREEN_CONCRETE_POWDER( "minecraft:green_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + RED_CONCRETE_POWDER( "minecraft:red_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + BLACK_CONCRETE_POWDER( "minecraft:black_concrete_powder", MaterialType.BLOCK, MaterialVersion.v1_12 ), + + + + + // Minecraft v1.13.x blocks: + + CAVE_AIR( "minecraft:cave_air", MaterialType.BLOCK, MaterialVersion.v1_13 ), + VOID_AIR( "minecraft:void_air", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + BLUE_ICE( "minecraft:blue_ice", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_COLUMN( "minecraft:bubble_column", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + TUBE_CORAL( "minecraft:tube_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL( "minecraft:brain_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL( "minecraft:bubble_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL( "minecraft:fire_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL( "minecraft:horn_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + DEAD_TUBE_CORAL( "minecraft:dead_tube_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL( "minecraft:dead_brain_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL( "minecraft:dead_bubble_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL( "minecraft:dead_fire_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL( "minecraft:dead_horn_coral", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + TUBE_CORAL_BLOCK( "minecraft:tube_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL_BLOCK( "minecraft:brain_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL_BLOCK( "minecraft:bubble_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL_BLOCK( "minecraft:fire_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL_BLOCK( "minecraft:horn_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + DEAD_TUBE_CORAL_BLOCK( "minecraft:dead_tube_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL_BLOCK( "minecraft:dead_brain_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL_BLOCK( "minecraft:dead_bubble_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL_BLOCK( "minecraft:dead_fire_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL_BLOCK( "minecraft:dead_horn_coral_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + TUBE_CORAL_FAN( "minecraft:tube_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL_FAN( "minecraft:brain_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL_FAN( "minecraft:bubble_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL_FAN( "minecraft:fire_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL_FAN( "minecraft:horn_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_TUBE_CORAL_FAN( "minecraft:dead_tube_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL_FAN( "minecraft:dead_brain_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL_FAN( "minecraft:dead_bubble_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL_FAN( "minecraft:dead_fire_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL_FAN( "minecraft:dead_horn_coral_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + TUBE_CORAL_WALL_FAN( "minecraft:tube_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BRAIN_CORAL_WALL_FAN( "minecraft:brain_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BUBBLE_CORAL_WALL_FAN( "minecraft:bubble_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + FIRE_CORAL_WALL_FAN( "minecraft:fire_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + HORN_CORAL_WALL_FAN( "minecraft:horn_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + DEAD_TUBE_CORAL_WALL_FAN( "minecraft:dead_tube_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BRAIN_CORAL_WALL_FAN( "minecraft:dead_brain_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_BUBBLE_CORAL_WALL_FAN( "minecraft:dead_bubble_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_FIRE_CORAL_WALL_FAN( "minecraft:dead_fire_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DEAD_HORN_CORAL_WALL_FAN( "minecraft:dead_horn_coral_wall_fan", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + // Minecraft v1.14.x blocks: @@ -854,42 +979,7 @@ public enum BlockType { - - -// Testing to see if we can inject 1.13 block types: :( nope... does not work. -// Commenting out for now, will revisit later. -// -// AIR_113( "air", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// -// QUARTZ_113( "quartz", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// NETHER_QUARTZ_ORE_113( "nether_quartz_ore", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// QUARTZ_BLOCK_113( "quartz_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// CHISELED_QUARTZ_BLOCK_113( "chiseled_quartz_block", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// QUARTZ_PILLAR_113( "quartz_pillar", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// QUARTZ_SLAB_113( "quartz_slab", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// SMOOTH_QUARTZ_113( "smooth_quartz", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// -// OAK_LOG_113( "oak_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// SPRUCE_LOG_113( "spruce_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BIRCH_LOG_113( "birch_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// JUNGLE_LOG_113( "jungle_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// -// OAK_WOOD_113( "oak_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// SPRUCE_WOOD_113( "spruce_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BIRCH_WOOD_113( "birch_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// JUNGLE_WOOD_113( "jungle_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_TUBE_CORAL_BLOCK_113 ( "dead_tube_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// TUBE_CORAL_BLOCK_113 ( "tube_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_BRAIN_CORAL_BLOCK_113 ( "dead_brain_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BRAIN_CORAL_BLOCK_113 ( "brain_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_BUBBLE_CORAL_BLOCK_113 ( "dead_bubble_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// BUBBLE_CORAL_BLOCK_113 ( "bubble_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_HORN_CORAL_BLOCK_113 ( "dead_horn_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// HORN_CORAL_BLOCK_113 ( "horn_coral_block" , MaterialType.BLOCK, MaterialVersion.v1_13 ), -// DEAD_FIRE_CORAL_BLOCK_113( "dead_fire_coral_block", MaterialType.Block, MaterialVersion.v1_13 ), -// FIRE_CORAL_BLOCK_113( "fire_coral_block", MaterialType.Block, MaterialVersion.v1_13 ), -// Reminder: Add Terracotta blocks too in the future - + ; // @formatter:on diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java index ba34af9c4..4faeee9b7 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java @@ -4,6 +4,7 @@ public enum MaterialVersion { v1_8, + v1_12, v1_13, v1_14, From 156686cd5c991f5a61dc71e1b21669003257c050 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 12 Oct 2020 19:30:06 -0400 Subject: [PATCH 053/243] added some logging details, but commented them out for now. --- .../java/tech/mcprison/prison/commands/CommandHandler.java | 4 ++++ .../tech/mcprison/prison/commands/RegisteredCommand.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index 0a0adf014..7ccf43816 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -336,6 +336,10 @@ public boolean onCommand(CommandSender sender, PluginCommand command, String lab .sendTo(sender, LogLevel.ERROR); return true; } + +// Output.get().logError( "### #### CommandHandler.onCommand : 1 " + +// "label = " + label + " args.length = " + +// (args == null ? "null" : args.length) ); rootCommand.execute(sender, args); diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index d8a925384..073502c88 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -99,6 +99,12 @@ void execute(CommandSender sender, String[] args) { RegisteredCommand command = suffixesByName.get(suffixLabel); if (command == null) { + +// Output.get().logError( "### #### RegisteredCommands.execute : 1 " + +// "if(command == null) :: args.length = " + +// (args == null ? "null" : args.length) + +// " args[0] == " + args[0]); + executeMethod(sender, args); } else { String[] nargs = new String[args.length - 1]; From 12920b2127899f57ad691d26067bf6fc36af6bf9 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 13 Oct 2020 15:33:12 -0400 Subject: [PATCH 054/243] Bug fix: Prevent a NPE when no rank is assigned to the mine. --- .../main/java/tech/mcprison/prison/mines/data/Mine.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index f0bcdce01..ec5b49995 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -476,9 +476,11 @@ public Document toDocument() { ret.put( "usePagingOnReset", isUsePagingOnReset() ); - String rank = getRank().getModuleElementType() + "," + getRank().getName() + "," + - getRank().getId() + "," + getRank().getTag(); - ret.put("rank", rank ); + if ( getRank() != null ) { + String rank = getRank().getModuleElementType() + "," + getRank().getName() + "," + + getRank().getId() + "," + getRank().getTag(); + ret.put("rank", rank ); + } return ret; From 6dbece21ebe4ed68464136fd6272e75c0cf2b639 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 13 Oct 2020 20:28:31 -0400 Subject: [PATCH 055/243] Added new 20 new blocks to the old block model: v1.10.x: structure_block, magma_block, bone_block v1.11.x: shulker_box - plus the 16 other colors that are available. --- changelog_v3.2.x.md | 14 +++++++- .../tech/mcprison/prison/util/BlockType.java | 35 +++++++++++++++++-- .../mcprison/prison/util/MaterialVersion.java | 4 +++ 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 296b69751..1cd907251 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,7 +9,19 @@ that you need. -## tag v3.2.2-alpha.5 - 2020-10-12 +## tag v3.2.2-alpha.5 - 2020-10-13 + + +* **New Feature!! Added new 20 new blocks to the old block model.** + v1.10.x: structure_block, magma_block, bone_block + v1.11.x: shulker_box - plus the 16 other colors that are available. + + +* **Bug fix: Prevent a NPE when no rank is assigned to the mine.** + + +* **v3.2.2-alpha.5c - 2020-10-13** Important bug fix. Need to bump alpha version soon. + * **New Features! Added 48 v1.12 blocks and 44 v1.13 blocks!** V1.12 blocks: 16 colored glazed terracotta, 16 colored concrete, 16 colored concrete powder. diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 77e9dbc44..b59fa6d06 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -761,6 +761,37 @@ public enum BlockType { WAIT_DISC( 2267, "minecraft:record_wait", 0 ), + // Minecraft v1.10.x blocks: + + STRUCTURE_VOID( "minecraft:structure_void", MaterialType.BLOCK, MaterialVersion.v1_10 ), + MAGMA_BLOCK( "minecraft:magma_block", MaterialType.BLOCK, MaterialVersion.v1_10 ), + BONE_BLOCK( "minecraft:bone_block", MaterialType.BLOCK, MaterialVersion.v1_10 ), + + + // Minecraft v1.11.x blocks: + + SHULKER_BOX( "minecraft:shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + + WHITE_SHULKER_BOX( "minecraft:white_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + ORANGE_SHULKER_BOX( "minecraft:orange_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + MAGENTA_SHULKER_BOX( "minecraft:magenta_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + LIGHT_BLUE_SHULKER_BOX( "minecraft:light_blue_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + YELLOW_SHULKER_BOX( "minecraft:yellow_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + + LIME_SHULKER_BOX( "minecraft:lime_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + PINK_SHULKER_BOX( "minecraft:pink_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + GRAY_SHULKER_BOX( "minecraft:gray_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + LIGHT_GRAY_SHULKER_BOX( "minecraft:light_gray_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + CYAN_SHULKER_BOX( "minecraft:cyan_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + + PURPLE_SHULKER_BOX( "minecraft:purple_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + BLUE_SHULKER_BOX( "minecraft:blue_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + BROWN_SHULKER_BOX( "minecraft:brown_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + GREEN_SHULKER_BOX( "minecraft:green_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + RED_SHULKER_BOX( "minecraft:red_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + BLACK_SHULKER_BOX( "minecraft:black_shulker_box", MaterialType.BLOCK, MaterialVersion.v1_11 ), + + // Minecraft v1.12.x blocks: @@ -945,8 +976,8 @@ public enum BlockType { CHISELED_POLISHED_BLACKSTONE( "minecraft:chiseled_polished_blackstone", MaterialType.BLOCK, MaterialVersion.v1_16 ), - NETHER_BRICKS( "minecraft:nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), - RED_NETHER_BRICKS( "minecraft:red_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), + NETHER_BRICKS( "minecraft:nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_8 ), + RED_NETHER_BRICKS( "minecraft:red_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_10 ), CRACKED_NETHER_BRICKS( "minecraft:cracked_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), CHISELED_NETHER_BRICKS( "minecraft:chiseled_nether_bricks", MaterialType.BLOCK, MaterialVersion.v1_16 ), diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java index 4faeee9b7..2374c5a27 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/MaterialVersion.java @@ -4,6 +4,10 @@ public enum MaterialVersion { v1_8, + v1_9, + v1_10, + + v1_11, v1_12, v1_13, From cf923ef8c69c83ce07de109912f2687ab361cf8c Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 16 Oct 2020 20:59:00 -0400 Subject: [PATCH 056/243] Adjust for possible errors on loading the linked mines. --- .../tech/mcprison/prison/ranks/data/Rank.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java index c479c9dba..95009d923 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java @@ -105,16 +105,19 @@ public Rank(Document document) { this.name = (String) document.get("name"); this.tag = (String) document.get("tag"); this.cost = (double) document.get("cost"); + String currency = (String) document.get("currency"); this.currency = (currency == null || "null".equalsIgnoreCase( currency ) ? null : currency); this.rankUpCommands = (List) document.get("commands"); - List mineStrings = (List) document.get("mines"); - getMines().clear(); - setMineStrings( mineStrings ); - - + getMines().clear(); + getMineStrings().clear(); + Object minesObj = document.get("mines"); + if ( minesObj != null ) { + List mineStrings = (List) minesObj; + setMineStrings( mineStrings ); + } } catch ( Exception e ) @@ -125,6 +128,7 @@ public Rank(Document document) { Integer.toString( this.id ), (this.name == null ? "null" : this.name ), e.getMessage()) ); + } } @@ -270,6 +274,9 @@ public ModuleElementType getModuleElementType() { } public List getMines() { + if ( mines == null ) { + this.mines = new ArrayList<>(); + } return mines; } public void setMines( List mines ) { @@ -277,6 +284,9 @@ public void setMines( List mines ) { } public List getMineStrings() { + if ( mineStrings == null ) { + this.mineStrings = new ArrayList<>(); + } return mineStrings; } public void setMineStrings( List mineStrings ) { From 1182278c4ab6dcd03ef1dc53af93d5d4f1a353c7 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 16 Oct 2020 21:08:19 -0400 Subject: [PATCH 057/243] Found an inconsistency in how the ranks are dealing with the document engine. Mines do not throw exceptions, but they were within ranks, which is not needed. --- changelog_v3.2.x.md | 6 ++- .../prison/ranks/RankConversionAgent.java | 16 +++---- .../ranks/commands/CommandCommands.java | 25 +++++----- .../prison/ranks/commands/RanksCommands.java | 48 +++++++++---------- .../prison/ranks/managers/RankManager.java | 11 ++--- 5 files changed, 53 insertions(+), 53 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 1cd907251..323dc20ef 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -165,7 +165,11 @@ it'll be generated anyway using the default config as the model so it won't brea later or edit the config to the correct one. -* **Prison_v3.2.2-alpha.1c - 2020-10-01** +* **Prison_v3.2.2-alpha.1c - 2020-10-16** + + +* **Found an inconsistency in how the ranks are dealing with the document engine.** +Mines do not throw exceptions, but they were within ranks, which is not needed. * **New feature: added some new 1.14 and 1.15 blocks** diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java index 26cc2d0e7..9441cd428 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java @@ -67,15 +67,15 @@ public class RankConversionAgent implements ConversionAgent { break; // It failed } - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank(ourRank.get()); - } catch (IOException e) { - String nonNullName = name == null ? "null" : name; - PrisonRanks.getInstance().getErrorManager().throwError( - new Error("while converting ranks") - .appendStackTrace("while saving rank " + nonNullName, e)); - break; // Skip this... - } +// } catch (IOException e) { +// String nonNullName = name == null ? "null" : name; +// PrisonRanks.getInstance().getErrorManager().throwError( +// new Error("while converting ranks") +// .appendStackTrace("while saving rank " + nonNullName, e)); +// break; // Skip this... +// } rankLadderOptional.get().addRank(ourRank.get()); try { diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java index 076111956..193e56167 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java @@ -1,6 +1,5 @@ package tech.mcprison.prison.ranks.commands; -import java.io.IOException; import java.util.ArrayList; import java.util.Optional; @@ -58,15 +57,15 @@ public void commandAdd(CommandSender sender, } rank.rankUpCommands.add(command); - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank( rank ); Output.get().sendInfo(sender, "Added command '%s' to the rank '%s'.", command, rank.name); - } catch (IOException e) { - Output.get().sendError(sender, - "The new command for the rank could not be saved to disk. Check the console for details."); - Output.get().logError("Rank could not be written to disk.", e); - } +// } catch (IOException e) { +// Output.get().sendError(sender, +// "The new command for the rank could not be saved to disk. Check the console for details."); +// Output.get().logError("Rank could not be written to disk.", e); +// } } @@ -95,16 +94,16 @@ public void commandRemove(CommandSender sender, if ( rank.rankUpCommands.remove(command) ) { - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank( rank ); Output.get() .sendInfo(sender, "Removed command '%s' from the rank '%s'.", command, rank.name); - } catch (IOException e) { - Output.get().sendError(sender, - "The updated rank could not be saved to disk. Check the console for details."); - Output.get().logError("Rank could not be written to disk.", e); - } +// } catch (IOException e) { +// Output.get().sendError(sender, +// "The updated rank could not be saved to disk. Check the console for details."); +// Output.get().logError("Rank could not be written to disk.", e); +// } } else { Output.get() .sendWarn(sender, "The rank doesn't contain that command. Nothing was changed."); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 5a91c9c37..31fdb0224 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -86,13 +86,13 @@ public void createRank(CommandSender sender, Rank newRank = newRankOptional.get(); // Save the rank - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank(newRank); - } catch (IOException e) { - Output.get().sendError(sender, - "The new rank could not be saved to disk. Check the console for details."); - Output.get().logError("Rank could not be written to disk.", e); - } +// } catch (IOException e) { +// Output.get().sendError(sender, +// "The new rank could not be saved to disk. Check the console for details."); +// Output.get().logError("Rank could not be written to disk.", e); +// } // Add the ladder @@ -352,15 +352,15 @@ public void setCost(CommandSender sender, rank.cost = cost; // Save the rank - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank(rank); Output.get().sendInfo(sender,"Successfully set the cost of rank '%s' to "+cost,rankName); - } catch (IOException e) { - Output.get().sendError(sender, - "The rank could not be saved to disk. The change in rank cost has not been saved. Check the console for details."); - Output.get().logError("Rank could not be written to disk (setCost).", e); - } +// } catch (IOException e) { +// Output.get().sendError(sender, +// "The rank could not be saved to disk. The change in rank cost has not been saved. Check the console for details."); +// Output.get().logError("Rank could not be written to disk (setCost).", e); +// } } // set commands @@ -395,15 +395,15 @@ public void setCurrency(CommandSender sender, rank.currency = currency; // Save the rank - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank(rank); Output.get().sendInfo(sender,"Successfully set the currency for the rank '%s' to %s", rankName, currency); - } catch (IOException e) { - Output.get().sendError(sender, - "The rank could not be saved to disk. The change in rank currency has not been saved. Check the console for details."); - Output.get().logError("Rank could not be written to disk (setCurrency).", e); - } +// } catch (IOException e) { +// Output.get().sendError(sender, +// "The rank could not be saved to disk. The change in rank currency has not been saved. Check the console for details."); +// Output.get().logError("Rank could not be written to disk (setCurrency).", e); +// } } @Command(identifier = "ranks set tag", description = "Modifies a ranks tag", @@ -421,15 +421,15 @@ public void setTag(CommandSender sender, rank.tag = tag; // Save the rank - try { +// try { PrisonRanks.getInstance().getRankManager().saveRank(rank); Output.get().sendInfo(sender,"Successfully set the tag of rank '%s' to "+tag,rankName); - } catch (IOException e) { - Output.get().sendError(sender, - "The rank could not be saved to disk. The tag change for the rank has not been saved. Check the console for details."); - Output.get().logError("Rank could not be written to disk.", e); - } +// } catch (IOException e) { +// Output.get().sendError(sender, +// "The rank could not be saved to disk. The tag change for the rank has not been saved. Check the console for details."); +// Output.get().logError("Rank could not be written to disk.", e); +// } } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java index 12b1df02b..94b07bc75 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java @@ -31,8 +31,8 @@ import tech.mcprison.prison.ranks.PrisonRanks; import tech.mcprison.prison.ranks.data.Rank; import tech.mcprison.prison.ranks.data.RankLadder; -import tech.mcprison.prison.ranks.data.RankPlayer; import tech.mcprison.prison.ranks.data.RankLadder.PositionRank; +import tech.mcprison.prison.ranks.data.RankPlayer; import tech.mcprison.prison.store.Collection; import tech.mcprison.prison.store.Document; @@ -94,9 +94,8 @@ public void loadRanks() throws IOException { * * @param rank The {@link Rank} to save. * @param saveFile The key to write the rank as. Case sensitive. - * @throws IOException If the rank could not be serialized, or if the rank could not be saved to the file. */ - public void saveRank(Rank rank, String saveFile) throws IOException { + public void saveRank(Rank rank, String saveFile) { collection.save(saveFile, rank.toDocument()); } @@ -104,18 +103,16 @@ public void saveRank(Rank rank, String saveFile) throws IOException { * Saves a rank to its save file. * * @param rank The {@link Rank} to save. - * @throws IOException If the rank could not be serialized, or if the rank could not be saved to the file. */ - public void saveRank(Rank rank) throws IOException { + public void saveRank(Rank rank) { this.saveRank(rank, rank.filename()); } /** * Saves all the loaded ranks to their own files within a directory. * - * @throws IOException If the rankFolder does not exist, or if one of the ranks could not be saved. */ - public void saveRanks() throws IOException { + public void saveRanks() { for (Rank rank : loadedRanks) { saveRank(rank); } From 2c4873f31588349f7f0d4b429b6a8c77c0542aa0 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 03:06:05 -0400 Subject: [PATCH 058/243] Added to the platform the ability to link mines with ranks. Individual ranks or mines cannot perform this action, but going through the platform can. --- .../prison/internal/platform/Platform.java | 5 + .../tech/mcprison/prison/TestPlatform.java | 9 ++ .../prison/spigot/SpigotPlatform.java | 99 +++++++++++++++++++ 3 files changed, 113 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 4a4b8f4b7..9443305ea 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -34,6 +34,8 @@ import tech.mcprison.prison.internal.World; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.internal.scoreboard.ScoreboardManager; +import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.store.Storage; import tech.mcprison.prison.util.Location; @@ -264,6 +266,9 @@ default Optional getCommand(String label) { public PrisonBlock getPrisonBlock( String blockName ); + + + public boolean linkModuleElements( ModuleElement sourceElement, ModuleElementType targetElementType, String name ); diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 29ad335dd..0aeb4e531 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -42,6 +42,8 @@ import tech.mcprison.prison.internal.platform.Capability; import tech.mcprison.prison.internal.platform.Platform; import tech.mcprison.prison.internal.scoreboard.ScoreboardManager; +import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.store.Storage; import tech.mcprison.prison.util.ChatColor; @@ -239,4 +241,11 @@ public void getAllPlatformBlockTypes( List blockTypes ) { public PrisonBlock getPrisonBlock( String blockName ) { return null; } + + @Override + public boolean linkModuleElements( ModuleElement sourceElement, + ModuleElementType targetElementType, String name ) { + return false; + } + } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index a66c720b9..307a071c3 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -60,12 +60,18 @@ import tech.mcprison.prison.internal.platform.Platform; import tech.mcprison.prison.internal.scoreboard.ScoreboardManager; import tech.mcprison.prison.mines.PrisonMines; +import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.managers.MineManager; import tech.mcprison.prison.modules.Module; +import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; +import tech.mcprison.prison.ranks.PrisonRanks; +import tech.mcprison.prison.ranks.data.Rank; +import tech.mcprison.prison.ranks.managers.RankManager; import tech.mcprison.prison.spigot.game.SpigotCommandSender; import tech.mcprison.prison.spigot.game.SpigotOfflinePlayer; import tech.mcprison.prison.spigot.game.SpigotPlayer; @@ -633,4 +639,97 @@ public PrisonBlock getPrisonBlock( String blockName ) { return SpigotUtil.getPrisonBlock( blockName ); } + + + /** + * ModuleElements are Mines or Ranks, and sometimes maybe even ladders. + * + * The purpose of this function is to link together Mines and rank (and maybe even + * ladders) when they cannot reference each other within their native modules. So + * this external linking is required. + * + * Currently, the only linkage that is supported are: + * + * Mine to one rank + * rank has many mines + * + * + */ + @Override + public boolean linkModuleElements( ModuleElement sourceElement, + ModuleElementType targetElementType, String name ) { + boolean results = false; + + if ( sourceElement != null) { + + if ( sourceElement.getModuleElementType() == ModuleElementType.MINE && + sourceElement instanceof Mine ) { + // If we have an instance of a mine, then we know that module has been + // enabled. + + // We need to confirm targetElementType is ranks, then we need to check to + // ensure the rank module is active, then search for a rank with the given + // name. If found, then link. + if ( targetElementType != null && targetElementType == ModuleElementType.RANK && + PrisonRanks.getInstance() != null && PrisonRanks.getInstance().isEnabled() ) { + + RankManager rm = PrisonRanks.getInstance().getRankManager(); + if ( rm != null ) { + Rank rank = rm.getRank( name ).orElse( null ); + + if ( rank != null ) { + Mine mine = (Mine) sourceElement; + + // Add the mine to the rank, and the rank to the mine: + mine.setRank( rank ); + rank.getMines().add( mine ); + + // save both the mine and the rank: + MineManager mm = PrisonMines.getInstance().getMineManager(); + mm.saveMine( mine ); + rm.saveRank( rank ); + + results = true; + } + } + } + } + + else if ( sourceElement.getModuleElementType() == ModuleElementType.RANK && + sourceElement instanceof Rank ) { + // If we have an instance of a mine, then we know that module has been + // enabled. + + // We need to confirm targetElementType is ranks, then we need to check to + // ensure the rank module is active, then search for a rank with the given + // name. If found, then link. + if ( targetElementType != null && targetElementType == ModuleElementType.MINE && + PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled() ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + if ( mm != null ) { + Mine mine = mm.getMine( name ); + + if ( mine != null ) { + Rank rank = (Rank) sourceElement; + + mine.setRank( rank ); + rank.getMines().add( mine ); + + // save both the mine and the rank: + RankManager rm = PrisonRanks.getInstance().getRankManager(); + mm.saveMine( mine ); + rm.saveRank( rank ); + + results = true; + } + + } + } + } + } + + + + return results; + } } From 6e9fc004c6b61ae65efbf729c969261c7bca49b1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 03:08:00 -0400 Subject: [PATCH 059/243] Added mines and ranks to the /mines info and /ranks info commands. --- .../prison/mines/commands/MinesCommands.java | 8 ++++++++ .../prison/ranks/commands/RanksCommands.java | 20 ++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 6a63dd417..df1ee9d61 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -894,6 +894,14 @@ public void infoCommand(CommandSender sender, String worldName = m.getWorld().isPresent() ? m.getWorld().get().getName() : "&cmissing"; chatDisplay.text("&3World: &7%s", worldName); + if ( m.getRank() == null ) { + chatDisplay.text( "&3No rank is linked to this mine." ); + } + else { + chatDisplay.text( "&3Rank: &7%s", m.getRank() ); + } + + String minCoords = m.getBounds().getMin().toBlockCoordinates(); String maxCoords = m.getBounds().getMax().toBlockCoordinates(); chatDisplay.text("&3Bounds: &7%s &8to &7%s", minCoords, maxCoords); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 31fdb0224..1dfd0eaad 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -18,6 +18,7 @@ import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; +import tech.mcprison.prison.modules.ModuleElement; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.FancyMessageComponent; @@ -308,10 +309,27 @@ public void infoCmd(CommandSender sender, @Arg(name = "rankName") String rankNam display.text("&3%s: &7%s", Text.pluralize("Ladder", ladders.size()), Text.implodeCommaAndDot( ladders.stream().map(rankLadder -> rankLadder.name).collect(Collectors.toList()))); + + if ( rank.getMines().size() == 0 ) { + display.text( "&3This rank is not linked to any mines" ); + } + else { + StringBuilder sb = new StringBuilder(); + + for ( ModuleElement mine : rank.getMines() ) { + if ( sb.length() > 0 ) { + sb.append( "&3, " ); + } + sb.append( "&7" ); + sb.append( mine.getName() ); + } + + display.text( "&3Mines linked to this rank: %s", sb.toString() ); + } display.text("&3Cost: &7%s", Text.numberToDollars(rank.cost)); - display.text("&3Currency: &7<&a%s&7>", (rank.currency == null ? "&cnone" : rank.currency) ); + display.text("&3Currency: &7<&a%s&7>", (rank.currency == null ? "&cdefault" : rank.currency) ); List players = PrisonRanks.getInstance().getPlayerManager().getPlayers().stream() From 8b491b7ea407a73b7c028b5c8c75fc5268c553c8 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 17 Oct 2020 16:57:33 +0200 Subject: [PATCH 060/243] Code improvements and new /ranks setup command Changelogs: - New /ranks setup command - Code improvements TO-DO: - Prestiges setup - Ranks Setup from a GUI --- changelog_v3.2.x.md | 17 +- .../mcprison/prison/spigot/SpigotPrison.java | 6 +- .../commands/PrisonShortcutCommands.java | 6 + .../spigot/commands/PrisonSpigotCommands.java | 161 +++++++++++++--- .../mcprison/prison/spigot/gui/GuiConfig.java | 1 + .../spigot/gui/ListenersPrisonManager.java | 4 +- .../prison/spigot/gui/SpigotPrisonGUI.java | 2 +- .../gui/autofeatures/SpigotAutoBlockGUI.java | 2 +- .../autofeatures/SpigotAutoFeaturesGUI.java | 2 +- .../gui/autofeatures/SpigotAutoPickupGUI.java | 2 +- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 2 +- .../mine/SpigotMineBlockPercentageGUI.java | 2 +- .../spigot/gui/mine/SpigotMineInfoGUI.java | 2 +- .../mine/SpigotMineNotificationRadiusGUI.java | 2 +- .../gui/mine/SpigotMineNotificationsGUI.java | 2 +- .../gui/mine/SpigotMineResetTimeGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 2 +- .../gui/mine/SpigotMinesConfirmGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesGUI.java | 3 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 2 +- .../gui/rank/SpigotConfirmPrestigeGUI.java | 2 +- .../spigot/gui/rank/SpigotLaddersGUI.java | 2 +- .../gui/rank/SpigotPlayerPrestigesGUI.java | 2 +- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 4 +- .../spigot/gui/rank/SpigotRankManagerGUI.java | 2 +- .../spigot/gui/rank/SpigotRankPriceGUI.java | 2 +- .../gui/rank/SpigotRankUPCommandsGUI.java | 2 +- .../spigot/gui/rank/SpigotRanksGUI.java | 4 +- .../spigot/gui/sellall/SellAllAdminGUI.java | 2 +- .../spigot/gui/sellall/SellAllPlayerGUI.java | 2 +- .../spigot/gui/sellall/SellAllPriceGUI.java | 2 +- ...essagesConfig.java => MessagesConfig.java} | 9 +- .../prison/spigot/setup/RanksChatSetup.java | 173 ++++++++++++++++++ 33 files changed, 367 insertions(+), 65 deletions(-) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/{GuiMessagesConfig.java => MessagesConfig.java} (93%) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 323dc20ef..c30a2ee4a 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -7,7 +7,22 @@ Prison plugin. I'm wanting to provide a more formal documentation as to what is going on in each build so you have a better idea if it may be something that you need. - +## tag v3.2.2-alpha.5 - 2020-10-17 + +* **New Feature! Added _/ranks setup_ and _/prisonmanager setup ranks_ commands.** +Now you can setup your default ranks in the default ladder with a command without +adding them manually for the first time, this command will add all Ranks from A to Z +and their rankupCommands executing the command that your permissions manager uses to add +a permission to the player to access to the `/mines tp ` command, the mineName +given by the permission have this format `mines.tp.` so you should make your Mines +with the same name of the rank, you can edit the `mines.tp.` for to another you want, like +`essentials.warps.` in the _guiconfig.yml_. +The supported permissions managers for now are: +- Ultra Permissions +- LuckPerms +- PermissionsEX +- zPermissions +- PowerfulPerms ## tag v3.2.2-alpha.5 - 2020-10-13 diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 20a180c9e..3da44acda 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -67,7 +67,7 @@ import tech.mcprison.prison.spigot.gui.GUIListener; import tech.mcprison.prison.spigot.gui.GuiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; -import tech.mcprison.prison.spigot.languages.GuiMessagesConfig; +import tech.mcprison.prison.spigot.languages.MessagesConfig; import tech.mcprison.prison.spigot.permissions.LuckPermissions; import tech.mcprison.prison.spigot.permissions.LuckPerms5; import tech.mcprison.prison.spigot.permissions.VaultPermissions; @@ -239,8 +239,8 @@ public static FileConfiguration getSellAllConfig(){ return configs.getFileSellAllConfig(); } - public static FileConfiguration getGuiMessagesConfig(){ - GuiMessagesConfig messagesConfig = new GuiMessagesConfig(); + public static FileConfiguration getMessagesConfig(){ + MessagesConfig messagesConfig = new MessagesConfig(); return messagesConfig.getFileGuiMessagesConfig(); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java index 3e520c8a6..2426e05e4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java @@ -82,6 +82,12 @@ else if (ladderName.equalsIgnoreCase("prestiges") && } } + @Command(identifier = "ranks setup", onlyPlayers = false, + altPermissions = {"prison.setup", "prison.admin"}, description = "Setup all the ranks from A to Z with default values in the default ladder") + public void ranksSetupCommand(CommandSender sender) { + sender.dispatchCommand("prisonmanager setup ranks"); + } + @Command(identifier = "prestiges", onlyPlayers = true, altPermissions = {"-none-", "prison.admin"}) public void prestigesGUICommand(CommandSender sender){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 330c027c2..297d5846e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -22,6 +22,7 @@ import tech.mcprison.prison.spigot.gui.rank.SpigotConfirmPrestigeGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerPrestigesGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerRanksGUI; +import tech.mcprison.prison.spigot.setup.RanksChatSetup; import java.util.Objects; @@ -33,69 +34,168 @@ public class PrisonSpigotCommands implements CommandExecutor, Listener { boolean isChatEventActive; int id; + String mode; + CommandSender senderOfCommand; @EventHandler(priority = EventPriority.LOWEST) public void onChat(AsyncPlayerChatEvent e) { - if (isChatEventActive){ + if (isChatEventActive) { Player p = e.getPlayer(); String message = e.getMessage(); Bukkit.getScheduler().cancelTask(id); - if (message.equalsIgnoreCase("cancel")){ - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); - e.setCancelled(true); - } else if (message.equalsIgnoreCase("confirm")){ - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); - e.setCancelled(true); - isChatEventActive = false; + if (mode.equalsIgnoreCase("prestige")){ + if (message.equalsIgnoreCase("cancel")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); + e.setCancelled(true); + } else if (message.equalsIgnoreCase("confirm")) { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); + e.setCancelled(true); + isChatEventActive = false; + } + } else if (mode.equalsIgnoreCase("ranksSetup")){ + if (message.equalsIgnoreCase("cancel")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRanks setup cancelled")); + e.setCancelled(true); + } else if (message.equalsIgnoreCase("confirm")) { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> RanksChatSetup.get().setup(senderOfCommand)); + e.setCancelled(true); + isChatEventActive = false; + } } } } - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean haveGuiRequirements(CommandSender sender){ if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ sender.sendMessage(SpigotPrison.format("&cThe GUI's disabled, if you want to use it, edit the config.yml!")); - return true; + return false; } - if(!(sender instanceof Player || sender instanceof tech.mcprison.prison.internal.Player)){ - sender.sendMessage(SpigotPrison.format("&cLooks like you aren't a player")); + if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ + sender.sendMessage(SpigotPrison.format("&cThe GUI's disabled, if you want to use it, edit the config.yml!")); return true; } + return false; + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + Player p = null; if (sender instanceof Player) { p = (Player) sender; } // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration guiConfig = SpigotPrison.getGuiConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); if (args.length == 0) { - sender.sendMessage(SpigotPrison.format("&cIncorrect usage, the command should be /prisonmanager -gui-ranks-mines-prestiges-prestige")); + sender.sendMessage(SpigotPrison.format("&cIncorrect usage, the command should be /prisonmanager -gui-ranks-mines-prestiges-prestige-setup")); return true; } - if (args[0].equalsIgnoreCase("ranks")){ - return prisonmanagerRanks(sender, p, GuiConfig); + + if (haveGuiRequirements(sender)){ + return true; + } + return prisonManagerRanks(sender, p, guiConfig); + } else if (args[0].equalsIgnoreCase("mines")){ - return prisonmanagerMines(sender, p, GuiConfig); + + if (haveGuiRequirements(sender)){ + return true; + } + return prisonManagerMines(sender, p, guiConfig); + } else if (args[0].equalsIgnoreCase("prestiges")) { - return prisonmanagerPrestiges(sender, p, GuiConfig); + + if (haveGuiRequirements(sender)){ + return true; + } + return prisonManagerPrestiges(sender, p, guiConfig); + } else if (args[0].equalsIgnoreCase("prestige")){ - return prisonmanagerPrestige(sender, p); + + return prisonManagerPrestige(sender, p); + } else if (args[0].equalsIgnoreCase("gui")){ - return prisonmanagerGUI(sender, p); + + if (haveGuiRequirements(sender)){ + return true; + } + return prisonManagerGUI(sender, p); + + } else if (args[0].equalsIgnoreCase("setup")){ + + //if (haveGuiRequirements(sender) || !(guiConfig.getString("Options.Setup.EnabledGUI").equalsIgnoreCase("true")) || p == null){ + return setupByChat(sender, messages, args); + //} else { + // return setupByGui(p, messages, args); + //} + } + + return true; + } + + private boolean setupByChat(CommandSender sender, Configuration messages, String[] args){ + + if (!sender.hasPermission("prison.setup") || !sender.hasPermission("prison.admin")){ + sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.MissingPermission"))); + return true; + } + + if (args.length == 1){ + sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WrongFormat"))); + return true; + } + + if (args[1].equalsIgnoreCase("ranks")){ + + isChatEventActive = true; + sender.sendMessage(SpigotPrison.format("&aConfirm&3: Type the word &aconfirm &3 to confirm")); + sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 15 seconds!")); + mode = "ranksSetup"; + senderOfCommand = sender; + id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { + if (isChatEventActive) { + isChatEventActive = false; + sender.sendMessage(SpigotPrison.format("&cYou ran out of time, ranks setup cancelled.")); + } + }, 20L * 15); + + } else { + sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WrongFormat"))); + } + + return true; + } + + private boolean setupByGui(Player p, Configuration messages, String[] args){ + + if (!p.hasPermission("prison.setup") || !p.hasPermission("prison.admin")){ + p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.MissingPermission"))); + return true; + } + + if (args.length == 1){ + p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WrongFormat"))); + return true; + } + + if (args[1].equalsIgnoreCase("ranks")){ } return true; } - private boolean prisonmanagerPrestige(CommandSender sender, Player p) { + private boolean prisonManagerPrestige(CommandSender sender, Player p) { if (SpigotPrison.getInstance().getConfig().getBoolean("prestiges")) { if (!(PrisonRanks.getInstance().getLadderManager().getLadder("prestiges").isPresent())) { @@ -149,13 +249,16 @@ private void prestigeByChat(CommandSender sender, Player p) { sender.sendMessage(SpigotPrison.format("&aConfirm&3: Type the word &aconfirm &3 to confirm")); sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 15 seconds!")); Player finalP = p; + mode = "prestige"; id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { - isChatEventActive = false; - finalP.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); + if (isChatEventActive) { + isChatEventActive = false; + finalP.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); + } }, 20L * 15); } - private boolean prisonmanagerPrestiges(CommandSender sender, Player p, Configuration guiConfig) { + private boolean prisonManagerPrestiges(CommandSender sender, Player p, Configuration guiConfig) { if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prestiges")).equalsIgnoreCase("true"))) { sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled by default, please edit it in your config.yml!")); return true; @@ -178,7 +281,7 @@ private boolean prisonmanagerPrestiges(CommandSender sender, Player p, Configura return true; } - private boolean prisonmanagerMines(CommandSender sender, Player p, Configuration guiConfig) { + private boolean prisonManagerMines(CommandSender sender, Player p, Configuration guiConfig) { if (!(Objects.requireNonNull(guiConfig.getString("Options.Mines.GUI_Enabled")).equalsIgnoreCase("true"))){ sender.sendMessage(SpigotPrison.format("&cSorry, but this GUI's disabled in your GuiConfig.yml")); return true; @@ -197,7 +300,7 @@ private boolean prisonmanagerMines(CommandSender sender, Player p, Configuration return true; } - private boolean prisonmanagerRanks(CommandSender sender, Player p, Configuration guiConfig) { + private boolean prisonManagerRanks(CommandSender sender, Player p, Configuration guiConfig) { if (!(Objects.requireNonNull(guiConfig.getString("Options.Ranks.GUI_Enabled")).equalsIgnoreCase("true"))) { sender.sendMessage(SpigotPrison.format("&cSorry, but this GUI's disabled in your GuiConfig.yml")); return true; @@ -216,7 +319,7 @@ private boolean prisonmanagerRanks(CommandSender sender, Player p, Configuration return true; } - private boolean prisonmanagerGUI(CommandSender sender, Player p) { + private boolean prisonManagerGUI(CommandSender sender, Player p) { if ((sender.hasPermission("prison.admin") || sender.hasPermission("prison.prisonmanagergui"))){ SpigotPrisonGUI gui = new SpigotPrisonGUI(p); gui.open(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java index a9c2b3b9f..8e511f704 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java @@ -88,6 +88,7 @@ private void values(){ dataConfig("Options.Ranks.Enchantment_effect_current_rank","true"); dataConfig("Options.Mines.PermissionWarpPlugin","mines.tp."); dataConfig("Options.Mines.CommandWarpPlugin","mines tp"); + dataConfig("Options.Setup.EnabledGUI", "true"); } public FileConfiguration getFileGuiConfig(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 0e6336105..12559f3da 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -851,7 +851,7 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { // Check the button name and do the actions } else if (buttonname.equalsIgnoreCase("RankTag")){ - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Send messages to the player p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRename"))); @@ -1128,7 +1128,7 @@ private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { break; case "Mine_Name": { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Send messages to the player p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRename"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index b4b565ba4..a0defe825 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -47,7 +47,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Lore of the button List rankslore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 6f21bca68..233ab78bb 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index e51826ada..1c27bf768 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -55,7 +55,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Declare buttons ItemStack autoPickup; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index f1c374f8e..96f9dd638 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 21912f396..10d3c4259 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index f52493aff..1c4edb901 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -55,7 +55,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index 49cfd16b8..468cc1597 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // The Reset Mine button and lore List resetminelore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index fd5b4496d..91acc30e0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -55,7 +55,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index b57960b7f..0970a7e95 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -59,7 +59,7 @@ private boolean guiBuilder(Inventory inv, String enabledOrDisabled) { private void buttonsSetup(Inventory inv, String enabledOrDisabled) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create a new lore List modeWithinLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index f59601187..a7ee927c3 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -53,7 +53,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 8051eb91d..44880661a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -52,7 +52,7 @@ public void open(){ } // Load config - this.messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index cc6ea108a..27d6b27cc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -51,7 +51,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Blocks of the mine List confirmlore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index eff403994..c341a94e6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -18,7 +18,6 @@ import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; -import tech.mcprison.prison.output.Output; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -50,7 +49,7 @@ public void open(){ int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config - this.messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index 923a5c848..ecfbff673 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -42,7 +42,7 @@ public void open(){ // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); - this.messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index 244538f50..248145f48 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -46,7 +46,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Blocks of the mine List confirmLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 7c0af10da..0e8bd337a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -45,7 +45,7 @@ public void open(){ // Get the dimensions and if needed increases them int dimension = (int) Math.ceil(lm.getLadders().size() / 9D) * 9; - this.messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index 1d200d191..284dd5ecd 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -151,7 +151,7 @@ private boolean guiBuilder(Configuration guiConfig, Optional ladder, private void buttonsSetup(Configuration guiConfig, Optional ladder, int dimension, Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); if (!ladder.isPresent()){ player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.LadderPrestigesNotFound"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index 0d3a25ef7..37dc929bc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -109,7 +109,7 @@ public void open() { // Load config Configuration GuiConfig = SpigotPrison.getGuiConfig(); - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); LadderManager lm = getRankPlugin().getLadderManager(); Optional ladder = lm.getLadder(GuiConfig.getString("Options.Ranks.Ladder")); @@ -160,7 +160,7 @@ private boolean guiBuilder(Configuration guiConfig, int dimension, Configuration private void buttonsSetup(Configuration guiConfig, int dimension, Configuration guiConfig2, Inventory inv, Rank rank, Rank playerRank) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Not sure how you want to represent this: Material materialHas; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index c51227c0f..896c54a36 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -57,7 +57,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create the lore List rankupCommandsLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index ca2d3f8f1..11cdb044b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -60,7 +60,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 587c86c2a..311df75cf 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -40,7 +40,7 @@ public void open() { } // Load config - this.messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getMessagesConfig(); if (rank.rankUpCommands.size() == 0){ p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRankupCommands"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index beeb3185a..b899536c7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -48,7 +48,7 @@ public void open() { } // Load config - this.messages = SpigotPrison.getGuiMessagesConfig(); + this.messages = SpigotPrison.getMessagesConfig(); // Get the dimensions and if needed increases them if (ladder.isPresent() && !(ladder.get().ranks.size() == 0)) { @@ -158,7 +158,7 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { static void getCommands(List ranksLore, Rank rank) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ContainsTheRank") + rank.name + messages.getString("Gui.Lore.ContainsNoCommands"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index 452980ddc..99292bebe 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -44,7 +44,7 @@ public void open() { private Inventory buttonsSetup(Configuration conf) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); boolean emptyInv = false; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 10e8d41df..754002c3f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -43,7 +43,7 @@ public void open() { private Inventory buttonsSetup(Configuration conf) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); Inventory inv; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index c44eaf663..dff289a27 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -53,7 +53,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getGuiMessagesConfig(); + Configuration messages = SpigotPrison.getMessagesConfig(); // Create a new lore List changeDecreaseValueLore; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java similarity index 93% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index 3ce1877d6..c54b93c41 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/GuiMessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -12,11 +12,11 @@ * @author GABRYCA **/ -public class GuiMessagesConfig { +public class MessagesConfig { private FileConfiguration conf; - public GuiMessagesConfig() { + public MessagesConfig() { // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); @@ -182,6 +182,11 @@ private void values(){ dataConfig("Gui.Message.OutOfTimeNoChanges", "&cYou ran out of time, nothing changed."); dataConfig("Gui.Message.rankTagRename", "&7[&3Info&7] &3Please write the &6tag &3you'd like to use and &6submit&3."); dataConfig("Gui.Message.rankTagRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); + dataConfig("Setup.Message.MissingPermission", "&7[&cError&7] &cSorry but you don't have the permission [-prison.setup- or -prison.admin-]!"); + dataConfig("Setup.Message.WrongFormat", "&7[&cError&7] &cYou're missing the last argument -mines- or -ranks-, / setup -mines- or -ranks- !"); + dataConfig("Setup.Message.WelcomeToRanksSetup", "&7[&3Info&7] &3Hi and welcome to the ranks setup, please wait until it'll be completed!"); + dataConfig("Setup.Message.SuccessRanksSetup", "&7[&3Info&7] &3The ranks setup got completed with &asuccess&3 and the ranks got added to the default ladder,\n please check the logs if something's missing!"); + } public FileConfiguration getFileGuiMessagesConfig(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java new file mode 100644 index 000000000..e6baa3766 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java @@ -0,0 +1,173 @@ +package tech.mcprison.prison.spigot.setup; + +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.Configuration; +import tech.mcprison.prison.spigot.SpigotPrison; + +public class RanksChatSetup { + + private static RanksChatSetup instance; + + public RanksChatSetup(){} + + public static RanksChatSetup get() { + if (instance == null) { + instance = new RanksChatSetup(); + } + return instance; + } + + public void setup(CommandSender sender){ + + Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration config = SpigotPrison.getGuiConfig(); + + sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WelcomeToRanksSetup"))); + + String permissionManagerCommand = null; + String permission = config.getString("Options.Mines.PermissionWarpPlugin"); + + if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("LuckPerms") != null){ + permissionManagerCommand = "lp user {player} permission set " + permission; + } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("PermissionsEx") != null){ + permissionManagerCommand = "pex user {player} add " + permission; + } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("UltraPermissions") != null){ + permissionManagerCommand = "upc addplayerpermission {player} " + permission; + } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("zPermissions") != null){ + permissionManagerCommand = "permissions player {player} set " + permission; + } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("PowerfulPerms") != null){ + permissionManagerCommand = "pp user {player} add " + permission; + } + + Bukkit.dispatchCommand(sender, "ranks create A 0 default &7[&1A&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add A " + permissionManagerCommand + "A"); + } + + Bukkit.dispatchCommand(sender, "ranks create B 1000 default &7[&2B&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add B " + permissionManagerCommand + "B"); + } + + Bukkit.dispatchCommand(sender, "ranks create C 1500 default &7[&3C&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add C " + permissionManagerCommand + "C"); + } + + Bukkit.dispatchCommand(sender, "ranks create D 2250 default &7[&4D&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add D " + permissionManagerCommand + "D"); + } + + Bukkit.dispatchCommand(sender, "ranks create E 3375 default &7[&5E&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add E " + permissionManagerCommand + "E"); + } + + Bukkit.dispatchCommand(sender, "ranks create F 5063 default &7[&6F&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add F " + permissionManagerCommand + "F"); + } + + Bukkit.dispatchCommand(sender, "ranks create G 7594 default &7[&7G&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add G " + permissionManagerCommand + "G"); + } + + Bukkit.dispatchCommand(sender, "ranks create H 11391 default &7[&8H&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add H " + permissionManagerCommand + "H"); + } + + Bukkit.dispatchCommand(sender, "ranks create I 17086 default &7[&9I&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add I " + permissionManagerCommand + "I"); + } + + Bukkit.dispatchCommand(sender, "ranks create J 25629 default &7[&aJ&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add J " + permissionManagerCommand + "J"); + } + + Bukkit.dispatchCommand(sender, "ranks create K 38443 default &7[&bK&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add K " + permissionManagerCommand + "K"); + } + + Bukkit.dispatchCommand(sender, "ranks create L 57665 default &7[&cL&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add L " + permissionManagerCommand + "L"); + } + + Bukkit.dispatchCommand(sender, "ranks create M 86497 default &7[&dM&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add M " + permissionManagerCommand + "M"); + } + + Bukkit.dispatchCommand(sender, "ranks create N 129746 default &7[&eN&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add N " + permissionManagerCommand + "N"); + } + + Bukkit.dispatchCommand(sender, "ranks create O 194620 default &7[&fO&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add O " + permissionManagerCommand + "O"); + } + + Bukkit.dispatchCommand(sender, "ranks create P 291929 default &7[&1P&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add P " + permissionManagerCommand + "P"); + } + + Bukkit.dispatchCommand(sender, "ranks create Q 437894 default &7[&2Q&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add Q " + permissionManagerCommand + "Q"); + } + + Bukkit.dispatchCommand(sender, "ranks create R 656841 default &7[&3R&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add R " + permissionManagerCommand + "R"); + } + + Bukkit.dispatchCommand(sender, "ranks create S 985261 default &7[&4S&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add S " + permissionManagerCommand + "S"); + } + + Bukkit.dispatchCommand(sender, "ranks create T 1477892 default &7[&5T&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add T " + permissionManagerCommand + "T"); + } + + Bukkit.dispatchCommand(sender, "ranks create U 2216838 default &7[&6U&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add U " + permissionManagerCommand + "U"); + } + + Bukkit.dispatchCommand(sender, "ranks create W 3325257 default &7[&7W&7]&f");if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add W " + permissionManagerCommand + "W"); + } + + + Bukkit.dispatchCommand(sender, "ranks create X 4987885 default &7[&8X&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add X " + permissionManagerCommand + "X"); + } + + Bukkit.dispatchCommand(sender, "ranks create Y 7481828 default &7[&9Y&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add Y " + permissionManagerCommand + "Y"); + } + + Bukkit.dispatchCommand(sender, "ranks create Z 11222742 default &7[&aZ&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add Z " + permissionManagerCommand + "Z"); + } + + + sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.SuccessRanksSetup"))); + + } + +} From 13bd7157266288abfbaf6a96f871a5256b12cbee Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 11:53:13 -0400 Subject: [PATCH 061/243] Add mine commands to add ranks to mines, and to remove ranks from mines. --- changelog_v3.2.x.md | 17 +++- .../prison/mines/commands/MinesCommands.java | 79 +++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index c30a2ee4a..18e1b695a 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,6 +9,20 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-17 + +* **Add mine commands to add ranks to mines, and to remove ranks from mines.** + + + +* **Added mines and ranks to the /mines info and /ranks info commands.** + + + +* **Added to the platform the ability to link mines with ranks.** +Individual ranks or mines cannot perform this action, but going through the platform can. + + + * **New Feature! Added _/ranks setup_ and _/prisonmanager setup ranks_ commands.** Now you can setup your default ranks in the default ladder with a command without adding them manually for the first time, this command will add all Ranks from A to Z @@ -24,6 +38,7 @@ The supported permissions managers for now are: - zPermissions - PowerfulPerms + ## tag v3.2.2-alpha.5 - 2020-10-13 @@ -180,7 +195,7 @@ it'll be generated anyway using the default config as the model so it won't brea later or edit the config to the correct one. -* **Prison_v3.2.2-alpha.1c - 2020-10-16** +* **Prison_v3.2.2-alpha.1c - 2020-10-10** * **Found an inconsistency in how the ranks are dealing with the document engine.** diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index df1ee9d61..27a688eb7 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -45,6 +45,8 @@ import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; +import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.FancyMessageComponent; @@ -1878,6 +1880,83 @@ else if ( action.equalsIgnoreCase( "disable" ) && m.isUseNotificationPermission( } + @Command(identifier = "mines set rank", permissions = "mines.set", + description = "Links a mine to a rank.") + public void setMineRankCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine.") String mineName, + @Arg(name = "rankName", description = "Then rank name to link to this mine.") + String rankName + + ) { + + if (performCheckMineExists(sender, mineName)) { + setLastMineReferenced(mineName); + + PrisonMines pMines = PrisonMines.getInstance(); + Mine m = pMines.getMine(mineName); + + if ( !m.isEnabled() ) { + sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); + return; + } + + if ( rankName == null || rankName.trim().length() == 0 ) { + sender.sendMessage( "&cRank name is required." ); + return; + } + + boolean success = Prison.get().getPlatform().linkModuleElements( m, + ModuleElementType.RANK, rankName ); + + if ( !success ) { + sender.sendMessage( String.format( "&3Invalid Rank Name: &7%s", rankName )); + } + else { + sender.sendMessage( String.format( "&3Rank &7%s &3has been linked to mine &7%s", + rankName, m.getName() )); + } + } + } + + + + @Command(identifier = "mines set norank", permissions = "mines.set", + description = "Unlinks a rank from a mine") + public void setMineNoRankCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine.") String mineName + + ) { + + if (performCheckMineExists(sender, mineName)) { + setLastMineReferenced(mineName); + + PrisonMines pMines = PrisonMines.getInstance(); + Mine m = pMines.getMine(mineName); + + if ( !m.isEnabled() ) { + sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); + return; + } + + + if ( m.getRank() == null ) { + sender.sendMessage( "&cThis mine has no ranks to unlink." ); + return; + } + + ModuleElement rank = m.getRank(); + + m.setRank( null ); + + pMines.getMineManager().saveMine( m ); + + sender.sendMessage( String.format( "&3Rank &7%s &3has been removed from mine &7%s", + rank.getName(), m.getName() )); + + } + } + + @Command(identifier = "mines set area", permissions = "mines.set", description = "Set the area of a mine to your current selection.") From 1dd60a4b1ff404f45b880041f4ba395061563290 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 17 Oct 2020 20:39:04 +0200 Subject: [PATCH 062/243] Code Improvement to the new feature Changelogs: - Code Improvement TO-DO: - Prestiges setup - Ranks Setup from a GUI --- .../prison/spigot/setup/RanksChatSetup.java | 135 +++--------------- 1 file changed, 16 insertions(+), 119 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java index e6baa3766..9fabe83af 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java @@ -40,132 +40,29 @@ public void setup(CommandSender sender){ permissionManagerCommand = "pp user {player} add " + permission; } - Bukkit.dispatchCommand(sender, "ranks create A 0 default &7[&1A&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add A " + permissionManagerCommand + "A"); - } - - Bukkit.dispatchCommand(sender, "ranks create B 1000 default &7[&2B&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add B " + permissionManagerCommand + "B"); - } - - Bukkit.dispatchCommand(sender, "ranks create C 1500 default &7[&3C&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add C " + permissionManagerCommand + "C"); - } - - Bukkit.dispatchCommand(sender, "ranks create D 2250 default &7[&4D&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add D " + permissionManagerCommand + "D"); - } - - Bukkit.dispatchCommand(sender, "ranks create E 3375 default &7[&5E&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add E " + permissionManagerCommand + "E"); - } + int colorID = 1; + double price = 0; - Bukkit.dispatchCommand(sender, "ranks create F 5063 default &7[&6F&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add F " + permissionManagerCommand + "F"); - } + for ( char rankName = 'A'; rankName <= 'Z'; rankName++) { - Bukkit.dispatchCommand(sender, "ranks create G 7594 default &7[&7G&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add G " + permissionManagerCommand + "G"); - } + Bukkit.dispatchCommand(sender, "ranks create " + rankName + " " + price + " default &7[&" + colorID + "" + rankName + "&7]&f"); + if (permissionManagerCommand != null) { + Bukkit.dispatchCommand(sender, "ranks command add " + rankName + " " + permissionManagerCommand + rankName); + } - Bukkit.dispatchCommand(sender, "ranks create H 11391 default &7[&8H&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add H " + permissionManagerCommand + "H"); - } + if (colorID < 9){ + colorID++; + } - Bukkit.dispatchCommand(sender, "ranks create I 17086 default &7[&9I&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add I " + permissionManagerCommand + "I"); - } - - Bukkit.dispatchCommand(sender, "ranks create J 25629 default &7[&aJ&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add J " + permissionManagerCommand + "J"); - } - - Bukkit.dispatchCommand(sender, "ranks create K 38443 default &7[&bK&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add K " + permissionManagerCommand + "K"); - } - - Bukkit.dispatchCommand(sender, "ranks create L 57665 default &7[&cL&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add L " + permissionManagerCommand + "L"); - } - - Bukkit.dispatchCommand(sender, "ranks create M 86497 default &7[&dM&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add M " + permissionManagerCommand + "M"); - } - - Bukkit.dispatchCommand(sender, "ranks create N 129746 default &7[&eN&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add N " + permissionManagerCommand + "N"); - } + if (price == 0){ + price += 1000; + } else { + price = price * 1.5; + } - Bukkit.dispatchCommand(sender, "ranks create O 194620 default &7[&fO&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add O " + permissionManagerCommand + "O"); + if (colorID > 9) colorID = 1; } - Bukkit.dispatchCommand(sender, "ranks create P 291929 default &7[&1P&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add P " + permissionManagerCommand + "P"); - } - - Bukkit.dispatchCommand(sender, "ranks create Q 437894 default &7[&2Q&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add Q " + permissionManagerCommand + "Q"); - } - - Bukkit.dispatchCommand(sender, "ranks create R 656841 default &7[&3R&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add R " + permissionManagerCommand + "R"); - } - - Bukkit.dispatchCommand(sender, "ranks create S 985261 default &7[&4S&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add S " + permissionManagerCommand + "S"); - } - - Bukkit.dispatchCommand(sender, "ranks create T 1477892 default &7[&5T&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add T " + permissionManagerCommand + "T"); - } - - Bukkit.dispatchCommand(sender, "ranks create U 2216838 default &7[&6U&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add U " + permissionManagerCommand + "U"); - } - - Bukkit.dispatchCommand(sender, "ranks create W 3325257 default &7[&7W&7]&f");if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add W " + permissionManagerCommand + "W"); - } - - - Bukkit.dispatchCommand(sender, "ranks create X 4987885 default &7[&8X&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add X " + permissionManagerCommand + "X"); - } - - Bukkit.dispatchCommand(sender, "ranks create Y 7481828 default &7[&9Y&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add Y " + permissionManagerCommand + "Y"); - } - - Bukkit.dispatchCommand(sender, "ranks create Z 11222742 default &7[&aZ&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add Z " + permissionManagerCommand + "Z"); - } - - sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.SuccessRanksSetup"))); } From e066a603c45cc2e5a841e736ffba3bd9f0146fc0 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 15:24:33 -0400 Subject: [PATCH 063/243] Links the rank command commands to the rank commands so they can be used together. Setup createRank to return a boolean to indicate if the rank was successfully created. This will allow programmatic internal use of createRank to automate more features such as rank configurations. --- changelog_v3.2.x.md | 4 +++ .../mcprison/prison/ranks/PrisonRanks.java | 7 +++-- .../prison/ranks/commands/RanksCommands.java | 31 +++++++++++++++---- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 18e1b695a..582e6c42d 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -10,6 +10,10 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-17 +* **Links the rank command commands to the rank commands so they can be used together.** +Setup createRank to return a boolean to indicate if the rank was successfully created. This will allow programmatic internal use of createRank to automate more features such as rank configurations. + + * **Add mine commands to add ranks to mines, and to remove ranks from mines.** diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java index 7588b0e06..34c8a8788 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java @@ -144,9 +144,12 @@ public static PrisonRanks getInstance() { // Load up the commands + CommandCommands rankCommandCommands = new CommandCommands(); + RanksCommands rankCommands = new RanksCommands(rankCommandCommands ); + Prison.get().getCommandHandler().registerCommands(new RankUpCommand()); - Prison.get().getCommandHandler().registerCommands(new CommandCommands()); - Prison.get().getCommandHandler().registerCommands(new RanksCommands()); + Prison.get().getCommandHandler().registerCommands(rankCommandCommands); + Prison.get().getCommandHandler().registerCommands(rankCommands); Prison.get().getCommandHandler().registerCommands(new LadderCommands()); // Load up all else diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 1dfd0eaad..c9b3b1eab 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -36,28 +36,44 @@ * @author Faizaan A. Datoo */ public class RanksCommands { + + private CommandCommands rankCommandCommands = null; + + public RanksCommands( CommandCommands rankCommandCommands ) { + this.rankCommandCommands = rankCommandCommands; + } + + public CommandCommands getRankCommandCommands() { + return rankCommandCommands; + } + public void setRankCommandCommands( CommandCommands rankCommandCommands ) { + this.rankCommandCommands = rankCommandCommands; + } - @Command(identifier = "ranks create", description = "Creates a new rank", + + @Command(identifier = "ranks create", description = "Creates a new rank", onlyPlayers = false, permissions = "ranks.create") - public void createRank(CommandSender sender, + public boolean createRank(CommandSender sender, @Arg(name = "rankName", description = "The name of this rank.") String name, @Arg(name = "cost", description = "The cost of this rank.") double cost, @Arg(name = "ladder", description = "The ladder to put this rank on.", def = "default") String ladder, @Arg(name = "tag", description = "The tag to use for this rank.", def = "none") String tag) { + + boolean success = false; // Ensure a rank with the name doesn't already exist if (PrisonRanks.getInstance().getRankManager().getRank(name).isPresent()) { Output.get() .sendWarn(sender, "A rank by this name already exists. Try a different name."); - return; + return success; } // Ensure a rank with the name doesn't already exist if (name == null || name.trim().length() == 0 || name.contains( "&" )) { Output.get().sendWarn(sender, "A rank name is required and cannot contain formatting codes."); - return; + return success; } // Fetch the ladder first, so we can see if it exists @@ -66,7 +82,7 @@ public void createRank(CommandSender sender, PrisonRanks.getInstance().getLadderManager().getLadder(ladder); if (!rankLadderOptional.isPresent()) { Output.get().sendWarn(sender, "A ladder by the name of '%s' does not exist.", ladder); - return; + return success; } // Set a default tag if necessary @@ -81,7 +97,7 @@ public void createRank(CommandSender sender, // Ensure it was created if (!newRankOptional.isPresent()) { Output.get().sendError(sender, "The rank could not be created."); - return; + return success; } Rank newRank = newRankOptional.get(); @@ -101,6 +117,8 @@ public void createRank(CommandSender sender, try { PrisonRanks.getInstance().getLadderManager().saveLadder(rankLadderOptional.get()); + success = true; + // Tell the player the good news! Output.get() .sendInfo(sender, "Your new rank, '%s', was created in the ladder '%s'", name, ladder); @@ -111,6 +129,7 @@ public void createRank(CommandSender sender, Output.get().logError("Ladder could not be written to disk.", e); } + return success; } @Command(identifier = "ranks delete", description = "Removes a rank, and deletes its files.", From f5b3982e13f23ee213ed30b4820cae7f3da3917b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 15:52:52 -0400 Subject: [PATCH 064/243] New Feature: Now able to create virtual mines. A virtual mine does not exist yet since it has no location, but you can configure all of the options first before setting the area with /prison set area. This is phase 1 of this new feature. Not fully tested yet. The intention is that when you auto configure all your ranks, it will also auto configure all your mines to go with those ranks. Then you can go back and set the mine's area as you build them. --- changelog_v3.2.x.md | 6 + .../prison/mines/commands/MinesCommands.java | 371 +++++++++++------- .../tech/mcprison/prison/mines/data/Mine.java | 87 ++-- .../mcprison/prison/mines/data/MineData.java | 53 ++- .../mcprison/prison/mines/data/MineReset.java | 58 ++- .../prison/mines/data/MineScheduler.java | 24 +- 6 files changed, 400 insertions(+), 199 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 582e6c42d..3bc82edfd 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -10,6 +10,12 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-17 +* **New Feature! Virtual Mines!** +Now able to create virtual mines. A virtual mine does not exist yet since it has no location, but you can configure all of the options first before setting the area with /prison set area. +This is phase 1 of this new feature. Not fully tested yet. +The intention is that when you auto configure all your ranks, it will also auto configure all your mines to go with those ranks. Then you can go back and set the mine's area as you build them. + + * **Links the rank command commands to the rank commands so they can be used together.** Setup createRank to return a boolean to indicate if the rank was successfully created. This will allow programmatic internal use of createRank to automate more features such as rank configurations. diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 27a688eb7..d88e02e63 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -79,11 +79,28 @@ private boolean performCheckMineExists(CommandSender sender, String mineName) { return true; } - @Command(identifier = "mines create", description = "Creates a new mine.", + @Command(identifier = "mines create", description = "Creates a new mine, or even a virtual mine.", onlyPlayers = false, permissions = "mines.create") public void createCommand(CommandSender sender, + @Arg(name = "virtual", description = "Create a virtual mine in name only; no physical location. " + + "This allows the mine to be predefined before specifying the coordinates. Use [virtual]. ", def = "") + String virtualMine, @Wildcard(join=true) - @Arg(name = "mineName", description = "The name of the new mine.", def = " ") String mineName) { + @Arg(name = "mineName", description = "The name of the new mine.", def = " ") String mineName + ) { + boolean virtual = false; + + if ( virtualMine != null && virtualMine.trim().length() > 0 ) { + if ( "virtual".equalsIgnoreCase( virtualMine.trim()) ) { + virtual = true; + } + else { + // Combine virtualMine to the beginning of the mineName if it exists. It was not + // intended to be the virtualMine parameter. Yes, adding a space will be an error, but + // they added it any way. + mineName = virtualMine + (mineName == null ? "" : " " + mineName.trim() ); + } + } if ( mineName == null || mineName.contains( " " ) || mineName.trim().length() == 0 ) { sender.sendMessage( "&3Names cannot contain spaces or be empty. &b[&d" + mineName + "&b]" ); @@ -93,31 +110,40 @@ public void createCommand(CommandSender sender, Player player = getPlayer( sender ); - if (player == null || !player.isOnline()) { + if ( !virtual && (player == null || !player.isOnline())) { sender.sendMessage( "&3You must be a player in the game to run this command." ); return; } PrisonMines pMines = PrisonMines.getInstance(); - Selection selection = Prison.get().getSelectionManager().getSelection(player); - if (!selection.isComplete()) { - pMines.getMinesMessages().getLocalizable("select_bounds") - .sendTo(sender, LogLevel.ERROR); - return; - } + + if (PrisonMines.getInstance().getMine(mineName) != null) { + pMines.getMinesMessages().getLocalizable("mine_exists") + .sendTo(sender, LogLevel.ERROR); + return; + } - if (!selection.getMin().getWorld().getName() - .equalsIgnoreCase(selection.getMax().getWorld().getName())) { - pMines.getMinesMessages().getLocalizable("world_diff") - .sendTo(sender, LogLevel.ERROR); - return; - } + Selection selection = null; - if (PrisonMines.getInstance().getMine(mineName) != null) { - pMines.getMinesMessages().getLocalizable("mine_exists") - .sendTo(sender, LogLevel.ERROR); - return; - } + // virtual mine will skip the setting of the boundaries, but it will make + // the mine unusable. + if ( !virtual ) { + + selection = Prison.get().getSelectionManager().getSelection(player); + if (!selection.isComplete()) { + pMines.getMinesMessages().getLocalizable("select_bounds") + .sendTo(sender, LogLevel.ERROR); + return; + } + + if (!selection.getMin().getWorld().getName() + .equalsIgnoreCase(selection.getMax().getWorld().getName())) { + pMines.getMinesMessages().getLocalizable("world_diff") + .sendTo(sender, LogLevel.ERROR); + return; + } + } + setLastMineReferenced(mineName); @@ -125,6 +151,11 @@ public void createCommand(CommandSender sender, pMines.getMineManager().add(mine); pMines.getMinesMessages().getLocalizable("mine_created").sendTo(sender); + if ( mine.isVirtual() ) { + player.sendMessage( "You just created a virtual mine. You can configure it but you will not " + + "be able to use it until you use the command &7/mines set area"); + } + // Delete the selection: Prison.get().getSelectionManager().clearSelection((Player) sender); @@ -190,6 +221,12 @@ public void spawnpointCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine mine = pMines.getMine(mineName); + + if ( !mine.isVirtual() ) { + sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + if ( !mine.isEnabled() ) { sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); return; @@ -444,10 +481,11 @@ public void setBlockCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } + // you should be able to configure virtual and disabled mines +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { @@ -589,11 +627,6 @@ public void delBlockCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } - BlockType blockType = BlockType.getBlock(block); if (blockType == null) { pMines.getMinesMessages().getLocalizable("not_a_block") @@ -765,10 +798,11 @@ public void deleteCommand(CommandSender sender, Mine mine = pMines.getMine(mineName); - if ( !mine.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } + // should be able to delete disabled and virtual mines: +// if ( !mine.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } // Remove from the manager: pMines.getMineManager().removeMine(mine); @@ -884,6 +918,10 @@ public void infoCommand(CommandSender sender, // Display Mine Info only: if ( cmdPageData.getCurPage() == 1 ) { + if ( !m.isVirtual() ) { + chatDisplay.text("&cWarning!! This mine is &lVirtual&r&c!! &7Use &3/mines set area &7to enable." ); + } + if ( !m.isEnabled() ) { chatDisplay.text("&cWarning!! This mine is &lDISABLED&r&c!!" ); } @@ -892,9 +930,11 @@ public void infoCommand(CommandSender sender, String noTagMessag = String.format( "&7(not set) &3Will default to mine name if used." ); chatDisplay.text("&3Tag: &7%s", m.getTag() == null ? noTagMessag : m.getTag()); + if ( !m.isVirtual() ) { + String worldName = m.getWorld().isPresent() ? m.getWorld().get().getName() : "&cmissing"; + chatDisplay.text("&3World: &7%s", worldName); + } - String worldName = m.getWorld().isPresent() ? m.getWorld().get().getName() : "&cmissing"; - chatDisplay.text("&3World: &7%s", worldName); if ( m.getRank() == null ) { chatDisplay.text( "&3No rank is linked to this mine." ); @@ -904,29 +944,29 @@ public void infoCommand(CommandSender sender, } - String minCoords = m.getBounds().getMin().toBlockCoordinates(); - String maxCoords = m.getBounds().getMax().toBlockCoordinates(); - chatDisplay.text("&3Bounds: &7%s &8to &7%s", minCoords, maxCoords); - Player player = getPlayer( sender ); - - chatDisplay.text("&3Center: &7%s &3%s &7%s", - m.getBounds().getCenter().toBlockCoordinates(), - (player == null ? "" : "Distance:"), - (player == null ? "" : fFmt.format( m.getBounds().getDistance3d( player.getLocation() ) )) - ); - if ( mMan.isMineStats() ) { - } - - - String spawnPoint = m.getSpawn() != null ? m.getSpawn().toBlockCoordinates() : "&cnot set"; - chatDisplay.text("&3Spawnpoint: &7%s", spawnPoint); - - if ( mMan.isMineStats() ) { - RowComponent rowStats = new RowComponent(); - rowStats.addTextComponent( " -- &7 Stats :: " ); - rowStats.addTextComponent( m.statsMessage() ); + if ( !m.isVirtual() ) { + String minCoords = m.getBounds().getMin().toBlockCoordinates(); + String maxCoords = m.getBounds().getMax().toBlockCoordinates(); + chatDisplay.text("&3Bounds: &7%s &8to &7%s", minCoords, maxCoords); + Player player = getPlayer( sender ); + + chatDisplay.text("&3Center: &7%s &3%s &7%s", + m.getBounds().getCenter().toBlockCoordinates(), + (player == null ? "" : "Distance:"), + (player == null ? "" : fFmt.format( m.getBounds().getDistance3d( player.getLocation() ) )) + ); + + + String spawnPoint = m.getSpawn() != null ? m.getSpawn().toBlockCoordinates() : "&cnot set"; + chatDisplay.text("&3Spawnpoint: &7%s", spawnPoint); - chatDisplay.addComponent(rowStats); + if ( mMan.isMineStats() ) { + RowComponent rowStats = new RowComponent(); + rowStats.addTextComponent( " -- &7 Stats :: " ); + rowStats.addTextComponent( m.statsMessage() ); + + chatDisplay.addComponent(rowStats); + } } @@ -953,7 +993,7 @@ public void infoCommand(CommandSender sender, chatDisplay.addComponent( row ); } - { + if ( !m.isVirtual() ) { RowComponent row = new RowComponent(); long targetResetTime = m.getTargetResetTime(); @@ -1182,6 +1222,13 @@ public void resetCommand(CommandSender sender, Mine m = pMines.getMine(mineName); + + if ( !m.isVirtual() ) { + sender.sendMessage( "&cInvalid option. This mine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + + if ( !m.isEnabled() ) { sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); return; @@ -1336,6 +1383,14 @@ private BulletedListComponent getMinesLineItemList( PrisonSortableResults sorted + if ( m.isVirtual() ) { + row.addFancy( + new FancyMessage( "&cVIRTUAL " ) + .command("/mines set area " + m.getName()) + .tooltip("&7Click to set the mine's area to make it a real mine. ")); + } + + if ( !m.isEnabled() ) { row.addFancy( new FancyMessage( "&cDISABLED!! " ) @@ -1344,9 +1399,11 @@ private BulletedListComponent getMinesLineItemList( PrisonSortableResults sorted "disabled. World may not exist? ")); } - row.addFancy( - new FancyMessage("&eTP ").command("/mines tp " + m.getName()) - .tooltip("&7Click to TP to the mine")); + if ( !m.isVirtual() ) { + row.addFancy( + new FancyMessage("&eTP ").command("/mines tp " + m.getName()) + .tooltip("&7Click to TP to the mine")); + } if ( m.isUsePagingOnReset() ) { @@ -1358,16 +1415,20 @@ private BulletedListComponent getMinesLineItemList( PrisonSortableResults sorted row.addTextComponent( " &3Reset: &7" ); - row.addFancy( - new FancyMessage(dFmt.format(m.getRemainingTimeSec())) - .tooltip( "Estimated time in seconds before the mine resets" ) ); - row.addTextComponent( " sec &3(&b" ); + if ( !m.isVirtual() ) { + row.addFancy( + new FancyMessage(dFmt.format(m.getRemainingTimeSec())) + .tooltip( "Estimated time in seconds before the mine resets" ) ); + row.addTextComponent( " sec &3(&b" ); + } + row.addFancy( new FancyMessage(dFmt.format(m.getResetTime())) .tooltip( "Reset time in seconds" ) ); row.addTextComponent( " sec&3)&b" ); - if ( player != null && m.getBounds().withinSameWorld( player.getLocation() ) ) { + if ( !m.isVirtual() && player != null && + m.getBounds().withinSameWorld( player.getLocation() ) ) { row.addTextComponent( " &3Dist: &7"); row.addFancy( @@ -1379,35 +1440,35 @@ private BulletedListComponent getMinesLineItemList( PrisonSortableResults sorted builder.add(row.getFancy()); - - RowComponent row2 = new RowComponent(); + if ( !m.isVirtual() ) { + RowComponent row2 = new RowComponent(); // row2.addTextComponent( " &3Rem: " ); - - // Right justify the total blocks mined, with 1000's separators: - String blocksMined = " " + dFmt.format( m.getTotalBlocksMined() ); - blocksMined = blocksMined.substring( blocksMined.length() - 10); - - row2.addFancy( - new FancyMessage( String.format(" %s &3Rem: ", blocksMined)). - tooltip( "Blocks mined" ) ); - - row2.addFancy( - new FancyMessage(fFmt.format(m.getPercentRemainingBlockCount())). - tooltip( "Percent Blocks Remaining" ) ); - - row2.addTextComponent( "%% &3RCnt: &7" ); - - row2.addFancy( - new FancyMessage(dFmt.format(m.getResetCount())). - tooltip( "Times the mine was reset." ) ); - - - row2.addTextComponent( " &3 Vol: &7" ); - row2.addFancy( - new FancyMessage(dFmt.format(m.getBounds().getTotalBlockCount())). - tooltip( "Volume in Blocks" ) ); - - + + // Right justify the total blocks mined, with 1000's separators: + String blocksMined = " " + dFmt.format( m.getTotalBlocksMined() ); + blocksMined = blocksMined.substring( blocksMined.length() - 10); + + row2.addFancy( + new FancyMessage( String.format(" %s &3Rem: ", blocksMined)). + tooltip( "Blocks mined" ) ); + + row2.addFancy( + new FancyMessage(fFmt.format(m.getPercentRemainingBlockCount())). + tooltip( "Percent Blocks Remaining" ) ); + + row2.addTextComponent( "%% &3RCnt: &7" ); + + row2.addFancy( + new FancyMessage(dFmt.format(m.getResetCount())). + tooltip( "Times the mine was reset." ) ); + + + row2.addTextComponent( " &3 Vol: &7" ); + row2.addFancy( + new FancyMessage(dFmt.format(m.getBounds().getTotalBlockCount())). + tooltip( "Volume in Blocks" ) ); + + // String noteMode = m.getNotificationMode().name() + // ( m.getNotificationMode() == MineNotificationMode.radius ? // " " + dFmt.format( m.getNotificationRadius() ) : "" ); @@ -1420,11 +1481,14 @@ private BulletedListComponent getMinesLineItemList( PrisonSortableResults sorted // new FancyMessage(m.getBounds().getDimensions()).tooltip( "Size of Mine" ) ); // // row.addTextComponent( "&7 - &b"); - - builder.add(row2.getFancy()); + + builder.add(row2.getFancy()); + + } + - if ( isMineStatsEnabled ) { + if ( !m.isVirtual() && isMineStatsEnabled ) { RowComponent rowStats = new RowComponent(); rowStats.addTextComponent( " -- &7 Stats :: " ); @@ -1474,10 +1538,10 @@ public void skipResetCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } boolean skipEnabled = "enabled".equalsIgnoreCase( enabled ); double skipPercent = 80.0d; @@ -1565,10 +1629,10 @@ public void resetTimeCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } m.setResetTime( resetTime ); @@ -1641,10 +1705,10 @@ public void zeroBlockResetDelayCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } m.setZeroBlockResetDelaySec( resetTime ); @@ -1703,10 +1767,10 @@ public void resetThresholdPercentCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } double thresholdPercent = 0.0d; @@ -1775,10 +1839,10 @@ public void setNotificationCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } MineNotificationMode noteMode = MineNotificationMode.fromString( mode, MineNotificationMode.displayOptions ); @@ -1850,10 +1914,10 @@ public void setNotificationPermissionCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( !action.equalsIgnoreCase( "enable" ) && !action.equalsIgnoreCase( "disable" )) { sender.sendMessage( "&7Invalid value for action: [enable, disable]" ); @@ -1895,10 +1959,10 @@ public void setMineRankCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( rankName == null || rankName.trim().length() == 0 ) { sender.sendMessage( "&cRank name is required." ); @@ -1933,10 +1997,10 @@ public void setMineNoRankCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( m.getRank() == null ) { @@ -1970,10 +2034,10 @@ public void redefineCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } Selection selection = Prison.get().getSelectionManager().getSelection((Player) sender); @@ -2021,10 +2085,10 @@ public void setMineResetPagingCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( paging == null || !"disable".equalsIgnoreCase( paging ) && !"enable".equalsIgnoreCase( paging ) ) { sender.sendMessage( "&cInvalid paging option&7. Use &adisable&7 or &aenable&7" ); @@ -2092,6 +2156,13 @@ else if ( playerAlt != null ) { PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); + + if ( !m.isVirtual() ) { + sender.sendMessage( "&cInvalid option. This mine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + + String minePermission = "mines.tp." + m.getName().toLowerCase(); if ( !sender.isOp() && !sender.hasPermission("mines.tp") && @@ -2103,10 +2174,10 @@ else if ( playerAlt != null ) { } - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( sender instanceof Player ) { m.teleportPlayerOut( (Player) sender ); @@ -2155,7 +2226,7 @@ public void mineWhereAmI(CommandSender sender) { List inMine = new ArrayList<>(); TreeMap nearMine = new TreeMap<>(); for ( Mine mine : pMines.getMineManager().getMines() ) { - if ( mine.getBounds().within( player.getLocation() ) ) { + if ( !mine.isVirtual() && mine.getBounds().within( player.getLocation() ) ) { inMine.add( mine ); } @@ -2302,10 +2373,10 @@ public void commandRemove(CommandSender sender, // MineManager mMan = pMines.getMineManager(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if (m.getResetCommands() == null || m.getResetCommands().size() == 0) { Output.get().sendInfo(sender, "The mine '%s' contains no commands.", m.getName()); @@ -2358,10 +2429,10 @@ public void commandAdd(CommandSender sender, // MineManager mMan = pMines.getMineManager(); Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( command == null || command.trim().length() == 0 ) { sender.sendMessage( diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index ec5b49995..3c1f8fa7b 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -67,11 +67,17 @@ public Mine(String name, Selection selection) { super(); setName(name); - setBounds(selection.asBounds()); - - setWorldName( getBounds().getMin().getWorld().getName()); - - setEnabled( true ); + if ( selection == null ) { + setVirtual( true ); + } + else { + + setBounds(selection.asBounds()); + + setWorldName( getBounds().getMin().getWorld().getName()); + + setEnabled( true ); + } // Kick off the initialize: initialize(); @@ -171,10 +177,13 @@ private void loadFromDocument( Document document ) String worldName = (String) document.get("world"); setWorldName( worldName ); setName((String) document.get("name")); // Mine name: - + String tag = (String) document.get("tag"); setTag( tag ); + + + setVirtual( document.get("isVirtual") == null ? false : (boolean) document.get("isVirtual") ); Double sortOrder = (Double) document.get( "sortOrder" ); @@ -183,43 +192,47 @@ private void loadFromDocument( Document document ) World world = null; - if ( worldName == null ) { - Output.get().logInfo( "Mines.loadFromDocument: Failure: World does not exist in Mine file. mine= %s " + - "Contact support on how to fix.", - getName()); + if ( !isVirtual() ) { + if ( worldName == null ) { + Output.get().logInfo( "Mines.loadFromDocument: Failure: World does not exist in Mine file. mine= %s " + + "Contact support on how to fix.", + getName()); + } + + Optional worldOptional = Prison.get().getPlatform().getWorld(worldName); + if (!worldOptional.isPresent()) { + MineManager mineMan = PrisonMines.getInstance().getMineManager(); + + // Store this mine and the world in MineManager's unavailableWorld for later + // processing and hooking up to the world object. Print an error message upon + // the first mine's world not existing. + mineMan.addUnavailableWorld( worldName, this ); + + setEnabled( false ); + } + else { + world = worldOptional.get(); + setEnabled( true ); + } + + // World world = worldOptional.get(); + + setBounds( new Bounds( + getLocation(document, world, "minX", "minY", "minZ"), + getLocation(document, world, "maxX", "maxY", "maxZ"))); + + setHasSpawn((boolean) document.get("hasSpawn")); + if (isHasSpawn()) { + setSpawn(getLocation(document, world, "spawnX", "spawnY", "spawnZ", "spawnPitch", "spawnYaw")); + } + } - - Optional worldOptional = Prison.get().getPlatform().getWorld(worldName); - if (!worldOptional.isPresent()) { - MineManager mineMan = PrisonMines.getInstance().getMineManager(); - - // Store this mine and the world in MineManager's unavailableWorld for later - // processing and hooking up to the world object. Print an error message upon - // the first mine's world not existing. - mineMan.addUnavailableWorld( worldName, this ); - - setEnabled( false ); - } - else { - world = worldOptional.get(); - setEnabled( true ); - } -// World world = worldOptional.get(); Double resetTimeDouble = (Double) document.get("resetTime"); setResetTime( resetTimeDouble != null ? resetTimeDouble.intValue() : PrisonMines.getInstance().getConfig().resetTime ); - setBounds( new Bounds( - getLocation(document, world, "minX", "minY", "minZ"), - getLocation(document, world, "maxX", "maxY", "maxZ"))); - - setHasSpawn((boolean) document.get("hasSpawn")); - if (isHasSpawn()) { - setSpawn(getLocation(document, world, "spawnX", "spawnY", "spawnZ", "spawnPitch", "spawnYaw")); - } - setNotificationMode( MineNotificationMode.fromString( (String) document.get("notificationMode")) ); Double noteRadius = (Double) document.get("notificationRadius"); @@ -411,6 +424,8 @@ public Document toDocument() { ret.put("world", getWorldName()); ret.put("name", getName()); + ret.put( "isVirtual", isVirtual() ); + ret.put( "tag", getTag() ); ret.put( "sortOrder", getSortOrder() ); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 05ff4c253..1d2cfecf0 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -30,6 +30,7 @@ public abstract class MineData private String tag; private boolean enabled = false; + private boolean virtual = false; /** * A sortOrder of -1 means it should be excluded from most mine listings. @@ -114,6 +115,7 @@ public MineData() { this.prisonBlocks = new ArrayList<>(); this.enabled = false; + this.virtual = false; /** * Mines are sorted based upon the sortOrder, ascending. If a mine is given @@ -159,12 +161,31 @@ protected void initialize() { public boolean isEnabled() { - return enabled; + return !isVirtual() && enabled; } public void setEnabled( boolean enabled ) { this.enabled = enabled; } + + /** + *

A virtual mine does not have any coordinates defined for either the + * mine itself, or the spawn point. A virtual mine can never be enabled. + *

+ * + *

A virtual mine can be potentially useful to be pre-created and auto + * configured. + *

+ * + * @return + */ + public boolean isVirtual() { + return virtual; + } + public void setVirtual( boolean virtual ) { + this.virtual = virtual; + } + public ModuleElementType getModuleElementType() { return elementType; } @@ -215,10 +236,17 @@ public void setName(String name) { } public String getWorldName() { + if ( isVirtual() ) { + return "Virtually-Undefined"; + } return worldName; } public void setWorldName( String worldName ) { - this.worldName = worldName; + // cannot set the world name if it is a virtual mine: + if ( !isVirtual() ) { + this.worldName = worldName; + } + } /** @@ -236,7 +264,7 @@ public void setWorldName( String worldName ) { * @return */ public Optional getWorld() { - return Optional.ofNullable( getBounds().getMin().getWorld() ); + return Optional.ofNullable( isVirtual() ? null : getBounds().getMin().getWorld() ); // return Prison.get().getPlatform().getWorld(worldName); } @@ -328,10 +356,16 @@ public void setBlocks(HashMap blockMap) { } public boolean isInMine(Location location) { + if ( isVirtual() ) { + return false; + } return getBounds().within(location); } public boolean isInMine(BlockType blockType) { + if ( isVirtual() ) { + return false; + } for (Block block : getBlocks()) { if (blockType == block.getType()) { return true; @@ -341,6 +375,9 @@ public boolean isInMine(BlockType blockType) { } public boolean isInMine(PrisonBlock blockType) { + if ( isVirtual() ) { + return false; + } for (PrisonBlock block : getPrisonBlocks()) { if (blockType.getBlockName().equalsIgnoreCase( block.getBlockName())) { return true; @@ -350,6 +387,9 @@ public boolean isInMine(PrisonBlock blockType) { } public double area() { + if ( isVirtual() ) { + return 0; + } return getBounds().getArea(); } @@ -371,8 +411,11 @@ public Location getSpawn() { * @return this instance for chaining */ public void setSpawn(Location location) { - hasSpawn = (location != null); - spawn = location; + // cannot set spawn when virtual: + if ( !isVirtual() ) { + hasSpawn = (location != null); + spawn = location; + } } public boolean isHasSpawn() { diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index f9d00ae5b..2e996c536 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -121,8 +121,11 @@ public MineReset() { protected void initialize() { super.initialize(); - // Once the mine has been loaded, MUST get a count of all air blocks. - refreshBlockBreakCountUponStartup(); + if ( !isVirtual() ) { + + // Once the mine has been loaded, MUST get a count of all air blocks. + refreshBlockBreakCountUponStartup(); + } } /** @@ -163,6 +166,11 @@ protected void resetSynchonously() { private void resetSynchonouslyInternal() { try { + if ( isVirtual() ) { + // Mine is virtual and cannot be reset. Just skip this with no error messages. + return; + } + if ( !isEnabled() ) { Output.get().logError( String.format( "MineReset: Reset failure: Mine is not enabled. " + @@ -389,6 +397,10 @@ private void resetStats() { private long teleportAllPlayersOut(int targetY) { long start = System.currentTimeMillis(); + if ( isVirtual() ) { + return 0; + } + World world = getBounds().getCenter().getWorld(); if ( isEnabled() && world != null ) { @@ -432,7 +444,11 @@ private long teleportAllPlayersOut(int targetY) { * @param player */ public void teleportPlayerOut(Player player) { - + + if ( isVirtual() ) { + // ignore: + } + else if ( !isEnabled() ) { player.sendMessage( String.format( "&7MineReset: Teleport failure: Mine is not enabled. " + @@ -470,7 +486,7 @@ private Location alternativeTpLocation() public int getPlayerCount() { int count = 0; - if ( isEnabled() ) { + if ( !isVirtual() && isEnabled() ) { World world = getWorld().get(); @@ -524,6 +540,10 @@ public int getPlayerCount() { */ protected void generateBlockListAsync() { + if ( isVirtual() ) { + // ignore and generate no error messages: + return; + } if ( !isEnabled() ) { Output.get().logError( String.format( "MineReset: Block count failure: Mine is not enabled. " + @@ -597,8 +617,11 @@ protected void resetAsynchonously() { // Output.get().logInfo( "MineRest.resetAsynchonously() " + getName() ); + if ( isVirtual() ) { + canceled = true; + } - if ( getResetPage() == 0 ) { + if ( !canceled && getResetPage() == 0 ) { generateBlockListAsync(); canceled = resetAsynchonouslyInitiate(); @@ -740,6 +763,10 @@ protected void resetAsynchonously() { private boolean resetAsynchonouslyInitiate() { boolean canceled = false; + if ( isVirtual()) { + canceled = true; + } + else if ( !isEnabled() ) { Output.get().logError( String.format( "MineReset: resetAsynchonouslyInitiate failure: Mine is not enabled. " + @@ -797,7 +824,10 @@ private boolean resetAsynchonouslyInitiate() { * */ private void resetAsynchonouslyUpdate() { - + if ( isVirtual() ) { + // ignore: + } + else if ( !isEnabled() ) { Output.get().logError( String.format( "MineReset: resetAsynchonouslyUpdate failure: Mine is not enabled. " + @@ -948,6 +978,10 @@ protected void refreshAirCountAsyncTask() { boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); + if ( isVirtual() ) { + // ignore: + } + else if ( !isEnabled() ) { Output.get().logError( String.format( "MineReset: refreshAirCountAsyncTask failure: Mine is not enabled. " + @@ -1060,6 +1094,9 @@ public int getRemainingBlockCount() { } public double getPercentRemainingBlockCount() { + if ( isVirtual() ) { + return 0; + } int totalCount = getBounds().getTotalBlockCount(); int remainingCount = getRemainingBlockCount(); double percentRemaining = (totalCount == 0d ? 0d : (remainingCount * 100d) / (double) totalCount); @@ -1177,6 +1214,10 @@ private BlockType randomlySelectBlock( Random random ) private void broadcastResetMessageToAllPlayersWithRadius() { long start = System.currentTimeMillis(); + if ( isVirtual() ) { + // ignore: + } + else if ( getNotificationMode() != MineNotificationMode.disabled ) { World world = getBounds().getCenter().getWorld(); @@ -1215,6 +1256,11 @@ private void broadcastResetMessageToAllPlayersWithRadius() { } protected void broadcastPendingResetMessageToAllPlayersWithRadius(MineJob mineJob) { + + if ( isVirtual() ) { + // ignore: + } + else if ( getNotificationMode() != MineNotificationMode.disabled ) { World world = getBounds().getCenter().getWorld(); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineScheduler.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineScheduler.java index bbc130403..67a67276b 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineScheduler.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineScheduler.java @@ -205,6 +205,12 @@ protected List initializeJobWorkflow( double resetTime, boolean include { List workflow = new ArrayList<>(); + // if the mine is virtual, set the resetTime to four hours. It won't reset, but it will stay active + // in the workflow: + if ( isVirtual() ) { + resetTime = 60 * 60 * 4; // one hour * 4 + } + // Determine if the sync or async reset action should be used for this workflow. MineJobAction resetAction = isUsePagingOnReset() ? MineJobAction.RESET_ASYNC : MineJobAction.RESET_SYNC; @@ -348,6 +354,10 @@ public void run() @SuppressWarnings( "unused" ) private void checkWorld() { + if ( isVirtual() ) { + // ignore: + } + else if ( !isEnabled() ) { // Must try to load world again: Optional worldOptional = Prison.get().getPlatform().getWorld( getWorldName() ); @@ -436,7 +446,10 @@ private void submitNextAction(int offset) { * */ public void manualReset() { - manualReset( MineResetType.FORCED, 0 ); + + if ( !isVirtual() ) { + manualReset( MineResetType.FORCED, 0 ); + } } @@ -445,7 +458,8 @@ public boolean checkZeroBlockReset() { // Reset if the mine runs out of blocks: - if ( getRemainingBlockCount() == 0 && !isZeroBlockResetDisabled() || + if ( !isVirtual() && + getRemainingBlockCount() == 0 && !isZeroBlockResetDisabled() || getResetThresholdPercent() > 0 && getRemainingBlockCount() < (getBounds().getTotalBlockCount() * getResetThresholdPercent() / 100.0d)) { @@ -469,6 +483,12 @@ public boolean checkZeroBlockReset() { * */ private void manualReset( MineResetType resetType, double delayActionSec ) { + + if ( isVirtual() ) { + // Nope... nothing to reset... + return; + } + // cancel existing job: if ( getTaskId() != null ) { Prison.get().getPlatform().getScheduler().cancelTask( getTaskId() ); From c27eed8cf5df0fff76d0b7b3f1c7bfbf69254403 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 16:25:05 -0400 Subject: [PATCH 065/243] Linked the various mine and rank commands to their respective managers so they can be easily accessed programmatically now. --- .../mcprison/prison/mines/PrisonMines.java | 13 ++++++- .../prison/ranks/managers/RankManager.java | 38 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java index acafe4bf0..43f390df5 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/PrisonMines.java @@ -61,6 +61,8 @@ public class PrisonMines extends Module { private MineManager mineManager; private PlayerManager player; + + private MinesCommands minesCommands; /** @@ -111,7 +113,9 @@ public void enable() { // initMines(); PrisonAPI.getEventBus().register(new MinesListener()); - Prison.get().getCommandHandler().registerCommands(new MinesCommands()); + + setMinesCommands( new MinesCommands() ); + Prison.get().getCommandHandler().registerCommands( getMinesCommands() ); //Prison.get().getCommandHandler().registerCommands(new PowertoolCommands()); ConversionManager.getInstance().registerConversionAgent(new MinesConversionAgent()); @@ -255,4 +259,11 @@ public PlayerManager getPlayerManager() { return player; } + public MinesCommands getMinesCommands() { + return minesCommands; + } + public void setMinesCommands( MinesCommands minesCommands ) { + this.minesCommands = minesCommands; + } + } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java index 94b07bc75..676915c39 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java @@ -29,6 +29,10 @@ import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.ranks.PrisonRanks; +import tech.mcprison.prison.ranks.commands.CommandCommands; +import tech.mcprison.prison.ranks.commands.LadderCommands; +import tech.mcprison.prison.ranks.commands.RankUpCommand; +import tech.mcprison.prison.ranks.commands.RanksCommands; import tech.mcprison.prison.ranks.data.Rank; import tech.mcprison.prison.ranks.data.RankLadder; import tech.mcprison.prison.ranks.data.RankLadder.PositionRank; @@ -50,6 +54,12 @@ public class RankManager { private Collection collection; private List loadedRanks; + private CommandCommands rankCommandCommands; + private RanksCommands ranksCommands; + private RankUpCommand rankupCommands; + private LadderCommands ladderCommands; + + /* * Constructor */ @@ -442,5 +452,33 @@ private void rankByLadderOutput( CommandSender sender, String ranksByLadder ) { sender.sendMessage( ranksByLadder ); } } + + public CommandCommands getRankCommandCommands() { + return rankCommandCommands; + } + public void setRankCommandCommands( CommandCommands rankCommandCommands ) { + this.rankCommandCommands = rankCommandCommands; + } + + public RanksCommands getRanksCommands() { + return ranksCommands; + } + public void setRanksCommands( RanksCommands ranksCommands ) { + this.ranksCommands = ranksCommands; + } + + public RankUpCommand getRankupCommands() { + return rankupCommands; + } + public void setRankupCommands( RankUpCommand rankupCommands ) { + this.rankupCommands = rankupCommands; + } + + public LadderCommands getLadderCommands() { + return ladderCommands; + } + public void setLadderCommands( LadderCommands ladderCommands ) { + this.ladderCommands = ladderCommands; + } } From 45b246ab0ef5d160632b2a296df8aacec0ea3222 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 17 Oct 2020 16:32:20 -0400 Subject: [PATCH 066/243] Updated docs... --- changelog_v3.2.x.md | 5 +++++ knownissues_v3.2.x.md | 2 ++ 2 files changed, 7 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 3bc82edfd..734a069ea 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -10,6 +10,11 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-17 +* **Linked the various mine and rank commands to their respective managers** +so they can be easily accessed programmatically now. + + + * **New Feature! Virtual Mines!** Now able to create virtual mines. A virtual mine does not exist yet since it has no location, but you can configure all of the options first before setting the area with /prison set area. This is phase 1 of this new feature. Not fully tested yet. diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index 0012b87b2..e91b7be07 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -10,6 +10,8 @@ issues, and/or to serve as items that should be added, or fixed. # To Do Items - During Beta v3.2.2 +* **EX with auto pickup** +For cetain blocks such as coal, diamonds, other... provide xp... * **Rename Mines** From 4f6649dbc816cbef5fb1ae974238fe628c9cc86f Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 17 Oct 2020 22:35:47 +0200 Subject: [PATCH 067/243] Code Improvement to the new feature Changelogs: - Code Improvement TO-DO: - Prestiges setup - Ranks Setup from a GUI --- .../mcprison/prison/spigot/setup/RanksChatSetup.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java index 9fabe83af..194248765 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java @@ -45,26 +45,18 @@ public void setup(CommandSender sender){ for ( char rankName = 'A'; rankName <= 'Z'; rankName++) { - Bukkit.dispatchCommand(sender, "ranks create " + rankName + " " + price + " default &7[&" + colorID + "" + rankName + "&7]&f"); + Bukkit.dispatchCommand(sender, "ranks create " + rankName + " " + price + " default &7[&" + ((colorID++ % 9) + 1) + "" + rankName + "&7]&f"); if (permissionManagerCommand != null) { Bukkit.dispatchCommand(sender, "ranks command add " + rankName + " " + permissionManagerCommand + rankName); } - if (colorID < 9){ - colorID++; - } - if (price == 0){ price += 1000; } else { price = price * 1.5; } - - if (colorID > 9) colorID = 1; } sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.SuccessRanksSetup"))); - } - } From d99e91c9d43bc5b7f4cff5514e9ec37bb20c9a5e Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 17 Oct 2020 22:36:50 +0200 Subject: [PATCH 068/243] Code Improvement to the new feature Changelogs: - Code Improvement TO-DO: - Prestiges setup - Ranks Setup from a GUI --- .../java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java | 1 + 1 file changed, 1 insertion(+) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java index 194248765..c97252fa2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java @@ -55,6 +55,7 @@ public void setup(CommandSender sender){ } else { price = price * 1.5; } + } sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.SuccessRanksSetup"))); From 339415698d1d508c06d0897934be83296cf08e08 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 01:46:09 -0400 Subject: [PATCH 069/243] Storing the rank commands within the PrisonRanks class. The allows internal access to the commands so they can be used internally too. Will be used for automation purposes. --- .../mcprison/prison/ranks/PrisonRanks.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java index 34c8a8788..af8cf5e41 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/PrisonRanks.java @@ -145,12 +145,19 @@ public static PrisonRanks getInstance() { // Load up the commands CommandCommands rankCommandCommands = new CommandCommands(); - RanksCommands rankCommands = new RanksCommands(rankCommandCommands ); - - Prison.get().getCommandHandler().registerCommands(new RankUpCommand()); - Prison.get().getCommandHandler().registerCommands(rankCommandCommands); - Prison.get().getCommandHandler().registerCommands(rankCommands); - Prison.get().getCommandHandler().registerCommands(new LadderCommands()); + RanksCommands ranksCommands = new RanksCommands(rankCommandCommands ); + RankUpCommand rankupCommands = new RankUpCommand(); + LadderCommands ladderCommands = new LadderCommands(); + + rankManager.setRankCommandCommands( rankCommandCommands ); + rankManager.setRanksCommands( ranksCommands ); + rankManager.setRankupCommands( rankupCommands ); + rankManager.setLadderCommands( ladderCommands ); + + Prison.get().getCommandHandler().registerCommands( rankCommandCommands ); + Prison.get().getCommandHandler().registerCommands( ranksCommands ); + Prison.get().getCommandHandler().registerCommands( rankupCommands ); + Prison.get().getCommandHandler().registerCommands( ladderCommands ); // Load up all else From d6c6293c18bfb27714815d92fc29dec63a15ee45 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 01:50:23 -0400 Subject: [PATCH 070/243] Added a new command to the Platform... This allows the creation of a Rank or Mine based upon a ModuleElement.** That has major impact on added flexibility, and could lead to an automation of generating mines and ranks. --- .../prison/internal/platform/Platform.java | 3 ++ .../tech/mcprison/prison/TestPlatform.java | 4 ++ .../prison/spigot/SpigotPlatform.java | 42 ++++++++++++++++++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 9443305ea..cb10a3e87 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -271,5 +271,8 @@ default Optional getCommand(String label) { public boolean linkModuleElements( ModuleElement sourceElement, ModuleElementType targetElementType, String name ); + public ModuleElement createModuleElement( CommandSender sender, ModuleElementType elementType, String name, String tag ); + + } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 0aeb4e531..b3bd6e786 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -248,4 +248,8 @@ public boolean linkModuleElements( ModuleElement sourceElement, return false; } + @Override + public ModuleElement createModuleElement( CommandSender sender, ModuleElementType elementType, String name, String tag ) { + return null; + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 307a071c3..8a88d3e6b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -728,8 +728,46 @@ else if ( sourceElement.getModuleElementType() == ModuleElementType.RANK && } } - - + return results; + } + + /** + *

This function will create the specified ModuleElement. It will create the minimal + * possible element, of which, the settings can then be changed. If the create was + * successful, then it will return the element, otherwise it will return a null. + *

+ * + *

Minimal mines will be a virtual mine, but with the tag set. + *

+ * + *

Minimal rank will be placed on the default ladder with a cost of zero. + *

+ * + */ + public ModuleElement createModuleElement( tech.mcprison.prison.internal.CommandSender sender, + ModuleElementType elementType, String name, String tag ) { + ModuleElement results = null; + + if ( elementType == ModuleElementType.MINE ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + Mine mine = mm.getMine( name ); + if ( mine == null ) { + PrisonMines.getInstance().getMinesCommands().createCommand( sender, "virtual", name ); + mine = mm.getMine( name ); + mine.setTag( tag ); + + results = mine; + } + } + else if ( elementType == ModuleElementType.RANK ) { + RankManager rm = PrisonRanks.getInstance().getRankManager(); + rm.getRanksCommands().createRank( sender, name, 0, "default", tag ); + + Rank rank = rm.getRank( name ).orElseGet( null ); + + results = rank; + } + return results; } } From 1253e6da43285418f93fa69bba429996604525d8 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 02:13:51 -0400 Subject: [PATCH 071/243] New feature! Auto generate Ranks and Mines!! This is based upon the work of Gabryaca, but I reproduced it to be a part of the RanksCommand and gave it the capability of generating virtual mines too! This is actually a starting point of what it can become. I not only added the creation of mines, but I also hooked it up to link the mines and ranks together as it generates them. Note, that this is not yet tested. --- changelog_v3.2.x.md | 12 + .../prison/ranks/commands/RanksCommands.java | 208 ++++++++++++++++++ 2 files changed, 220 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 734a069ea..3bc7abca9 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -9,6 +9,18 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-17 +* **New feature! Auto generate Ranks and Mines!!** +This is based upon the work of Gabryaca, but I reproduced it to be a part of the RanksCommand and gave it the capability of generating virtual mines too! +This is actually a starting point of what it can become. I not only added the creation of mines, but I also hooked it up to link the mines and ranks together as it generates them. + + +* **Added a new command to the Platform... This allows the creation of a Rank or Mine based upon a ModuleElement.** +That has major impact on added flexibility, and could lead to an automation of generating mines and ranks. + + +* **Storing the rank commands within the PrisonRanks class.** +The allows internal access to the commands so they can be used internally too. Will be used for automation purposes. + * **Linked the various mine and rank commands to their respective managers** so they can be easily accessed programmatically now. diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index c9b3b1eab..60057656b 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -6,19 +6,23 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.TreeMap; import java.util.stream.Collectors; import tech.mcprison.prison.Prison; import tech.mcprison.prison.PrisonAPI; +import tech.mcprison.prison.PrisonCommand.RegisteredPluginsData; import tech.mcprison.prison.chat.FancyMessage; import tech.mcprison.prison.commands.Arg; import tech.mcprison.prison.commands.Command; +import tech.mcprison.prison.commands.Wildcard; import tech.mcprison.prison.integration.EconomyCurrencyIntegration; import tech.mcprison.prison.integration.EconomyIntegration; import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.modules.ModuleElement; +import tech.mcprison.prison.modules.ModuleElementType; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; import tech.mcprison.prison.output.FancyMessageComponent; @@ -132,6 +136,210 @@ public boolean createRank(CommandSender sender, return success; } + + @Command(identifier = "ranks autoConfigure", description = "Auto configures Ranks and Mines using " + + "single letters A through Z for both the rank and mine names. If both ranks and mines are " + + "generated, they will also be linked together automatically. To set the starting price use " + + "price=x. To set multiplier mult=x. " + + "Default values [full price=50000 mult=1.5]", + onlyPlayers = false, permissions = "ranks.set") + public void autoConfigureRanks(CommandSender sender, + @Wildcard(join=true) + @Arg(name = "options", + description = "Options: [full ranks mines price=x mult=x]", + def = "full") String options + ) { + String optionHelp = "[full ranks mines price=x mult=x]"; + boolean ranks = false; + boolean mines = false; + double startingPrice = 50000; + double percentMultipler = 1.5; + + options = (options == null ? "" : options.replaceAll( "/s*", " " )); + if ( options.trim().length() == 0 ) { + Output.get().sendError(sender, + "Invalid options. Use %s. Was: %s", + optionHelp, options ); + return; + } + + if ( options.contains( "full" ) ) { + ranks = true; + mines = true; + options = options.replace( "full", "" ); + } + if ( options.contains( "ranks" ) ) { + ranks = true; + options = options.replace( "ranks", "" ); + } + if ( options.contains( "mines" ) ) { + mines = true; + options = options.replace( "mines", "" ); + } + + String priceStr = extractParameter("price=", options); + if ( priceStr != null ) { + options = options.replace( priceStr, "" ); + priceStr = priceStr.replace( "price=", "" ).trim(); + + try { + startingPrice = Double.parseDouble( priceStr ); + } + catch ( NumberFormatException e ) { + // Not a valid double number, or price: + } + } + + + String multStr = extractParameter("mult=", options); + if ( multStr != null ) { + options = options.replace( multStr, "" ); + multStr = multStr.replace( "mult=", "" ).trim(); + + try { + percentMultipler = Double.parseDouble( multStr ); + } + catch ( NumberFormatException e ) { + // Not a valid double number, or price: + } + } + + + // What's left over, if not just a blank string, must be an error: + options = (options == null ? "" : options.replaceAll( "/s*", " " )); + if ( options == null || + !"full".equalsIgnoreCase( options ) && !"ranks".equalsIgnoreCase( options ) && + !"mines".equalsIgnoreCase( options ) && !options.startsWith( "price=" )) { + Output.get().sendError(sender, + "Invalid options. Use either [full, ranks, mines, price=x]. Was: %s", + options == null ? "null" : options ); + return; + } + + TreeMap plugins = + Prison.get().getPrisonCommands().getRegisteredPluginData(); + +// + String permCmd = null; + String perm = "prison.rank."; + + if ( plugins.containsKey("LuckPerms") ){ + permCmd = "lp user {player} permission set " + perm; + } + else if ( plugins.containsKey("PermissionsEx") ){ + permCmd = "pex user {player} add " + perm; + } + else if ( plugins.containsKey("UltraPermissions") ){ + permCmd = "upc addplayerpermission {player} " + perm; + } + else if ( plugins.containsKey("zPermissions") ){ + permCmd = "permissions player {player} set " + perm; + } + else if ( plugins.containsKey("PowerfulPerms") ){ + permCmd = "pp user {player} add " + perm; + } + + + + int countRanks = 0; + int countRankCmds = 0; + int countMines = 0; + int countLinked = 0; + + if ( ranks ) { + + int colorID = 1; + double price = 0; + + for ( char cRank = 'A'; cRank <= 'Z'; cRank++) { + String rankName = Character.toString( cRank ); + String tag = "&7[&" + ((colorID++ % 9) + 1) + rankName + "&7]&f"; + + if ( createRank(sender, rankName, price, "default", tag) ) { + countRanks++; + + if ( permCmd != null ) { + getRankCommandCommands().commandAdd( sender, rankName, permCmd + rankName); + countRankCmds++; + } + + if ( mines ) { + + // Creates a virtual mine: + ModuleElement mine = Prison.get().getPlatform().createModuleElement( + sender, ModuleElementType.MINE, rankName, tag ); + + if ( mine != null ) { + countMines++; + + // Links the virtual mine to generated rank: + if ( Prison.get().getPlatform().linkModuleElements( mine, ModuleElementType.RANK, rankName ) ) { + countLinked++; + } + } + } + } + + if (price == 0){ + price += startingPrice; + } else { + price *= percentMultipler; + } + + } + } + + if ( countRanks == 0 ) { + Output.get().logInfo( "Ranks autoConfigure: No ranks were created."); + } + else { + Output.get().logInfo( "Ranks autoConfigure: %d ranks were created.", countRanks); + + if ( countRankCmds == 0 ) { + Output.get().logInfo( "Ranks autoConfigure: No rank commandss were created."); + } + else { + Output.get().logInfo( "Ranks autoConfigure: %d rank commands were created.", countRanks); + Output.get().logInfo( "Ranks autoConfigure: The permission %s was " + + "created for each rank. Make sure you add every permission to your " + + "permission plugin or they may not work. " + + perm); + } + } + + if ( countMines == 0 ) { + Output.get().logInfo( "Ranks autoConfigure: No mines were created."); + } + else { + Output.get().logInfo( "Ranks autoConfigure: %d mines were created.", countMines); + + if ( countLinked == 0 ) { + Output.get().logInfo( "Ranks autoConfigure: No mines and no ranks were linked."); + } + else { + Output.get().logInfo( "Ranks autoConfigure: %d ranks and mines were linked.", countLinked); + } + } + + Output.get().logInfo( ""); + + + } + + private String extractParameter( String key, String options ) { + String results = null; + int idx = options.indexOf( key ); + if ( idx != -1 ) { + int idxEnd = options.indexOf( " ", idx ); + if ( idxEnd == -1 ) { + idxEnd = options.length(); + } + results = options.substring( idx, idxEnd ); + } + return results; + } + + @Command(identifier = "ranks delete", description = "Removes a rank, and deletes its files.", onlyPlayers = false, permissions = "ranks.delete") public void removeRank(CommandSender sender, @Arg(name = "rankName") String rankName) { From 8a8a29cd41dd0fb7448289706757f73bab7773c2 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 18 Oct 2020 12:58:48 +0200 Subject: [PATCH 072/243] Code Improvement to the configs Changelogs: - Code Improvement to configs - Renamed GUI-en_US.yml file to en_US.yml TO-DO: - Prestiges setup - Ranks Setup from a GUI --- .../mcprison/prison/spigot/SpigotPrison.java | 28 +++++++++++++------ .../gui/{GuiConfig.java => guiConfig.java} | 17 +++++++---- ...essagesConfig.java => messagesConfig.java} | 18 +++++++----- ...{SellAllConfig.java => sellAllConfig.java} | 16 ++++++++--- 4 files changed, 54 insertions(+), 25 deletions(-) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/{GuiConfig.java => guiConfig.java} (92%) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/{MessagesConfig.java => messagesConfig.java} (95%) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/{SellAllConfig.java => sellAllConfig.java} (92%) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 3da44acda..0caabae53 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -65,9 +65,9 @@ import tech.mcprison.prison.spigot.economies.SaneEconomy; import tech.mcprison.prison.spigot.economies.VaultEconomy; import tech.mcprison.prison.spigot.gui.GUIListener; -import tech.mcprison.prison.spigot.gui.GuiConfig; +import tech.mcprison.prison.spigot.gui.guiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; -import tech.mcprison.prison.spigot.languages.MessagesConfig; +import tech.mcprison.prison.spigot.languages.messagesConfig; import tech.mcprison.prison.spigot.permissions.LuckPermissions; import tech.mcprison.prison.spigot.permissions.LuckPerms5; import tech.mcprison.prison.spigot.permissions.VaultPermissions; @@ -75,7 +75,7 @@ import tech.mcprison.prison.spigot.placeholder.PlaceHolderAPIIntegration; import tech.mcprison.prison.spigot.player.SlimeBlockFunEventListener; import tech.mcprison.prison.spigot.sellall.SellAllCommands; -import tech.mcprison.prison.spigot.sellall.SellAllConfig; +import tech.mcprison.prison.spigot.sellall.sellAllConfig; import tech.mcprison.prison.spigot.spiget.BluesSpigetSemVerComparator; /** @@ -155,7 +155,7 @@ public void onEnable() { Prison.get().init(new SpigotPlatform(this), Bukkit.getVersion()); Prison.get().getLocaleManager().setDefaultLocale(getConfig().getString("default-language", "en_US")); - new GuiConfig(); + new guiConfig(); GUIListener.get().init(this); Bukkit.getPluginManager().registerEvents(new ListenersPrisonManager(),this); @@ -166,10 +166,20 @@ public void onEnable() { Bukkit.getPluginManager().registerEvents(new SlimeBlockFunEventListener(), this); getCommand("prisonmanager").setExecutor(new PrisonSpigotCommands()); - + + // Generate first time files experimental + messagesConfig messagesConfig = new messagesConfig(); + messagesConfig.messagesConfigGen(); + + guiConfig optionsGUI = new guiConfig(); + optionsGUI.guiConfigGen(); + + sellAllConfig optionsSellAll = new sellAllConfig(); + optionsSellAll.sellAllConfigGen(); + // Only register the command if not enabled so it will not conflict with other sellall plugins: if ( SellAllCommands.isEnabled() ) { - new SellAllConfig(); + new sellAllConfig(); getCommand("sellall").setExecutor(new SellAllCommands()); } @@ -230,17 +240,17 @@ public void onDisable() { } public static FileConfiguration getGuiConfig(){ - GuiConfig messages = new GuiConfig(); + guiConfig messages = new guiConfig(); return messages.getFileGuiConfig(); } public static FileConfiguration getSellAllConfig(){ - SellAllConfig configs = new SellAllConfig(); + sellAllConfig configs = new sellAllConfig(); return configs.getFileSellAllConfig(); } public static FileConfiguration getMessagesConfig(){ - MessagesConfig messagesConfig = new MessagesConfig(); + messagesConfig messagesConfig = new messagesConfig(); return messagesConfig.getFileGuiMessagesConfig(); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/guiConfig.java similarity index 92% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/guiConfig.java index 8e511f704..cb2eae663 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/guiConfig.java @@ -12,11 +12,11 @@ /** * @author GABRYCA */ -public class GuiConfig { +public class guiConfig { private FileConfiguration conf; - public GuiConfig() { + public guiConfig() { if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ return; @@ -25,11 +25,19 @@ public GuiConfig() { // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); + // Get the final config + conf = YamlConfiguration.loadConfiguration(file); + } + + public void guiConfigGen() { + + if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ + return; + } + // Everything's here values(); - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); } private void dataConfig(String path, String string){ @@ -69,7 +77,6 @@ private void dataConfig(String path, String string){ // Get the final config conf = YamlConfiguration.loadConfiguration(file); - } private void values(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/messagesConfig.java similarity index 95% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/messagesConfig.java index c54b93c41..035fd790d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/messagesConfig.java @@ -12,26 +12,30 @@ * @author GABRYCA **/ -public class MessagesConfig { +public class messagesConfig { private FileConfiguration conf; - public MessagesConfig() { + public messagesConfig() { // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + + // Get the final config + conf = YamlConfiguration.loadConfiguration(file); + } + + public void messagesConfigGen() { // Everything's here values(); - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); } private void dataConfig(String path, String string){ // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); // Check if the config exists if(!file.exists()){ @@ -58,7 +62,7 @@ private void dataConfig(String path, String string){ } if (newValue) { conf.save(file); - System.out.println(Color.AQUA + "[Prison - GUI-" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml]" + Color.GREEN + " Added " + editedItems + " new values to the GuiConfig.yml"); + System.out.println(Color.AQUA + "[Prison - " + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml]" + Color.GREEN + " Added " + editedItems + " new values to the GuiConfig.yml"); } } catch (IOException e2){ e2.printStackTrace(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java similarity index 92% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java index 9c1766690..6b6ca323d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java @@ -11,11 +11,11 @@ /** * @author GABRYCA */ -public class SellAllConfig { +public class sellAllConfig { private FileConfiguration conf; - public SellAllConfig(){ + public sellAllConfig(){ if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("sellall")).equalsIgnoreCase("true")){ return; @@ -24,11 +24,19 @@ public SellAllConfig(){ // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + "/SellAllConfig.yml"); + // Get the final config + conf = YamlConfiguration.loadConfiguration(file); + } + + public void sellAllConfigGen(){ + + if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("sellall")).equalsIgnoreCase("true")){ + return; + } + // Everything's here values(); - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); } private void dataConfig(String path, String string){ From a84fd7452c635d608fa469db01ca68054a67c71a Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 18 Oct 2020 17:07:55 +0200 Subject: [PATCH 073/243] Removed the ranks setup command as Blue did a better version Changelogs: - Removed the old Ranks Setup TO-DO: - Prestiges setup [Cancelled] - Ranks Setup from a GUI [Cancelled] --- .../commands/PrisonShortcutCommands.java | 6 -- .../spigot/commands/PrisonSpigotCommands.java | 70 ------------------- .../prison/spigot/setup/RanksChatSetup.java | 63 ----------------- 3 files changed, 139 deletions(-) delete mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java index 2426e05e4..3e520c8a6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java @@ -82,12 +82,6 @@ else if (ladderName.equalsIgnoreCase("prestiges") && } } - @Command(identifier = "ranks setup", onlyPlayers = false, - altPermissions = {"prison.setup", "prison.admin"}, description = "Setup all the ranks from A to Z with default values in the default ladder") - public void ranksSetupCommand(CommandSender sender) { - sender.dispatchCommand("prisonmanager setup ranks"); - } - @Command(identifier = "prestiges", onlyPlayers = true, altPermissions = {"-none-", "prison.admin"}) public void prestigesGUICommand(CommandSender sender){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 297d5846e..7d7190a34 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -22,7 +22,6 @@ import tech.mcprison.prison.spigot.gui.rank.SpigotConfirmPrestigeGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerPrestigesGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerRanksGUI; -import tech.mcprison.prison.spigot.setup.RanksChatSetup; import java.util.Objects; @@ -53,16 +52,6 @@ public void onChat(AsyncPlayerChatEvent e) { e.setCancelled(true); isChatEventActive = false; } - } else if (mode.equalsIgnoreCase("ranksSetup")){ - if (message.equalsIgnoreCase("cancel")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRanks setup cancelled")); - e.setCancelled(true); - } else if (message.equalsIgnoreCase("confirm")) { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> RanksChatSetup.get().setup(senderOfCommand)); - e.setCancelled(true); - isChatEventActive = false; - } } } } @@ -131,65 +120,6 @@ public boolean onCommand(CommandSender sender, Command command, String label, St } return prisonManagerGUI(sender, p); - } else if (args[0].equalsIgnoreCase("setup")){ - - //if (haveGuiRequirements(sender) || !(guiConfig.getString("Options.Setup.EnabledGUI").equalsIgnoreCase("true")) || p == null){ - return setupByChat(sender, messages, args); - //} else { - // return setupByGui(p, messages, args); - //} - } - - return true; - } - - private boolean setupByChat(CommandSender sender, Configuration messages, String[] args){ - - if (!sender.hasPermission("prison.setup") || !sender.hasPermission("prison.admin")){ - sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.MissingPermission"))); - return true; - } - - if (args.length == 1){ - sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WrongFormat"))); - return true; - } - - if (args[1].equalsIgnoreCase("ranks")){ - - isChatEventActive = true; - sender.sendMessage(SpigotPrison.format("&aConfirm&3: Type the word &aconfirm &3 to confirm")); - sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 15 seconds!")); - mode = "ranksSetup"; - senderOfCommand = sender; - id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { - if (isChatEventActive) { - isChatEventActive = false; - sender.sendMessage(SpigotPrison.format("&cYou ran out of time, ranks setup cancelled.")); - } - }, 20L * 15); - - } else { - sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WrongFormat"))); - } - - return true; - } - - private boolean setupByGui(Player p, Configuration messages, String[] args){ - - if (!p.hasPermission("prison.setup") || !p.hasPermission("prison.admin")){ - p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.MissingPermission"))); - return true; - } - - if (args.length == 1){ - p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WrongFormat"))); - return true; - } - - if (args[1].equalsIgnoreCase("ranks")){ - } return true; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java deleted file mode 100644 index c97252fa2..000000000 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/setup/RanksChatSetup.java +++ /dev/null @@ -1,63 +0,0 @@ -package tech.mcprison.prison.spigot.setup; - -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.configuration.Configuration; -import tech.mcprison.prison.spigot.SpigotPrison; - -public class RanksChatSetup { - - private static RanksChatSetup instance; - - public RanksChatSetup(){} - - public static RanksChatSetup get() { - if (instance == null) { - instance = new RanksChatSetup(); - } - return instance; - } - - public void setup(CommandSender sender){ - - Configuration messages = SpigotPrison.getMessagesConfig(); - Configuration config = SpigotPrison.getGuiConfig(); - - sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.WelcomeToRanksSetup"))); - - String permissionManagerCommand = null; - String permission = config.getString("Options.Mines.PermissionWarpPlugin"); - - if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("LuckPerms") != null){ - permissionManagerCommand = "lp user {player} permission set " + permission; - } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("PermissionsEx") != null){ - permissionManagerCommand = "pex user {player} add " + permission; - } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("UltraPermissions") != null){ - permissionManagerCommand = "upc addplayerpermission {player} " + permission; - } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("zPermissions") != null){ - permissionManagerCommand = "permissions player {player} set " + permission; - } else if (SpigotPrison.getInstance().getServer().getPluginManager().getPlugin("PowerfulPerms") != null){ - permissionManagerCommand = "pp user {player} add " + permission; - } - - int colorID = 1; - double price = 0; - - for ( char rankName = 'A'; rankName <= 'Z'; rankName++) { - - Bukkit.dispatchCommand(sender, "ranks create " + rankName + " " + price + " default &7[&" + ((colorID++ % 9) + 1) + "" + rankName + "&7]&f"); - if (permissionManagerCommand != null) { - Bukkit.dispatchCommand(sender, "ranks command add " + rankName + " " + permissionManagerCommand + rankName); - } - - if (price == 0){ - price += 1000; - } else { - price = price * 1.5; - } - - } - - sender.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.SuccessRanksSetup"))); - } -} From ed101a0452afebb2751b4a67259eb4ec2d3c6c20 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 18 Oct 2020 17:40:44 +0200 Subject: [PATCH 074/243] Setup GUI Changelogs: - Setup GUI and will be visible ONLY if you don't have ranks or mines or both TO-DO: - Prestiges setup [Cancelled] - Ranks Setup from a GUI [Cancelled] --- .../mcprison/prison/spigot/SpigotPrison.java | 14 ++-- .../gui/{guiConfig.java => GuiConfig.java} | 4 +- .../spigot/gui/ListenersPrisonManager.java | 15 ++++ .../prison/spigot/gui/PrisonSetupGUI.java | 79 +++++++++++++++++++ .../spigot/gui/mine/SpigotMinesGUI.java | 4 +- .../spigot/gui/rank/SpigotRanksGUI.java | 4 +- ...essagesConfig.java => MessagesConfig.java} | 14 +++- 7 files changed, 120 insertions(+), 14 deletions(-) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/{guiConfig.java => GuiConfig.java} (98%) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/{messagesConfig.java => MessagesConfig.java} (93%) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 0caabae53..2fa8f91cd 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -65,9 +65,9 @@ import tech.mcprison.prison.spigot.economies.SaneEconomy; import tech.mcprison.prison.spigot.economies.VaultEconomy; import tech.mcprison.prison.spigot.gui.GUIListener; -import tech.mcprison.prison.spigot.gui.guiConfig; +import tech.mcprison.prison.spigot.gui.GuiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; -import tech.mcprison.prison.spigot.languages.messagesConfig; +import tech.mcprison.prison.spigot.languages.MessagesConfig; import tech.mcprison.prison.spigot.permissions.LuckPermissions; import tech.mcprison.prison.spigot.permissions.LuckPerms5; import tech.mcprison.prison.spigot.permissions.VaultPermissions; @@ -155,7 +155,7 @@ public void onEnable() { Prison.get().init(new SpigotPlatform(this), Bukkit.getVersion()); Prison.get().getLocaleManager().setDefaultLocale(getConfig().getString("default-language", "en_US")); - new guiConfig(); + new GuiConfig(); GUIListener.get().init(this); Bukkit.getPluginManager().registerEvents(new ListenersPrisonManager(),this); @@ -168,10 +168,10 @@ public void onEnable() { getCommand("prisonmanager").setExecutor(new PrisonSpigotCommands()); // Generate first time files experimental - messagesConfig messagesConfig = new messagesConfig(); + MessagesConfig messagesConfig = new MessagesConfig(); messagesConfig.messagesConfigGen(); - guiConfig optionsGUI = new guiConfig(); + GuiConfig optionsGUI = new GuiConfig(); optionsGUI.guiConfigGen(); sellAllConfig optionsSellAll = new sellAllConfig(); @@ -240,7 +240,7 @@ public void onDisable() { } public static FileConfiguration getGuiConfig(){ - guiConfig messages = new guiConfig(); + GuiConfig messages = new GuiConfig(); return messages.getFileGuiConfig(); } @@ -250,7 +250,7 @@ public static FileConfiguration getSellAllConfig(){ } public static FileConfiguration getMessagesConfig(){ - messagesConfig messagesConfig = new messagesConfig(); + MessagesConfig messagesConfig = new MessagesConfig(); return messagesConfig.getFileGuiMessagesConfig(); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/guiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java similarity index 98% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/guiConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java index cb2eae663..2794ff3df 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/guiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java @@ -12,11 +12,11 @@ /** * @author GABRYCA */ -public class guiConfig { +public class GuiConfig { private FileConfiguration conf; - public guiConfig() { + public GuiConfig() { if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ return; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 12559f3da..08a138354 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -413,6 +413,21 @@ public void onClick(InventoryClickEvent e){ p.closeInventory(); e.setCancelled(true); + break; + } + // Check the title and do the actions + case "Prison Setup -> Confirmation":{ + + Configuration messages = SpigotPrison.getMessagesConfig(); + + if (parts[0].equalsIgnoreCase("Confirm:")){ + Bukkit.dispatchCommand(p, "ranks autoConfigure"); + } else if (parts[0].equalsIgnoreCase("Cancel:")){ + p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.Aborted"))); + } + p.closeInventory(); + e.setCancelled(true); + break; } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java new file mode 100644 index 000000000..303668b84 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -0,0 +1,79 @@ +package tech.mcprison.prison.spigot.gui; + +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import tech.mcprison.prison.spigot.SpigotPrison; + +import java.util.List; + +public class PrisonSetupGUI extends SpigotGUIComponents{ + + private final Player p; + + public PrisonSetupGUI(Player p) { + this.p = p; + } + + public void open(){ + + // Create the inventory + int dimension = 9; + Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Prison Setup -> Confirmation")); + + if (guiBuilder(inv)) return; + + // Open the inventory + this.p.openInventory(inv); + ListenersPrisonManager.get().addToGUIBlocker(p); + } + + private boolean guiBuilder(Inventory inv) { + try { + buttonsSetup(inv); + } catch (NullPointerException ex){ + p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); + ex.printStackTrace(); + return true; + } + return false; + } + + private void buttonsSetup(Inventory inv) { + + Configuration messages = SpigotPrison.getMessagesConfig(); + + // Blocks of the mine + List confirmLore = createLore( + messages.getString("Gui.Lore.ClickToConfirm"), + messages.getString("Gui.Lore.noRanksFoundSetup"), + messages.getString("Gui.Lore.noRanksFoundSetup1"), + messages.getString("Gui.Lore.noRanksFoundSetup2"), + messages.getString("Gui.Lore.noRanksFoundSetup3"), + messages.getString("Gui.Lore.noRanksFoundSetup4"), + messages.getString("Gui.Lore.noRanksFoundSetup5"), + messages.getString("Gui.Lore.noRanksFoundSetup6"), + messages.getString("Gui.Lore.noRanksFoundSetup7"), + messages.getString("Gui.Lore.noRanksFoundSetup8") + ); + + // Blocks of the mine + List cancelLore = createLore( + messages.getString("Gui.Lore.ClickToCancel")); + + // Create the button, set up the material, amount, lore and name + ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmLore, SpigotPrison.format("&3" + "Confirm: Setup")); + + // Create the button, set up the material, amount, lore and name + ItemStack cancel = createButton(Material.REDSTONE_BLOCK, 1, cancelLore, SpigotPrison.format("&3" + "Cancel: Setup")); + + // Position of the button + inv.setItem(2, confirm); + + // Position of the button + inv.setItem(6, cancel); + } +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index c341a94e6..369fc7f42 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -20,6 +20,7 @@ import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; +import tech.mcprison.prison.spigot.gui.PrisonSetupGUI; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; /** @@ -53,8 +54,9 @@ public void open(){ // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoMines"))); p.closeInventory(); + PrisonSetupGUI gui = new PrisonSetupGUI(p); + gui.open(); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index b899536c7..3d541b7e0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -18,6 +18,7 @@ import tech.mcprison.prison.ranks.data.RankPlayer; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; +import tech.mcprison.prison.spigot.gui.PrisonSetupGUI; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; /** @@ -60,8 +61,9 @@ public void open() { // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.EmptyGui"))); p.closeInventory(); + PrisonSetupGUI gui = new PrisonSetupGUI(p); + gui.open(); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/messagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java similarity index 93% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/messagesConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index 035fd790d..81605109a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/messagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -12,11 +12,11 @@ * @author GABRYCA **/ -public class messagesConfig { +public class MessagesConfig { private FileConfiguration conf; - public messagesConfig() { + public MessagesConfig() { // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); @@ -159,6 +159,14 @@ private void values(){ dataConfig("Gui.Lore.Volume","&3Volume: &7"); dataConfig("Gui.Lore.Value", "&3Value: &a$"); dataConfig("Gui.Lore.World","&3World: &7"); + dataConfig("Gui.Lore.noRanksFoundSetup", "&3There aren't Ranks!"); + dataConfig("Gui.Lore.noRanksFoundSetup2", "&3If you want continue the setup."); + dataConfig("Gui.Lore.noRanksFoundSetup3", "&3All Ranks and Mines from A to Z will be made"); + dataConfig("Gui.Lore.noRanksFoundSetup4", "&3With &adefault &3values!"); + dataConfig("Gui.Lore.noRanksFoundSetup5", "&3You can do the same by command:"); + dataConfig("Gui.Lore.noRanksFoundSetup6", "&1/ranks autoConfigure full !"); + dataConfig("Gui.Lore.noRanksFoundSetup7", "&3Please replace the X with the starting price and"); + dataConfig("Gui.Lore.noRanksFoundSetup8", "&3multiplier, default price = 50000, multiplier = 1.5."); dataConfig("Gui.Message.CantGetRanksAdmin", "&3[PRISON WARN] &cCan't get Ranks, there might be no ranks or the Ranks module's disabled."); dataConfig("Gui.Message.NoSellAllItems", "&cSorry but there aren't SellAll Items to show."); dataConfig("Gui.Message.EmptyGui","&cSorry, the GUI looks empty."); @@ -190,7 +198,7 @@ private void values(){ dataConfig("Setup.Message.WrongFormat", "&7[&cError&7] &cYou're missing the last argument -mines- or -ranks-, / setup -mines- or -ranks- !"); dataConfig("Setup.Message.WelcomeToRanksSetup", "&7[&3Info&7] &3Hi and welcome to the ranks setup, please wait until it'll be completed!"); dataConfig("Setup.Message.SuccessRanksSetup", "&7[&3Info&7] &3The ranks setup got completed with &asuccess&3 and the ranks got added to the default ladder,\n please check the logs if something's missing!"); - + dataConfig("Setup.Message.Aborted", "&7[&3Info&7] &3Prison Setup Cancelled."); } public FileConfiguration getFileGuiMessagesConfig(){ From d477eaae83a3d89994dd1e2641bc492b184d2475 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 18 Oct 2020 17:55:59 +0200 Subject: [PATCH 075/243] ranks autoConfigure guidebook Changelogs: - ranks autoConfigure guidebook TO-DO: - Prestiges setup [Cancelled] - Ranks Setup from a GUI [Cancelled] --- ...son_docs_command_42_ranks_autoconfigure.md | 46 +++++++++++++++++++ docs/prison_docs_000_toc.md | 1 + 2 files changed, 47 insertions(+) create mode 100644 docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md diff --git a/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md b/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md new file mode 100644 index 000000000..847793ffb --- /dev/null +++ b/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md @@ -0,0 +1,46 @@ +### Prison Documentation - **WORK-IN-PROGRESS** +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +##Permission: + +- `ranks.set` + +## Description: + +This command will execute a fast setup of the main Prison features, like Ranks from A to Z and virtual mines from A to Z +linked to their ranks, you'll need to setup their blocks and perimeters later with the /mines wand. + +## SubCommands: + +- `/ranks autoConfigure full` Full setup +- `/ranks autoConfigure mines` Mines setup +- `/ranks autoConfigrue ranks` Ranks setup + +## How to use the command + +Execute the command itself with the argument you want, like in the examples below: + +- `/ranks autoConfigure full` Full setup +- `/ranks autoConfigure mines` Mines setup +- `/ranks autoConfigrue ranks` Ranks setup + +In these cases, for ranks the default starting Price will be 50000 and the Multiplier for each Rank (how much a Rank +will be more expensive than the previous one)'s of 1.5. + +An example with custom values's this one, remember to add the whole `price=x` and `mult=x` tag: + +- `/ranks autoConfigure full price=1000 mult=1.5` + +You can execute the command without args, like in this example: + +- `/ranks autoConfigure` + +It'll use default values like if you're using: + +- `/ranks autoConfigure full price=50000 mult=1.5` + +### Command Format + +`/ranks autoConfigure ` + +**END of the command INFO** \ No newline at end of file diff --git a/docs/prison_docs_000_toc.md b/docs/prison_docs_000_toc.md index 2b9174530..50507b996 100644 --- a/docs/prison_docs_000_toc.md +++ b/docs/prison_docs_000_toc.md @@ -53,6 +53,7 @@ **RANKS COMMANDS**: +- [/ranks \[ladder\] ](docs-commands/prison_docs_command_42_ranks_autoconfigure.md) `ranks.set` - [/ranks \[ladder\] ](docs-commands/prison_docs_command_11_ranks.md) `ranks.admin` - [/ranks command](docs-commands/prison_docs_command_12_ranks_command.md) `prison.alerts` - [/ranks create \[rankName\] \[cost\] \[ladder\] \[tag\] ](docs-commands/prison_docs_command_13_ranks_create.md) `ranks.create` From d486f4b77d4f3317a0f408b6516b1f4ef3a1f539 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 18 Oct 2020 21:28:20 +0200 Subject: [PATCH 076/243] Fixed Ranks autoConfigure guidebook Changelogs: - Fixed TO-DO: - Prestiges setup [Cancelled] - Ranks Setup from a GUI [Cancelled] --- .../docs-commands/prison_docs_command_42_ranks_autoconfigure.md | 2 +- docs/prison_docs_000_toc.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md b/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md index 847793ffb..42507378e 100644 --- a/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md +++ b/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md @@ -1,7 +1,7 @@ ### Prison Documentation - **WORK-IN-PROGRESS** [Prison Documents - Table of Contents](../prison_docs_000_toc.md) -##Permission: +## Permission: - `ranks.set` diff --git a/docs/prison_docs_000_toc.md b/docs/prison_docs_000_toc.md index 50507b996..9b4457d17 100644 --- a/docs/prison_docs_000_toc.md +++ b/docs/prison_docs_000_toc.md @@ -53,7 +53,7 @@ **RANKS COMMANDS**: -- [/ranks \[ladder\] ](docs-commands/prison_docs_command_42_ranks_autoconfigure.md) `ranks.set` +- [/ranks autoConfigure \[arg\] \[startPrice\] \[multiplier\] ](docs-commands/prison_docs_command_42_ranks_autoconfigure.md) `ranks.set` - [/ranks \[ladder\] ](docs-commands/prison_docs_command_11_ranks.md) `ranks.admin` - [/ranks command](docs-commands/prison_docs_command_12_ranks_command.md) `prison.alerts` - [/ranks create \[rankName\] \[cost\] \[ladder\] \[tag\] ](docs-commands/prison_docs_command_13_ranks_create.md) `ranks.create` From 4ebfd2f177b71b9019d0c77291d6380e4947b4fa Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 15:35:40 -0400 Subject: [PATCH 077/243] Fixed an issue with virual mines... when saving and is virtual, then of course there will be no bounds. --- .../tech/mcprison/prison/mines/data/Mine.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 3c1f8fa7b..1a8e497ce 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -429,13 +429,16 @@ public Document toDocument() { ret.put( "tag", getTag() ); ret.put( "sortOrder", getSortOrder() ); - ret.put("minX", getBounds().getMin().getX()); - ret.put("minY", getBounds().getMin().getY()); - ret.put("minZ", getBounds().getMin().getZ()); - ret.put("maxX", getBounds().getMax().getX()); - ret.put("maxY", getBounds().getMax().getY()); - ret.put("maxZ", getBounds().getMax().getZ()); - ret.put("hasSpawn", isHasSpawn()); + if ( !isVirtual() ) { + ret.put("minX", getBounds().getMin().getX()); + ret.put("minY", getBounds().getMin().getY()); + ret.put("minZ", getBounds().getMin().getZ()); + ret.put("maxX", getBounds().getMax().getX()); + ret.put("maxY", getBounds().getMax().getY()); + ret.put("maxZ", getBounds().getMax().getZ()); + ret.put("hasSpawn", isHasSpawn()); + + } ret.put("resetTime", getResetTime() ); ret.put("notificationMode", getNotificationMode().name() ); From 9f2b69da9f700bcf4c0b56b2d3bb07c34fc45116 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 15:40:37 -0400 Subject: [PATCH 078/243] Improvements to working with in memory ranks. Eliminating Optionals eventually and marking them as deprecated. Rank retrivial should be much faster, especially if many are generated with prestige. Converted the heavy used functions over to use the non-optionals for better performance with them. --- .../prison/ranks/RankConversionAgent.java | 2 +- .../tech/mcprison/prison/ranks/RankUtil.java | 2 +- .../ranks/commands/CommandCommands.java | 16 +-- .../prison/ranks/commands/LadderCommands.java | 43 ++++--- .../prison/ranks/commands/RanksCommands.java | 42 +++---- .../prison/ranks/data/RankLadder.java | 17 +-- .../prison/ranks/data/RankPlayer.java | 14 +-- .../prison/ranks/managers/RankManager.java | 113 +++++++++++++++--- .../prison/spigot/SpigotPlatform.java | 4 +- .../mcprison/prison/spigot/SpigotPrison.java | 2 +- .../spigot/gui/ListenersPrisonManager.java | 4 +- .../spigot/sellall/SellAllCommands.java | 4 +- 12 files changed, 167 insertions(+), 96 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java index 9441cd428..940eba67d 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankConversionAgent.java @@ -50,7 +50,7 @@ public class RankConversionAgent implements ConversionAgent { prefix = prefix + "&3]"; } - if(PrisonRanks.getInstance().getRankManager().getRank(name).isPresent()) { + if(PrisonRanks.getInstance().getRankManager().getRank(name) != null) { break; // Already added } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java index 27e781414..eccf92e87 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java @@ -340,7 +340,7 @@ private void rankupPlayerInternal(RankupResults results, } if ( targetRank == null && rankName != null ) { - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank( rankName ); + Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRankOptional( rankName ); if ( rankOptional.isPresent() ) { targetRank = rankOptional.get(); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java index 193e56167..d1155490c 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java @@ -1,7 +1,6 @@ package tech.mcprison.prison.ranks.commands; import java.util.ArrayList; -import java.util.Optional; import tech.mcprison.prison.chat.FancyMessage; import tech.mcprison.prison.commands.Arg; @@ -45,12 +44,11 @@ public void commandAdd(CommandSender sender, command = command.replaceFirst("/", ""); } - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' does not exist.", rankName); return; } - Rank rank = rankOptional.get(); if (rank.rankUpCommands == null) { rank.rankUpCommands = new ArrayList<>(); @@ -81,12 +79,11 @@ public void commandRemove(CommandSender sender, command = command.replaceFirst("/", ""); } - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null) { Output.get().sendError(sender, "The rank '%s' does not exist.", rankName); return; } - Rank rank = rankOptional.get(); if (rank.rankUpCommands == null) { rank.rankUpCommands = new ArrayList<>(); @@ -115,12 +112,11 @@ public void commandRemove(CommandSender sender, public void commandList(CommandSender sender, @Arg(name = "rankName") String rankName) { - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' does not exist.", rankName); return; } - Rank rank = rankOptional.get(); if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { Output.get().sendInfo(sender, "The rank '%s' contains no commands.", rank.name); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java index 5e24f39cf..1f23cbca3 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java @@ -110,17 +110,22 @@ public void ladderInfo(CommandSender sender, @Arg(name = "ladderName") String la new BulletedListComponent.BulletedListBuilder(); boolean first = true; - for (RankLadder.PositionRank rank : ladder.get().ranks) { - Optional rankOptional = - PrisonRanks.getInstance().getRankManager().getRank(rank.getRankId()); - if(!rankOptional.isPresent()) { - continue; // Skip it - } + for (RankLadder.PositionRank rankPos : ladder.get().ranks) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankPos.getRankId()); + if ( rank == null ) { + continue; + } + +// Optional rankOptional = +// PrisonRanks.getInstance().getRankManager().getRankOptional(rankPos.getRankId()); +// if(!rankOptional.isPresent()) { +// continue; // Skip it +// } boolean defaultRank = ("default".equalsIgnoreCase( ladderName ) && first); - builder.add("&3#%d &8- &3%s %s", rank.getPosition(), - rankOptional.get().name, + builder.add("&3#%d &8- &3%s %s", rankPos.getPosition(), + rank.name, (defaultRank ? "&b(&9Default Rank&b) &7-" : "") ); first = false; @@ -164,13 +169,14 @@ public void ladderAddRank(CommandSender sender, return; } - Optional rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rank.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); +// Optional rank = PrisonRanks.getInstance().getRankManager().getRankOptional(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' doesn't exist.", rankName); return; } - if (ladder.get().containsRank(rank.get().id)) { + if (ladder.get().containsRank(rank.id)) { Output.get() .sendError(sender, "The ladder '%s' already contains the rank '%s'.", ladderName, rankName); @@ -178,16 +184,16 @@ public void ladderAddRank(CommandSender sender, } if (position > 0) { - ladder.get().addRank(position, rank.get()); + ladder.get().addRank(position, rank); } else { - ladder.get().addRank(rank.get()); + ladder.get().addRank(rank); } try { PrisonRanks.getInstance().getLadderManager().saveLadder(ladder.get()); Output.get().sendInfo(sender, "Added rank '%s' to ladder '%s' in position %s.", - rank.get().name, ladder.get().name, Integer.toString( position )); + rank.name, ladder.get().name, Integer.toString( position )); } catch (IOException e) { Output.get().sendError(sender, "An error occurred while adding a rank to your ladder. &8Check the console for details."); @@ -206,18 +212,19 @@ public void ladderRemoveRank(CommandSender sender, @Arg(name = "ladderName") Str return; } - Optional rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rank.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); +// Optional rank = PrisonRanks.getInstance().getRankManager().getRankOptional(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' doesn't exist.", rankName); return; } - ladder.get().removeRank(ladder.get().getPositionOfRank(rank.get())); + ladder.get().removeRank(ladder.get().getPositionOfRank(rank)); try { PrisonRanks.getInstance().getLadderManager().saveLadder(ladder.get()); - Output.get().sendInfo(sender, "Removed rank '%s' from ladder '%s'.", rank.get().name, + Output.get().sendInfo(sender, "Removed rank '%s' from ladder '%s'.", rank.name, ladder.get().name); } catch (IOException e) { Output.get().sendError(sender, diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 60057656b..0b2a71bb6 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -68,7 +68,7 @@ public boolean createRank(CommandSender sender, boolean success = false; // Ensure a rank with the name doesn't already exist - if (PrisonRanks.getInstance().getRankManager().getRank(name).isPresent()) { + if (PrisonRanks.getInstance().getRankManager().getRank(name) != null) { Output.get() .sendWarn(sender, "A rank by this name already exists. Try a different name."); return success; @@ -207,11 +207,9 @@ public void autoConfigureRanks(CommandSender sender, // What's left over, if not just a blank string, must be an error: options = (options == null ? "" : options.replaceAll( "/s*", " " )); - if ( options == null || - !"full".equalsIgnoreCase( options ) && !"ranks".equalsIgnoreCase( options ) && - !"mines".equalsIgnoreCase( options ) && !options.startsWith( "price=" )) { + if ( options.trim().length() != 0 ) { Output.get().sendError(sender, - "Invalid options. Use either [full, ranks, mines, price=x]. Was: %s", + "Invalid options.. Use either [full, ranks, mines, price=x]. Was: [%s]", options == null ? "null" : options ); return; } @@ -344,14 +342,12 @@ private String extractParameter( String key, String options ) { onlyPlayers = false, permissions = "ranks.delete") public void removeRank(CommandSender sender, @Arg(name = "rankName") String rankName) { // Check to ensure the rank exists - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' does not exist.", rankName); return; } - Rank rank = rankOptional.get(); - if (PrisonRanks.getInstance().getDefaultLadder().containsRank(rank.id) && PrisonRanks.getInstance().getDefaultLadder().ranks.size() == 1) { Output.get().sendError(sender, @@ -513,17 +509,15 @@ public void listRanks(CommandSender sender, altPermissions = "ranks.admin" ) public void infoCmd(CommandSender sender, @Arg(name = "rankName") String rankName) { - Optional rankOpt = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOpt.isPresent()) { - rankOpt = PrisonRanks.getInstance().getRankManager().getRankEscaped(rankName); - if (!rankOpt.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { +// rankOpt = PrisonRanks.getInstance().getRankManager().getRankEscaped(rankName); +// if (!rankOpt.isPresent()) { Output.get().sendError(sender, "The rank '%s' doesn't exist.", rankName); return; - } +// } } - Rank rank = rankOpt.get(); - List ladders = PrisonRanks.getInstance().getLadderManager().getLaddersWithRank(rank.id); @@ -587,13 +581,12 @@ public void infoCmd(CommandSender sender, @Arg(name = "rankName") String rankNam public void setCost(CommandSender sender, @Arg(name = "rankName") String rankName, @Arg(name = "cost", description = "The cost of this rank.") double cost){ - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' doesn't exist.", rankName); return; } - Rank rank = rankOptional.get(); rank.cost = cost; // Save the rank @@ -615,8 +608,8 @@ public void setCurrency(CommandSender sender, @Arg(name = "rankName") String rankName, @Arg(name = "currency", description = "The currency to use with this rank.") String currency){ - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' doesn't exist.", rankName); return; } @@ -636,7 +629,6 @@ public void setCurrency(CommandSender sender, } - Rank rank = rankOptional.get(); rank.currency = currency; // Save the rank @@ -656,13 +648,13 @@ public void setCurrency(CommandSender sender, public void setTag(CommandSender sender, @Arg(name = "rankName") String rankName, @Arg(name = "tag", description = "The desired tag.") String tag){ - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); - if (!rankOptional.isPresent()) { + + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); + if ( rank == null ) { Output.get().sendError(sender, "The rank '%s' doesn't exist.", rankName); return; } - Rank rank = rankOptional.get(); rank.tag = tag; // Save the rank diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java index dfe95e6e7..c941e226f 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java @@ -78,9 +78,9 @@ public RankLadder(Document document, PrisonRanks prisonRanks) { Rank rankPrison = null; if ( rankManager != null && - rankManager.getRank( rRankId ).isPresent() ) { + rankManager.getRankOptional( rRankId ).isPresent() ) { - rankPrison = rankManager.getRank( rRankId ).get(); + rankPrison = rankManager.getRankOptional( rRankId ).get(); // if null look it up from loaded ranks: if ( rRankName == null ) { @@ -118,9 +118,12 @@ public List getRanks() { for ( PositionRank rank : ranks ) { - if ( rank.rank == null ) { - - Rank rnk = rankManager.getRank( rank.rankId ).get(); + Output.get().logInfo( "#### rank is null = " + (rank == null) + + " rank.rankId = " + (rank == null ? "null" : rank.rankId ) ); + + if ( rank != null && rank.rank == null ) { + // + Rank rnk = rankManager.getRankOptional( rank.rankId ).orElseGet( null ); if ( rnk != null ) { rank.rank = rnk; } @@ -288,7 +291,7 @@ public Optional getPrevious(int before) { public Optional getByPosition(int position) { for (PositionRank posRank : ranks) { if (posRank.getPosition() == position) { - return PrisonRanks.getInstance().getRankManager().getRank(posRank.getRankId()); + return PrisonRanks.getInstance().getRankManager().getRankOptional(posRank.getRankId()); } } @@ -314,7 +317,7 @@ public Optional getLowestRank() { } } - return PrisonRanks.getInstance().getRankManager().getRank(lowest.getRankId()); + return PrisonRanks.getInstance().getRankManager().getRankOptional(lowest.getRankId()); } /** diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankPlayer.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankPlayer.java index 49b5385cf..6036ccfbd 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankPlayer.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankPlayer.java @@ -243,7 +243,7 @@ public Optional getRank(RankLadder ladder) { return Optional.empty(); } int id = ranks.get(ladder.name); - return PrisonRanks.getInstance().getRankManager().getRank(id); + return PrisonRanks.getInstance().getRankManager().getRankOptional(id); } /** @@ -256,10 +256,7 @@ public Rank getRank(String ladder) { Rank results = null; if (ladder != null && ranks.containsKey(ladder)) { int id = ranks.get(ladder); - Optional ladderOpt = PrisonRanks.getInstance().getRankManager().getRank(id); - if ( ladderOpt.isPresent() ) { - results = ladderOpt.get(); - } + results = PrisonRanks.getInstance().getRankManager().getRank(id); } return results; } @@ -278,13 +275,12 @@ public Map getRanks() { continue; // Skip it } - Optional rank = - PrisonRanks.getInstance().getRankManager().getRank(entry.getValue()); - if (!rank.isPresent()) { + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(entry.getValue()); + if ( rank == null ) { continue; // Skip it } - ret.put(ladder.get(), rank.get()); + ret.put(ladder.get(), rank); } return ret; diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java index 676915c39..2cca4dfe3 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/RankManager.java @@ -22,6 +22,7 @@ import java.util.Comparator; import java.util.List; import java.util.Optional; +import java.util.TreeMap; import java.util.stream.Collectors; import tech.mcprison.prison.PrisonAPI; @@ -52,7 +53,10 @@ public class RankManager { */ private Collection collection; + private List loadedRanks; + private TreeMap ranksByName; + private TreeMap ranksById; private CommandCommands rankCommandCommands; private RanksCommands ranksCommands; @@ -69,13 +73,35 @@ public class RankManager { */ public RankManager(Collection collection) { this.collection = collection; + this.loadedRanks = new ArrayList<>(); + this.ranksByName = new TreeMap<>(); + this.ranksById = new TreeMap<>(); } /* * Methods & Getters & Setters */ + + private void addRank( Rank rank ) { + if ( rank != null ) { + getLoadedRanks().add( rank ); + getRanksByName().put( rank.getName(), rank ); + getRanksById().put( rank.id, rank ); + } + } + + private void removeRankFromCollections( Rank rank ) { + if ( rank != null ) { + getLoadedRanks().remove( rank ); + getRanksByName().remove( rank.getName() ); + getRanksById().remove( rank.id ); + } + + } + + /** * Loads a rank from a file into the loaded ranks list. * After this method is called, the rank will be ready for use in the server. @@ -85,7 +111,9 @@ public RankManager(Collection collection) { */ public void loadRank(String rankFile) throws IOException { Document document = collection.get(rankFile).orElseThrow(IOException::new); - loadedRanks.add(new Rank(document)); + + addRank( new Rank(document) ); +// loadedRanks.add(new Rank(document)); } /** @@ -96,7 +124,8 @@ public void loadRank(String rankFile) throws IOException { */ public void loadRanks() throws IOException { List ranks = collection.getAll(); - ranks.forEach(document -> loadedRanks.add(new Rank(document))); + ranks.forEach(document -> addRank(new Rank(document))); +// ranks.forEach(document -> loadedRanks.add(new Rank(document))); } /** @@ -148,7 +177,8 @@ public Optional createRank(String name, String tag, double cost) { newRank.rankUpCommands = new ArrayList<>(); // ... add it to the list... - loadedRanks.add(newRank); + addRank(newRank); +// loadedRanks.add(newRank); // Reset the rank relationships: connectRanks(); @@ -164,28 +194,52 @@ public Optional createRank(String name, String tag, double cost) { * @return The next available rank's ID. */ private int getNextAvailableId() { - // Set the highest to -1 for now, since we'll add one at the end - int highest = -1; - - // If anything's higher, it's now the highest... - for (Rank rank : loadedRanks) { - if (highest < rank.id) { - highest = rank.id; - } - } - - return highest + 1; + + int current = (getRanksById().size() == 0 ? + -1 : getRanksById().lastKey().intValue()); + + return current + 1; + +// // Set the highest to -1 for now, since we'll add one at the end +// int highest = -1; +// +// // If anything's higher, it's now the highest... +// for (Rank rank : loadedRanks) { +// if (highest < rank.id) { +// highest = rank.id; +// } +// } +// +// return highest + 1; } /** - * Returns the rank with the specified name. + *

Returns the rank with the specified name. + *

+ * + *

Deprecated: use the non-Optional getRank() instead. + *

* * @param name The rank's name, case-sensitive. * @return An optional containing either the {@link Rank} if it could be found, or empty if it does not exist by the specified name. */ - public Optional getRank(String name) { + @Deprecated + public Optional getRankOptional(String name) { return loadedRanks.stream().filter(rank -> rank.name.equals(name)).findFirst(); } + + /** + *

The preferred way to get a rank by name. This has better performance. + *

+ * + * @param name + * @return + */ + public Rank getRank(String name) { + return getRanksByName().get( name ); + } + + /** * Returns the first rank that has an escaped name that has the & replaced with -. @@ -250,7 +304,8 @@ public boolean removeRank(Rank rank) { } // Remove it from the list... - loadedRanks.remove(rank); + removeRankFromCollections( rank ); +// loadedRanks.remove(rank); // Reset the rank relationships: connectRanks(); @@ -266,10 +321,15 @@ public boolean removeRank(Rank rank) { * @param id The rank's ID. * @return An optional containing either the {@link Rank} if it could be found, or empty if it does not exist by the specified id. */ - public Optional getRank(int id) { + @Deprecated + public Optional getRankOptional(int id) { return loadedRanks.stream().filter(rank -> rank.id == id).findFirst(); } + public Rank getRank( int id ) { + return getRanksById().get( id ); + } + /** * Returns a list of all the loaded ranks on the server. * @@ -453,6 +513,23 @@ private void rankByLadderOutput( CommandSender sender, String ranksByLadder ) { } } + + + + + private List getLoadedRanks() { + return loadedRanks; + } + + private TreeMap getRanksByName() { + return ranksByName; + } + + private TreeMap getRanksById() { + return ranksById; + } + + public CommandCommands getRankCommandCommands() { return rankCommandCommands; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 8a88d3e6b..b7ed65464 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -675,7 +675,7 @@ public boolean linkModuleElements( ModuleElement sourceElement, RankManager rm = PrisonRanks.getInstance().getRankManager(); if ( rm != null ) { - Rank rank = rm.getRank( name ).orElse( null ); + Rank rank = rm.getRankOptional( name ).orElse( null ); if ( rank != null ) { Mine mine = (Mine) sourceElement; @@ -763,7 +763,7 @@ else if ( elementType == ModuleElementType.RANK ) { RankManager rm = PrisonRanks.getInstance().getRankManager(); rm.getRanksCommands().createRank( sender, name, 0, "default", tag ); - Rank rank = rm.getRank( name ).orElseGet( null ); + Rank rank = rm.getRankOptional( name ).orElseGet( null ); results = rank; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 2fa8f91cd..dc20ba903 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -477,7 +477,7 @@ private void linkMinesAndRanks() { String rankName = rParts[1]; if ( meType == ModuleElementType.RANK ) { - Rank rank = rm.getRank( rankName ).orElse( null ); + Rank rank = rm.getRankOptional( rankName ).orElse( null ); if ( rank != null ) { mine.setRank( rank ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 08a138354..0be8d0832 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -755,7 +755,7 @@ private void LaddersGUI(InventoryClickEvent e, Player p, String buttonNameMain, private void RanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Get the rank - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(buttonNameMain); + Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRankOptional(buttonNameMain); // Check if the rank exist if (!rankOptional.isPresent()) { @@ -827,7 +827,7 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { String rankName = parts[1]; // Get the rank - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRank(rankName); + Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRankOptional(rankName); // Check the button name and do the actions if (buttonname.equalsIgnoreCase("RankupCommands")){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java index b6f4a82dc..f651fedf9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java @@ -173,14 +173,14 @@ private boolean sellAllMultipliers(CommandSender sender, String[] args, File fil return true; } - boolean isARank = rankPlugin.getRankManager().getRank(args[1]).isPresent(); + boolean isARank = rankPlugin.getRankManager().getRankOptional(args[1]).isPresent(); if (!isARank) { sender.sendMessage(SpigotPrison.format("&3[PRISON WARN] &cCan't find the Prestige/Rank: " + args[2])); return true; } - boolean isInPrestigeLadder = rankPlugin.getLadderManager().getLadder("prestiges").get().containsRank(rankPlugin.getRankManager().getRank(args[1]).get().id); + boolean isInPrestigeLadder = rankPlugin.getLadderManager().getLadder("prestiges").get().containsRank(rankPlugin.getRankManager().getRankOptional(args[1]).get().id); if (!isInPrestigeLadder) { sender.sendMessage(SpigotPrison.format("&3[PRISON WARN] &cThe -prestiges- ladder doesn't contains the Rank: " + args[2])); From 5d7cd12755f94887e8567ea8d9b98355a3abda28 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 17:12:39 -0400 Subject: [PATCH 079/243] Added a logCore feature that does not try to translate colors... this helps to bypass exceptions if an exception is trapped. Added a dump when parameters on messages are not properly paired. This will be critical when all messages will be externalized and subject to users messing up the formatting placeholders. --- changelog_v3.2.x.md | 9 +++++- .../prison/internal/platform/Platform.java | 4 ++- .../tech/mcprison/prison/output/Output.java | 28 ++++++++++++++++--- .../tech/mcprison/prison/TestPlatform.java | 8 ++++++ .../prison/spigot/SpigotPlatform.java | 13 +++++++-- 5 files changed, 53 insertions(+), 9 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 3bc7abca9..f25c440c2 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -7,7 +7,14 @@ Prison plugin. I'm wanting to provide a more formal documentation as to what is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.5 - 2020-10-17 + +## tag v3.2.2-alpha.5 - 2020-10-18 + + +* **Added a logCore feature that does not try to translate colors...** +this helps to bypass exceptions if an exception is trapped. +Added a dump when parameters on messages are not properly paired. This will be critical when all messages will be externalized and subject to users messing up the formatting placeholders. + * **New feature! Auto generate Ranks and Mines!!** This is based upon the work of Gabryaca, but I reproduced it to be a part of the RanksCommand and gave it the capability of generating virtual mines too! diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index cb10a3e87..31eb558eb 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -162,8 +162,10 @@ public interface Platform { * @param message The message. May include color codes, amp-prefixed. * @param format The objects inserted via {@link String#format(String, Object...)}. */ - void log(String message, Object... format); + public void log(String message, Object... format); + public void logCore( String message ); + /** * Logs a debug message to the console if the user has debug messages enabled. * diff --git a/prison-core/src/main/java/tech/mcprison/prison/output/Output.java b/prison-core/src/main/java/tech/mcprison/prison/output/Output.java index 458119003..71f92a1f7 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/output/Output.java +++ b/prison-core/src/main/java/tech/mcprison/prison/output/Output.java @@ -19,6 +19,7 @@ package tech.mcprison.prison.output; import java.util.Arrays; +import java.util.MissingFormatArgumentException; import tech.mcprison.prison.Prison; import tech.mcprison.prison.internal.CommandSender; @@ -125,10 +126,29 @@ public void log(String message, LogLevel level, Object... args) { if ( Prison.get() == null || Prison.get().getPlatform() == null ) { System.err.println("Prison: Output.log Logger failure: " + message ); } else { - Prison.get().getPlatform().log( - gen("&3Prison") + " " + - getLogColorCode(level) + - String.format(message, args)); + try { + Prison.get().getPlatform().log( + gen("&3Prison") + " " + + getLogColorCode(level) + + String.format(message, args)); + } + catch ( MissingFormatArgumentException e ) + { + StringBuilder sb = new StringBuilder(); + + for ( Object arg : args ) { + sb.append( "[" ); + sb.append( arg ); + sb.append( "] " ); + } + + Prison.get().getPlatform().logCore( + gen("&3Prison") + " " + + getLogColorCode(LogLevel.ERROR) + + "Failure to generate log message due to incorrect number of parameters: [" + + e.getMessage() + "] :: Original raw message [" + message + "] " + + "Arguments: " + sb.toString() ); + } } } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index b3bd6e786..e285a3532 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -144,6 +144,14 @@ public void dispatchCommand( CommandSender sender, String cmd ) { System.out.println(ChatColor.stripColor(String.format(message, format))); } + @Override + public void logCore( String message ) { + if (suppressOutput) { + return; + } + System.out.println(ChatColor.stripColor(message)); + } + @Override public void debug(String message, Object... format) { log(message, format); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index b7ed65464..de11fbd07 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -359,16 +359,23 @@ public void toggleDoor(Location doorLocation) { .playIronDoorSound(block.getLocation()); } - @Override public void log(String message, Object... format) { + @Override + public void log(String message, Object... format) { message = Text.translateAmpColorCodes(String.format(message, format)); - ConsoleCommandSender sender = Bukkit.getConsoleSender(); + logCore( message ); + } + + @Override + public void logCore( String message ) + { + ConsoleCommandSender sender = Bukkit.getConsoleSender(); if (sender == null) { Bukkit.getLogger().info(ChatColor.stripColor(message)); } else { sender.sendMessage(message); } - } + } @Override public void debug(String message, Object... format) { if (!plugin.debug) { From 2fe33a046ed131d50d173acc23ad1557cc1ad6c0 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 17:17:26 -0400 Subject: [PATCH 080/243] Fixes and changes to get /ranks autoConfigure and the generation of virtual mines too. The auto configure works well, but have not performed any extensive testing to ensure everything behaves properly --- .../prison/mines/commands/MinesCommands.java | 55 ++++++++++++------- .../prison/ranks/commands/RanksCommands.java | 2 +- .../prison/ranks/data/RankLadder.java | 6 +- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index d88e02e63..98246b3ed 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -103,7 +103,7 @@ public void createCommand(CommandSender sender, } if ( mineName == null || mineName.contains( " " ) || mineName.trim().length() == 0 ) { - sender.sendMessage( "&3Names cannot contain spaces or be empty. &b[&d" + mineName + "&b]" ); + sendMessage( sender, "&3Names cannot contain spaces or be empty. &b[&d" + mineName + "&b]" ); return; } mineName = mineName.trim(); @@ -111,7 +111,7 @@ public void createCommand(CommandSender sender, Player player = getPlayer( sender ); if ( !virtual && (player == null || !player.isOnline())) { - sender.sendMessage( "&3You must be a player in the game to run this command." ); + sendMessage( sender, "&3You must be a player in the game to run this command." ); return; } @@ -132,14 +132,14 @@ public void createCommand(CommandSender sender, selection = Prison.get().getSelectionManager().getSelection(player); if (!selection.isComplete()) { pMines.getMinesMessages().getLocalizable("select_bounds") - .sendTo(sender, LogLevel.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } if (!selection.getMin().getWorld().getName() .equalsIgnoreCase(selection.getMax().getWorld().getName())) { pMines.getMinesMessages().getLocalizable("world_diff") - .sendTo(sender, LogLevel.ERROR); + .sendTo(sender, LogLevel.ERROR); return; } } @@ -149,16 +149,28 @@ public void createCommand(CommandSender sender, Mine mine = new Mine(mineName, selection); pMines.getMineManager().add(mine); - pMines.getMinesMessages().getLocalizable("mine_created").sendTo(sender); if ( mine.isVirtual() ) { - player.sendMessage( "You just created a virtual mine. You can configure it but you will not " + - "be able to use it until you use the command &7/mines set area"); + sendMessage( sender, "&3Virtual mine created: use command " + + "&7/mines set area &3 to enable as a normal mine." ); + } + else { + pMines.getMinesMessages().getLocalizable("mine_created").sendTo(sender); } - // Delete the selection: - Prison.get().getSelectionManager().clearSelection((Player) sender); - + if ( !virtual && sender != null && sender instanceof Player ) { + // Delete the selection: + Prison.get().getSelectionManager().clearSelection((Player) sender); + } + } + + private void sendMessage( CommandSender sender, String message ) { + if ( sender == null ) { + Output.get().logInfo( message ); + } + else { + sender.sendMessage( message ); + } } @Command(identifier = "mines rename", description = "Creates a new mine.", @@ -1035,7 +1047,7 @@ public void infoCommand(CommandSender sender, // chatDisplay.text("&3Size: &7%d&8x&7%d&8x&7%d", Math.round(m.getBounds().getWidth()), // Math.round(m.getBounds().getHeight()), Math.round(m.getBounds().getLength())); - { + if ( !m.isVirtual() ) { RowComponent row = new RowComponent(); row.addTextComponent( "&3Size: &7%d&8x&7%d&8x&7%d", Math.round(m.getBounds().getWidth()), Math.round(m.getBounds().getHeight()), Math.round(m.getBounds().getLength()) ); @@ -1046,7 +1058,7 @@ public void infoCommand(CommandSender sender, } - { + if ( !m.isVirtual() ) { RowComponent row = new RowComponent(); row.addTextComponent( "&3Blocks Remaining: &7%s %s%% ", dFmt.format( m.getRemainingBlockCount() ), @@ -1074,7 +1086,7 @@ public void infoCommand(CommandSender sender, } - { + if ( !m.isVirtual() ) { RowComponent row = new RowComponent(); if ( m.getResetThresholdPercent() == 0 ) { row.addTextComponent( "&3Reset Threshold: &cDISABLED"); @@ -1462,11 +1474,13 @@ private BulletedListComponent getMinesLineItemList( PrisonSortableResults sorted new FancyMessage(dFmt.format(m.getResetCount())). tooltip( "Times the mine was reset." ) ); - - row2.addTextComponent( " &3 Vol: &7" ); - row2.addFancy( - new FancyMessage(dFmt.format(m.getBounds().getTotalBlockCount())). - tooltip( "Volume in Blocks" ) ); + if ( !m.isVirtual() ) { + + row2.addTextComponent( " &3 Vol: &7" ); + row2.addFancy( + new FancyMessage(dFmt.format(m.getBounds().getTotalBlockCount())). + tooltip( "Volume in Blocks" ) ); + } // String noteMode = m.getNotificationMode().name() + @@ -1799,8 +1813,9 @@ public void resetThresholdPercentCommand(CommandSender sender, pMines.getMineManager().saveMine( m ); - double blocks = m.getBounds().getTotalBlockCount() * - m.getResetThresholdPercent() / 100.0d; + double blocks = m.isVirtual() ? 0 : + m.getBounds().getTotalBlockCount() * + m.getResetThresholdPercent() / 100.0d; DecimalFormat dFmt = new DecimalFormat("#,##0"); DecimalFormat fFmt = new DecimalFormat("#,##0.00"); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 0b2a71bb6..541d985a1 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -300,7 +300,7 @@ else if ( plugins.containsKey("PowerfulPerms") ){ Output.get().logInfo( "Ranks autoConfigure: %d rank commands were created.", countRanks); Output.get().logInfo( "Ranks autoConfigure: The permission %s was " + "created for each rank. Make sure you add every permission to your " + - "permission plugin or they may not work. " + + "permission plugin or they may not work. ", perm); } } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java index c941e226f..1ad64fc53 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java @@ -78,9 +78,9 @@ public RankLadder(Document document, PrisonRanks prisonRanks) { Rank rankPrison = null; if ( rankManager != null && - rankManager.getRankOptional( rRankId ).isPresent() ) { + rankManager.getRank( rRankId ) != null) { - rankPrison = rankManager.getRankOptional( rRankId ).get(); + rankPrison = rankManager.getRank( rRankId ); // if null look it up from loaded ranks: if ( rRankName == null ) { @@ -123,7 +123,7 @@ public List getRanks() { if ( rank != null && rank.rank == null ) { // - Rank rnk = rankManager.getRankOptional( rank.rankId ).orElseGet( null ); + Rank rnk = rankManager.getRank( rank.rankId ); if ( rnk != null ) { rank.rank = rnk; } From cc73bb8001cc4cd22d4de016c9829589c48f22ea Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:15:11 -0400 Subject: [PATCH 081/243] Added more details when an error occurs with the prison's command runner. It was not suffiencent to figure out what the cause was, most of the time it would not provide enough information when there was an issue. --- .../prison/commands/RegisteredCommand.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index 073502c88..214f520f0 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -149,15 +149,35 @@ private void executeMethod(CommandSender sender, String[] args) { try { try { method.invoke(methodInstance, resultArgs.toArray()); - } catch (InvocationTargetException e) { + } + catch ( IllegalArgumentException | InvocationTargetException e) { if (e.getCause() instanceof CommandError) { CommandError ce = (CommandError) e.getCause(); Output.get().sendError(sender, ce.getColorizedMessage()); if (ce.showUsage()) { sender.sendMessage(getUsage()); } - } else { - throw e; + } + else { + StringBuilder sb = new StringBuilder(); + + for ( Object arg : resultArgs ) { + sb.append( "[" ); + sb.append( arg ); + sb.append( "] " ); + } + + String message = "RegisteredCommand.executeMethod(): Invoke error: [" + + e.getMessage() + "] cause: [" + + (e.getCause() == null ? "" : e.getCause().getMessage()) + "] " + + " target instance: [" + + method.getName() + " " + method.getParameterCount() + " " + + methodInstance.getClass().getCanonicalName() + "] " + + "command arguments: " + sb.toString() + ; + Output.get().sendError( sender, message ); + +// throw e; } } } catch (Exception e) { From ba8f5d317d33e372fcf60a1be4f1d640f3b0e6f0 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:22:24 -0400 Subject: [PATCH 082/243] Fixes some hard to find problems where the wrong parameter was being supplied to the commands. It would work most of the time, but under some conditions it would fail. --- .../prison/mines/commands/MinesCommands.java | 8 ++++--- .../prison/ranks/commands/RankUpCommand.java | 22 ++++++++++--------- .../prison/ranks/data/RankLadder.java | 3 --- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 98246b3ed..c59ff74ce 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2297,8 +2297,10 @@ private Player getOnlinePlayer( String playerName ) { - @Command(identifier = "mines wand", permissions = "mines.wand", description = "Receive a wand to select a mine area.") - public void wandCommand(Player sender) { + @Command(identifier = "mines wand", permissions = "mines.wand", + description = "Receive a wand to select a mine area.", + onlyPlayers = false ) + public void wandCommand(CommandSender sender) { Player player = getPlayer( sender ); @@ -2307,7 +2309,7 @@ public void wandCommand(Player sender) { return; } - Prison.get().getSelectionManager().bestowSelectionTool(sender); + Prison.get().getSelectionManager().bestowSelectionTool(player); sender.sendMessage( "&3Here you go! &7Left click to select the first corner, and right click to select the other."); } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java index 05684399f..fd7dd1a4a 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java @@ -62,7 +62,7 @@ public class RankUpCommand { permissions = "ranks.user", altPermissions = "ranks.rankupmax.[ladderName] ranks.rankupmax.prestige", onlyPlayers = false) - public void rankUpMax(Player sender, + public void rankUpMax(CommandSender sender, @Arg(name = "ladder", description = "The ladder to rank up on.", def = "default") String ladder ) { rankUpPrivate(sender, ladder, RankupModes.MAX_RANKS, "ranks.rankupmax." ); @@ -70,13 +70,13 @@ public void rankUpMax(Player sender, @Command(identifier = "rankup", description = "Ranks up to the next rank.", permissions = "ranks.user", altPermissions = "ranks.rankup.[ladderName]", onlyPlayers = true) - public void rankUp(Player sender, + public void rankUp(CommandSender sender, @Arg(name = "ladder", description = "The ladder to rank up on.", def = "default") String ladder ) { rankUpPrivate(sender, ladder, RankupModes.ONE_RANK, "ranks.rankup." ); } - private void rankUpPrivate(Player sender, String ladder, RankupModes mode, String permission ) { + private void rankUpPrivate(CommandSender sender, String ladder, RankupModes mode, String permission ) { // RETRIEVE THE LADDER @@ -98,7 +98,9 @@ private void rankUpPrivate(Player sender, String ladder, RankupModes mode, Strin return; } - UUID playerUuid = sender.getUUID(); + Player player = getPlayer( sender, null ); + + //UUID playerUuid = player.getUUID(); ladder = confirmLadder( sender, ladder ); if ( ladder == null ) { @@ -106,7 +108,7 @@ private void rankUpPrivate(Player sender, String ladder, RankupModes mode, Strin return; } - RankPlayer rankPlayer = getPlayer( sender, playerUuid, sender.getName() ); + RankPlayer rankPlayer = getPlayer( sender, player.getUUID(), player.getName() ); Rank pRank = rankPlayer.getRank( ladder ); Rank pRankSecond = rankPlayer.getRank("default"); Rank pRankAfter = null; @@ -161,17 +163,17 @@ private void rankUpPrivate(Player sender, String ladder, RankupModes mode, Strin // Prestige method - prestigePlayer(sender, rankPlayer, pRank, pRankAfter, lm, WillPrestige, rankupWithSuccess); + prestigePlayer(player, rankPlayer, pRank, pRankAfter, lm, WillPrestige, rankupWithSuccess); } } - private void prestigePlayer(Player sender, RankPlayer rankPlayer, Rank pRank, Rank pRankAfter, LadderManager lm, boolean willPrestige, boolean rankupWithSuccess) { + private void prestigePlayer(Player player, RankPlayer rankPlayer, Rank pRank, Rank pRankAfter, LadderManager lm, boolean willPrestige, boolean rankupWithSuccess) { // Get the player rank after, just to check if it has success Rank pRankSecond; // Conditions if (willPrestige && rankupWithSuccess && pRankAfter != null && pRank != pRankAfter) { // Set the player rank to the first one of the default ladder - PrisonAPI.dispatchCommand("ranks set rank " + sender.getName() + " " + lm.getLadder("default").get().getLowestRank().get().name + " default"); + PrisonAPI.dispatchCommand("ranks set rank " + player.getName() + " " + lm.getLadder("default").get().getLowestRank().get().name + " default"); // Get that rank pRankSecond = rankPlayer.getRank("default"); // Check if the ranks match @@ -179,9 +181,9 @@ private void prestigePlayer(Player sender, RankPlayer rankPlayer, Rank pRank, Ra // Get economy EconomyIntegration economy = (EconomyIntegration) PrisonAPI.getIntegrationManager().getForType(IntegrationType.ECONOMY).orElseThrow(IllegalStateException::new); // Set the player balance to 0 (reset) - economy.setBalance(sender, 0); + economy.setBalance(player, 0); // Send a message to the player because he did prestige! - sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&3Congratulations&7] &3You've &6Prestige&3 to " + pRankAfter.tag + "&c!")); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&3Congratulations&7] &3You've &6Prestige&3 to " + pRankAfter.tag + "&c!")); } } } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java index 1ad64fc53..cde070c17 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/RankLadder.java @@ -118,9 +118,6 @@ public List getRanks() { for ( PositionRank rank : ranks ) { - Output.get().logInfo( "#### rank is null = " + (rank == null) + - " rank.rankId = " + (rank == null ? "null" : rank.rankId ) ); - if ( rank != null && rank.rank == null ) { // Rank rnk = rankManager.getRank( rank.rankId ); From eb4f0749a3504919921af33b1cce40ec8f6f2730 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:26:11 -0400 Subject: [PATCH 083/243] Fixes issues with virual mines. Allows full configurations of vitual mines except for setting the area and spawn point. --- .../prison/mines/commands/MinesCommands.java | 30 +++++++------------ .../prison/ranks/commands/RanksCommands.java | 3 +- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index c59ff74ce..7236088b7 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -173,7 +173,7 @@ private void sendMessage( CommandSender sender, String message ) { } } - @Command(identifier = "mines rename", description = "Creates a new mine.", + @Command(identifier = "mines rename", description = "Rename a mine.", onlyPlayers = false, permissions = "mines.rename") public void renameCommand(CommandSender sender, @Arg(name = "mineName", description = "The existing name of the mine.", def = " ") String mineName, @@ -234,7 +234,7 @@ public void spawnpointCommand(CommandSender sender, Mine mine = pMines.getMine(mineName); - if ( !mine.isVirtual() ) { + if ( mine.isVirtual() ) { sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); return; } @@ -395,10 +395,11 @@ public void addBlockCommand(CommandSender sender, Mine m = pMines.getMine(mineName); - if ( !m.isEnabled() ) { - sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); - return; - } + // should be able manage blocks even if disabled or virtual: +// if ( !m.isEnabled() ) { +// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); +// return; +// } if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { @@ -930,7 +931,7 @@ public void infoCommand(CommandSender sender, // Display Mine Info only: if ( cmdPageData.getCurPage() == 1 ) { - if ( !m.isVirtual() ) { + if ( m.isVirtual() ) { chatDisplay.text("&cWarning!! This mine is &lVirtual&r&c!! &7Use &3/mines set area &7to enable." ); } @@ -1235,7 +1236,7 @@ public void resetCommand(CommandSender sender, Mine m = pMines.getMine(mineName); - if ( !m.isVirtual() ) { + if ( m.isVirtual() ) { sender.sendMessage( "&cInvalid option. This mine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); return; } @@ -1273,7 +1274,6 @@ public void listCommand(CommandSender sender, Player player = getPlayer( sender ); MineSortOrder sortOrder = MineSortOrder.fromString( sort ); - Output.get().logInfo( "### mine sort " + sort + " " + sortOrder.name() ); // If sort was invalid, double check to see if it is a page number or ALL: if ( sortOrder == MineSortOrder.invalid ) { @@ -2172,7 +2172,7 @@ else if ( playerAlt != null ) { Mine m = pMines.getMine(mineName); - if ( !m.isVirtual() ) { + if ( m.isVirtual() ) { sender.sendMessage( "&cInvalid option. This mine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); return; } @@ -2420,10 +2420,6 @@ public void commandAdd(CommandSender sender, @Arg(name = "state", def = "before", description = "State can be either before or after.") String state, @Arg(name = "command") @Wildcard String command) { -// if ( 1 < 2 ) { -// sender.sendMessage( "&cThis command is disabled&7. It will be enabled in the near future." ); -// return; -// } if (command.startsWith("/")) { command = command.replaceFirst("/", ""); @@ -2446,16 +2442,10 @@ public void commandAdd(CommandSender sender, // MineManager mMan = pMines.getMineManager(); Mine m = pMines.getMine(mineName); -// if ( !m.isEnabled() ) { -// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); -// return; -// } - if ( command == null || command.trim().length() == 0 ) { sender.sendMessage( String.format( "&7Please provide a valid command: command=[%s]", command) ); return; - } String newComand = state + ": " + command; diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 541d985a1..f8fa3a943 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -249,9 +249,10 @@ else if ( plugins.containsKey("PowerfulPerms") ){ int colorID = 1; double price = 0; + for ( char cRank = 'A'; cRank <= 'Z'; cRank++) { String rankName = Character.toString( cRank ); - String tag = "&7[&" + ((colorID++ % 9) + 1) + rankName + "&7]&f"; + String tag = "&7[&" + Integer.toHexString((colorID++ % 15) + 1) + rankName + "&7]&f"; if ( createRank(sender, rankName, price, "default", tag) ) { countRanks++; From a12a474aecc74d7087f010554918cd13d7d90b30 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:27:34 -0400 Subject: [PATCH 084/243] Update docs --- changelog_v3.2.x.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index f25c440c2..42ff12f77 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -10,6 +10,13 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-18 +* **Wraping up changes on virtual mines** +Fixes issues with virual mines. Allows full configurations of vitual mines except for setting the area and spawn point. + + +* **Bug Fix: Found the wrong parameter was being used on a few commands** +Fixes some hard to find problems where the wrong parameter was being supplied to the commands. It would work most of the time, but under some conditions it would fail. Was using a parameter of Player instead of CommandSender. + * **Added a logCore feature that does not try to translate colors...** this helps to bypass exceptions if an exception is trapped. From 3b8090b571941218c7174a5fbec734e51e7e9a95 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 18 Oct 2020 22:04:41 -0400 Subject: [PATCH 085/243] Provide a way to get the counts of a given ModuleElementType. Allows for access in modules that don't have direct access to other modules. --- changelog_v3.2.x.md | 9 +++-- .../prison/internal/platform/Platform.java | 3 +- .../tech/mcprison/prison/TestPlatform.java | 5 +++ .../prison/ranks/commands/RanksCommands.java | 35 +++++++++++++------ .../prison/spigot/SpigotPlatform.java | 20 +++++++++-- 5 files changed, 57 insertions(+), 15 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 42ff12f77..01ec8d184 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -10,8 +10,13 @@ that you need. ## tag v3.2.2-alpha.5 - 2020-10-18 -* **Wraping up changes on virtual mines** -Fixes issues with virual mines. Allows full configurations of vitual mines except for setting the area and spawn point. + +* **Provide a way to get the counts of a given ModuleElementType.** +Allows for access in modules that don't have direct access to other modules. + + +* **Wrapping up changes on virtual mines** +Fixes issues with virtual mines. Allows full configurations of virtual mines except for setting the area and spawn point. * **Bug Fix: Found the wrong parameter was being used on a few commands** diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 31eb558eb..589143fed 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -275,6 +275,7 @@ default Optional getCommand(String label) { public ModuleElement createModuleElement( CommandSender sender, ModuleElementType elementType, String name, String tag ); - + + public int getModuleElementCount( ModuleElementType elementType ); } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index e285a3532..cd2794fc4 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -260,4 +260,9 @@ public boolean linkModuleElements( ModuleElement sourceElement, public ModuleElement createModuleElement( CommandSender sender, ModuleElementType elementType, String name, String tag ) { return null; } + + @Override + public int getModuleElementCount( ModuleElementType elementType ) { + return 0; + } } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index f8fa3a943..0971beb33 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -70,13 +70,14 @@ public boolean createRank(CommandSender sender, // Ensure a rank with the name doesn't already exist if (PrisonRanks.getInstance().getRankManager().getRank(name) != null) { Output.get() - .sendWarn(sender, "A rank by this name already exists. Try a different name."); + .sendWarn(sender, + String.format( "&3The rank named &7%s &3already exists. Try a different name.", name) ); return success; } // Ensure a rank with the name doesn't already exist if (name == null || name.trim().length() == 0 || name.contains( "&" )) { - Output.get().sendWarn(sender, "A rank name is required and cannot contain formatting codes."); + Output.get().sendWarn(sender, "&3A rank name is required and cannot contain formatting codes."); return success; } @@ -85,7 +86,7 @@ public boolean createRank(CommandSender sender, Optional rankLadderOptional = PrisonRanks.getInstance().getLadderManager().getLadder(ladder); if (!rankLadderOptional.isPresent()) { - Output.get().sendWarn(sender, "A ladder by the name of '%s' does not exist.", ladder); + Output.get().sendWarn(sender, "&3A ladder by the name of '&7%s&3' does not exist.", ladder); return success; } @@ -100,7 +101,7 @@ public boolean createRank(CommandSender sender, // Ensure it was created if (!newRankOptional.isPresent()) { - Output.get().sendError(sender, "The rank could not be created."); + Output.get().sendError(sender, "&3The rank could not be created."); return success; } @@ -125,12 +126,12 @@ public boolean createRank(CommandSender sender, // Tell the player the good news! Output.get() - .sendInfo(sender, "Your new rank, '%s', was created in the ladder '%s'", name, ladder); + .sendInfo(sender, "&3Your new rank, '&7%s&3', was created in the ladder '&7%s&3'", name, ladder); } catch (IOException e) { Output.get().sendError(sender, - "The '%s' ladder could not be saved to disk. Check the console for details.", + "&3The '&7%s&3' ladder could not be saved to disk. Check the console for details.", rankLadderOptional.get().name); - Output.get().logError("Ladder could not be written to disk.", e); + Output.get().logError("&3Ladder could not be written to disk.", e); } return success; @@ -149,7 +150,20 @@ public void autoConfigureRanks(CommandSender sender, description = "Options: [full ranks mines price=x mult=x]", def = "full") String options ) { - String optionHelp = "[full ranks mines price=x mult=x]"; + + int rankCount = PrisonRanks.getInstance().getRankManager().getRanks().size(); + int mineCount = Prison.get().getPlatform().getModuleElementCount( ModuleElementType.MINE ); + + if ( rankCount > 0 || mineCount > 0 ) { + String message = String.format( "&3Cannot run &7/ranks autoConfigure &3 with any " + + "ranks or mines already setup. Rank count = &7%d&3. Mine count = &7%d", + rankCount, mineCount ); + Output.get().logWarn( message ); + return; + } + + + String optionHelp = "&b[&7full ranks mines price=&dx &7mult=&dx&b]"; boolean ranks = false; boolean mines = false; double startingPrice = 50000; @@ -158,7 +172,7 @@ public void autoConfigureRanks(CommandSender sender, options = (options == null ? "" : options.replaceAll( "/s*", " " )); if ( options.trim().length() == 0 ) { Output.get().sendError(sender, - "Invalid options. Use %s. Was: %s", + "&3Invalid options. Use %s&3. Was: &3%s", optionHelp, options ); return; } @@ -209,7 +223,8 @@ public void autoConfigureRanks(CommandSender sender, options = (options == null ? "" : options.replaceAll( "/s*", " " )); if ( options.trim().length() != 0 ) { Output.get().sendError(sender, - "Invalid options.. Use either [full, ranks, mines, price=x]. Was: [%s]", + "Invalid options.. Use either %s&3. Was: [%s]", + optionHelp, options == null ? "null" : options ); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index de11fbd07..133ce39fc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -682,7 +682,7 @@ public boolean linkModuleElements( ModuleElement sourceElement, RankManager rm = PrisonRanks.getInstance().getRankManager(); if ( rm != null ) { - Rank rank = rm.getRankOptional( name ).orElse( null ); + Rank rank = rm.getRank( name ); if ( rank != null ) { Mine mine = (Mine) sourceElement; @@ -770,11 +770,27 @@ else if ( elementType == ModuleElementType.RANK ) { RankManager rm = PrisonRanks.getInstance().getRankManager(); rm.getRanksCommands().createRank( sender, name, 0, "default", tag ); - Rank rank = rm.getRankOptional( name ).orElseGet( null ); + Rank rank = rm.getRank( name ); results = rank; } return results; } + + @Override + public int getModuleElementCount( ModuleElementType elementType ) { + int results = 0; + + if ( elementType == ModuleElementType.MINE ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + results = mm.getMines().size(); + } + else if ( elementType == ModuleElementType.RANK ) { + RankManager rm = PrisonRanks.getInstance().getRankManager(); + results = rm.getRanks().size(); + } + + return results; + } } From 9e462fc9eaef4cba7f31e5dd3e5ba405f8d35dc7 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 05:07:15 -0400 Subject: [PATCH 086/243] Bug fix: prevent the config files for gui and it's messages from loading from the file every single time it is accessed. And they were accessed everywhere, and for one message, even three to four times just to generate one message. This should improve performance significantly for the gui overall. --- .../mcprison/prison/spigot/SpigotPrison.java | 24 ++-- .../spigot/commands/PrisonSpigotCommands.java | 9 +- .../mcprison/prison/spigot/gui/GuiConfig.java | 107 +++++++++--------- .../spigot/gui/ListenersPrisonManager.java | 10 +- .../prison/spigot/gui/PrisonSetupGUI.java | 2 +- .../prison/spigot/gui/SpigotPrisonGUI.java | 2 +- .../gui/autofeatures/SpigotAutoBlockGUI.java | 2 +- .../autofeatures/SpigotAutoFeaturesGUI.java | 2 +- .../gui/autofeatures/SpigotAutoPickupGUI.java | 2 +- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 2 +- .../mine/SpigotMineBlockPercentageGUI.java | 2 +- .../spigot/gui/mine/SpigotMineInfoGUI.java | 2 +- .../mine/SpigotMineNotificationRadiusGUI.java | 2 +- .../gui/mine/SpigotMineNotificationsGUI.java | 2 +- .../gui/mine/SpigotMineResetTimeGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 2 +- .../gui/mine/SpigotMinesConfirmGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesGUI.java | 2 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 4 +- .../gui/rank/SpigotConfirmPrestigeGUI.java | 2 +- .../spigot/gui/rank/SpigotLaddersGUI.java | 2 +- .../gui/rank/SpigotPlayerPrestigesGUI.java | 4 +- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 8 +- .../spigot/gui/rank/SpigotRankManagerGUI.java | 2 +- .../spigot/gui/rank/SpigotRankPriceGUI.java | 2 +- .../gui/rank/SpigotRankUPCommandsGUI.java | 2 +- .../spigot/gui/rank/SpigotRanksGUI.java | 4 +- .../spigot/gui/sellall/SellAllAdminGUI.java | 2 +- .../spigot/gui/sellall/SellAllPlayerGUI.java | 2 +- .../spigot/gui/sellall/SellAllPriceGUI.java | 2 +- .../spigot/languages/MessagesConfig.java | 104 ++++++++--------- 31 files changed, 164 insertions(+), 154 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index dc20ba903..fb0574012 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -97,6 +97,9 @@ public class SpigotPrison extends JavaPlugin { private AutoManagerFeatures autoFeatures = null; // private FileConfiguration autoFeaturesConfig = null; + + private MessagesConfig messagesConfig; + private GuiConfig guiConfig; private static SpigotPrison config; @@ -167,12 +170,6 @@ public void onEnable() { getCommand("prisonmanager").setExecutor(new PrisonSpigotCommands()); - // Generate first time files experimental - MessagesConfig messagesConfig = new MessagesConfig(); - messagesConfig.messagesConfigGen(); - - GuiConfig optionsGUI = new GuiConfig(); - optionsGUI.guiConfigGen(); sellAllConfig optionsSellAll = new sellAllConfig(); optionsSellAll.sellAllConfigGen(); @@ -239,9 +236,11 @@ public void onDisable() { Prison.get().deinit(); } - public static FileConfiguration getGuiConfig(){ - GuiConfig messages = new GuiConfig(); - return messages.getFileGuiConfig(); + public FileConfiguration getGuiConfig() { + if ( guiConfig == null ) { + guiConfig = new GuiConfig(); + } + return guiConfig.getFileGuiConfig(); } public static FileConfiguration getSellAllConfig(){ @@ -249,8 +248,11 @@ public static FileConfiguration getSellAllConfig(){ return configs.getFileSellAllConfig(); } - public static FileConfiguration getMessagesConfig(){ - MessagesConfig messagesConfig = new MessagesConfig(); + public FileConfiguration getMessagesConfig(){ + if ( messagesConfig == null ) { + messagesConfig = new MessagesConfig(); + } + return messagesConfig.getFileGuiMessagesConfig(); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 7d7190a34..274778beb 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -80,8 +80,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St } // Load config - Configuration guiConfig = SpigotPrison.getGuiConfig(); - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); +// Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); if (args.length == 0) { sender.sendMessage(SpigotPrison.format("&cIncorrect usage, the command should be /prisonmanager -gui-ranks-mines-prestiges-prestige-setup")); @@ -175,7 +175,10 @@ private boolean prisonManagerPrestige(CommandSender sender, Player p) { private void prestigeByChat(CommandSender sender, Player p) { isChatEventActive = true; - sender.sendMessage(SpigotPrison.format(SpigotPrison.getGuiConfig().getString("Gui.Lore.PrestigeWarning") + SpigotPrison.getGuiConfig().getString("Gui.Lore.PrestigeWarning2") + SpigotPrison.getGuiConfig().getString("Gui.Lore.PrestigeWarning3"))); + sender.sendMessage(SpigotPrison.format(SpigotPrison.getInstance().getGuiConfig().getString("Gui.Lore.PrestigeWarning") + + SpigotPrison.getInstance().getGuiConfig().getString("Gui.Lore.PrestigeWarning2") + + SpigotPrison.getInstance().getGuiConfig().getString("Gui.Lore.PrestigeWarning3"))); + sender.sendMessage(SpigotPrison.format("&aConfirm&3: Type the word &aconfirm &3 to confirm")); sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 15 seconds!")); Player finalP = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java index 2794ff3df..c404373ac 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java @@ -1,14 +1,15 @@ package tech.mcprison.prison.spigot.gui; -import org.bukkit.Color; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; -import tech.mcprison.prison.spigot.SpigotPrison; - import java.io.File; import java.io.IOException; import java.util.Objects; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; + +import tech.mcprison.prison.output.Output; +import tech.mcprison.prison.spigot.SpigotPrison; + /** * @author GABRYCA */ @@ -16,69 +17,71 @@ public class GuiConfig { private FileConfiguration conf; + + private File file; + private int changeCount = 0; + + + public GuiConfig() { - if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ - return; + if ( Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ + initialize(); } - // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); } - public void guiConfigGen() { - - if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ - return; - } - // Everything's here + public void initialize() { + + // Filepath + file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); + + if( !file.exists() ) { + try { + File parentDir = file.getParentFile(); + parentDir.mkdirs(); + + file.createNewFile(); + } + catch (IOException e) { + e.printStackTrace(); + } + } + + conf = YamlConfiguration.loadConfiguration(file); + + // Everything's here (not anymore...) values(); - } + if ( changeCount > 0 ) { + try { + conf.save(file); + + Output.get().logInfo( "&aThere were &b%d &anew values added to the GuiConfig.yml file located at &b%s", + changeCount, file.getAbsoluteFile() ); + } + catch ( IOException e ) { - private void dataConfig(String path, String string){ - - // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); - - // Check if the config exists - if(!file.exists()){ - try { - file.createNewFile(); - conf = YamlConfiguration.loadConfiguration(file); - conf.set(path, SpigotPrison.format(string)); - conf.save(file); - } catch (IOException e) { - e.printStackTrace(); - } - } else { - try { - boolean newValue = false; - int editedItems = 0; - conf = YamlConfiguration.loadConfiguration(file); - if (getFileGuiConfig().getString(path) == null){ - conf.set(path, SpigotPrison.format(string)); - editedItems++; - newValue = true; - } - if (newValue) { - conf.save(file); - System.out.println(Color.AQUA + "[Prison - GuiConfig.yml]" + Color.GREEN + " Added " + editedItems + " new values to the GuiConfig.yml"); - } - } catch (IOException e2){ - e2.printStackTrace(); - } + Output.get().logInfo( "&4Failed to save &b%d &4new values to the GuiConfig.yml file located at &b%s&4. " + + "&a %s", + changeCount, file.getAbsoluteFile(), e.getMessage() ); + + } } + } - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); + private void dataConfig(String key, String value){ + if (conf.getString(key) == null) { + conf.set(key, SpigotPrison.format(value)); + changeCount++; + } } + + private void values(){ dataConfig("Options.Ranks.GUI_Enabled","true"); dataConfig("Options.Ranks.Permission_GUI_Enabled","false"); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 0be8d0832..9f4baa88c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -418,7 +418,7 @@ public void onClick(InventoryClickEvent e){ // Check the title and do the actions case "Prison Setup -> Confirmation":{ - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); if (parts[0].equalsIgnoreCase("Confirm:")){ Bukkit.dispatchCommand(p, "ranks autoConfigure"); @@ -866,7 +866,7 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { // Check the button name and do the actions } else if (buttonname.equalsIgnoreCase("RankTag")){ - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Send messages to the player p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRename"))); @@ -888,7 +888,7 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { private void PlayerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); // Check the buttonName and do the actions if (buttonNameMain.equals(SpigotPrison.format(Objects.requireNonNull(GuiConfig.getString("Gui.Lore.Rankup")).substring(2)))){ @@ -1054,7 +1054,7 @@ private void MinesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { private void PlayerMinesGUI(Player p, String buttonNameMain) { // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); String permission = SpigotPrison.format(GuiConfig.getString("Options.Mines.PermissionWarpPlugin")); if (p.hasPermission(permission + buttonNameMain) || p.hasPermission(permission.substring(0, permission.length() - 1))){ @@ -1143,7 +1143,7 @@ private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { break; case "Mine_Name": { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Send messages to the player p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRename"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java index 303668b84..b22c29240 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -44,7 +44,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Blocks of the mine List confirmLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index a0defe825..3625137dc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -47,7 +47,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Lore of the button List rankslore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 233ab78bb..2c38b1569 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index 1c27bf768..c3cb6b3d4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -55,7 +55,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Declare buttons ItemStack autoPickup; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 96f9dd638..b595b061d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 10d3c4259..9518d7b02 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index 1c4edb901..d51bd3560 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -55,7 +55,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index 468cc1597..fc2657916 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -54,7 +54,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // The Reset Mine button and lore List resetminelore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index 91acc30e0..e78409cec 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -55,7 +55,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index 0970a7e95..a936f5bbc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -59,7 +59,7 @@ private boolean guiBuilder(Inventory inv, String enabledOrDisabled) { private void buttonsSetup(Inventory inv, String enabledOrDisabled) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List modeWithinLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index a7ee927c3..557b18bf4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -53,7 +53,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 44880661a..003031841 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -52,7 +52,7 @@ public void open(){ } // Load config - this.messages = SpigotPrison.getMessagesConfig(); + this.messages = SpigotPrison.getInstance().getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index 27d6b27cc..facb34078 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -51,7 +51,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Blocks of the mine List confirmlore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 369fc7f42..8b5595674 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -50,7 +50,7 @@ public void open(){ int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config - this.messages = SpigotPrison.getMessagesConfig(); + this.messages = SpigotPrison.getInstance().getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index ecfbff673..17bd45966 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -41,8 +41,8 @@ public void open(){ int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - this.messages = SpigotPrison.getMessagesConfig(); + Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); + this.messages = SpigotPrison.getInstance().getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index 248145f48..61fdd1ff7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -46,7 +46,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Blocks of the mine List confirmLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 0e8bd337a..32d37bab5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -45,7 +45,7 @@ public void open(){ // Get the dimensions and if needed increases them int dimension = (int) Math.ceil(lm.getLadders().size() / 9D) * 9; - this.messages = SpigotPrison.getMessagesConfig(); + this.messages = SpigotPrison.getInstance().getMessagesConfig(); // If the inventory is empty if (dimension == 0){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index 284dd5ecd..e00683089 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -113,7 +113,7 @@ public void open() { } // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); + Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); LadderManager lm = getRankPlugin().getLadderManager(); Optional ladder = lm.getLadder("prestiges"); @@ -151,7 +151,7 @@ private boolean guiBuilder(Configuration guiConfig, Optional ladder, private void buttonsSetup(Configuration guiConfig, Optional ladder, int dimension, Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); if (!ladder.isPresent()){ player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.LadderPrestigesNotFound"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index 37dc929bc..fe95a1cfc 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -108,8 +108,8 @@ public void open() { } // Load config - Configuration GuiConfig = SpigotPrison.getGuiConfig(); - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); LadderManager lm = getRankPlugin().getLadderManager(); Optional ladder = lm.getLadder(GuiConfig.getString("Options.Ranks.Ladder")); @@ -130,7 +130,7 @@ public void open() { // Create the inventory and set up the owner, dimensions or number of slots, and title int dimension = (int) (Math.ceil(ladder.get().ranks.size() / 9D) * 9) + 9; - Configuration guiConfig = SpigotPrison.getGuiConfig(); + Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3" + "Ranks -> PlayerRanks")); @@ -160,7 +160,7 @@ private boolean guiBuilder(Configuration guiConfig, int dimension, Configuration private void buttonsSetup(Configuration guiConfig, int dimension, Configuration guiConfig2, Inventory inv, Rank rank, Rank playerRank) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Not sure how you want to represent this: Material materialHas; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 896c54a36..829417f20 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -57,7 +57,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create the lore List rankupCommandsLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 11cdb044b..35bd1cb48 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -60,7 +60,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 311df75cf..e2dee2182 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -40,7 +40,7 @@ public void open() { } // Load config - this.messages = SpigotPrison.getMessagesConfig(); + this.messages = SpigotPrison.getInstance().getMessagesConfig(); if (rank.rankUpCommands.size() == 0){ p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRankupCommands"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index 3d541b7e0..cede79b89 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -49,7 +49,7 @@ public void open() { } // Load config - this.messages = SpigotPrison.getMessagesConfig(); + this.messages = SpigotPrison.getInstance().getMessagesConfig(); // Get the dimensions and if needed increases them if (ladder.isPresent() && !(ladder.get().ranks.size() == 0)) { @@ -160,7 +160,7 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { static void getCommands(List ranksLore, Rank rank) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ContainsTheRank") + rank.name + messages.getString("Gui.Lore.ContainsNoCommands"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index 99292bebe..e3bf07d7e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -44,7 +44,7 @@ public void open() { private Inventory buttonsSetup(Configuration conf) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); boolean emptyInv = false; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 754002c3f..13ec98e1f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -43,7 +43,7 @@ public void open() { private Inventory buttonsSetup(Configuration conf) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); Inventory inv; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index dff289a27..f9f8fb460 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -53,7 +53,7 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getMessagesConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index 81605109a..583734811 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -1,12 +1,13 @@ package tech.mcprison.prison.spigot.languages; -import org.bukkit.Color; +import java.io.File; +import java.io.IOException; + import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; -import tech.mcprison.prison.spigot.SpigotPrison; -import java.io.File; -import java.io.IOException; +import tech.mcprison.prison.output.Output; +import tech.mcprison.prison.spigot.SpigotPrison; /** * @author GABRYCA @@ -15,63 +16,64 @@ public class MessagesConfig { private FileConfiguration conf; + + private File file; + private int changeCount = 0; + public MessagesConfig() { - // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); - - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); + initialize(); } - public void messagesConfigGen() { - - // Everything's here + public void initialize() { + + // Filepath + this.file = new File(SpigotPrison.getInstance().getDataFolder() + + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + + if( !file.exists() ) { + try { + File parentDir = file.getParentFile(); + parentDir.mkdirs(); + + file.createNewFile(); + } + catch (IOException e) { + e.printStackTrace(); + } + } + + conf = YamlConfiguration.loadConfiguration(file); + + // Everything's here (not anymore...) values(); - } - - private void dataConfig(String path, String string){ - - // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); - - // Check if the config exists - if(!file.exists()){ - try { - File parentDir = file.getParentFile(); - parentDir.mkdirs(); - - file.createNewFile(); - conf = YamlConfiguration.loadConfiguration(file); - conf.set(path, SpigotPrison.format(string)); - conf.save(file); - } catch (IOException e) { - e.printStackTrace(); - } - } else { - try { - boolean newValue = false; - int editedItems = 0; - conf = YamlConfiguration.loadConfiguration(file); - if (getFileGuiMessagesConfig().getString(path) == null){ - conf.set(path, SpigotPrison.format(string)); - editedItems++; - newValue = true; - } - if (newValue) { - conf.save(file); - System.out.println(Color.AQUA + "[Prison - " + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml]" + Color.GREEN + " Added " + editedItems + " new values to the GuiConfig.yml"); - } - } catch (IOException e2){ - e2.printStackTrace(); - } + if ( changeCount > 0 ) { + try { + conf.save(file); + + Output.get().logInfo( "&aThere were &b%d &anew values added for the language files " + + "used by the GuiConfig.yml file located at &b%s", + changeCount, file.getAbsoluteFile() ); + } + catch ( IOException e ) { + + Output.get().logInfo( "&4Failed to save &b%d &4new values for the language files " + + "used by the GuiConfig.yml file located at &b%s&4. " + + "&a %s", + changeCount, file.getAbsoluteFile(), e.getMessage() ); + + } } + } - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); + private void dataConfig(String key, String value){ + if (conf.getString(key) == null) { + conf.set(key, SpigotPrison.format(value)); + changeCount++; + } } private void values(){ From 3dacb03328af51ce68d8e79dcf1ec37d49d17ffa Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 05:10:17 -0400 Subject: [PATCH 087/243] Bump version to v3.2.2-alpha.6 update docs --- changelog_v3.2.x.md | 11 ++++++++++- gradle.properties | 2 +- knownissues_v3.2.x.md | 12 +++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 01ec8d184..390ba66f6 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,16 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.5 - 2020-10-18 +## tag v3.2.2-alpha.6 - 2020-10-19 + + +* **tag v3.2.2-alpha.6 - 2020-10-19** Bump the version due to significant changes. +It needs more testing prior to being released to the alpha channel. + + +* **Bug fix: prevent the config files for gui and it's messages from loading from the file every single time it is accessed.** +And they were accessed everywhere, and for one message, even three to four times just to generate one message. +This should improve performance significantly for the gui overall. * **Provide a way to get the counts of a given ModuleElementType.** diff --git a/gradle.properties b/gradle.properties index 17994975c..793d6873c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.5 +version=3.2.2-alpha.6 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index e91b7be07..74fb4aba8 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -10,8 +10,18 @@ issues, and/or to serve as items that should be added, or fixed. # To Do Items - During Beta v3.2.2 +* **ranks autoConfigure - Feature Ideas** +- Generate default blocks for all mines. +- Add perms for /mines tp +- + + +* **Commands - Enhancement** +Be able to select commands for edit and deletion, or even moving, with line numbers. + + * **EX with auto pickup** -For cetain blocks such as coal, diamonds, other... provide xp... +For certain blocks such as coal, diamonds, other... provide xp... * **Rename Mines** From fbdab6d166501aa6eedcc96ebb6978b77d1a0811 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:46:49 -0400 Subject: [PATCH 088/243] New feature: produce a warning when the first parameter of any prison command is not a CommandSender.** Parameters using Player has been causing stack traces under different circumstances because the prison command handler ALWAYS passes a CommandSender object as the first parameter, therefore that is the type it needs to be to prevent a method type mismatch exception. The new changes will provide a warning when starting prison; it should ideally be caught at compile time but it can't. --- changelog_v3.2.x.md | 5 +++++ .../prison/commands/CommandHandler.java | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 390ba66f6..de05e6016 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,11 @@ that you need. ## tag v3.2.2-alpha.6 - 2020-10-19 +* **New feature: produce a warning when the first parameter of any prison command is not a CommandSender.** +Parameters using Player has been causing stack traces under different circumstances because the prison command handler ALWAYS passes a CommandSender object as the first parameter, therefore that is the type it needs to be to prevent a method type mismatch exception. The new changes will provide a warning when starting prison; it should ideally be caught at compile time but it can't. + + + * **tag v3.2.2-alpha.6 - 2020-10-19** Bump the version due to significant changes. It needs more testing prior to being released to the alpha channel. diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index 7ccf43816..f8576f318 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -38,6 +38,7 @@ import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.World; import tech.mcprison.prison.output.LogLevel; +import tech.mcprison.prison.output.Output; import tech.mcprison.prison.util.BlockType; import tech.mcprison.prison.util.ChatColor; @@ -312,6 +313,25 @@ public void registerCommands(Object commands) { } } + // Validate that the first parameter, if it exists, is actually a CommandSender: + if ( method.getParameterCount() > 0 ) { + + // The first parameter "should" be CommandSender: + Class cmdSender = method.getParameterTypes()[0]; + + if ( !cmdSender.getSimpleName().equalsIgnoreCase( "CommandSender") ) { + Output.get().logWarn( + String.format( + "Possible issue has been detected with a prison command where " + + "the first parameter is not a CommandSender: " + + "class = [%s] method = [%s] first parameter type = [%s]" + , method.getDeclaringClass().getSimpleName(), method.getName(), + cmdSender.getSimpleName() + )); + } + + } + mainCommand.set(commands, method); } } From e07a9a0b7f4b68f526841132f0bdb08875f63b61 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:48:01 -0400 Subject: [PATCH 089/243] updates to issues... --- knownissues_v3.2.x.md | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index 74fb4aba8..77b2800aa 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -13,21 +13,18 @@ issues, and/or to serve as items that should be added, or fixed. * **ranks autoConfigure - Feature Ideas** - Generate default blocks for all mines. - Add perms for /mines tp -- +- option for using EssentialsX warps instead: essentials.warps. +- Perm names: mines.tp., mines. * **Commands - Enhancement** -Be able to select commands for edit and deletion, or even moving, with line numbers. +Be able to select rank and mine commands for edit and deletion, or even moving, with line numbers. * **EX with auto pickup** For certain blocks such as coal, diamonds, other... provide xp... -* **Rename Mines** -Been a few requests to be able to rename mines. Since so much can go wrong with manually changing the files, this should be a reasonable new feature added before beta. - - * **New Block Model - Implement in parallel** Implement and have a fully functional new block handling mechanism that operate in complete parallel to the old method. This way admins can turn it on when they want to use it, otherwise their server will continue to use the old code. @@ -47,18 +44,6 @@ Implement and have a fully functional new block handling mechanism that operate Blue should work on this. - - - - * **Problem with rank removal from Ladders** -Create a new rank to the default ladder. Add a player to it. Then remove the rank from the ladder. - -The ladder no longer contains the rank. But the player is still associated with the rank, but yet ranks cannot contain players if they are not on a ladder. The commands expect a valid ladder name. Also there does not appear to be any checks and balances when ranks are moved from one ladder to the other since ranks have no idea what ladder they are in. - -This could cause major corruption if moving ranks between ladders, removing ranks from a ladder, and players being associated with those ranks. - -Create a "void" ladder and prevent ladders from being named: default, void, and prestige. When a rank is removed from a ladder, place it in to none and update all players that use that rank so the rank is still valid. Do not include void ladders in placeholders. - * **Update config.yml when changes are detected** @@ -306,6 +291,22 @@ I think those few integrations could really provide a huge bootstrap to getting # Features recently added: + + +* **DONE: Rename Mines** +Been a few requests to be able to rename mines. Since so much can go wrong with manually changing the files, this should be a reasonable new feature added before beta. + + + + * **Fixed: Problem with rank removal from Ladders** + This was fixed a few weeks ago. Parts of the code was rewritten when implementing the new mine sortOrder code. The bugs were found and fixed at that time. There is not a new ladder, but the concept of "none" as a ladder exists virtually. During prison startup all ladders and ranks are displayed within the prison startup details and none is always listed there. +- Create a new rank to the default ladder. Add a player to it. Then remove the rank from the ladder. +- The ladder no longer contains the rank. But the player is still associated with the rank, but yet ranks cannot contain players if they are not on a ladder. The commands expect a valid ladder name. Also there does not appear to be any checks and balances when ranks are moved from one ladder to the other since ranks have no idea what ladder they are in. +- This could cause major corruption if moving ranks between ladders, removing ranks from a ladder, and players being associated with those ranks. +- Create a "void" ladder and prevent ladders from being named: default, void, and prestige. When a rank is removed from a ladder, place it in to none and update all players that use that rank so the rank is still valid. Do not include void ladders in placeholders. + + + * **Done: Prestige references** Add the prestige command to the /prison version page; rework the commands layout. From 2adc42bd0e26b101bdb6652af4d18b259acd0b4b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 16:34:03 -0400 Subject: [PATCH 090/243] New Feature: Allow the user to specify the material name in the GUI config files to use for a mine's block type. The material names are based upon XMaterial for consistancy throughout all versions of spigot/minecraft. The format is: Options.Mines.MaterialType. --- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index 17bd45966..ab1734f51 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -9,11 +9,15 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import com.cryptomorin.xseries.XMaterial; + import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; +import tech.mcprison.prison.output.Output; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.SpigotUtil; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -97,8 +101,31 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m, List must be + * based upon the XMaterial enumeration name, or supported past names. + */ + Material mineMaterial = null; + String materialTypeStr = guiConfig.getString("Options.Mines.MaterialType." + m.getName()); + if ( materialTypeStr != null && materialTypeStr.trim().length() > 0 ) { + XMaterial mineXMaterial = SpigotUtil.getXMaterial( materialTypeStr ); + if ( mineXMaterial != null ) { + mineMaterial = mineXMaterial.parseMaterial(); + } + else { + Output.get().logInfo( "Warning: A block was specified for mine %s but it was " + + "unable to be mapped to an XMaterial type. Key = " + + "[Options.Mines.MaterialType.%s] value = " + + "[%s] Please use valid material names as found in the XMaterial " + + "source on git hub: " + + "https://github.com/CryptoMorin/XSeries/blob/master/src/main/java/" + + "com/cryptomorin/xseries/XMaterial.java ", + m.getName(), m.getName(), mineXMaterial ); + } + } + if (p.hasPermission(permission + m.getName()) || p.hasPermission(permission.substring(0, permission.length() - 1))){ - material = Material.COAL_ORE; + material = ( mineMaterial == null ? Material.COAL_ORE : mineMaterial); minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.StatusUnlockedMine"))); minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ClickToTeleport"))); } else { From b89660574695f2d9fa03aa2212fd7057429b1c0e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 16:35:38 -0400 Subject: [PATCH 091/243] Add a second perm to allow mines.tp. to be added to each rank that is auto generated. will provide support soon for EssentialsX warp... --- .../prison/ranks/commands/RanksCommands.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 0971beb33..d1e9cb021 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -234,22 +234,23 @@ public void autoConfigureRanks(CommandSender sender, // String permCmd = null; - String perm = "prison.rank."; + String perm1 = "mines."; + String perm2 = "mines.tp."; if ( plugins.containsKey("LuckPerms") ){ - permCmd = "lp user {player} permission set " + perm; + permCmd = "lp user {player} permission set "; } else if ( plugins.containsKey("PermissionsEx") ){ - permCmd = "pex user {player} add " + perm; + permCmd = "pex user {player} add "; } else if ( plugins.containsKey("UltraPermissions") ){ - permCmd = "upc addplayerpermission {player} " + perm; + permCmd = "upc addplayerpermission {player} "; } else if ( plugins.containsKey("zPermissions") ){ - permCmd = "permissions player {player} set " + perm; + permCmd = "permissions player {player} set "; } else if ( plugins.containsKey("PowerfulPerms") ){ - permCmd = "pp user {player} add " + perm; + permCmd = "pp user {player} add "; } @@ -273,7 +274,9 @@ else if ( plugins.containsKey("PowerfulPerms") ){ countRanks++; if ( permCmd != null ) { - getRankCommandCommands().commandAdd( sender, rankName, permCmd + rankName); + getRankCommandCommands().commandAdd( sender, rankName, permCmd + perm1 + rankName); + countRankCmds++; + getRankCommandCommands().commandAdd( sender, rankName, permCmd + perm2 + rankName); countRankCmds++; } @@ -314,10 +317,11 @@ else if ( plugins.containsKey("PowerfulPerms") ){ } else { Output.get().logInfo( "Ranks autoConfigure: %d rank commands were created.", countRanks); - Output.get().logInfo( "Ranks autoConfigure: The permission %s was " + + Output.get().logInfo( "Ranks autoConfigure: The permission %s and " + + "%s was " + "created for each rank. Make sure you add every permission to your " + "permission plugin or they may not work. ", - perm); + perm1, perm2 ); } } From 8235946ab8f507269470271839241f8935c42dd2 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 16:55:32 -0400 Subject: [PATCH 092/243] Fix issue with mine name that is related to virtual mines if not creating a virtual mine. --- .../java/tech/mcprison/prison/mines/commands/MinesCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 7236088b7..c3ab10b5c 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -98,7 +98,7 @@ public void createCommand(CommandSender sender, // Combine virtualMine to the beginning of the mineName if it exists. It was not // intended to be the virtualMine parameter. Yes, adding a space will be an error, but // they added it any way. - mineName = virtualMine + (mineName == null ? "" : " " + mineName.trim() ); + mineName = virtualMine + (mineName == null ? "" : " " + mineName.trim() ).trim(); } } From c3f3c4be799b975e8fdb1d07d3a77a3c6b1cd9c7 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 19 Oct 2020 17:08:15 -0400 Subject: [PATCH 093/243] update docs --- changelog_v3.2.x.md | 17 +++++++++++++++++ knownissues_v3.2.x.md | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index de05e6016..9f06ecd32 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,23 @@ that you need. ## tag v3.2.2-alpha.6 - 2020-10-19 +* **tag v3.2.2-alpha.6a - 2020-10-19** + +* **Fix issue with mine name** +that is related to virtual mines if not creating a virtual mine. An extra space was added to the end of the mine name which was triggering an error message about spaces in mine names. + + +* **Add a second perm to allow mines.tp.** +to be added to each rank that is auto generated. +will provide support soon for EssentialsX warp... + + +* **New Feature: Allow the user to specify the material name in the GUI config files to use for a mine's block type.** +The material names are based upon XMaterial for consistancy throughout all versions of spigot/minecraft. +The format is: Options.Mines.MaterialType. + + + * **New feature: produce a warning when the first parameter of any prison command is not a CommandSender.** Parameters using Player has been causing stack traces under different circumstances because the prison command handler ALWAYS passes a CommandSender object as the first parameter, therefore that is the type it needs to be to prevent a method type mismatch exception. The new changes will provide a warning when starting prison; it should ideally be caught at compile time but it can't. diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index 77b2800aa..bb5765496 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -10,6 +10,12 @@ issues, and/or to serve as items that should be added, or fixed. # To Do Items - During Beta v3.2.2 +* **Add numeric abbreviations on rank costs** + K, M, B, T, Q, etc... + New placeholder? Formatted? + https://en.wikipedia.org/wiki/Metric_prefix Use Prefix Symbol column. + + * **ranks autoConfigure - Feature Ideas** - Generate default blocks for all mines. - Add perms for /mines tp From a0de7f089c7f51700e8cfac47ba7e4da31a2cfca Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 01:50:02 -0400 Subject: [PATCH 094/243] New Feature: Added 12 new placeholders including aliases. Added formatted placeholders for player's costs. Added a new placeholder for player balance. Created a PlaceholdersUtil class to perform some common functions, such as formatting an amount to include a metric prefix. --- .../integration/IntegrationManager.java | 18 ++++ .../prison/util/PlaceholdersUtil.java | 81 ++++++++++++++++++ .../prison/util/PlaceholdersUtilTest.java | 58 +++++++++++++ .../prison/mines/managers/MineManager.java | 44 +--------- .../prison/ranks/managers/PlayerManager.java | 82 +++++++++++++++++-- 5 files changed, 236 insertions(+), 47 deletions(-) create mode 100644 prison-core/src/main/java/tech/mcprison/prison/util/PlaceholdersUtil.java create mode 100644 prison-core/src/test/java/tech/mcprison/prison/util/PlaceholdersUtilTest.java diff --git a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java index 479aaec33..bfef8cbe0 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java @@ -96,9 +96,11 @@ public enum PrisonPlaceHolders { prison_r(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rt(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rc(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), + prison_rcf(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rcp(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rcb(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rcr(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), + prison_rcrf(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rr(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), prison_rrt(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), @@ -106,9 +108,11 @@ public enum PrisonPlaceHolders { prison_rank(prison_r, PlaceHolderFlags.PLAYER), prison_rank_tag(prison_rt, PlaceHolderFlags.PLAYER), prison_rankup_cost(prison_rc, PlaceHolderFlags.PLAYER), + prison_rankup_cost_formatted(prison_rcf, PlaceHolderFlags.PLAYER), prison_rankup_cost_percent(prison_rcp, PlaceHolderFlags.PLAYER), prison_rankup_cost_bar(prison_rcb, PlaceHolderFlags.PLAYER), prison_rankup_cost_remaining(prison_rcr, PlaceHolderFlags.PLAYER), + prison_rankup_cost_remaining_formatted(prison_rcrf, PlaceHolderFlags.PLAYER), prison_rankup_rank(prison_rr, PlaceHolderFlags.PLAYER), prison_rankup_rank_tag(prison_rrt, PlaceHolderFlags.PLAYER), @@ -117,9 +121,11 @@ public enum PrisonPlaceHolders { prison_r_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rt_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rc_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), + prison_rcf_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rcp_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rcb_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rcr_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), + prison_rcrf_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rr_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), prison_rrt_laddername(PlaceHolderFlags.LADDERS, PlaceHolderFlags.ALIAS), @@ -127,11 +133,23 @@ public enum PrisonPlaceHolders { prison_rank_laddername(prison_r_laddername, PlaceHolderFlags.LADDERS), prison_rank_tag_laddername(prison_rt_laddername, PlaceHolderFlags.LADDERS), prison_rankup_cost_laddername(prison_rc_laddername, PlaceHolderFlags.LADDERS), + prison_rankup_cost_formatted_laddername(prison_rcf_laddername, PlaceHolderFlags.LADDERS), prison_rankup_cost_percent_laddername(prison_rcp_laddername, PlaceHolderFlags.LADDERS), prison_rankup_cost_bar_laddername(prison_rcb_laddername, PlaceHolderFlags.LADDERS), prison_rankup_cost_remaining_laddername(prison_rcr_laddername, PlaceHolderFlags.LADDERS), + prison_rankup_cost_remaining_formatted_laddername(prison_rcrf_laddername, PlaceHolderFlags.LADDERS), prison_rankup_rank_laddername(prison_rr_laddername, PlaceHolderFlags.LADDERS), prison_rankup_rank_tag_laddername(prison_rrt_laddername, PlaceHolderFlags.LADDERS), + + + + // player + prison_pb(PlaceHolderFlags.PLAYER, PlaceHolderFlags.ALIAS), + prison_player_balance(prison_pb, PlaceHolderFlags.PLAYER), + + prison_pb_laddername(prison_pb, PlaceHolderFlags.LADDERS), + prison_player_balance_laddername(prison_pb_laddername, PlaceHolderFlags.LADDERS), + // Mine aliases: diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/PlaceholdersUtil.java b/prison-core/src/main/java/tech/mcprison/prison/util/PlaceholdersUtil.java new file mode 100644 index 000000000..bdf7df8d7 --- /dev/null +++ b/prison-core/src/main/java/tech/mcprison/prison/util/PlaceholdersUtil.java @@ -0,0 +1,81 @@ +package tech.mcprison.prison.util; + +import java.text.DecimalFormat; + +public class PlaceholdersUtil { + + public static final double TIME_SECOND = 1.0; + public static final double TIME_MINUTE = TIME_SECOND * 60.0; + public static final double TIME_HOUR = TIME_MINUTE * 60.0; + public static final double TIME_DAY = TIME_HOUR * 24.0; + + + public static String formattedTime( double time ) { + StringBuilder sb = new StringBuilder(); + + long days = (long)(time / TIME_DAY); + time -= (days * TIME_DAY); + if ( days > 0 ) { + sb.append( days ); + sb.append( "d " ); + } + + long hours = (long)(time / TIME_HOUR); + time -= (hours * TIME_HOUR); + if ( sb.length() > 0 || hours > 0 ) { + sb.append( hours ); + sb.append( "h " ); + } + + long mins = (long)(time / TIME_MINUTE); + time -= (mins * TIME_MINUTE); + if ( sb.length() > 0 || mins > 0 ) { + sb.append( mins ); + sb.append( "m " ); + } + + double secs = (double)(time / TIME_SECOND); + time -= (secs * TIME_SECOND); + DecimalFormat dFmt = new DecimalFormat("#0"); + sb.append( dFmt.format( secs )); + sb.append( "s " ); + + return sb.toString(); + } + + /** + * This is a simple a simple way to reduce down large numbers and apply a single digit + * suffix based upon metric prefixes. + * + * "", k, M, G, T, P, E, Z, Y + * + * Using: https://en.wikipedia.org/wiki/Metric_prefix + * + * @param amount + * @return + */ + public static String formattedSize( double amount ) { + StringBuilder unit = new StringBuilder(); + + DecimalFormat dFmt = new DecimalFormat("#,##0.00"); + + amount = divBy1000( amount, unit, " kMGTPEZY" ); + + String results = dFmt.format( amount ) + " " + unit.toString(); + + return results.trim(); + } + + private static double divBy1000( double amount, StringBuilder unit, String units ) { + if ( amount <= 1000.0 || units.length() == 1 ) { + unit.append( units.subSequence( 0, 1 ) ); + } + else { + // Div amount by 1000.0 and remove the first character of the units: + amount /= 1000.0; + units = units.substring( 1 ); + amount = divBy1000( amount, unit, units ); + } + return amount; + } +} diff --git a/prison-core/src/test/java/tech/mcprison/prison/util/PlaceholdersUtilTest.java b/prison-core/src/test/java/tech/mcprison/prison/util/PlaceholdersUtilTest.java new file mode 100644 index 000000000..44f2053d4 --- /dev/null +++ b/prison-core/src/test/java/tech/mcprison/prison/util/PlaceholdersUtilTest.java @@ -0,0 +1,58 @@ +package tech.mcprison.prison.util; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class PlaceholdersUtilTest + extends + PlaceholdersUtil +{ + + @Test + public void test() + { + + assertEquals( "0.00", formattedSize(0) ); + assertEquals( "1.00", formattedSize(1) ); + assertEquals( "123.00", formattedSize(123) ); + + assertEquals( "1.23 k", formattedSize(1234) ); + assertEquals( "12.35 k", formattedSize(12345) ); + assertEquals( "123.46 k", formattedSize(123456) ); + + assertEquals( "1.23 M", formattedSize(1234567) ); + assertEquals( "12.35 M", formattedSize(12345678) ); + assertEquals( "123.46 M", formattedSize(123456789) ); + + assertEquals( "1.23 G", formattedSize(1234567890.0d) ); + assertEquals( "12.35 G", formattedSize(12345678901.0d) ); + assertEquals( "123.46 G", formattedSize(123456789012.0d) ); + + assertEquals( "1.23 T", formattedSize(1234567890123.0d) ); + assertEquals( "12.35 T", formattedSize(12345678901234.0d) ); + assertEquals( "123.46 T", formattedSize(123456789012345.0d) ); + + assertEquals( "1.23 P", formattedSize(1234567890123456.0d) ); + assertEquals( "12.35 P", formattedSize(12345678901234567.0d) ); + assertEquals( "123.46 P", formattedSize(123456789012345678.0d) ); + + assertEquals( "1.23 E", formattedSize(1234567890123456789.0d) ); + assertEquals( "12.35 E", formattedSize(12345678901234567890.0d) ); + assertEquals( "123.46 E", formattedSize(123456789012345678901.0d) ); + + assertEquals( "1.23 Z", formattedSize(1234567890123456789012.0d) ); + assertEquals( "12.35 Z", formattedSize(12345678901234567890123.0d) ); + assertEquals( "123.46 Z", formattedSize(123456789012345678901234.0d) ); + + assertEquals( "1.23 Y", formattedSize(1234567890123456789012345.0d) ); + assertEquals( "12.35 Y", formattedSize(12345678901234567890123456.0d) ); + assertEquals( "123.46 Y", formattedSize(123456789012345678901234567.0d) ); + + assertEquals( "1,234.57 Y", formattedSize(1234567890123456789012345678.0d) ); + assertEquals( "12,345.68 Y", formattedSize(12345678901234567890123456789.0d) ); + assertEquals( "123,456.79 Y", formattedSize(123456789012345678901234567890.0d) ); + + } + +} diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java index 4e8fff8ca..faa6b6bba 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/managers/MineManager.java @@ -39,6 +39,7 @@ import tech.mcprison.prison.output.Output; import tech.mcprison.prison.store.Collection; import tech.mcprison.prison.store.Document; +import tech.mcprison.prison.util.PlaceholdersUtil; /** * Manages the creation, removal, and management of mines. @@ -48,12 +49,6 @@ public class MineManager implements ManagerPlaceholders { - public static final double TIME_SECOND = 1.0; - public static final double TIME_MINUTE = TIME_SECOND * 60.0; - public static final double TIME_HOUR = TIME_MINUTE * 60.0; - public static final double TIME_DAY = TIME_HOUR * 24.0; - - // Base list private List mines; private TreeMap minesByName; @@ -608,7 +603,7 @@ private String getTranslateMinesPlaceHolder( PlaceHolderKey placeHolderKey, Mine case prison_mif_pm: case prison_mines_interval_formatted_playermines: double timeMif = mine.getResetTime(); - results = formattedTime( timeMif ); + results = PlaceholdersUtil.formattedTime( timeMif ); break; case prison_mtl_minename: @@ -634,7 +629,7 @@ private String getTranslateMinesPlaceHolder( PlaceHolderKey placeHolderKey, Mine case prison_mines_timeleft_formatted_playermines: // NOTE: timeleft can vary based upon server loads: double timeMtlf = mine.getRemainingTimeSec(); - results = formattedTime( timeMtlf ); + results = PlaceholdersUtil.formattedTime( timeMtlf ); break; case prison_ms_minename: @@ -797,38 +792,7 @@ private String getRemainingTimeBar( Mine mine ) { } - private String formattedTime( double time ) { - StringBuilder sb = new StringBuilder(); - - long days = (long)(time / TIME_DAY); - time -= (days * TIME_DAY); - if ( days > 0 ) { - sb.append( days ); - sb.append( "d " ); - } - - long hours = (long)(time / TIME_HOUR); - time -= (hours * TIME_HOUR); - if ( sb.length() > 0 || hours > 0 ) { - sb.append( hours ); - sb.append( "h " ); - } - - long mins = (long)(time / TIME_MINUTE); - time -= (mins * TIME_MINUTE); - if ( sb.length() > 0 || mins > 0 ) { - sb.append( mins ); - sb.append( "m " ); - } - - double secs = (double)(time / TIME_SECOND); - time -= (secs * TIME_SECOND); - DecimalFormat dFmt = new DecimalFormat("#0"); - sb.append( dFmt.format( secs )); - sb.append( "s " ); - - return sb.toString(); - } + /** diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java index c7083010b..73568c915 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java @@ -50,6 +50,7 @@ import tech.mcprison.prison.ranks.events.FirstJoinEvent; import tech.mcprison.prison.store.Collection; import tech.mcprison.prison.store.Document; +import tech.mcprison.prison.util.PlaceholdersUtil; /** * Manages all the players in the records. @@ -296,7 +297,7 @@ public List getPlayerNextRanks( RankPlayer rankPlayer ) { return results; } - public String getPlayerNextRankCost( RankPlayer rankPlayer, String ladderName ) { + public String getPlayerNextRankCost( RankPlayer rankPlayer, String ladderName, boolean formatted ) { StringBuilder sb = new StringBuilder(); if ( !rankPlayer.getRanks().isEmpty()) { @@ -312,7 +313,12 @@ public String getPlayerNextRankCost( RankPlayer rankPlayer, String ladderName ) } double cost = key.getNext(key.getPositionOfRank(entry.getValue())).get().cost; - sb.append( dFmt.format( cost )); + if ( formatted ) { + sb.append( dFmt.format( PlaceholdersUtil.formattedSize( cost ))); + } + else { + sb.append( dFmt.format( cost )); + } } } } @@ -320,7 +326,7 @@ public String getPlayerNextRankCost( RankPlayer rankPlayer, String ladderName ) return sb.toString(); } - + public String getPlayerNextRankCostPercent( RankPlayer rankPlayer, String ladderName ) { StringBuilder sb = new StringBuilder(); @@ -399,7 +405,7 @@ public String getPlayerNextRankCostBar( RankPlayer rankPlayer, String ladderName return sb.toString(); } - public String getPlayerNextRankCostRemaining( RankPlayer rankPlayer, String ladderName ) { + public String getPlayerNextRankCostRemaining( RankPlayer rankPlayer, String ladderName, boolean formatted ) { StringBuilder sb = new StringBuilder(); Player prisonPlayer = PrisonAPI.getPlayer(rankPlayer.uid).orElse(null); @@ -431,7 +437,12 @@ public String getPlayerNextRankCostRemaining( RankPlayer rankPlayer, String ladd remaining = 0; } - sb.append( dFmt.format( remaining )); + if ( formatted ) { + sb.append( dFmt.format( PlaceholdersUtil.formattedSize( remaining ))); + } + else { + sb.append( dFmt.format( remaining )); + } } } } @@ -440,6 +451,45 @@ public String getPlayerNextRankCostRemaining( RankPlayer rankPlayer, String ladd return sb.toString(); } + private String getPlayerBalance( RankPlayer rankPlayer, String ladderName, boolean formatted ) { + StringBuilder sb = new StringBuilder(); + + Player prisonPlayer = PrisonAPI.getPlayer(rankPlayer.uid).orElse(null); + if( prisonPlayer == null ) { + Output.get().logError( String.format( "getPlayerBalance: " + + "Could not load player: %s", rankPlayer.uid) ); + return "0"; + } + + if ( !rankPlayer.getRanks().isEmpty()) { + DecimalFormat dFmt = new DecimalFormat("#,##0.00"); + for (Map.Entry entry : rankPlayer.getRanks().entrySet()) { + RankLadder key = entry.getKey(); + if ( ladderName == null || + ladderName != null && key.name.equalsIgnoreCase( ladderName )) { + + if(key.getNext(key.getPositionOfRank(entry.getValue())).isPresent()) { + if ( sb.length() > 0 ) { + sb.append(", "); + } + + Rank rank = key.getNext(key.getPositionOfRank(entry.getValue())).get(); + double balance = getPlayerBalance(prisonPlayer,rank); + + if ( formatted ) { + sb.append( dFmt.format( PlaceholdersUtil.formattedSize( balance ))); + } + else { + sb.append( dFmt.format( balance )); + } + } + } + } + } + + return sb.toString(); + } + private double getPlayerBalance(Player player, Rank rank) { double playerBalance = 0; @@ -570,7 +620,14 @@ public String getTranslatePlayerPlaceHolder( UUID playerUuid, String playerName, case prison_rankup_cost: case prison_rc_laddername: case prison_rankup_cost_laddername: - results = getPlayerNextRankCost( rankPlayer, ladderName ); + results = getPlayerNextRankCost( rankPlayer, ladderName, false ); + break; + + case prison_rcf: + case prison_rankup_cost_formatted: + case prison_rcf_laddername: + case prison_rankup_cost_formatted_laddername: + results = getPlayerNextRankCost( rankPlayer, ladderName, true ); break; case prison_rcp: @@ -591,7 +648,14 @@ public String getTranslatePlayerPlaceHolder( UUID playerUuid, String playerName, case prison_rankup_cost_remaining: case prison_rcr_laddername: case prison_rankup_cost_remaining_laddername: - results = getPlayerNextRankCostRemaining( rankPlayer, ladderName ); + results = getPlayerNextRankCostRemaining( rankPlayer, ladderName, false ); + break; + + case prison_rcrf: + case prison_rankup_cost_remaining_formatted: + case prison_rcrf_laddername: + case prison_rankup_cost_remaining_formatted_laddername: + results = getPlayerNextRankCostRemaining( rankPlayer, ladderName, true ); break; case prison_rr: @@ -608,6 +672,10 @@ public String getTranslatePlayerPlaceHolder( UUID playerUuid, String playerName, results = getPlayerNextRankTag( rankPlayer, ladderName ); break; + case prison_pb: + case prison_player_balance: + results = getPlayerBalance( rankPlayer, ladderName, false ); + default: break; } From be51c5947405c2e821b59a9118aad10d192ad90f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 14:09:34 -0400 Subject: [PATCH 095/243] Error logging needs to throw these stack traces since thats really the only way to get the details we need to fix the problem. A throw was eliminated, but needs to be added back. --- .../tech/mcprison/prison/commands/RegisteredCommand.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index 214f520f0..bf04113dd 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -176,8 +176,10 @@ private void executeMethod(CommandSender sender, String[] args) { "command arguments: " + sb.toString() ; Output.get().sendError( sender, message ); - -// throw e; + + // Generally these errors are major and require program fixes, so throw + // the exception so the stacklist is logged. + throw e; } } } catch (Exception e) { From 1214f85252fa7105b5074d612e9f39fe4180f1e8 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 14:11:51 -0400 Subject: [PATCH 096/243] Added some internal reporting of the data contents. Most of this will be used with logging in the /ranks autoConfigure and also jUnit testing. --- .../prison/internal/block/PrisonBlock.java | 5 ++++ .../mcprison/prison/mines/data/Block.java | 13 ++++++++ .../tech/mcprison/prison/mines/data/Mine.java | 30 +++++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java index c3e6cda54..0f6460949 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java @@ -27,6 +27,11 @@ public PrisonBlock( String blockName, double chance ) { this.chance = chance; } + @Override + public String toString() { + return getBlockName() + " " + Double.toString( getChance() ); + } + public String getBlockName() { return blockName; } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Block.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Block.java index 729bd53c0..f8de3ada3 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Block.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Block.java @@ -42,6 +42,19 @@ public Block(BlockType block, double chance) { this.chance = chance; } + public Block(String blockType, double chance ) { + this.chance = chance; + + BlockType block = BlockType.fromString( blockType ); + this.type = block; + + } + + @Override + public String toString() { + return getType().name() + " " + Double.toString( getChance() ); + } + public BlockType getType() { return type; diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index 1a8e497ce..e985c0a1d 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -531,4 +531,34 @@ public int hashCode() { return getName().hashCode(); } + + public String getBlockListString() + { + StringBuilder sb = new StringBuilder(); + + if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { + for ( PrisonBlock block : getPrisonBlocks()) { + if ( sb.length() > 0 ) { + sb.append( ", " ); + } + sb.append( block.toString() ); + } + } + else { + for ( Block block : getBlocks() ) { + if ( sb.length() > 0 ) { + sb.append( ", " ); + } + sb.append( block.toString() ); + } + } + + sb.insert( 0, ": [" ); + sb.append( "]" ); + sb.insert( 0, getName() ); + sb.insert( 0, "Mine " ); + + return sb.toString(); + } + } From 868214594584eca70de064d028660bcfdbe26ba4 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 14:13:53 -0400 Subject: [PATCH 097/243] Added in two missing player balance placeholder enablers for ladder specfics. --- .../java/tech/mcprison/prison/ranks/managers/PlayerManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java index 73568c915..f0fca0e88 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java @@ -674,6 +674,8 @@ public String getTranslatePlayerPlaceHolder( UUID playerUuid, String playerName, case prison_pb: case prison_player_balance: + case prison_pb_laddername: + case prison_player_balance_laddername: results = getPlayerBalance( rankPlayer, ladderName, false ); default: From 2ae757ef2c9b86a8928bd82ecef79ae57cc36987 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 14:16:38 -0400 Subject: [PATCH 098/243] Added a few new blocks to prison's old block model. These are actually duplicates of what already exists, but these are instead named to mirror XMaterial names. The reason for this is to ensure consistency between the two block models used for testing. Removed the items.csv document since it is not being used anymore and will only cause confusion if admins think they can add new blocks through that file. --- .../tech/mcprison/prison/util/BlockType.java | 26 +- prison-core/src/main/resources/items.csv | 8501 ----------------- 2 files changed, 22 insertions(+), 8505 deletions(-) delete mode 100644 prison-core/src/main/resources/items.csv diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index b59fa6d06..e2192b9b5 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -151,8 +151,12 @@ public enum BlockType { WET_SPONGE( 19, "minecraft:sponge", 1, MaterialType.BLOCK ), GLASS( 20, "minecraft:glass", 0, MaterialType.BLOCK ), - LAPIS_LAZULI_ORE( 21, "minecraft:lapis_ore", 0, MaterialType.BLOCK ), - LAPIS_LAZULI_BLOCK( 22, "minecraft:lapis_block", 0, MaterialType.BLOCK ), + + LAPIS_ORE( 21, "minecraft:lapis_ore", 0, MaterialType.BLOCK, "LAPIS_LAZULI_ORE" ), + LAPIS_LAZULI_ORE( 21, "minecraft:lapis_ore", 0, MaterialType.BLOCK ), // obsolete... + + LAPIS_BLOCK( 22, "minecraft:lapis_block", 0, MaterialType.BLOCK, "LAPIS_LAZULI_BLOCK" ), + LAPIS_LAZULI_BLOCK( 22, "minecraft:lapis_block", 0, MaterialType.BLOCK ), // obsolete... DISPENSER( 23, "minecraft:dispenser", 0, MaterialType.BLOCK ), SANDSTONE( 24, "minecraft:sandstone", 0, MaterialType.BLOCK ), @@ -214,7 +218,9 @@ public enum BlockType { BRICKS( 45, "minecraft:brick_block", 0, MaterialType.BLOCK ), TNT( 46, "minecraft:tnt", 0, MaterialType.BLOCK ), BOOKSHELF( 47, "minecraft:bookshelf", 0, MaterialType.BLOCK ), - MOSS_STONE( 48, "minecraft:mossy_cobblestone", 0, MaterialType.BLOCK, "MOSSY_COBBLESTONE" ), + + MOSSY_COBBLESTONE( 48, "minecraft:mossy_cobblestone", 0, MaterialType.BLOCK, "MOSSY_COBBLESTONE" ), + MOSS_STONE( 48, "minecraft:mossy_cobblestone", 0, MaterialType.BLOCK, "MOSSY_COBBLESTONE", "MOSS_STONE" ), OBSIDIAN( 49, "minecraft:obsidian", 0, MaterialType.BLOCK ), TORCH( 50, "minecraft:torch", 0, MaterialType.BLOCK ), @@ -447,7 +453,10 @@ public enum BlockType { RED_CARPET( 171, "minecraft:carpet", 14, MaterialType.BLOCK ), BLACK_CARPET( 171, "minecraft:carpet", 15, MaterialType.BLOCK ), HARDENED_CLAY( 172, "minecraft:hardened_clay", 0, MaterialType.BLOCK, "TERRACOTTA", "HARD_CLAY" ), - BLOCK_OF_COAL( 173, "minecraft:coal_block", 0, MaterialType.BLOCK ), + + COAL_BLOCK( 173, "minecraft:coal_block", 0, MaterialType.BLOCK, "BLOCK_OF_COAL" ), + BLOCK_OF_COAL( 173, "minecraft:coal_block", 0, MaterialType.BLOCK ), // obsolete... + PACKED_ICE( 174, "minecraft:packed_ice", 0, MaterialType.BLOCK ), SUNFLOWER( 175, "minecraft:double_plant", 0, MaterialType.BLOCK ), LILAC( 175, "minecraft:double_plant", 1, MaterialType.BLOCK ), @@ -1116,6 +1125,15 @@ public static BlockType getBlock(int legacyId, short data) { return null; } + /** + * This is just an alias for getBlock() which checks for matches in + * many robust ways with numerous fall backs to ensure the best matching. + * @param key + * @return + */ + public static BlockType fromString( String key ) { + return getBlock( key ); + } /** *

Must search first on block name since the block id has potential for duplicates which * will corrupt the block list for the mine. If at all possible, only search by the block name. diff --git a/prison-core/src/main/resources/items.csv b/prison-core/src/main/resources/items.csv deleted file mode 100644 index 21f566374..000000000 --- a/prison-core/src/main/resources/items.csv +++ /dev/null @@ -1,8501 +0,0 @@ -stone,1,0 -sstone,1,0 -smoothstone,1,0 -rock,1,0 -granite,1,1 -gstone,1,1 -polishedgranite,1,2 -pgranite,1,2 -pgstone,1,2 -polishedgstone,1,2 -diorite,1,3 -dstone,1,3 -polisheddiorite,1,4 -pdiorite,1,4 -pdstone,1,4 -polisheddstone,1,4 -andesite,1,5 -astone,1,5 -polishedandesite,1,6 -pandesite,1,6 -pastone,1,6 -grass,2,0 -greendirt,2,0 -greenearth,2,0 -greenland,2,0 -dirt,3,0 -earth,3,0 -land,3,0 -cdirt,3,1 -grasslessdirt,3,1 -grasslessearth,3,1 -grasslessland,3,1 -coarsedirt,3,1 -coarseland,3,1 -coarseearth,3,1 -podzol,3,2 -cobblestone,4,0 -cstone,4,0 -cobble,4,0 -wood,5,0 -plank,5,0 -woodenplank,5,0 -woodplank,5,0 -wplank,5,0 -plankwooden,5,0 -plankwood,5,0 -plankw,5,0 -oakplank,5,0 -oakwoodenplank,5,0 -oakwoodplank,5,0 -oakwplank,5,0 -oakplankwooden,5,0 -oakplankwood,5,0 -oakplankw,5,0 -oplank,5,0 -owoodenplank,5,0 -owoodplank,5,0 -owplank,5,0 -oplankwooden,5,0 -oplankwood,5,0 -oplankw,5,0 -pineplank,5,1 -pinewoodenplank,5,1 -pinewoodplank,5,1 -pinewplank,5,1 -pineplankwooden,5,1 -pineplankwood,5,1 -pineplankw,5,1 -pplank,5,1 -pwoodenplank,5,1 -pwoodplank,5,1 -pwplank,5,1 -pplankwooden,5,1 -pplankwood,5,1 -pplankw,5,1 -darkplank,5,1 -darkwoodenplank,5,1 -darkwoodplank,5,1 -darkwplank,5,1 -darkplankwooden,5,1 -darkplankwood,5,1 -darkplankw,5,1 -dplank,5,1 -dwoodenplank,5,1 -dwoodplank,5,1 -dwplank,5,1 -dplankwooden,5,1 -dplankwood,5,1 -dplankw,5,1 -spruceplank,5,1 -sprucewoodenplank,5,1 -sprucewoodplank,5,1 -sprucewplank,5,1 -spruceplankwooden,5,1 -spruceplankwood,5,1 -spruceplankw,5,1 -splank,5,1 -swoodenplank,5,1 -swoodplank,5,1 -swplank,5,1 -splankwooden,5,1 -splankwood,5,1 -splankw,5,1 -birchplank,5,2 -birchwoodenplank,5,2 -birchwoodplank,5,2 -birchwplank,5,2 -birchplankwooden,5,2 -birchplankwood,5,2 -birchplankw,5,2 -bplank,5,2 -bwoodenplank,5,2 -bwoodplank,5,2 -bwplank,5,2 -bplankwooden,5,2 -bplankwood,5,2 -bplankw,5,2 -lightplank,5,2 -lightwoodenplank,5,2 -lightwoodplank,5,2 -lightwplank,5,2 -lightplankwooden,5,2 -lightplankwood,5,2 -lightplankw,5,2 -lplank,5,2 -lwoodenplank,5,2 -lwoodplank,5,2 -lwplank,5,2 -lplankwooden,5,2 -lplankwood,5,2 -lplankw,5,2 -whiteplank,5,2 -whitewoodenplank,5,2 -whitewoodplank,5,2 -whitewplank,5,2 -whiteplankwooden,5,2 -whiteplankwood,5,2 -whiteplankw,5,2 -wwoodenplank,5,2 -wwoodplank,5,2 -wwplank,5,2 -wplankwooden,5,2 -wplankwood,5,2 -wplankw,5,2 -jungleplank,5,3 -junglewoodenplank,5,3 -junglewoodplank,5,3 -junglewplank,5,3 -jungleplankwooden,5,3 -jungleplankwood,5,3 -jungleplankw,5,3 -jplank,5,3 -jwoodenplank,5,3 -jwoodplank,5,3 -jwplank,5,3 -jplankwooden,5,3 -jplankwood,5,3 -jplankw,5,3 -forestplank,5,3 -forestwoodenplank,5,3 -forestwoodplank,5,3 -forestwplank,5,3 -forestplankwooden,5,3 -forestplankwood,5,3 -forestplankw,5,3 -fplank,5,3 -fwoodenplank,5,3 -fwoodplank,5,3 -fwplank,5,3 -fplankwooden,5,3 -fplankwood,5,3 -fplankw,5,3 -acaciaplank,5,4 -acaciawoodenplank,5,4 -acaciawoodplank,5,4 -acaciawplank,5,4 -acaciaplankwooden,5,4 -acaciaplankwood,5,4 -acaciaplankw,5,4 -aplank,5,4 -awoodenplank,5,4 -awoodplank,5,4 -awplank,5,4 -aplankwooden,5,4 -aplankwood,5,4 -aplankw,5,4 -darkoakplank,5,5 -darkoakwoodenplank,5,5 -darkoakwoodplank,5,5 -darkoakwplank,5,5 -darkoakplankwooden,5,5 -darkoakplankwood,5,5 -darkoakplankw,5,5 -doakplank,5,5 -doakwoodenplank,5,5 -doakwoodplank,5,5 -doakwplank,5,5 -doakplankwooden,5,5 -doakplankwood,5,5 -doakplankw,5,5 -doplank,5,5 -dowoodenplank,5,5 -dowoodplank,5,5 -dowplank,5,5 -doplankwooden,5,5 -doplankwood,5,5 -doplankw,5,5 -sapling,6,0 -treesapling,6,0 -logsapling,6,0 -trunksapling,6,0 -woodsapling,6,0 -oaktreesapling,6,0 -oaklogsapling,6,0 -oaktrunksapling,6,0 -oakwoodsapling,6,0 -osapling,6,0 -otreesapling,6,0 -ologsapling,6,0 -otrunksapling,6,0 -owoodsapling,6,0 -darksapling,6,1 -darktreesapling,6,1 -darklogsapling,6,1 -darktrunksapling,6,1 -darkwoodsapling,6,1 -sprucesapling,6,1 -sprucetreesapling,6,1 -sprucelogsapling,6,1 -sprucetrunksapling,6,1 -sprucewoodsapling,6,1 -pinesapling,6,1 -pinetreesapling,6,1 -pinelogsapling,6,1 -pinetrunksapling,6,1 -pinewoodsapling,6,1 -dsapling,6,1 -dtreesapling,6,1 -dlogsapling,6,1 -dtrunksapling,6,1 -dwoodsapling,6,1 -ssapling,6,1 -streesapling,6,1 -slogsapling,6,1 -strunksapling,6,1 -swoodsapling,6,1 -psapling,6,1 -ptreesapling,6,1 -plogsapling,6,1 -ptrunksapling,6,1 -pwoodsapling,6,1 -birchsapling,6,2 -birchtreesapling,6,2 -birchlogsapling,6,2 -birchtrunksapling,6,2 -birchwoodsapling,6,2 -lightsapling,6,2 -lighttreesapling,6,2 -lightlogsapling,6,2 -lighttrunksapling,6,2 -lightwoodsapling,6,2 -whitesapling,6,2 -whitetreesapling,6,2 -whitelogsapling,6,2 -whitetrunksapling,6,2 -whitewoodsapling,6,2 -bsapling,6,2 -btreesapling,6,2 -blogsapling,6,2 -btrunksapling,6,2 -bwoodsapling,6,2 -lsapling,6,2 -ltreesapling,6,2 -llogsapling,6,2 -ltrunksapling,6,2 -lwoodsapling,6,2 -wsapling,6,2 -wtreesapling,6,2 -wlogsapling,6,2 -wtrunksapling,6,2 -wwoodsapling,6,2 -junglesapling,6,3 -jungletreesapling,6,3 -junglelogsapling,6,3 -jungletrunksapling,6,3 -junglewoodsapling,6,3 -forestsapling,6,3 -foresttreesapling,6,3 -forestlogsapling,6,3 -foresttrunksapling,6,3 -forestwoodsapling,6,3 -jsapling,6,3 -jtreesapling,6,3 -jlogsapling,6,3 -jtrunksapling,6,3 -jwoodsapling,6,3 -fsapling,6,3 -ftreesapling,6,3 -flogsapling,6,3 -ftrunksapling,6,3 -fwoodsapling,6,3 -acaciasapling,6,4 -acaciatreesapling,6,4 -acacialogsapling,6,4 -acaciatrunksapling,6,4 -acaciawoodsapling,6,4 -asapling,6,4 -atreesapling,6,4 -alogsapling,6,4 -atrunksapling,6,4 -awoodsapling,6,4 -darkoaksapling,6,5 -darkoaktreesapling,6,5 -darkoaklogsapling,6,5 -darkoaktrunksapling,6,5 -darkoakwoodsapling,6,5 -doaksapling,6,5 -doaktreesapling,6,5 -doaklogsapling,6,5 -doaktrunksapling,6,5 -dosapling,6,5 -dowoodsapling,6,5 -dotreesapling,6,5 -dologsapling,6,5 -dotrunksapling,6,5 -bedrock,7,0 -oprock,7,0 -opblock,7,0 -adminblock,7,0 -adminrock,7,0 -adminium,7,0 -water,8,0 -stationarywater,9,0 -stillwater,9,0 -swater,9,0 -lava,10,0 -stationarylava,11,0 -stilllava,11,0 -slava,11,0 -sand,12,0 -redsand,12,1 -rsand,12,1 -gravel,13,0 -goldore,14,0 -oregold,14,0 -gore,14,0 -oreg,14,0 -ogold,14,0 -goldo,14,0 -ironore,15,0 -oreiron,15,0 -irono,15,0 -oiron,15,0 -steelore,15,0 -oresteel,15,0 -steelo,15,0 -osteel,15,0 -iore,15,0 -orei,15,0 -sore,15,0 -ores,15,0 -coalore,16,0 -orecoal,16,0 -coalo,16,0 -ocoal,16,0 -core,16,0 -tree,17,0 -log,17,0 -trunk,17,0 -oak,17,0 -oaktree,17,0 -oaklog,17,0 -oaktrunk,17,0 -oakwood,17,0 -otree,17,0 -olog,17,0 -otrunk,17,0 -owood,17,0 -pine,17,1 -pinetree,17,1 -pinelog,17,1 -pinetrunk,17,1 -pinewood,17,1 -darktree,17,1 -darklog,17,1 -darktrunk,17,1 -darkwood,17,1 -spruce,17,1 -sprucetree,17,1 -sprucelog,17,1 -sprucetrunk,17,1 -sprucewood,17,1 -dtree,17,1 -dlog,17,1 -dtrunk,17,1 -dwood,17,1 -stree,17,1 -slog,17,1 -strunk,17,1 -swood,17,1 -ptree,17,1 -plog,17,1 -ptrunk,17,1 -pwood,17,1 -birch,17,2 -birchtree,17,2 -birchlog,17,2 -birchtrunk,17,2 -birchwood,17,2 -whitetree,17,2 -whitelog,17,2 -whitetrunk,17,2 -whitewood,17,2 -lighttree,17,2 -lightlog,17,2 -lighttrunk,17,2 -lightwood,17,2 -btree,17,2 -blog,17,2 -btrunk,17,2 -bwood,17,2 -wtree,17,2 -wlog,17,2 -wtrunk,17,2 -wwood,17,2 -ltree,17,2 -llog,17,2 -ltrunk,17,2 -lwood,17,2 -jungletree,17,3 -junglelog,17,3 -jungletrunk,17,3 -junglewood,17,3 -jungle,17,3 -forest,17,3 -foresttree,17,3 -forestlog,17,3 -foresttrunk,17,3 -forestwood,17,3 -jtree,17,3 -jlog,17,3 -jtrunk,17,3 -jwood,17,3 -ftree,17,3 -flog,17,3 -ftrunk,17,3 -fwood,17,3 -leaves,18,0 -leaf,18,0 -treeleaves,18,0 -logleaves,18,0 -trunkleaves,18,0 -woodleaves,18,0 -oakleaves,18,0 -oakleaf,18,0 -oleaves,18,0 -oleaf,18,0 -oaktreeleaves,18,0 -oaklogleaves,18,0 -oaktrunkleaves,18,0 -oakwoodleaves,18,0 -otreeleaves,18,0 -ologleaves,18,0 -otrunkleaves,18,0 -owoodleaves,18,0 -treeleaf,18,0 -logleaf,18,0 -trunkleaf,18,0 -woodleaf,18,0 -oaktreeleaf,18,0 -oaklogleaf,18,0 -oaktrunkleaf,18,0 -oakwoodleaf,18,0 -otreeleaf,18,0 -ologleaf,18,0 -otrunkleaf,18,0 -owoodleaf,18,0 -pineleaves,18,1 -pineleaf,18,1 -pleaves,18,1 -pleaf,18,1 -pinetreeleaves,18,1 -pinelogleaves,18,1 -pinetrunkleaves,18,1 -pinewoodleaves,18,1 -ptreeleaves,18,1 -plogleaves,18,1 -ptrunkleaves,18,1 -pwoodleaves,18,1 -spruceleaves,18,1 -spruceleaf,18,1 -sleaves,18,1 -sleaf,18,1 -sprucetreeleaves,18,1 -sprucelogleaves,18,1 -sprucetrunkleaves,18,1 -sprucewoodleaves,18,1 -streeleaves,18,1 -slogleaves,18,1 -strunkleaves,18,1 -swoodleaves,18,1 -darkleaves,18,1 -darkleaf,18,1 -dleaves,18,1 -dleaf,18,1 -darktreeleaves,18,1 -darklogleaves,18,1 -darktrunkleaves,18,1 -darkwoodleaves,18,1 -dtreeleaves,18,1 -dlogleaves,18,1 -dtrunkleaves,18,1 -dwoodleaves,18,1 -sprucetreeleaf,18,1 -sprucelogleaf,18,1 -sprucetrunkleaf,18,1 -sprucewoodleaf,18,1 -streeleaf,18,1 -slogleaf,18,1 -strunkleaf,18,1 -swoodleaf,18,1 -pinetreeleaf,18,1 -pinelogleaf,18,1 -pinetrunkleaf,18,1 -pinewoodleaf,18,1 -ptreeleaf,18,1 -plogleaf,18,1 -ptrunkleaf,18,1 -pwoodleaf,18,1 -darktreeleaf,18,1 -darklogleaf,18,1 -darktrunkleaf,18,1 -darkwoodleaf,18,1 -dtreeleaf,18,1 -dlogleaf,18,1 -dtrunkleaf,18,1 -dwoodleaf,18,1 -birchleaves,18,2 -birchleaf,18,2 -bleaves,18,2 -bleaf,18,2 -birchtreeleaves,18,2 -birchlogleaves,18,2 -birchtrunkleaves,18,2 -birchwoodleaves,18,2 -btreeleaves,18,2 -blogleaves,18,2 -btrunkleaves,18,2 -bwoodleaves,18,2 -lightleaves,18,2 -lightleaf,18,2 -lleaves,18,2 -lleaf,18,2 -lighttreeleaves,18,2 -lightlogleaves,18,2 -lighttrunkleaves,18,2 -lightwoodleaves,18,2 -ltreeleaves,18,2 -llogleaves,18,2 -ltrunkleaves,18,2 -lwoodleaves,18,2 -whiteleaves,18,2 -whiteleaf,18,2 -wleaves,18,2 -wleaf,18,2 -whitetreeleaves,18,2 -whitelogleaves,18,2 -whitetrunkleaves,18,2 -whitewoodleaves,18,2 -wtreeleaves,18,2 -wlogleaves,18,2 -wtrunkleaves,18,2 -wwoodleaves,18,2 -birchtreeleaf,18,2 -birchlogleaf,18,2 -birchtrunkleaf,18,2 -birchwoodleaf,18,2 -btreeleaf,18,2 -blogleaf,18,2 -btrunkleaf,18,2 -bwoodleaf,18,2 -lighttreeleaf,18,2 -lightlogleaf,18,2 -lighttrunkleaf,18,2 -lightwoodleaf,18,2 -ltreeleaf,18,2 -llogleaf,18,2 -ltrunkleaf,18,2 -lwoodleaf,18,2 -whitetreeleaf,18,2 -whitelogleaf,18,2 -whitetrunkleaf,18,2 -whitewoodleaf,18,2 -wtreeleaf,18,2 -wlogleaf,18,2 -wtrunkleaf,18,2 -wwoodleaf,18,2 -jungleleaves,18,3 -jungleleaf,18,3 -jleaves,18,3 -jleaf,18,3 -jungletreeleaves,18,3 -junglelogleaves,18,3 -jungletrunkleaves,18,3 -junglewoodleaves,18,3 -jtreeleaves,18,3 -jlogleaves,18,3 -jtrunkleaves,18,3 -jwoodleaves,18,3 -forestleaves,18,3 -forestleaf,18,3 -fleaves,18,3 -fleaf,18,3 -foresttreeleaves,18,3 -forestlogleaves,18,3 -foresttrunkleaves,18,3 -forestwoodleaves,18,3 -ftreeleaves,18,3 -flogleaves,18,3 -ftrunkleaves,18,3 -fwoodleaves,18,3 -jungletreeleaf,18,3 -junglelogleaf,18,3 -jungletrunkleaf,18,3 -junglewoodleaf,18,3 -jtreeleaf,18,3 -jlogleaf,18,3 -jtrunkleaf,18,3 -jwoodleaf,18,3 -foresttreeleaf,18,3 -forestlogleaf,18,3 -foresttrunkleaf,18,3 -forestwoodleaf,18,3 -ftreeleaf,18,3 -flogleaf,18,3 -ftrunkleaf,18,3 -fwoodleaf,18,3 -sponge,19,0 -wetsponge,19,1 -glass,20,0 -blockglass,20,0 -glassblock,20,0 -lapislazuliore,21,0 -lapislazulio,21,0 -orelapislazuli,21,0 -olapislazuli,21,0 -lapisore,21,0 -lapiso,21,0 -orelapis,21,0 -olapis,21,0 -lore,21,0 -orel,21,0 -lapislazuliblock,22,0 -blocklapislazuli,22,0 -lapisblock,22,0 -blocklapis,22,0 -lblock,22,0 -blockl,22,0 -dispenser,23,0 -dispense,23,0 -sandstone,24,0 -sastone,24,0 -cpstone,24,1 -creepersandstone,24,1 -creepersastone,24,1 -creepsandstone,24,1 -creepsastone,24,1 -csandstone,24,1 -csastone,24,1 -hieroglyphicsandstone,24,1 -hieroglyphicsastone,24,1 -hieroglyphsandstone,24,1 -hieroglyphsastone,24,1 -hsandstone,24,1 -hsastone,24,1 -pyramidsandstone,24,1 -pyramidsastone,24,1 -psandstone,24,1 -psastone,24,1 -chiseledsandstone,24,1 -chiseledsastone,24,1 -chiselsandstone,24,1 -chiselsastone,24,1 -smstone,24,2 -smoothsandstone,24,2 -smoothsastone,24,2 -ssandstone,24,2 -smsastone,24,2 -ssastone,24,2 -noteblock,25,0 -musicblock,25,0 -nblock,25,0 -mblock,25,0 -poweredtrack,27,0 -poweredrails,27,0 -poweredrail,27,0 -boostertrack,27,0 -boosterrails,27,0 -boosterrail,27,0 -powertrack,27,0 -powerrails,27,0 -powerrail,27,0 -boosttrack,27,0 -boostrails,27,0 -boostrail,27,0 -ptrack,27,0 -prails,27,0 -prail,27,0 -btrack,27,0 -brails,27,0 -brail,27,0 -detectortrack,28,0 -detectorrails,28,0 -detectorrail,28,0 -detectingtrack,28,0 -detectingrails,28,0 -detectingrail,28,0 -detecttrack,28,0 -detectrails,28,0 -detectrail,28,0 -dtrack,28,0 -drails,28,0 -drail,28,0 -stickypistonbase,29,0 -stickypiston,29,0 -stickpistonbase,29,0 -stickpiston,29,0 -stickyp,29,0 -spistonbase,29,0 -spiston,29,0 -pistonstickybase,29,0 -pistonsticky,29,0 -pistonstickbase,29,0 -pistonstick,29,0 -pistonsbase,29,0 -pistons,29,0 -psticky,29,0 -pstick,29,0 -spiderweb,30,0 -cobweb,30,0 -sweb,30,0 -cweb,30,0 -web,30,0 -longgrass,31,1 -tallgrass,31,1 -wildgrass,31,1 -grasslong,31,1 -grasstall,31,1 -grasswild,31,1 -lgrass,31,1 -tgrass,31,1 -wgrass,31,1 -fern,31,2 -bush,31,2 -deadshrub,32,0 -dshrub,32,0 -deadbush,32,0 -dbush,32,0 -deadsapling,32,0 -piston,33,0 -pistonbase,33,0 -pistonblock,33,0 -whitewool,35,0 -whitecloth,35,0 -whitecotton,35,0 -wcloth,35,0 -wwool,35,0 -wcotton,35,0 -cloth,35,0 -wool,35,0 -cotton,35,0 -orangewool,35,1 -orangecloth,35,1 -orangecotton,35,1 -ocloth,35,1 -owool,35,1 -ocotton,35,1 -magentawool,35,2 -magentacloth,35,2 -magentacotton,35,2 -mcloth,35,2 -mwool,35,2 -mcotton,35,2 -lightbluewool,35,3 -lightbluecloth,35,3 -lightbluecotton,35,3 -lbluecloth,35,3 -lbluewool,35,3 -lbluecotton,35,3 -lightblucloth,35,3 -lightbluwool,35,3 -lightblucotton,35,3 -lblucloth,35,3 -lbluwool,35,3 -lblucotton,35,3 -lbcloth,35,3 -lbwool,35,3 -lbcotton,35,3 -yellowwool,35,4 -yellowcloth,35,4 -yellowcotton,35,4 -ycloth,35,4 -ywool,35,4 -ycotton,35,4 -lightgreenwool,35,5 -lightgreencloth,35,5 -lightgreencotton,35,5 -lgreencloth,35,5 -lgreenwool,35,5 -lgreencotton,35,5 -lightgrecloth,35,5 -lightgrewool,35,5 -lightgrecotton,35,5 -lgrecloth,35,5 -lgrewool,35,5 -lgrecotton,35,5 -limecloth,35,5 -limewool,35,5 -limecotton,35,5 -lcloth,35,5 -lwool,35,5 -lcotton,35,5 -pinkwool,35,6 -pinkcloth,35,6 -pinkcotton,35,6 -picloth,35,6 -piwool,35,6 -picotton,35,6 -darkgraywool,35,7 -darkgraycloth,35,7 -darkgraycotton,35,7 -darkgreywool,35,7 -darkgreycloth,35,7 -darkgreycotton,35,7 -dgraycloth,35,7 -dgraywool,35,7 -dgraycotton,35,7 -dgreycloth,35,7 -dgreywool,35,7 -dgreycotton,35,7 -darkgracloth,35,7 -darkgrawool,35,7 -darkgracotton,35,7 -dgracloth,35,7 -dgrawool,35,7 -dgracotton,35,7 -graycloth,35,7 -graywool,35,7 -graycotton,35,7 -greycloth,35,7 -greywool,35,7 -greycotton,35,7 -gracloth,35,7 -grawool,35,7 -gracotton,35,7 -lgwool,35,8 -lightgraywool,35,8 -lightgraycloth,35,8 -lightgraycotton,35,8 -lgraycloth,35,8 -lgraywool,35,8 -lgraycotton,35,8 -lightgreywool,35,8 -lightgreycloth,35,8 -lightgreycotton,35,8 -lgreycloth,35,8 -lgreywool,35,8 -lgreycotton,35,8 -lightgracloth,35,8 -lightgrawool,35,8 -lightgracotton,35,8 -lgracloth,35,8 -lgrawool,35,8 -lgracotton,35,8 -silvercloth,35,8 -silverwool,35,8 -silvercotton,35,8 -sicloth,35,8 -siawool,35,8 -siacotton,35,8 -cyanwool,35,9 -cyancloth,35,9 -cyancotton,35,9 -ccloth,35,9 -cwool,35,9 -ccotton,35,9 -purplewool,35,10 -purplecloth,35,10 -purplecotton,35,10 -pucloth,35,10 -puwool,35,10 -pucotton,35,10 -bluewool,35,11 -bluecloth,35,11 -bluecotton,35,11 -blucloth,35,11 -bluwool,35,11 -blucotton,35,11 -brownwool,35,12 -browncloth,35,12 -browncotton,35,12 -brocloth,35,12 -browool,35,12 -brocotton,35,12 -darkgreenwool,35,13 -darkgreencloth,35,13 -darkgreencotton,35,13 -dgreencloth,35,13 -dgreenwool,35,13 -dgreencotton,35,13 -greencloth,35,13 -greenwool,35,13 -greencotton,35,13 -darkgrecloth,35,13 -darkgrewool,35,13 -darkgrecotton,35,13 -dgrecloth,35,13 -dgrewool,35,13 -dgrecotton,35,13 -grecloth,35,13 -grewool,35,13 -grecotton,35,13 -redwool,35,14 -redcloth,35,14 -redcotton,35,14 -rcloth,35,14 -rwool,35,14 -rcotton,35,14 -blackwool,35,15 -blackcloth,35,15 -blackcotton,35,15 -blacloth,35,15 -blawool,35,15 -blacotton,35,15 -dandelion,37,0 -yellowdandelion,37,0 -ydandelion,37,0 -yellowflower,37,0 -yflower,37,0 -flower,37,0 -rose,38,0 -redrose,38,0 -rrose,38,0 -redflower,38,0 -rflower,38,0 -poppy,38,0 -redpoppy,38,0 -blueorchid,38,1 -cyanorchid,38,1 -lightblueorchid,38,1 -lblueorchid,38,1 -orchid,38,1 -allium,38,2 -magentaallium,38,2 -azurebluet,38,3 -whiteazurebluet,38,3 -abluet,38,3 -azureb,38,3 -houstonia,38,3 -redtulip,38,4 -tulipred,38,4 -rtulip,38,4 -tulipr,38,4 -orangetulip,38,5 -tuliporange,38,5 -otulip,38,5 -tulipo,38,5 -whitetulip,38,6 -tulipwhite,38,6 -wtulip,38,6 -tulipw,38,6 -pinktulip,38,7 -tulippink,38,7 -ptulip,38,7 -tulipp,38,7 -oxeye,38,8 -daisy,38,8 -oxeyedaisy,38,8 -daisyoxeye,38,8 -moondaisy,38,8 -daisymoon,38,8 -lightgrayoxeye,38,8 -lgrayoxeye,38,8 -lightgreyoxeye,38,8 -lgreyoxeye,38,8 -brownmushroom,39,0 -brownshroom,39,0 -brownmush,39,0 -bmushroom,39,0 -bshroom,39,0 -bmush,39,0 -redmushroom,40,0 -redshroom,40,0 -redmush,40,0 -rmushroom,40,0 -rshroom,40,0 -rmush,40,0 -goldblock,41,0 -blockgold,41,0 -gblock,41,0 -blockg,41,0 -ironblock,42,0 -steelblock,42,0 -blockiron,42,0 -blocksteel,42,0 -iblock,42,0 -stblock,42,0 -blocki,42,0 -blockst,42,0 -stonedoublestep,43,0 -stonedstep,43,0 -sdoublestep,43,0 -sdstep,43,0 -doublestonestep,43,0 -dstonestep,43,0 -doublesstep,43,0 -doublestep,43,0 -dstep,43,0 -stonedoubleslab,43,0 -stonedslab,43,0 -sdoubleslab,43,0 -sdslab,43,0 -doublestoneslab,43,0 -doublestoneslab2,181,0 -dstoneslab,43,0 -doublesslab,43,0 -doubleslab,43,0 -dslab,43,0 -stonedoublehalfblock,43,0 -stonedhalfblock,43,0 -sdoublehalfblock,43,0 -sdhalfblock,43,0 -doublestonehalfblock,43,0 -dstonehalfblock,43,0 -doubleshalfblock,43,0 -doublehalfblock,43,0 -dhalfblock,43,0 -sandstonedoublestep,43,1 -sandstonedstep,43,1 -sstonedoublestep,43,1 -sstonedstep,43,1 -ssdoublestep,43,1 -ssdstep,43,1 -doublesandstonestep,43,1 -dsandstonestep,43,1 -doublesstonestep,43,1 -dsstonestep,43,1 -doublessstep,43,1 -dsstep,43,1 -sandstonedoubleslab,43,1 -sandstonedslab,43,1 -sstonedoubleslab,43,1 -sstonedslab,43,1 -ssdoubleslab,43,1 -ssdslab,43,1 -doublesandstoneslab,43,1 -dsandstoneslab,43,1 -doublesstoneslab,43,1 -dsstoneslab,43,1 -doublessslab,43,1 -dsslab,43,1 -sandstonedoublehalfblock,43,1 -sandstonedhalfblock,43,1 -sstonedoublehalfblock,43,1 -sstonedhalfblock,43,1 -ssdoublehalfblock,43,1 -ssdhalfblock,43,1 -doublesandstonehalfblock,43,1 -dsandstonehalfblock,43,1 -doublesstonehalfblock,43,1 -dsstonehalfblock,43,1 -doublesshalfblock,43,1 -dsshalfblock,43,1 -plankstonedoublestep,43,2 -woodenstonedoublestep,43,2 -woodenstonedstep,43,2 -woodstonedoublestep,43,2 -woodstonedstep,43,2 -wstonedoublestep,43,2 -wstonedstep,43,2 -doublewoodenstonestep,43,2 -dwoodenstonestep,43,2 -doublewoodstonestep,43,2 -dwoodstonestep,43,2 -doublewstonestep,43,2 -dwstonestep,43,2 -woodenstonedoubleslab,43,2 -woodenstonedslab,43,2 -woodstonedoubleslab,43,2 -woodstonedslab,43,2 -wstonedoubleslab,43,2 -wstonedslab,43,2 -doublewoodenstoneslab,43,2 -dwoodenstoneslab,43,2 -doublewoodstoneslab,43,2 -dwoodstoneslab,43,2 -doublewstoneslab,43,2 -dwstoneslab,43,2 -woodenstonedoublehalfblock,43,2 -woodenstonedhalfblock,43,2 -woodstonedoublehalfblock,43,2 -woodstonedhalfblock,43,2 -wstonedoublehalfblock,43,2 -wstonedhalfblock,43,2 -doublewoodenstonehalfblock,43,2 -dwoodenstonehalfblock,43,2 -doublewoodstonehalfblock,43,2 -dwoodstonehalfblock,43,2 -doublewstonehalfblock,43,2 -dwstonehalfblock,43,2 -cobblestonedoublestep,43,3 -cobblestonedstep,43,3 -cobbledoublestep,43,3 -cobbledstep,43,3 -cstonedoublestep,43,3 -cstonedstep,43,3 -csdoublestep,43,3 -csdstep,43,3 -doublecobblestonestep,43,3 -dcobblestonestep,43,3 -doublecobblestep,43,3 -dcobblestep,43,3 -doublecstonestep,43,3 -dcstonestep,43,3 -doublecsstep,43,3 -dcsstep,43,3 -cobblestonedoubleslab,43,3 -cobblestonedslab,43,3 -cobbledoubleslab,43,3 -cobbledslab,43,3 -cstonedoubleslab,43,3 -cstonedslab,43,3 -csdoubleslab,43,3 -csdslab,43,3 -doublecobblestoneslab,43,3 -dcobblestoneslab,43,3 -doublecobbleslab,43,3 -dcobbleslab,43,3 -doublecstoneslab,43,3 -dcstoneslab,43,3 -doublecsslab,43,3 -dcsslab,43,3 -cobblestonedoublehalfblock,43,3 -cobblestonedhalfblock,43,3 -cobbledoublehalfblock,43,3 -cobbledhalfblock,43,3 -cstonedoublehalfblock,43,3 -cstonedhalfblock,43,3 -csdoublehalfblock,43,3 -csdhalfblock,43,3 -doublecobblestonehalfblock,43,3 -dcobblestonehalfblock,43,3 -doublecobblehalfblock,43,3 -dcobblehalfblock,43,3 -doublecstonehalfblock,43,3 -dcstonehalfblock,43,3 -doublecshalfblock,43,3 -dcshalfblock,43,3 -brickdoublestep,43,4 -brickdstep,43,4 -bdoublestep,43,4 -bdstep,43,4 -brickdoubleslab,43,4 -brickdslab,43,4 -bdoubleslab,43,4 -bdslab,43,4 -doublebrickstep,43,4 -dbrickstep,43,4 -doublebstep,43,4 -dbstep,43,4 -doublebrickslab,43,4 -dbrickslab,43,4 -doublebslab,43,4 -dbslab,43,4 -brickdoublehalfblock,43,4 -brickdhalfblock,43,4 -bdoublehalfblock,43,4 -bdhalfblock,43,4 -doublebrickhalfblock,43,4 -dbrickhalfblock,43,4 -doublebhalfblock,43,4 -dbhalfblock,43,4 -stonebrickdoublestep,43,5 -stonebrickdstep,43,5 -stonebdoublestep,43,5 -stonebdstep,43,5 -sbrickdoublestep,43,5 -sbrickdstep,43,5 -sbdoublestep,43,5 -sbdstep,43,5 -stonebrickdoubleslab,43,5 -stonebrickdslab,43,5 -stonebdoubleslab,43,5 -stonebdslab,43,5 -sbrickdoubleslab,43,5 -sbrickdslab,43,5 -sbdoubleslab,43,5 -sbdslab,43,5 -doublestonebrickstep,43,5 -dstonebrickstep,43,5 -doublestonebstep,43,5 -dstonebstep,43,5 -doublesbrickstep,43,5 -dsbrickstep,43,5 -doublesbstep,43,5 -dsbstep,43,5 -doublestonebrickslab,43,5 -dstonebrickslab,43,5 -doublestonebslab,43,5 -dstonebslab,43,5 -doublesbrickslab,43,5 -dsbrickdslab,43,5 -doublesbslab,43,5 -dsbslab,43,5 -stonebrickdoublehalfblock,43,5 -stonebrickdhalfblock,43,5 -stonebdoublehalfblock,43,5 -stonebdhalfblock,43,5 -sbrickdoublehalfblock,43,5 -sbrickdhalfblock,43,5 -sbdoublehalfblock,43,5 -sbdhalfblock,43,5 -doublestonebrickhalfblock,43,5 -dstonebrickhalfblock,43,5 -doublestonebhalfblock,43,5 -dstonebhalfblock,43,5 -doublesbrickhalfblock,43,5 -dsbrickhalfblock,43,5 -doublesbhalfblock,43,5 -dsbhalfblock,43,5 -netherbrickdoubleslab,43,6 -hellbrickdoubleslab,43,6 -nbrickdoubleslab,43,6 -hbrickdoubleslab,43,6 -netherdoubleslab,43,6 -helldoubleslab,43,6 -nbdoubleslab,43,6 -hbdoubleslab,43,6 -hdoubleslab,43,6 -ndoubleslab,43,6 -netherbrickdoublestep,43,6 -hellbrickdoublestep,43,6 -nbrickdoublestep,43,6 -hbrickdoublestep,43,6 -netherdoublestep,43,6 -helldoublestep,43,6 -nbdoublestep,43,6 -hbdoublestep,43,6 -ndoublestep,43,6 -hdoublestep,43,6 -netherbrickdoublehalfblock,43,6 -hellbrickdoublehalfblock,43,6 -nbrickdoublehalfblock,43,6 -hbrickdoublehalfblock,43,6 -netherdoublehalfblock,43,6 -helldoublehalfblock,43,6 -nbdoublehalfblock,43,6 -hbdoublehalfblock,43,6 -ndoublehalfblock,43,6 -hdoublehalfblock,43,6 -netherbrickdslab,43,6 -hellbrickdslab,43,6 -nbrickdslab,43,6 -hbrickdslab,43,6 -netherdslab,43,6 -helldslab,43,6 -nbdslab,43,6 -hbdslab,43,6 -hdslab,43,6 -ndslab,43,6 -netherbrickdstep,43,6 -hellbrickdstep,43,6 -nbrickdstep,43,6 -hbrickdstep,43,6 -netherdstep,43,6 -helldstep,43,6 -nbdstep,43,6 -hbdstep,43,6 -ndstep,43,6 -hdstep,43,6 -netherbrickdhalfblock,43,6 -hellbrickdhalfblock,43,6 -nbrickdhalfblock,43,6 -hbrickdhalfblock,43,6 -netherdhalfblock,43,6 -helldhalfblock,43,6 -nbdhalfblock,43,6 -hbdhalfblock,43,6 -ndhalfblock,43,6 -hdhalfblock,43,6 -doublenetherbrickslab,43,6 -doublehellbrickslab,43,6 -doublenbrickslab,43,6 -doublehbrickslab,43,6 -doublenetherslab,43,6 -doublehellslab,43,6 -doublenbslab,43,6 -doublehbslab,43,6 -doublehslab,43,6 -doublenslab,43,6 -doublenetherbrickstep,43,6 -doublehellbrickstep,43,6 -doublenbrickstep,43,6 -doublehbrickstep,43,6 -doublenetherstep,43,6 -doublehellstep,43,6 -doublenbstep,43,6 -doublehbstep,43,6 -doublenstep,43,6 -doublehstep,43,6 -doublenetherbrickhalfblock,43,6 -doublehellbrickhalfblock,43,6 -doublenbrickhalfblock,43,6 -doublehbrickhalfblock,43,6 -doublenetherhalfblock,43,6 -doublehellhalfblock,43,6 -doublenbhalfblock,43,6 -doublehbhalfblock,43,6 -doublenhalfblock,43,6 -doublehhalfblock,43,6 -dnetherbrickslab,43,6 -dhellbrickslab,43,6 -dnbrickslab,43,6 -dhbrickslab,43,6 -dnetherslab,43,6 -dhellslab,43,6 -dnbslab,43,6 -dhbslab,43,6 -dhslab,43,6 -dnslab,43,6 -dnetherbrickstep,43,6 -dhellbrickstep,43,6 -dnbrickstep,43,6 -dhbrickstep,43,6 -dnetherstep,43,6 -dhellstep,43,6 -dnbstep,43,6 -dhbstep,43,6 -dnstep,43,6 -dhstep,43,6 -dnetherbrickhalfblock,43,6 -dhellbrickhalfblock,43,6 -dnbrickhalfblock,43,6 -dhbrickhalfblock,43,6 -dnetherhalfblock,43,6 -dhellhalfblock,43,6 -dnbhalfblock,43,6 -dhbhalfblock,43,6 -dnhalfblock,43,6 -dhhalfblock,43,6 -netherquartzdoublestep,43,7 -hellquartzdoublestep,43,7 -deathquartzdoublestep,43,7 -nquartzdoublestep,43,7 -hquartzdoublestep,43,7 -dquartzdoublestep,43,7 -quartzdoublestep,43,7 -nqdoublestep,43,7 -hqdoublestep,43,7 -dqdoublestep,43,7 -qdoublestep,43,7 -netherquartzdoubleslab,43,7 -hellquartzdoubleslab,43,7 -deathquartzdoubleslab,43,7 -nquartzdoubleslab,43,7 -hquartzdoubleslab,43,7 -dquartzdoubleslab,43,7 -quartzdoubleslab,43,7 -nqdoubleslab,43,7 -hqdoubleslab,43,7 -dqdoubleslab,43,7 -qdoubleslab,43,7 -netherquartzdoublehalfblock,43,7 -hellquartzdoublehalfblock,43,7 -deathquartzdoublehalfblock,43,7 -nquartzdoublehalfblock,43,7 -hquartzdoublehalfblock,43,7 -dquartzdoublehalfblock,43,7 -quartzdoublehalfblock,43,7 -nqdoublehalfblock,43,7 -hqdoublehalfblock,43,7 -dqdoublehalfblock,43,7 -qdoublehalfblock,43,7 -netherquartzdslab,43,7 -hellquartzdslab,43,7 -deathquartzdslab,43,7 -nquartzdslab,43,7 -hquartzdslab,43,7 -dquartzdslab,43,7 -quartzdslab,43,7 -nqdslab,43,7 -hqdslab,43,7 -dqdslab,43,7 -qdslab,43,7 -netherquartzdstep,43,7 -hellquartzdstep,43,7 -deathquartzdstep,43,7 -nquartzdstep,43,7 -hquartzdstep,43,7 -dquartzdstep,43,7 -quartzdstep,43,7 -nqdstep,43,7 -hqdstep,43,7 -dqdstep,43,7 -qdstep,43,7 -netherquartzdhalfblock,43,7 -hellquartzdhalfblock,43,7 -deathquartzdhalfblock,43,7 -nquartzdhalfblock,43,7 -hquartzdhalfblock,43,7 -dquartzdhalfblock,43,7 -quartzdhalfblock,43,7 -nqdhalfblock,43,7 -hqdhalfblock,43,7 -dqdhalfblock,43,7 -qdhalfblock,43,7 -doublenetherquartzslab,43,7 -doublehellquartzslab,43,7 -doubledeathquartzslab,43,7 -doublenquartzslab,43,7 -doublehquartzslab,43,7 -doubledquartzslab,43,7 -doublequartzslab,43,7 -doublenqslab,43,7 -doublehqslab,43,7 -doubledqslab,43,7 -doubleqslab,43,7 -doublenetherquartzstep,43,7 -doublehellquartzstep,43,7 -doubledeathquartzstep,43,7 -doublenquartzstep,43,7 -doublehquartzstep,43,7 -doubledquartzstep,43,7 -doublequartzstep,43,7 -doublenqstep,43,7 -doublehqstep,43,7 -doubledqstep,43,7 -doubleqstep,43,7 -doublenetherquartzhalfblock,43,7 -doublehellquartzhalfblock,43,7 -doubledeathquartzhalfblock,43,7 -doublenquartzhalfblock,43,7 -doublehquartzhalfblock,43,7 -doubledquartzhalfblock,43,7 -doublequartzhalfblock,43,7 -doublenqhalfblock,43,7 -doublehqhalfblock,43,7 -doubledqhalfblock,43,7 -doubleqhalfblock,43,7 -dnetherquartzslab,43,7 -dhellquartzslab,43,7 -ddeathquartzslab,43,7 -dnquartzslab,43,7 -dhquartzslab,43,7 -ddquartzslab,43,7 -dnqslab,43,7 -dhqslab,43,7 -ddqslab,43,7 -dnetherquartzstep,43,7 -dhellquartzstep,43,7 -ddeathquartzstep,43,7 -dnquartzstep,43,7 -dhquartzstep,43,7 -ddquartzstep,43,7 -dnqstep,43,7 -dhqstep,43,7 -ddqstep,43,7 -dnetherquartzhalfblock,43,7 -dhellquartzhalfblock,43,7 -ddeathquartzhalfblock,43,7 -dnquartzhalfblock,43,7 -dhquartzhalfblock,43,7 -ddquartzhalfblock,43,7 -dnqhalfblock,43,7 -dhqhalfblock,43,7 -ddqhalfblock,43,7 -smoothstonedoubleslab,43,8 -smoothstonedoublestep,43,8 -smoothstonedoublehalfblock,43,8 -smoothstonedslab,43,8 -smoothstonedstep,43,8 -smoothstonedhalfblock,43,8 -doublesmoothstoneslab,43,8 -doublesmoothstonestep,43,8 -doublesmoothstonehalfblock,43,8 -dsmoothstoneslab,43,8 -dsmoothstonestep,43,8 -dsmoothstonehalfblock,43,8 -smoothsandstonedoubleslab,43,9 -ssandstonedoubleslab,43,9 -ssstonedoubleslab,43,9 -sssdoubleslab,43,9 -smoothsandstonedoublestep,43,9 -ssandstonedoublestep,43,9 -ssstonedoublestep,43,9 -sssdoublestep,43,9 -smoothsandstonedoublehalfblock,43,9 -ssandstonedoublehalfblock,43,9 -ssstonedoublehalfblock,43,9 -sssdoublehalfblock,43,9 -smoothsandstonedslab,43,9 -ssandstonedslab,43,9 -ssstonedslab,43,9 -sssdslab,43,9 -smoothsandstonedstep,43,9 -ssandstonedstep,43,9 -ssstonedstep,43,9 -sssdstep,43,9 -smoothsandstonedhalfblock,43,9 -ssandstonedhalfblock,43,9 -ssstonedhalfblock,43,9 -sssdhalfblock,43,9 -doublesmoothsandstoneslab,43,9 -doublessandstoneslab,43,9 -doublessstoneslab,43,9 -doublesssslab,43,9 -doublesmoothsandstonestep,43,9 -doublessandstonestep,43,9 -doublessstonestep,43,9 -doublesssstep,43,9 -doublesmoothsandstonehalfblock,43,9 -doublessandstonehalfblock,43,9 -doublessstonehalfblock,43,9 -doublessshalfblock,43,9 -dsmoothsandstoneslab,43,9 -dssandstoneslab,43,9 -dssstoneslab,43,9 -dsssslab,43,9 -dsmoothsandstonestep,43,9 -dssandstonestep,43,9 -dssstonestep,43,9 -dsssstep,43,9 -dsmoothsandstonehalfblock,43,9 -dssandstonehalfblock,43,9 -dssstonehalfblock,43,9 -dssshalfblock,43,9 -smoothstonestep,44,0 -stonestep,44,0 -sstep,44,0 -step,44,0 -smoothstoneslab,44,0 -stoneslab,44,0 -stoneslab2,182,0 -sslab,44,0 -slab,44,0 -smoothstonehalfblock,44,0 -stonehalfblock,44,0 -shalfblock,44,0 -halfblock,44,0 -sandstonestep,44,1 -sstonestep,44,1 -ssstep,44,1 -sandstoneslab,44,1 -sstoneslab,44,1 -ssslab,44,1 -sandstonehalfblock,44,1 -sstonehalfblock,44,1 -sshalfblock,44,1 -woodenstonestep,44,2 -woodstonestep,44,2 -wstonestep,44,2 -woodenstoneslab,44,2 -woodstoneslab,44,2 -wstoneslab,44,2 -woodenstonehalfblock,44,2 -woodstonehalfblock,44,2 -wstonehalfblock,44,2 -cobblestonestep,44,3 -cobblestep,44,3 -cstonestep,44,3 -csstep,44,3 -cobblestoneslab,44,3 -cobbleslab,44,3 -cstoneslab,44,3 -csslab,44,3 -cobblestonehalfblock,44,3 -cobblehalfblock,44,3 -cstonehalfblock,44,3 -cshalfblock,44,3 -brickstep,44,4 -bstep,44,4 -brickslab,44,4 -bslab,44,4 -brickhalfblock,44,4 -bhalfblock,44,4 -stonebrickstep,44,5 -stonebstep,44,5 -sbrickstep,44,5 -sbstep,44,5 -stonebrickslab,44,5 -stonebslab,44,5 -sbrickslab,44,5 -sbslab,44,5 -stonebrickhalfblock,44,5 -stonebhalfblock,44,5 -sbrickhalfblock,44,5 -sbhalfblock,44,5 -netherbrickslab,44,6 -hellbrickslab,44,6 -nbrickslab,44,6 -hbrickslab,44,6 -netherslab,44,6 -hellslab,44,6 -nbslab,44,6 -hbslab,44,6 -hslab,44,6 -nslab,44,6 -netherbrickstep,44,6 -hellbrickstep,44,6 -nbrickstep,44,6 -hbrickstep,44,6 -netherstep,44,6 -hellstep,44,6 -nbstep,44,6 -hbstep,44,6 -nstep,44,6 -hstep,44,6 -netherbrickhalfblock,44,6 -hellbrickhalfblock,44,6 -nbrickhalfblock,44,6 -hbrickhalfblock,44,6 -netherhalfblock,44,6 -hellhalfblock,44,6 -nbhalfblock,44,6 -hbhalfblock,44,6 -nhalfblock,44,6 -hhalfblock,44,6 -netherquartzstep,44,7 -hellquartzstep,44,7 -deathquartzstep,44,7 -nquartzstep,44,7 -hquartzstep,44,7 -dquartzstep,44,7 -quartzstep,44,7 -nqstep,44,7 -hqstep,44,7 -dqstep,44,7 -qstep,44,7 -netherquartzslab,44,7 -hellquartzslab,44,7 -deathquartzslab,44,7 -nquartzslab,44,7 -hquartzslab,44,7 -dquartzslab,44,7 -quartzslab,44,7 -nqslab,44,7 -hqslab,44,7 -dqslab,44,7 -qslab,44,7 -netherquartzhalfblock,44,7 -hellquartzhalfblock,44,7 -deathquartzhalfblock,44,7 -nquartzhalfblock,44,7 -hquartzhalfblock,44,7 -dquartzhalfblock,44,7 -quartzhalfblock,44,7 -nqhalfblock,44,7 -hqhalfblock,44,7 -dqhalfblock,44,7 -qhalfblock,44,7 -brickblock,45,0 -blockbrick,45,0 -bblock,45,0 -blockb,45,0 -tnt,46,0 -tntblock,46,0 -blocktnt,46,0 -bombblock,46,0 -blockbomb,46,0 -dynamiteblock,46,0 -blockdynamite,46,0 -bomb,46,0 -dynamite,46,0 -bshelf,47,0 -bookcase,47,0 -casebook,47,0 -bookshelf,47,0 -shelfbook,47,0 -bookblock,47,0 -blockbook,47,0 -mossycobblestone,48,0 -mosscobblestone,48,0 -mcobblestone,48,0 -mossycobble,48,0 -mosscobble,48,0 -mcobble,48,0 -mossstone,48,0 -mossystone,48,0 -mstone,48,0 -obsidian,49,0 -obsi,49,0 -obby,49,0 -torch,50,0 -burningstick,50,0 -burnstick,50,0 -fire,51,0 -flame,51,0 -flames,51,0 -mobspawner,52,0 -mobcage,52,0 -monsterspawner,52,0 -monstercage,52,0 -mspawner,52,0 -mcage,52,0 -spawner,52,0 -cage,52,0 -woodenstairs,53,0 -woodstairs,53,0 -wstairs,53,0 -woodenstair,53,0 -woodstair,53,0 -wstair,53,0 -chest,54,0 -container,54,0 -diamondore,56,0 -crystalore,56,0 -orediamond,56,0 -orecrystal,56,0 -dore,56,0 -ored,56,0 -diamondblock,57,0 -blockdiamond,57,0 -crystalblock,57,0 -blockcrystal,57,0 -dblock,57,0 -blockd,57,0 -workbench,58,0 -craftingbench,58,0 -crafterbench,58,0 -craftbench,58,0 -worktable,58,0 -craftingtable,58,0 -craftertable,58,0 -crafttable,58,0 -wbench,58,0 -cbench,58,0 -soil,60,0 -furnace,61,0 -litfurnace,62,0 -lfurnace,62,0 -burningfurnace,62,0 -burnfurnace,62,0 -bfurnace,62,0 -ladder,65,0 -minecarttrack,66,0 -minecartrails,66,0 -minecartrail,66,0 -mcarttrack,66,0 -mcartrails,66,0 -mcartrail,66,0 -mctrack,66,0 -mcrails,66,0 -mcrail,66,0 -track,66,0 -rails,66,0 -rail,66,0 -cobblestonestairs,67,0 -cstonestairs,67,0 -stonestairs,67,0 -cobblestairs,67,0 -csstairs,67,0 -sstairs,67,0 -cstairs,67,0 -cobblestonestair,67,0 -cstonestair,67,0 -stonestair,67,0 -cobblestair,67,0 -csstair,67,0 -sstair,67,0 -cstair,67,0 -lever,69,0 -stonepressureplate,70,0 -stonepressplate,70,0 -stonepplate,70,0 -stoneplate,70,0 -spressureplate,70,0 -spressplate,70,0 -spplate,70,0 -splate,70,0 -smoothstonepressureplate,70,0 -smoothstonepressplate,70,0 -smoothstonepplate,70,0 -smoothstoneplate,70,0 -sstonepressureplate,70,0 -sstonepressplate,70,0 -sstonepplate,70,0 -sstoneplate,70,0 -woodenpressureplate,72,0 -woodenpressplate,72,0 -woodenpplate,72,0 -woodenplate,72,0 -woodpressureplate,72,0 -woodpressplate,72,0 -woodpplate,72,0 -woodplate,72,0 -wpressureplate,72,0 -wpressplate,72,0 -wpplate,72,0 -wplate,72,0 -redstoneore,73,0 -redsore,73,0 -redore,73,0 -rstoneore,73,0 -rsore,73,0 -rore,73,0 -oreredstone,73,0 -orereds,73,0 -orered,73,0 -orerstone,73,0 -orers,73,0 -orer,73,0 -redstonetorch,76,0 -rstonetorch,76,0 -redstorch,76,0 -redtorch,76,0 -rstorch,76,0 -stonebutton,77,0 -smoothstonebutton,77,0 -sstonebutton,77,0 -sbutton,77,0 -button,77,0 -snowcover,78,0 -snowcovering,78,0 -scover,78,0 -ice,79,0 -frozenwater,79,0 -waterfrozen,79,0 -freezewater,79,0 -waterfreeze,79,0 -snowblock,80,0 -blocksnow,80,0 -sblock,80,0 -blocks,80,0 -cactus,81,0 -cactuses,81,0 -cacti,81,0 -clayblock,82,0 -blockclay,82,0 -cblock,82,0 -blockc,82,0 -jukebox,84,0 -jbox,84,0 -woodenfence,85,0 -fence,85,0 -woodfence,85,0 -wfence,85,0 -fencewooden,85,0 -fencewood,85,0 -fencew,85,0 -oakfence,85,0 -ofence,85,0 -pumpkin,86,0 -netherrack,87,0 -netherrock,87,0 -netherstone,87,0 -hellrack,87,0 -hellrock,87,0 -hellstone,87,0 -deathrack,87,0 -deathrock,87,0 -deathstone,87,0 -nrack,87,0 -nrock,87,0 -nstone,87,0 -hrack,87,0 -hrock,87,0 -hstone,87,0 -drack,87,0 -drock,87,0 -dstone,87,0 -soulsand,88,0 -slowsand,88,0 -slowmud,88,0 -ssand,88,0 -smud,88,0 -mud,88,0 -glowstone,89,0 -glowingstoneblock,89,0 -lightstoneblock,89,0 -glowstoneblock,89,0 -blockglowingstone,89,0 -blocklightstone,89,0 -blockglowstone,89,0 -glowingstone,89,0 -lightstone,89,0 -glowingblock,89,0 -lightblock,89,0 -glowblock,89,0 -lstone,89,0 -gstone,89,0 -portal,90,0 -jackolantern,91,0 -pumpkinlantern,91,0 -glowingpumpkin,91,0 -lightpumpkin,91,0 -jpumpkin,91,0 -plantren,91,0 -glowpumpkin,91,0 -gpumpkin,91,0 -lpumpkin,91,0 -lockedchest,95,0 -lockchest,95,0 -jokechest,95,0 -whiteglass,95,0 -whitesglass,95,0 -whitestainedglass,95,0 -wglass,95,0 -wsglass,95,0 -wstainedglass,95,0 -sglass,95,0 -stainedglass,95,0 -orangeglass,95,1 -orangesglass,95,1 -orangestainedglass,95,1 -oglass,95,1 -osglass,95,1 -ostainedglass,95,1 -magentaglass,95,2 -magentasglass,95,2 -magentastainedglass,95,2 -mglass,95,2 -msglass,95,2 -mstainedglass,95,2 -lightblueglass,95,3 -lightbluesglass,95,3 -lightbluestainedglass,95,3 -lblueglass,95,3 -lbluesglass,95,3 -lbluestainedglass,95,3 -lightbluglass,95,3 -lightblusglass,95,3 -lightblustainedglass,95,3 -lbluglass,95,3 -lblusglass,95,3 -lblustainedglass,95,3 -lbglass,95,3 -lbsglass,95,3 -lbstainedglass,95,3 -yellowglass,95,4 -yellowsglass,95,4 -yellowstainedglass,95,4 -yglass,95,4 -ysglass,95,4 -ystainedglass,95,4 -lightgreenglass,95,5 -lightgreensglass,95,5 -lightgreenstainedglass,95,5 -lgreenglass,95,5 -lgreensglass,95,5 -lgreenstainedglass,95,5 -lightgreglass,95,5 -lightgresglass,95,5 -lightgrestainedglass,95,5 -lgreglass,95,5 -lgresglass,95,5 -lgrestainedglass,95,5 -limeglass,95,5 -limesglass,95,5 -limestainedglass,95,5 -lglass,95,5 -lsglass,95,5 -lstainedglass,95,5 -pinkglass,95,6 -pinksglass,95,6 -pinkstainedglass,95,6 -piglass,95,6 -pisglass,95,6 -pistainedglass,95,6 -gyglass,95,7 -darkgrayglass,95,7 -darkgraysglass,95,7 -darkgraystainedglass,95,7 -dgrayglass,95,7 -dgraysglass,95,7 -dgraystainedglass,95,7 -darkgreyglass,95,7 -darkgreysglass,95,7 -darkgreystainedglass,95,7 -dgreyglass,95,7 -dgreysglass,95,7 -dgreystainedglass,95,7 -darkgraglass,95,7 -darkgrasglass,95,7 -darkgrastainedglass,95,7 -dgraglass,95,7 -dgrasglass,95,7 -dgrastainedglass,95,7 -grayglass,95,7 -graysglass,95,7 -graystainedglass,95,7 -greyglass,95,7 -greysglass,95,7 -greystainedglass,95,7 -graglass,95,7 -grasglass,95,7 -grastainedglass,95,7 -lgglass,95,8 -lightgrayglass,95,8 -lightgraysglass,95,8 -lightgraystainedglass,95,8 -lgrayglass,95,8 -lgraysglass,95,8 -lgraystainedglass,95,8 -lightgreyglass,95,8 -lightgreysglass,95,8 -lightgreystainedglass,95,8 -lgreyglass,95,8 -lgreysglass,95,8 -lgreystainedglass,95,8 -lightgraglass,95,8 -lightgrasglass,95,8 -lightgrastainedglass,95,8 -lgraglass,95,8 -lgrasglass,95,8 -lgrastainedglass,95,8 -silverglass,95,8 -silversglass,95,8 -silverstainedglass,95,8 -siglass,95,8 -siasglass,95,8 -siastainedglass,95,8 -cyanglass,95,9 -cyansglass,95,9 -cyanstainedglass,95,9 -cglass,95,9 -csglass,95,9 -cstainedglass,95,9 -purpleglass,95,10 -purplesglass,95,10 -purplestainedglass,95,10 -puglass,95,10 -pusglass,95,10 -pustainedglass,95,10 -blglass,95,11 -blueglass,95,11 -bluesglass,95,11 -bluestainedglass,95,11 -bluglass,95,11 -blusglass,95,11 -blustainedglass,95,11 -brglass,95,12 -brownglass,95,12 -brownsglass,95,12 -brownstainedglass,95,12 -broglass,95,12 -brosglass,95,12 -brostainedglass,95,12 -grglass,95,13 -darkgreenglass,95,13 -darkgreensglass,95,13 -darkgreenstainedglass,95,13 -dgreenglass,95,13 -dgreensglass,95,13 -dgreenstainedglass,95,13 -greenglass,95,13 -greensglass,95,13 -greenstainedglass,95,13 -darkgreglass,95,13 -darkgresglass,95,13 -darkgrestainedglass,95,13 -dgreglass,95,13 -dgresglass,95,13 -dgrestainedglass,95,13 -greglass,95,13 -gresglass,95,13 -grestainedglass,95,13 -redglass,95,14 -redsglass,95,14 -redstainedglass,95,14 -rglass,95,14 -rsglass,95,14 -rstainedglass,95,14 -bkglass,95,15 -blackglass,95,15 -blacksglass,95,15 -blackstainedglass,95,15 -blaglass,95,15 -blasglass,95,15 -blastainedglass,95,15 -trapdoor,96,0 -doortrap,96,0 -hatch,96,0 -tdoor,96,0 -doort,96,0 -trapd,96,0 -dtrap,96,0 -silverfish,97,0 -silverfishsmoothstone,97,0 -silverfishsstone,97,0 -sfishsmoothstone,97,0 -sfishsstone,97,0 -fishsmoothstone,97,0 -fishsstone,97,0 -sfsmoothstone,97,0 -sfsstone,97,0 -trapsmoothstone,97,0 -trapsstone,97,0 -monsteregg,97,0 -monstereggsmoothstone,97,0 -monstereggsstone,97,0 -meggsmoothstone,97,0 -meggsstone,97,0 -mesmoothstone,97,0 -messtone,97,0 -silverfishcobblestone,97,1 -silverfishcstone,97,1 -sfishcobblestone,97,1 -sfishcstone,97,1 -fishcobblestone,97,1 -fishcstone,97,1 -sfcobblestone,97,1 -sfcstone,97,1 -trapcobblestone,97,1 -trapcstone,97,1 -monstereggcobblestone,97,1 -monstereggcstone,97,1 -meggcobblestone,97,1 -meggcstone,97,1 -mecobblestone,97,1 -mecstone,97,1 -silverfishstonebrick,97,2 -silverfishsbrick,97,2 -sfishstonebrick,97,2 -sfishsbrick,97,2 -fishstonebrick,97,2 -fishsbrick,97,2 -sfstonebrick,97,2 -sfsbrick,97,2 -trapstonebrick,97,2 -trapsbrick,97,2 -monstereggstonebrick,97,2 -monstereggsbrick,97,2 -meggstonebrick,97,2 -meggsbrick,97,2 -mestonebrick,97,2 -mesbrick,97,2 -silverfishmossystonebrick,97,3 -silverfishmossstonebrick,97,3 -silverfishmstonebrick,97,3 -silverfishmsbrick,97,3 -sfishmossystonebrick,97,3 -sfishmossstonebrick,97,3 -sfishmstonebrick,97,3 -sfishmsbrick,97,3 -fishmossystonebrick,97,3 -fishmossstonebrick,97,3 -fishmstonebrick,97,3 -fishmsbrick,97,3 -sfmossystonebrick,97,3 -sfmossstonebrick,97,3 -sfmstonebrick,97,3 -sfmsbrick,97,3 -trapmossystonebrick,97,3 -trapmossstonebrick,97,3 -trapmstonebrick,97,3 -trapmsbrick,97,3 -monstereggmossystonebrick,97,3 -monstereggmossstonebrick,97,3 -monstereggmstonebrick,97,3 -monstereggmsbrick,97,3 -meggmossystonebrick,97,3 -meggmossstonebrick,97,3 -meggmstonebrick,97,3 -meggmsbrick,97,3 -memossystonebrick,97,3 -memossstonebrick,97,3 -memstonebrick,97,3 -memsbrick,97,3 -silverfishcrackedstonebrick,97,4 -silverfishcrackstonebrick,97,4 -silverfishcrstonebrick,97,4 -silverfishcrsbrick,97,4 -sfishcrackedstonebrick,97,4 -sfishcrackstonebrick,97,4 -sfishcrstonebrick,97,4 -sfishcrsbrick,97,4 -fishcrackedstonebrick,97,4 -fishcrackstonebrick,97,4 -fishcrstonebrick,97,4 -fishcrsbrick,97,4 -sfcrackedstonebrick,97,4 -sfcrackstonebrick,97,4 -sfcrstonebrick,97,4 -sfcrsbrick,97,4 -trapcrackedstonebrick,97,4 -trapcrackstonebrick,97,4 -trapcrstonebrick,97,4 -trapcrsbrick,97,4 -monstereggcrackedstonebrick,97,4 -monstereggcrackstonebrick,97,4 -monstereggcrstonebrick,97,4 -monstereggcrsbrick,97,4 -meggcrackedstonebrick,97,4 -meggcrackstonebrick,97,4 -meggcrstonebrick,97,4 -meggcrsbrick,97,4 -mecrackedstonebrick,97,4 -mecrackstonebrick,97,4 -mecrstonebrick,97,4 -mecrsbrick,97,4 -silverfishcirclestonebrick,97,5 -silverfishcistonebrick,97,5 -silverfishcisbrick,97,5 -sfishcirclestonebrick,97,5 -sfishcistonebrick,97,5 -sfishcisbrick,97,5 -fishcirclestonebrick,97,5 -fishcistonebrick,97,5 -fishcisbrick,97,5 -sfcirclestonebrick,97,5 -sfcistonebrick,97,5 -sfcisbrick,97,5 -trapcirclestonebrick,97,5 -trapcistonebrick,97,5 -trapcisbrick,97,5 -monstereggcirclestonebrick,97,5 -monstereggcistonebrick,97,5 -monstereggcisbrick,97,5 -meggcirclestonebrick,97,5 -meggcistonebrick,97,5 -meggcisbrick,97,5 -mecirclestonebrick,97,5 -mecistonebrick,97,5 -mecisbrick,97,5 -stonebrick,98,0 -stonebricks,98,0 -stonebrickblock,98,0 -stonebb,98,0 -sbrick,98,0 -mossystonebrick,98,1 -mossystonebricks,98,1 -mossystonebrickblock,98,1 -mossystonebb,98,1 -mossstonebrick,98,1 -mossstonebricks,98,1 -mossstonebrickblock,98,1 -mossstonebb,98,1 -mstonebrick,98,1 -mstonebricks,98,1 -mstonebrickblock,98,1 -mstonebb,98,1 -mosssbrick,98,1 -mosssbricks,98,1 -mosssbrickblock,98,1 -mosssbb,98,1 -msbrick,98,1 -msbricks,98,1 -msbrickblock,98,1 -csbrick,98,2 -crackedstone,98,2 -crackedstonebrick,98,2 -crackedstonebricks,98,2 -crackedstonebrickblock,98,2 -crackedstonebb,98,2 -crackstonebrick,98,2 -crackstonebricks,98,2 -crackstonebrickblock,98,2 -crackstonebb,98,2 -crstonebrick,98,2 -crstonebricks,98,2 -crstonebrickblock,98,2 -crstonebb,98,2 -cracksbrick,98,2 -cracksbricks,98,2 -cracksbrickblock,98,2 -cracksbb,98,2 -crsbrick,98,2 -crsbricks,98,2 -crsbrickblock,98,2 -crstone,98,3 -circlestone,98,3 -circlestonebrick,98,3 -circlestonebricks,98,3 -circlestonebrickblock,98,3 -circlestonebb,98,3 -cistonebrick,98,3 -cistonebricks,98,3 -cistonebrickblock,98,3 -cistonebb,98,3 -circlesbrick,98,3 -circlesbricks,98,3 -circlesbrickblock,98,3 -circlesbb,98,3 -cisbrick,98,3 -cisbricks,98,3 -cisbrickblock,98,3 -giantbrownmushroom,99,0 -hugebrownmushroom,99,0 -bigbrownmushroom,99,0 -gbrownmushroom,99,0 -hbrownmushroom,99,0 -bbrownmushroom,99,0 -giantbmushroom,99,0 -hugebmushroom,99,0 -bigbmushroom,99,0 -gbmushroom,99,0 -hbmushroom,99,0 -bbmushroom,99,0 -giantbrownmush,99,0 -hugebrownmush,99,0 -bigbrownmush,99,0 -gbrownmush,99,0 -hbrownmush,99,0 -bbrownmush,99,0 -giantbmush,99,0 -hugebmush,99,0 -bigbmush,99,0 -gbmush,99,0 -hbmush,99,0 -bbmush,99,0 -giantredmushroom,100,0 -hugeredmushroom,100,0 -bigredmushroom,100,0 -gredmushroom,100,0 -hredmushroom,100,0 -bredmushroom,100,0 -giantrmushroom,100,0 -hugermushroom,100,0 -bigrmushroom,100,0 -grmushroom,100,0 -hrmushroom,100,0 -brmushroom,100,0 -giantredmush,100,0 -hugeredmush,100,0 -bigredmush,100,0 -gredmush,100,0 -hredmush,100,0 -bredmush,100,0 -giantrmush,100,0 -hugermush,100,0 -bigrmush,100,0 -grmush,100,0 -hrmush,100,0 -brmush,100,0 -ironbars,101,0 -ironbarsb,101,0 -ironbarsblock,101,0 -ironfence,101,0 -metalbars,101,0 -metalbarsb,101,0 -metalbarsblock,101,0 -metalfence,101,0 -jailbars,101,0 -jailbarsb,101,0 -jailbarsblock,101,0 -jailfence,101,0 -mbars,101,0 -mbarsb,101,0 -mbarsblock,101,0 -mfence,101,0 -jbars,101,0 -jbarsb,101,0 -jbarsblock,101,0 -jfence,101,0 -ibars,101,0 -ibarsb,101,0 -ibarsblock,101,0 -ifence,101,0 -glasspane,102,0 -glassp,102,0 -paneglass,102,0 -pglass,102,0 -flatglass,102,0 -fglass,102,0 -skinnyglass,102,0 -glassflat,102,0 -glassf,102,0 -glassskinny,102,0 -glasss,102,0 -melon,103,0 -watermelon,103,0 -greenmelon,103,0 -melongreen,103,0 -melonblock,103,0 -watermelonblock,103,0 -greenmelonblock,103,0 -vines,106,0 -vine,106,0 -greenvines,106,0 -greenvine,106,0 -gardenvines,106,0 -gardenvine,106,0 -vinesgreen,106,0 -vinegreen,106,0 -vinesgarden,106,0 -vinegarden,106,0 -vinesg,106,0 -vineg,106,0 -gvines,106,0 -gvine,106,0 -woodgate,107,0 -woodenfencegate,107,0 -wfencegate,107,0 -woodfencegate,107,0 -woodengate,107,0 -wgate,107,0 -gate,107,0 -gardengate,107,0 -ggate,107,0 -fencegate,107,0 -fgate,107,0 -brickstairs,108,0 -redbrickstairs,108,0 -redbstairs,108,0 -rbrickstairs,108,0 -bstairs,108,0 -redstairs,108,0 -brickstair,108,0 -redbrickstair,108,0 -redbstair,108,0 -rbrickstair,108,0 -bstair,108,0 -redstair,108,0 -sbstair,109,0 -stonebrickstairs,109,0 -stonebstairs,109,0 -sbstairs,109,0 -cementbrickstairs,109,0 -cementstairs,109,0 -cementbstairs,109,0 -cbstairs,109,0 -greybrickstairs,109,0 -greybstairs,109,0 -greystairs,109,0 -mycelium,110,0 -purplegrass,110,0 -pinkgrass,110,0 -mycel,110,0 -swampgrass,110,0 -sgrass,110,0 -mushroomgrass,110,0 -mushgrass,110,0 -lilypad,111,0 -waterlily,111,0 -lily,111,0 -swamppad,111,0 -lpad,111,0 -wlily,111,0 -netherbrickblock,112,0 -hellbrickblock,112,0 -deathbrickblock,112,0 -nbrickblock,112,0 -hbrickblock,112,0 -dbrickblock,112,0 -netherbblock,112,0 -hellbblock,112,0 -deathbblock,112,0 -nbblock,112,0 -hbblock,112,0 -dbblock,112,0 -netherbrickfence,113,0 -hellbrickfence,113,0 -nbrickfence,113,0 -hbrickfence,113,0 -netherbfence,113,0 -hellbfence,113,0 -netherfence,113,0 -hellfence,113,0 -nbfence,113,0 -hbfence,113,0 -nfence,113,0 -hfence,113,0 -netherbrickstairs,114,0 -hellbrickstairs,114,0 -nbrickstairs,114,0 -hbrickstairs,114,0 -netherbstairs,114,0 -hellbstairs,114,0 -netherstairs,114,0 -hellstairs,114,0 -nbstairs,114,0 -hbstairs,114,0 -nstairs,114,0 -hstairs,114,0 -netherbrickstair,114,0 -hellbrickstair,114,0 -nbrickstair,114,0 -hbrickstair,114,0 -netherbstair,114,0 -hellbstair,114,0 -netherstair,114,0 -hellstair,114,0 -nbstair,114,0 -hbstair,114,0 -nstair,114,0 -hstair,114,0 -enchantmenttable,116,0 -enchantingtable,116,0 -enchanttable,116,0 -etable,116,0 -magicaltable,116,0 -magictable,116,0 -mtable,116,0 -enchantmentdesk,116,0 -enchantingdesk,116,0 -enchantdesk,116,0 -edesk,116,0 -magicaldesk,116,0 -magicdesk,116,0 -mdesk,116,0 -booktable,116,0 -bookdesk,116,0 -btable,116,0 -bdesk,116,0 -enderportal,119,0 -endergoo,119,0 -endgoo,119,0 -endportal,119,0 -egoo,119,0 -eportal,119,0 -enderportalframe,120,0 -endportalframe,120,0 -endgooframe,120,0 -endergooframe,120,0 -egooframe,120,0 -eportalframe,120,0 -enderframe,120,0 -endframe,120,0 -enderstone,121,0 -endstone,121,0 -endrock,121,0 -enderrock,121,0 -erock,121,0 -estone,121,0 -enderdragonegg,122,0 -endegg,122,0 -dragonegg,122,0 -degg,122,0 -bossegg,122,0 -begg,122,0 -redstonelamp,123,0 -redlamp,123,0 -rslamp,123,0 -woodendoublestep,125,0 -woodendstep,125,0 -wooddoublestep,125,0 -wooddstep,125,0 -wdoublestep,125,0 -wdstep,125,0 -doublewoodenstep,125,0 -dwoodenstep,125,0 -doublewoodstep,125,0 -dwoodstep,125,0 -doublewstep,125,0 -dwstep,125,0 -woodendoubleslab,125,0 -woodendslab,125,0 -wooddoubleslab,125,0 -wooddslab,125,0 -wdoubleslab,125,0 -wdslab,125,0 -doublewoodenslab,125,0 -dwoodenslab,125,0 -doublewoodslab,125,0 -dwoodslab,125,0 -doublewslab,125,0 -dwslab,125,0 -woodendoublehalfblock,125,0 -woodendhalfblock,125,0 -wooddoublehalfblock,125,0 -wooddhalfblock,125,0 -wdoublehalfblock,125,0 -wdhalfblock,125,0 -doublewoodenhalfblock,125,0 -dwoodenhalfblock,125,0 -doublewoodhalfblock,125,0 -dwoodhalfblock,125,0 -doublewhalfblock,125,0 -dwhalfblock,125,0 -oakwoodendoublehalfblock,125,0 -oakwoodendhalfblock,125,0 -oakwooddoublehalfblock,125,0 -oakwooddhalfblock,125,0 -oakwdoublehalfblock,125,0 -oakwdhalfblock,125,0 -oakdoublewoodenhalfblock,125,0 -oakdwoodenhalfblock,125,0 -oakdoublewoodhalfblock,125,0 -oakdwoodhalfblock,125,0 -oakdoublewhalfblock,125,0 -oakdwhalfblock,125,0 -oakdoublehalfblock,125,0 -oakdhalfblock,125,0 -odhalfblock,125,0 -oakwoodendoublestep,125,0 -oakwoodendstep,125,0 -oakwooddoublestep,125,0 -oakwooddstep,125,0 -oakwdoublestep,125,0 -oakwdstep,125,0 -oakdoublewoodenstep,125,0 -oakdwoodenstep,125,0 -oakdoublewoodstep,125,0 -oakdwoodstep,125,0 -oakdoublewstep,125,0 -oakdwstep,125,0 -oakdoublestep,125,0 -oakdstep,125,0 -odstep,125,0 -oakwoodendoubleslab,125,0 -oakwoodendslab,125,0 -oakwooddoubleslab,125,0 -oakwooddslab,125,0 -oakwdoubleslab,125,0 -oakwdslab,125,0 -oakdoublewoodenslab,125,0 -oakdwoodenslab,125,0 -oakdoublewoodslab,125,0 -oakdwoodslab,125,0 -oakdoublewslab,125,0 -oakdwslab,125,0 -oakdoubleslab,125,0 -oakdslab,125,0 -odslab,125,0 -sprucewoodendoublestep,125,1 -sprucewoodendstep,125,1 -sprucewooddoublestep,125,1 -sprucewooddstep,125,1 -sprucewdoublestep,125,1 -sprucewdstep,125,1 -sprucedoublewoodenstep,125,1 -sprucedwoodenstep,125,1 -sprucedoublewoodstep,125,1 -sprucedwoodstep,125,1 -sprucedoublewstep,125,1 -sprucedwstep,125,1 -sprucedoublestep,125,1 -sprucedstep,125,1 -sprucewoodendoubleslab,125,1 -sprucewoodendslab,125,1 -sprucewooddoubleslab,125,1 -sprucewooddslab,125,1 -sprucewdoubleslab,125,1 -sprucewdslab,125,1 -sprucedoublewoodenslab,125,1 -sprucedwoodenslab,125,1 -sprucedoublewoodslab,125,1 -sprucedwoodslab,125,1 -sprucedoublewslab,125,1 -sprucedwslab,125,1 -sprucedoubleslab,125,1 -sprucedslab,125,1 -sprucewoodendoublehalfblock,125,1 -sprucewoodendhalfblock,125,1 -sprucewooddoublehalfblock,125,1 -sprucewooddhalfblock,125,1 -sprucewdoublehalfblock,125,1 -sprucewdhalfblock,125,1 -sprucedoublewoodenhalfblock,125,1 -sprucedwoodenhalfblock,125,1 -sprucedoublewoodhalfblock,125,1 -sprucedwoodhalfblock,125,1 -sprucedoublewhalfblock,125,1 -sprucedwhalfblock,125,1 -sprucedoublehalfblock,125,1 -sprucedhalfblock,125,1 -darkwoodendoublestep,125,1 -darkwoodendstep,125,1 -darkwooddoublestep,125,1 -darkwooddstep,125,1 -darkwdoublestep,125,1 -darkwdstep,125,1 -darkdoublewoodenstep,125,1 -darkdwoodenstep,125,1 -darkdoublewoodstep,125,1 -darkdwoodstep,125,1 -darkdoublewstep,125,1 -darkdwstep,125,1 -darkdoublestep,125,1 -darkdstep,125,1 -ddstep,125,1 -darkwoodendoubleslab,125,1 -darkwoodendslab,125,1 -darkwooddoubleslab,125,1 -darkwooddslab,125,1 -darkwdoubleslab,125,1 -darkwdslab,125,1 -darkdoublewoodenslab,125,1 -darkdwoodenslab,125,1 -darkdoublewoodslab,125,1 -darkdwoodslab,125,1 -darkdoublewslab,125,1 -darkdwslab,125,1 -darkdoubleslab,125,1 -darkdslab,125,1 -ddslab,125,1 -darkwoodendoublehalfblock,125,1 -darkwoodendhalfblock,125,1 -darkwooddoublehalfblock,125,1 -darkwooddhalfblock,125,1 -darkwdoublehalfblock,125,1 -darkwdhalfblock,125,1 -darkdoublewoodenhalfblock,125,1 -darkdwoodenhalfblock,125,1 -darkdoublewoodhalfblock,125,1 -darkdwoodhalfblock,125,1 -darkdoublewhalfblock,125,1 -darkdwhalfblock,125,1 -darkdoublehalfblock,125,1 -darkdhalfblock,125,1 -ddhalfblock,125,1 -birchwoodendoublestep,125,2 -birchwoodendstep,125,2 -birchwooddoublestep,125,2 -birchwooddstep,125,2 -birchwdoublestep,125,2 -birchwdstep,125,2 -birchdoublewoodenstep,125,2 -birchdwoodenstep,125,2 -birchdoublewoodstep,125,2 -birchdwoodstep,125,2 -birchdoublewstep,125,2 -birchdwstep,125,2 -birchdoublestep,125,2 -birchdstep,125,2 -birchwoodendoubleslab,125,2 -birchwoodendslab,125,2 -birchwooddoubleslab,125,2 -birchwooddslab,125,2 -birchwdoubleslab,125,2 -birchwdslab,125,2 -birchdoublewoodenslab,125,2 -birchdwoodenslab,125,2 -birchdoublewoodslab,125,2 -birchdwoodslab,125,2 -birchdoublewslab,125,2 -birchdwslab,125,2 -birchdoubleslab,125,2 -birchdslab,125,2 -birchwoodendoublehalfblock,125,2 -birchwoodendhalfblock,125,2 -birchwooddoublehalfblock,125,2 -birchwooddhalfblock,125,2 -birchwdoublehalfblock,125,2 -birchwdhalfblock,125,2 -birchdoublewoodenhalfblock,125,2 -birchdwoodenhalfblock,125,2 -birchdoublewoodhalfblock,125,2 -birchdwoodhalfblock,125,2 -birchdoublewhalfblock,125,2 -birchdwhalfblock,125,2 -birchdoublehalfblock,125,2 -birchdhalfblock,125,2 -lightwoodendoublehalfblock,125,2 -lightwoodendhalfblock,125,2 -lightwooddoublehalfblock,125,2 -lightwooddhalfblock,125,2 -lightwdoublehalfblock,125,2 -lightwdhalfblock,125,2 -lightdoublewoodenhalfblock,125,2 -lightdwoodenhalfblock,125,2 -lightdoublewoodhalfblock,125,2 -lightdwoodhalfblock,125,2 -lightdoublewhalfblock,125,2 -lightdwhalfblock,125,2 -lightdoublehalfblock,125,2 -lightdhalfblock,125,2 -ldhalfblock,125,2 -lightwoodendoublestep,125,2 -lightwoodendstep,125,2 -lightwooddoublestep,125,2 -lightwooddstep,125,2 -lightwdoublestep,125,2 -lightwdstep,125,2 -lightdoublewoodenstep,125,2 -lightdwoodenstep,125,2 -lightdoublewoodstep,125,2 -lightdwoodstep,125,2 -lightdoublewstep,125,2 -lightdwstep,125,2 -lightdoublestep,125,2 -lightdstep,125,2 -ldstep,125,2 -lightwoodendoubleslab,125,2 -lightwoodendslab,125,2 -lightwooddoubleslab,125,2 -lightwooddslab,125,2 -lightwdoubleslab,125,2 -lightwdslab,125,2 -lightdoublewoodenslab,125,2 -lightdwoodenslab,125,2 -lightdoublewoodslab,125,2 -lightdwoodslab,125,2 -lightdoublewslab,125,2 -lightdwslab,125,2 -lightdoubleslab,125,2 -lightdslab,125,2 -ldslab,125,2 -junglewoodendoublestep,125,3 -junglewoodendstep,125,3 -junglewooddoublestep,125,3 -junglewooddstep,125,3 -junglewdoublestep,125,3 -junglewdstep,125,3 -jungledoublewoodenstep,125,3 -jungledwoodenstep,125,3 -jungledoublewoodstep,125,3 -jungledwoodstep,125,3 -jungledoublewstep,125,3 -jungledwstep,125,3 -jungledoublestep,125,3 -jungledstep,125,3 -jdstep,125,3 -junglewoodendoubleslab,125,3 -junglewoodendslab,125,3 -junglewooddoubleslab,125,3 -junglewooddslab,125,3 -junglewdoubleslab,125,3 -junglewdslab,125,3 -jungledoublewoodenslab,125,3 -jungledwoodenslab,125,3 -jungledoublewoodslab,125,3 -jungledwoodslab,125,3 -jungledoublewslab,125,3 -jungledwslab,125,3 -jungledoubleslab,125,3 -jungledslab,125,3 -jdslab,125,3 -junglewoodendoublehalfblock,125,3 -junglewoodendhalfblock,125,3 -junglewooddoublehalfblock,125,3 -junglewooddhalfblock,125,3 -junglewdoublehalfblock,125,3 -junglewdhalfblock,125,3 -jungledoublewoodenhalfblock,125,3 -jungledwoodenhalfblock,125,3 -jungledoublewoodhalfblock,125,3 -jungledwoodhalfblock,125,3 -jungledoublewhalfblock,125,3 -jungledwhalfblock,125,3 -jungledoublehalfblock,125,3 -jungledhalfblock,125,3 -jdhalfblock,125,3 -forestwoodendoublehalfblock,125,3 -forestwoodendhalfblock,125,3 -forestwooddoublehalfblock,125,3 -forestwooddhalfblock,125,3 -forestwdoublehalfblock,125,3 -forestwdhalfblock,125,3 -forestdoublewoodenhalfblock,125,3 -forestdwoodenhalfblock,125,3 -forestdoublewoodhalfblock,125,3 -forestdwoodhalfblock,125,3 -forestdoublewhalfblock,125,3 -forestdwhalfblock,125,3 -forestdoublehalfblock,125,3 -forestdhalfblock,125,3 -fdhalfblock,125,3 -forestwoodendoublestep,125,3 -forestwoodendstep,125,3 -forestwooddoublestep,125,3 -forestwooddstep,125,3 -forestwdoublestep,125,3 -forestwdstep,125,3 -forestdoublewoodenstep,125,3 -forestdwoodenstep,125,3 -forestdoublewoodstep,125,3 -forestdwoodstep,125,3 -forestdoublewstep,125,3 -forestdwstep,125,3 -forestdoublestep,125,3 -forestdstep,125,3 -fdstep,125,3 -forestwoodendoubleslab,125,3 -forestwoodendslab,125,3 -forestwooddoubleslab,125,3 -forestwooddslab,125,3 -forestwdoubleslab,125,3 -forestwdslab,125,3 -forestdoublewoodenslab,125,3 -forestdwoodenslab,125,3 -forestdoublewoodslab,125,3 -forestdwoodslab,125,3 -forestdoublewslab,125,3 -forestdwslab,125,3 -forestdoubleslab,125,3 -forestdslab,125,3 -fdslab,125,3 -acaciawoodendoublestep,125,4 -acaciawoodendstep,125,4 -acaciawooddoublestep,125,4 -acaciawooddstep,125,4 -acaciawdoublestep,125,4 -acaciawdstep,125,4 -acaciadoublewoodenstep,125,4 -acaciadwoodenstep,125,4 -acaciadoublewoodstep,125,4 -acaciadwoodstep,125,4 -acaciadoublewstep,125,4 -acaciadwstep,125,4 -acaciadoublestep,125,4 -acaciadstep,125,4 -adstep,125,4 -acaciawoodendoubleslab,125,4 -acaciawoodendslab,125,4 -acaciawooddoubleslab,125,4 -acaciawooddslab,125,4 -acaciawdoubleslab,125,4 -acaciawdslab,125,4 -acaciadoublewoodenslab,125,4 -acaciadwoodenslab,125,4 -acaciadoublewoodslab,125,4 -acaciadwoodslab,125,4 -acaciadoublewslab,125,4 -acaciadwslab,125,4 -acaciadoubleslab,125,4 -acaciadslab,125,4 -adslab,125,4 -acaciawoodendoublehalfblock,125,4 -acaciawoodendhalfblock,125,4 -acaciawooddoublehalfblock,125,4 -acaciawooddhalfblock,125,4 -acaciawdoublehalfblock,125,4 -acaciawdhalfblock,125,4 -acaciadoublewoodenhalfblock,125,4 -acaciadwoodenhalfblock,125,4 -acaciadoublewoodhalfblock,125,4 -acaciadwoodhalfblock,125,4 -acaciadoublewhalfblock,125,4 -acaciadwhalfblock,125,4 -acaciadoublehalfblock,125,4 -acaciadhalfblock,125,4 -adhalfblock,125,4 -darkoakwoodendoublehalfblock,125,5 -darkoakwoodendhalfblock,125,5 -darkoakwooddoublehalfblock,125,5 -darkoakwooddhalfblock,125,5 -darkoakwdoublehalfblock,125,5 -darkoakwdhalfblock,125,5 -darkoakdoublewoodenhalfblock,125,5 -darkoakdwoodenhalfblock,125,5 -darkoakdoublewoodhalfblock,125,5 -darkoakdwoodhalfblock,125,5 -darkoakdoublewhalfblock,125,5 -darkoakdwhalfblock,125,5 -darkoakdoublehalfblock,125,5 -darkoakdhalfblock,125,5 -dodhalfblock,125,5 -darkoakwoodendoublestep,125,5 -darkoakwoodendstep,125,5 -darkoakwooddoublestep,125,5 -darkoakwooddstep,125,5 -darkoakwdoublestep,125,5 -darkoakwdstep,125,5 -darkoakdoublewoodenstep,125,5 -darkoakdwoodenstep,125,5 -darkoakdoublewoodstep,125,5 -darkoakdwoodstep,125,5 -darkoakdoublewstep,125,5 -darkoakdwstep,125,5 -darkoakdoublestep,125,5 -darkoakdstep,125,5 -dodstep,125,5 -darkoakwoodendoubleslab,125,5 -darkoakwoodendslab,125,5 -darkoakwooddoubleslab,125,5 -darkoakwooddslab,125,5 -darkoakwdoubleslab,125,5 -darkoakwdslab,125,5 -darkoakdoublewoodenslab,125,5 -darkoakdwoodenslab,125,5 -darkoakdoublewoodslab,125,5 -darkoakdwoodslab,125,5 -darkoakdoublewslab,125,5 -darkoakdwslab,125,5 -darkoakdoubleslab,125,5 -darkoakdslab,125,5 -dodslab,125,5 -woodenstep,126,0 -woodstep,126,0 -wstep,126,0 -woodenslab,126,0 -woodslab,126,0 -wslab,126,0 -woodenhalfblock,126,0 -woodhalfblock,126,0 -whalfblock,126,0 -oakwoodenstep,126,0 -oakwoodstep,126,0 -oakwstep,126,0 -oakstep,126,0 -ostep,126,0 -oakwoodenslab,126,0 -oakwoodslab,126,0 -oakwslab,126,0 -oakslab,126,0 -oslab,126,0 -oakwoodenhalfblock,126,0 -oakwoodhalfblock,126,0 -oakwhalfblock,126,0 -oakhalfblock,126,0 -ohalfblock,126,0 -spslab,126,1 -spstep,126,1 -sprucewoodenstep,126,1 -sprucewoodstep,126,1 -sprucewstep,126,1 -sprucestep,126,1 -sprucewoodenslab,126,1 -sprucewoodslab,126,1 -sprucewslab,126,1 -spruceslab,126,1 -sprucewoodenhalfblock,126,1 -sprucewoodhalfblock,126,1 -sprucewhalfblock,126,1 -sprucehalfblock,126,1 -darkwoodenstep,126,1 -darkwoodstep,126,1 -darkwstep,126,1 -darkstep,126,1 -darkwoodenslab,126,1 -darkwoodslab,126,1 -darkwslab,126,1 -darkslab,126,1 -darkwoodenhalfblock,126,1 -darkwoodhalfblock,126,1 -darkwhalfblock,126,1 -darkhalfblock,126,1 -birchwoodenstep,126,2 -birchwoodstep,126,2 -birchwstep,126,2 -birchstep,126,2 -birchwoodenslab,126,2 -birchwoodslab,126,2 -birchwslab,126,2 -birchslab,126,2 -birchwoodenhalfblock,126,2 -birchwoodhalfblock,126,2 -birchwhalfblock,126,2 -birchhalfblock,126,2 -lightwoodenstep,126,2 -lightwoodstep,126,2 -lightwstep,126,2 -lightstep,126,2 -lstep,126,2 -lightwoodenslab,126,2 -lightwoodslab,126,2 -lightwslab,126,2 -lightslab,126,2 -lslab,126,2 -lightwoodenhalfblock,126,2 -lightwoodhalfblock,126,2 -lightwhalfblock,126,2 -lighthalfblock,126,2 -lhalfblock,126,2 -junglewoodenstep,126,3 -junglewoodstep,126,3 -junglewstep,126,3 -junglestep,126,3 -jstep,126,3 -junglewoodenslab,126,3 -junglewoodslab,126,3 -junglewslab,126,3 -jungleslab,126,3 -jslab,126,3 -junglewoodenhalfblock,126,3 -junglewoodhalfblock,126,3 -junglewhalfblock,126,3 -junglehalfblock,126,3 -jhalfblock,126,3 -forestwoodenstep,126,3 -forestwoodstep,126,3 -forestwstep,126,3 -foreststep,126,3 -fstep,126,3 -forestwoodenslab,126,3 -forestwoodslab,126,3 -forestwslab,126,3 -forestslab,126,3 -fslab,126,3 -forestwoodenhalfblock,126,3 -forestwoodhalfblock,126,3 -forestwhalfblock,126,3 -foresthalfblock,126,3 -fhalfblock,126,3 -acaciawoodenstep,126,4 -acaciawoodstep,126,4 -acaciawstep,126,4 -acaciastep,126,4 -astep,126,4 -acaciawoodenslab,126,4 -acaciawoodslab,126,4 -acaciawslab,126,4 -acaciaslab,126,4 -aslab,126,4 -acaciawoodenhalfblock,126,4 -acaciawoodhalfblock,126,4 -acaciawhalfblock,126,4 -acaciahalfblock,126,4 -ahalfblock,126,4 -darkoakwoodenstep,126,5 -darkoakwoodstep,126,5 -darkoakwstep,126,5 -darkoakstep,126,5 -dostep,126,5 -darkoakwoodenslab,126,5 -darkoakwoodslab,126,5 -darkoakwslab,126,5 -darkoakslab,126,5 -doslab,126,5 -darkoakwoodenhalfblock,126,5 -darkoakwoodhalfblock,126,5 -darkoakwhalfblock,126,5 -darkoakhalfblock,126,5 -dohalfblock,126,5 -cocoaplant,127,0 -cocoplant,127,0 -cplant,127,0 -cocoafruit,127,0 -cocofruit,127,0 -cfruit,127,0 -cocoapod,127,0 -cocopod,127,0 -cpod,127,0 -sandstonestairs,128,0 -sandstairs,128,0 -sandsstairs,128,0 -sstonestairs,128,0 -ssstairs,128,0 -sandstair,128,0 -sandstonestair,128,0 -sandsstair,128,0 -sstonestair,128,0 -ssstair,128,0 -emeraldore,129,0 -eore,129,0 -oreemerald,129,0 -oree,129,0 -enderchest,130,0 -endchest,130,0 -echest,130,0 -chestender,130,0 -chestend,130,0 -cheste,130,0 -endercontainer,130,0 -endcontainer,130,0 -econtainer,130,0 -tripwirehook,131,0 -tripwire,131,0 -trip,131,0 -tripwirelever,131,0 -triphook,131,0 -emeraldblock,133,0 -blockemerald,133,0 -eblock,133,0 -blocke,133,0 -sprucewoodenstairs,134,0 -sprucewoodstairs,134,0 -sprucewstairs,134,0 -sprucestairs,134,0 -darkwoodenstairs,134,0 -darkwoodstairs,134,0 -darkwstairs,134,0 -darkstairs,134,0 -dstairs,134,0 -sprucewoodenstair,134,0 -sprucewoodstair,134,0 -sprucewstair,134,0 -sprucestair,134,0 -darkwoodenstair,134,0 -darkwoodstair,134,0 -darkwstair,134,0 -darkstair,134,0 -dstair,134,0 -birchwoodenstairs,135,0 -birchwoodstairs,135,0 -birchwstairs,135,0 -birchstairs,135,0 -lightwoodenstairs,135,0 -lightwoodstairs,135,0 -lightwstairs,135,0 -lightstairs,135,0 -lstairs,135,0 -birchwoodenstair,135,0 -birchwoodstair,135,0 -birchwstair,135,0 -birchstair,135,0 -lightwoodenstair,135,0 -lightwoodstair,135,0 -lightwstair,135,0 -lightstair,135,0 -lstair,135,0 -junglewoodenstairs,136,0 -junglewoodstairs,136,0 -junglewstairs,136,0 -junglestairs,136,0 -jstairs,136,0 -forestwoodenstairs,136,0 -forestwoodstairs,136,0 -forestwstairs,136,0 -foreststairs,136,0 -fstairs,136,0 -junglewoodenstair,136,0 -junglewoodstair,136,0 -junglewstair,136,0 -junglestair,136,0 -jstair,136,0 -forestwoodenstair,136,0 -forestwoodstair,136,0 -forestwstair,136,0 -foreststair,136,0 -fstair,136,0 -commandblock,137,0 -blockcommand,137,0 -cmdblock,137,0 -blockcmd,137,0 -macroblock,137,0 -blockmacro,137,0 -beacon,138,0 -beaconblock,138,0 -cobblestonewall,139,0 -cstonewall,139,0 -cobblewall,139,0 -cobblestonefence,139,0 -cstonefence,139,0 -cobblefence,139,0 -cswall,139,0 -csfence,139,0 -cwall,139,0 -cfence,139,0 -mcswall,139,0 -mcsfence,139,0 -mcfence,139,0 -mcwall,139,1 -mosscobblestonewall,139,1 -mosscstonewall,139,1 -mosscobblewall,139,1 -mcobblestonewall,139,1 -mcstonewall,139,1 -mcobblewall,139,1 -mosscobblestonefence,139,1 -mosscstonefence,139,1 -mosscobblefence,139,1 -mcobblestonefence,139,1 -mcstonefence,139,1 -mcobblefence,139,1 -plantedcarrot,141,0 -plantcarrot,141,0 -carrots,141,0 -growingcarrot,141,0 -potatoplant,142,0 -potatoes,142,0 -plantedpotato,142,0 -plantpotato,142,0 -growingpotato,142,0 -woodenbutton,143,0 -woodenplankbutton,143,0 -woodplankbutton,143,0 -wplankbutton,143,0 -plankbutton,143,0 -woodbutton,143,0 -wbutton,143,0 -anvil,145,0 -slightlydamagedanvil,145,1 -slightdamageanvil,145,1 -damagedanvil,145,1 -verydamagedanvil,145,2 -trapchest,146,0 -trappedchest,146,0 -chesttrapped,146,0 -chesttrap,146,0 -goldpressureplate,147,0 -weightedgoldpressureplate,147,0 -weightgoldpressureplate,147,0 -wgoldpressureplate,147,0 -weightedgoldpressplate,147,0 -weightgoldpressplate,147,0 -wgoldpressplate,147,0 -goldpressplate,147,0 -weightedgoldpplate,147,0 -weightgoldpplate,147,0 -wgoldpplate,147,0 -goldpplate,147,0 -weightedgoldplate,147,0 -weightgoldplate,147,0 -wgoldplate,147,0 -goldplate,147,0 -weightedgpressureplate,147,0 -weightgpressureplate,147,0 -wgpressureplate,147,0 -gpressureplate,147,0 -weightedgpressplate,147,0 -weightgpressplate,147,0 -wgpressplate,147,0 -gpressplate,147,0 -weightedgpplate,147,0 -weightgpplate,147,0 -wgpplate,147,0 -gpplate,147,0 -weightedgplate,147,0 -weightgplate,147,0 -wgplate,147,0 -gplate,147,0 -ironpressureplate,148,0 -weightedironpressureplate,148,0 -weightironpressureplate,148,0 -wironpressureplate,148,0 -weightedironpressplate,148,0 -weightironpressplate,148,0 -wironpressplate,148,0 -ironpressplate,148,0 -weightedironpplate,148,0 -weightironpplate,148,0 -wironpplate,148,0 -ironpplate,148,0 -weightedironplate,148,0 -weightironplate,148,0 -wironplate,148,0 -ironplate,148,0 -weightedipressureplate,148,0 -weightipressureplate,148,0 -wipressureplate,148,0 -ipressureplate,148,0 -weightedipressplate,148,0 -weightipressplate,148,0 -wipressplate,148,0 -ipressplate,148,0 -weightedipplate,148,0 -weightipplate,148,0 -wipplate,148,0 -ipplate,148,0 -weightediplate,148,0 -weightiplate,148,0 -wiplate,148,0 -iplate,148,0 -daylightsensor,151,0 -daylightsense,151,0 -lightsensor,151,0 -lightsense,151,0 -daysensor,151,0 -daysense,151,0 -timesensor,151,0 -timesense,151,0 -redstoneblock,152,0 -rstoneblock,152,0 -redsblock,152,0 -rsblock,152,0 -blockredstone,152,0 -blockrstone,152,0 -blockreds,152,0 -blockrs,152,0 -netherquartzore,153,0 -hellquartzore,153,0 -deathquartzore,153,0 -nquartzore,153,0 -hquartzore,153,0 -dquartzore,153,0 -quartzore,153,0 -netherqore,153,0 -hellqore,153,0 -deathqore,153,0 -nqore,153,0 -hqore,153,0 -dqore,153,0 -qore,153,0 -hopper,154,0 -chestpuller,154,0 -chestpull,154,0 -cheststorer,154,0 -cheststore,154,0 -itempuller,154,0 -itempull,154,0 -itemstorer,154,0 -itemstore,154,0 -quartzblock,155,0 -netherquartzblock,155,0 -nqblock,155,0 -qblock,155,0 -chiseledquartzblock,155,1 -chiselquartzblock,155,1 -cquartzblock,155,1 -cqblock,155,1 -pillarquartzblock,155,2 -pquartzblock,155,2 -pqblock,155,2 -quartzstairs,156,0 -qstairs,156,0 -quartzstair,156,0 -qstair,156,0 -activatorrails,157,0 -activaterails,157,0 -triggerrails,157,0 -arails,157,0 -trails,157,0 -activatorrail,157,0 -activaterail,157,0 -triggerrail,157,0 -arail,157,0 -trail,157,0 -activatortrack,157,0 -activatetrack,157,0 -triggertrack,157,0 -atrack,157,0 -ttrack,157,0 -dropper,158,0 -drop,158,0 -chestdispenser,158,0 -chestdispense,158,0 -chestdropper,158,0 -chestdrop,158,0 -whiteclay,159,0 -whitesclay,159,0 -whitestainedclay,159,0 -wclay,159,0 -wsclay,159,0 -wstainedclay,159,0 -sclay,159,0 -stainedclay,159,0 -orangeclay,159,1 -orangesclay,159,1 -orangestainedclay,159,1 -oclay,159,1 -osclay,159,1 -ostainedclay,159,1 -magentaclay,159,2 -magentasclay,159,2 -magentastainedclay,159,2 -mclay,159,2 -msclay,159,2 -mstainedclay,159,2 -lightblueclay,159,3 -lightbluesclay,159,3 -lightbluestainedclay,159,3 -lblueclay,159,3 -lbluesclay,159,3 -lbluestainedclay,159,3 -lightbluclay,159,3 -lightblusclay,159,3 -lightblustainedclay,159,3 -lbluclay,159,3 -lblusclay,159,3 -lblustainedclay,159,3 -lbclay,159,3 -lbsclay,159,3 -lbstainedclay,159,3 -yellowclay,159,4 -yellowsclay,159,4 -yellowstainedclay,159,4 -yclay,159,4 -ysclay,159,4 -ystainedclay,159,4 -lightgreenclay,159,5 -lightgreensclay,159,5 -lightgreenstainedclay,159,5 -lgreenclay,159,5 -lgreensclay,159,5 -lgreenstainedclay,159,5 -lightgreclay,159,5 -lightgresclay,159,5 -lightgrestainedclay,159,5 -lgreclay,159,5 -lgresclay,159,5 -lgrestainedclay,159,5 -limeclay,159,5 -limesclay,159,5 -limestainedclay,159,5 -lclay,159,5 -lsclay,159,5 -lstainedclay,159,5 -pinkclay,159,6 -pinksclay,159,6 -pinkstainedclay,159,6 -piclay,159,6 -pisclay,159,6 -pistainedclay,159,6 -darkgrayclay,159,7 -darkgraysclay,159,7 -darkgraystainedclay,159,7 -dgrayclay,159,7 -dgraysclay,159,7 -dgraystainedclay,159,7 -darkgreyclay,159,7 -darkgreeysclay,159,7 -darkgreystainedclay,159,7 -dgreyclay,159,7 -dgreysclay,159,7 -dgreystainedclay,159,7 -darkgraclay,159,7 -darkgrasclay,159,7 -darkgrastainedclay,159,7 -dgraclay,159,7 -dgrasclay,159,7 -dgrastainedclay,159,7 -grayclay,159,7 -graysclay,159,7 -graystainedclay,159,7 -greyclay,159,7 -greysclay,159,7 -greystainedclay,159,7 -graclay,159,7 -grasclay,159,7 -grastainedclay,159,7 -lgclay,159,8 -lightgrayclay,159,8 -lightgraysclay,159,8 -lightgraystainedclay,159,8 -lgrayclay,159,8 -lgraysclay,159,8 -lgraystainedclay,159,8 -lightgreyclay,159,8 -lightgreysclay,159,8 -lightgreystainedclay,159,8 -lgreyclay,159,8 -lgreysclay,159,8 -lgreystainedclay,159,8 -lightgraclay,159,8 -lightgrasclay,159,8 -lightgrastainedclay,159,8 -lgraclay,159,8 -lgrasclay,159,8 -lgrastainedclay,159,8 -silverclay,159,8 -silversclay,159,8 -silverstainedclay,159,8 -siclay,159,8 -siasclay,159,8 -siastainedclay,159,8 -cyanclay,159,9 -cyansclay,159,9 -cyanstainedclay,159,9 -cclay,159,9 -csclay,159,9 -cstainedclay,159,9 -purpleclay,159,10 -purplesclay,159,10 -purplestainedclay,159,10 -puclay,159,10 -pusclay,159,10 -pustainedclay,159,10 -blueclay,159,11 -bluesclay,159,11 -bluestainedclay,159,11 -bluclay,159,11 -blusclay,159,11 -blustainedclay,159,11 -brownclay,159,12 -brownsclay,159,12 -brownstainedclay,159,12 -broclay,159,12 -brosclay,159,12 -brostainedclay,159,12 -darkgreenclay,159,13 -darkgreensclay,159,13 -darkgreenstainedclay,159,13 -dgreenclay,159,13 -dgreensclay,159,13 -dgreenstainedclay,159,13 -greenclay,159,13 -greensclay,159,13 -greenstainedclay,159,13 -darkgreclay,159,13 -darkgresclay,159,13 -darkgrestainedclay,159,13 -dgreclay,159,13 -dgresclay,159,13 -dgrestainedclay,159,13 -greclay,159,13 -gresclay,159,13 -grestainedclay,159,13 -redclay,159,14 -redsclay,159,14 -redstainedclay,159,14 -rclay,159,14 -rsclay,159,14 -rstainedclay,159,14 -blackclay,159,15 -blacksclay,159,15 -blackstainedclay,159,15 -blaclay,159,15 -blasclay,159,15 -blastainedclay,159,15 -wgpane,160,0 -whiteglasspane,160,0 -whitesglasspane,160,0 -whitestainedglasspane,160,0 -wglasspane,160,0 -wsglasspane,160,0 -wstainedglasspane,160,0 -sglasspane,160,0 -stainedglasspane,160,0 -ogpane,160,1 -orangeglasspane,160,1 -orangesglasspane,160,1 -orangestainedglasspane,160,1 -oglasspane,160,1 -osglasspane,160,1 -ostainedglasspane,160,1 -mgpane,160,2 -magentaglasspane,160,2 -magentasglasspane,160,2 -magentastainedglasspane,160,2 -mglasspane,160,2 -msglasspane,160,2 -mstainedglasspane,160,2 -lbpane,160,3 -lightblueglasspane,160,3 -lightbluesglasspane,160,3 -lightbluestainedglasspane,160,3 -lblueglasspane,160,3 -lbluesglasspane,160,3 -lbluestainedglasspane,160,3 -lightbluglasspane,160,3 -lightblusglasspane,160,3 -lightblustainedglasspane,160,3 -lbluglasspane,160,3 -lblusglasspane,160,3 -lblustainedglasspane,160,3 -lbglasspane,160,3 -lbsglasspane,160,3 -lbstainedglasspane,160,3 -ygpane,160,4 -yellowglasspane,160,4 -yellowsglasspane,160,4 -yellowstainedglasspane,160,4 -yglasspane,160,4 -ysglasspane,160,4 -ystainedglasspane,160,4 -lgrpane,160,5 -lightgreenglasspane,160,5 -lightgreensglasspane,160,5 -lightgreenstainedglasspane,160,5 -lgreenglasspane,160,5 -lgreensglasspane,160,5 -lgreenstainedglasspane,160,5 -lightgreglasspane,160,5 -lightgresglasspane,160,5 -lightgrestainedglasspane,160,5 -lgreglasspane,160,5 -lgresglasspane,160,5 -lgrestainedglasspane,160,5 -limeglasspane,160,5 -limesglasspane,160,5 -limestainedglasspane,160,5 -lglasspane,160,5 -lsglasspane,160,5 -lstainedglasspane,160,5 -pgpane,160,6 -pinkglasspane,160,6 -pinksglasspane,160,6 -pinkstainedglasspane,160,6 -piglasspane,160,6 -pisglasspane,160,6 -pistainedglasspane,160,6 -dgpane,160,7 -darkgrayglasspane,160,7 -darkgraysglasspane,160,7 -darkgraystainedglasspane,160,7 -dgrayglasspane,160,7 -dgraysglasspane,160,7 -dgraystainedglasspane,160,7 -darkgreyglasspane,160,7 -darkgreysglasspane,160,7 -darkgreystainedglasspane,160,7 -dgreyglasspane,160,7 -dgreysglasspane,160,7 -dgreystainedglasspane,160,7 -darkgraglasspane,160,7 -darkgrasglasspane,160,7 -darkgrastainedglasspane,160,7 -dgraglasspane,160,7 -dgrasglasspane,160,7 -dgrastainedglasspane,160,7 -grayglasspane,160,7 -graysglasspane,160,7 -graystainedglasspane,160,7 -greyglasspane,160,7 -greysglasspane,160,7 -greystainedglasspane,160,7 -graglasspane,160,7 -grasglasspane,160,7 -grastainedglasspane,160,7 -lgypane,160,8 -lightgrayglasspane,160,8 -lightgraysglasspane,160,8 -lightgraystainedglasspane,160,8 -lgrayglasspane,160,8 -lgraysglasspane,160,8 -lgraystainedglasspane,160,8 -lightgreyglasspane,160,8 -lightgreysglasspane,160,8 -lightgreystainedglasspane,160,8 -lgreyglasspane,160,8 -lgreysglasspane,160,8 -lgreystainedglasspane,160,8 -lightgraglasspane,160,8 -lightgrasglasspane,160,8 -lightgrastainedglasspane,160,8 -lgraglasspane,160,8 -lgrasglasspane,160,8 -lgrastainedglasspane,160,8 -silverglasspane,160,8 -silversglasspane,160,8 -silverstainedglasspane,160,8 -siglasspane,160,8 -siasglasspane,160,8 -siastainedglasspane,160,8 -cgpane,160,9 -cyanglasspane,160,9 -cyansglasspane,160,9 -cyanstainedglasspane,160,9 -cglasspane,160,9 -csglasspane,160,9 -cstainedglasspane,160,9 -prpane,160,10 -purpleglasspane,160,10 -purplesglasspane,160,10 -purplestainedglasspane,160,10 -puglasspane,160,10 -pusglasspane,160,10 -pustainedglasspane,160,10 -bgpane,160,11 -blueglasspane,160,11 -bluesglasspane,160,11 -bluestainedglasspane,160,11 -bluglasspane,160,11 -blusglasspane,160,11 -blustainedglasspane,160,11 -brgpane,160,12 -brownglasspane,160,12 -brownsglasspane,160,12 -brownstainedglasspane,160,12 -broglasspane,160,12 -brosglasspane,160,12 -brostainedglasspane,160,12 -dgrpane,160,13 -darkgreenglasspane,160,13 -darkgreensglasspane,160,13 -darkgreenstainedglasspane,160,13 -dgreenglasspane,160,13 -dgreensglasspane,160,13 -dgreenstainedglasspane,160,13 -greenglasspane,160,13 -greensglasspane,160,13 -greenstainedglasspane,160,13 -darkgreglasspane,160,13 -darkgresglasspane,160,13 -darkgrestainedglasspane,160,13 -dgreglasspane,160,13 -dgresglasspane,160,13 -dgrestainedglasspane,160,13 -greglasspane,160,13 -gresglasspane,160,13 -grestainedglasspane,160,13 -rgpane,160,14 -redglasspane,160,14 -redsglasspane,160,14 -redstainedglasspane,160,14 -rglasspane,160,14 -rsglasspane,160,14 -rstainedglasspane,160,14 -blgpane,160,15 -blackglasspane,160,15 -blacksglasspane,160,15 -blackstainedglasspane,160,15 -blaglasspane,160,15 -blasglasspane,160,15 -blastainedglasspane,160,15 -acacialeaves,161,0 -acaciatreeleaves,161,0 -acacialogleaves,161,0 -acaciatrunkleaves,161,0 -acaciawoodleaves,161,0 -aleaves,161,0 -atreeleaves,161,0 -alogleaves,161,0 -atrunkleaves,161,0 -awoodleaves,161,0 -acacialeave,161,0 -acaciatreeleave,161,0 -acacialogleave,161,0 -acaciatrunkleave,161,0 -acaciawoodleave,161,0 -aleave,161,0 -atreeleave,161,0 -alogleave,161,0 -atrunkleave,161,0 -awoodleave,161,0 -acaciatreeleaf,161,0 -acacialogleaf,161,0 -acaciatrunkleaf,161,0 -acaciawoodleaf,161,0 -aleaf,161,0 -atreeleaf,161,0 -alogleaf,161,0 -atrunkleaf,161,0 -awoodleaf,161,0 -darkoakleaves,161,1 -darkoaktreeleaves,161,1 -darkoaklogleaves,161,1 -darkoaktrunkleaves,161,1 -darkoakwoodleaves,161,1 -doakleaves,161,1 -doaktreeleaves,161,1 -doaklogleaves,161,1 -doaktrunkleaves,161,1 -doakwoodleaves,161,1 -doleaves,161,1 -dotreeleaves,161,1 -dologleaves,161,1 -dotrunkleaves,161,1 -dowoodleaves,161,1 -darkoakleave,161,1 -darkoaktreeleave,161,1 -darkoaklogleave,161,1 -darkoaktrunkleave,161,1 -darkoakwoodleave,161,1 -doakleave,161,1 -doaktreeleave,161,1 -doaklogleave,161,1 -doaktrunkleave,161,1 -doakwoodleave,161,1 -doleave,161,1 -dotreeleave,161,1 -dologleave,161,1 -dotrunkleave,161,1 -dowoodleave,161,1 -darkoaktreeleaf,161,1 -darkoaklogleaf,161,1 -darkoaktrunkleaf,161,1 -darkoakwoodleaf,161,1 -doakleaf,161,1 -doaktreeleaf,161,1 -doaklogleaf,161,1 -doaktrunkleaf,161,1 -doakwoodleaf,161,1 -doleaf,161,1 -dotreeleaf,161,1 -dologleaf,161,1 -dotrunkleaf,161,1 -dowoodleaf,161,1 -acacia,162,0 -acaciatree,162,0 -acacialog,162,0 -acaciatrunk,162,0 -acaciawood,162,0 -atree,162,0 -alog,162,0 -atrunk,162,0 -awood,162,0 -darkoak,162,1 -darkoaktree,162,1 -darkoaklog,162,1 -darkoaktrunk,162,1 -darkoakwood,162,1 -doak,162,1 -doaktree,162,1 -doaklog,162,1 -doaktrunk,162,1 -doakwood,162,1 -dotree,162,1 -dolog,162,1 -dotrunk,162,1 -dowood,162,1 -acaciawoodenstairs,163,0 -acaciawoodstairs,163,0 -acaciawstairs,163,0 -acaciastairs,163,0 -awoodenstairs,163,0 -awoodstairs,163,0 -awstairs,163,0 -astairs,163,0 -acaciawoodenstair,163,0 -acaciawoodstair,163,0 -acaciawstair,163,0 -acaciastair,163,0 -awoodenstair,163,0 -awoodstair,163,0 -awstair,163,0 -astair,163,0 -darkoakwoodenstairs,164,0 -darkoakwoodstairs,164,0 -darkoakwstairs,164,0 -darkoakstairs,164,0 -doakwoodenstairs,164,0 -doakwoodstairs,164,0 -doakwstairs,164,0 -doakstairs,164,0 -dowoodenstairs,164,0 -dowoodstairs,164,0 -dowstairs,164,0 -dostairs,164,0 -darkoakwoodenstair,164,0 -darkoakwoodstair,164,0 -darkoakwstair,164,0 -darkoakstair,164,0 -doakwoodenstair,164,0 -doakwoodstair,164,0 -doakwstair,164,0 -doakstair,164,0 -dowoodenstair,164,0 -dowoodstair,164,0 -dowstair,164,0 -dostair,164,0 -slime,165,0 -slimeblock,165,0 -barrier,166,0 -barrierblock,166,0 -irontrapdoor,167,0 -itrapdoor,167,0 -irondoortrap,167,0 -idoortrap,167,0 -pris,168,0 -prismarine,168,0 -prismarineblock,168,0 -pbrick,168,1 -prismarinebrick,168,1 -dpris,168,2 -darkprismarine,168,2 -lantern,169,0 -sealantern,169,0 -sealanternblock,169,0 -hay,170,0 -hayblock,170,0 -haybale,170,0 -baleofhay,170,0 -hayofbale,170,0 -whitecarpet,171,0 -whitefloor,171,0 -wcarpet,171,0 -wfloor,171,0 -carpet,171,0 -floor,171,0 -orangecarpet,171,1 -orangefloor,171,1 -ocarpet,171,1 -ofloor,171,1 -magentacarpet,171,2 -magentafloor,171,2 -mcarpet,171,2 -mfloor,171,2 -lightbluecarpet,171,3 -lightbluefloor,171,3 -lbluecarpet,171,3 -lbluefloor,171,3 -lbcarpet,171,3 -lbfloor,171,3 -lightblucarpet,171,3 -lightblufloor,171,3 -lblucarpet,171,3 -lblufloor,171,3 -yellowcarpet,171,4 -yellowfloor,171,4 -ycarpet,171,4 -yfloor,171,4 -lightgreencarpet,171,5 -lightgreenfloor,171,5 -lgreencarpet,171,5 -lgreenfloor,171,5 -lightgrecarpet,171,5 -lightgrefloor,171,5 -lgrecarpet,171,5 -lgrefloor,171,5 -limecarpet,171,5 -limefloor,171,5 -lcarpet,171,5 -lfloor,171,5 -pinkcarpet,171,6 -pinkfloor,171,6 -picarpet,171,6 -pifloor,171,6 -grfloor,171,7 -darkgraycarpet,171,7 -darkgrayfloor,171,7 -dgraycarpet,171,7 -dgrayfloor,171,7 -darkgreycarpet,171,7 -darkgreyfloor,171,7 -dgreycarpet,171,7 -dgreyfloor,171,7 -darkgracarpet,171,7 -darkgrafloor,171,7 -dgracarpet,171,7 -dgrafloor,171,7 -graycarpet,171,7 -grayfloor,171,7 -greycarpet,171,7 -greyfloor,171,7 -gracarpet,171,7 -grafloor,171,7 -lgfloor,171,8 -lightgraycarpet,171,8 -lightgrayfloor,171,8 -lgraycarpet,171,8 -lgrayfloor,171,8 -lightgreycarpet,171,8 -lightgreyfloor,171,8 -lgreycarpet,171,8 -lgreyfloor,171,8 -lightgracarpet,171,8 -lightgrafloor,171,8 -lgracarpet,171,8 -lgrafloor,171,8 -silvercarpet,171,8 -silverfloor,171,8 -sicarpet,171,8 -siafloor,171,8 -cyancarpet,171,9 -cyanfloor,171,9 -ccarpet,171,9 -cfloor,171,9 -purplecarpet,171,10 -purplefloor,171,10 -pucarpet,171,10 -pufloor,171,10 -blfloor,171,11 -bluecarpet,171,11 -bluefloor,171,11 -blucarpet,171,11 -blufloor,171,11 -brfloor,171,12 -browncarpet,171,12 -brownfloor,171,12 -brocarpet,171,12 -brofloor,171,12 -dgfloor,171,13 -darkgreencarpet,171,13 -darkgreenfloor,171,13 -dgreencarpet,171,13 -dgreenfloor,171,13 -greencarpet,171,13 -greenfloor,171,13 -darkgrecarpet,171,13 -darkgrefloor,171,13 -dgrecarpet,171,13 -dgrefloor,171,13 -grecarpet,171,13 -grefloor,171,13 -redcarpet,171,14 -redfloor,171,14 -rcarpet,171,14 -rfloor,171,14 -bkfloor,171,15 -blackcarpet,171,15 -blackfloor,171,15 -blacarpet,171,15 -blafloor,171,15 -hardenedclay,172,0 -hardclay,172,0 -hclay,172,0 -coalblock,173,0 -blockcoal,173,0 -coblock,173,0 -blockco,173,0 -coalb,173,0 -bcoal,173,0 -packedice,174,0 -packice,174,0 -solidice,174,0 -sunflower,175,0 -yellowsunflower,175,0 -lilac,175,1 -magentalilac,175,1 -syringa,175,1 -longtallgrass,175,2 -extratallgrass,175,2 -doubletallgrass,175,2 -largetallgrass,175,2 -longtgrass,175,2 -extratgrass,175,2 -doubletgrass,175,2 -largetgrass,175,2 -ltgrass,175,2 -etgrass,175,2 -dtgrass,175,2 -bigfern,175,3 -largefern,175,3 -doublefern,175,3 -bfern,175,3 -lfern,175,3 -dfern,175,3 -rosebush,175,4 -redrosebush,175,4 -peony,175,5 -pinkpeony,175,5 -paeonia,175,5 -inverteddaylightsensor,178,0 -daylightsensorinverted,178,0 -daylightdetectorinverted,178,0 -inverteddaylightdetector,178,0 -rsstone,179,0 -redsandstone,179,0 -crstone,179,1 -redsandstonechiseled,179,1 -chiseledredsandstone,179,1 -srstone,179,2 -redsandstonesmooth,179,2 -smoothredsandstone,179,2 -redsandstonestair,180,0 -redsandstonestairs,180,0 -rsstair,180,0 -stairredsandstone,180,0 -doubleredsandstoneslab,181,0 -doubleredsandstoneslabfull,181,8 -fullredsandstoneslab,181,8 -rsslab,182,0 -redsandstoneslab,182,0 -sprucefencegate,183,0 -sfencegate,183,0 -sgate,183,0 -sprucegate,183,0 -birchfencegate,184,0 -bfencegate,184,0 -bgate,184,0 -birchgate,184,0 -junglefencegate,185,0 -jfencegate,185,0 -jgate,185,0 -junglegate,185,0 -darkoakfencegate,186,0 -doakfencegate,186,0 -darkoakgate,186,0 -doakgate,186,0 -dogate,186,0 -acaciafencegate,187,0 -afencegate,187,0 -acaciagate,187,0 -agate,187,0 -sprucefence,188,0 -sfence,188,0 -birchfence,189,0 -bfence,189,0 -junglefence,190,0 -jfence,190,0 -darkoakfence,191,0 -dofence,191,0 -doakfence,191,0 -acaciafence,192,0 -afence,192,0 -magmablock,213,0 -blockmagma,213,0 -netherwartblock,214,0 -blocknetherwart,214,0 -rednetherbrick,215,0 -rednetherbrickblock,215,0 -blockrednetherbrick,215,0 -rednbblock,215,0 -blockrednb,215,0 -boneblock,216,0 -skeletonboneblock,216,0 -skeletonblock,216,0 -observer,218,0 -budblock,218,0 -bud,218,0 -shulkerbox,219,0 -whiteshulkerbox,219,0 -wshulkerbox,219,0 -whitechest,219,0 -wchest,219,0 -orangeshulkerbox,220,0 -oshulkerbox,220,0 -orangechest,220,0 -ochest,220,0 -magentashulkerbox,221,0 -magentachest,221,0 -mshulkerbox,221,0 -mchest,221,0 -mashulkerbox,221,0 -machest,221,0 -lightblueshulkerbox,222,0 -lightbluechest,222,0 -lblueshulkerbox,222,0 -lbluechest,222,0 -lbshulkerbox,222,0 -lbchest,222,0 -lblushulkerbox,222,0 -lightbluchest,222,0 -lbluchest,222,0 -yellowshulkerbox,223,0 -yshulkerbox,223,0 -yellowchest,223,0 -ychest,223,0 -limeshulkerbox,224,0 -lshulkerbox,224,0 -lgreenshulkerbox,224,0 -lgreshulkerbox,224,0 -limechest,224,0 -lgrechest,224,0 -lchest,224,0 -pinkshulkerbox,225,0 -pishulkerbox,225,0 -pinkchest,225,0 -pichest,225,0 -grayshulkerbox,226,0 -greyshulkerbox,226,0 -darkgrayshulkerbox,226,0 -darkgreyshulkerbox,226,0 -dgrayshulkerbox,226,0 -dgreyshulkerbox,226,0 -grashulkerbox,226,0 -greshulkerbox,226,0 -dgrashulkerbox,226,0 -dgreshulkerbox,226,0 -graychest,226,0 -greychest,226,0 -darkgraychest,226,0 -darkgreychest,226,0 -dgraychest,226,0 -dgreychest,226,0 -grachest,226,0 -darkgrachest,226,0 -dgrachest,226,0 -silvershulkerbox,227,0 -silverchest,227,0 -sishulkerbox,227,0 -sichest,227,0 -lgshulkerbox,227,0 -lgchest,227,0 -lightgrayshulkerbox,227,0 -lightgreyshulkerbox,227,0 -lightgraychest,227,0 -lightgreychest,227,0 -lightgrashulkerbox,227,0 -lightgreshulkerbox,227,0 -lightgrachest,227,0 -lightgrechest,227,0 -lgraychest,227,0 -lgreychest,227,0 -lgrachest,227,0 -lgrechest,227,0 -cyanshulkerbox,228,0 -cyanchest,228,0 -cshulkerbox,228,0 -cchest,228,0 -purpleshulkerbox,229,0 -purplechest,229,0 -pushulkerbox,229,0 -puchest,229,0 -blueshulkerbox,230,0 -bluechest,230,0 -blushulkerbox,230,0 -bluchest,230,0 -brownshulkerbox,231,0 -brownchest,231,0 -broshulkerbox,231,0 -brochest,231,0 -darkgreenshulkerbox,232,0 -darkgreenchest,232,0 -greenshulkerbox,232,0 -greenchest,232,0 -greenshulkerbox,232,0 -greenchest,232,0 -greshulkerbox,232,0 -grechest,232,0 -dgreshulkerbox,232,0 -dgrechest,232,0 -darkgreshulkerbox,232,0 -darkgrechest,232,0 -redshulkerbox,233,0 -rshulkerbox,233,0 -redchest,233,0 -rchest,233,0 -blackshulkerbox,234,0 -blashulkerbox,234,0 -blackchest,234,0 -blachest,234,0 -structureblock,255,0 -ironshovel,256,0 -ironspade,256,0 -ishovel,256,0 -ispade,256,0 -steelshovel,256,0 -steelspade,256,0 -ironpickaxe,257,0 -ironpick,257,0 -steelpickaxe,257,0 -steelpick,257,0 -ipickaxe,257,0 -ipick,257,0 -ironaxe,258,0 -iaxe,258,0 -steelaxe,258,0 -flintandsteel,259,0 -flintandiron,259,0 -flintandtinder,259,0 -flintnsteel,259,0 -flintniron,259,0 -flintntinder,259,0 -flintsteel,259,0 -flintiron,259,0 -flinttinder,259,0 -lighter,259,0 -apple,260,0 -normalapple,260,0 -redapple,260,0 -bow,261,0 -arrow,262,0 -coal,263,0 -charcoal,263,1 -ccoal,263,1 -diamond,264,0 -crystal,264,0 -ironingot,265,0 -ironbar,265,0 -ironi,265,0 -steelingot,265,0 -steelbar,265,0 -steeli,265,0 -iingot,265,0 -ibar,265,0 -ingotiron,265,0 -bariron,265,0 -iiron,265,0 -ingotsteel,265,0 -barsteel,265,0 -isteel,265,0 -ingoti,265,0 -bari,265,0 -ironnugget,452,0 -nuggeti,452,0 -inugget,452,0 -goldingot,266,0 -goldbar,266,0 -goldi,266,0 -gingot,266,0 -gbar,266,0 -ingotgold,266,0 -bargold,266,0 -igold,266,0 -ingotg,266,0 -barg,266,0 -ironsword,267,0 -steelsword,267,0 -isword,267,0 -woodensword,268,0 -woodsword,268,0 -wsword,268,0 -woodenshovel,269,0 -woodenspade,269,0 -woodshovel,269,0 -woodspade,269,0 -wshovel,269,0 -wspade,269,0 -woodenpickaxe,270,0 -woodenpick,270,0 -woodpickaxe,270,0 -woodpick,270,0 -wpickaxe,270,0 -wpick,270,0 -woodenaxe,271,0 -woodaxe,271,0 -waxe,271,0 -stonesword,272,0 -cobblestonesword,272,0 -cstonesword,272,0 -cssword,272,0 -ssword,272,0 -stoneshovel,273,0 -cobblestoneshovel,273,0 -cobblestonespade,273,0 -cstoneshovel,273,0 -cstonespade,273,0 -stonespade,273,0 -csshovel,273,0 -csspade,273,0 -sshovel,273,0 -sspade,273,0 -stonepickaxe,274,0 -cobblestonepickaxe,274,0 -cobblestonepick,274,0 -cstonepickaxe,274,0 -cstonepick,274,0 -stonepick,274,0 -cspickaxe,274,0 -cspick,274,0 -spickaxe,274,0 -spick,274,0 -stoneaxe,275,0 -cobblestoneaxe,275,0 -cstoneaxe,275,0 -csaxe,275,0 -saxe,275,0 -diamondsword,276,0 -crystalsword,276,0 -dsword,276,0 -diamondshovel,277,0 -diamondspade,277,0 -crystalshovel,277,0 -crystalspade,277,0 -dshovel,277,0 -dspade,277,0 -diamondpickaxe,278,0 -diamondpick,278,0 -crystalpickaxe,278,0 -crystalpick,278,0 -dpickaxe,278,0 -dpick,278,0 -diamondaxe,279,0 -crystalaxe,279,0 -daxe,279,0 -stick,280,0 -twig,280,0 -branch,280,0 -bowl,281,0 -woodenbowl,281,0 -woodbowl,281,0 -mushroomsoup,282,0 -mrsoup,282,0 -soup,282,0 -goldsword,283,0 -gsword,283,0 -goldshovel,284,0 -goldspade,284,0 -gshovel,284,0 -gspade,284,0 -goldpickaxe,285,0 -goldpick,285,0 -gpickaxe,285,0 -gpick,285,0 -goldaxe,286,0 -gaxe,286,0 -string,287,0 -thread,287,0 -feather,288,0 -gunpowder,289,0 -sulfur,289,0 -woodenhoe,290,0 -woodhoe,290,0 -whoe,290,0 -stonehoe,291,0 -cobblestonehoe,291,0 -cstonehoe,291,0 -cshoe,291,0 -shoe,291,0 -ironhoe,292,0 -steelhoe,292,0 -ihoe,292,0 -diamondhoe,293,0 -crystalhoe,293,0 -dhoe,293,0 -goldhoe,294,0 -ghoe,294,0 -seeds,295,0 -seed,295,0 -wheat,296,0 -crops,296,0 -crop,296,0 -bread,297,0 -leatherhelmet,298,0 -leatherhelm,298,0 -leatherhat,298,0 -leathercoif,298,0 -lhelmet,298,0 -lhelm,298,0 -lhat,298,0 -lcoif,298,0 -leatherchestplate,299,0 -leatherplatebody,299,0 -leatherplate,299,0 -leathershirt,299,0 -leathertunic,299,0 -lchestplate,299,0 -lplatebody,299,0 -lplate,299,0 -lshirt,299,0 -ltunic,299,0 -leatherleggings,300,0 -leatherlegs,300,0 -leatherpants,300,0 -lleggings,300,0 -llegs,300,0 -lpants,300,0 -leatherboots,301,0 -leathershoes,301,0 -lboots,301,0 -lshoes,301,0 -chainmailhelmet,302,0 -chainmailhelm,302,0 -chainmailhat,302,0 -chainmailcoif,302,0 -chainmhelmet,302,0 -chainmhelm,302,0 -chainmhat,302,0 -chainmcoif,302,0 -cmailhelmet,302,0 -cmailhelm,302,0 -cmailhat,302,0 -cmailcoif,302,0 -chainhelmet,302,0 -chainhelm,302,0 -chainhat,302,0 -chaincoif,302,0 -cmhelmet,302,0 -cmhelm,302,0 -cmhat,302,0 -cmcoif,302,0 -chainmailchestplate,303,0 -chainmailplatebody,303,0 -chainmailplate,303,0 -chainmailshirt,303,0 -chainmailtunic,303,0 -chainmchestplate,303,0 -chainmplatebody,303,0 -chainmplate,303,0 -chainmshirt,303,0 -chainmtunic,303,0 -cmailchestplate,303,0 -cmailplatebody,303,0 -cmailplate,303,0 -cmailshirt,303,0 -cmailtunic,303,0 -chainchestplate,303,0 -chainplatebody,303,0 -chainplate,303,0 -chainshirt,303,0 -chaintunic,303,0 -cmchestplate,303,0 -cmplatebody,303,0 -cmplate,303,0 -cmshirt,303,0 -cmtunic,303,0 -chainmailleggings,304,0 -chainmaillegs,304,0 -chainmailpants,304,0 -chainmleggings,304,0 -chainmlegs,304,0 -chainmpants,304,0 -cmailleggings,304,0 -cmaillegs,304,0 -cmailpants,304,0 -chainleggings,304,0 -chainlegs,304,0 -chainpants,304,0 -cmleggings,304,0 -cmlegs,304,0 -cmpants,304,0 -chainmailboots,305,0 -chainmailshoes,305,0 -chainmboots,305,0 -chainmshoes,305,0 -cmailboots,305,0 -cmailshoes,305,0 -chainboots,305,0 -chainshoes,305,0 -cmboots,305,0 -cmshoes,305,0 -ironhelmet,306,0 -ironhelm,306,0 -ironhat,306,0 -ironcoif,306,0 -ihelmet,306,0 -ihelm,306,0 -ihat,306,0 -icoif,306,0 -steelhelmet,306,0 -steelhelm,306,0 -steelhat,306,0 -steelcoif,306,0 -shelmet,306,0 -shelm,306,0 -shat,306,0 -scoif,306,0 -ironchestplate,307,0 -ironplatebody,307,0 -ironshirt,307,0 -irontunic,307,0 -ichestplate,307,0 -iplatebody,307,0 -ishirt,307,0 -itunic,307,0 -steelchestplate,307,0 -steelplatebody,307,0 -steelplate,307,0 -steelshirt,307,0 -steeltunic,307,0 -schestplate,307,0 -splatebody,307,0 -sshirt,307,0 -stunic,307,0 -ironleggings,308,0 -ironlegs,308,0 -ironpants,308,0 -ileggings,308,0 -ilegs,308,0 -ipants,308,0 -steelleggings,308,0 -steellegs,308,0 -steelpants,308,0 -sleggings,308,0 -slegs,308,0 -spants,308,0 -ironboots,309,0 -ironshoes,309,0 -iboots,309,0 -ishoes,309,0 -steelboots,309,0 -steelshoes,309,0 -sboots,309,0 -sshoes,309,0 -diamondhelmet,310,0 -diamondhelm,310,0 -diamondhat,310,0 -diamondcoif,310,0 -dhelmet,310,0 -dhelm,310,0 -dhat,310,0 -dcoif,310,0 -crystalhelmet,310,0 -crystalhelm,310,0 -crystalhat,310,0 -crystalcoif,310,0 -chelmet,310,0 -chelm,310,0 -chat,310,0 -ccoif,310,0 -diamondchestplate,311,0 -diamondplatebody,311,0 -diamondplate,311,0 -diamondshirt,311,0 -diamondtunic,311,0 -dchestplate,311,0 -dplatebody,311,0 -dplate,311,0 -dshirt,311,0 -dtunic,311,0 -crystalchestplate,311,0 -crystalplatebody,311,0 -crystalplate,311,0 -crystalshirt,311,0 -crystaltunic,311,0 -cchestplate,311,0 -cplatebody,311,0 -cplate,311,0 -cshirt,311,0 -ctunic,311,0 -diamondleggings,312,0 -diamondlegs,312,0 -diamondpants,312,0 -dleggings,312,0 -dlegs,312,0 -dpants,312,0 -crystalleggings,312,0 -crystallegs,312,0 -crystalpants,312,0 -cleggings,312,0 -clegs,312,0 -cpants,312,0 -diamondboots,313,0 -diamondshoes,313,0 -dboots,313,0 -dshoes,313,0 -crystalboots,313,0 -crystalshoes,313,0 -cboots,313,0 -cshoes,313,0 -goldhelmet,314,0 -goldhelm,314,0 -goldhat,314,0 -goldcoif,314,0 -ghelmet,314,0 -ghelm,314,0 -ghat,314,0 -gcoif,314,0 -goldchestplate,315,0 -goldplatebody,315,0 -goldshirt,315,0 -goldtunic,315,0 -gchestplate,315,0 -gplatebody,315,0 -gplateplate,315,0 -gshirt,315,0 -gtunic,315,0 -goldleggings,316,0 -goldlegs,316,0 -goldpants,316,0 -gleggings,316,0 -glegs,316,0 -gpants,316,0 -goldboots,317,0 -goldshoes,317,0 -gboots,317,0 -gshoes,317,0 -flint,318,0 -pork,319,0 -porkchop,319,0 -rawpork,319,0 -rpork,319,0 -rawporkchop,319,0 -rporkchop,319,0 -cookedpork,320,0 -grilledpork,320,0 -grillpork,320,0 -gpork,320,0 -cookpork,320,0 -cpork,320,0 -grilledporkchop,320,0 -grillporkchop,320,0 -gporkchop,320,0 -cookedporkchop,320,0 -cookporkchop,320,0 -cporkchop,320,0 -bacon,320,0 -painting,321,0 -picture,321,0 -goldenapple,322,0 -goldapple,322,0 -gapple,322,0 -enchantedgoldenapple,322,1 -enchantedgoldapple,322,1 -enchantedgapple,322,1 -supergoldenapple,322,1 -supergoldapple,322,1 -supergapple,322,1 -magicalgoldenapple,322,1 -magicalgoldapple,322,1 -magicalgapple,322,1 -magicgoldenapple,322,1 -magicgoldapple,322,1 -magicgapple,322,1 -egoldenapple,322,1 -egoldapple,322,1 -egapple,322,1 -sgoldenapple,322,1 -sgoldapple,322,1 -sgapple,322,1 -mgoldenapple,322,1 -mgoldapple,322,1 -mgapple,322,1 -sign,323,0 -woodendoor,324,0 -wooddoor,324,0 -wdoor,324,0 -door,324,0 -oakdoor,324,0 -odoor,324,0 -bucket,325,0 -bukkit,325,0 -waterbucket,326,0 -waterbukkit,326,0 -wbucket,326,0 -wbukkit,326,0 -magmabucket,327,0 -magmabukkit,327,0 -lavabucket,327,0 -lavabukkit,327,0 -lbucket,327,0 -lbukkit,327,0 -minecart,328,0 -mcart,328,0 -cart,328,0 -saddle,329,0 -irondoor,330,0 -idoor,330,0 -steeldoor,330,0 -sdoor,330,0 -dooriron,330,0 -doori,330,0 -doorsteel,330,0 -doors,330,0 -redstonedust,331,0 -redstone,331,0 -rstonedust,331,0 -rstone,331,0 -redsdust,331,0 -reddust,331,0 -rsdust,331,0 -rdust,331,0 -snow,332,0 -snowball,332,0 -snball,332,0 -sball,332,0 -boat,333,0 -leather,334,0 -cowhide,334,0 -hide,334,0 -milkbucket,335,0 -milkbukkit,335,0 -mbucket,335,0 -mbukkit,335,0 -claybrick,336,0 -brick,336,0 -redbrick,336,0 -rbrick,336,0 -clayball,337,0 -cball,337,0 -clay,337,0 -reeds,338,0 -reed,338,0 -sugarcane,338,0 -scane,338,0 -bamboo,338,0 -paper,339,0 -papyrus,339,0 -book,340,0 -slimeball,341,0 -slball,341,0 -chestminecart,342,0 -storageminecart,342,0 -storagemcart,342,0 -chestmcart,342,0 -storagecart,342,0 -chestcart,342,0 -sminecart,342,0 -cminecart,342,0 -smcart,342,0 -cmcart,342,0 -scart,342,0 -ccart,342,0 -furnaceminecart,343,0 -engineminecart,343,0 -poweredminecart,343,0 -powerminecart,343,0 -enginemcart,343,0 -poweredmcart,343,0 -powermcart,343,0 -furnacemcart,343,0 -enginecart,343,0 -poweredcart,343,0 -powercart,343,0 -furnacecart,343,0 -eminecart,343,0 -pminecart,343,0 -fminecart,343,0 -emcart,343,0 -pmcart,343,0 -fmcart,343,0 -ecart,343,0 -pcart,343,0 -fcart,343,0 -egg,344,0 -compass,345,0 -fishingrod,346,0 -fishrod,346,0 -frod,346,0 -rod,346,0 -watch,347,0 -goldwatch,347,0 -goldclock,347,0 -gwatch,347,0 -gclock,347,0 -clock,347,0 -glowstonedust,348,0 -glowingstonedust,348,0 -lightstonedust,348,0 -lbdust,348,0 -gbdust,348,0 -lsdust,348,0 -gsdust,348,0 -rawfish,349,0 -rafish,349,0 -fish,349,0 -rawsalmonfish,349,1 -rasalmonfish,349,1 -salmonfish,349,1 -rawsalmon,349,1 -rasalmon,349,1 -salmon,349,1 -sfish,349,1 -fishs,349,1 -rawclownfish,349,2 -raclownfish,349,2 -clownfish,349,2 -rawnemo,349,2 -ranemo,349,2 -nemo,349,2 -nemofish,349,2 -fishnemo,349,2 -clfish,349,2 -fishcl,349,2 -nfish,349,2 -fishn,349,2 -rawpufferfish,349,3 -rapufferfish,349,3 -pufferfish,349,3 -pufffish,349,3 -fishpuff,349,3 -pfish,349,3 -fishp,349,3 -cookedfish,350,0 -cookfish,350,0 -cfish,350,0 -grilledfish,350,0 -grillfish,350,0 -gfish,350,0 -roastedfish,350,0 -roastfish,350,0 -rofish,350,0 -cookedsalmonfish,350,1 -cooksalmonfish,350,1 -csalmonfish,350,1 -grilledsalmonfish,350,1 -grillsalmonfish,350,1 -gsalmonfish,350,1 -roastedsalmonfish,350,1 -roastsalmonfish,350,1 -rosalmonfish,350,1 -cookedsalmon,350,1 -cooksalmon,350,1 -csalmon,350,1 -grilledsalmon,350,1 -grillsalmon,350,1 -gsalmon,350,1 -roastedsalmon,350,1 -roastsalmon,350,1 -rosalmon,350,1 -dye,351,0 -inksack,351,0 -inksac,351,0 -isack,351,0 -isac,351,0 -sack,351,0 -sac,351,0 -blackinksack,351,0 -blackinksac,351,0 -blackisack,351,0 -blackisac,351,0 -blacksack,351,0 -blacksac,351,0 -inksackblack,351,0 -inksacblack,351,0 -isackblack,351,0 -isacblack,351,0 -sackblack,351,0 -sacblack,351,0 -blackinksackcolour,351,0 -blackinksaccolour,351,0 -blackisackcolour,351,0 -blackisaccolour,351,0 -blacksackcolour,351,0 -blacksaccolour,351,0 -inksackblackcolour,351,0 -inksacblackcolour,351,0 -isackblackcolour,351,0 -isacclackcolour,351,0 -sackblackcolour,351,0 -sacblackcolour,351,0 -blackinksackcolor,351,0 -blackinksaccolor,351,0 -blackisackcolor,351,0 -blackisaccolor,351,0 -blacksackcolor,351,0 -blacksaccolor,351,0 -inksackblackcolor,351,0 -inksacblackcolor,351,0 -isackblackcolor,351,0 -isacblackcolor,351,0 -sackblackcolor,351,0 -sacblackcolor,351,0 -blackinksackdye,351,0 -blackinksacdye,351,0 -blackisackdye,351,0 -blackisacdye,351,0 -blacksackdye,351,0 -blacksacdye,351,0 -inksackblackdye,351,0 -inksacblackdye,351,0 -isackblackdye,351,0 -isacclackdye,351,0 -sackblackdye,351,0 -sacblackdye,351,0 -blackcolor,351,0 -blackdye,351,0 -rosered,351,1 -roseredcolor,351,1 -roseredcolour,351,1 -rosereddye,351,1 -redrosecolor,351,1 -redrosecolour,351,1 -redrosedye,351,1 -redr,351,1 -redrcolor,351,1 -redrcolour,351,1 -redrdye,351,1 -redcolor,351,1 -redcolour,351,1 -reddye,351,1 -cactusgreen,351,2 -greencactus,351,2 -cactusgreencolour,351,2 -greencactuscolour,351,2 -cactusgreencolor,351,2 -greencactuscolor,351,2 -cactusgreendye,351,2 -greencactusdye,351,2 -greencolour,351,2 -greencolor,351,2 -greendye,351,2 -cocoabeans,351,3 -cocoabean,351,3 -cocobeans,351,3 -cocobean,351,3 -cbeans,351,3 -cbean,351,3 -beans,351,3 -bean,351,3 -browncocoabeans,351,3 -browncocoabean,351,3 -browncocobeans,351,3 -browncocobean,351,3 -browncbeans,351,3 -browncbean,351,3 -brownbeans,351,3 -brownbean,351,3 -brownb,351,3 -cocoabeanscolour,351,3 -cocoabeancolour,351,3 -cocobeanscolour,351,3 -cocobeancolour,351,3 -cbeanscolour,351,3 -cbeancolour,351,3 -beanscolour,351,3 -beancolour,351,3 -browncocoabeanscolour,351,3 -browncocoabeancolour,351,3 -browncocobeanscolour,351,3 -browncocobeancolour,351,3 -browncbeanscolour,351,3 -browncbeancolour,351,3 -brownbeanscolour,351,3 -brownbeancolour,351,3 -brownbcolour,351,3 -cocoabeanscolor,351,3 -cocoabeancolor,351,3 -cocobeanscolor,351,3 -cocobeancolor,351,3 -cbeanscolor,351,3 -cbeancolor,351,3 -beanscolor,351,3 -beancolor,351,3 -browncocoabeanscolor,351,3 -browncocoabeancolor,351,3 -browncocobeanscolor,351,3 -browncocobeancolor,351,3 -browncbeanscolor,351,3 -browncbeancolor,351,3 -brownbeanscolor,351,3 -brownbeancolor,351,3 -brownbcolor,351,3 -cocoabeansdye,351,3 -cocoabeandye,351,3 -cocobeansdye,351,3 -cocobeandye,351,3 -cbeansdye,351,3 -cbeandye,351,3 -beansdye,351,3 -beandye,351,3 -browncocoabeansdye,351,3 -browncocoabeandye,351,3 -browncocobeansdye,351,3 -browncocobeandye,351,3 -browncbeansdye,351,3 -browncbeandye,351,3 -brownbeansdye,351,3 -brownbeandye,351,3 -brownbdye,351,3 -browncolour,351,3 -browncolor,351,3 -browndye,351,3 -lapislazuli,351,4 -bluelapislazuli,351,4 -bluelapisl,351,4 -bluelapis,351,4 -bluel,351,4 -lapislazuliblue,351,4 -lapislblue,351,4 -lapisblue,351,4 -lapisl,351,4 -lapis,351,4 -bluelapislazulicolour,351,4 -bluelapislcolour,351,4 -bluelapiscolour,351,4 -lapislazulibluecolour,351,4 -lapislbluecolour,351,4 -lapisbluecolour,351,4 -lapislazulicolour,351,4 -lapislcolour,351,4 -lapiscolour,351,4 -bluelapislazulicolor,351,4 -bluelapislcolor,351,4 -bluelapiscolor,351,4 -lapislazulibluecolor,351,4 -lapislbluecolor,351,4 -lapisbluecolor,351,4 -lapislazulicolor,351,4 -lapislcolor,351,4 -lapiscolor,351,4 -bluelapislazulidye,351,4 -bluelapisldye,351,4 -bluelapisdye,351,4 -lapislazulibluedye,351,4 -lapislbluedye,351,4 -lapisbluedye,351,4 -lapislazulidye,351,4 -lapisldye,351,4 -lapisdye,351,4 -bluecolour,351,4 -bluecolor,351,4 -bluedye,351,4 -purpledye,351,5 -purplecolour,351,5 -purplecolor,351,5 -cyandye,351,6 -cyancolour,351,6 -cyancolor,351,6 -lightgraydye,351,7 -lightgraycolour,351,7 -lightgraycolor,351,7 -lgraycolour,351,7 -lgraycolor,351,7 -lgraydye,351,7 -lightgreydye,351,7 -lightgreycolour,351,7 -lightgreycolor,351,7 -lgreycolour,351,7 -lgreycolor,351,7 -lgreydye,351,7 -silvercolour,351,7 -silvercolor,351,7 -silverdye,351,7 -darkgraydye,351,8 -darkgraycolour,351,8 -darkgraycolor,351,8 -dgraycolour,351,8 -dgraycolor,351,8 -dgraydye,351,8 -graycolour,351,8 -graycolor,351,8 -graydye,351,8 -darkgreydye,351,8 -darkgreycolour,351,8 -darkgreycolor,351,8 -dgreycolour,351,8 -dgreycolor,351,8 -dgreydye,351,8 -greycolour,351,8 -greycolor,351,8 -greydye,351,8 -pinkdye,351,9 -pinkcolour,351,9 -pinkcolor,351,9 -limedye,351,10 -limecolour,351,10 -limecolor,351,10 -dandelionyellow,351,11 -dandelionyellowcolour,351,11 -dandelionyellowcolor,351,11 -dandelionyellowdye,351,11 -yellowdandelioncolour,351,11 -yellowdandelioncolor,351,11 -yellowdandeliondye,351,11 -yellowd,351,11 -yellowdcolour,351,11 -yellowdcolor,351,11 -yellowddye,351,11 -dyellow,351,11 -dyellowcolour,351,11 -dyellowcolor,351,11 -dyellowdye,351,11 -yellowcolour,351,11 -yellowcolor,351,11 -yellowdye,351,11 -lightbluecolour,351,12 -lightbluecolor,351,12 -lightbluedye,351,12 -lbluecolour,351,12 -lbluecolor,351,12 -lbluedye,351,12 -magentacolour,351,13 -magentacolor,351,13 -magentadye,351,13 -orangecolour,351,14 -orangecolor,351,14 -orangedye,351,14 -bonemeal,351,15 -whitebonemeal,351,15 -whitebonemealcolour,351,15 -whitebonemealcolor,351,15 -whitebonemealdye,351,15 -bonemealwhite,351,15 -bonemealwhitecolour,351,15 -bonemealwhitecolor,351,15 -bonemealwhitedye,351,15 -whitebonem,351,15 -whitebonemcolour,351,15 -whitebonemcolor,351,15 -whitebonemdye,351,15 -bonemwhite,351,15 -bonemwhitecolour,351,15 -bonemwhitecolor,351,15 -bonemwhitedye,351,15 -bonemealcolour,351,15 -bonemealcolor,351,15 -bonemealdye,351,15 -bonem,351,15 -bonemcolour,351,15 -bonemcolor,351,15 -bonemdye,351,15 -whitecolour,351,15 -whitecolor,351,15 -whitedye,351,15 -bone,352,0 -sugar,353,0 -whitedust,353,0 -cake,354,0 -bed,355,0 -redstonerepeater,356,0 -redstonerepeat,356,0 -redstonedelayer,356,0 -redstonedelay,356,0 -redstonedioder,356,0 -redstonediode,356,0 -rstonerepeater,356,0 -rstonerepeat,356,0 -rstonedelayer,356,0 -rstonedelay,356,0 -rstonedioder,356,0 -rstonediode,356,0 -redsrepeater,356,0 -redsrepeat,356,0 -redsdelayer,356,0 -redsdelay,356,0 -redsdioder,356,0 -redsdiode,356,0 -rsrepeater,356,0 -rsrepeat,356,0 -rsdelayer,356,0 -rsdelay,356,0 -rsdioder,356,0 -rsdiode,356,0 -repeater,356,0 -repeat,356,0 -delayer,356,0 -delay,356,0 -dioder,356,0 -diode,356,0 -cookie,357,0 -chart,358,0 -map0,358,0 -map1,358,1 -map2,358,2 -map3,358,3 -map4,358,4 -map5,358,5 -map6,358,6 -map7,358,7 -map8,358,8 -map9,358,9 -map10,358,10 -map11,358,11 -map12,358,12 -map13,358,13 -map14,358,14 -map15,358,15 -shears,359,0 -shear,359,0 -sheers,359,0 -sheer,359,0 -woolcutters,359,0 -woolcutter,359,0 -cutterswool,359,0 -cutterwool,359,0 -melonslice,360,0 -mslice,360,0 -slicemelon,360,0 -watermelonslice,360,0 -greenmelonslice,360,0 -melongreenslice,360,0 -pumpkinseeds,361,0 -pseeds,361,0 -seedsp,361,0 -seedspumpkin,361,0 -pumpseeds,361,0 -seedspump,361,0 -melonseeds,362,0 -mseeds,362,0 -watermelonseeds,362,0 -greenmelonseeds,362,0 -gmelonseeds,362,0 -seedsmelon,362,0 -seedswatermelon,362,0 -rawbeef,363,0 -rawsteak,363,0 -uncookedbeef,363,0 -uncookedsteak,363,0 -cowmeat,363,0 -plainbeef,363,0 -beef,364,0 -steak,364,0 -cookedbeef,364,0 -grilledbeef,364,0 -cookedsteak,364,0 -grilledsteak,364,0 -cookedcowmeat,364,0 -rawchicken,365,0 -uncookedchicken,365,0 -plainchicken,365,0 -chickenplain,365,0 -chickenuncooked,365,0 -chickenraw,365,0 -cookedchicken,366,0 -grilledchicken,366,0 -toastedchicken,366,0 -gchicken,366,0 -bbqchicken,366,0 -friedchicken,366,0 -cchicken,366,0 -rottenflesh,367,0 -zombieflesh,367,0 -rottenmeat,367,0 -zombiemeat,367,0 -badflesh,367,0 -poisonflesh,367,0 -zombieremains,367,0 -enderpearl,368,0 -endpearl,368,0 -pearl,368,0 -epearl,368,0 -bluepearl,368,0 -endergem,368,0 -blazerod,369,0 -goldenrod,369,0 -goldrod,369,0 -blazestick,369,0 -goldstick,369,0 -brod,369,0 -grod,369,0 -bstick,369,0 -gstick,369,0 -ghasttear,370,0 -ghastdrop,370,0 -ghosttear,370,0 -ghostdrop,370,0 -gtear,370,0 -gdrop,370,0 -tear,370,0 -goldnugget,371,0 -gnugget,371,0 -goldpebble,371,0 -gpebble,371,0 -goldball,371,0 -gball,371,0 -netherstalk,372,0 -deathstalk,372,0 -hellstalk,372,0 -nstalk,372,0 -dstalk,372,0 -hstalk,372,0 -netherwarts,372,0 -netherwart,372,0 -netherplant,372,0 -nethercrop,372,0 -hellwarts,372,0 -hellwart,372,0 -hellplant,372,0 -hellcrop,372,0 -deathwarts,372,0 -deathwart,372,0 -deathplant,372,0 -deathcrop,372,0 -nwarts,372,0 -nwart,372,0 -ncrop,372,0 -nplant,372,0 -hwarts,372,0 -hwart,372,0 -hplant,372,0 -hcrop,372,0 -dwarts,372,0 -dwart,372,0 -dplant,372,0 -dcrop,372,0 -potion,373,0 -mixture,373,0 -potions,373,0 -waterbottle,373,0 -fullbottle,373,0 -watervase,373,0 -fullvase,373,0 -clearpotion,373,6 -clearpot,373,6 -clearextendedpotion,373,7 -clearexpotion,373,7 -clear2potion,373,7 -clearextendedpot,373,7 -clearexpot,373,7 -clear2pot,373,7 -diffusepotion,373,11 -diffusepot,373,11 -artlesspotion,373,13 -artlesspot,373,13 -thinpotion,373,14 -thinpot,373,14 -thinextendedpotion,373,15 -thinexpotion,373,15 -thin2potion,373,15 -thinextendedpot,373,15 -thinexpot,373,15 -thin2pot,373,15 -awkwardpotion,373,16 -awkwardpot,373,16 -bunglingpotion,373,22 -bunglingpot,373,22 -bunglingextendedpotion,373,23 -bunglingexpotion,373,23 -bungling2potion,373,23 -bunglingextendedpot,373,23 -bunglingexpot,373,23 -bungling2pot,373,23 -smoothpotion,373,27 -smoothpot,373,27 -suavepotion,373,29 -suavepot,373,29 -debonairpotion,373,30 -debonairpot,373,30 -debonairextendedpotion,373,31 -debonairexpotion,373,31 -debonair2potion,373,31 -debonairextendedpot,373,31 -debonairexpot,373,31 -debonair2pot,373,31 -thickpotion,373,32 -thickpot,373,32 -charmingpotion,373,38 -charmingpot,373,38 -charmingextendedpotion,373,39 -charmingexpotion,373,39 -charming2potion,373,39 -charmingextendedpot,373,39 -charmingexpot,373,39 -charming2pot,373,39 -refinedpotion,373,43 -refinedpot,373,43 -cordialpotion,373,45 -cordialpot,373,45 -sparklingpotion,373,46 -sparklingpot,373,46 -sparklingextendedpotion,373,47 -sparklingexpotion,373,47 -sparkling2potion,373,47 -sparklingextendedpot,373,47 -sparklingexpot,373,47 -sparkling2pot,373,47 -potentpotion,373,48 -potentpot,373,48 -rankpotion,373,54 -rankpot,373,54 -rankextendedpotion,373,55 -rankexpotion,373,55 -rank2potion,373,55 -rankextendedpot,373,55 -rankexpot,373,55 -rank2pot,373,55 -acridpotion,373,59 -acridpot,373,59 -grosspotion,373,61 -grosspot,373,61 -stinkypotion,373,62 -stinkypot,373,62 -stinkyextendedpotion,373,63 -stinkyexpotion,373,63 -stinky2potion,373,63 -stinkyextendedpot,373,63 -stinkyexpot,373,63 -stinky2pot,373,63 -mundaneextendedpotion,373,64 -mundaneexpotion,373,64 -mundane2potion,373,64 -mundaneextendedpot,373,64 -mundaneexpot,373,64 -mundane2pot,373,64 -mundanepotion,373,8192 -mundanepot,373,8192 -regenerationpotion,373,8193 -regeneratepotion,373,8193 -regenpotion,373,8193 -regenerationpot,373,8193 -regeneratepot,373,8193 -regenpot,373,8193 -rpot,373,8193 -swiftnesspotion,373,8194 -swiftpotion,373,8194 -speedpotion,373,8194 -swiftnesspot,373,8194 -swiftpot,373,8194 -speedpot,373,8194 -swpot,373,8194 -fireresistancepotion,373,8195 -fireresistpotion,373,8195 -firerespotion,373,8195 -fireresistancepot,373,8195 -fireresistpot,373,8195 -firerespot,373,8195 -fpot,373,8195 -poisonpotion,373,8196 -acidpotion,373,8196 -poisonpot,373,8196 -acidpot,373,8196 -ppot,373,8196 -healingpotion,373,8197 -healpotion,373,8197 -lifepotion,373,8197 -healingpot,373,8197 -healpot,373,8197 -lifepot,373,8197 -hpot,373,8197 -nightvisionpotion,373,8198 -nvisionpotion,373,8198 -nightvpotion,373,8198 -darkvisionpotion,373,8198 -dvisionpotion,373,8198 -darkvpotion,373,8198 -nightvisionpot,373,8198 -nvisionpot,373,8198 -nightvpot,373,8198 -darkvisionpot,373,8198 -dvisionpot,373,8198 -darkvpot,373,8198 -npot,373,8198 -weaknesspotion,373,8200 -weakpotion,373,8200 -weaknesspot,373,8200 -weakpot,373,8200 -wpot,373,8200 -strengthpotion,373,8201 -strongpotion,373,8201 -strpotion,373,8201 -strengthpot,373,8201 -strongpot,373,8201 -strpot,373,8201 -stpot,373,8201 -slownesspotion,373,8202 -slowpotion,373,8202 -slownesspot,373,8202 -slowpot,373,8202 -slpot,373,8202 -harmingpotion,373,8204 -damagepotion,373,8204 -dmgpotion,373,8204 -harmingpot,373,8204 -damagepot,373,8204 -dmgpot,373,8204 -dpot,373,8204 -waterbreathingpotion,373,8205 -waterbreathpotion,373,8205 -breathingpotion,373,8205 -breathpotion,373,8205 -waterbreathingpot,373,8205 -waterbreathpot,373,8205 -breathingpot,373,8205 -breathpot,373,8205 -wbpot,373,8205 -invisibilitypotion,373,8206 -invisiblepotion,373,8206 -invpotion,373,8206 -invisibilitypot,373,8206 -invisiblepot,373,8206 -invpot,373,8206 -ipot,373,8206 -regenerationleveliipotion,373,8225 -regenerateleveliipotion,373,8225 -regenleveliipotion,373,8225 -regenerationlevel2potion,373,8225 -regeneratelevel2potion,373,8225 -regenlevel2potion,373,8225 -regenerationiipotion,373,8225 -regenerateiipotion,373,8225 -regeniipotion,373,8225 -regenerationleveliipot,373,8225 -regenerateleveliipot,373,8225 -regenleveliipot,373,8225 -regenerationlevel2pot,373,8225 -regeneratelevel2pot,373,8225 -regenlevel2pot,373,8225 -regenerationiipot,373,8225 -regenerateiipot,373,8225 -regeniipot,373,8225 -r2pot,373,8225 -swiftnessleveliipotion,373,8226 -swiftleveliipotion,373,8226 -speedleveliipotion,373,8226 -swiftnesslevel2potion,373,8226 -swiftlevel2potion,373,8226 -speedlevel2potion,373,8226 -swiftnessiipotion,373,8226 -swiftiipotion,373,8226 -speediipotion,373,8226 -swiftnessleveliipot,373,8226 -swiftleveliipot,373,8226 -speedleveliipot,373,8226 -swiftnesslevel2pot,373,8226 -swiftlevel2pot,373,8226 -speedlevel2pot,373,8226 -swiftnessiipot,373,8226 -swiftiipot,373,8226 -speediipot,373,8226 -sw2pot,373,8226 -poisonleveliipotion,373,8228 -acidleveliipotion,373,8228 -poisonlevel2potion,373,8228 -acidlevel2potion,373,8228 -poisoniipotion,373,8228 -acidiipotion,373,8228 -poisonleveliipot,373,8228 -acidleveliipot,373,8228 -poisonlevel2pot,373,8228 -acidlevel2pot,373,8228 -poisoniipot,373,8228 -acidiipot,373,8228 -p2pot,373,8228 -healingleveliipotion,373,8229 -healleveliipotion,373,8229 -healinglevel2potion,373,8229 -heallevel2potion,373,8229 -healingiipotion,373,8229 -healiipotion,373,8229 -healingleveliipot,373,8229 -healleveliipot,373,8229 -healinglevel2pot,373,8229 -heallevel2pot,373,8229 -healingiipot,373,8229 -healiipot,373,8229 -h2pot,373,8229 -strengthleveliipotion,373,8233 -strongleveliipotion,373,8233 -strleveliipotion,373,8233 -strengthlevel2potion,373,8233 -stronglevel2potion,373,8233 -strlevel2potion,373,8233 -strengthiipotion,373,8233 -strongiipotion,373,8233 -striipotion,373,8233 -strengthleveliipot,373,8233 -strongleveliipot,373,8233 -strleveliipot,373,8233 -strengthlevel2pot,373,8233 -stronglevel2pot,373,8233 -strlevel2pot,373,8233 -strengthiipot,373,8233 -strongiipot,373,8233 -striipot,373,8233 -st2pot,373,8233 -leapingleveliipotion,373,8235 -leapleveliipotion,373,8235 -leaplevel2potion,373,8235 -leapinglevel2potion,373,8235 -leapingiipotion,373,8235 -leapiipotion,373,8235 -leapiipotion,373,8235 -leapingiipotion,373,8235 -leap2potion,373,8235 -leaping2potion,373,8235 -harmingleveliipotion,373,8236 -damageleveliipotion,373,8236 -dmgleveliipotion,373,8236 -harminglevel2potion,373,8236 -damagelevel2potion,373,8236 -dmglevel2potion,373,8236 -harmingiipotion,373,8236 -damageiipotion,373,8236 -dmgiipotion,373,8236 -harmingleveliipot,373,8236 -damageleveliipot,373,8236 -dmgleveliipot,373,8236 -harminglevel2pot,373,8236 -damagelevel2pot,373,8236 -dmglevel2pot,373,8236 -harmingiipot,373,8236 -damageiipot,373,8236 -dmgiipot,373,8236 -d2pot,373,8236 -regenerationextendedpotion,373,8257 -regenerateextendedpotion,373,8257 -regenextendepotion,373,8257 -regenerationexpotion,373,8257 -regenerateexpotion,373,8257 -regenexpotion,373,8257 -regenerationextendedpot,373,8257 -regenerateextendedpot,373,8257 -regenextendepot,373,8257 -regenerationexpot,373,8257 -regenerateexpot,373,8257 -regenexpot,373,8257 -repot,373,8257 -swiftnessextendedpotion,373,8258 -swiftextendedpotion,373,8258 -speedextendedpotion,373,8258 -swiftnessexpotion,373,8258 -swiftexpotion,373,8258 -speedexpotion,373,8258 -swiftnessextendedpot,373,8258 -swiftextendedpot,373,8258 -speedextendedpot,373,8258 -swiftnessexpot,373,8258 -swiftexpot,373,8258 -speedexpot,373,8258 -swepot,373,8258 -fireresistancepotion,373,8227 -fireresistpotion,373,8227 -firerespotion,373,8227 -fireresistpotion,373,8227 -fireresistancepot,373,8227 -fireresistpot,373,8227 -firerespot,373,8227 -frpot,373,8227 -fireresistanceextendedpotion,373,8259 -fireresistextendedpotion,373,8259 -fireresextendedpotion,373,8259 -fireresistanceexpotion,373,8259 -fireresistexpotion,373,8259 -fireresexpotion,373,8259 -fireresistanceextendedpot,373,8259 -fireresistextendedpot,373,8259 -fireresextendedpot,373,8259 -fireresistanceexpot,373,8259 -fireresistexpot,373,8259 -fireresexpot,373,8259 -fepot,373,8259 -poisonextendedpotion,373,8260 -acidextendedpotion,373,8260 -poisonexpotion,373,8260 -acidexpotion,373,8260 -poisonextendedpot,373,8260 -acidextendedpot,373,8260 -poisonexpot,373,8260 -acidexpot,373,8260 -pepot,373,8260 -nightvisionextendedpotion,373,8262 -nvisionextendedpotion,373,8262 -nightvextendedpotion,373,8262 -darkvisionextendedpotion,373,8262 -dvisionextendedpotion,373,8262 -darkvextendedpotion,373,8262 -nightvisionexpotion,373,8262 -nvisionexpotion,373,8262 -nightvexpotion,373,8262 -darkvisionexpotion,373,8262 -dvisionexpotion,373,8262 -darkvexpotion,373,8262 -nightvisionextendedpot,373,8262 -nvisionextendedpot,373,8262 -nightvextendedpot,373,8262 -darkvisionextendedpot,373,8262 -dvisionextendedpot,373,8262 -darkvextendedpot,373,8262 -nightvisionexpot,373,8262 -nvisionexpot,373,8262 -nightvexpot,373,8262 -darkvisionexpot,373,8262 -dvisionexpot,373,8262 -darkvexpot,373,8262 -nepot,373,8262 -weaknessextendedpotion,373,8264 -weakextendedpotion,373,8264 -weaknessexpotion,373,8264 -weakexpotion,373,8264 -weaknessextendedpot,373,8264 -weakextendedpot,373,8264 -weaknessexpot,373,8264 -weakexpot,373,8264 -wepot,373,8264 -strengthextendedpotion,373,8265 -strongextendedpotion,373,8265 -strextendedpotion,373,8265 -strengthexpotion,373,8265 -strongexpotion,373,8265 -strexpotion,373,8265 -strengthextendedpot,373,8265 -strongextendedpot,373,8265 -strextendedpot,373,8265 -strengthexpot,373,8265 -strongexpot,373,8265 -strexpot,373,8265 -stepot,373,8265 -slownessextendedpotion,373,8266 -slowextenedpotion,373,8266 -slownessexpotion,373,8266 -slowexpotion,373,8266 -slownessextendedpot,373,8266 -slowextenedpot,373,8266 -slownessexpot,373,8266 -slowexpot,373,8266 -slepot,373,8266 -leapingpotion,373,8267 -leappotion,373,8267 -waterbreathingextendedpotion,373,8269 -waterbreathextendedpotion,373,8269 -breathingextendedpotion,373,8269 -breathextendedpotion,373,8269 -waterbreathingextendedpot,373,8269 -waterbreathextendedpot,373,8269 -breathingextendedpot,373,8269 -breathextendedpot,373,8269 -waterbreathingexpotion,373,8269 -waterbreathexpotion,373,8269 -breathingexpotion,373,8269 -breathexpotion,373,8269 -waterbreathingexpot,373,8269 -waterbreathexpot,373,8269 -breathingexpot,373,8269 -breathexpot,373,8269 -wbepot,373,8269 -invisibilityextendedpotion,373,8270 -invisibleextendedpotion,373,8270 -invextendedpotion,373,8270 -invisibilityexpotion,373,8270 -invisibleexpotion,373,8270 -invexpotion,373,8270 -invisibilityextendedpot,373,8270 -invisibleextendedpot,373,8270 -invextendedpot,373,8270 -invisibilityexpot,373,8270 -invisibleexpot,373,8270 -invexpot,373,8270 -iepot,373,8270 -regenerationdualbitpotion,373,8289 -regeneratedualbitpotion,373,8289 -regendualbitpotion,373,8289 -regenerationdbpotion,373,8289 -regeneratedbpotion,373,8289 -regendbpotion,373,8289 -regenerationdualbitpot,373,8289 -regeneratedualbitpot,373,8289 -regendualbitpot,373,8289 -regenerationdbpot,373,8289 -regeneratedbpot,373,8289 -regendbpot,373,8289 -rdbpot,373,8289 -swiftnessdualbitpotion,373,8290 -swiftdualbitpotion,373,8290 -speeddualbitpotion,373,8290 -swiftnessdualbitpot,373,8290 -swiftdualbitpot,373,8290 -speeddualbitpot,373,8290 -swiftnessdbpotion,373,8290 -swiftdbpotion,373,8290 -speeddbpotion,373,8290 -swiftnessdbpot,373,8290 -swiftdbpot,373,8290 -speeddbpot,373,8290 -swdbpot,373,8290 -poisondualbitpotion,373,8292 -aciddualbitpotion,373,8292 -poisondualbitpot,373,8292 -aciddualbitpot,373,8292 -poisondbpotion,373,8292 -aciddbpotion,373,8292 -poisondbpot,373,8292 -aciddbpot,373,8292 -pdbpot,373,8292 -strengthdualbitpotion,373,8297 -strongdualbitpotion,373,8297 -strdualbitpotion,373,8297 -strengthdualbitpot,373,8297 -strongdualbitpot,373,8297 -strdualbitpot,373,8297 -strengthdbpotion,373,8297 -strongdbpotion,373,8297 -strdbpotion,373,8297 -strengthdbpot,373,8297 -strongdbpot,373,8297 -strdbpot,373,8297 -stdbpot,373,8297 -splashmundanepotion,373,16384 -splmundanepotion,373,16384 -splashregenerationpotion,373,16385 -splashregeneratepotion,373,16385 -splashregenpotion,373,16385 -splashregenerationpot,373,16385 -splashregeneratepot,373,16385 -splashregenpot,373,16385 -regenerationsplashpotion,373,16385 -regeneratesplashpotion,373,16385 -regensplashpotion,373,16385 -splregenerationpotion,373,16385 -splregeneratepotion,373,16385 -splregenpotion,373,16385 -splregenerationpot,373,16385 -splregeneratepot,373,16385 -splregenpot,373,16385 -sprpot,373,16385 -splashswiftnesspotion,373,16386 -splashswiftpotion,373,16386 -splashspeedpotion,373,16386 -splashswiftnesspot,373,16386 -splashswiftpot,373,16386 -splashspeedpot,373,16386 -splswiftnesspotion,373,16386 -splswiftpotion,373,16386 -splspeedpotion,373,16386 -splswiftnesspot,373,16386 -splswiftpot,373,16386 -splspeedpot,373,16386 -spswpot,373,16386 -splashfireresistancepotion,373,16387 -splashfireresistpotion,373,16387 -splashfirerespotion,373,16387 -splashfireresistancepot,373,16387 -splashfireresistpot,373,16387 -splashfirerespot,373,16387 -splfireresistancepotion,373,16387 -splfireresistpotion,373,16387 -splfirerespotion,373,16387 -splfireresistancepot,373,16387 -splfireresistpot,373,16387 -splfirerespot,373,16387 -spfpot,373,16387 -splashpoisonpotion,373,16388 -splashacidpotion,373,16388 -splashpoisonpot,373,16388 -splashacidpot,373,16388 -splpoisonpotion,373,16388 -splacidpotion,373,16388 -splpoisonpot,373,16388 -splacidpot,373,16388 -spppot,373,16388 -splashhealingpotion,373,16389 -splashhealpotion,373,16389 -splashlifepotion,373,16389 -splashhealingpot,373,16389 -splashhealpot,373,16389 -splashlifepot,373,16389 -splhealingpotion,373,16389 -splhealpotion,373,16389 -spllifepotion,373,16389 -splhealingpot,373,16389 -splhealpot,373,16389 -spllifepot,373,16389 -sphpot,373,16389 -splashclearpotion,373,16390 -splashclearpot,373,16390 -splclearpotion,373,16390 -splclearpot,373,16390 -splashnightvisionpotion,373,16390 -splashnvisionpotion,373,16390 -splashnightvpotion,373,16390 -splashdarkvisionpotion,373,16390 -splashdvisionpotion,373,16390 -splashdarkvpotion,373,16390 -splashnightvisionpot,373,16390 -splashnvisionpot,373,16390 -splashnightvpot,373,16390 -splashdarkvisionpot,373,16390 -splashdvisionpot,373,16390 -splashdarkvpot,373,16390 -splnightvisionpotion,373,16390 -splnvisionpotion,373,16390 -splnightvpotion,373,16390 -spldarkvisionpotion,373,16390 -spldvisionpotion,373,16390 -spldarkvpotion,373,16390 -splnightvisionpot,373,16390 -splnvisionpot,373,16390 -splnightvpot,373,16390 -spldarkvisionpot,373,16390 -spldvisionpot,373,16390 -spldarkvpot,373,16390 -spnpot,373,16390 -splashclearextendedpotion,373,16391 -splashclearexpotion,373,16391 -splashclear2potion,373,16391 -splashclearextendedpot,373,16391 -splashclearexpot,373,16391 -splashclear2pot,373,16391 -splclearextendedpotion,373,16391 -splclearexpotion,373,16391 -splclear2potion,373,16391 -splclearextendedpot,373,16391 -splclearexpot,373,16391 -splclear2pot,373,16391 -splashweaknesspotion,373,16392 -splashweakpotion,373,16392 -splashweaknesspot,373,16392 -splashweakpot,373,16392 -splweaknesspotion,373,16392 -splweakpotion,373,16392 -splweaknesspot,373,16392 -splweakpot,373,16392 -spwpot,373,16392 -splashstrengthpotion,373,16393 -splashstrongpotion,373,16393 -splashstrpotion,373,16393 -splashstrengthpot,373,16393 -splashstrongpot,373,16393 -splashstrpot,373,16393 -splstrengthpotion,373,16393 -splstrongpotion,373,16393 -splstrpotion,373,16393 -splstrengthpot,373,16393 -splstrongpot,373,16393 -splstrpot,373,16393 -spstpot,373,16393 -splashslownesspotion,373,16394 -splashslowpotion,373,16394 -splashslownesspot,373,16394 -splashslowpot,373,16394 -splslownesspotion,373,16394 -splslowpotion,373,16394 -splslownesspot,373,16394 -splslowpot,373,16394 -spslpot,373,16394 -splashdiffusepotion,373,16395 -splashdiffusepot,373,16395 -spldiffusepotion,373,16395 -spldiffusepot,373,16395 -splashharmingpotion,373,16396 -splashdamagepotion,373,16396 -splashdmgpotion,373,16396 -splashharmingpot,373,16396 -splashdamagepot,373,16396 -splashdmgpot,373,16396 -splharmingpotion,373,16396 -spldamagepotion,373,16396 -spldmgpotion,373,16396 -splharmingpot,373,16396 -spldamagepot,373,16396 -spldmgpot,373,16396 -spdpot,373,16396 -splashartlesspotion,373,16397 -splashartlesspot,373,16397 -splartlesspotion,373,16397 -splartlesspot,373,16397 -splashwaterbreathingpotion,373,16397 -splashwaterbreathpotion,373,16397 -splashbreathingpotion,373,16397 -splashbreathpotion,373,16397 -splashwaterbreathingpot,373,16397 -splashwaterbreathpot,373,16397 -splashbreathingpot,373,16397 -splashbreathpot,373,16397 -splwaterbreathingpotion,373,16397 -splwaterbreathpotion,373,16397 -splbreathingpotion,373,16397 -splbreathpotion,373,16397 -splwaterbreathingpot,373,16397 -splwaterbreathpot,373,16397 -splbreathingpot,373,16397 -splbreathpot,373,16397 -spwbpot,373,16397 -splashthinpotion,373,16398 -splashthinpot,373,16398 -splthinpotion,373,16398 -splthinpot,373,16398 -splashinvisibilitypotion,373,16398 -splashinvisiblepotion,373,16398 -splashinvpotion,373,16398 -splashinvisibilitypot,373,16398 -splashinvisiblepot,373,16398 -splashinvpot,373,16398 -splinvisibilitypotion,373,16398 -splinvisiblepotion,373,16398 -splinvpotion,373,16398 -splinvisibilitypot,373,16398 -splinvisiblepot,373,16398 -splinvpot,373,16398 -spipot,373,16398 -splashthinextendedpotion,373,16399 -splashthinexpotion,373,16399 -splashthin2potion,373,16399 -splashthinextendedpot,373,16399 -splashthinexpot,373,16399 -splashthin2pot,373,16399 -splthinextendedpotion,373,16399 -splthinexpotion,373,16399 -splthin2potion,373,16399 -splthinextendedpot,373,16399 -splthinexpot,373,16399 -splthin2pot,373,16399 -splashawkwardpotion,373,16400 -splashawkwardpot,373,16400 -splawkwardpotion,373,16400 -splawkwardpot,373,16400 -splashbunglingpotion,373,16406 -splashbunglingpot,373,16406 -splbunglingpotion,373,16406 -splbunglingpot,373,16406 -splashbunglingextendedpotion,373,16407 -splashbunglingexpotion,373,16407 -splashbungling2potion,373,16407 -splashbunglingextendedpot,373,16407 -splashbunglingexpot,373,16407 -splashbungling2pot,373,16407 -splbunglingextendedpotion,373,16407 -splbunglingexpotion,373,16407 -splbungling2potion,373,16407 -splbunglingextendedpot,373,16407 -splbunglingexpot,373,16407 -splbungling2pot,373,16407 -splashsmoothpotion,373,16411 -splashsmoothpot,373,16411 -splsmoothpotion,373,16411 -splsmoothpot,373,16411 -splashsuavepotion,373,16413 -splashsuavepot,373,16413 -splsuavepotion,373,16413 -splsuavepot,373,16413 -splashdebonairpotion,373,16414 -splashdebonairpot,373,16414 -spldebonairpotion,373,16414 -spldebonairpot,373,16414 -splashdebonairextendedpotion,373,16415 -splashdebonairexpotion,373,16415 -splashdebonair2potion,373,16415 -splashdebonairextendedpot,373,16415 -splashdebonairexpot,373,16415 -splashdebonair2pot,373,16415 -spldebonairextendedpotion,373,16415 -spldebonairexpotion,373,16415 -spldebonair2potion,373,16415 -spldebonairextendedpot,373,16415 -spldebonairexpot,373,16415 -spldebonair2pot,373,16415 -splashthickpotion,373,16416 -splashthickpot,373,16416 -splthickpotion,373,16416 -splthickpot,373,16416 -splashregenerationleveliipotion,373,16417 -splashregenerateleveliipotion,373,16417 -splashregenleveliipotion,373,16417 -splashregenerationlevel2potion,373,16417 -splashregeneratelevel2potion,373,16417 -splashregenlevel2potion,373,16417 -splashregenerationiipotion,373,16417 -splashregenerateiipotion,373,16417 -splashregeniipotion,373,16417 -splashregenerationleveliipot,373,16417 -splashregenerateleveliipot,373,16417 -splashregenleveliipot,373,16417 -splashregenerationlevel2pot,373,16417 -splashregeneratelevel2pot,373,16417 -splashregenlevel2pot,373,16417 -splashregenerationiipot,373,16417 -splashregenerateiipot,373,16417 -splashregeniipot,373,16417 -splregenerationleveliipotion,373,16417 -splregenerateleveliipotion,373,16417 -splregenleveliipotion,373,16417 -splregenerationlevel2potion,373,16417 -splregeneratelevel2potion,373,16417 -splregenlevel2potion,373,16417 -splregenerationiipotion,373,16417 -splregenerateiipotion,373,16417 -splregeniipotion,373,16417 -splregenerationleveliipot,373,16417 -splregenerateleveliipot,373,16417 -splregenleveliipot,373,16417 -splregenerationlevel2pot,373,16417 -splregeneratelevel2pot,373,16417 -splregenlevel2pot,373,16417 -splregenerationiipot,373,16417 -splregenerateiipot,373,16417 -splregeniipot,373,16417 -spr2pot,373,16417 -splashswiftnessleveliipotion,373,16418 -splashswiftleveliipotion,373,16418 -splashspeedleveliipotion,373,16418 -splashswiftnesslevel2potion,373,16418 -splashswiftlevel2potion,373,16418 -splashspeedlevel2potion,373,16418 -splashswiftnessiipotion,373,16418 -splashswiftiipotion,373,16418 -splashspeediipotion,373,16418 -splashswiftnessleveliipot,373,16418 -splashswiftleveliipot,373,16418 -splashspeedleveliipot,373,16418 -splashswiftnesslevel2pot,373,16418 -splashswiftlevel2pot,373,16418 -splashspeedlevel2pot,373,16418 -splashswiftnessiipot,373,16418 -splashswiftiipot,373,16418 -splashspeediipot,373,16418 -splswiftnessleveliipotion,373,16418 -splswiftleveliipotion,373,16418 -splspeedleveliipotion,373,16418 -splswiftnesslevel2potion,373,16418 -splswiftlevel2potion,373,16418 -splspeedlevel2potion,373,16418 -splswiftnessiipotion,373,16418 -splswiftiipotion,373,16418 -splspeediipotion,373,16418 -splswiftnessleveliipot,373,16418 -splswiftleveliipot,373,16418 -splspeedleveliipot,373,16418 -splswiftnesslevel2pot,373,16418 -splswiftlevel2pot,373,16418 -splspeedlevel2pot,373,16418 -splswiftnessiipot,373,16418 -splswiftiipot,373,16418 -splspeediipot,373,16418 -spsw2pot,373,16418 -splashpoisonleveliipotion,373,16420 -splashacidleveliipotion,373,16420 -splashpoisonlevel2potion,373,16420 -splashacidlevel2potion,373,16420 -splashpoisoniipotion,373,16420 -splashacidiipotion,373,16420 -splashpoisonleveliipot,373,16420 -splashacidleveliipot,373,16420 -splashpoisonlevel2pot,373,16420 -splashacidlevel2pot,373,16420 -splashpoisoniipot,373,16420 -splashacidiipot,373,16420 -splpoisonleveliipotion,373,16420 -splacidleveliipotion,373,16420 -splpoisonlevel2potion,373,16420 -splcidlevel2potion,373,16420 -splpoisoniipotion,373,16420 -splacidiipotion,373,16420 -splpoisonleveliipot,373,16420 -splacidleveliipot,373,16420 -splpoisonlevel2pot,373,16420 -splacidlevel2pot,373,16420 -splpoisoniipot,373,16420 -splacidiipot,373,16420 -spp2pot,373,16420 -splashhealingleveliipotion,373,16421 -splashhealleveliipotion,373,16421 -splashhealinglevel2potion,373,16421 -splashheallevel2potion,373,16421 -splashhealingiipotion,373,16421 -splashhealiipotion,373,16421 -splashhealingleveliipot,373,16421 -splashhealleveliipot,373,16421 -splashhealinglevel2pot,373,16421 -splashheallevel2pot,373,16421 -splashhealingiipot,373,16421 -splashhealiipot,373,16421 -splhealingleveliipotion,373,16421 -splhealleveliipotion,373,16421 -splhealinglevel2potion,373,16421 -splheallevel2potion,373,16421 -splhealingiipotion,373,16421 -splhealiipotion,373,16421 -splhealingleveliipot,373,16421 -splhealleveliipot,373,16421 -splhealinglevel2pot,373,16421 -splheallevel2pot,373,16421 -splhealingiipot,373,16421 -splhealiipot,373,16421 -sph2pot,373,16421 -splashcharmingpotion,373,16422 -splashcharmingpot,373,16422 -splcharmingpotion,373,16422 -splcharmingpot,373,16422 -splashcharmingextendedpotion,373,16423 -splashcharmingexpotion,373,16423 -splashcharming2potion,373,16423 -splashcharmingextendedpot,373,16423 -splashcharmingexpot,373,16423 -splashcharming2pot,373,16423 -splcharmingextendedpotion,373,16423 -splcharmingexpotion,373,16423 -splcharming2potion,373,16423 -splcharmingextendedpot,373,16423 -splcharmingexpot,373,16423 -splcharming2pot,373,16423 -splashstrengthleveliipotion,373,16425 -splashstrongleveliipotion,373,16425 -splashstrleveliipotion,373,16425 -splashstrengthlevel2potion,373,16425 -splashstronglevel2potion,373,16425 -splashstrlevel2potion,373,16425 -splashstrengthiipotion,373,16425 -splashstrongiipotion,373,16425 -splashstriipotion,373,16425 -splashstrengthleveliipot,373,16425 -splashstrongleveliipot,373,16425 -splashstrleveliipot,373,16425 -splashstrengthlevel2pot,373,16425 -splashstronglevel2pot,373,16425 -splashstrlevel2pot,373,16425 -splashstrengthiipot,373,16425 -splashstrongiipot,373,16425 -splashstriipot,373,16425 -splstrengthleveliipotion,373,16425 -splstrongleveliipotion,373,16425 -splstrleveliipotion,373,16425 -splstrengthlevel2potion,373,16425 -splstronglevel2potion,373,16425 -splstrlevel2potion,373,16425 -splstrengthiipotion,373,16425 -splstrongiipotion,373,16425 -splstriipotion,373,16425 -splstrengthleveliipot,373,16425 -splstrongleveliipot,373,16425 -splstrleveliipot,373,16425 -splstrengthlevel2pot,373,16425 -splstronglevel2pot,373,16425 -splstrlevel2pot,373,16425 -splstrengthiipot,373,16425 -splstrongiipot,373,16425 -splstriipot,373,16425 -spst2pot,373,16425 -splashrefinedpotion,373,16427 -splashrefinedpot,373,16427 -splrefinedpotion,373,16427 -splrefinedpot,373,16427 -splashharmingleveliipotion,373,16428 -splashdamageleveliipotion,373,16428 -splashdmgleveliipotion,373,16428 -splashharminglevel2potion,373,16428 -splashdamagelevel2potion,373,16428 -splashdmglevel2potion,373,16428 -splashharmingiipotion,373,16428 -splashdamageiipotion,373,16428 -splashdmgiipotion,373,16428 -splashharmingleveliipot,373,16428 -splashdamageleveliipot,373,16428 -splashdmgleveliipot,373,16428 -splashharminglevel2pot,373,16428 -splashdamagelevel2pot,373,16428 -splashdmglevel2pot,373,16428 -splashharmingiipot,373,16428 -splashdamageiipot,373,16428 -splashdmgiipot,373,16428 -splharmingleveliipotion,373,16428 -spldamageleveliipotion,373,16428 -spldmgleveliipotion,373,16428 -splharminglevel2potion,373,16428 -spldamagelevel2potion,373,16428 -spldmglevel2potion,373,16428 -splharmingiipotion,373,16428 -spldamageiipotion,373,16428 -spldmgiipotion,373,16428 -splharmingleveliipot,373,16428 -spldamageleveliipot,373,16428 -spldmgleveliipot,373,16428 -splharminglevel2pot,373,16428 -spldamagelevel2pot,373,16428 -spldmglevel2pot,373,16428 -splharmingiipot,373,16428 -spldamageiipot,373,16428 -spldmgiipot,373,16428 -spd2pot,373,16428 -splashcordialpotion,373,16429 -splashcordialpot,373,16429 -splcordialpotion,373,16429 -splcordialpot,373,16429 -splashsparklingpotion,373,16430 -splashsparklingpot,373,16430 -splsparklingpotion,373,16430 -splsparklingpot,373,16430 -splashsparklingextendedpotion,373,16431 -splashsparklingexpotion,373,16431 -splashsparkling2potion,373,16431 -splashsparklingextendedpot,373,16431 -splashsparklingexpot,373,16431 -splashsparkling2pot,373,16431 -splsparklingextendedpotion,373,16431 -splsparklingexpotion,373,16431 -splsparkling2potion,373,16431 -splsparklingextendedpot,373,16431 -splsparklingexpot,373,16431 -splsparkling2pot,373,16431 -splashpotentpotion,373,16432 -splashpotentpot,373,16432 -splpotentpotion,373,16432 -splpotentpot,373,16432 -splashrankpotion,373,16438 -splashrankpot,373,16438 -splrankpotion,373,16438 -splrankpot,373,16438 -splashrankextendedpotion,373,16439 -splashrankexpotion,373,16439 -splashrank2potion,373,16439 -splashrankextendedpot,373,16439 -splashrankexpot,373,16439 -splashrank2pot,373,16439 -splrankextendedpotion,373,16439 -splrankexpotion,373,16439 -splrank2potion,373,16439 -splrankextendedpot,373,16439 -splrankexpot,373,16439 -splrank2pot,373,16439 -splashacridpotion,373,16443 -splashacridpot,373,16443 -splacridpotion,373,16443 -splacridpot,373,16443 -splashgrosspotion,373,16445 -splashgrosspot,373,16445 -splgrosspotion,373,16445 -splgrosspot,373,16445 -splashstinkypotion,373,16446 -splashstinkypot,373,16446 -splstinkypotion,373,16446 -splstinkypot,373,16446 -splashstinkyextendedpotion,373,16447 -splashstinkyexpotion,373,16447 -splashstinky2potion,373,16447 -splashstinkyextendedpot,373,16447 -splashstinkyexpot,373,16447 -splashstinky2pot,373,16447 -splstinkyextendedpotion,373,16447 -splstinkyexpotion,373,16447 -splstinky2potion,373,16447 -splstinkyextendedpot,373,16447 -splstinkyexpot,373,16447 -splstinky2pot,373,16447 -splashmundaneextendedpotion,373,16448 -splashmundaneexpotion,373,16448 -splashmundane2potion,373,16448 -splashmundaneextendedpot,373,16448 -splashmundaneexpot,373,16448 -splashmundane2pot,373,16448 -splmundaneextendedpotion,373,16448 -splmundaneexpotion,373,16448 -splmundane2potion,373,16448 -splmundaneextendedpot,373,16448 -splmundaneexpot,373,16448 -splmundane2pot,373,16448 -splashregenerationextendedpotion,373,16449 -splashregenerateextendedpotion,373,16449 -splashregenextendepotion,373,16449 -splashregenerationexpotion,373,16449 -splashregenerateexpotion,373,16449 -splashregenexpotion,373,16449 -splashregenerationextendedpot,373,16449 -splashregenerateextendedpot,373,16449 -splashregenextendepot,373,16449 -splashregenerationexpot,373,16449 -splashregenerateexpot,373,16449 -splashregenexpot,373,16449 -splregenerationextendedpotion,373,16449 -splregenerateextendedpotion,373,16449 -splregenextendepotion,373,16449 -splregenerationexpotion,373,16449 -splregenerateexpotion,373,16449 -splregenexpotion,373,16449 -splregenerationextendedpot,373,16449 -splregenerateextendedpot,373,16449 -splregenextendepot,373,16449 -splregenerationexpot,373,16449 -splregenerateexpot,373,16449 -splregenexpot,373,16449 -sprepot,373,16449 -splashswiftnessextendedpotion,373,16450 -splashswiftextendedpotion,373,16450 -splashspeedextendedpotion,373,16450 -splashswiftnessexpotion,373,16450 -splashswiftexpotion,373,16450 -splashspeedexpotion,373,16450 -splashswiftnessextendedpot,373,16450 -splashswiftextendedpot,373,16450 -splashspeedextendedpot,373,16450 -splashswiftnessexpot,373,16450 -splashswiftexpot,373,16450 -splashspeedexpot,373,16450 -splswiftnessextendedpotion,373,16450 -splswiftextendedpotion,373,16450 -splspeedextendedpotion,373,16450 -splswiftnessexpotion,373,16450 -splswiftexpotion,373,16450 -splspeedexpotion,373,16450 -splswiftnessextendedpot,373,16450 -splswiftextendedpot,373,16450 -splspeedextendedpot,373,16450 -splswiftnessexpot,373,16450 -splswiftexpot,373,16450 -splspeedexpot,373,16450 -spswepot,373,16450 -splashfireresistanceextendedpotion,373,16451 -splashfireresistextendedpotion,373,16451 -splashfireresextendedpotion,373,16451 -splashfireresistanceexpotion,373,16451 -splashfireresistexpotion,373,16451 -splashfireresexpotion,373,16451 -splashfireresistanceextendedpot,373,16451 -splashfireresistextendedpot,373,16451 -splashfireresextendedpot,373,16451 -splashfireresistanceexpot,373,16451 -splashfireresistexpot,373,16451 -splashfireresexpot,373,16451 -splfireresistanceextendedpotion,373,16451 -splfireresistextendedpotion,373,16451 -splfireresextendedpotion,373,16451 -splfireresistanceexpotion,373,16451 -splfireresistexpotion,373,16451 -splfireresexpotion,373,16451 -splfireresistanceextendedpot,373,16451 -splfireresistextendedpot,373,16451 -splfireresextendedpot,373,16451 -splfireresistanceexpot,373,16451 -splfireresistexpot,373,16451 -splfireresexpot,373,16451 -spfepot,373,16451 -splashpoisonextendedpotion,373,16452 -splashacidextendedpotion,373,16452 -splashpoisonexpotion,373,16452 -splashacidexpotion,373,16452 -splashpoisonextendedpot,373,16452 -splashacidextendedpot,373,16452 -splashpoisonexpot,373,16452 -splashacidexpot,373,16452 -splpoisonextendedpotion,373,16452 -splacidextendedpotion,373,16452 -splpoisonexpotion,373,16452 -splacidexpotion,373,16452 -splpoisonextendedpot,373,16452 -splacidextendedpot,373,16452 -splpoisonexpot,373,16452 -splacidexpot,373,16452 -sppepot,373,16452 -splashnightvisionextendedpotion,373,16454 -splashnvisionextendedpotion,373,16454 -splashnightvextendedpotion,373,16454 -splashdarkvisionextendedpotion,373,16454 -splashdvisionextendedpotion,373,16454 -splashdarkvextendedpotion,373,16454 -splashnightvisionextendedpot,373,16454 -splashnvisionextendedpot,373,16454 -splashnightvextendedpot,373,16454 -splashdarkvisionextendedpot,373,16454 -splashdvisionextendedpot,373,16454 -splashdarkvextendedpot,373,16454 -splashnightvisionexpotion,373,16454 -splashnvisionexpotion,373,16454 -splashnightvexpotion,373,16454 -splashdarkvisionexpotion,373,16454 -splashdvisionexpotion,373,16454 -splashdarkvexpotion,373,16454 -splashnightvisionexpot,373,16454 -splashnvisionexpot,373,16454 -splashnightvexpot,373,16454 -splashdarkvisionexpot,373,16454 -splashdvisionexpot,373,16454 -splashdarkvexpot,373,16454 -splnightvisionextendedpotion,373,16454 -splnvisionextendedpotion,373,16454 -splnightvextendedpotion,373,16454 -spldarkvisionextendedpotion,373,16454 -spldvisionextendedpotion,373,16454 -spldarkvextendedpotion,373,16454 -splnightvisionextendedpot,373,16454 -splnvisionextendedpot,373,16454 -splnightvextendedpot,373,16454 -spldarkvisionextendedpot,373,16454 -spldvisionextendedpot,373,16454 -spldarkvextendedpot,373,16454 -splnightvisionexpotion,373,16454 -splnvisionexpotion,373,16454 -splnightvexpotion,373,16454 -spldarkvisionexpotion,373,16454 -spldvisionexpotion,373,16454 -spldarkvexpotion,373,16454 -splnightvisionexpot,373,16454 -splnvisionexpot,373,16454 -splnightvexpot,373,16454 -spldarkvisionexpot,373,16454 -spldvisionexpot,373,16454 -spldarkvexpot,373,16454 -spnepot,373,16454 -splashweaknessextendedpotion,373,16456 -splashweakextendedpotion,373,16456 -splashweaknessexpotion,373,16456 -splashweakexpotion,373,16456 -splashweaknessextendedpot,373,16456 -splashweakextendedpot,373,16456 -splashweaknessexpot,373,16456 -splashweakexpot,373,16456 -splweaknessextendedpotion,373,16456 -sphweakextendedpotion,373,16456 -splweaknessexpotion,373,16456 -splweakexpotion,373,16456 -splweaknessextendedpot,373,16456 -splweakextendedpot,373,16456 -splweaknessexpot,373,16456 -splweakexpot,373,16456 -spwepot,373,16456 -splashstrengthextendedpotion,373,16457 -splashstrongextendedpotion,373,16457 -splashstrextendedpotion,373,16457 -splashstrengthexpotion,373,16457 -splashstrongexpotion,373,16457 -splashstrexpotion,373,16457 -splashstrengthextendedpot,373,16457 -splashstrongextendedpot,373,16457 -splashstrextendedpot,373,16457 -splashstrengthexpot,373,16457 -splashstrongexpot,373,16457 -splashstrexpot,373,16457 -splstrengthextendedpotion,373,16457 -splstrongextendedpotion,373,16457 -splstrextendedpotion,373,16457 -splstrengthexpotion,373,16457 -splstrongexpotion,373,16457 -splstrexpotion,373,16457 -splstrengthextendedpot,373,16457 -splstrongextendedpot,373,16457 -splstrextendedpot,373,16457 -splstrengthexpot,373,16457 -splstrongexpot,373,16457 -splstrexpot,373,16457 -spstepot,373,16457 -splashslownessextendedpotion,373,16458 -splashslowextenedpotion,373,16458 -splashslownessexpotion,373,16458 -splashslowexpotion,373,16458 -splashslownessextendedpot,373,16458 -splashslowextenedpot,373,16458 -splashslownessexpot,373,16458 -splashslowexpot,373,16458 -splslownessextendedpotion,373,16458 -splslowextenedpotion,373,16458 -splslownessexpotion,373,16458 -splslowexpotion,373,16458 -splslownessextendedpot,373,16458 -splslowextenedpot,373,16458 -splslownessexpot,373,16458 -splslowexpot,373,16458 -spslepot,373,16458 -splashleapingpotion,373,16459 -splashleappotion,373,16459 -splleapingpotion,373,16459 -splleappotion,373,16459 -leapingsplashpotion,373,16459 -leapsplashpotion,373,16459 -leapingsplpotion,373,16459 -leapsplpotion,373,16459 -splashwaterbreathingextendedpotion,373,16461 -splashwaterbreathextendedpotion,373,16461 -splashbreathingextendedpotion,373,16461 -splashbreathextendedpotion,373,16461 -splashwaterbreathingextendedpot,373,16461 -splashwaterbreathextendedpot,373,16461 -splashbreathingextendedpot,373,16461 -splashbreathextendedpot,373,16461 -splwaterbreathingextendedpotion,373,16461 -splwaterbreathextendedpotion,373,16461 -splbreathingextendedpotion,373,16461 -splbreathextendedpotion,373,16461 -splwaterbreathingextendedpot,373,16461 -splwaterbreathextendedpot,373,16461 -splbreathingextendedpot,373,16461 -splbreathextendedpot,373,16461 -splashwaterbreathingexpotion,373,16461 -splashwaterbreathexpotion,373,16461 -splashbreathingexpotion,373,16461 -splashbreathexpotion,373,16461 -splashwaterbreathingexpot,373,16461 -splashwaterbreathexpot,373,16461 -splashbreathingexpot,373,16461 -splashbreathexpot,373,16461 -splwaterbreathingexpotion,373,16461 -splwaterbreathexpotion,373,16461 -splbreathingexpotion,373,16461 -splbreathexpotion,373,16461 -splwaterbreathingexpot,373,16461 -splwaterbreathexpot,373,16461 -splbreathingexpot,373,16461 -splbreathexpot,373,16461 -spwbepot,373,16461 -splashinvisibilityextendedpotion,373,16462 -splashinvisibleextendedpotion,373,16462 -splashinvextendedpotion,373,16462 -splashinvisibilityextendedpot,373,16462 -splashinvisibleextendedpot,373,16462 -splashinvextendedpot,373,16462 -splashinvisibilityexpotion,373,16462 -splashinvisibleexpotion,373,16462 -splashinvexpotion,373,16462 -splashinvisibilityexpot,373,16462 -splashinvisibleexpot,373,16462 -splashinvexpot,373,16462 -splinvisibilityextendedpotion,373,16462 -splinvisibleextendedpotion,373,16462 -splinvextendedpotion,373,16462 -splinvisibilityextendedpot,373,16462 -splinvisibleextendedpot,373,16462 -splinvextendedpot,373,16462 -splinvisibilityexpotion,373,16462 -splinvisibleexpotion,373,16462 -splinvexpotion,373,16462 -splinvisibilityexpot,373,16462 -splinvisibleexpot,373,16462 -splinvexpot,373,16462 -spiepot,373,16462 -splashregenerationdualbitpotion,373,16481 -splashregeneratedualbitpotion,373,16481 -splashregendualbitpotion,373,16481 -splashregenerationdualbitpot,373,16481 -splashregeneratedualbitpot,373,16481 -splashregendualbitpot,373,16481 -splregenerationdualbitpotion,373,16481 -splregeneratedualbitpotion,373,16481 -splregendualbitpotion,373,16481 -splregenerationdualbitpot,373,16481 -splregeneratedualbitpot,373,16481 -splregendualbitpot,373,16481 -splashregenerationdbpotion,373,16481 -splashregeneratedbpotion,373,16481 -splashregendbpotion,373,16481 -splashregenerationdbpot,373,16481 -splashregeneratedbpot,373,16481 -splashregendbpot,373,16481 -splregenerationdbpotion,373,16481 -splregeneratedbpotion,373,16481 -splregendbpotion,373,16481 -splregenerationdbpot,373,16481 -splregeneratedbpot,373,16481 -splregendbpot,373,16481 -sprdbpot,373,16481 -splashswiftnessdualbitpotion,373,16482 -splashswiftdualbitpotion,373,16482 -splashspeeddualbitpotion,373,16482 -splashswiftnessdualbitpot,373,16482 -splashswiftdualbitpot,373,16482 -splashspeeddualbitpot,373,16482 -splswiftnessdualbitpotion,373,16482 -splswiftdualbitpotion,373,16482 -splspeeddualbitpotion,373,16482 -splswiftnessdualbitpot,373,16482 -splswiftdualbitpot,373,16482 -splspeeddualbitpot,373,16482 -splashswiftnessdbpotion,373,16482 -splashswiftdbpotion,373,16482 -splashspeeddbpotion,373,16482 -splashswiftnessdbpot,373,16482 -splashswiftdbpot,373,16482 -splashspeeddbpot,373,16482 -splswiftnessdbpotion,373,16482 -splswiftdbpotion,373,16482 -splspeeddbpotion,373,16482 -splswiftnessdbpot,373,16482 -splswiftdbpot,373,16482 -splspeeddbpot,373,16482 -spswdbpot,373,16482 -splashpoisondualbitpotion,373,16484 -splashaciddualbitpotion,373,16484 -splashpoisondualbitpot,373,16484 -splashaciddualbitpot,373,16484 -splpoisondualbitpotion,373,16484 -splaciddualbitpotion,373,16484 -splpoisondualbitpot,373,16484 -splaciddualbitpot,373,16484 -splashpoisondbpotion,373,16484 -splashaciddbpotion,373,16484 -splashpoisondbpot,373,16484 -splashaciddbpot,373,16484 -splpoisondbpotion,373,16484 -splaciddbpotion,373,16484 -splpoisondbpot,373,16484 -splaciddbpot,373,16484 -sppdbpot,373,16484 -splashstrengthdualbitpotion,373,16489 -splashstrongdualbitpotion,373,16489 -splashstrdualbitpotion,373,16489 -splashstrengthdualbitpot,373,16489 -splashstrongdualbitpot,373,16489 -splashstrdualbitpot,373,16489 -splstrengthdualbitpotion,373,16489 -splstrongdualbitpotion,373,16489 -splstrdualbitpotion,373,16489 -splstrengthdualbitpot,373,16489 -splstrongdualbitpot,373,16489 -splstrdualbitpot,373,16489 -splashstrengthdbpotion,373,16489 -splashstrongdbpotion,373,16489 -splashstrdbpotion,373,16489 -splashstrengthdbpot,373,16489 -splashstrongdbpot,373,16489 -splashstrdbpot,373,16489 -splstrengthdbpotion,373,16489 -splstrongdbpotion,373,16489 -splstrdbpotion,373,16489 -splstrengthdbpot,373,16489 -splstrongdbpot,373,16489 -splstrdbpot,373,16489 -spstdbpot,373,16489 -glassbottle,374,0 -bottle,374,0 -gbottle,374,0 -gvase,374,0 -vase,374,0 -glassvase,374,0 -emptyglassbottle,374,0 -emptybottle,374,0 -emptygbottle,374,0 -emptygvase,374,0 -emptyvase,374,0 -emptyglassvase,374,0 -eglassbottle,374,0 -ebottle,374,0 -egbottle,374,0 -egvase,374,0 -evase,374,0 -eglassvase,374,0 -spidereye,375,0 -eyeofspider,375,0 -seye,375,0 -fermentedspidereye,376,0 -craftedspidereye,376,0 -fspidereye,376,0 -cspidereye,376,0 -fermentedeyeofspider,376,0 -craftedeyeofspider,376,0 -feyeofspider,376,0 -ceyeofspider,376,0 -fermentedseye,376,0 -craftedseye,376,0 -fseye,376,0 -cseye,376,0 -blazepowder,377,0 -blazedust,377,0 -goldpowder,377,0 -golddust,377,0 -gdust,377,0 -gpowder,377,0 -bpowder,377,0 -bdust,377,0 -magmacream,378,0 -goldcream,378,0 -blazecream,378,0 -mcream,378,0 -gcream,378,0 -bcream,378,0 -combinedcream,378,0 -ccream,378,0 -bstand,379,0 -pstand,379,0 -brewingstand,379,0 -potionstand,379,0 -cauld,380,0 -cauldron,380,0 -steelcauldron,380,0 -ironcauldron,380,0 -icauldron,380,0 -scauldron,380,0 -potioncauldron,380,0 -pcauldron,380,0 -eyeofender,381,0 -endereye,381,0 -endeye,381,0 -evilendereye,381,0 -evileyeofender,381,0 -evilenderpearl,381,0 -eeye,381,0 -eofender,381,0 -glisteringmelon,382,0 -speckledmelon,382,0 -goldmelon,382,0 -sparklymelon,382,0 -shiningmelon,382,0 -gmelon,382,0 -smelon,382,0 -creeperegg,383,50 -eggcreeper,383,50 -skeletonegg,383,51 -eggskeleton,383,51 -spideregg,383,52 -eggspider,383,52 -giantegg,383,53 -egggiant,383,53 -zombieegg,383,54 -eggzombie,383,54 -slimeegg,383,55 -eggslime,383,55 -ghastegg,383,56 -eggghast,383,56 -zombiepigmanegg,383,57 -zpigmanegg,383,57 -pigmanegg,383,57 -zombiepmanegg,383,57 -zpmanegg,383,57 -zombiepigmegg,383,57 -zpigmegg,383,57 -zombiepigegg,383,57 -zpigegg,383,57 -zombiepmegg,383,57 -zombiepegg,383,57 -eggzombiepigman,383,57 -eggzpigman,383,57 -eggpigman,383,57 -eggzombiepman,383,57 -eggzpman,383,57 -eggzombiepigm,383,57 -eggzpigm,383,57 -eggzombiepig,383,57 -eggzpig,383,57 -eggzombiepm,383,57 -eggzombiep,383,57 -endermanegg,383,58 -eggenderman,383,58 -eggcavespider,383,59 -cavespideregg,383,59 -silverfishegg,383,60 -eggsilverfish,383,60 -blazeegg,383,61 -eggblaze,383,61 -lavaslimeegg,383,62 -lavacubeegg,383,62 -magmacubeegg,383,62 -magmaslimeegg,383,62 -egglavaslime,383,62 -egglavacube,383,62 -eggmagmacube,383,62 -eggmagmaslime,383,62 -bategg,383,65 -eggbat,383,65 -witchegg,383,66 -eggwitch,383,66 -endermiteegg,383,67 -endermitespawnegg,383,67 -eggendermite,383,67 -guardianegg,383,68 -guardianspawnegg,383,68 -eggguardian,383,68 -spawneggshulker,383,69 -spawnshulker,383,69 -shulkerspawnegg,383,69 -shulkeregg,383,69 -shulkegg,383,69 -pigegg,383,90 -eggpig,383,90 -sheepegg,383,91 -eggsheep,383,91 -cowegg,383,92 -eggcow,383,92 -chickenegg,383,93 -eggchicken,383,93 -squidegg,383,94 -eggsquid,383,94 -wolfegg,383,95 -eggwolf,383,95 -mooshroomegg,383,96 -mushroomcowegg,383,96 -eggmooshroom,383,96 -eggmushroomcow,383,96 -snowgolemegg,383,97 -sgolemegg,383,97 -eggsnowgolem,383,97 -eggsgolem,383,97 -ocelotegg,383,98 -eggocelot,383,98 -irongolemegg,383,99 -igolemegg,383,99 -eggirongolem,383,99 -eggigolem,383,99 -egghorse,383,100 -horseegg,383,100 -rabbitegg,383,101 -rabbitspawnegg,383,101 -spawneggpolarbear,383,102 -spawneggpolar,383,102 -spawneggbear,383,102 -spawnpolarbear,383,102 -spawnpolar,383,102 -spawnbear,383,102 -polarbearspawnegg,383,102 -polarspawnegg,383,102 -bearspawnegg,383,102 -polarbearegg,383,102 -polaregg,383,102 -bearegg,383,102 -villageregg,383,120 -eggvillager,383,120 -bottleofenchanting,384,0 -enchantingbottle,384,0 -expbottle,384,0 -xpbottle,384,0 -bottleexp,384,0 -bottlexp,384,0 -enchantbottle,384,0 -bottleenchanting,384,0 -bottleenchant,384,0 -bottleoenchanting,384,0 -firecharge,385,0 -fireball,385,0 -grenade,385,0 -bookandquill,386,0 -booknquill,386,0 -bookandfeather,386,0 -booknfeather,386,0 -writeablebook,386,0 -writtenbook,387,0 -readablebook,387,0 -sealedbook,387,0 -diary,387,0 -ownedbook,387,0 -emerald,388,0 -itemframe,389,0 -pictureframe,389,0 -iframe,389,0 -pframe,389,0 -flowerpot,390,0 -pot,390,0 -carrot,391,0 -potato,392,0 -rawpotato,392,0 -bakedpotato,393,0 -roastedpotato,393,0 -cookedpotato,393,0 -bakepotato,393,0 -roastpotato,393,0 -cookpotato,393,0 -bpotato,393,0 -rpotato,393,0 -cpotato,393,0 -poisonouspotato,394,0 -poisonpotato,394,0 -ppotato,394,0 -emptymap,395,0 -map,395,0 -goldencarrot,396,0 -goldcarrot,396,0 -gcarrot,396,0 -head,397,0 -skull,397,0 -skhead,397,0 -skeletonhead,397,0 -headskeleton,397,0 -skeletonskull,397,0 -skullskeleton,397,0 -witherhead,397,1 -witherskeletonhead,397,1 -wskeletionhead,397,1 -headwither,397,1 -headwitherskeleton,397,1 -headwskeletion,397,1 -witherskull,397,1 -witherskeletonskull,397,1 -wskeletionskull,397,1 -skullwither,397,1 -skullwitherskeleton,397,1 -skullwskeletion,397,1 -zohead,397,2 -zombiehead,397,2 -headzombie,397,2 -zombieskull,397,2 -skullzombie,397,2 -playerhead,397,3 -humanhead,397,3 -stevehead,397,3 -headplayer,397,3 -headhuman,397,3 -headsteve,397,3 -playerskull,397,3 -humanskull,397,3 -steveskull,397,3 -skullplayer,397,3 -skullhuman,397,3 -skullsteve,397,3 -crhead,397,4 -creeperhead,397,4 -headcreeper,397,4 -creeperskull,397,4 -skullcreeper,397,4 -dragonhead,397,5 -dragonmask,397,5 -dragonheadmask,397,5 -dragmask,397,5 -dragonskull,397,5 -dragskull,397,5 -carrotonastick,398,0 -carrotonstick,398,0 -netherstar,399,0 -hellstar,399,0 -nstar,399,0 -hstar,399,0 -star,399,0 -pumpkinpie,400,0 -pumpkincake,400,0 -ppie,400,0 -pcake,400,0 -pie,400,0 -fireworkrocket,401,0 -fireworkmissle,401,0 -firework,401,0 -fworkrocket,401,0 -fworkmissle,401,0 -fwork,401,0 -fwrocket,401,0 -fwmissle,401,0 -fireworkstar,402,0 -fworkstar,402,0 -fwstar,402,0 -fireworkball,402,0 -fworkball,402,0 -fwball,402,0 -fireworkpowder,402,0 -fworkpowder,402,0 -fwpowder,402,0 -fireworkcharge,402,0 -fworkcharge,402,0 -fwcharge,402,0 -enchantedbook,403,0 -enchantmentbook,403,0 -enchantingbook,403,0 -enchantbook,403,0 -magicalbook,403,0 -magicbook,403,0 -ebook,403,0 -mbook,403,0 -redstonecomparator,404,0 -redstonecomparer,404,0 -redstonecompare,404,0 -rstonecomparator,404,0 -rstonecomparer,404,0 -rstonecompare,404,0 -redscomparator,404,0 -redscomparer,404,0 -redscompare,404,0 -rscomparator,404,0 -rscomparer,404,0 -rscompare,404,0 -comparator,404,0 -comparer,404,0 -compare,404,0 -netherbrick,405,0 -nbrick,405,0 -hellbrick,405,0 -deathbrick,405,0 -dbrick,405,0 -hbrick,405,0 -netherquartz,406,0 -deathquartz,406,0 -hellquartz,406,0 -nquartz,406,0 -dquartz,406,0 -hquartz,406,0 -quartz,406,0 -tntminecart,407,0 -dynamiteminecart,407,0 -dynamitemcart,407,0 -dynamitecart,407,0 -bombminecart,407,0 -bombmcart,407,0 -bombcart,407,0 -tntmcart,407,0 -tntcart,407,0 -dminecart,407,0 -dmcart,407,0 -dcart,407,0 -bminecart,407,0 -bmcart,407,0 -bcart,407,0 -tminecart,407,0 -tmcart,407,0 -tcart,407,0 -hopperminecart,408,0 -hoppermcart,408,0 -hoppercart,408,0 -hopminecart,408,0 -hopmcart,408,0 -hopcart,408,0 -hminecart,408,0 -hmcart,408,0 -hcart,408,0 -prismarineshard,409,0 -priseshard,409,0 -prisemarinecrystals,410,0 -prisecrystals,410,0 -rabbit,411,0 -rabbitmeat,411,0 -cookedrabbit,412,0 -rabbitstew,413,0 -hasenpfeffer,413,0 -rabbitfoot,414,0 -rabbithide,415,0 -armorstand,416,0 -ironhorsearmor,417,0 -ironharmor,417,0 -ironarmor,417,0 -ihorsearmor,417,0 -iharmor,417,0 -iarmor,417,0 -steelhorsearmor,417,0 -steelharmor,417,0 -steelarmor,417,0 -shorsearmor,417,0 -sharmor,417,0 -sarmor,417,0 -goldenhorsearmor,418,0 -goldenharmor,418,0 -goldenarmor,418,0 -goldhorsearmor,418,0 -goldharmor,418,0 -goldarmor,418,0 -ghorsearmor,418,0 -gharmor,418,0 -garmor,418,0 -diamondhorsearmor,419,0 -diamondharmor,419,0 -diamondarmor,419,0 -dhorsearmor,419,0 -dharmor,419,0 -darmor,419,0 -crystalhorsearmor,419,0 -crystalharmor,419,0 -crystalarmor,419,0 -chorsearmor,419,0 -charmor,419,0 -carmor,419,0 -lead,420,0 -leash,420,0 -rope,420,0 -nametag,421,0 -tag,421,0 -commandblockminecart,422,0 -cmdblockminecart,422,0 -cblockminecart,422,0 -commandminecart,422,0 -cmdminecart,422,0 -cbminecart,422,0 -commandblockcart,422,0 -cmdblockcart,422,0 -cblockcart,422,0 -commandcart,422,0 -cmdcart,422,0 -cbcart,422,0 -mutton,423,0 -sheepmeat,423,0 -cookedmutton,424,0 -cookedsheep,424,0 -banner,425,0 -blackbanner,425,0 -standingbanner,425,0 -wallbanner,425,0 -redbanner,425,1 -greenbanner,425,2 -brownbanner,425,3 -bluebanner,425,4 -purplebanner,425,5 -cyanbanner,425,6 -lgreybanner,425,7 -lightgreybanner,425,7 -greybanner,425,8 -pinkbanner,425,9 -limebanner,425,10 -yellowbanner,425,11 -lbluebanner,425,12 -lightbluebanner,425,12 -magentabanner,425,13 -orangebanner,425,14 -whitebanner,425,15 -sprucedoor,193,0 -sprucedooritem,427,0 -birchdoor,428,0 -birchdooritem,428,0 -jungledoor,195,0 -jungledooritem,429,0 -acaciadoor,196,0 -acaciadooritem,430,0 -darkoakdoor,197,0 -darkoakdooritem,431,0 -totem,449,0 -shulkershell,450,0 -13disc,2256,0 -goldmusicrecord,2256,0 -goldmusicdisk,2256,0 -goldmusicdisc,2256,0 -goldmusiccd,2256,0 -13musicrecord,2256,0 -13musicdisk,2256,0 -13musicdisc,2256,0 -13musiccd,2256,0 -gomusicrecord,2256,0 -gomusicdisk,2256,0 -gomusicdisc,2256,0 -gomusiccd,2256,0 -goldmrecord,2256,0 -goldmdisk,2256,0 -goldmdisc,2256,0 -goldmcd,2256,0 -13mrecord,2256,0 -13mdisk,2256,0 -13mdisc,2256,0 -13mcd,2256,0 -gomrecord,2256,0 -gomdisk,2256,0 -gomdisc,2256,0 -gomcd,2256,0 -goldrecord,2256,0 -golddisk,2256,0 -golddisc,2256,0 -goldcd,2256,0 -13record,2256,0 -13disk,2256,0 -13cd,2256,0 -gorecord,2256,0 -godisk,2256,0 -godisc,2256,0 -gocd,2256,0 -record1,2256,0 -disk1,2256,0 -disc1,2256,0 -cd1,2256,0 -1record,2256,0 -1disk,2256,0 -1disc,2256,0 -1cd,2256,0 -catdisc,2257,0 -greenmusicrecord,2257,0 -greenmusicdisk,2257,0 -greenmusicdisc,2257,0 -greenmusiccd,2257,0 -catmusicrecord,2257,0 -catmusicdisk,2257,0 -catmusicdisc,2257,0 -catmusiccd,2257,0 -grmusicrecord,2257,0 -grmusicdisk,2257,0 -grmusicdisc,2257,0 -grmusiccd,2257,0 -greenmrecord,2257,0 -greenmdisk,2257,0 -greenmdisc,2257,0 -greenmcd,2257,0 -catmrecord,2257,0 -catmdisk,2257,0 -catmdisc,2257,0 -catmcd,2257,0 -grmrecord,2257,0 -grmdisk,2257,0 -grmdisc,2257,0 -grmcd,2257,0 -greenrecord,2257,0 -greendisk,2257,0 -greendisc,2257,0 -greencd,2257,0 -catrecord,2257,0 -catdisk,2257,0 -catcd,2257,0 -grrecord,2257,0 -grdisk,2257,0 -grdisc,2257,0 -grcd,2257,0 -record2,2257,0 -disk2,2257,0 -disc2,2257,0 -cd2,2257,0 -2record,2257,0 -2disk,2257,0 -2disc,2257,0 -2cd,2257,0 -blocksdisc,2258,0 -orangemusicrecord,2258,0 -orangemusicdisk,2258,0 -orangemusicdisc,2258,0 -orangemusiccd,2258,0 -blocksmusicrecord,2258,0 -blocksmusicdisk,2258,0 -blocksmusicdisc,2258,0 -blocksmusiccd,2258,0 -ormusicrecord,2258,0 -ormusicdisk,2258,0 -ormusicdisc,2258,0 -ormusiccd,2258,0 -orangemrecord,2258,0 -orangemdisk,2258,0 -orangemdisc,2258,0 -orangemcd,2258,0 -blocksmrecord,2258,0 -blocksmdisk,2258,0 -blocksmdisc,2258,0 -blocksmcd,2258,0 -ormrecord,2258,0 -ormdisk,2258,0 -ormdisc,2258,0 -ormcd,2258,0 -orangerecord,2258,0 -orangedisk,2258,0 -orangedisc,2258,0 -orangecd,2258,0 -blocksrecord,2258,0 -blocksdisk,2258,0 -blockscd,2258,0 -orrecord,2258,0 -ordisk,2258,0 -ordisc,2258,0 -orcd,2258,0 -record3,2258,0 -disk3,2258,0 -disc3,2258,0 -cd3,2258,0 -3record,2258,0 -3disk,2258,0 -3disc,2258,0 -3cd,2258,0 -chirpdisc,2259,0 -redmusicrecord,2259,0 -redmusicdisk,2259,0 -redmusicdisc,2259,0 -redmusiccd,2259,0 -chirpmusicrecord,2259,0 -chirpmusicdisk,2259,0 -chirpmusicdisc,2259,0 -chirpmusiccd,2259,0 -remusicrecord,2259,0 -remusicdisk,2259,0 -remusicdisc,2259,0 -remusiccd,2259,0 -redmrecord,2259,0 -redmdisk,2259,0 -redmdisc,2259,0 -redmcd,2259,0 -chirpmrecord,2259,0 -chirpmdisk,2259,0 -chirpmdisc,2259,0 -chirpmcd,2259,0 -remrecord,2259,0 -remdisk,2259,0 -remdisc,2259,0 -remcd,2259,0 -redrecord,2259,0 -reddisk,2259,0 -reddisc,2259,0 -redcd,2259,0 -chirprecord,2259,0 -chirpdisk,2259,0 -chirpcd,2259,0 -rerecord,2259,0 -redisk,2259,0 -redisc,2259,0 -recd,2259,0 -record4,2259,0 -disk4,2259,0 -disc4,2259,0 -cd4,2259,0 -4record,2259,0 -4disk,2259,0 -4disc,2259,0 -4cd,2259,0 -fardisc,2260,0 -lightgreenmusicrecord,2260,0 -lightgreenmusicdisk,2260,0 -lightgreenmusicdisc,2260,0 -lightgreenmusiccd,2260,0 -lgreenmusicrecord,2260,0 -lgreenmusicdisk,2260,0 -lgreenmusicdisc,2260,0 -lgreenmusiccd,2260,0 -lightgrmusicrecord,2260,0 -lightgrmusicdisk,2260,0 -lightgrmusicdisc,2260,0 -lightgrmusiccd,2260,0 -farmusicrecord,2260,0 -farmusicdisk,2260,0 -farmusicdisc,2260,0 -farmusiccd,2260,0 -lgrmusicrecord,2260,0 -lgrmusicdisk,2260,0 -lgrmusicdisc,2260,0 -lgrmusiccd,2260,0 -lightgreenmrecord,2260,0 -lightgreenmdisk,2260,0 -lightgreenmdisc,2260,0 -lightgreenmcd,2260,0 -lgreenmrecord,2260,0 -lgreenmdisk,2260,0 -lgreenmdisc,2260,0 -lgreenmcd,2260,0 -lightgrmrecord,2260,0 -lightgrmdisk,2260,0 -lightgrmdisc,2260,0 -lightgrmcd,2260,0 -farmrecord,2260,0 -farmdisk,2260,0 -farmdisc,2260,0 -farmcd,2260,0 -lgrmrecord,2260,0 -lgrmdisk,2260,0 -lgrmdisc,2260,0 -lgrmcd,2260,0 -lightgreenrecord,2260,0 -lightgreendisk,2260,0 -lightgreendisc,2260,0 -lightgreencd,2260,0 -lgreenrecord,2260,0 -lgreendisk,2260,0 -lgreendisc,2260,0 -lgreencd,2260,0 -lightgrrecord,2260,0 -lightgrdisk,2260,0 -lightgrdisc,2260,0 -lightgrcd,2260,0 -farrecord,2260,0 -fardisk,2260,0 -farcd,2260,0 -lgrrecord,2260,0 -lgrdisk,2260,0 -lgrdisc,2260,0 -lgrcd,2260,0 -record5,2260,0 -disk5,2260,0 -disc5,2260,0 -cd5,2260,0 -5record,2260,0 -5disk,2260,0 -5disc,2260,0 -5cd,2260,0 -malldisc,2261,0 -purplemusicrecord,2261,0 -purplemusicdisk,2261,0 -purplemusicdisc,2261,0 -purplemusiccd,2261,0 -mallmusicrecord,2261,0 -mallmusicdisk,2261,0 -mallmusicdisc,2261,0 -mallmusiccd,2261,0 -pumusicrecord,2261,0 -pumusicdisk,2261,0 -pumusicdisc,2261,0 -pumusiccd,2261,0 -purplemrecord,2261,0 -purplemdisk,2261,0 -purplemdisc,2261,0 -purplemcd,2261,0 -mallmrecord,2261,0 -mallmdisk,2261,0 -mallmdisc,2261,0 -mallmcd,2261,0 -pumrecord,2261,0 -pumdisk,2261,0 -pumdisc,2261,0 -pumcd,2261,0 -purplerecord,2261,0 -purpledisk,2261,0 -purpledisc,2261,0 -purplecd,2261,0 -mallrecord,2261,0 -malldisk,2261,0 -mallcd,2261,0 -purecord,2261,0 -pudisk,2261,0 -pudisc,2261,0 -pucd,2261,0 -record6,2261,0 -disk6,2261,0 -disc6,2261,0 -cd6,2261,0 -6record,2261,0 -6disk,2261,0 -6disc,2261,0 -6cd,2261,0 -mellohidisc,2262,0 -pinkmusicrecord,2262,0 -pinkmusicdisk,2262,0 -pinkmusicdisc,2262,0 -pinkmusiccd,2262,0 -mellohimusicrecord,2262,0 -mellohimusicdisk,2262,0 -mellohimusicdisc,2262,0 -mellohimusiccd,2262,0 -pimusicrecord,2262,0 -pimusicdisk,2262,0 -pimusicdisc,2262,0 -pimusiccd,2262,0 -pinkmrecord,2262,0 -pinkmdisk,2262,0 -pinkmdisc,2262,0 -pinkmcd,2262,0 -mellohimrecord,2262,0 -mellohimdisk,2262,0 -mellohimdisc,2262,0 -mellohimcd,2262,0 -pimrecord,2262,0 -pimdisk,2262,0 -pimdisc,2262,0 -pimcd,2262,0 -pinkrecord,2262,0 -pinkdisk,2262,0 -pinkdisc,2262,0 -pinkcd,2262,0 -mellohirecord,2262,0 -mellohidisk,2262,0 -mellohicd,2262,0 -pirecord,2262,0 -pidisk,2262,0 -pidisc,2262,0 -picd,2262,0 -record7,2262,0 -disk7,2262,0 -disc7,2262,0 -cd7,2262,0 -7record,2262,0 -7disk,2262,0 -7disc,2262,0 -7cd,2262,0 -staldisc,2263,0 -blackmusicrecord,2263,0 -blackmusicdisk,2263,0 -blackmusicdisc,2263,0 -blackmusiccd,2263,0 -stalmusicrecord,2263,0 -stalmusicdisk,2263,0 -stalmusicdisc,2263,0 -stalmusiccd,2263,0 -blmusicrecord,2263,0 -blmusicdisk,2263,0 -blmusicdisc,2263,0 -blmusiccd,2263,0 -blackmrecord,2263,0 -blackmdisk,2263,0 -blackmdisc,2263,0 -blackmcd,2263,0 -stalmrecord,2263,0 -stalmdisk,2263,0 -stalmdisc,2263,0 -stalmcd,2263,0 -blmrecord,2263,0 -blmdisk,2263,0 -blmdisc,2263,0 -blmcd,2263,0 -blackrecord,2263,0 -blackdisk,2263,0 -blackdisc,2263,0 -blackcd,2263,0 -stalrecord,2263,0 -staldisk,2263,0 -stalcd,2263,0 -blrecord,2263,0 -bldisk,2263,0 -bldisc,2263,0 -blcd,2263,0 -record8,2263,0 -disk8,2263,0 -disc8,2263,0 -cd8,2263,0 -8record,2263,0 -8disk,2263,0 -8disc,2263,0 -8cd,2263,0 -straddisc,2264,0 -whitemusicrecord,2264,0 -whitemusicdisk,2264,0 -whitemusicdisc,2264,0 -whitemusiccd,2264,0 -stradmusicrecord,2264,0 -stradmusicdisk,2264,0 -stradmusicdisc,2264,0 -stradmusiccd,2264,0 -whmusicrecord,2264,0 -whmusicdisk,2264,0 -whmusicdisc,2264,0 -whmusiccd,2264,0 -whitemrecord,2264,0 -whitemdisk,2264,0 -whitemdisc,2264,0 -whitemcd,2264,0 -stradmrecord,2264,0 -stradmdisk,2264,0 -stradmdisc,2264,0 -stradmcd,2264,0 -whmrecord,2264,0 -whmdisk,2264,0 -whmdisc,2264,0 -whmcd,2264,0 -whiterecord,2264,0 -whitedisk,2264,0 -whitedisc,2264,0 -whitecd,2264,0 -stradrecord,2264,0 -straddisk,2264,0 -stradcd,2264,0 -whrecord,2264,0 -whdisk,2264,0 -whdisc,2264,0 -whcd,2264,0 -record9,2264,0 -disk9,2264,0 -disc9,2264,0 -cd9,2264,0 -9record,2264,0 -9disk,2264,0 -9disc,2264,0 -9cd,2264,0 -warddisc,2265,0 -darkgreenmusicrecord,2265,0 -darkgreenmusicdisk,2265,0 -darkgreenmusicdisc,2265,0 -darkgreenmusiccd,2265,0 -dgreenmusicrecord,2265,0 -dgreenmusicdisk,2265,0 -dgreenmusicdisc,2265,0 -dgreenmusiccd,2265,0 -darkgrmusicrecord,2265,0 -darkgrmusicdisk,2265,0 -darkgrmusicdisc,2265,0 -darkgrmusiccd,2265,0 -wardmusicrecord,2265,0 -wardmusicdisk,2265,0 -wardmusicdisc,2265,0 -wardmusiccd,2265,0 -dgrmusicrecord,2265,0 -dgrmusicdisk,2265,0 -dgrmusicdisc,2265,0 -dgrmusiccd,2265,0 -darkgreenmrecord,2265,0 -darkgreenmdisk,2265,0 -darkgreenmdisc,2265,0 -darkgreenmcd,2265,0 -dgreenmrecord,2265,0 -dgreenmdisk,2265,0 -dgreenmdisc,2265,0 -dgreenmcd,2265,0 -darkgrmrecord,2265,0 -darkgrmdisk,2265,0 -darkgrmdisc,2265,0 -darkgrmcd,2265,0 -wardmrecord,2265,0 -wardmdisk,2265,0 -wardmdisc,2265,0 -wardmcd,2265,0 -dgrmrecord,2265,0 -dgrmdisk,2265,0 -dgrmdisc,2265,0 -dgrmcd,2265,0 -darkgreenrecord,2265,0 -darkgreendisk,2265,0 -darkgreendisc,2265,0 -darkgreencd,2265,0 -dgreenrecord,2265,0 -dgreendisk,2265,0 -dgreendisc,2265,0 -dgreencd,2265,0 -darkgrrecord,2265,0 -darkgrdisk,2265,0 -darkgrdisc,2265,0 -darkgrcd,2265,0 -wardrecord,2265,0 -warddisk,2265,0 -wardcd,2265,0 -dgrrecord,2265,0 -dgrdisk,2265,0 -dgrdisc,2265,0 -dgrcd,2265,0 -record10,2265,0 -disk10,2265,0 -disc10,2265,0 -cd10,2265,0 -10record,2265,0 -10disk,2265,0 -10disc,2265,0 -10cd,2265,0 -11disc,2266,0 -crackedmusicrecord,2266,0 -crackedmusicdisk,2266,0 -crackedmusicdisc,2266,0 -crackedmusiccd,2266,0 -crackmusicrecord,2266,0 -crackmusicdisk,2266,0 -crackmusicdisc,2266,0 -crackmusiccd,2266,0 -11musicrecord,2266,0 -11musicdisk,2266,0 -11musicdisc,2266,0 -11musiccd,2266,0 -cmusicrecord,2266,0 -cmusicdisk,2266,0 -cmusicdisc,2266,0 -cmusiccd,2266,0 -crackedmrecord,2266,0 -crackedmdisk,2266,0 -crackedmdisc,2266,0 -crackedmcd,2266,0 -crackmrecord,2266,0 -crackmdisk,2266,0 -crackmdisc,2266,0 -crackmcd,2266,0 -11mrecord,2266,0 -11mdisk,2266,0 -11mdisc,2266,0 -11mcd,2266,0 -cmrecord,2266,0 -cmdisk,2266,0 -cmdisc,2266,0 -cmcd,2266,0 -crackedrecord,2266,0 -crackeddisk,2266,0 -crackeddisc,2266,0 -crackedcd,2266,0 -crackrecord,2266,0 -crackdisk,2266,0 -crackdisc,2266,0 -crackcd,2266,0 -crecord,2266,0 -cdisk,2266,0 -cdisc,2266,0 -ccd,2266,0 -record11,2266,0 -disk11,2266,0 -disc11,2266,0 -cd11,2266,0 -11record,2266,0 -11disk,2266,0 -11cd,2266,0 -waitdisc,2267,0 -waitmusicrecord,2267,0 -waitmusicdisk,2267,0 -waitmusicdisc,2267,0 -waitmusiccd,2267,0 -bluemusicrecord,2267,0 -bluemusicdisk,2267,0 -bluemusicdisc,2267,0 -bluemusiccd,2267,0 -12musicrecord,2267,0 -12musicdisk,2267,0 -12musicdisc,2267,0 -12musiccd,2267,0 -cyanmusicrecord,2267,0 -cyanmusicdisk,2267,0 -cyanmusicdisc,2267,0 -cyanmusiccd,2267,0 -waitmrecord,2267,0 -waitmdisk,2267,0 -waitmdisc,2267,0 -waitmcd,2267,0 -bluemrecord,2267,0 -bluemdisk,2267,0 -bluemdisc,2267,0 -bluemcd,2267,0 -12mrecord,2267,0 -12mdisk,2267,0 -12mdisc,2267,0 -12mcd,2267,0 -cyanmrecord,2267,0 -cyanmdisk,2267,0 -cyanmdisc,2267,0 -cyanmcd,2267,0 -waitrecord,2267,0 -waitdisk,2267,0 -waitcd,2267,0 -bluerecord,2267,0 -bluedisk,2267,0 -bluedisc,2267,0 -bluecd,2267,0 -cyanrecord,2267,0 -cyandisk,2267,0 -cyandisc,2267,0 -cyancd,2267,0 -record12,2267,0 -disk12,2267,0 -disc12,2267,0 -cd12,2267,0 -12record,2267,0 -12disk,2267,0 -12disc,2267,0 -12cd,2267,0 -chorusflower,200,0 -corusflower,200,0 -chorusblock,200,0 -endflower,200,0 -enderflower,200,0 -chorusplant,199,0 -corusplant,199,0 -chorusstem,199,0 -corusstem,199,0 -endplant,199,0 -enderplant,199,0 -endgateway,209,0 -eislandportal,209,0 -endgate,209,0 -endergate,209,0 -endrod,198,0 -enderrod,198,0 -erod,198,0 -endlight,198,0 -elight,198,0 -endtorch,198,0 -etorch,198,0 -endstonebricks,206,0 -endbricks,206,0 -enderbricks,206,0 -ebricks,206,0 -ebrick,206,0 -grasspath,208,0 -gpath,208,0 -path,208,0 -pathblock,208,0 -dirtpath,208,0 -dpath,208,0 -worngrass,208,0 -grasswalkway,208,0 -dirtwalkway,208,0 -purpurblock,201,0 -purblock,201,0 -purpleblock,201,0 -purplestone,201,0 -purstone,201,0 -purpurpillar,202,0 -purpillar,202,0 -purpillarblock,202,0 -purpillarstone,202,0 -purpillar,202,0 -purplepillar,202,0 -purpurcollum,202,0 -purcollum,202,0 -purplecollum,202,0 -purpurstairs,203,0 -purpurstep,203,0 -purpursteps,203,0 -purplestairs,203,0 -purplesteps,203,0 -purplestep,203,0 -purstairs,203,0 -pursteps,203,0 -purstep,203,0 -purpurslab,205,0 -purpurhalf,205,0 -purslab,205,0 -purpleslab,205,0 -purhalf,205,0 -purplehalf,205,0 -beetroot,434,0 -broot,434,0 -beet,434,0 -beets,434,0 -beetplant,434,0 -beetcrop,434,0 -beetrootsoup,436,0 -brootsoup,436,0 -beetsoup,436,0 -beetssoup,436,0 -beetplantsoup,436,0 -beetcropsoup,436,0 -redsoup,436,0 -beetrootseed,435,0 -beetrootseeds,435,0 -brootseed,435,0 -brootseeds,435,0 -beetseed,435,0 -beetseeds,435,0 -beetsseeds,435,0 -beetplantseeds,435,0 -beetcropseeds,435,0 -chorusfruit,432,0 -chorfruit,432,0 -corusfruit,432,0 -corfruit,432,0 -endfruit,432,0 -enderfruit,432,0 -purpurfruit,432,0 -purfruit,432,0 -purplefruit,432,0 -dragonbreath,437,0 -dragonsbreath,437,0 -dbreath,437,0 -edragonbreath,437,0 -edragonsbreath,437,0 -dragonpotion,437,0 -dragonfire,437,0 -endbreath,437,0 -dragonpot,437,0 -elytra,443,0 -hangglider,443,0 -glider,443,0 -wings,443,0 -wing,443,0 -playerwings,443,0 -playerwing,443,0 -pwings,443,0 -pwing,443,0 -endcrystal,426,0 -endercrystal,426,0 -ecrystal,426,0 -dragoncrystal,426,0 -endgem,426,0 -endergem,426,0 -egem,426,0 -dragongem,426,0 -chorusfruitpopped,433,0 -corusfruitpopped,433,0 -fruitpopped,433,0 -poppedfruit,433,0 -poppedcfruit,433,0 -poppedendfruit,433,0 -poppedenderfruit,433,0 -poppedpurpurfruit,433,0 -poppedpurfruit,433,0 -dragongem,426,0 -chorpopped,433,0 -corpopped,433,0 -chorfruitpopped,433,0 -corfruitpopped,433,0 -shield,442,0 -handshield,442,0 -woodshield,442,0 -woodenshield,442,0 -spectralarrow,439,0 -specterarrow,439,0 -glowstonearrow,439,0 -glowingarrow,439,0 -glowarrow,439,0 -arrowregeneration,440,0 -regenerationarrow,440,0 -arrowregen,440,0 -regenarrow,440,0 -arrowswiftness,440,0 -swiftnessarrow,440,0 -arrowswift,440,0 -swiftarrow,440,0 -arrowfireresist,440,0 -fireresistarrow,440,0 -arrowfireres,440,0 -fireresarrow,440,0 -arrowhealing,440,0 -healingarrow,440,0 -arrowheal,440,0 -healarrow,440,0 -arrownightvision,440,0 -nightvisionarrow,440,0 -arrownv,440,0 -nvarrow,440,0 -arrowstrength,440,0 -strengtharrow,440,0 -arrowstr,440,0 -strarrow,440,0 -arrowleaping,440,0 -leapingarrow,440,0 -arrowleap,440,0 -leaparrow,440,0 -arrowinvisibility,440,0 -invisibilityarrow,440,0 -arrowinvis,440,0 -invisarrow,440,0 -arrowpoison,440,0 -poisonarrow,440,0 -arrowpoi,440,0 -poiarrow,440,0 -arrowweakness,440,0 -weaknessarrow,440,0 -arrowweak,440,0 -weakarrow,440,0 -arrowslowness,440,0 -slownessarrow,440,0 -arrowslow,440,0 -slowarrow,440,0 -arrowharming,440,0 -harmingarrow,440,0 -arrowharm,440,0 -harmarrow,440,0 -arrowwaterbreathing,440,0 -waterbreathingarrow,440,0 -arrowwb,440,0 -wbarrow,440,0 -arrowluck,440,0 -luckarrow,440,0 -arrowlucky,440,0 -luckyarrow,440,0 -arrowregeneration2,440,0 -regenerationarrow2,440,0 -arrowregen2,440,0 -regenarrow2,440,0 -arrowswiftness2,440,0 -swiftnessarrow2,440,0 -arrowswift2,440,0 -swiftarrow2,440,0 -arrowfireresist2,440,0 -fireresistarrow2,440,0 -arrowfireres2,440,0 -fireresarrow2,440,0 -arrowhealing2,440,0 -healingarrow2,440,0 -arrowheal2,440,0 -healarrow2,440,0 -arrownightvision2,440,0 -nightvisionarrow2,440,0 -arrownv2,440,0 -nvarrow2,440,0 -arrowstrength2,440,0 -strengtharrow2,440,0 -arrowstr,440,0 -strarrow,440,0 -arrowleaping2,440,0 -leapingarrow2,440,0 -arrowleap2,440,0 -leaparrow2,440,0 -arrowinvisibility2,440,0 -invisibilityarrow2,440,0 -arrowinvis2,440,0 -invisarrow2,440,0 -arrowpoison2,440,0 -poisonarrow2,440,0 -arrowpoi2,440,0 -poiarrow2,440,0 -arrowweakness2,440,0 -weaknessarrow2,440,0 -arrowweak2,440,0 -weakarrow2,440,0 -arrowslowness2,440,0 -slownessarrow2,440,0 -arrowslow2,440,0 -slowarrow2,440,0 -arrowharming2,440,0 -harmingarrow2,440,0 -arrowharm2,440,0 -harmarrow2,440,0 -arrowwaterbreathing2,440,0 -waterbreathingarrow2,440,0 -arrowwb2,440,0 -wbarrow2,440,0 -arrowluck2,440,0 -luckarrow2,440,0 -arrowlucky2,440,0 -luckyarrow2,440,0 -arrowregenerationii,440,0 -regenerationarrowii,440,0 -arrowregenii,440,0 -regenarrowii,440,0 -arrowswiftnessii,440,0 -swiftnessarrowii,440,0 -arrowswiftii,440,0 -swiftarrowii,440,0 -arrowfireresistii,440,0 -fireresistarrowii,440,0 -arrowfireresii,440,0 -fireresarrowii,440,0 -arrowhealingii,440,0 -healingarrowii,440,0 -arrowhealii,440,0 -healarrowii,440,0 -arrownightvisionii,440,0 -nightvisionarrowii,440,0 -arrownvii,440,0 -nvarrowii,440,0 -arrowstrengthii,440,0 -strengtharrowii,440,0 -arrowstrii,440,0 -strarrowii,440,0 -arrowleapingii,440,0 -leapingarrowii,440,0 -arrowleapii,440,0 -leaparrowii,440,0 -arrowinvisibilityii,440,0 -invisibilityarrowii,440,0 -arrowinvisii,440,0 -invisarrowii,440,0 -arrowpoisonii,440,0 -poisonarrowii,440,0 -arrowpoiii,440,0 -poiarrowii,440,0 -arrowweaknessii,440,0 -weaknessarrowii,440,0 -arrowweakii,440,0 -weakarrowii,440,0 -arrowslownessii,440,0 -slownessarrowii,440,0 -arrowslowii,440,0 -slowarrowii,440,0 -arrowharmingii,440,0 -harmingarrowii,440,0 -arrowharmii,440,0 -harmarrowii,440,0 -arrowwaterbreathingii,440,0 -waterbreathingarrowii,440,0 -arrowwbii,440,0 -wbarrowii,440,0 -arrowluckii,440,0 -luckarrowii,440,0 -arrowluckyii,440,0 -luckyarrowii,440,0 -lingeringpotion,441,0 -lingerpotion,441,0 -lingerpot,441,0 -aoepotion,441,0 -aoepot,441,0 -areapotion,441,0 -areapot,441,0 -cloudpotion,441,0 -cloudpot,441,0 -lingerpotregenerationii,440,0 -regenerationlingerpotii,440,0 -lingerpotregenii,440,0 -regenlingerpotii,440,0 -lingerpotswiftnessii,440,0 -swiftnesslingerpotii,440,0 -lingerpotswiftii,440,0 -swiftlingerpotii,440,0 -lingerpotfireresistii,440,0 -fireresistlingerpotii,440,0 -lingerpotfireresii,440,0 -firereslingerpotii,440,0 -lingerpothealingii,440,0 -healinglingerpotii,440,0 -lingerpothealii,440,0 -heallingerpotii,440,0 -lingerpotnightvisionii,440,0 -nightvisionlingerpotii,440,0 -lingerpotnvii,440,0 -nvlingerpotii,440,0 -lingerpotstrengthii,440,0 -strengthlingerpotii,440,0 -lingerpotstrii,440,0 -strlingerpotii,440,0 -lingerpotleapingii,440,0 -leapinglingerpotii,440,0 -lingerpotleapii,440,0 -leaplingerpotii,440,0 -lingerpotinvisibilityii,440,0 -invisibilitylingerpotii,440,0 -lingerpotinvisii,440,0 -invislingerpotii,440,0 -lingerpotpoisonii,440,0 -poisonlingerpotii,440,0 -lingerpotpoiii,440,0 -poilingerpotii,440,0 -lingerpotweaknessii,440,0 -weaknesslingerpotii,440,0 -lingerpotweakii,440,0 -weaklingerpotii,440,0 -lingerpotslownessii,440,0 -slownesslingerpotii,440,0 -lingerpotslowii,440,0 -slowlingerpotii,440,0 -lingerpotharmingii,440,0 -harminglingerpotii,440,0 -lingerpotharmii,440,0 -harmlingerpotii,440,0 -lingerpotwaterbreathingii,440,0 -waterbreathinglingerpotii,440,0 -lingerpotwbii,440,0 -wblingerpotii,440,0 -lingerpotluckii,440,0 -lucklingerpotii,440,0 -lingerpotluckyii,440,0 -luckylingerpotii,440,0 -lingerpotregeneration2,440,0 -regenerationlingerpot2,440,0 -lingerpotregen2,440,0 -regenlingerpot2,440,0 -lingerpotswiftness2,440,0 -swiftnesslingerpot2,440,0 -lingerpotswift2,440,0 -swiftlingerpot2,440,0 -lingerpotfireresist2,440,0 -fireresistlingerpot2,440,0 -lingerpotfireres2,440,0 -firereslingerpot2,440,0 -lingerpothealing2,440,0 -healinglingerpot2,440,0 -lingerpotheal2,440,0 -heallingerpot2,440,0 -lingerpotnightvision2,440,0 -nightvisionlingerpot2,440,0 -lingerpotnv2,440,0 -nvlingerpot2,440,0 -lingerpotstrength2,440,0 -strengthlingerpot2,440,0 -lingerpotstr2,440,0 -strlingerpot2,440,0 -lingerpotleaping2,440,0 -leapinglingerpot2,440,0 -lingerpotleap2,440,0 -leaplingerpot2,440,0 -lingerpotinvisibility2,440,0 -invisibilitylingerpot2,440,0 -lingerpotinvis2,440,0 -invislingerpot2,440,0 -lingerpotpoison2,440,0 -poisonlingerpot2,440,0 -lingerpotpo2i,440,0 -poilingerpot2,440,0 -lingerpotweakness2,440,0 -weaknesslingerpot2,440,0 -lingerpotweak2,440,0 -weaklingerpot2,440,0 -lingerpotslowness2,440,0 -slownesslingerpot2,440,0 -lingerpotslow2,440,0 -slowlingerpot2,440,0 -lingerpotharming2,440,0 -harminglingerpot2,440,0 -lingerpotharm2,440,0 -harmlingerpot2,440,0 -lingerpotwaterbreathing2,440,0 -waterbreathinglingerpot2,440,0 -lingerpotwb2,440,0 -wblingerpot2,440,0 -lingerpotluck2,440,0 -lucklingerpot2,440,0 -lingerpotlucky2,440,0 -luckylingerpot2,440,0 -lingerpotregeneration,440,0 -regenerationlingerpot,440,0 -lingerpotregen,440,0 -regenlingerpot,440,0 -lingerpotswiftness,440,0 -swiftnesslingerpot,440,0 -lingerpotswift,440,0 -swiftlingerpot,440,0 -lingerpotfireresist,440,0 -fireresistlingerpot,440,0 -lingerpotfireres,440,0 -firereslingerpot,440,0 -lingerpothealing,440,0 -healinglingerpot,440,0 -lingerpotheal,440,0 -heallingerpot,440,0 -lingerpotnightvision,440,0 -nightvisionlingerpot,440,0 -lingerpotnv,440,0 -nvlingerpot,440,0 -lingerpotstrength,440,0 -strengthlingerpot,440,0 -lingerpotstr,440,0 -strlingerpot,440,0 -lingerpotleaping,440,0 -leapinglingerpot,440,0 -lingerpotleap,440,0 -leaplingerpot,440,0 -lingerpotinvisibility,440,0 -invisibilitylingerpot,440,0 -lingerpotinvis,440,0 -invislingerpot,440,0 -lingerpotpoison,440,0 -poisonlingerpot,440,0 -lingerpotpoi,440,0 -poilingerpot,440,0 -lingerpotweakness,440,0 -weaknesslingerpot,440,0 -lingerpotweak,440,0 -weaklingerpot,440,0 -lingerpotslowness,440,0 -slownesslingerpot,440,0 -lingerpotslow,440,0 -slowlingerpot,440,0 -lingerpotharming,440,0 -harminglingerpot,440,0 -lingerpotharm,440,0 -harmlingerpot,440,0 -lingerpotwaterbreathing,440,0 -waterbreathinglingerpot,440,0 -lingerpotwb,440,0 -wblingerpot,440,0 -lingerpotluck,440,0 -lucklingerpot,440,0 -lingerpotlucky,440,0 -luckylingerpot,440,0 -aoepotregenerationii,440,0 -regenerationaoepotii,440,0 -aoepotregenii,440,0 -regenaoepotii,440,0 -aoepotswiftnessii,440,0 -swiftnessaoepotii,440,0 -aoepotswiftii,440,0 -swiftaoepotii,440,0 -aoepotfireresistii,440,0 -fireresistaoepotii,440,0 -aoepotfireresii,440,0 -fireresaoepotii,440,0 -aoepothealingii,440,0 -healingaoepotii,440,0 -aoepothealii,440,0 -healaoepotii,440,0 -aoepotnightvisionii,440,0 -nightvisionaoepotii,440,0 -aoepotnvii,440,0 -nvaoepotii,440,0 -aoepotstrengthii,440,0 -strengthaoepotii,440,0 -aoepotstrii,440,0 -straoepotii,440,0 -aoepotleapingii,440,0 -leapingaoepotii,440,0 -aoepotleapii,440,0 -leapaoepotii,440,0 -aoepotinvisibilityii,440,0 -invisibilityaoepotii,440,0 -aoepotinvisii,440,0 -invisaoepotii,440,0 -aoepotpoisonii,440,0 -poisonaoepotii,440,0 -aoepotpoiii,440,0 -poiaoepotii,440,0 -aoepotweaknessii,440,0 -weaknessaoepotii,440,0 -aoepotweakii,440,0 -weakaoepotii,440,0 -aoepotslownessii,440,0 -slownessaoepotii,440,0 -aoepotslowii,440,0 -slowaoepotii,440,0 -aoepotharmingii,440,0 -harmingaoepotii,440,0 -aoepotharmii,440,0 -harmaoepotii,440,0 -aoepotwaterbreathingii,440,0 -waterbreathingaoepotii,440,0 -aoepotwbii,440,0 -wbaoepotii,440,0 -aoepotluckii,440,0 -luckaoepotii,440,0 -aoepotluckyii,440,0 -luckyaoepotii,440,0 -aoepotregeneration2,440,0 -regenerationaoepot2,440,0 -aoepotregen2,440,0 -regenaoepot2,440,0 -aoepotswiftness2,440,0 -swiftnessaoepot2,440,0 -aoepotswift2,440,0 -swiftaoepot2,440,0 -aoepotfireresist2,440,0 -fireresistaoepot2,440,0 -aoepotfireres2,440,0 -fireresaoepot2,440,0 -aoepothealing2,440,0 -healingaoepot2,440,0 -aoepotheal2,440,0 -healaoepot2,440,0 -aoepotnightvision2,440,0 -nightvisionaoepot2,440,0 -aoepotnv2,440,0 -nvaoepot2,440,0 -aoepotstrength2,440,0 -strengthaoepot2,440,0 -aoepotstr2,440,0 -straoepot2,440,0 -aoepotleaping2,440,0 -leapingaoepot2,440,0 -aoepotleap2,440,0 -leapaoepot2,440,0 -aoepotinvisibility2,440,0 -invisibilityaoepot2,440,0 -aoepotinvis2,440,0 -invisaoepot2,440,0 -aoepotpoison2,440,0 -poisonaoepot2,440,0 -aoepotpo2i,440,0 -poiaoepot2,440,0 -aoepotweakness2,440,0 -weaknessaoepot2,440,0 -aoepotweak2,440,0 -weakaoepot2,440,0 -aoepotslowness2,440,0 -slownessaoepot2,440,0 -aoepotslow2,440,0 -slowaoepot2,440,0 -aoepotharming2,440,0 -harmingaoepot2,440,0 -aoepotharm2,440,0 -harmaoepot2,440,0 -aoepotwaterbreathing2,440,0 -waterbreathingaoepot2,440,0 -aoepotwb2,440,0 -wbaoepot2,440,0 -aoepotluck2,440,0 -luckaoepot2,440,0 -aoepotlucky2,440,0 -luckyaoepot2,440,0 -aoepotregeneration,440,0 -regenerationaoepot,440,0 -aoepotregen,440,0 -regenaoepot,440,0 -aoepotswiftness,440,0 -swiftnessaoepot,440,0 -aoepotswift,440,0 -swiftaoepot,440,0 -aoepotfireresist,440,0 -fireresistaoepot,440,0 -aoepotfireres,440,0 -fireresaoepot,440,0 -aoepothealing,440,0 -healingaoepot,440,0 -aoepotheal,440,0 -healaoepot,440,0 -aoepotnightvision,440,0 -nightvisionaoepot,440,0 -aoepotnv,440,0 -nvaoepot,440,0 -aoepotstrength,440,0 -strengthaoepot,440,0 -aoepotstr,440,0 -straoepot,440,0 -aoepotleaping,440,0 -leapingaoepot,440,0 -aoepotleap,440,0 -leapaoepot,440,0 -aoepotinvisibility,440,0 -invisibilityaoepot,440,0 -aoepotinvis,440,0 -invisaoepot,440,0 -aoepotpoison,440,0 -poisonaoepot,440,0 -aoepotpoi,440,0 -poiaoepot,440,0 -aoepotweakness,440,0 -weaknessaoepot,440,0 -aoepotweak,440,0 -weakaoepot,440,0 -aoepotslowness,440,0 -slownessaoepot,440,0 -aoepotslow,440,0 -slowaoepot,440,0 -aoepotharming,440,0 -harmingaoepot,440,0 -aoepotharm,440,0 -harmaoepot,440,0 -aoepotwaterbreathing,440,0 -waterbreathingaoepot,440,0 -aoepotwb,440,0 -wbaoepot,440,0 -aoepotluck,440,0 -luckaoepot,440,0 -aoepotlucky,440,0 -luckyaoepot,440,0 -watersplashpotion,438,0 -watersplashpot,438,0 -watersplash,438,0 -thrownwater,438,0 -thrownwaterpot,438,0 -splashwater,438,0 -potionofluck,373,0 -potofluck,373,0 -luckpotion,373,0 -luckypotion,373,0 -splashpotionofluck,438,0 -splashpotofluck,438,0 -splashluckpotion,438,0 -lucksplashpotion,438,0 -luckysplashpotion,438,0 -luckysplashpot,438,0 -splashluckpot,438,0 \ No newline at end of file From 3e2a6929dbd09506d364c63e91916a5b455ad4dd Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 14:57:40 -0400 Subject: [PATCH 099/243] Created the code to add blocks to virtual mines when they are being generated with the /ranks autoConfigure command. Blocks are setup in a List with the least valuable to the most valuable. Then it's a sliding window of selecting blocks from the lowest mine to the highest ranked mine. The percentage per blocks are 5, 10, 20, 20, 20, 25 where the most valuable are least represented. --- changelog_v3.2.x.md | 25 +- .../prison/internal/platform/Platform.java | 3 + .../tech/mcprison/prison/TestPlatform.java | 5 + .../prison/ranks/commands/RanksCommands.java | 5 + .../prison/spigot/SpigotPlatform.java | 232 +++++++++++++++++- .../prison/spigot/SpigotPlatformTest.java | 63 +++++ 6 files changed, 330 insertions(+), 3 deletions(-) create mode 100644 prison-spigot/src/test/java/tech/mcprison/prison/spigot/SpigotPlatformTest.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 9f06ecd32..29e06f58a 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,30 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.6 - 2020-10-19 +## tag v3.2.2-alpha.6 - 2020-10-20 + + +* **Created the code to add blocks to virtual mines when they are being generated with the /ranks autoConfigure command.** +Blocks are setup in a List with the least valuable to the most valuable. Then it's a sliding window of selecting blocks from the lowest mine to the highest ranked mine. The percentage per blocks are 5, 10, 20, 20, 20, 25 where the most valuable are least represented. + + +* **Added a few new blocks to prison's old block model.** +These are actually duplicates of what already exists, but these are instead named to mirror XMaterial names. The reason for this is to ensure consistency between the two block models used for testing. +Removed the items.csv document since it is not being used anymore and will only cause confusion if admins think they can add new blocks through that file. + + + +* **Added some internal reporting of the data contents.** +Most of this will be used with logging in the /ranks autoConfigure and also jUnit testing. + + +* **Error logging needs to throw these stack traces** since thats really the only way to get the details we need to fix the problem. +A throw was eliminated, but needs to be added back. + + +* **New Feature: Added 12 new placeholders including aliases.** +Added formatted placeholders for player's costs. Added a new placeholder for player balance. +Created a PlaceholdersUtil class to perform some common functions, such as formatting an amount to include a metric prefix. * **tag v3.2.2-alpha.6a - 2020-10-19** diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 589143fed..0d2c20d7f 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -278,4 +278,7 @@ default Optional getCommand(String label) { public int getModuleElementCount( ModuleElementType elementType ); + + public void autoCreateMineBlockAssignment(); + } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index cd2794fc4..05aea5623 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -265,4 +265,9 @@ public ModuleElement createModuleElement( CommandSender sender, ModuleElementTyp public int getModuleElementCount( ModuleElementType elementType ) { return 0; } + + @Override + public void autoCreateMineBlockAssignment() { + + } } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index d1e9cb021..4e5b176ee 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -306,6 +306,11 @@ else if ( plugins.containsKey("PowerfulPerms") ){ } } + // If mines were created, go ahead and auto assign blocks to the mines: + if ( countMines > 0 ) { + Prison.get().getPlatform().autoCreateMineBlockAssignment(); + } + if ( countRanks == 0 ) { Output.get().logInfo( "Ranks autoConfigure: No ranks were created."); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 133ce39fc..2954f9ee0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -42,6 +42,7 @@ import org.bukkit.plugin.Plugin; import com.cryptomorin.xseries.XBlock; +import com.cryptomorin.xseries.XMaterial; import com.cryptomorin.xseries.messages.Titles; import tech.mcprison.prison.Prison; @@ -82,13 +83,15 @@ import tech.mcprison.prison.spigot.util.ActionBarUtil; import tech.mcprison.prison.spigot.util.SpigotYamlFileIO; import tech.mcprison.prison.store.Storage; +import tech.mcprison.prison.util.BlockType; import tech.mcprison.prison.util.Location; import tech.mcprison.prison.util.Text; /** * @author Faizaan A. Datoo */ -class SpigotPlatform implements Platform { +class SpigotPlatform + implements Platform { private SpigotPrison plugin; private List commands = new ArrayList<>(); @@ -100,7 +103,22 @@ class SpigotPlatform implements Platform { private SpigotPlaceholders placeholders; - SpigotPlatform(SpigotPrison plugin) { + /** + * This is only for junit testing. + */ + protected SpigotPlatform() { + super(); + + this.plugin = null; + //this.scoreboardManager = new SpigotScoreboardManager(); + //this.storage = initStorage(); + + //this.placeholders = new SpigotPlaceholders(); + + //ActionBarUtil.init(plugin); + } + + public SpigotPlatform(SpigotPrison plugin) { this.plugin = plugin; this.scoreboardManager = new SpigotScoreboardManager(); this.storage = initStorage(); @@ -793,4 +811,214 @@ else if ( elementType == ModuleElementType.RANK ) { return results; } + + + /** + *

This function assigns blocks to all of the generated mines. It is intended that + * these mines were just created by the autoCreate function which will ensure that + * no blocks have yet been assigned to any mines. Because it is assumed that no + * blocks are in any of these mines, no check is performed to eliminate possible + * duplicates or to prevent total chance from exceeding 100.0%. + *

+ * + *

This function uses a sliding window of X number of block types to assign. + * The number of block types is defined by the percents List in both the number of + * blocks, but also the percentage for each block. + * The current List has 6 types per mine, with the first few and last few having less. + * The percents are assigned to the most valuable to the least valuable blocks: + * 5%, 10%, 20%, 20%, 20%, and 25%. + *

+ * + *

This function works with the old and new prison block models, and uses the + * exact same blocks for consistency. + *

+ * + */ + @Override + public void autoCreateMineBlockAssignment() { + List blockList = null; + + if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { + blockList = buildBlockListXMaterial(); + } + else { + blockList = buildBlockListBlockType(); + } + + MineManager mm = PrisonMines.getInstance().getMineManager(); + List mines = mm.getMines(); + + List percents = new ArrayList<>(); + percents.add( 5d ); + percents.add( 10d ); + percents.add( 20d ); + percents.add( 20d ); + percents.add( 20d ); + percents.add( 25d ); + int mineBlockSize = percents.size(); + + int startPos = 1; + for ( Mine mine : mines ) { + + List mBlocks = mineBlockList( blockList, startPos++, mineBlockSize ); + + // If startPos > percents.size(), which means we are past the initial + // ramp up to the full variety of blocks per mine. At that point, if + // percents is grater than mBlocks, then we must trim the first entry + // from percents so that the most valuable block is able to have more + // than just 5% allocation. + // This should only happen at the tail end of processing and will only + // have a decrease by one per mine so there should never be a need to + // to check more than once, or remove more than one. + if ( startPos > percents.size() && percents.size() > mBlocks.size() ) { + percents.remove( 0 ); + } + + double total = 0; + for ( int i = 0; i < mBlocks.size(); i++ ) + { + + tech.mcprison.prison.mines.data.Block block = + new tech.mcprison.prison.mines.data.Block( + mBlocks.get( i ), percents.get( i ) ); + + mine.getBlocks().add( block ); + + total += block.getChance(); + + // If this is the last block and the totals are not 100%, then + // add the balance to the last block. + if ( i == (mBlocks.size() - 1) && total < 100.0d ) { + double remaining = 100.0d - total; + block.setChance( remaining + block.getChance() ); + } + + } + + mm.saveMine( mine ); + + String mineBlockListing = mine.getBlockListString(); + Output.get().logInfo( mineBlockListing ); + } + } + + /** + * This function grabs a rolling sub set of blocks from the startPos and working backwards + * up to the specified length. The result set will be less than the specified length if at + * the beginning of the list, or at the end. + * + * @param blockList + * @param startPos + * @param length + * @return + */ + protected List mineBlockList( List blockList, int startPos, int length ) { + List results = new ArrayList<>(); + + for ( int i = (startPos >= blockList.size() ? blockList.size() - 1 : startPos); + i >= 0 && i >= startPos - length + 1; i-- ) { + results.add( blockList.get( i ) ); + } + + return results; + } + + /** + * This listing of blocks is based strictly upon XMaterial. + * This is the preferred list to use with the new block model. + * + * @return + */ + protected List buildBlockListXMaterial() { + List blockList = new ArrayList<>(); + + blockList.add( XMaterial.COBBLESTONE.name() ); + blockList.add( XMaterial.ANDESITE.name() ); + blockList.add( XMaterial.DIORITE.name() ); + blockList.add( XMaterial.COAL_ORE.name() ); + + blockList.add( XMaterial.GRANITE.name() ); + blockList.add( XMaterial.STONE.name() ); + blockList.add( XMaterial.IRON_ORE.name() ); + blockList.add( XMaterial.POLISHED_ANDESITE.name() ); + +// blockList.add( XMaterial.POLISHED_DIORITE.name() ); +// blockList.add( XMaterial.POLISHED_GRANITE.name() ); + blockList.add( XMaterial.GOLD_ORE.name() ); + + + blockList.add( XMaterial.MOSSY_COBBLESTONE.name() ); + blockList.add( XMaterial.COAL_BLOCK.name() ); + blockList.add( XMaterial.NETHER_QUARTZ_ORE.name() ); + blockList.add( XMaterial.IRON_BLOCK.name() ); + + blockList.add( XMaterial.LAPIS_ORE.name() ); + blockList.add( XMaterial.REDSTONE_ORE.name() ); + blockList.add( XMaterial.DIAMOND_ORE.name() ); + + blockList.add( XMaterial.QUARTZ_BLOCK.name() ); + blockList.add( XMaterial.EMERALD_ORE.name() ); + + blockList.add( XMaterial.GOLD_BLOCK.name() ); + blockList.add( XMaterial.LAPIS_BLOCK.name() ); + blockList.add( XMaterial.REDSTONE_BLOCK.name() ); + +// blockList.add( XMaterial.SLIME_BLOCK.name() ); + blockList.add( XMaterial.DIAMOND_BLOCK.name() ); + blockList.add( XMaterial.EMERALD_BLOCK.name() ); + + return blockList; + } + + /** + * This listing of blocks is based strictly upon the old prison's block + * model. + * + * Please note, that right now these names match exactly with XMaterial only + * because I renamed a few of them to make them match. But if more are added + * in the future, then there may be mismatches. + * + * @return + */ + protected List buildBlockListBlockType() { + List blockList = new ArrayList<>(); + + blockList.add( BlockType.COBBLESTONE.name() ); + blockList.add( BlockType.ANDESITE.name() ); + blockList.add( BlockType.DIORITE.name() ); + blockList.add( BlockType.COAL_ORE.name() ); + + blockList.add( BlockType.GRANITE.name() ); + blockList.add( BlockType.STONE.name() ); + blockList.add( BlockType.IRON_ORE.name() ); + blockList.add( BlockType.POLISHED_ANDESITE.name() ); + +// blockList.add( BlockType.POLISHED_DIORITE.name() ); +// blockList.add( BlockType.POLISHED_GRANITE.name() ); + blockList.add( BlockType.GOLD_ORE.name() ); + + + blockList.add( BlockType.MOSSY_COBBLESTONE.name() ); + blockList.add( BlockType.COAL_BLOCK.name() ); + blockList.add( BlockType.NETHER_QUARTZ_ORE.name() ); + blockList.add( BlockType.IRON_BLOCK.name() ); + + blockList.add( BlockType.LAPIS_ORE.name() ); + blockList.add( BlockType.REDSTONE_ORE.name() ); + blockList.add( BlockType.DIAMOND_ORE.name() ); + + blockList.add( BlockType.QUARTZ_BLOCK.name() ); + blockList.add( BlockType.EMERALD_ORE.name() ); + + blockList.add( BlockType.GOLD_BLOCK.name() ); + blockList.add( BlockType.LAPIS_BLOCK.name() ); + blockList.add( BlockType.REDSTONE_BLOCK.name() ); + +// blockList.add( BlockType.SLIME_BLOCK.name() ); + blockList.add( BlockType.DIAMOND_BLOCK.name() ); + blockList.add( BlockType.EMERALD_BLOCK.name() ); + + return blockList; + } + } diff --git a/prison-spigot/src/test/java/tech/mcprison/prison/spigot/SpigotPlatformTest.java b/prison-spigot/src/test/java/tech/mcprison/prison/spigot/SpigotPlatformTest.java new file mode 100644 index 000000000..a24685d75 --- /dev/null +++ b/prison-spigot/src/test/java/tech/mcprison/prison/spigot/SpigotPlatformTest.java @@ -0,0 +1,63 @@ +package tech.mcprison.prison.spigot; + +import static org.junit.Assert.assertEquals; + +import java.util.List; + +import org.junit.Test; + +public class SpigotPlatformTest + extends SpigotPlatform +{ + + @Test + public void testMineBlockList() + { + List blockList = buildBlockListBlockType(); + + int i = -1; + + assertEquals( 0, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 1, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 2, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: A + assertEquals( 3, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 4, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: E + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: J + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: O + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: S + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: T + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 5, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 4, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: W + assertEquals( 3, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 2, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: Y + assertEquals( 1, mineBlockList( blockList, i++, 5 ).size() ); // Mine name: Z + assertEquals( 0, mineBlockList( blockList, i++, 5 ).size() ); + assertEquals( 0, mineBlockList( blockList, i++, 5 ).size() ); + + + } + + @Override + protected List mineBlockList( List blockList, int startPos, int length ) { + List results = super.mineBlockList( blockList, startPos, length); + + System.out.println( results ); + + return results; + } + +} From de7d17145bac96c45353caf10ae494719c92807d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 17:31:41 -0400 Subject: [PATCH 100/243] New code to unlink ranks and mines. Before it was not really two-sided and ranks could have retained the mines. Now both are removed from each side. Also, if you link a rank to a mine and that mine already has a rank, it will unlink those before adding the new rank. --- .../prison/internal/platform/Platform.java | 3 + .../tech/mcprison/prison/TestPlatform.java | 5 ++ .../prison/mines/commands/MinesCommands.java | 18 ++--- .../tech/mcprison/prison/ranks/data/Rank.java | 3 + .../prison/spigot/SpigotPlatform.java | 79 +++++++++++++++++++ 5 files changed, 96 insertions(+), 12 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 0d2c20d7f..3d55e1b2d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -271,6 +271,9 @@ default Optional getCommand(String label) { public boolean linkModuleElements( ModuleElement sourceElement, ModuleElementType targetElementType, String name ); + + + public boolean unlinkModuleElements( ModuleElement elementA, ModuleElement elementB ); public ModuleElement createModuleElement( CommandSender sender, ModuleElementType elementType, String name, String tag ); diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 05aea5623..7d88b2b3c 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -256,6 +256,11 @@ public boolean linkModuleElements( ModuleElement sourceElement, return false; } + @Override + public boolean unlinkModuleElements( ModuleElement elementA, ModuleElement elementB ) { + return false; + } + @Override public ModuleElement createModuleElement( CommandSender sender, ModuleElementType elementType, String name, String tag ) { return null; diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index c3ab10b5c..7b94ff94c 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -1974,16 +1974,17 @@ public void setMineRankCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); -// if ( !m.isEnabled() ) { -// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); -// return; -// } if ( rankName == null || rankName.trim().length() == 0 ) { sender.sendMessage( "&cRank name is required." ); return; } + if ( m.getRank() != null ) { + // First unlink the preexisting mine and rank: + Prison.get().getPlatform().unlinkModuleElements( m, m.getRank() ); + } + boolean success = Prison.get().getPlatform().linkModuleElements( m, ModuleElementType.RANK, rankName ); @@ -2012,12 +2013,6 @@ public void setMineNoRankCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); -// if ( !m.isEnabled() ) { -// sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); -// return; -// } - - if ( m.getRank() == null ) { sender.sendMessage( "&cThis mine has no ranks to unlink." ); return; @@ -2025,9 +2020,8 @@ public void setMineNoRankCommand(CommandSender sender, ModuleElement rank = m.getRank(); - m.setRank( null ); + Prison.get().getPlatform().unlinkModuleElements( m, m.getRank() ); - pMines.getMineManager().saveMine( m ); sender.sendMessage( String.format( "&3Rank &7%s &3has been removed from mine &7%s", rank.getName(), m.getName() )); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java index 95009d923..e9ea21591 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java @@ -248,6 +248,9 @@ public void setCurrency( String currency ) { } public List getRankUpCommands() { + if ( rankUpCommands == null ) { + rankUpCommands = new ArrayList<>(); + } return rankUpCommands; } public void setRankUpCommands( List rankUpCommands ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 2954f9ee0..be08184a0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -756,6 +756,85 @@ else if ( sourceElement.getModuleElementType() == ModuleElementType.RANK && return results; } + + @Override + public boolean unlinkModuleElements( ModuleElement elementA, ModuleElement elementB ) { + boolean results = false; + + unlinkModuleElement( elementA, elementB ); + + return results; + } + + + private boolean unlinkModuleElement( ModuleElement elementA, ModuleElement elementB ) { + boolean results = false; + + + if ( elementA != null) { + + if ( elementA.getModuleElementType() == ModuleElementType.MINE && + elementA instanceof Mine ) { + + // We need to confirm targetElementType is ranks, then we need to check to + // ensure the rank module is active, then search for a rank with the given + // name. If found, then link. + if ( elementB != null && elementB.getModuleElementType() == ModuleElementType.RANK ) { + + RankManager rm = PrisonRanks.getInstance().getRankManager(); + if ( rm != null ) { + // To remove the rank from the mine, just set the value to null: + Mine mine = (Mine) elementA; + mine.setRank( null ); + + Rank rank = (Rank) elementB; + rank.getMines().remove( mine ); + + // save both the mine and the rank: + MineManager mm = PrisonMines.getInstance().getMineManager(); + mm.saveMine( mine ); + rm.saveRank( rank ); + + } + } + } + + else if ( elementA.getModuleElementType() == ModuleElementType.RANK && + elementA instanceof Rank ) { + // If we have an instance of a mine, then we know that module has been + // enabled. + + // We need to confirm targetElementType is ranks, then we need to check to + // ensure the rank module is active, then search for a rank with the given + // name. If found, then link. + if ( elementB != null && elementB.getModuleElementType() == ModuleElementType.MINE ) { + MineManager mm = PrisonMines.getInstance().getMineManager(); + if ( mm != null ) { + Mine mine = (Mine) elementB; + + if ( mine != null ) { + Rank rank = (Rank) elementA; + + mine.setRank( rank ); + rank.getMines().remove( mine ); + + // save both the mine and the rank: + RankManager rm = PrisonRanks.getInstance().getRankManager(); + mm.saveMine( mine ); + rm.saveRank( rank ); + + results = true; + } + + } + } + } + } + + + return results; + } + /** *

This function will create the specified ModuleElement. It will create the minimal * possible element, of which, the settings can then be changed. If the create was From 982f9ddcb88003fd601abebd061570b349cd6c6e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 21:35:46 -0400 Subject: [PATCH 101/243] A failed attempt to get particles working. Will not work in 1.8, and is not working correctly as is. Save for later. --- .../prison/internal/platform/Platform.java | 3 ++ .../tech/mcprison/prison/TestPlatform.java | 5 +++ .../prison/spigot/SpigotPlatform.java | 35 +++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 3d55e1b2d..c303dc67c 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -284,4 +284,7 @@ default Optional getCommand(String label) { public void autoCreateMineBlockAssignment(); + + public void enableMineTracer( String worldName, Location min, Location max ); + } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 7d88b2b3c..6d6b92d20 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -275,4 +275,9 @@ public int getModuleElementCount( ModuleElementType elementType ) { public void autoCreateMineBlockAssignment() { } + + @Override + public void enableMineTracer( String worldName, Location min, Location max ) { + + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index be08184a0..1ec22b9e2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -18,6 +18,7 @@ package tech.mcprison.prison.spigot; +import java.awt.Color; import java.io.File; import java.util.ArrayList; import java.util.Collections; @@ -32,6 +33,7 @@ import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.OfflinePlayer; +import org.bukkit.Particle; import org.bukkit.Server; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; @@ -44,6 +46,8 @@ import com.cryptomorin.xseries.XBlock; import com.cryptomorin.xseries.XMaterial; import com.cryptomorin.xseries.messages.Titles; +import com.cryptomorin.xseries.particles.ParticleDisplay; +import com.cryptomorin.xseries.particles.XParticle; import tech.mcprison.prison.Prison; import tech.mcprison.prison.PrisonCommand; @@ -142,6 +146,11 @@ private Storage initStorage() { return storage; } + + public org.bukkit.World getBukkitWorld(String name ) { + return Bukkit.getWorld(name); + } + @Override public Optional getWorld(String name) { if (name != null && worlds.containsKey(name)) { @@ -1100,4 +1109,30 @@ protected List buildBlockListBlockType() { return blockList; } + + @Override + public void enableMineTracer( String worldName, Location min, Location max ) { + + + org.bukkit.World world = getBukkitWorld( worldName ); + + org.bukkit.Location loc1 = new org.bukkit.Location( + world, min.getBlockX(), min.getBlockY(), min.getBlockZ() ); + + org.bukkit.Location loc2 = new org.bukkit.Location( + world, max.getBlockX(), max.getBlockY(), max.getBlockZ() ); + + + // https://www.spigotmc.org/wiki/particle-list-1-8-8/ + +// Particle redStone = ParticleDisplay.colored( loc1, Color.RED, 0.5f ); + +// Particle.DustOptions dust = new Particle.DustOptions(org.bukkit.Color.RED, 0.5f); + + ParticleDisplay display = ParticleDisplay.simple( loc1, Particle.REDSTONE ); + + XParticle.structuredCube( loc1, loc2, 0.10d, display ); + + } + } From 8d8d49e3318a7f83ce1d2155f9bdee2fc1ab4b1f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 21:37:16 -0400 Subject: [PATCH 102/243] Fix issue with virtual mines and whereami. Did not disable the check for virtual mines. --- .../java/tech/mcprison/prison/mines/commands/MinesCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 7b94ff94c..6f5807096 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2242,7 +2242,7 @@ public void mineWhereAmI(CommandSender sender) { // This is checking for within a certain distance from any mine, so we just need to use // some arbitrary distance as a max radius. We do not want to use the individual values // that have been set for each mine. - else if ( mine.getBounds().within( player.getLocation(), MineData.MINE_RESET__BROADCAST_RADIUS_BLOCKS) ) { + else if ( !mine.isVirtual() && mine.getBounds().within( player.getLocation(), MineData.MINE_RESET__BROADCAST_RADIUS_BLOCKS) ) { Double distance = mine.getBounds().getDistance3d( player.getLocation() ); // Double distance = new Bounds( mine.getBounds().getCenter(), player.getLocation()).getDistance(); nearMine.put( distance.intValue(), mine ); From 52503388d04ec23fd446ce8ca33aa898186a4eeb Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 20 Oct 2020 21:39:47 -0400 Subject: [PATCH 103/243] Enable mine tracers. Trace the outline of the mine so you can clearly see how large it is. --- .../prison/mines/commands/MinesCommands.java | 53 ++++++++++ .../mcprison/prison/mines/data/MineReset.java | 98 +++++++++++++++++++ 2 files changed, 151 insertions(+) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 6f5807096..a9eaf1160 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2078,6 +2078,59 @@ public void redefineCommand(CommandSender sender, //pMines.getMineManager().clearCache(); } + + + @Command(identifier = "mines set tracer", permissions = "mines.set", + description = "Clear the mine and set a tracer around the outside") + public void setTracerCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine to set the tracer in.") String mineName) { + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + PrisonMines pMines = PrisonMines.getInstance(); + Mine mine = pMines.getMine(mineName); + + + if ( mine.isVirtual() ) { + sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + + mine.enableTracer(); + + } + + + + // @Command(identifier = "mines set size", permissions = "mines.set", description = "Change the size of the mine") + public void setSizeCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine to set the tracer in.") String mineName, + @Arg(name = "adjustment", description = "How to adust the size [increase, inc, decrease, dec]", def = "increase") String adjustment, + @Arg(name = "edge", description = "Edge to adjust [top, bottom, north, east, south, west]", def = "top") String edge, + @Arg(name = "amount", description = "amount to adjust", def = "1") String amount + + ) { + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + PrisonMines pMines = PrisonMines.getInstance(); + Mine mine = pMines.getMine(mineName); + + + if ( mine.isVirtual() ) { + sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + + + + } + + @Command(identifier = "mines set resetpaging", permissions = "mines.resetpaging", description = "Enable paging during a mine reset.") diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index 2e996c536..239d485d3 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -1296,6 +1296,104 @@ protected void broadcastPendingResetMessageToAllPlayersWithRadius(MineJob mineJo } } + + /** + * This clears the mine, then provides particle tracers around the outer corners. + */ + public void enableTracer() { + + // First clear the mine: + clearMine(); + +// Prison.get().getPlatform().enableMineTracer( +// getWorldName(), +// getBounds().getMin(), +// getBounds().getMax()); + + + + } + + + private void clearMine() { + + try { + + if ( isVirtual() ) { + // Mine is virtual and cannot be reset. Just skip this with no error messages. + return; + } + + + boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); + + // Output.get().logInfo( "MineRest.resetSynchonouslyInternal() " + getName() ); + + Optional worldOptional = getWorld(); + World world = worldOptional.get(); + + + PrisonBlock blockAirPB = new PrisonBlock( "AIR" ); + BlockType blockAirBT = BlockType.AIR; + + PrisonBlock blockRedPB = new PrisonBlock( "RED_STAINED_GLASS" ); + BlockType blockRedBT = BlockType.RED_STAINED_GLASS; + +// PrisonBlock blockRedstonePB = new PrisonBlock( "REDSTONE_BLOCK" ); +// BlockType blockRedstoneBT = BlockType.REDSTONE_BLOCK; + + + + // Reset the block break count before resetting the blocks: +// setBlockBreakCount( 0 ); +// Random random = new Random(); + + int yMin = getBounds().getyBlockMin(); + int yMax = getBounds().getyBlockMax(); + + int xMin = getBounds().getxBlockMin(); + int xMax = getBounds().getxBlockMax(); + + int zMin = getBounds().getzBlockMin(); + int zMax = getBounds().getzBlockMax(); + + int i = 0; + for (int y = yMax; y >= yMin; y--) { +// for (int y = getBounds().getyBlockMin(); y <= getBounds().getyBlockMax(); y++) { + for (int x = xMin; x <= xMax; x++) { + for (int z = zMin; z <= zMax; z++) { + Location targetBlock = new Location(world, x, y, z); + + boolean xEdge = x == xMin || x == xMax; + boolean yEdge = y == yMin || y == yMax; + boolean zEdge = z == zMin || z == zMax; + + boolean isEdge = xEdge && yEdge || xEdge && zEdge || + yEdge && zEdge; + + if ( useNewBlockModel ) { + + targetBlock.getBlockAt().setPrisonBlock( isEdge ? blockRedPB : blockAirPB ); + i++; + + } + else { + + targetBlock.getBlockAt().setType( isEdge ? blockRedBT : blockAirBT ); + i++; + + } + } + } + } + + + } catch (Exception e) { + Output.get().logError("&cFailed to reset mine " + getName(), e); + } + } + + @Deprecated public List getRandomizedBlocks() { From 41eb5b0850fa1071e06660ec78301cab58a038c6 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 03:20:01 -0400 Subject: [PATCH 104/243] New feature: /mines set size. Can now adjust the mine size by specifying the edge and adjustment amount. Edges are top, bottom, north, south, east, west, and walls. When adjusting the size, it automatically goes in to tracer mode so the mine's dimenstions are easily seen. --- changelog_v3.2.x.md | 7 +- .../tech/mcprison/prison/util/Bounds.java | 173 +++++++++++++++++- .../prison/mines/commands/MinesCommands.java | 30 ++- .../mcprison/prison/mines/data/MineReset.java | 38 +++- 4 files changed, 231 insertions(+), 17 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 29e06f58a..28354df79 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,12 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.6 - 2020-10-20 +## tag v3.2.2-alpha.6 - 2020-10-21 + + +* **New feature: /mines set size** +Can now adjust the mine size by specifying the edge and adjustment amount. Edges are top, bottom, north, south, east, west, and walls. +When adjusting the size, it automatically goes in to tracer mode so the mine's dimensions are easily seen. * **Created the code to add blocks to virtual mines when they are being generated with the /ranks autoConfigure command.** diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java b/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java index 65128dbda..134d841c5 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java @@ -36,7 +36,35 @@ public class Bounds { private final int totalBlockCount; + + public enum Edges { + top, + bottom, + north, + south, + east, + west, + + walls; + + public static Edges fromString( String edge ) { + Edges results = null; + + if ( edge != null && edge.trim().length() > 0 ) { + for ( Edges e : values() ) { + if ( e.name().equalsIgnoreCase( edge.trim() )) { + results = e; + } + } + } + + return results; + } + } + + public Bounds(Location min, Location max) { + this.min = min; this.max = max; @@ -69,6 +97,148 @@ public Bounds(Location min, Location max) { (getxBlockMax() - getxBlockMin() + 1) * (getzBlockMax() - getzBlockMin() + 1); } + + + /** + *

This constructor takes an existing Bounds and applies adjustments + * as specified with the combination of edge and amount. + *

+ * + *

This applies adjustments to prevent maxs from being less than the mins, + * and vice-a-versa. It also prevents y from going out of bounds too. + *

+ * + * @param bounds + * @param edge + * @param amount + */ + public Bounds( Bounds bounds, Edges edge, int amount ) { + + int xMin = bounds.getxBlockMin(); + int xMax = bounds.getxBlockMax(); + + int yMin = bounds.getyBlockMin(); + int yMax = bounds.getyBlockMax(); + + int zMin = bounds.getzBlockMin(); + int zMax = bounds.getzBlockMax(); + + switch ( edge ) + { + case top: + yMax += amount; + if ( yMax < yMin ) { + yMax = yMin; + } + if ( yMax > 255 ) { + yMax = 255; + } + break; + + case bottom: + yMin -= amount; + if ( yMin > yMax ) { + yMin = yMax; + } + if ( yMin < 0 ) { + yMin = 0; + } + break; + + case north: + zMax += amount; + if ( zMax < zMin ) { + zMax = zMin; + } + break; + + case south: + zMin -= amount; + if ( zMin > zMax ) { + zMin = zMax; + } + break; + + case east: + xMax += amount; + if ( xMax < xMin ) { + xMax = xMin; + } + break; + + case west: + xMin -= amount; + if ( xMin > xMax ) { + xMin = xMax; + } + break; + + case walls: + + int zAvg = (zMax + zMin) / 2; + + zMax += amount; + zMin -= amount; + + if ( zMax < zMin ) { + zMax = zAvg; + zMin = zAvg; + } + + int xAvg = (xMax + xMin) / 2; + + xMax += amount; + xMin -= amount; + + if ( xMax < xMin ) { + xMax = xAvg; + xMin = xAvg; + } + break; + + default: + break; + } + + + + Location min = new Location( bounds.getMin().getWorld(), xMin, yMin, zMin ); + Location max = new Location( bounds.getMax().getWorld(), xMax, yMax, zMax ); + + + this.min = min; + this.max = max; + + this.xBlockMax = Math.max(min.getBlockX(), max.getBlockX()); + this.xBlockMin = Math.min(min.getBlockX(), max.getBlockX()); + + this.yBlockMax = Math.max(min.getBlockY(), max.getBlockY()); + this.yBlockMin = Math.min(min.getBlockY(), max.getBlockY()); + + this.zBlockMax = Math.max(min.getBlockZ(), max.getBlockZ()); + this.zBlockMin = Math.min(min.getBlockZ(), max.getBlockZ()); + + this.xMin = Math.min(min.getX(), max.getX()); + this.xMax = Math.max(min.getX(), max.getX()); + + this.yMin = Math.min(min.getY(), max.getY()); + this.yMax = Math.max(min.getY(), max.getY()); + + this.zMin = Math.min(min.getZ(), max.getZ()); + this.zMax = Math.max(min.getZ(), max.getZ()); + + double centerX = (xBlockMin + xBlockMax) / 2.0d; + double centerY = (yBlockMin + yBlockMax) / 2.0d; + double centerZ = (zBlockMin + zBlockMax) / 2.0d; + + this.center = new Location(this.min.getWorld(), centerX, centerY, centerZ ); + + this.totalBlockCount = + (getyBlockMax() - getyBlockMin() + 1) * + (getxBlockMax() - getxBlockMin() + 1) * + (getzBlockMax() - getzBlockMin() + 1); + } + public void setWorld( World world ) { if ( world != null ) { @@ -266,8 +436,7 @@ public Location getCenter() return result; } - public int getxBlockMin() - { + public int getxBlockMin() { return xBlockMin; } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index a9eaf1160..ae1f104e3 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -55,6 +55,7 @@ import tech.mcprison.prison.output.RowComponent; import tech.mcprison.prison.selection.Selection; import tech.mcprison.prison.util.BlockType; +import tech.mcprison.prison.util.Bounds.Edges; import tech.mcprison.prison.util.MaterialType; import tech.mcprison.prison.util.Text; @@ -2104,12 +2105,12 @@ public void setTracerCommand(CommandSender sender, - // @Command(identifier = "mines set size", permissions = "mines.set", description = "Change the size of the mine") + @Command(identifier = "mines set size", permissions = "mines.set", description = "Change the size of the mine") public void setSizeCommand(CommandSender sender, @Arg(name = "mineName", description = "The name of the mine to set the tracer in.") String mineName, - @Arg(name = "adjustment", description = "How to adust the size [increase, inc, decrease, dec]", def = "increase") String adjustment, - @Arg(name = "edge", description = "Edge to adjust [top, bottom, north, east, south, west]", def = "top") String edge, - @Arg(name = "amount", description = "amount to adjust", def = "1") String amount + @Arg(name = "edge", description = "Edge to adjust [top, bottom, north, east, south, west, walls]", def = "walls") String edge, + //@Arg(name = "adjustment", description = "How to adust the size [smaller, larger]", def = "larger") String adjustment, + @Arg(name = "amount", description = "amount to adjust, [-1, 1]", def = "1") int amount ) { @@ -2117,16 +2118,35 @@ public void setSizeCommand(CommandSender sender, return; } + Edges e = Edges.fromString( edge ); + if ( e == null ) { + sender.sendMessage( "&cInvalid edge value. [top, bottom, north, east, south, west, walls]" ); + return; + } + + if ( amount == 0 ) { + sender.sendMessage( "&cInvalid amount. Cannot be zero." ); + return; + } + +// if ( adjustment == null || "smaller".equalsIgnoreCase( adjustment ) || "larger".equalsIgnoreCase( adjustment ) ) { +// sender.sendMessage( "&cInvalid adjustment. [larger, smaller]" ); +// return; +// } + PrisonMines pMines = PrisonMines.getInstance(); Mine mine = pMines.getMine(mineName); - if ( mine.isVirtual() ) { sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); return; } + mine.adjustSize( e, amount ); + + pMines.getMineManager().saveMine( mine ); + } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index 239d485d3..5047e8f49 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -18,6 +18,8 @@ import tech.mcprison.prison.mines.events.MineResetEvent; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.util.BlockType; +import tech.mcprison.prison.util.Bounds; +import tech.mcprison.prison.util.Bounds.Edges; import tech.mcprison.prison.util.Location; import tech.mcprison.prison.util.Text; @@ -1303,7 +1305,7 @@ protected void broadcastPendingResetMessageToAllPlayersWithRadius(MineJob mineJo public void enableTracer() { // First clear the mine: - clearMine(); + clearMine( true ); // Prison.get().getPlatform().enableMineTracer( // getWorldName(), @@ -1314,8 +1316,30 @@ public void enableTracer() { } + /** + *

This will adjust the size of the existing mine's area. + * Any voids left due to reductions in size will not be auto + * filled. + *

+ * + * @param edge + * @param amount + */ + public void adjustSize( Edges edge, int amount ) { + + // First clear the mine: + clearMine( false ); + + + Bounds newBounds = new Bounds( getBounds(), edge, amount ); + setBounds( newBounds ); + + // Finally trace the mine: + clearMine( true ); + } + - private void clearMine() { + private void clearMine( boolean tracer ) { try { @@ -1357,7 +1381,6 @@ private void clearMine() { int zMin = getBounds().getzBlockMin(); int zMax = getBounds().getzBlockMax(); - int i = 0; for (int y = yMax; y >= yMin; y--) { // for (int y = getBounds().getyBlockMin(); y <= getBounds().getyBlockMax(); y++) { for (int x = xMin; x <= xMax; x++) { @@ -1368,20 +1391,17 @@ private void clearMine() { boolean yEdge = y == yMin || y == yMax; boolean zEdge = z == zMin || z == zMax; - boolean isEdge = xEdge && yEdge || xEdge && zEdge || - yEdge && zEdge; + boolean isEdge = tracer && + (xEdge && yEdge || xEdge && zEdge || + yEdge && zEdge); if ( useNewBlockModel ) { targetBlock.getBlockAt().setPrisonBlock( isEdge ? blockRedPB : blockAirPB ); - i++; - } else { targetBlock.getBlockAt().setType( isEdge ? blockRedBT : blockAirBT ); - i++; - } } } From c9fed3298b0b8cee4cca469bea3578e8b8712c6b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 08:27:24 -0400 Subject: [PATCH 105/243] Fix potential issue where the user tries to use a % % as escape characters when they should be using { } instead. It was causing a failure when trying to redisplay the text as for the % was trying to be used as a placeholder when fed through the String.format command. --- .../src/main/java/tech/mcprison/prison/PrisonCommand.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java b/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java index 24d31fd45..1dcea36b7 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java @@ -390,13 +390,19 @@ public void troubleshootListCommand(CommandSender sender) { onlyPlayers = false, permissions = "prison.placeholder") public void placeholdersTestCommand(CommandSender sender, @Wildcard(join=true) - @Arg(name = "text", description = "Placeholder text to test" ) String text ) { + @Arg(name = "text", + description = "Placeholder text to test using { } as escape characters" ) String text ) { ChatDisplay display = new ChatDisplay("Placeholder Test"); BulletedListComponent.BulletedListBuilder builder = new BulletedListComponent.BulletedListBuilder(); + if ( text.contains( "%" )) { + Output.get().logInfo( "&3You cannot use &7%%&3 as escape characters. Use &7{ }&3 instead." ); + return; + } + Player player = getPlayer( sender ); UUID playerUuid = (player == null ? null : player.getUUID()); String translated = Prison.get().getPlatform().getPlaceholders() From b97a1b5f4fe1673c9f6494bb5296e06dea18e55f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 08:29:06 -0400 Subject: [PATCH 106/243] But fix: It was reported that this was causing a NPE but I couldn't reproduce it. So changed it so the rankUpCommands list will never be null. --- .../main/java/tech/mcprison/prison/ranks/data/Rank.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java index e9ea21591..397df4490 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/data/Rank.java @@ -80,6 +80,8 @@ public class Rank public Rank() { super(); + this.rankUpCommands = new ArrayList<>(); + this.mines = new ArrayList<>(); this.mineStrings = new ArrayList<>(); } @@ -109,7 +111,12 @@ public Rank(Document document) { String currency = (String) document.get("currency"); this.currency = (currency == null || "null".equalsIgnoreCase( currency ) ? null : currency); - this.rankUpCommands = (List) document.get("commands"); + + getRankUpCommands().clear(); + Object cmds = document.get("commands"); + if ( cmds != null ) { + this.rankUpCommands = (List) cmds; + } getMines().clear(); getMineStrings().clear(); From 22c9b0e7063f9fa2f3ad0ee09cf8bc96206fe084 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 08:29:35 -0400 Subject: [PATCH 107/243] Bump the version to alpha.7 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 793d6873c..643b0cc9d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.6 +version=3.2.2-alpha.7 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From be3d9b641eb68d247d028397fc2736fddc11c859 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:54:15 -0400 Subject: [PATCH 108/243] Add logging to count how many blaze rods the player has before and after issuing the /mines wand command. there have been a few reports that it does not work, but I cannot reproduce the error. So this is step one in confirming if they actually get the blaze rod or not. One possibility could be that another plugin is canceling the event so the player never gets the blaze rod. --- .../prison/selection/SelectionManager.java | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/selection/SelectionManager.java b/prison-core/src/main/java/tech/mcprison/prison/selection/SelectionManager.java index 048e435b3..0db9fce0d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/selection/SelectionManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/selection/SelectionManager.java @@ -18,13 +18,15 @@ package tech.mcprison.prison.selection; +import java.util.HashMap; +import java.util.Map; + import tech.mcprison.prison.internal.ItemStack; import tech.mcprison.prison.internal.Player; +import tech.mcprison.prison.internal.inventory.Inventory; +import tech.mcprison.prison.output.Output; import tech.mcprison.prison.util.BlockType; -import java.util.HashMap; -import java.util.Map; - /** * @author Faizaan A. Datoo */ @@ -47,8 +49,31 @@ public SelectionManager() { * @param player The {@link Player} to give the selection tool to */ public void bestowSelectionTool(Player player) { + int countBefore = selectionWandCount( player ); + player.give(SELECTION_TOOL); + + int countAfter = selectionWandCount( player ); + + Output.get().logInfo( "Prison selection wand (blaze_rod) was given to player %s. " + + "Count before command: %d. Count after command: %d. ", + player.getName(), countBefore, countAfter ); } + + private int selectionWandCount( Player player) { + int count = 0; + Inventory inv = player.getInventory(); + + for (ItemStack is : inv.getItems()) { + if ( is != null && + // is.getName().toLowerCase().contains( "selection wand" ) && + // is.getDisplayName().toLowerCase().contains( "selection wand" ) && + is.getMaterial() == BlockType.BLAZE_ROD ) { + count += is.getAmount(); + } + } + return count; + } public Selection getSelection(Player player) { if (!selectionMap.containsKey(player.getName())) { From fb23f0f84101c2de08398761d87dd26c5b79421a Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:55:47 -0400 Subject: [PATCH 109/243] Disabled the loading of the /items.csv file since that is obsolete and not working anymore. The items.csv file has been removed from the project since people were thinking they can just modify that file to add custom blocks. Nope... --- .../java/tech/mcprison/prison/util/ItemManager.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java b/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java index ddd9b60fb..4ebf34c45 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java @@ -38,9 +38,18 @@ public class ItemManager { private Multimap items; + + /** + * This has not been used for a while. Will need to provide an alternative way to + * add custom blocks. + * + * @throws Exception + */ + @Deprecated public ItemManager() throws Exception { + items = ArrayListMultimap.create(); + /* File file = new File(Prison.get().getDataFolder(), "/items.csv"); - items = ArrayListMultimap.create(); if (!file.exists()) { try ( @@ -76,6 +85,7 @@ public ItemManager() throws Exception { catch (Exception e) { throw new IOException("Error while reading items.csv -- it's probably invalid", e); } + */ } public Map> getItems() { From 86711bcb70fca957e5dbfa81bbea21e745d0da9f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:56:54 -0400 Subject: [PATCH 110/243] update changelog --- changelog_v3.2.x.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 28354df79..78b9fa4fd 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,26 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.6 - 2020-10-21 +## tag v3.2.2-alpha.7 - 2020-10-21 + + +* **Disabled the loading of the /items.csv file** +since that is obsolete and not working anymore. The items.csv file has been removed from the project since people were thinking they can just modify that file to add custom blocks. Nope... + + +* **Add logging to count how many blaze rods the player has before and after issuing the /mines wand command.** +there have been a few reports that it does not work, but I cannot reproduce the error. So this is step one in confirming if they actually get the blaze rod or not. +One possibility could be that another plugin is canceling the event so the player never gets the blaze rod. + + +* **v3.2.2-alpha.7b - 2020-10-21** + + +* **Temp pulled alpha.7** Someone said the were getting a lot of errors with this release. Hence the past two fixes. + + +* **Fix potential issue where the user tries to use a % % as escape characters when they should be using { } instead.** +It was causing a failure when trying to redisplay the text as for the % was trying to be used as a placeholder when fed through the String.format command. * **New feature: /mines set size** @@ -16,6 +35,9 @@ Can now adjust the mine size by specifying the edge and adjustment amount. Edges When adjusting the size, it automatically goes in to tracer mode so the mine's dimensions are easily seen. +* **v3.2.2-alpha.7 - 2020-10-21** + + * **Created the code to add blocks to virtual mines when they are being generated with the /ranks autoConfigure command.** Blocks are setup in a List with the least valuable to the most valuable. Then it's a sliding window of selecting blocks from the lowest mine to the highest ranked mine. The percentage per blocks are 5, 10, 20, 20, 20, 25 where the most valuable are least represented. From f9764ab90f03e1dc4987b1f182e62c7ba0c4d6f3 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 17:12:19 -0400 Subject: [PATCH 111/243] Bug fix! Trying to format an already formatted item... oof!! This had everything to do with formatted currency amounts in placeholders. --- .../tech/mcprison/prison/ranks/managers/PlayerManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java index f0fca0e88..8df09c477 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java @@ -314,7 +314,7 @@ public String getPlayerNextRankCost( RankPlayer rankPlayer, String ladderName, b double cost = key.getNext(key.getPositionOfRank(entry.getValue())).get().cost; if ( formatted ) { - sb.append( dFmt.format( PlaceholdersUtil.formattedSize( cost ))); + sb.append( PlaceholdersUtil.formattedSize( cost )); } else { sb.append( dFmt.format( cost )); @@ -438,7 +438,7 @@ public String getPlayerNextRankCostRemaining( RankPlayer rankPlayer, String ladd } if ( formatted ) { - sb.append( dFmt.format( PlaceholdersUtil.formattedSize( remaining ))); + sb.append( PlaceholdersUtil.formattedSize( remaining )); } else { sb.append( dFmt.format( remaining )); @@ -477,7 +477,7 @@ private String getPlayerBalance( RankPlayer rankPlayer, String ladderName, boole double balance = getPlayerBalance(prisonPlayer,rank); if ( formatted ) { - sb.append( dFmt.format( PlaceholdersUtil.formattedSize( balance ))); + sb.append( PlaceholdersUtil.formattedSize( balance )); } else { sb.append( dFmt.format( balance )); From ec3e559ba7f5f7315ae597714117453837f43a07 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 21:32:37 -0400 Subject: [PATCH 112/243] Fix for North and south was backwards for the command /mines set size --- .../main/java/tech/mcprison/prison/util/Bounds.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java b/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java index 134d841c5..377a1ec67 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java @@ -146,16 +146,16 @@ public Bounds( Bounds bounds, Edges edge, int amount ) { break; case north: - zMax += amount; - if ( zMax < zMin ) { - zMax = zMin; + zMin -= amount; + if ( zMin > zMax ) { + zMin = zMax; } break; case south: - zMin -= amount; - if ( zMin > zMax ) { - zMin = zMax; + zMax += amount; + if ( zMax < zMin ) { + zMax = zMin; } break; From 37ff1552d487c444c0d108a2e9d7015718dfd405 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 21 Oct 2020 21:37:06 -0400 Subject: [PATCH 113/243] Update TokenEnchantAPI to v18.5.0. --- prison-spigot/build.gradle | 8 ++++++-- prison-spigot/lib/TokenEnchantAPI-18.5.0.jar | Bin 0 -> 34253 bytes 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 prison-spigot/lib/TokenEnchantAPI-18.5.0.jar diff --git a/prison-spigot/build.gradle b/prison-spigot/build.gradle index 5780471a1..4b908bd7c 100644 --- a/prison-spigot/build.gradle +++ b/prison-spigot/build.gradle @@ -69,8 +69,12 @@ dependencies { } // compileOnly 'com.sk89q.worldguard:worldguard-bukkit:7.0.1' - compileOnly fileTree(dir: 'lib', include: ['*.jar'], exclude: ['TokenEnchantAPI-15.3.2.jar']) - compile fileTree(dir: 'lib', include: ['TokenEnchantAPI-15.3.2.jar']) + + compileOnly fileTree(dir: 'lib', include: ['*.jar'], exclude: ['TokenEnchantAPI-15.5.0.jar']) + compile fileTree(dir: 'lib', include: ['TokenEnchantAPI-18.5.0.jar']) + +// compileOnly fileTree(dir: 'lib', include: ['*.jar'], exclude: ['TokenEnchantAPI-15.3.2.jar']) +// compile fileTree(dir: 'lib', include: ['TokenEnchantAPI-15.3.2.jar']) } diff --git a/prison-spigot/lib/TokenEnchantAPI-18.5.0.jar b/prison-spigot/lib/TokenEnchantAPI-18.5.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..77abde9ea3c80d8466d007d6cf02a8f09cd9051b GIT binary patch literal 34253 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 S{~rD23;0Fcl`kvay!n6PV1GjZ literal 0 HcmV?d00001 From d5b1142f9fad66fafcb29b84e405ecd54b5ae972 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 22 Oct 2020 19:07:24 -0400 Subject: [PATCH 114/243] Bug fix? Needed to add TokenEnchant to the softdepend to prevent a java.lang.NoClassDefFoundError with the class com/vk2gpz/vklib/logging/ColorConsoleLogger. Not really sure if I can call this a Prison bug since it appears to originate from within the TE API code base. But this works around their potential short comings. --- prison-spigot/src/main/resources/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/resources/plugin.yml b/prison-spigot/src/main/resources/plugin.yml index 4a8d3e0e3..deba98fed 100644 --- a/prison-spigot/src/main/resources/plugin.yml +++ b/prison-spigot/src/main/resources/plugin.yml @@ -3,7 +3,7 @@ main: tech.mcprison.prison.spigot.SpigotPrison version: "${version}" description: Prison is an all-in-one plugin for the Minecraft prison game mode. website: https://prison.jar-mc.com -softdepend: [Essentials, Vault, LuckPerms, Multiverse-Core, Multiworld, MVdWPlaceholderAPI, PlaceholderAPI, GemsEconomy] +softdepend: [Essentials, Vault, LuckPerms, Multiverse-Core, Multiworld, MVdWPlaceholderAPI, PlaceholderAPI, GemsEconomy, TokenEnchant] # Older versions than 1.13 will ignore this, but this will allow 1.13 and up to use newer block types? api-version: 1.13 From faa32abd051d4f9e9357d8c74a03e4931c2d3e36 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 22 Oct 2020 21:29:11 -0400 Subject: [PATCH 115/243] New Feature: Now able to line a mine based upon the selection of edges and patterns. This feature helps players to get up and running their prison a lot faster. Many additional patterns can be added in the future. Supports 2d patterns that are from 1x1 to any larger size. --- changelog_v3.2.x.md | 16 +- .../prison/mines/commands/MinesCommands.java | 51 ++ .../prison/mines/data/MineLinerBuilder.java | 478 ++++++++++++++++++ .../mines/data/MineLinerBuilderTest.java | 29 ++ 4 files changed, 573 insertions(+), 1 deletion(-) create mode 100644 prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java create mode 100644 prison-mines/src/test/java/tech/mcprison/prison/mines/data/MineLinerBuilderTest.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 78b9fa4fd..730834856 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,21 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.7 - 2020-10-21 +## tag v3.2.2-alpha.7 - 2020-10-22 + + +* **New Feature: Now able to line a mine based upon the selection of edges and patterns.** +This feature helps players to get up and running their prison a lot faster. +Many additional patterns can be added in the future. Supports 2d patterns that are from 1x1 to any larger size. + + +* **Bug fix? Needed to add TokenEnchant to the softdepend** +to prevent a java.lang.NoClassDefFoundError with the class com/vk2gpz/vklib/logging/ColorConsoleLogger. +Not really sure if I can call this a Prison bug since it appears to originate from within the TE API code base. But this works around their potential short comings. + + +* **Bug fix! Trying to format an already formatted item... oof!!** +This had everything to do with formatted currency amounts in placeholders. * **Disabled the loading of the /items.csv file** diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index ae1f104e3..8625f8c89 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -42,6 +42,8 @@ import tech.mcprison.prison.mines.data.Mine; import tech.mcprison.prison.mines.data.MineData; import tech.mcprison.prison.mines.data.MineData.MineNotificationMode; +import tech.mcprison.prison.mines.data.MineLinerBuilder; +import tech.mcprison.prison.mines.data.MineLinerBuilder.LinerPatterns; import tech.mcprison.prison.mines.data.PrisonSortableResults; import tech.mcprison.prison.mines.managers.MineManager; import tech.mcprison.prison.mines.managers.MineManager.MineSortOrder; @@ -2150,6 +2152,55 @@ public void setSizeCommand(CommandSender sender, } + @Command(identifier = "mines set liner", permissions = "mines.set", + description = "Change the blocks that line the mine.") + public void setLinerCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine") String mineName, + @Arg(name = "edge", description = "Edge to use [top, bottom, north, east, south, west, walls]", def = "walls") String edge, + //@Arg(name = "adjustment", description = "How to adust the size [smaller, larger]", def = "larger") String adjustment, + @Arg(name = "pattern", description = "pattern to use [?]", def = "bright") String pattern + + ) { + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + Edges e = Edges.fromString( edge ); + if ( e == null ) { + sender.sendMessage( "&cInvalid edge value. [top, bottom, north, east, south, west, walls]" ); + return; + } + + if ( pattern != null && "?".equals( pattern )) { + sender.sendMessage( "&cAvailable Patterns: [" + + LinerPatterns.toStringAll() + "]" ); + + } + + LinerPatterns linerPattern = LinerPatterns.fromString( pattern ); + if ( linerPattern == null ) { + sender.sendMessage( "&cInvalid pattern. Select one of these: [" + + LinerPatterns.toStringAll() + "]" ); + return; + } + + + PrisonMines pMines = PrisonMines.getInstance(); + Mine mine = pMines.getMine(mineName); + + if ( mine.isVirtual() ) { + sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + + + new MineLinerBuilder( mine, e, linerPattern ); + + // NOTE: The mine itself was not changed, so nothing to save: + + } + @Command(identifier = "mines set resetpaging", permissions = "mines.resetpaging", diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java new file mode 100644 index 000000000..1c3f365eb --- /dev/null +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -0,0 +1,478 @@ +package tech.mcprison.prison.mines.data; + +import java.util.ArrayList; +import java.util.List; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.internal.World; +import tech.mcprison.prison.internal.block.Block; +import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.output.Output; +import tech.mcprison.prison.util.BlockType; +import tech.mcprison.prison.util.Bounds; +import tech.mcprison.prison.util.Bounds.Edges; +import tech.mcprison.prison.util.Location; + +public class MineLinerBuilder { + + private Mine mine; + private Bounds liner; + + private LinerPatterns pattern; + + private List>> pattern3d = null; + + + public enum LinerPatterns { + + bright, + white, + + blackAndWhite, + seaEchos, + obby + ; + + public static LinerPatterns fromString( String pattern ) { + LinerPatterns results = null; + + if ( pattern != null && pattern.trim().length() > 0 ) { + for ( LinerPatterns lp : values() ) { + if ( lp.name().equalsIgnoreCase( pattern.trim() )) { + results = lp; + } + } + } + + return results; + } + + public static String toStringAll() { + StringBuilder sb = new StringBuilder(); + + for ( LinerPatterns pattern : values() ) + { + if ( sb.length() > 0 ) { + sb.append( " " ); + } + + sb.append( pattern.name() ); + } + + return sb.toString(); + } + + } + + /** + * Use only in jUnit tests. + */ + protected MineLinerBuilder() { + super(); + + this.pattern3d = new ArrayList<>(); + + } + + public MineLinerBuilder( Mine mine, Edges edge, LinerPatterns pattern ) { + super(); + + this.pattern3d = new ArrayList<>(); + + this.mine = mine; + + // Liner is one larger in walls and depth. + this.liner = + new Bounds( + new Bounds( mine.getBounds(), + Edges.bottom, 1 ), Edges.walls, 1); + + this.pattern = pattern; + + if ( pattern != null ) { + mine.enableTracer(); + + generatePattern( edge ); + } + } + + private void generatePattern( Edges edge ) { + + World world = getLiner().getMin().getWorld(); + + int xMin = getLiner().getxBlockMin(); + int yMin = getLiner().getyBlockMin(); + int zMin = getLiner().getzBlockMin(); + + int xMax = getLiner().getxBlockMax(); + int yMax = getLiner().getyBlockMax(); + int zMax = getLiner().getzBlockMax(); + + switch ( edge ) + { + case walls: + generatePattern( Edges.north ); + generatePattern( Edges.east ); + generatePattern( Edges.south ); + generatePattern( Edges.west ); + + break; + + case top: + + select2DPattern( edge ); + // Top is where yMax is constant (yMin = yMax): + generatePattern( world, xMin, xMax, yMax, yMax, zMin, zMax ); + break; + + case bottom: + + select2DPattern( edge ); + // Bottom is where yMin is constant (yMax = yMin): + generatePattern( world, xMin, xMax, yMin, yMin, zMin, zMax ); + + break; + + case north: + + select2DPattern( edge ); + // North is where zMax is constant (zMin = zMax): + generatePattern( world, xMin, xMax, yMin, yMax, zMax, zMax ); + + insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); + + break; + + case south: + + select2DPattern( edge ); + // South is where zMin is constant (zMax = zMin): + generatePattern( world, xMin, xMax, yMin, yMax, zMin, zMin ); + + insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); + + break; + + case east: + + select2DPattern( edge ); + // East is where xMin is constant (xMax = xMin): + generatePattern( world, xMin, xMin, yMin, yMax, zMin, zMax ); + + insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); + + break; + + case west: + + select2DPattern( edge ); + // West is where xMax is constant (xMin = xMax): + generatePattern( world, xMax, xMax, yMin, yMax, zMin, zMax ); + + insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); + + break; + + default: + break; + } + } + + /** + * This function perhaps should be combined with generatePattern() to automatically insert ladders + * in one pass. + * + * @param edge + * @param world + * @param xMin + * @param xMax + * @param yMin + * @param yMax + * @param zMin + * @param zMax + */ + private void insertLadders( Edges edge, World world, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax) { + + } + + + private void generatePattern( World world, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax) { + try { + + boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); + + // Output.get().logInfo( "MineRest.resetSynchonouslyInternal() " + getName() ); + +// Output.get().logInfo( "### MineLinerBuilder - xMin=%d, xMax=%d, yMin=%d, yMax=%d, zMin=%d, zMax=%d ", +// xMin, xMax, yMin, yMax, zMin, zMax); + + + for (int x = xMin; x <= xMax; x++) { + + // Get the block-pattern-x position, mapped relative to the 2d pattern: + int x3d = (x - xMin) % getPattern3d().size(); + + for (int y = yMin; y <= yMax; y++) { + + // Get the block-pattern-x position, mapped relative to the 2d pattern: + int y3d = (y - yMin) % getPattern3d().get( x3d ).size(); + + + for (int z = zMin; z <= zMax; z++) { + + // Get the block-pattern-z position, mapped relative to the d2 pattern: + int z3d = (z - zMin) % getPattern3d().get( x3d ).get( y3d ).size(); + + String nextBlockName = getPattern3d().get( x3d ).get( y3d ).get( z3d ); + +// Output.get().logInfo( "### MineLinerBuilder - block: %s x=%d, y=%d, z=%d " + +// "x3d=%d, y3d=%d, z3d=%d ", +// nextBlockName, x, y, z, x3d, y3d, z3d); + + Location targetLocation = new Location(world, x, y, z); + Block targetBlock = targetLocation.getBlockAt(); + + // Do not replace any air blocks: This allows us to follow the contour of + // the terrain. + + if ( useNewBlockModel ) { + + if ( !targetBlock.isEmpty() ) { + PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); + targetBlock.setPrisonBlock( nextBlockType ); + } + + } + else { + + if ( !targetBlock.isEmpty() ) { + BlockType nextBlockType = BlockType.fromString( nextBlockName ); + targetBlock.setType( nextBlockType ); + } + } + } + } + + + } + + + } catch (Exception e) { + Output.get().logError("&cFailed to generate the mine liner " + getMine().getName(), e); + } + + } + + private void select2DPattern( Edges edge ) { + + String[][] pattern2d = null; + + switch ( getPattern() ) + { + + case blackAndWhite: + String[][] baw = + { + { "obsidian", "pillar_quartz_block" }, + { "pillar_quartz_block", "coal_block" } + }; + pattern2d = baw; + + break; + + case seaEchos: + String[][] seaEchos = + { + { "pillar_quartz_block", "pillar_quartz_block", "pillar_quartz_block" }, + { "pillar_quartz_block", "obsidian", "obsidian" }, + { "pillar_quartz_block", "obsidian", "sea_lantern" }, + }; + pattern2d = seaEchos; + + break; + + case obby: + String[][] obby = + { + { "obsidian" } + }; + pattern2d = obby; + + break; + + case white: + String[][] white = + { + { "iron_block", "end_stone" }, + { "end_stone", "iron_block" } + }; + pattern2d = white; + break; + + case bright: + default: + + String[][] bright = + { + { "iron_block", "end_stone" }, + { "end_stone", "glowstone" }, + { "iron_block", "end_stone" }, + + { "chiseled_quartz_block", "pillar_quartz_block" }, + { "glowstone", "quartz_stone" }, + { "chiseled_quartz_block", "pillar_quartz_block" } + }; + pattern2d = bright; + + break; + } + + apply2Dto3DPattern( edge, pattern2d ); + } + + + protected void apply2Dto3DPattern( Edges edge, String[][] pattern2d ) + { + // This is a 3d nested list: + pattern3d = new ArrayList<>(); + + for ( int a = 0; a < pattern2d.length; a++ ) { + String[] aArray = pattern2d[a]; + + for ( int b = 0; b < aArray.length; b++ ) { + String value = pattern2d[a][b]; + + switch ( edge ) + { + case top: + case bottom: + // Top or bottom requires Y to be zero since that is the unchanging dimension: + { + // For each value of a add X list: + List> xList = null; + if ( pattern3d.size() == a ) { + xList = new ArrayList<>(); + pattern3d.add( xList ); + } + else { + xList = pattern3d.get( a ); + } + + // y is static and always zero: + List yList = null; + if ( xList.size() == 0 ) { + yList = new ArrayList<>(); + xList.add( yList ); + } + else { + yList = xList.get( 0 ); + } + + // Add the Z for each value of b: + yList.add( value ); + } + + break; + + case north: + case south: + // North or south requires z to be zero for the unchanging dimension: + // For each value of a add X list: + { + // For each value of a add X list: + List> xList = null; + if ( pattern3d.size() == a ) { + xList = new ArrayList<>(); + pattern3d.add( xList ); + } + else { + xList = pattern3d.get( a ); + } + + // y is static and always zero: + List yList = null; + if ( xList.size() == b ) { + yList = new ArrayList<>(); + xList.add( yList ); + } + else { + yList = xList.get( b ); + } + + // Add the value for z. It will always be the zeroth element of y: + yList.add( value ); + } + + break; + + case east: + case west: + // east or west requires x to be zero for the unchanging dimension: + { + // For each value of a add X list: + List> xList = null; + if ( pattern3d.size() == 0 ) { + xList = new ArrayList<>(); + pattern3d.add( xList ); + } + else { + xList = pattern3d.get( 0 ); + } + + // y is static and always zero: + List yList = null; + if ( xList.size() == a ) { + yList = new ArrayList<>(); + xList.add( yList ); + } + else { + yList = xList.get( a ); + } + + // Add the value for each value of b: + yList.add( value ); + } + + break; + + + default: + break; + } + + } + } + + + } + + + public List>> getPattern3d() { + return pattern3d; + } + public void setPattern3d( List>> pattern3d ) { + this.pattern3d = pattern3d; + } + + public Mine getMine() { + return mine; + } + public void setMine( Mine mine ) { + this.mine = mine; + } + + public Bounds getLiner() { + return liner; + } + public void setLiner( Bounds liner ) { + this.liner = liner; + } + + public LinerPatterns getPattern() { + return pattern; + } + public void setPattern( LinerPatterns pattern ) { + this.pattern = pattern; + } + +} diff --git a/prison-mines/src/test/java/tech/mcprison/prison/mines/data/MineLinerBuilderTest.java b/prison-mines/src/test/java/tech/mcprison/prison/mines/data/MineLinerBuilderTest.java new file mode 100644 index 000000000..6518f47fd --- /dev/null +++ b/prison-mines/src/test/java/tech/mcprison/prison/mines/data/MineLinerBuilderTest.java @@ -0,0 +1,29 @@ +package tech.mcprison.prison.mines.data; + +import static org.junit.Assert.*; + +import org.junit.Test; + +import tech.mcprison.prison.util.Bounds.Edges; + +public class MineLinerBuilderTest + extends + MineLinerBuilder +{ + + @Test + public void apply2Dto3DPattern() + { + String[][] pattern2d = { + { "a", "b" }, + { "c", "d" } + }; + + getPattern3d().clear(); + + apply2Dto3DPattern( Edges.bottom, pattern2d ); + + assertEquals( 2, getPattern3d().size() ); + } + +} From 57c3646677d635b61de3bfc9745c4cbc8bbc9f9e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 23 Oct 2020 00:19:35 -0400 Subject: [PATCH 116/243] Increased the version to v3.2.2-alpha.8 --- changelog_v3.2.x.md | 6 +++++- gradle.properties | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 730834856..9121ec59c 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,11 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.7 - 2020-10-22 +## tag v3.2.2-alpha.8 - 2020-10-22 + + + +* **v3.2.2-alpha.8 - 2020-10-22** * **New Feature: Now able to line a mine based upon the selection of edges and patterns.** diff --git a/gradle.properties b/gradle.properties index 643b0cc9d..b196c8252 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.7 +version=3.2.2-alpha.8 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From d0c70608d454531d9633515dd997f9390c381f25 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 23 Oct 2020 00:23:46 -0400 Subject: [PATCH 117/243] Slight changes to text for the /mines set liner --- .../prison/mines/commands/MinesCommands.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 8625f8c89..3ffac1117 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2168,20 +2168,20 @@ public void setLinerCommand(CommandSender sender, Edges e = Edges.fromString( edge ); if ( e == null ) { - sender.sendMessage( "&cInvalid edge value. [top, bottom, north, east, south, west, walls]" ); + sender.sendMessage( "&cInvalid edge value. &3[&7top bottom north east south west walls&3]" ); return; } if ( pattern != null && "?".equals( pattern )) { - sender.sendMessage( "&cAvailable Patterns: [" + - LinerPatterns.toStringAll() + "]" ); + sender.sendMessage( "&3Available Patterns: [&7" + + LinerPatterns.toStringAll() + "&3]" ); } LinerPatterns linerPattern = LinerPatterns.fromString( pattern ); if ( linerPattern == null ) { - sender.sendMessage( "&cInvalid pattern. Select one of these: [" + - LinerPatterns.toStringAll() + "]" ); + sender.sendMessage( "&cInvalid pattern.&3 Select one of these: [&7" + + LinerPatterns.toStringAll() + "&3]" ); return; } @@ -2190,7 +2190,7 @@ public void setLinerCommand(CommandSender sender, Mine mine = pMines.getMine(mineName); if ( mine.isVirtual() ) { - sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + sender.sendMessage( "&cMine is a virtual mine.&7 Use &a/mines set area &7to enable the mine." ); return; } From 0b8b6aefc42bb26627265c88f8f91f23bd8f0075 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 23 Oct 2020 00:44:15 -0400 Subject: [PATCH 118/243] Rank Tags modified to accept spaces to match the capabilities of the Mine Tag, the rank tag was adjusted to allow spaces. The command /ranks set tag was also changed to remove the tag if desired. Also changed the /ranks create command to accept spaces in the tag name too. --- changelog_v3.2.x.md | 3 ++ .../prison/ranks/commands/RanksCommands.java | 51 ++++++++++++++----- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 9121ec59c..8c90620aa 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,9 @@ that you need. ## tag v3.2.2-alpha.8 - 2020-10-22 +* **Rank Tags modified to accept spaces** +To match the capabilities of the Mine Tag, the rank tag was adjusted to allow spaces. The command /ranks set tag was also changed to remove the tag if desired. Also changed the /ranks create command to accept spaces in the tag name too. + * **v3.2.2-alpha.8 - 2020-10-22** diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 4e5b176ee..4fd246e64 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -62,8 +62,9 @@ public boolean createRank(CommandSender sender, @Arg(name = "cost", description = "The cost of this rank.") double cost, @Arg(name = "ladder", description = "The ladder to put this rank on.", def = "default") String ladder, - @Arg(name = "tag", description = "The tag to use for this rank.", def = "none") - String tag) { + @Wildcard(join=true) + @Arg(name = "tag", description = "The tag to use for this rank.", def = "none") + String tag) { boolean success = false; @@ -126,7 +127,8 @@ public boolean createRank(CommandSender sender, // Tell the player the good news! Output.get() - .sendInfo(sender, "&3Your new rank, '&7%s&3', was created in the ladder '&7%s&3'", name, ladder); + .sendInfo(sender, "&3Your new rank, '&7%s&3', was created in the ladder '&7%s&3', " + + "using the tag value of '&7%s&3'", name, ladder, tag); } catch (IOException e) { Output.get().sendError(sender, "&3The '&7%s&3' ladder could not be saved to disk. Check the console for details.", @@ -672,7 +674,8 @@ public void setCurrency(CommandSender sender, onlyPlayers = false, permissions = "ranks.set") public void setTag(CommandSender sender, @Arg(name = "rankName") String rankName, - @Arg(name = "tag", description = "The desired tag.") String tag){ + @Wildcard(join=true) + @Arg(name = "tag", description = "Tag value for the Rank. Use [null] to remove.") String tag){ Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); if ( rank == null ) { @@ -680,19 +683,39 @@ public void setTag(CommandSender sender, return; } - rank.tag = tag; + + if ( tag == null || tag.trim().length() == 0 ) { + sender.sendMessage( "&cTag name must be a valid value. To remove use a value of &anull&c." ); + return; + } - // Save the rank -// try { - PrisonRanks.getInstance().getRankManager().saveRank(rank); + if ( tag.equalsIgnoreCase( "null" ) ) { + tag = null; + } - Output.get().sendInfo(sender,"Successfully set the tag of rank '%s' to "+tag,rankName); -// } catch (IOException e) { -// Output.get().sendError(sender, -// "The rank could not be saved to disk. The tag change for the rank has not been saved. Check the console for details."); -// Output.get().logError("Rank could not be written to disk.", e); -// } + if ( tag == null && rank.getTag() == null || + rank.getTag() != null && + rank.getTag().equalsIgnoreCase( tag )) { + + sender.sendMessage( "&cThe new tag name is the same as what it was. No change was made." ); + return; + } + + rank.tag = tag; + + PrisonRanks.getInstance().getRankManager().saveRank(rank); + + if ( tag == null ) { + sender.sendMessage( + String.format( "&cThe tag name was cleared for the rank %s.", + rank.getName() ) ); + } + else { + sender.sendMessage( + String.format( "&cThe tag name was changed to %s for the rank %s.", + tag, rank.getName() ) ); + } } @Command(identifier = "ranks player", description = "Shows a player their rank", onlyPlayers = false) From 5d763aac65d51c89e21faeac91bd2dcaac891ac1 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 24 Oct 2020 00:14:00 +0200 Subject: [PATCH 119/243] Small design changes but not what I wanted to add Changelogs: - Small design changes to AutoFeatures GUIs, I can't test them and see if blocks are what I was wanting to add, anyway the main goal isn't achieved as I didn't find GLASS_COLOR or COLOR_STAINED_GLASS and for some reason they don't exist, even if Spigot Listed them on the API --- .../autofeatures/SpigotAutoFeaturesGUI.java | 24 +++++++++---------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 4 ++-- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index c3cb6b3d4..e9acf219b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -70,14 +70,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - playSound = createButton(Material.EMERALD_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); + playSound = createButton(Material.RECORD_4, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - playSound = createButton(Material.REDSTONE_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); + playSound = createButton(Material.RECORD_3, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); } @@ -86,14 +86,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - hologram = createButton(Material.EMERALD_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); + hologram = createButton(Material.RECORD_4, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - hologram = createButton(Material.REDSTONE_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); + hologram = createButton(Material.RECORD_3, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); } @@ -102,14 +102,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.EnabledAll"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - enabledOrDisabled = createButton(Material.EMERALD_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); + enabledOrDisabled = createButton(Material.RECORD_4, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.DisabledAll"), messages.getString("Gui.Lore.RightClickToEnable")); - enabledOrDisabled = createButton(Material.REDSTONE_BLOCK, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); + enabledOrDisabled = createButton(Material.RECORD_3, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); } @@ -119,14 +119,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(Material.EMERALD_BLOCK, 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); + autoPickup = createButton(Material.RECORD_4, 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); } else { // Lore of the button List autoPickupLore = createLore( messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(Material.REDSTONE_BLOCK, 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); + autoPickup = createButton(Material.RECORD_3, 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); } @@ -136,14 +136,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(Material.EMERALD_BLOCK, 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); + autoSmelt = createButton(Material.RECORD_4, 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); } else { // Lore of the button List autoSmeltLore = createLore( messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(Material.REDSTONE_BLOCK, 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); + autoSmelt = createButton(Material.RECORD_3, 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); } @@ -153,7 +153,7 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(Material.EMERALD_BLOCK, 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); + autoBlock = createButton(Material.RECORD_4, 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); } else { // Lore of the button @@ -161,7 +161,7 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(Material.REDSTONE_BLOCK, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); + autoBlock = createButton(Material.RECORD_3, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } //Position of the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index b595b061d..bda189ec3 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -65,10 +65,10 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupAllBlocks ) ) { - ItemStack Enabled = createButton(Material.EMERALD_BLOCK, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); + ItemStack Enabled = createButton(Material.RECORD_4, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.REDSTONE_BLOCK, 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); + ItemStack Disabled = createButton(Material.RECORD_3, 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 9518d7b02..27237b530 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -65,10 +65,10 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltAllBlocks ) ) { - ItemStack Enabled = createButton(Material.EMERALD_BLOCK, 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); + ItemStack Enabled = createButton(Material.RECORD_4, 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.REDSTONE_BLOCK, 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); + ItemStack Disabled = createButton(Material.RECORD_3, 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); inv.addItem(Disabled); } From d75453d333881fac672c948be42d52a42945ef84 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 23 Oct 2020 18:24:30 -0400 Subject: [PATCH 120/243] More work on the mine liner. Got it to auto place ladders on north, south, east, and west walls. Have to use different code for different versions of minecraft to get this to work correctly. Planning on adding more features, such as "repair" when shrinking a mine. --- .../mcprison/prison/internal/block/Block.java | 8 + .../prison/mines/data/MineLinerBuilder.java | 137 +++++++++++++++--- .../mcprison/prison/mines/data/MineReset.java | 72 +-------- .../prison/mines/data/MineTracerBuilder.java | 96 ++++++++++++ .../prison/spigot/SpigotPlatform.java | 36 ++--- .../prison/spigot/block/SpigotBlock.java | 5 + .../spigot/compat/CompatibilityBlocks.java | 2 + .../prison/spigot/compat/Spigot113Blocks.java | 49 +++++++ .../prison/spigot/compat/Spigot18Blocks.java | 50 +++++++ 9 files changed, 350 insertions(+), 105 deletions(-) create mode 100644 prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/Block.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/Block.java index 92c3793a4..04c40649d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/Block.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/Block.java @@ -67,6 +67,14 @@ public interface Block { public void setPrisonBlock( PrisonBlock prisonBlock ); + + /** + * This function will set the current BlockFace for the block. + * This is needed to properly set blocks such as ladders. + * + * @param blockFace + */ + public void setBlockFace( BlockFace blockFace ); /** diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index 1c3f365eb..cd10b5190 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -6,6 +6,7 @@ import tech.mcprison.prison.Prison; import tech.mcprison.prison.internal.World; import tech.mcprison.prison.internal.block.Block; +import tech.mcprison.prison.internal.block.BlockFace; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.util.BlockType; @@ -30,7 +31,8 @@ public enum LinerPatterns { blackAndWhite, seaEchos, - obby + obby, + beacon ; public static LinerPatterns fromString( String pattern ) { @@ -122,14 +124,14 @@ private void generatePattern( Edges edge ) { select2DPattern( edge ); // Top is where yMax is constant (yMin = yMax): - generatePattern( world, xMin, xMax, yMax, yMax, zMin, zMax ); + generatePattern( edge, world, xMin, xMax, yMax, yMax, zMin, zMax ); break; case bottom: select2DPattern( edge ); // Bottom is where yMin is constant (yMax = yMin): - generatePattern( world, xMin, xMax, yMin, yMin, zMin, zMax ); + generatePattern( edge, world, xMin, xMax, yMin, yMin, zMin, zMax ); break; @@ -137,7 +139,7 @@ private void generatePattern( Edges edge ) { select2DPattern( edge ); // North is where zMax is constant (zMin = zMax): - generatePattern( world, xMin, xMax, yMin, yMax, zMax, zMax ); + generatePattern( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); @@ -147,7 +149,7 @@ private void generatePattern( Edges edge ) { select2DPattern( edge ); // South is where zMin is constant (zMax = zMin): - generatePattern( world, xMin, xMax, yMin, yMax, zMin, zMin ); + generatePattern( edge, world, xMin, xMax, yMin, yMax, zMin, zMin ); insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); @@ -157,7 +159,7 @@ private void generatePattern( Edges edge ) { select2DPattern( edge ); // East is where xMin is constant (xMax = xMin): - generatePattern( world, xMin, xMin, yMin, yMax, zMin, zMax ); + generatePattern( edge, world, xMin, xMin, yMin, yMax, zMin, zMax ); insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); @@ -167,7 +169,7 @@ private void generatePattern( Edges edge ) { select2DPattern( edge ); // West is where xMax is constant (xMin = xMax): - generatePattern( world, xMax, xMax, yMin, yMax, zMin, zMax ); + generatePattern( edge, world, xMax, xMax, yMin, yMax, zMin, zMax ); insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); @@ -196,7 +198,7 @@ private void insertLadders( Edges edge, World world, int xMin, int xMax, int yMi } - private void generatePattern( World world, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax) { + private void generatePattern( Edges edge, World world, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax) { try { boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); @@ -206,6 +208,40 @@ private void generatePattern( World world, int xMin, int xMax, int yMin, int yMa // Output.get().logInfo( "### MineLinerBuilder - xMin=%d, xMax=%d, yMin=%d, yMax=%d, zMin=%d, zMax=%d ", // xMin, xMax, yMin, yMax, zMin, zMax); + boolean isLadderBlock = false; + boolean isLadderPossible = false; + + + BlockFace ladderFace = null; + switch ( edge ) + { + case north: + ladderFace = BlockFace.SOUTH; + isLadderPossible = true; + break; + case south: + ladderFace = BlockFace.NORTH; + isLadderPossible = true; + break; + case east: + ladderFace = BlockFace.WEST; + isLadderPossible = true; + break; + case west: + ladderFace = BlockFace.EAST; + isLadderPossible = true; + break; + case top: + ladderFace = BlockFace.BOTTOM; + break; + case bottom: + ladderFace = BlockFace.TOP; + break; + + default: + break; + } + for (int x = xMin; x <= xMax; x++) { @@ -229,25 +265,80 @@ private void generatePattern( World world, int xMin, int xMax, int yMin, int yMa // "x3d=%d, y3d=%d, z3d=%d ", // nextBlockName, x, y, z, x3d, y3d, z3d); + Location targetLocation = new Location(world, x, y, z); Block targetBlock = targetLocation.getBlockAt(); // Do not replace any air blocks: This allows us to follow the contour of // the terrain. +// boolean isXPos = isLadderPossible && y > yMin && (xMin != xMax ); +// boolean isZPos = isLadderPossible && y > yMin && (zMin != zMax ); +// +// boolean isX1 = isXPos && (xMax + xMin) / 2 == x; +// boolean isX2 = isXPos && (xMax + xMin) / 2 == x+1; +// +// boolean isZ1 = isZPos && (zMax + zMin) / 2 == z; +// boolean isZ2 = isZPos && (zMax + zMin) / 2 == z+1; + + isLadderBlock = + isLadderPossible && y > yMin && + (xMin != xMax ) && + ((xMax + xMin) / 2 == x || (xMax + xMin) / 2 == x + 1) || + isLadderPossible && y > yMin && + (zMin != zMax ) && + ((zMax + zMin) / 2 == z || (zMax + zMin) / 2 == z + 1); + +// Output.get().logInfo( "### MineLinerBuilder - %s %s %s isLadder=%s x=%d, y=%d, z=%d " + +// " block: %s ", +// (isXPos || isZPos) ? "Y" : "N", (isX1 || isZ1) ? "Y" : "N", (isX2 || isZ2) ? "Y" : "N", +// (isLadderBlock ? "Y" : "N"), x, y, z, nextBlockName); + + if ( useNewBlockModel ) { if ( !targetBlock.isEmpty() ) { - PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); - targetBlock.setPrisonBlock( nextBlockType ); + + + if ( isLadderBlock ) { + Block faceBlock = targetBlock.getRelative( ladderFace ); + + PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); + faceBlock.setPrisonBlock( nextBlockType ); + + PrisonBlock ladderBlockType = new PrisonBlock("ladder"); + targetBlock.setPrisonBlock( ladderBlockType ); + targetBlock.setBlockFace( ladderFace ); + } + else { + + PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); + targetBlock.setPrisonBlock( nextBlockType ); + } } } else { if ( !targetBlock.isEmpty() ) { - BlockType nextBlockType = BlockType.fromString( nextBlockName ); - targetBlock.setType( nextBlockType ); + + if ( isLadderBlock ) { + Block faceBlock = targetBlock.getRelative( ladderFace ); + + BlockType nextBlockType = BlockType.fromString( nextBlockName ); + faceBlock.setType( nextBlockType ); + + BlockType ladderBlockType = BlockType.LADDER; + targetBlock.setType( ladderBlockType ); + targetBlock.setBlockFace( ladderFace ); + } + else { + + BlockType nextBlockType = BlockType.fromString( nextBlockName ); + targetBlock.setType( nextBlockType ); + } + + } } } @@ -277,8 +368,8 @@ private void select2DPattern( Edges edge ) { { "pillar_quartz_block", "coal_block" } }; pattern2d = baw; - break; + case seaEchos: String[][] seaEchos = @@ -288,27 +379,39 @@ private void select2DPattern( Edges edge ) { { "pillar_quartz_block", "obsidian", "sea_lantern" }, }; pattern2d = seaEchos; + break; + + case beacon: + String[][] beacon = + { + { "beacon", "diamond_block", "diamond_block", "diamond_block" }, + { "diamond_block", "diamond_block", "diamond_block", "diamond_block" }, + { "diamond_block", "diamond_block", "diamond_block", "diamond_block" } + }; + pattern2d = beacon; break; + case obby: String[][] obby = { { "obsidian" } }; pattern2d = obby; - break; + case white: String[][] white = { - { "iron_block", "end_stone" }, - { "end_stone", "iron_block" } + { "iron_block", "chiseled_quartz_block" }, + { "chiseled_quartz_block", "iron_block" } }; pattern2d = white; break; - + + case bright: default: diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index 5047e8f49..9b0ab3d80 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -1341,76 +1341,8 @@ public void adjustSize( Edges edge, int amount ) { private void clearMine( boolean tracer ) { - try { - - if ( isVirtual() ) { - // Mine is virtual and cannot be reset. Just skip this with no error messages. - return; - } - - - boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); - - // Output.get().logInfo( "MineRest.resetSynchonouslyInternal() " + getName() ); - - Optional worldOptional = getWorld(); - World world = worldOptional.get(); - - - PrisonBlock blockAirPB = new PrisonBlock( "AIR" ); - BlockType blockAirBT = BlockType.AIR; - - PrisonBlock blockRedPB = new PrisonBlock( "RED_STAINED_GLASS" ); - BlockType blockRedBT = BlockType.RED_STAINED_GLASS; - -// PrisonBlock blockRedstonePB = new PrisonBlock( "REDSTONE_BLOCK" ); -// BlockType blockRedstoneBT = BlockType.REDSTONE_BLOCK; - - - - // Reset the block break count before resetting the blocks: -// setBlockBreakCount( 0 ); -// Random random = new Random(); - - int yMin = getBounds().getyBlockMin(); - int yMax = getBounds().getyBlockMax(); - - int xMin = getBounds().getxBlockMin(); - int xMax = getBounds().getxBlockMax(); - - int zMin = getBounds().getzBlockMin(); - int zMax = getBounds().getzBlockMax(); - - for (int y = yMax; y >= yMin; y--) { -// for (int y = getBounds().getyBlockMin(); y <= getBounds().getyBlockMax(); y++) { - for (int x = xMin; x <= xMax; x++) { - for (int z = zMin; z <= zMax; z++) { - Location targetBlock = new Location(world, x, y, z); - - boolean xEdge = x == xMin || x == xMax; - boolean yEdge = y == yMin || y == yMax; - boolean zEdge = z == zMin || z == zMax; - - boolean isEdge = tracer && - (xEdge && yEdge || xEdge && zEdge || - yEdge && zEdge); - - if ( useNewBlockModel ) { - - targetBlock.getBlockAt().setPrisonBlock( isEdge ? blockRedPB : blockAirPB ); - } - else { - - targetBlock.getBlockAt().setType( isEdge ? blockRedBT : blockAirBT ); - } - } - } - } - - - } catch (Exception e) { - Output.get().logError("&cFailed to reset mine " + getName(), e); - } + MineTracerBuilder tracerBuilder = new MineTracerBuilder(); + tracerBuilder.clearMine( (Mine) this, tracer ); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java new file mode 100644 index 000000000..bad4cf0b4 --- /dev/null +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java @@ -0,0 +1,96 @@ +package tech.mcprison.prison.mines.data; + +import java.util.Optional; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.internal.World; +import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.output.Output; +import tech.mcprison.prison.util.BlockType; +import tech.mcprison.prison.util.Location; + +public class MineTracerBuilder +{ + + + public void clearMine( Mine mine, boolean tracer ) { + + if ( mine == null ) { + Output.get().logError(" #### NPE ###"); + } + try { + + if ( mine.isVirtual() ) { + // Mine is virtual and cannot be reset. Just skip this with no error messages. + return; + } + + + boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); + + // Output.get().logInfo( "MineRest.resetSynchonouslyInternal() " + getName() ); + + Optional worldOptional = mine.getWorld(); + World world = worldOptional.get(); + + + PrisonBlock blockAirPB = new PrisonBlock( "AIR" ); + BlockType blockAirBT = BlockType.AIR; + + PrisonBlock blockRedPB = new PrisonBlock( "PINK_STAINED_GLASS" ); + BlockType blockRedBT = BlockType.PINK_STAINED_GLASS; + +// PrisonBlock blockRedstonePB = new PrisonBlock( "REDSTONE_BLOCK" ); +// BlockType blockRedstoneBT = BlockType.REDSTONE_BLOCK; + + + + // Reset the block break count before resetting the blocks: +// setBlockBreakCount( 0 ); +// Random random = new Random(); + + int yMin = mine.getBounds().getyBlockMin(); + int yMax = mine.getBounds().getyBlockMax(); + + int xMin = mine.getBounds().getxBlockMin(); + int xMax = mine.getBounds().getxBlockMax(); + + int zMin = mine.getBounds().getzBlockMin(); + int zMax = mine.getBounds().getzBlockMax(); + + for (int y = yMax; y >= yMin; y--) { +// for (int y = getBounds().getyBlockMin(); y <= getBounds().getyBlockMax(); y++) { + for (int x = xMin; x <= xMax; x++) { + for (int z = zMin; z <= zMax; z++) { + Location targetBlock = new Location(world, x, y, z); + + boolean xEdge = x == xMin || x == xMax; + boolean yEdge = y == yMin || y == yMax; + boolean zEdge = z == zMin || z == zMax; + + boolean isEdge = tracer && + (xEdge && yEdge || xEdge && zEdge || + yEdge && zEdge); + + if ( useNewBlockModel ) { + + targetBlock.getBlockAt().setPrisonBlock( isEdge ? blockRedPB : blockAirPB ); + } + else { + + targetBlock.getBlockAt().setType( isEdge ? blockRedBT : blockAirBT ); + } + } + } + } + + + } + catch (Exception e) { + Output.get().logError("&cFailed to clear mine " + mine.getName() + + " Error: [" + e.getMessage() + "]", e); + } + } + + +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 1ec22b9e2..d9cb62edb 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -1114,24 +1114,24 @@ protected List buildBlockListBlockType() { public void enableMineTracer( String worldName, Location min, Location max ) { - org.bukkit.World world = getBukkitWorld( worldName ); - - org.bukkit.Location loc1 = new org.bukkit.Location( - world, min.getBlockX(), min.getBlockY(), min.getBlockZ() ); - - org.bukkit.Location loc2 = new org.bukkit.Location( - world, max.getBlockX(), max.getBlockY(), max.getBlockZ() ); - - - // https://www.spigotmc.org/wiki/particle-list-1-8-8/ - -// Particle redStone = ParticleDisplay.colored( loc1, Color.RED, 0.5f ); - -// Particle.DustOptions dust = new Particle.DustOptions(org.bukkit.Color.RED, 0.5f); - - ParticleDisplay display = ParticleDisplay.simple( loc1, Particle.REDSTONE ); - - XParticle.structuredCube( loc1, loc2, 0.10d, display ); +// org.bukkit.World world = getBukkitWorld( worldName ); +// +// org.bukkit.Location loc1 = new org.bukkit.Location( +// world, min.getBlockX(), min.getBlockY(), min.getBlockZ() ); +// +// org.bukkit.Location loc2 = new org.bukkit.Location( +// world, max.getBlockX(), max.getBlockY(), max.getBlockZ() ); +// +// +// // https://www.spigotmc.org/wiki/particle-list-1-8-8/ +// +//// Particle redStone = ParticleDisplay.colored( loc1, Color.RED, 0.5f ); +// +//// Particle.DustOptions dust = new Particle.DustOptions(org.bukkit.Color.RED, 0.5f); +// +// ParticleDisplay display = ParticleDisplay.simple( loc1, Particle.REDSTONE ); +// +// XParticle.structuredCube( loc1, loc2, 0.10d, display ); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java index 58b5895dc..fcb42ad5b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java @@ -66,6 +66,11 @@ public void setPrisonBlock( PrisonBlock prisonBlock ) { updateSpigotBlock( prisonBlock, bBlock ); } + public void setBlockFace( BlockFace blockFace ) { + + SpigotPrison.getInstance().getCompatibility() + .setBlockFace( bBlock, blockFace ); + } /** *

When setting the Data and Type, turn off apply physics which will reduce the over head on block updates * by about 1/3. Really do not need to apply physics in the mines especially if no air blocks and nothing diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java index 6eead633d..65a3150ed 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java @@ -5,6 +5,7 @@ import com.cryptomorin.xseries.XMaterial; +import tech.mcprison.prison.internal.block.BlockFace; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.util.BlockType; @@ -36,4 +37,5 @@ public interface CompatibilityBlocks { public void setDurability( ItemStack itemInHand, int newDurability ); + public void setBlockFace( Block bBlock, BlockFace blockFace ); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java index 973b80a06..a63a6b955 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java @@ -2,11 +2,14 @@ import org.bukkit.Material; import org.bukkit.block.Block; +import org.bukkit.block.BlockState; +import org.bukkit.block.data.Directional; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable; import com.cryptomorin.xseries.XMaterial; +import tech.mcprison.prison.internal.block.BlockFace; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.internal.block.PrisonBlockTypes.InternalBlockTypes; import tech.mcprison.prison.util.BlockType; @@ -230,4 +233,50 @@ public void setDurability( ItemStack itemInHand, int newDamage ) { Damageable damage = (Damageable) itemInHand.getItemMeta(); damage.setDamage( newDamage ); } + + + public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { + + + org.bukkit.block.BlockFace spigotBlockFace = null; + + switch ( blockFace ) + { +// case TOP: +// spigotBlockFace = org.bukkit.block.BlockFace.UP; +// break; +// case BOTTOM: +// spigotBlockFace = org.bukkit.block.BlockFace.DOWN; +// break; + case NORTH: + spigotBlockFace = org.bukkit.block.BlockFace.NORTH; + break; + case EAST: + spigotBlockFace = org.bukkit.block.BlockFace.EAST; + break; + case SOUTH: + spigotBlockFace = org.bukkit.block.BlockFace.SOUTH; + break; + case WEST: + spigotBlockFace = org.bukkit.block.BlockFace.WEST; + break; + + default: + break; + } + + if ( spigotBlockFace != null ) { + + BlockState state = spigotBlock.getState(); + + if ( state.getBlockData() instanceof Directional ) { + + Directional bukkitDirectional = (Directional) state.getBlockData(); + bukkitDirectional.setFacing( spigotBlockFace ); + state.setBlockData(bukkitDirectional); + state.update(); + } + + } + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index b4f48703d..165af85e6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -7,6 +7,7 @@ import com.cryptomorin.xseries.XMaterial; +import tech.mcprison.prison.internal.block.BlockFace; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.internal.block.PrisonBlockTypes.InternalBlockTypes; import tech.mcprison.prison.output.Output; @@ -360,4 +361,53 @@ public void setDurability( ItemStack itemInHand, int newDurability ) { } + + public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { + + + if ( spigotBlock.getType() == Material.LADDER ) { + + + org.bukkit.block.BlockFace spigotBlockFace = null; + + switch ( blockFace ) + { +// case TOP: +// spigotBlockFace = org.bukkit.block.BlockFace.UP; +// break; +// case BOTTOM: +// spigotBlockFace = org.bukkit.block.BlockFace.DOWN; +// break; + case NORTH: + spigotBlockFace = org.bukkit.block.BlockFace.NORTH; + break; + case EAST: + spigotBlockFace = org.bukkit.block.BlockFace.EAST; + break; + case SOUTH: + spigotBlockFace = org.bukkit.block.BlockFace.SOUTH; + break; + case WEST: + spigotBlockFace = org.bukkit.block.BlockFace.WEST; + break; + + default: + break; + } + + if ( spigotBlockFace != null ) { + + BlockState state = spigotBlock.getState(); + + org.bukkit.material.Ladder ladder = (org.bukkit.material.Ladder) state.getData(); + + ladder.setFacingDirection( spigotBlockFace ); + + state.setData( ladder ); + state.update(); + + } + } + + } } From 21c88d65e118698e1a77451ba5959ad48b714014 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 24 Oct 2020 00:40:23 +0200 Subject: [PATCH 121/243] Small design changes Changelogs: - Small design changes like in the original plan --- .../autofeatures/SpigotAutoFeaturesGUI.java | 24 +++++++++---------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 4 ++-- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index e9acf219b..af282a1c2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -70,14 +70,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - playSound = createButton(Material.RECORD_4, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); + playSound = createButton(Material.LIME_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - playSound = createButton(Material.RECORD_3, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); + playSound = createButton(Material.RED_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); } @@ -86,14 +86,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - hologram = createButton(Material.RECORD_4, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); + hologram = createButton(Material.LIME_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - hologram = createButton(Material.RECORD_3, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); + hologram = createButton(Material.RED_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); } @@ -102,14 +102,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.EnabledAll"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - enabledOrDisabled = createButton(Material.RECORD_4, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); + enabledOrDisabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.DisabledAll"), messages.getString("Gui.Lore.RightClickToEnable")); - enabledOrDisabled = createButton(Material.RECORD_3, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); + enabledOrDisabled = createButton(Material.RED_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); } @@ -119,14 +119,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(Material.RECORD_4, 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); + autoPickup = createButton(Material.LIME_STAINED_GLASS_PANE, 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); } else { // Lore of the button List autoPickupLore = createLore( messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(Material.RECORD_3, 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); + autoPickup = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); } @@ -136,14 +136,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(Material.RECORD_4, 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); + autoSmelt = createButton(Material.LIME_STAINED_GLASS_PANE, 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); } else { // Lore of the button List autoSmeltLore = createLore( messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(Material.RECORD_3, 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); + autoSmelt = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); } @@ -153,7 +153,7 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(Material.RECORD_4, 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); + autoBlock = createButton(Material.LIME_STAINED_GLASS_PANE, 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); } else { // Lore of the button @@ -161,7 +161,7 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(Material.RECORD_3, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); + autoBlock = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } //Position of the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index bda189ec3..541ad00f7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -65,10 +65,10 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupAllBlocks ) ) { - ItemStack Enabled = createButton(Material.RECORD_4, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); + ItemStack Enabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.RECORD_3, 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); + ItemStack Disabled = createButton(Material.RED_STAINED_GLASS_PANE, 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 27237b530..c6aa1072e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -65,10 +65,10 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { ); if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltAllBlocks ) ) { - ItemStack Enabled = createButton(Material.RECORD_4, 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); + ItemStack Enabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.RECORD_3, 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); + ItemStack Disabled = createButton(Material.RED_STAINED_GLASS_PANE, 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); inv.addItem(Disabled); } From 18c05aed522be444c7fd01900c395e106b6c1aba Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 23 Oct 2020 19:14:42 -0400 Subject: [PATCH 122/243] Turned off the apply physics when applying the faceing for the ladders. This allows ladders to "stick" to glowstone so there will be more flexibility with the type of blocks you can use as the mine's liner. --- .../tech/mcprison/prison/spigot/compat/Spigot113Blocks.java | 2 +- .../tech/mcprison/prison/spigot/compat/Spigot18Blocks.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java index a63a6b955..bc56a3fcf 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java @@ -274,7 +274,7 @@ public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { Directional bukkitDirectional = (Directional) state.getBlockData(); bukkitDirectional.setFacing( spigotBlockFace ); state.setBlockData(bukkitDirectional); - state.update(); + state.update( true, false ); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index 165af85e6..9ceba9018 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -404,7 +404,9 @@ public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { ladder.setFacingDirection( spigotBlockFace ); state.setData( ladder ); - state.update(); + + // turn off physics so the ladders will "stick" to glowstone and other blocks. + state.update( true, false ); } } From 3101c7c02d7dbb34a2136756fd58bfe82ba49950 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 24 Oct 2020 12:30:45 +0200 Subject: [PATCH 123/243] Close GUI Buttons got added where possible Changelogs: - Added Close GUI buttons where possible and a new lore message to the messages config. --- .../spigot/gui/ListenersPrisonManager.java | 5 +++ .../prison/spigot/gui/PrisonSetupGUI.java | 2 +- .../prison/spigot/gui/SpigotPrisonGUI.java | 18 ++++++-- .../gui/autofeatures/SpigotAutoBlockGUI.java | 9 +++- .../autofeatures/SpigotAutoFeaturesGUI.java | 43 +++++++++++-------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 9 +++- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 9 +++- .../spigot/gui/mine/SpigotMineInfoGUI.java | 10 +++++ .../gui/mine/SpigotMineNotificationsGUI.java | 7 +++ .../spigot/gui/rank/SpigotRankManagerGUI.java | 7 +++ .../spigot/gui/rank/SpigotRankPriceGUI.java | 2 - .../spigot/languages/MessagesConfig.java | 1 + 12 files changed, 95 insertions(+), 27 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 9f4baa88c..171f84eeb 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -204,6 +204,11 @@ public void onClick(InventoryClickEvent e){ // Get title String title = compat.getGUITitle(e).substring(2); + if (buttonNameMain.equalsIgnoreCase("Close")){ + p.closeInventory(); + e.setCancelled(true); + } + // Check if the GUI have the right title and do the actions switch (title) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java index b22c29240..555445007 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -58,7 +58,7 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.noRanksFoundSetup6"), messages.getString("Gui.Lore.noRanksFoundSetup7"), messages.getString("Gui.Lore.noRanksFoundSetup8") - ); + ); // Blocks of the mine List cancelLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index 3625137dc..38bd32bd1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -68,6 +68,13 @@ private void buttonsSetup(Inventory inv) { List sellallLore = createLore( messages.getString("Gui.Lore.ClickToOpen")); + // Lore of the button + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + // Create the button, set up the material, amount, lore and name ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, rankslore, SpigotPrison.format("&3" + "Ranks")); @@ -80,17 +87,20 @@ private void buttonsSetup(Inventory inv) { // Create the button, set up the material, amount, lore and name ItemStack sellall = createButton(Material.CHEST, 1 , sellallLore, SpigotPrison.format("&3" + "SellAll")); - //Position of the button + // Position of the button inv.setItem(10, ranks); - //Position of the button + // Position of the button inv.setItem(12, prisontasks); - //Position of the button + // Position of the button inv.setItem(14, mines); - //Position of the button + // Position of the button inv.setItem(16, sellall); + + // Position of the button + inv.setItem(26, closeGUI); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 2c38b1569..589e9381a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -29,7 +29,7 @@ public SpigotAutoBlockGUI(Player p){ public void open() { // Create the inventory and set up the owner, dimensions or number of slots, and title - int dimension = 27; + int dimension = 36; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoBlock")); // Config @@ -64,6 +64,13 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.RightClickToEnable") ); + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + inv.setItem(35, closeGUI); + if ( afConfig.isFeatureBoolean( AutoFeatures.autoBlockAllBlocks ) ) { ItemStack Enabled = createButton(Material.EMERALD_BLOCK, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index af282a1c2..44163e13b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -29,7 +29,7 @@ public SpigotAutoFeaturesGUI(Player p){ public void open() { // Create the inventory and set up the owner, dimensions or number of slots, and title - int dimension = 27; + int dimension = 54; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3PrisonManager -> AutoFeatures")); // Config @@ -65,6 +65,12 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { ItemStack playSound; ItemStack hologram; + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + if ( afConfig.isFeatureBoolean( AutoFeatures.playSoundIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( @@ -164,29 +170,32 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { autoBlock = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } - //Position of the button - inv.setItem(2, playSound); + // Position of the button + inv.setItem(11, playSound); + + // Position of the button + inv.setItem(15, hologram); - //Position of the button - inv.setItem(6, hologram); + // Position of the button + inv.setItem(28, autoPickup); - //Position of the button - inv.setItem(10, autoPickup); + // Position of the button + inv.setItem(31, autoSmelt); - //Position of the button - inv.setItem(13, autoSmelt); + // Position of the button + inv.setItem(34, autoBlock); - //Position of the button - inv.setItem(16, autoBlock); + // Position of the button + inv.setItem(37, enabledOrDisabled); - //Position of the button - inv.setItem(19, enabledOrDisabled); + // Position of the button + inv.setItem(40, enabledOrDisabled); - //Position of the button - inv.setItem(22, enabledOrDisabled); + // Position of the button + inv.setItem(43, enabledOrDisabled); - //Position of the button - inv.setItem(25, enabledOrDisabled); + // Position of the button + inv.setItem(53, closeGUI); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 541ad00f7..3cc9f607f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -29,7 +29,7 @@ public SpigotAutoPickupGUI(Player p){ public void open() { // Create the inventory and set up the owner, dimensions or number of slots, and title - int dimension = 27; + int dimension = 36; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoPickup")); // Config @@ -64,6 +64,13 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.RightClickToEnable") ); + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + inv.setItem(35, closeGUI); + if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupAllBlocks ) ) { ItemStack Enabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index c6aa1072e..e238fd89f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -29,7 +29,7 @@ public SpigotAutoSmeltGUI(Player p){ public void open() { // Create the inventory and set up the owner, dimensions or number of slots, and title - int dimension = 27; + int dimension = 36; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoSmelt")); // Config @@ -64,6 +64,13 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.RightClickToEnable") ); + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + inv.setItem(35, closeGUI); + if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltAllBlocks ) ) { ItemStack Enabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); inv.addItem(Enabled); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index fc2657916..8c142d990 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -105,6 +105,13 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.MineName") + mineName ); + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + // Create the button, set the material, amount, lore and name + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + // Create the button, set up the material, amount, lore and name ItemStack resetMine = createButton(Material.EMERALD_BLOCK, 1, resetminelore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); @@ -155,6 +162,9 @@ private void buttonsSetup(Inventory inv) { // Position of the button inv.setItem(33, mineRename); + + // Position of the button + inv.setItem(45, closeGUI); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index a936f5bbc..91ede2363 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -76,6 +76,13 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { messages.getString("Gui.Lore.ClickToChoose"), messages.getString("Gui.Lore.DisableNotifications")); + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + inv.setItem(26, closeGUI); + // Add the selected lore to the mode used if (enabledOrDisabled.equalsIgnoreCase("disabled")){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 829417f20..6bda896ed 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -90,6 +90,13 @@ private void buttonsSetup(Inventory inv) { commandMinecart = Material.matchMaterial( "command_block_minecart" ); } + List closeGUILore = createLore( + messages.getString("Gui.Lore.ClickToClose") + ); + + ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + inv.setItem(26, closeGUI); + ItemStack rankupCommands = createButton(commandMinecart, 1, rankupCommandsLore, SpigotPrison.format("&3" + "RankupCommands" + " " + rank.name)); // Create the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 35bd1cb48..5269ffe65 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -27,8 +27,6 @@ public SpigotRankPriceGUI(Player p, Integer val, String rankname){ this.rankName = rankname; } - - public void open() { // Check if Ranks are enabled diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index 583734811..fd92d6260 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -98,6 +98,7 @@ private void values(){ dataConfig("Gui.Lore.ClickToUse","&8Click to use."); dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); dataConfig("Gui.Lore.ClickToEditBlock", "&8Click to edit percentage."); + dataConfig("Gui.Lore.ClickToClose", "&cClick to close the GUI."); dataConfig("Gui.Lore.Chance","&3Chance: "); dataConfig("Gui.Lore.Command","&3Command: &7"); dataConfig("Gui.Lore.ContainsTheRank","&3The Rank "); From 8945eca55697dba12c8ecd3b13cdfced7da3fb97 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sat, 24 Oct 2020 13:37:27 +0200 Subject: [PATCH 124/243] NEW FEATURE! Still work-in-progress and totally not tested. Now you can add blocks to a mine from the GUI, /prison gui -> Mines -> Click on a mine -> Blocks or similar -> Click on the "add" button. Changelogs: - Added BlocksListGUI and ability to add blocks to a Mine from a GUI --- .../spigot/gui/ListenersPrisonManager.java | 40 ++++++++-- .../spigot/gui/SpigotGUIComponents.java | 2 +- .../spigot/gui/mine/SpigotBlocksListGUI.java | 80 +++++++++++++++++++ .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 31 ++----- .../spigot/languages/MessagesConfig.java | 3 + 5 files changed, 124 insertions(+), 32 deletions(-) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 171f84eeb..0eebed06e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -30,19 +30,13 @@ import tech.mcprison.prison.ranks.data.Rank; import tech.mcprison.prison.ranks.data.RankLadder; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.block.SpigotBlock; import tech.mcprison.prison.spigot.compat.Compatibility; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoBlockGUI; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoFeaturesGUI; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoPickupGUI; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoSmeltGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMineBlockPercentageGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMineInfoGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMineNotificationRadiusGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMineNotificationsGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMineResetTimeGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMinesBlocksGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMinesConfirmGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotMinesGUI; +import tech.mcprison.prison.spigot.gui.mine.*; import tech.mcprison.prison.spigot.gui.rank.SpigotLaddersGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotRankManagerGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotRankPriceGUI; @@ -327,6 +321,27 @@ public void onClick(InventoryClickEvent e){ break; } + // Check the inventory name and do the actions + case "Mines -> BlocksList":{ + + if (parts[0].equalsIgnoreCase("Next")){ + SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, parts[1], Integer.parseInt(parts[2])); + + p.closeInventory(); + + gui.open(); + } else { + SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, 0.00, parts[1], parts[0]); + + p.closeInventory(); + + gui.open(); + } + + e.setCancelled(true); + break; + } + // Check the inventory name and do the actions case "MineInfo -> ResetTime": { @@ -1201,6 +1216,15 @@ private void BlocksGUI(InventoryClickEvent e, Player p, String[] parts) { String mineName = parts[1]; double percentage = Double.parseDouble(parts[2]); + if (buttonname.equalsIgnoreCase("Add")){ + SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, mineName, 0); + + p.closeInventory(); + + gui.open(); + return; + } + // Check the click Type and do the actions if (e.isShiftClick() && e.isRightClick()) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index 08725924a..45f70bb88 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -24,7 +24,7 @@ protected ItemStack createButton(Material id, int amount, List lore, Str ItemStack item = new ItemStack(id, amount); ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(display); + meta.setDisplayName(SpigotPrison.format(display)); try { meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); } catch (NoClassDefFoundError ignored){} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java new file mode 100644 index 000000000..72cc8610f --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -0,0 +1,80 @@ +package tech.mcprison.prison.spigot.gui.mine; + +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.mines.data.Block; +import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; +import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; +import tech.mcprison.prison.util.BlockType; + +import java.util.List; + +public class SpigotBlocksListGUI extends SpigotGUIComponents { + + private final Player p; + private final String mineName; + private int counter; + + private Configuration messages = null; + + public SpigotBlocksListGUI(Player p, String mineName, int counter){ + this.p = p; + this.mineName = mineName; + this.counter = counter; + } + + public void open(){ + + // Get the dimensions and if needed increases them + int dimension = 54, inventorySlot = 0, secondCounter = 0; + + // Create the inventory + Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Mines -> BlocksList")); + + messages = SpigotPrison.getInstance().getMessagesConfig(); + + // Lore of block setup + List blockLoreSetup = createLore( + messages.getString("Gui.Lore.ClickToStartBlockSetup") + ); + + for (BlockType block : BlockType.values()){ + + if (secondCounter >= counter) { + ItemStack button = createButton(Material.valueOf(block.getXMaterialName().toUpperCase()), 1, blockLoreSetup, SpigotPrison.format("&a" + block.getXMaterialName().toUpperCase())); + inv.setItem(inventorySlot, button); + } + + secondCounter++; + counter++; + inventorySlot++; + + if (counter >= counter + 44){ + + List nextPageLore = createLore( + messages.getString("Gui.Lore.ClickToNextPage") + ); + + ItemStack nextPageButton = createButton(Material.BOOK, 1, nextPageLore, "Next " + mineName + " " + counter); + inv.setItem(53, nextPageButton); + + } + + } + + // Load config + this.messages = SpigotPrison.getInstance().getMessagesConfig(); + + // Open the inventory + this.p.openInventory(inv); + ListenersPrisonManager.get().addToGUIBlocker(p); + } +} + diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 003031841..069c3b9de 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -40,40 +40,25 @@ public void open(){ Mine m = pMines.getMine(mineName); // Get the dimensions and if needed increases them - int dimension; + int dimension = 54; boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); - if ( useNewBlockModel ) { - dimension = (int) Math.ceil(m.getPrisonBlocks().size() / 9D) * 9; - } - else { - dimension = (int) Math.ceil(m.getBlocks().size() / 9D) * 9; - } - // Load config this.messages = SpigotPrison.getInstance().getMessagesConfig(); - // If the inventory is empty - if (dimension == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoBlocksMine"))); - p.closeInventory(); - return; - } - - // If the dimension's too big, don't open the GUI - if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyBlocks"))); - p.closeInventory(); - return; - } - // Create the inventory Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineInfo -> Blocks")); + List addBlockLore = createLore( + messages.getString("Gui.Lore.ClickToAddBlock") + ); + + ItemStack addBlockButton = createButton(Material.LIME_STAINED_GLASS, 1, addBlockLore, SpigotPrison.format("&a" + "Add")); + inv.setItem(56, addBlockButton); + if ( useNewBlockModel ) { - // For every block makes a button for (PrisonBlock block : m.getPrisonBlocks()) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index fd92d6260..356c92a68 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -99,6 +99,9 @@ private void values(){ dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); dataConfig("Gui.Lore.ClickToEditBlock", "&8Click to edit percentage."); dataConfig("Gui.Lore.ClickToClose", "&cClick to close the GUI."); + dataConfig("Gui.Lore.ClickToNextPage", "&aClick to see the next page."); + dataConfig("Gui.Lore.ClickToStartBlockSetup", "&aClick to setup block."); + dataConfig("Gui.Lore.ClickToAddBlock", "&aClick to add a block."); dataConfig("Gui.Lore.Chance","&3Chance: "); dataConfig("Gui.Lore.Command","&3Command: &7"); dataConfig("Gui.Lore.ContainsTheRank","&3The Rank "); From f1398d8ea896ae717ab6e626c80f73be734ee1c9 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 01:11:25 -0400 Subject: [PATCH 125/243] More improvements to the /mines set size and the /mines set liner commands. Added ladders to the liner, and also added repair to undo the liner based upon the surounding blocks. Appears to be working well for spigot 1.8.8. --- .../prison/internal/block/BlockFace.java | 28 +- .../prison/mines/data/MineLinerBuilder.java | 310 ++++++++++++++---- .../mcprison/prison/mines/data/MineReset.java | 19 +- .../prison/spigot/block/SpigotBlock.java | 5 +- .../spigot/compat/CompatibilityBlocks.java | 1 + .../prison/spigot/compat/Spigot113Blocks.java | 20 +- .../prison/spigot/compat/Spigot18Blocks.java | 14 +- 7 files changed, 304 insertions(+), 93 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/BlockFace.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/BlockFace.java index d3d38f4a6..cd71f48fe 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/BlockFace.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/BlockFace.java @@ -26,6 +26,32 @@ */ public enum BlockFace { - NORTH, SOUTH, EAST, WEST, TOP, BOTTOM + NORTH, SOUTH, EAST, WEST, TOP, BOTTOM, UP, DOWN; + + public BlockFace getOppositeFace() { + switch (this) { + case NORTH: + return SOUTH; + case SOUTH: + return NORTH; + case EAST: + return WEST; + case WEST: + return EAST; + case TOP: + return BOTTOM; + case BOTTOM: + return TOP; + case UP: + return DOWN; + case DOWN: + return UP; + default: + return NORTH; + + } + } + + } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index cd10b5190..e94c7590c 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -15,6 +15,8 @@ import tech.mcprison.prison.util.Location; public class MineLinerBuilder { + + public static final String REPAIR_LINER = "repair_liner"; private Mine mine; private Bounds liner; @@ -32,7 +34,9 @@ public enum LinerPatterns { blackAndWhite, seaEchos, obby, - beacon + beacon, + + repair ; public static LinerPatterns fromString( String pattern ) { @@ -136,42 +140,36 @@ private void generatePattern( Edges edge ) { break; case north: + // North is in the direction of negative Z select2DPattern( edge ); - // North is where zMax is constant (zMin = zMax): - generatePattern( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); - - insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); + // North is where zMin is constant (zMax = zMin): + generatePattern( edge, world, xMin, xMax, yMin, yMax, zMin, zMin ); break; case south: + // South is in the direction of positive Z select2DPattern( edge ); - // South is where zMin is constant (zMax = zMin): - generatePattern( edge, world, xMin, xMax, yMin, yMax, zMin, zMin ); + // South is where zMax is constant (zMin = zMax): + generatePattern( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); - insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); - break; case east: select2DPattern( edge ); - // East is where xMin is constant (xMax = xMin): - generatePattern( edge, world, xMin, xMin, yMin, yMax, zMin, zMax ); + // East is where xMax is constant (xMin = xMax): + generatePattern( edge, world, xMax, xMax, yMin, yMax, zMin, zMax ); - insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); - break; case west: select2DPattern( edge ); - // West is where xMax is constant (xMin = xMax): - generatePattern( edge, world, xMax, xMax, yMin, yMax, zMin, zMax ); - - insertLadders( edge, world, xMin, xMax, yMin, yMax, zMax, zMax ); + // West is where xMin is constant (xMax = xMin): + generatePattern( edge, world, xMin, xMin, yMin, yMax, zMin, zMax ); break; @@ -180,22 +178,6 @@ private void generatePattern( Edges edge ) { } } - /** - * This function perhaps should be combined with generatePattern() to automatically insert ladders - * in one pass. - * - * @param edge - * @param world - * @param xMin - * @param xMax - * @param yMin - * @param yMax - * @param zMin - * @param zMax - */ - private void insertLadders( Edges edge, World world, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax) { - - } private void generatePattern( Edges edge, World world, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax) { @@ -208,34 +190,41 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y // Output.get().logInfo( "### MineLinerBuilder - xMin=%d, xMax=%d, yMin=%d, yMax=%d, zMin=%d, zMax=%d ", // xMin, xMax, yMin, yMax, zMin, zMax); - boolean isLadderBlock = false; + boolean isLadderPossible = false; - BlockFace ladderFace = null; + BlockFace blockFace = null; +// BlockFace blockFaceOpposite = null; switch ( edge ) { case north: - ladderFace = BlockFace.SOUTH; + blockFace = BlockFace.NORTH; +// blockFaceOpposite = BlockFace.SOUTH; isLadderPossible = true; break; case south: - ladderFace = BlockFace.NORTH; + blockFace = BlockFace.SOUTH; +// blockFaceOpposite = BlockFace.NORTH; isLadderPossible = true; break; case east: - ladderFace = BlockFace.WEST; + blockFace = BlockFace.EAST; +// blockFaceOpposite = BlockFace.WEST; isLadderPossible = true; break; case west: - ladderFace = BlockFace.EAST; + blockFace = BlockFace.WEST; +// blockFaceOpposite = BlockFace.EAST; isLadderPossible = true; break; case top: - ladderFace = BlockFace.BOTTOM; + blockFace = BlockFace.UP; +// blockFaceOpposite = BlockFace.UP; break; case bottom: - ladderFace = BlockFace.TOP; + blockFace = BlockFace.DOWN; +// blockFaceOpposite = BlockFace.DOWN; break; default: @@ -243,13 +232,13 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y } - for (int x = xMin; x <= xMax; x++) { + for (int y = yMin; y <= yMax; y++) { - // Get the block-pattern-x position, mapped relative to the 2d pattern: - int x3d = (x - xMin) % getPattern3d().size(); - - for (int y = yMin; y <= yMax; y++) { + for (int x = xMin; x <= xMax; x++) { + // Get the block-pattern-x position, mapped relative to the 2d pattern: + int x3d = (x - xMin) % getPattern3d().size(); + // Get the block-pattern-x position, mapped relative to the 2d pattern: int y3d = (y - yMin) % getPattern3d().get( x3d ).size(); @@ -266,8 +255,7 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y // nextBlockName, x, y, z, x3d, y3d, z3d); - Location targetLocation = new Location(world, x, y, z); - Block targetBlock = targetLocation.getBlockAt(); + // Do not replace any air blocks: This allows us to follow the contour of // the terrain. @@ -281,63 +269,113 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y // boolean isZ1 = isZPos && (zMax + zMin) / 2 == z; // boolean isZ2 = isZPos && (zMax + zMin) / 2 == z+1; - isLadderBlock = - isLadderPossible && y > yMin && - (xMin != xMax ) && - ((xMax + xMin) / 2 == x || (xMax + xMin) / 2 == x + 1) || - isLadderPossible && y > yMin && - (zMin != zMax ) && - ((zMax + zMin) / 2 == z || (zMax + zMin) / 2 == z + 1); + boolean isLadderBlock = false; + + isLadderBlock = isLadderPossible && y > yMin && ( + isLadderBlock( x, xMin, xMax ) || + isLadderBlock( z, zMin, zMax )); + +// if ( isLadderPossible && y > yMin && ( xMin != xMax ) ) { +// isLadderBlock = ((xMax - xMin) < 2) || +// ((xMax + xMin) / 2 == x || (xMax + xMin) / 2 == x + 1) +// ; +// } +// else +// if ( isLadderPossible && y > yMin && ( zMin != zMax ) ) { +// isLadderBlock = ((zMax - zMin) < 2) || +// ((zMax + zMin) / 2 == z|| (zMax + zMin) / 2 == z + 1) +// ; +// } + // Output.get().logInfo( "### MineLinerBuilder - %s %s %s isLadder=%s x=%d, y=%d, z=%d " + // " block: %s ", // (isXPos || isZPos) ? "Y" : "N", (isX1 || isZ1) ? "Y" : "N", (isX2 || isZ2) ? "Y" : "N", // (isLadderBlock ? "Y" : "N"), x, y, z, nextBlockName); + Location targetLocation = new Location(world, x, y, z); + Block tBlock = targetLocation.getBlockAt(); + Block tBlockPlus1 = getRelativeBlock( targetLocation, edge, 1 ); + Block tBlockPlus2 = getRelativeBlock( targetLocation, edge, 2 ); + + +// Output.get().logInfo( "### MineLinerBuilder - %s isLadder=%s " + +// "Loc:%s tB:%s tB1:%s tB2:%s " + +// " x=%s y=%d z=%d block: %s ", +// edge, (isLadderBlock ? "Y" : " "), +// targetLocation.toBlockCoordinates(), +// tBlock.getLocation().toBlockCoordinates(), +// tBlockPlus1.getLocation().toBlockCoordinates(), +// tBlockPlus2.getLocation().toBlockCoordinates(), +// x, y, z, nextBlockName); if ( useNewBlockModel ) { - if ( !targetBlock.isEmpty() ) { + if ( REPAIR_LINER.equalsIgnoreCase( nextBlockName ) ) { + + if ( isLadderBlock ) { + + tBlock.setPrisonBlock( tBlockPlus2.getPrisonBlock() ); + tBlockPlus1.setPrisonBlock( tBlockPlus2.getPrisonBlock() ); + } + else { + + tBlock.setPrisonBlock( tBlockPlus1.getPrisonBlock() ); + } + } + + else if ( !tBlock.isEmpty() || + isLadderBlock && !tBlockPlus1.isEmpty() ) { + PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); if ( isLadderBlock ) { - Block faceBlock = targetBlock.getRelative( ladderFace ); - PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); - faceBlock.setPrisonBlock( nextBlockType ); + tBlockPlus1.setPrisonBlock( nextBlockType ); PrisonBlock ladderBlockType = new PrisonBlock("ladder"); - targetBlock.setPrisonBlock( ladderBlockType ); - targetBlock.setBlockFace( ladderFace ); + tBlock.setPrisonBlock( ladderBlockType ); + tBlock.setBlockFace( blockFace ); } else { - PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); - targetBlock.setPrisonBlock( nextBlockType ); + tBlock.setPrisonBlock( nextBlockType ); } } } else { - if ( !targetBlock.isEmpty() ) { + if ( REPAIR_LINER.equalsIgnoreCase( nextBlockName ) ) { if ( isLadderBlock ) { - Block faceBlock = targetBlock.getRelative( ladderFace ); - BlockType nextBlockType = BlockType.fromString( nextBlockName ); - faceBlock.setType( nextBlockType ); + tBlock.setType( tBlockPlus2.getType() ); + tBlockPlus1.setType( tBlockPlus2.getType() ); + } + else { + + tBlock.setType( tBlockPlus1.getType() ); + } + } + + else if ( !tBlock.isEmpty() || + isLadderBlock && !tBlockPlus1.isEmpty() ) { + + BlockType nextBlockType = BlockType.fromString( nextBlockName ); + + if ( isLadderBlock ) { + + tBlockPlus1.setType( nextBlockType ); BlockType ladderBlockType = BlockType.LADDER; - targetBlock.setType( ladderBlockType ); - targetBlock.setBlockFace( ladderFace ); + tBlock.setType( ladderBlockType ); + tBlock.setBlockFace( blockFace ); } else { - BlockType nextBlockType = BlockType.fromString( nextBlockName ); - targetBlock.setType( nextBlockType ); + tBlock.setType( nextBlockType ); } - } } @@ -354,12 +392,140 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y } + /** + *

This identifies if the curr position should be a ladder block. This + * will identify either two or three ladder points, depending upon + * if the length is odd or even. + *

+ * + *

The center point will always be a ladder point. But if the length + * is even + * then the next block after the mid is also a ladder point. But if + * the length is odd, then include both sides of the center point. + *

+ * + *

Skip checks: if min == max then that's the face we are building... so skip because + * it's the other two dimension that are being processed. Since the liner + * is one block bigger than the mine on each end, skip if curr is also + * equal to min or max (the corners). + *

+ * + *

If the mine on the edge is 3 blocks or less in width, have them all + * be ladders. + * + * @param curr + * @param min + * @param max + * @return + */ + private boolean isLadderBlock( int curr, int min, int max ) { + + boolean results = false; + + // Skip if the face or corners of liner. + if ( min != max && curr != min && curr != max ) { + + int len = max - min + 1; + boolean isEven = len % 2 == 0; + + int mid = (int) Math.floor( len / 2d ) + ( isEven ? -1 : 0); + + // The following is actually 3 blocks since max and min are + // skipped due to being corners. So if the min is 1 to 3 blocks + // wide, always have ladders that wide. + results = len <= 5; + + if ( len > 5 ) { + +// if ( !isEven ) { +// mid += 1; +// } + + if ( curr == (min + mid) ) { + results = true; + } + else { + results = isEven ? + // if distance is even, then next ladder position is mid - 1 + ( curr == min + mid + 1 ) : + // If odd, then one above and below mid: + ( curr == min + mid + 1 || curr == min + mid - 1); + } + + } + + Output.get().logInfo( "#### isLadderBlock: curr=%d min=%d max=%d " + + " len=%d mid=%d " + + "isEven=%s results=%s " + + " (min+mid)=%d ", + curr, min, max, len, mid, + (isEven ? "true" : "false"), + (results ? "true" : "false"), (min+mid) ); + + } + + return results; + } + + /** + *

This gets a block that is offset in the direction (edge) that is + * specified. + *

+ * + * @param location + * @param edge + * @param offset + * @return + */ + private Block getRelativeBlock( Location location, Edges edge, int offset ) + { + Location relLoc = new Location( location ); + switch ( edge ) + { + case north: + relLoc.setZ( relLoc.getBlockZ() - offset ); + break; + case south: + relLoc.setZ( relLoc.getBlockZ() + offset ); + break; + case east: + relLoc.setX( relLoc.getBlockX() + offset ); + break; + case west: + relLoc.setX( relLoc.getBlockX() - offset ); + break; + case top: + relLoc.setY( relLoc.getBlockY() + offset ); + break; + case bottom: + relLoc.setY( relLoc.getBlockY() - offset ); + break; + + default: + break; + } + + Block block = relLoc.getBlockAt(); + + return block; + } + + + private void select2DPattern( Edges edge ) { String[][] pattern2d = null; switch ( getPattern() ) { + case repair: + String[][] repair = + { + { REPAIR_LINER } + }; + pattern2d = repair; + break; + case blackAndWhite: String[][] baw = diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index 9b0ab3d80..6e765b79c 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -14,6 +14,7 @@ import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.internal.block.PrisonBlockTypes.InternalBlockTypes; import tech.mcprison.prison.mines.PrisonMines; +import tech.mcprison.prison.mines.data.MineLinerBuilder.LinerPatterns; import tech.mcprison.prison.mines.data.MineScheduler.MineJob; import tech.mcprison.prison.mines.events.MineResetEvent; import tech.mcprison.prison.output.Output; @@ -1330,9 +1331,23 @@ public void adjustSize( Edges edge, int amount ) { // First clear the mine: clearMine( false ); + if ( amount < 0 ) { + while ( amount++ < 0 ) { + + new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair ); + + Bounds newBounds = new Bounds( getBounds(), edge, -1 ); + setBounds( newBounds ); + + new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair ); + } + } + else { + + Bounds newBounds = new Bounds( getBounds(), edge, amount ); + setBounds( newBounds ); + } - Bounds newBounds = new Bounds( getBounds(), edge, amount ); - setBounds( newBounds ); // Finally trace the mine: clearMine( true ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java index fcb42ad5b..b700e7cb4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/block/SpigotBlock.java @@ -47,7 +47,10 @@ public SpigotBlock(org.bukkit.block.Block bBlock) { } @Override public Block getRelative(BlockFace face) { - return new SpigotBlock(bBlock.getRelative(org.bukkit.block.BlockFace.valueOf(face.name()))); + return new SpigotBlock( + bBlock.getRelative( + org.bukkit.block.BlockFace.valueOf( + face.name()))); } @Override public BlockType getType() { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java index 65a3150ed..56a07c417 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityBlocks.java @@ -38,4 +38,5 @@ public interface CompatibilityBlocks { public void setDurability( ItemStack itemInHand, int newDurability ); public void setBlockFace( Block bBlock, BlockFace blockFace ); + } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java index bc56a3fcf..26138857a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java @@ -242,23 +242,23 @@ public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { switch ( blockFace ) { -// case TOP: -// spigotBlockFace = org.bukkit.block.BlockFace.UP; -// break; -// case BOTTOM: -// spigotBlockFace = org.bukkit.block.BlockFace.DOWN; -// break; + case TOP: + spigotBlockFace = org.bukkit.block.BlockFace.UP; + break; + case BOTTOM: + spigotBlockFace = org.bukkit.block.BlockFace.DOWN; + break; case NORTH: - spigotBlockFace = org.bukkit.block.BlockFace.NORTH; + spigotBlockFace = org.bukkit.block.BlockFace.SOUTH; break; case EAST: - spigotBlockFace = org.bukkit.block.BlockFace.EAST; + spigotBlockFace = org.bukkit.block.BlockFace.WEST; break; case SOUTH: - spigotBlockFace = org.bukkit.block.BlockFace.SOUTH; + spigotBlockFace = org.bukkit.block.BlockFace.NORTH; break; case WEST: - spigotBlockFace = org.bukkit.block.BlockFace.WEST; + spigotBlockFace = org.bukkit.block.BlockFace.EAST; break; default: diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index 9ceba9018..00275aaf4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -372,12 +372,12 @@ public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { switch ( blockFace ) { -// case TOP: -// spigotBlockFace = org.bukkit.block.BlockFace.UP; -// break; -// case BOTTOM: -// spigotBlockFace = org.bukkit.block.BlockFace.DOWN; -// break; + case TOP: + spigotBlockFace = org.bukkit.block.BlockFace.UP; + break; + case BOTTOM: + spigotBlockFace = org.bukkit.block.BlockFace.DOWN; + break; case NORTH: spigotBlockFace = org.bukkit.block.BlockFace.NORTH; break; @@ -390,7 +390,7 @@ public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { case WEST: spigotBlockFace = org.bukkit.block.BlockFace.WEST; break; - + default: break; } From 02caa4f2843f71a4f6a828d54ecbcd32d119a9f8 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 01:15:53 -0400 Subject: [PATCH 126/243] Removed traces of the enableMineTracer within the Platform object. --- .../prison/internal/platform/Platform.java | 2 -- .../tech/mcprison/prison/TestPlatform.java | 4 --- .../prison/spigot/SpigotPlatform.java | 29 ------------------- 3 files changed, 35 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index c303dc67c..2bccc85d3 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -285,6 +285,4 @@ default Optional getCommand(String label) { public void autoCreateMineBlockAssignment(); - public void enableMineTracer( String worldName, Location min, Location max ); - } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 6d6b92d20..9cf484aee 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -276,8 +276,4 @@ public void autoCreateMineBlockAssignment() { } - @Override - public void enableMineTracer( String worldName, Location min, Location max ) { - - } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index d9cb62edb..60b01f027 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -18,7 +18,6 @@ package tech.mcprison.prison.spigot; -import java.awt.Color; import java.io.File; import java.util.ArrayList; import java.util.Collections; @@ -33,7 +32,6 @@ import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.OfflinePlayer; -import org.bukkit.Particle; import org.bukkit.Server; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; @@ -46,8 +44,6 @@ import com.cryptomorin.xseries.XBlock; import com.cryptomorin.xseries.XMaterial; import com.cryptomorin.xseries.messages.Titles; -import com.cryptomorin.xseries.particles.ParticleDisplay; -import com.cryptomorin.xseries.particles.XParticle; import tech.mcprison.prison.Prison; import tech.mcprison.prison.PrisonCommand; @@ -1110,29 +1106,4 @@ protected List buildBlockListBlockType() { } - @Override - public void enableMineTracer( String worldName, Location min, Location max ) { - - -// org.bukkit.World world = getBukkitWorld( worldName ); -// -// org.bukkit.Location loc1 = new org.bukkit.Location( -// world, min.getBlockX(), min.getBlockY(), min.getBlockZ() ); -// -// org.bukkit.Location loc2 = new org.bukkit.Location( -// world, max.getBlockX(), max.getBlockY(), max.getBlockZ() ); -// -// -// // https://www.spigotmc.org/wiki/particle-list-1-8-8/ -// -//// Particle redStone = ParticleDisplay.colored( loc1, Color.RED, 0.5f ); -// -//// Particle.DustOptions dust = new Particle.DustOptions(org.bukkit.Color.RED, 0.5f); -// -// ParticleDisplay display = ParticleDisplay.simple( loc1, Particle.REDSTONE ); -// -// XParticle.structuredCube( loc1, loc2, 0.10d, display ); - - } - } From b3020c8c91ec21e3f38ce50ea3609f92023b13ed Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:47:51 -0400 Subject: [PATCH 127/243] Added a few new block types for v1.13. The major one that fixed some significant issues was GRASS_BLOCK since it used to be named GRASS in older versions of minecraft, but now GRASS is just the plant. Also added 18 new log types for v1.13 and newer. --- .../tech/mcprison/prison/util/BlockType.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index e2192b9b5..762b96a42 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -103,7 +103,10 @@ public enum BlockType { POLISHED_DIORITE( 1, "minecraft:stone", 4, MaterialType.BLOCK ), ANDESITE( 1, "minecraft:stone", 5, MaterialType.BLOCK ), POLISHED_ANDESITE( 1, "minecraft:stone", 6, MaterialType.BLOCK ), + GRASS( 2, "minecraft:grass", 0, MaterialType.BLOCK ), + GRASS_BLOCK( 2, "minecraft:grass_block", 0, MaterialType.BLOCK ), + DIRT( 3, "minecraft:dirt", 0, MaterialType.BLOCK ), COARSE_DIRT( 3, "minecraft:dirt", 1, MaterialType.BLOCK ), PODZOL( 3, "minecraft:dirt", 2, MaterialType.BLOCK ), @@ -928,6 +931,30 @@ public enum BlockType { + ACACIA_LOG( "minecraft:acacia_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + BIRCH_LOG( "minecraft:birch_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + DARK_OAK_LOG( "minecraft:dark_oak_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + JUNGLE_LOG( "minecraft:jungle_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + OAK_LOG( "minecraft:oak_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + SPRUCE_LOG( "minecraft:spruce_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + STRIPPED_ACACIA_LOG( "minecraft:stripped_acacia_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_BIRCH_LOG( "minecraft:stripped_birch_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_DARK_OAK_LOG( "minecraft:stripped_dark_oak_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_JUNGLE_LOG( "minecraft:stripped_jungle_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_OAK_LOG( "minecraft:stripped_oak_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_SPRUCE_LOG( "minecraft:stripped_spruce_log", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + STRIPPED_ACACIA_WOOD( "minecraft:stripped_acacia_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_BIRCH_WOOD( "minecraft:stripped_birch_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_DARK_OAK_WOOD( "minecraft:stripped_dark_oak_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_JUNGLE_WOOD( "minecraft:stripped_jungle_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_OAK_WOOD( "minecraft:stripped_oak_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), + STRIPPED_SPRUCE_WOOD( "minecraft:stripped_spruce_wood", MaterialType.BLOCK, MaterialVersion.v1_13 ), + + + // Minecraft v1.14.x blocks: BAMBOO( "minecraft:bamboo", MaterialType.BLOCK, MaterialVersion.v1_14 ), BAMBOO_SAPLING( "minecraft:bamboo_sapling", MaterialType.BLOCK, MaterialVersion.v1_14 ), From ff8237ae01ced8ef76505cc057bbe505944032c2 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:50:26 -0400 Subject: [PATCH 128/243] Provided more detailed reports on missing block types from spigot mapping to prison's old block types. Some of these will be needed until we can get the new block model fully functional. --- .../mcprison/prison/spigot/SpigotUtil.java | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java index 6c8812dc3..5d844a3fe 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java @@ -212,6 +212,7 @@ public static void testAllPrisonBlockTypes() { StringBuilder sbNoMap = new StringBuilder(); StringBuilder sbNotSupported = new StringBuilder(); + StringBuilder sbSpigotNotSupported = new StringBuilder(); int supportedBlockCountPrison = 0; int supportedBlockCountXMaterial = 0; @@ -261,6 +262,28 @@ else if ( !xMat.isSupported() ) { } } + + for ( Material spigotMaterial : Material.values() ) { + + if ( spigotMaterial.isBlock() && + BlockType.getBlock( spigotMaterial.name() ) == null ) { + + String name = spigotMaterial.name().toLowerCase(); + if ( !name.contains( "banner" ) && !name.contains( "button" ) && + !name.contains( "pressure_plate" ) && !name.contains( "potted_" ) && + !name.contains( "_head" ) && !name.contains( "_skull" ) && + !name.contains( "_bed" ) && !name.contains( "_trapdoor" ) && + !name.contains( "stem" ) && !name.contains( "stairs" ) && + !name.contains( "_slab" ) ) { + + sbSpigotNotSupported.append( spigotMaterial.name() ); + sbSpigotNotSupported.append( " " ); + } + + } + + } + // Next test all of the spigot/bukkit Materials: BlockTestStats stats = SpigotPrison.getInstance().getCompatibility() .testCountAllBlockTypes(); @@ -275,22 +298,28 @@ else if ( !xMat.isSupported() ) { logTestBlocks( sbNoMap, "### SpigotUtil.testAllPrisonBlockTypes: " + "Prison Blocks no maps to XMaterial: " ); logTestBlocks( sbNotSupported, "### SpigotUtil.testAllPrisonBlockTypes: " + - "Prison Blocks not supported with version: " ); + "Prison Blocks not supported: " ); + + + Output.get().logWarn( "### SpigotUtil.testAllPrisonBlockTypes: Spigot blocks ignored: " + + "banner, button, pressure_plate, potted, head, skull, bed, trapdoor, stem, stairs, slab " ); + logTestBlocks( sbSpigotNotSupported, "### SpigotUtil.testAllPrisonBlockTypes: " + + "Spigot blocks not supported: " ); } private static void logTestBlocks( StringBuilder sb, String message ) { int start = 0; - int end = 150; + int end = 100; while ( sb.length() > end ) { - end = sb.indexOf( " ", end ); + end = sb.lastIndexOf( " ", end ); Output.get().logWarn( message + (end < 0 ? sb.substring( start ) : sb.substring( start, end ))); start = end; - end += 150; + end += 100; } Output.get().logWarn( message + sb.substring( start )); From 7013e31326896f3f2ef831279cad3f1a8829a810 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:56:14 -0400 Subject: [PATCH 129/243] Change the way the caching is working. Removed the caching of no-hits on block conversions. Normally recording the no-hit conditions will result in significant performance improvements, but removed them for now to make sure they are not causing issues. Will have to reenable them (rewrite the code) in the future. --- .../spigot/compat/CompatibilityCache.java | 56 ++++++++----------- .../prison/spigot/compat/Spigot113Blocks.java | 32 ++++++++--- .../prison/spigot/compat/Spigot18Blocks.java | 6 +- 3 files changed, 51 insertions(+), 43 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java index 3ddbf8f0c..eb0ab98b8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java @@ -22,9 +22,6 @@ public class CompatibilityCache { public static final byte NO_DATA_VALUE = (byte) -1; - public static final XMaterial NULL_TOKEN = XMaterial.VOID_AIR; - - private Map blockTypeCache; private Map xMaterialCache; @@ -36,23 +33,20 @@ public CompatibilityCache() { this.xMaterialCache = new TreeMap<>(); } - - public BlockType getCachedBlockType( Block spigotBlock, byte data ) { String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); BlockType blockType = blockTypeCache.get( key ); -// return blockType == BlockType.NULL_BLOCK ? null : blockType; return blockType; } public void putCachedBlockType( Block spigotBlock, byte data, BlockType blockType ) { - if ( spigotBlock != null ) { + if ( spigotBlock != null && blockType != null ) { String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); if ( !blockTypeCache.containsKey( key ) ) { - blockTypeCache.put( key, blockType == null ? BlockType.NULL_BLOCK : blockType ); + blockTypeCache.put( key, blockType ); } } } @@ -63,15 +57,14 @@ public BlockType getCachedBlockType( ItemStack spigotStack, byte data ) { BlockType blockType = blockTypeCache.get( key ); -// return blockType == BlockType.NULL_BLOCK ? null : blockType; return blockType; } public void putCachedBlockType( ItemStack spigotStack, byte data, BlockType blockType ) { - if ( spigotStack != null ) { + if ( spigotStack != null && blockType != null ) { String key = spigotStack.getType().name() + ( data <= 0 ? "" : ":" +data); if ( !blockTypeCache.containsKey( key ) ) { - blockTypeCache.put( key, blockType == null ? BlockType.NULL_BLOCK : blockType ); + blockTypeCache.put( key, blockType ); } } } @@ -85,18 +78,18 @@ public XMaterial getCachedXMaterial( PrisonBlock prisonBlock ) XMaterial xMat = xMaterialCache.get( key ); - // Using VOID_AIR as temp placeholder for null values: -// return xMat == XMaterial.VOID_AIR ? null : xMat; return xMat; } public void putCachedXMaterial( PrisonBlock prisonBlock, XMaterial xMat ) { - String key = prisonBlock.getBlockName(); - - if ( !xMaterialCache.containsKey( key ) ) { - // Using VOID_AIR as temp placeholder for null values: - xMaterialCache.put( key, xMat == null ? XMaterial.VOID_AIR : xMat ); + if ( xMat != null ) { + + String key = prisonBlock.getBlockName(); + + if ( !xMaterialCache.containsKey( key ) ) { + xMaterialCache.put( key, xMat ); + } } } @@ -105,16 +98,15 @@ public XMaterial getCachedXMaterial( Block spigotBlock, byte data ) { XMaterial xMat = xMaterialCache.get( key ); - // Using VOID_AIR as temp placeholder for null values: -// return xMat == XMaterial.VOID_AIR ? null : xMat; return xMat; } public void putCachedXMaterial( Block spigotBlock, byte data, XMaterial xMat ) { - String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); - - if ( !xMaterialCache.containsKey( key ) ) { - // Using VOID_AIR as temp placeholder for null values: - xMaterialCache.put( key, xMat == null ? XMaterial.VOID_AIR : xMat ); + if ( xMat != null ) { + String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); + + if ( !xMaterialCache.containsKey( key ) ) { + xMaterialCache.put( key, xMat ); + } } } @@ -123,16 +115,16 @@ public XMaterial getCachedXMaterial( BlockType blockType, byte data ) { XMaterial xMat = xMaterialCache.get( key ); - // Using VOID_AIR as temp placeholder for null values: -// return xMat == XMaterial.VOID_AIR ? null : xMat; return xMat; } public void putCachedXMaterial( BlockType blockType, byte data, XMaterial xMat ) { - String key = blockType.name() + ( data <= 0 ? "" : ":" +data); - - if ( !xMaterialCache.containsKey( key ) ) { - // Using VOID_AIR as temp placeholder for null values: - xMaterialCache.put( key, xMat == null ? XMaterial.VOID_AIR : xMat ); + if ( xMat != null ) { + + String key = blockType.name() + ( data <= 0 ? "" : ":" +data); + + if ( !xMaterialCache.containsKey( key ) ) { + xMaterialCache.put( key, xMat ); + } } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java index 26138857a..80ef699a6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java @@ -19,12 +19,22 @@ public abstract class Spigot113Blocks implements CompatibilityBlocks { public BlockType getBlockType(Block spigotBlock) { - BlockType results = getCachedBlockType( spigotBlock, NO_DATA_VALUE ); + BlockType results = null; - if ( results == null ) { - if ( spigotBlock != null ) { - + if ( spigotBlock != null ) { + + results = getCachedBlockType( spigotBlock, NO_DATA_VALUE ); + + if ( results == null ) { results = BlockType.getBlock( spigotBlock.getType().name() ); + +// if ( results == null ) { +// Output.get().logInfo( "#### 1.13 getBlockType() Cannot map block from spigot to prison:" + +// " spigotBlock.getType().name() = %s " + +// " BlockType.getBlock() = %s ", +// spigotBlock.getType().name(), +// (results == null ? "" : results.name() )); +// } putCachedBlockType( spigotBlock, NO_DATA_VALUE, results ); } @@ -71,7 +81,7 @@ public XMaterial getXMaterial( Block spigotBlock ) { } } - return results == NULL_TOKEN ? null : results; + return results; } @@ -92,7 +102,7 @@ public XMaterial getXMaterial( PrisonBlock prisonBlock ) { } - return results == NULL_TOKEN ? null : results; + return results; } @@ -134,7 +144,7 @@ public XMaterial getXMaterial( BlockType blockType ) { } - return results == NULL_TOKEN ? null : results; + return results; } @@ -234,7 +244,13 @@ public void setDurability( ItemStack itemInHand, int newDamage ) { damage.setDamage( newDamage ); } - + /** + * This is called setBlockFace, but it is really intended for use with ladders. + * The block face is the face in which to place the ladder. So when + * BlockFace.NORTH is specified, it needs to set the + * org.bukkit.block.BlockFace.SOUTH. Not sure why it has to be the + * opposite, which is unlike v1.8.8? + */ public void setBlockFace( Block spigotBlock, BlockFace blockFace ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index 00275aaf4..d8cdbd83a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -125,7 +125,7 @@ public XMaterial getXMaterial( Block spigotBlock ) { } - return results == NULL_TOKEN ? null : results; + return results; } public XMaterial getXMaterial( PrisonBlock prisonBlock ) { @@ -145,7 +145,7 @@ public XMaterial getXMaterial( PrisonBlock prisonBlock ) { } - return results == NULL_TOKEN ? null : results; + return results; } @@ -190,7 +190,7 @@ public XMaterial getXMaterial( BlockType blockType ) { } - return results == NULL_TOKEN ? null : results; + return results; } From df2cb5b5b521fa61034b506f923011c715bc0c3e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:59:54 -0400 Subject: [PATCH 130/243] Adjustments to getting the MineLinerBuilder working. These here are minor changes that makes a few aspects work slightly better. --- .../prison/mines/data/MineLinerBuilder.java | 62 +++++-------------- .../mcprison/prison/mines/data/MineReset.java | 1 + 2 files changed, 16 insertions(+), 47 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index e94c7590c..e83abc9c5 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -250,43 +250,9 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y String nextBlockName = getPattern3d().get( x3d ).get( y3d ).get( z3d ); -// Output.get().logInfo( "### MineLinerBuilder - block: %s x=%d, y=%d, z=%d " + -// "x3d=%d, y3d=%d, z3d=%d ", -// nextBlockName, x, y, z, x3d, y3d, z3d); - - - - - // Do not replace any air blocks: This allows us to follow the contour of - // the terrain. - -// boolean isXPos = isLadderPossible && y > yMin && (xMin != xMax ); -// boolean isZPos = isLadderPossible && y > yMin && (zMin != zMax ); -// -// boolean isX1 = isXPos && (xMax + xMin) / 2 == x; -// boolean isX2 = isXPos && (xMax + xMin) / 2 == x+1; -// -// boolean isZ1 = isZPos && (zMax + zMin) / 2 == z; -// boolean isZ2 = isZPos && (zMax + zMin) / 2 == z+1; - - boolean isLadderBlock = false; - - isLadderBlock = isLadderPossible && y > yMin && ( - isLadderBlock( x, xMin, xMax ) || - isLadderBlock( z, zMin, zMax )); - -// if ( isLadderPossible && y > yMin && ( xMin != xMax ) ) { -// isLadderBlock = ((xMax - xMin) < 2) || -// ((xMax + xMin) / 2 == x || (xMax + xMin) / 2 == x + 1) -// ; -// } -// else -// if ( isLadderPossible && y > yMin && ( zMin != zMax ) ) { -// isLadderBlock = ((zMax - zMin) < 2) || -// ((zMax + zMin) / 2 == z|| (zMax + zMin) / 2 == z + 1) -// ; -// } - + boolean isLadderBlock = isLadderPossible && y > yMin && ( + isLadderBlock( x, xMin, xMax ) || + isLadderBlock( z, zMin, zMax )); // Output.get().logInfo( "### MineLinerBuilder - %s %s %s isLadder=%s x=%d, y=%d, z=%d " + // " block: %s ", @@ -348,6 +314,11 @@ else if ( !tBlock.isEmpty() || if ( REPAIR_LINER.equalsIgnoreCase( nextBlockName ) ) { + +// Output.get().logInfo( "#### repair : isLadderBlock: %s block types: tb: %s tb1: %s tb2: %s", +// (isLadderBlock ? "Y" : "-" ), +// tBlock.getType(), tBlockPlus1.getType(), tBlockPlus2.getType() ); +// if ( isLadderBlock ) { tBlock.setType( tBlockPlus2.getType() ); @@ -437,9 +408,6 @@ private boolean isLadderBlock( int curr, int min, int max ) { if ( len > 5 ) { -// if ( !isEven ) { -// mid += 1; -// } if ( curr == (min + mid) ) { results = true; @@ -454,13 +422,13 @@ private boolean isLadderBlock( int curr, int min, int max ) { } - Output.get().logInfo( "#### isLadderBlock: curr=%d min=%d max=%d " + - " len=%d mid=%d " + - "isEven=%s results=%s " + - " (min+mid)=%d ", - curr, min, max, len, mid, - (isEven ? "true" : "false"), - (results ? "true" : "false"), (min+mid) ); +// Output.get().logInfo( "#### isLadderBlock: curr=%d min=%d max=%d " + +// " len=%d mid=%d " + +// "isEven=%s results=%s " + +// " (min+mid)=%d ", +// curr, min, max, len, mid, +// (isEven ? "true" : "false"), +// (results ? "true" : "false"), (min+mid) ); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index 6e765b79c..fdf9acb84 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -1343,6 +1343,7 @@ public void adjustSize( Edges edge, int amount ) { } } else { + new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair ); Bounds newBounds = new Bounds( getBounds(), edge, amount ); setBounds( newBounds ); From 53ae5c383af402a8e32761ebad0fe65b039b1cf1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 25 Oct 2020 21:01:13 -0400 Subject: [PATCH 131/243] Updat change log --- changelog_v3.2.x.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 8c90620aa..372a64048 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,30 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.8 - 2020-10-22 +## tag v3.2.2-alpha.8 - 2020-10-25 + + +* **Adjustments to getting the MineLinerBuilder working.** +These here are minor changes that makes a few aspects work slightly better. + + +* **Change the way the caching is working on block mappings.** +Removed the caching of no-hits on block conversions. Normally recording the no-hit conditions will result in significant performance improvements, but removed them for now to make sure they are not causing issues. Will have to reenable them (rewrite the code) in the future. + + +* **Provided more detailed reports on missing block types** +from spigot mapping to prison's old block types. Some of these will be needed until we can get the new block model fully functional. + + +* **Added a few new block types for v1.13.** +The major one that fixed some significant issues was GRASS_BLOCK since it used to be named GRASS in older versions of minecraft, but now GRASS is just the plant. +Also added 18 new log types for v1.13 and newer. + +* **Removed traces of the enableMineTracer within the Platform object.** + + +* **More improvements to the /mines set size and the /mines set liner commands.** +Added ladders to the liner, and also added repair to undo the liner based upon the surrounding blocks. Appears to be working well for spigot 1.8.8. * **Rank Tags modified to accept spaces** From 5ea80d9538b8d252ee9d9ffca8308c05b129f074 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 26 Oct 2020 13:48:53 -0400 Subject: [PATCH 132/243] Added move but am not enabling it. It is not behaving as well as it should. The tracer is being left behind when it shouldn't. Other adjustments to the sizing and liner functions. --- .../tech/mcprison/prison/util/Bounds.java | 42 +++++++++++++++++ .../prison/mines/commands/MinesCommands.java | 41 ++++++++++++++++ .../mcprison/prison/mines/data/MineMover.java | 32 +++++++++++++ .../mcprison/prison/mines/data/MineReset.java | 9 +++- .../prison/mines/data/MineTracerBuilder.java | 47 +++++++++++++++++-- 5 files changed, 165 insertions(+), 6 deletions(-) create mode 100644 prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java b/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java index 377a1ec67..d4204e1bb 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/Bounds.java @@ -58,6 +58,48 @@ public static Edges fromString( String edge ) { } } + return results; + } + + public Edges oppositeEdge() { + return oppositeEdge(this); + } + + public static Edges oppositeEdge( Edges edge ) { + Edges results = null; + + switch ( edge ) + { + case top: + results = bottom; + break; + + case bottom: + results = top; + break; + + case north: + results = south; + break; + + case south: + results = north; + break; + + case east: + results = west; + break; + + case west: + results = east; + break; + + default: + results = edge; + break; + } + + return results; } } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 3ffac1117..6742d2b63 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2152,6 +2152,47 @@ public void setSizeCommand(CommandSender sender, } + +// @Command(identifier = "mines set move", permissions = "mines.set", +// description = "Move the location of the mine by a few blocks") + public void moveMineCommand(CommandSender sender, + @Arg(name = "mineName", description = "The name of the mine to set the tracer in.") String mineName, + @Arg(name = "direction", def = "north", + description = "Direction to move mine [top, bottom, north, east, south, west, walls]" ) String direction, + @Arg(name = "amount", description = "amount to move, [1, 2, 3, ...]", def = "1") int amount + + ) { + + if (!performCheckMineExists(sender, mineName)) { + return; + } + + Edges edge = Edges.fromString( direction ); + if ( edge == null || edge == Edges.walls ) { + sender.sendMessage( "&cInvalid direction value. [top, bottom, north, east, south, west]" ); + return; + } + + if ( amount < 1 ) { + sender.sendMessage( "&cInvalid amount. Must be 1 or more." ); + return; + } + + + PrisonMines pMines = PrisonMines.getInstance(); + Mine mine = pMines.getMine(mineName); + + if ( mine.isVirtual() ) { + sender.sendMessage( "&cMine is a virtual mine&7. Use &a/mines set area &7to enable the mine." ); + return; + } + + + mine.moveMine( edge, amount ); + + pMines.getMineManager().saveMine( mine ); + } + @Command(identifier = "mines set liner", permissions = "mines.set", description = "Change the blocks that line the mine.") public void setLinerCommand(CommandSender sender, diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java new file mode 100644 index 000000000..358b8b60b --- /dev/null +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java @@ -0,0 +1,32 @@ +package tech.mcprison.prison.mines.data; + +import tech.mcprison.prison.mines.data.MineLinerBuilder.LinerPatterns; +import tech.mcprison.prison.util.Bounds; +import tech.mcprison.prison.util.Bounds.Edges; + +public class MineMover +{ + + public MineMover() { + + } + + public void moveMine( Mine mine, Edges edge, int amount ) { + + mine.clearMine( false ); + + new MineLinerBuilder( mine, Edges.top, LinerPatterns.repair ); + new MineLinerBuilder( mine, Edges.bottom, LinerPatterns.repair ); + new MineLinerBuilder( mine, Edges.walls, LinerPatterns.repair ); + + while ( amount-- > 0 ) { + + Bounds newBounds = new Bounds( mine.getBounds(), edge, 1 ); + Bounds newerBounds = new Bounds( newBounds, edge.oppositeEdge(), -1 ); + mine.setBounds( newerBounds ); + } + + // Finally trace the mine: + //mine.clearMine( true ); + } +} diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index fdf9acb84..52b2c0af4 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -1355,7 +1355,14 @@ public void adjustSize( Edges edge, int amount ) { } - private void clearMine( boolean tracer ) { + public void moveMine( Edges edge, int amount ) { + + MineMover moveMine = new MineMover(); + moveMine.moveMine( (Mine) this, edge, amount ); + } + + + public void clearMine( boolean tracer ) { MineTracerBuilder tracerBuilder = new MineTracerBuilder(); tracerBuilder.clearMine( (Mine) this, tracer ); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java index bad4cf0b4..810abbffb 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineTracerBuilder.java @@ -12,6 +12,42 @@ public class MineTracerBuilder { + public enum TracerType { + + pink("PINK_STAINED_GLASS"), + red("REd_STAINED_GLASS"), + + redstone("REDSTONE_BLOCK"), + dust("REDSTONE_wire"), // redstone_wire is the block, redstone is the inventory item + + air("AIR") + + ; + + private final String blockType; + + private TracerType( String blockType ) { + this.blockType = blockType; + } + + public String getBlockType() { + return blockType; + } + + public static TracerType fromString( String type ) { + TracerType results = TracerType.pink; + + for ( TracerType tracerType : values() ) + { + if ( tracerType.name().equalsIgnoreCase( type )) { + results = tracerType; + break; + } + } + + return results; + } + } public void clearMine( Mine mine, boolean tracer ) { @@ -68,17 +104,18 @@ public void clearMine( Mine mine, boolean tracer ) { boolean yEdge = y == yMin || y == yMax; boolean zEdge = z == zMin || z == zMax; - boolean isEdge = tracer && - (xEdge && yEdge || xEdge && zEdge || - yEdge && zEdge); + boolean isEdge = xEdge && yEdge || xEdge && zEdge || + yEdge && zEdge; if ( useNewBlockModel ) { - targetBlock.getBlockAt().setPrisonBlock( isEdge ? blockRedPB : blockAirPB ); + targetBlock.getBlockAt().setPrisonBlock( + tracer && isEdge ? blockRedPB : blockAirPB ); } else { - targetBlock.getBlockAt().setType( isEdge ? blockRedBT : blockAirBT ); + targetBlock.getBlockAt().setType( + tracer && isEdge ? blockRedBT : blockAirBT ); } } } From c5a003450fbcc7b71e13bb535047ed6ce0131c9e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 26 Oct 2020 13:52:08 -0400 Subject: [PATCH 133/243] Bump version to v3.2.2-alpha.9 Doc updates --- changelog_v3.2.x.md | 10 +++++++++- gradle.properties | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 372a64048..4a60a8022 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,15 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.8 - 2020-10-25 +## tag v3.2.2-alpha.8 - 2020-10-26 + + +* **v3.2.2-alpha.9 - 2020-10-26** + + +* **Added the ability to move a mine but am not enabling it.** +It is not behaving as well as it should. The tracer is being left behind when it shouldn't. +Other adjustments to the sizing and liner functions have been made too. * **Adjustments to getting the MineLinerBuilder working.** diff --git a/gradle.properties b/gradle.properties index b196c8252..32d51873d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.8 +version=3.2.2-alpha.9 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From 8e065a0a3dd2c09222c46bd16b7b7335d9d4184c Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Mon, 26 Oct 2020 21:38:20 +0100 Subject: [PATCH 134/243] =?UTF-8?q?Fixes=20to=20config,=20now=20you'll=20n?= =?UTF-8?q?ot=20see=20any=20"=C2=A7"=20but=20only=20"&",=20there=20might?= =?UTF-8?q?=20be=20some=20strings=20that=20won't=20translate=20that,=20If?= =?UTF-8?q?=20you=20spot=20them=20(like=20lores=20with=20an=20&=20instead?= =?UTF-8?q?=20of=20color),=20please=20report=20it.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changelogs: - Fixes to configs --- .../main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java | 2 +- .../tech/mcprison/prison/spigot/languages/MessagesConfig.java | 2 +- .../tech/mcprison/prison/spigot/sellall/sellAllConfig.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java index c404373ac..a28bda3cd 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java @@ -75,7 +75,7 @@ public void initialize() { private void dataConfig(String key, String value){ if (conf.getString(key) == null) { - conf.set(key, SpigotPrison.format(value)); + conf.set(key, value); changeCount++; } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index 356c92a68..9d6b73b49 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -71,7 +71,7 @@ public void initialize() { private void dataConfig(String key, String value){ if (conf.getString(key) == null) { - conf.set(key, SpigotPrison.format(value)); + conf.set(key, value); changeCount++; } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java index 6b6ca323d..44b85489e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java @@ -49,7 +49,7 @@ private void dataConfig(String path, String string){ try { file.createNewFile(); conf = YamlConfiguration.loadConfiguration(file); - conf.set(path, SpigotPrison.format(string)); + conf.set(path, string); conf.save(file); } catch (IOException e) { e.printStackTrace(); @@ -59,7 +59,7 @@ private void dataConfig(String path, String string){ boolean newValue = false; conf = YamlConfiguration.loadConfiguration(file); if (getFileSellAllConfig().getString(path) == null){ - conf.set(path, SpigotPrison.format(string)); + conf.set(path, string); newValue = true; } if (newValue) { From 12dcc1f6c2e89fe715ee543263ce55b833af98d2 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Mon, 26 Oct 2020 22:17:38 +0100 Subject: [PATCH 135/243] Fixes to some blocks and use of XMaterial for STAINED_GLASS Changelogs: - Fixed STAINED_GLASS --- .../prison/spigot/gui/SpigotPrisonGUI.java | 23 +++++++++------- .../gui/autofeatures/SpigotAutoBlockGUI.java | 7 ++--- .../autofeatures/SpigotAutoFeaturesGUI.java | 27 ++++++++++--------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 7 ++--- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 7 ++--- .../spigot/gui/mine/SpigotMineInfoGUI.java | 3 ++- .../gui/mine/SpigotMineNotificationsGUI.java | 3 ++- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 3 ++- .../spigot/gui/rank/SpigotRankManagerGUI.java | 3 ++- 9 files changed, 48 insertions(+), 35 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index 38bd32bd1..534fe9f5e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -2,13 +2,18 @@ import java.util.List; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import tech.mcprison.prison.internal.block.Block; +import tech.mcprison.prison.internal.block.PrisonBlock; +import tech.mcprison.prison.internal.block.PrisonBlockTypes; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.util.BlockType; /** * @author GABRYCA @@ -50,22 +55,22 @@ private void buttonsSetup(Inventory inv) { Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Lore of the button - List rankslore = createLore( + List ranksLore = createLore( messages.getString("Gui.Lore.RanksButton"), messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button - List prisontaskslore = createLore( + List prisonTasksLore = createLore( messages.getString("Gui.Lore.PrisonTasksButton"), messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button - List mineslore = createLore( + List minesLore = createLore( messages.getString("Gui.Lore.MinesButton"), messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button - List sellallLore = createLore( + List sellAllLore = createLore( messages.getString("Gui.Lore.ClickToOpen")); // Lore of the button @@ -73,19 +78,19 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); // Create the button, set up the material, amount, lore and name - ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, rankslore, SpigotPrison.format("&3" + "Ranks")); + ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, ranksLore, SpigotPrison.format("&3" + "Ranks")); // Create the button, set up the material, amount, lore and name - ItemStack prisontasks = createButton(Material.IRON_PICKAXE, 1, prisontaskslore, SpigotPrison.format("&3" + "AutoManager")); + ItemStack prisontasks = createButton(Material.IRON_PICKAXE, 1, prisonTasksLore, SpigotPrison.format("&3" + "AutoManager")); // Create the button, set up the material, amount, lore and name - ItemStack mines = createButton(Material.DIAMOND_ORE, 1, mineslore, SpigotPrison.format("&3" + "Mines")); + ItemStack mines = createButton(Material.DIAMOND_ORE, 1, minesLore, SpigotPrison.format("&3" + "Mines")); // Create the button, set up the material, amount, lore and name - ItemStack sellall = createButton(Material.CHEST, 1 , sellallLore, SpigotPrison.format("&3" + "SellAll")); + ItemStack sellall = createButton(Material.CHEST, 1 , sellAllLore, SpigotPrison.format("&3" + "SellAll")); // Position of the button inv.setItem(10, ranks); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 589e9381a..07f064800 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -2,6 +2,7 @@ import java.util.List; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -68,14 +69,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(35, closeGUI); if ( afConfig.isFeatureBoolean( AutoFeatures.autoBlockAllBlocks ) ) { - ItemStack Enabled = createButton(Material.EMERALD_BLOCK, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); + ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.REDSTONE_BLOCK, 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); + ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index 44163e13b..f53bb3b36 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.gui.autofeatures; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -69,21 +70,21 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); if ( afConfig.isFeatureBoolean( AutoFeatures.playSoundIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - playSound = createButton(Material.LIME_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); + playSound = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - playSound = createButton(Material.RED_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); + playSound = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); } @@ -92,14 +93,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - hologram = createButton(Material.LIME_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); + hologram = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - hologram = createButton(Material.RED_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); + hologram = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); } @@ -108,14 +109,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.EnabledAll"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - enabledOrDisabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); + enabledOrDisabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.DisabledAll"), messages.getString("Gui.Lore.RightClickToEnable")); - enabledOrDisabled = createButton(Material.RED_STAINED_GLASS_PANE, 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); + enabledOrDisabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); } @@ -125,14 +126,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(Material.LIME_STAINED_GLASS_PANE, 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); + autoPickup = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); } else { // Lore of the button List autoPickupLore = createLore( messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); + autoPickup = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); } @@ -142,14 +143,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(Material.LIME_STAINED_GLASS_PANE, 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); + autoSmelt = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); } else { // Lore of the button List autoSmeltLore = createLore( messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); + autoSmelt = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); } @@ -159,7 +160,7 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(Material.LIME_STAINED_GLASS_PANE, 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); + autoBlock = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); } else { // Lore of the button @@ -167,7 +168,7 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(Material.RED_STAINED_GLASS_PANE, 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); + autoBlock = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } // Position of the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 3cc9f607f..58c709eec 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.gui.autofeatures; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -68,14 +69,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(35, closeGUI); if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupAllBlocks ) ) { - ItemStack Enabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); + ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.RED_STAINED_GLASS_PANE, 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); + ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index e238fd89f..853e7bc16 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.gui.autofeatures; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -68,14 +69,14 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(35, closeGUI); if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltAllBlocks ) ) { - ItemStack Enabled = createButton(Material.LIME_STAINED_GLASS_PANE, 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); + ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(Material.RED_STAINED_GLASS_PANE, 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); + ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index 8c142d990..fa2f1cb86 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -2,6 +2,7 @@ import java.util.List; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -110,7 +111,7 @@ private void buttonsSetup(Inventory inv) { ); // Create the button, set the material, amount, lore and name - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); // Create the button, set up the material, amount, lore and name ItemStack resetMine = createButton(Material.EMERALD_BLOCK, 1, resetminelore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index 91ede2363..a027d77b9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.gui.mine; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -80,7 +81,7 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(26, closeGUI); // Add the selected lore to the mode used diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 069c3b9de..6625fc8e0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -2,6 +2,7 @@ import java.util.List; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -54,7 +55,7 @@ public void open(){ messages.getString("Gui.Lore.ClickToAddBlock") ); - ItemStack addBlockButton = createButton(Material.LIME_STAINED_GLASS, 1, addBlockLore, SpigotPrison.format("&a" + "Add")); + ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, addBlockLore, SpigotPrison.format("&a" + "Add")); inv.setItem(56, addBlockButton); if ( useNewBlockModel ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 6bda896ed..1dde4e483 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.gui.rank; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -94,7 +95,7 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(Material.RED_STAINED_GLASS, 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(26, closeGUI); ItemStack rankupCommands = createButton(commandMinecart, 1, rankupCommandsLore, SpigotPrison.format("&3" + "RankupCommands" + " " + rank.name)); From 0de98def6aea87f8b9762ed553658269a063bd78 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:22:17 -0400 Subject: [PATCH 136/243] Enable OPs to tp players even from console. Also if the player who is running the command is the same as the name being passed as a parameter, then allow it. --- .../tech/mcprison/prison/mines/commands/MinesCommands.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 6742d2b63..6c0366ae1 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2299,7 +2299,10 @@ public void mineTp(CommandSender sender, Player playerAlt = getOnlinePlayer( playerName ); - if (player == null || !player.isOnline()) { + if ( sender.isOp() && playerAlt != null && playerAlt.isOnline() ) { + player = playerAlt; + } + else if ( player == null || !player.isOnline()) { if ( playerName != null && playerName.trim().length() > 0 && playerAlt == null) { sender.sendMessage( "&3Specified player is not in the game so they cannot be teleported." ); @@ -2316,7 +2319,7 @@ public void mineTp(CommandSender sender, } } - else if ( playerAlt != null ) { + else if ( playerAlt != null && !player.getName().equalsIgnoreCase( playerAlt.getName() ) ) { sender.sendMessage( "&3You cannot teleport other players to a mine. Ignoring parameter." ); } From 0253c7c4fd43bce7cc807c540b3d3b21cd51eaf9 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:23:37 -0400 Subject: [PATCH 137/243] Fixes issue with not enabling a virtual mine when the area is set with the command: /mines set area help --- .../prison/mines/commands/MinesCommands.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 6c0366ae1..657b5884a 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2071,6 +2071,19 @@ public void redefineCommand(CommandSender sender, setLastMineReferenced(mineName); m.setBounds(selection.asBounds()); + if ( m.isVirtual() ) { + m.setVirtual( false ); + m.setEnabled( true ); + + DecimalFormat dFmt = new DecimalFormat("#,##0"); + String message = String.format( "&3The mine &7%s &3 is no longer a virutal mine " + + "and has been enabled with an area of &7%s &3blocks.", + m.getName(), dFmt.format( m.getBounds().getArea() )); + + sender.sendMessage( message ); + Output.get().logInfo( message ); + } + pMines.getMineManager().saveMine( m ); pMines.getMinesMessages().getLocalizable("mine_redefined") From 966b6744b2102e9630bb5afe1bbd153483ff97e9 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:33:22 -0400 Subject: [PATCH 138/243] Update change log with recent commits and fixes. --- changelog_v3.2.x.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 4a60a8022..e6217d488 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,28 @@ that you need. ## tag v3.2.2-alpha.8 - 2020-10-26 +* **v3.2.2-alpha.9b - 2020-10-26** + + +* **Fixes issue with not enabling a virtual mines** +when the area is set with the command: /mines set area help + + +* **Fixes to some blocks and use of XMaterial for STAINED_GLASS** +This allows for multi-version support since material names have changed at 1.13. This supports 1.8 through 1.16 now. This fixes an exception for versions less than 1.13. + + +* **Fixes to config, now you'll not see any "§" but only "&"** +There might be some strings that won't translate that, If you spot them (like lores with an & instead of color), please report it. This fixes an issue for some user's environment not being able to properly translate the `§` when generating the GUI config files and language files. Basically the file's UTF-8 encoding was being treated as ASCII and that character was being converted to a hex value that could not be translated back to something usable. + + +* **v3.2.2-alpha.9a - 2020-10-26** + + +* **Enable OPs to tp players even from console.** +Also if the player who is running the command is the same as the name being passed as a parameter, then allow it. + + * **v3.2.2-alpha.9 - 2020-10-26** From aab804cdc03637b8f1de8f585570878cce40860d Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Mon, 26 Oct 2020 23:20:04 +0100 Subject: [PATCH 139/243] Fix to GUIs and Close button conflict Fix to Mines GUI lore issues for Virtual Mines Changelogs: - Fixed Close Button - Fixed Mines GUI Virtual Mines Lore --- .../prison/spigot/gui/ListenersPrisonManager.java | 4 ++++ .../prison/spigot/gui/mine/SpigotMinesGUI.java | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 0eebed06e..518408cd6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -201,6 +201,7 @@ public void onClick(InventoryClickEvent e){ if (buttonNameMain.equalsIgnoreCase("Close")){ p.closeInventory(); e.setCancelled(true); + return; } // Check if the GUI have the right title and do the actions @@ -1614,6 +1615,9 @@ private void AutoPickupGUI(InventoryClickEvent e, Player p, String[] parts) { // Output finally the buttonname and the mode explicit out of the array String buttonname = parts[0]; + + + String mode = parts[1]; boolean enabled = mode.equalsIgnoreCase("Enabled"); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 8b5595674..1cd49c776 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -116,11 +116,13 @@ private void buttonsSetup(Inventory inv, Mine m) { // Add a lore minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ResetTime") + m.getResetTime())); - // Add a lore - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SizeOfMine") + m.getBounds().getDimensions())); + if (!m.isVirtual()) { + // Add a lore + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SizeOfMine") + m.getBounds().getDimensions())); - // Add a lore - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Volume") + m.getBounds().getTotalBlockCount())); + // Add a lore + minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Volume") + m.getBounds().getTotalBlockCount())); + } // Add a lore minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Blocks"))); From 10a0eb812151511e6139f91e4a78b40b639cdb06 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 26 Oct 2020 21:58:29 -0400 Subject: [PATCH 140/243] New feature: Dump player's inventory to console. This is useful to check status of various prison related functions. One area that this maybe useful with some players reporting that they are getting a Prison Selection Wand, but it's not showing up in their inventory, although inspection of their inventory is showing they are getting it. --- .../tech/mcprison/prison/internal/Player.java | 8 ++ .../java/tech/mcprison/prison/TestPlayer.java | 5 + .../prison/mines/commands/MinesCommands.java | 16 ++++ .../spigot/game/SpigotOfflinePlayer.java | 4 + .../prison/spigot/game/SpigotPlayer.java | 93 +++++++++++++++++-- 5 files changed, 120 insertions(+), 6 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/Player.java b/prison-core/src/main/java/tech/mcprison/prison/internal/Player.java index 75a3afcf6..b803dfd00 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/Player.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/Player.java @@ -117,4 +117,12 @@ public interface Player extends CommandSender, InventoryHolder { * is modified */ void updateInventory(); + + + /** + * Dumps the inventory contents of the player to the console. + * + */ + public void printDebugInventoryInformationToConsole(); + } diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlayer.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlayer.java index c005e6419..175704655 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlayer.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlayer.java @@ -119,4 +119,9 @@ public List getInput() { @Override public Inventory getInventory() { return null; } + + @Override + public void printDebugInventoryInformationToConsole() { + + } } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 657b5884a..d492c22f9 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2488,6 +2488,22 @@ public void wandCommand(CommandSender sender) { sender.sendMessage( "&3Here you go! &7Left click to select the first corner, and right click to select the other."); } + + + @Command(identifier = "mines playerInventory", permissions = "mines.set", + description = "For listing what's in a player's inventory by dumping it to console.", + onlyPlayers = false ) + public void playerInventoryCommand(CommandSender sender) { + + Player player = getPlayer( sender ); + + if (player == null || !player.isOnline()) { + sender.sendMessage( "&3You must be a player in the game to run this command." ); + return; + } + + player.printDebugInventoryInformationToConsole(); + } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotOfflinePlayer.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotOfflinePlayer.java index 786609f86..9c943b7fa 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotOfflinePlayer.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotOfflinePlayer.java @@ -129,4 +129,8 @@ public Inventory getInventory() { return null; } + @Override + public void printDebugInventoryInformationToConsole() { + + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotPlayer.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotPlayer.java index b375bb454..792f9b0f6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotPlayer.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/game/SpigotPlayer.java @@ -18,9 +18,16 @@ package tech.mcprison.prison.spigot.game; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Optional; +import java.util.UUID; + import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.event.player.PlayerTeleportEvent; + import tech.mcprison.prison.internal.ItemStack; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.inventory.Inventory; @@ -32,12 +39,6 @@ import tech.mcprison.prison.util.Gamemode; import tech.mcprison.prison.util.Location; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Optional; -import java.util.UUID; - /** * @author Faizaan A. Datoo */ @@ -221,4 +222,84 @@ private static Class getNmsClass(String className) throws ClassNotFoundExcept } + @SuppressWarnings( "deprecation" ) + public void printDebugInventoryInformationToConsole() { + + try { + printDebugInfo( bukkitPlayer.getInventory().getContents(), "Inventory Contents"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + + try { + printDebugInfo( bukkitPlayer.getInventory().getExtraContents(), "Inventory Extra Contents"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + + try { + printDebugInfo( bukkitPlayer.getInventory().getArmorContents(), "Inventory Armor Contents"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + try { + printDebugInfo( bukkitPlayer.getInventory().getStorageContents(), "Inventory Storage Contents"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + + try { + printDebugInfo( bukkitPlayer.getInventory().getItemInHand(), "Inventory Item In Hand (pre 1.13)"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + + try { + printDebugInfo( bukkitPlayer.getInventory().getItemInMainHand(), "Inventory Item in Main Hand"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + + try { + printDebugInfo( bukkitPlayer.getInventory().getItemInOffHand(), "Inventory Item in Off Hand"); + } + catch ( java.lang.NoSuchMethodError | Exception e ) { + // Ignore: Not supported with that version of spigot: + } + } + + private void printDebugInfo( org.bukkit.inventory.ItemStack[] iStacks, String title ) { + + Output.get().logInfo( "&7%s:", title ); + for ( int i = 0; i < iStacks.length; i++ ) { + org.bukkit.inventory.ItemStack iStack = iStacks[i]; + + if ( iStack != null ) { + + ItemStack pItemStack = SpigotUtil.bukkitItemStackToPrison(iStack); + + Output.get().logInfo( " i=%d &3%s &3%d &a[&3%s&a]", + i, iStack.getType().name(), iStack.getAmount(), + (pItemStack == null ? "" : + (pItemStack.getDisplayName() == null ? "" : + pItemStack.getDisplayName())) ); + } + } + } + + private void printDebugInfo( org.bukkit.inventory.ItemStack iStack, String title ) { + + Output.get().logInfo( "&7%s:", title ); + if ( iStack != null ) { + + Output.get().logInfo( " &3%s &3%d", + iStack.getType().name(), iStack.getAmount() ); + } + } } From 73ec2d2aa4231957d4c6e061d822eecad92fb1ac Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 27 Oct 2020 12:43:02 -0400 Subject: [PATCH 141/243] If a mine has the boundries set and if it was disabled or virtual, then make it a real mine. Have checks to ensure the world is available, if not, then disable the mine. --- .../prison/mines/commands/MinesCommands.java | 10 ++++++--- .../tech/mcprison/prison/mines/data/Mine.java | 9 ++++++-- .../mcprison/prison/mines/data/MineData.java | 21 +++++++++++++++++++ 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index d492c22f9..b2e76e8b6 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -36,6 +36,7 @@ import tech.mcprison.prison.commands.Wildcard; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; +import tech.mcprison.prison.internal.World; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Block; @@ -2070,10 +2071,13 @@ public void redefineCommand(CommandSender sender, setLastMineReferenced(mineName); + boolean wasVirtual = m.isVirtual(); + + // Setting the bounds when it's virtual will configure all the internals: + m.setBounds(selection.asBounds()); - if ( m.isVirtual() ) { - m.setVirtual( false ); - m.setEnabled( true ); + if ( wasVirtual ) { + DecimalFormat dFmt = new DecimalFormat("#,##0"); String message = String.format( "&3The mine &7%s &3 is no longer a virutal mine " + diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index e985c0a1d..bcd90d745 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -217,9 +217,14 @@ private void loadFromDocument( Document document ) // World world = worldOptional.get(); + + + Location locMin = getLocation(document, world, "minX", "minY", "minZ"); + Location locMax = getLocation(document, world, "maxX", "maxY", "maxZ"); + setBounds( new Bounds( - getLocation(document, world, "minX", "minY", "minZ"), - getLocation(document, world, "maxX", "maxY", "maxZ"))); + locMin, + locMax)); setHasSpawn((boolean) document.get("hasSpawn")); if (isHasSpawn()) { diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 1d2cfecf0..213634d93 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -11,6 +11,7 @@ import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.modules.ModuleElement; import tech.mcprison.prison.modules.ModuleElementType; +import tech.mcprison.prison.output.Output; import tech.mcprison.prison.util.BlockType; import tech.mcprison.prison.util.Bounds; import tech.mcprison.prison.util.Location; @@ -312,6 +313,26 @@ public Bounds getBounds() { */ public void setBounds(Bounds bounds) { this.bounds = bounds; + + if ( bounds != null && ( isVirtual() || !getWorld().isPresent()) ) { + // Move all this internal to the mines... + World world = bounds.getMin().getWorld(); + + if ( world != null ) { + + setWorld( world ); + setWorldName( world.getName() ); + setVirtual( false ); + setEnabled( true ); + } + else { + setEnabled( false ); + Output.get().logWarn( + String.format( "&cCould not activate mine &7%s &cbecause the " + + "world object cannot be aquired. Bounds failed be set correctly " + + "and this mine is &ddisabled&c.", getName()) ); + } + } // The world name MUST NEVER be changed. If world is null then it will screw // up the original location of when the was created. World name is set From e9d32fb66efff5bd5a7bded9239f419dae74c650 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 27 Oct 2020 16:32:36 -0400 Subject: [PATCH 142/243] Major bug fix: Eliminated the in prison caching of players. This collection was not able to deal with players reconnecting to the server, which would give them new player objects. The issue was that prison would have an obsolete (zombie) copy of the player and their inventory. So if any operations would be performed on the inventory, such as giving a selection wand, it would be placed in the orphaned object and the player would never get it. The only way to "fix" this issue would be to restart the server and then it would fail once they would log out and reconnect. This was conffirmed a problem with 1.9.2, 1.13.4, 1.15.2, and 1.16.3. It was not an issue with spigot v1.8.8. This did not impact players retrieved from events. This fixes the issue by removing prison caching of the players. Now all instances of the players being used within prison are now live bukkit objects. --- .../prison/spigot/SpigotPlatform.java | 104 ++++++++++++------ 1 file changed, 71 insertions(+), 33 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 60b01f027..3273ab3d6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -96,7 +96,9 @@ class SpigotPlatform private SpigotPrison plugin; private List commands = new ArrayList<>(); private Map worlds = new HashMap<>(); - private List players = new ArrayList<>(); + +// @Deprecated +// private List players = new ArrayList<>(); private ScoreboardManager scoreboardManager; private Storage storage; @@ -194,31 +196,45 @@ public void getWorldLoadErrors( ChatDisplay display ) { } @Override public Optional getPlayer(String name) { - return Optional.ofNullable( - players.stream().filter(player -> player.getName().equalsIgnoreCase( name)).findFirst() - .orElseGet(() -> { - org.bukkit.entity.Player playerBukkit = Bukkit.getPlayer(name); - if (playerBukkit == null) { - return null; - } - SpigotPlayer player = new SpigotPlayer(playerBukkit); - players.add(player); - return player; - })); + + org.bukkit.entity.Player playerBukkit = Bukkit.getPlayer(name); + + return Optional.ofNullable( playerBukkit == null ? null : new SpigotPlayer(playerBukkit) ); + +// return Optional.ofNullable( +// players.stream().filter(player -> player.getName().equalsIgnoreCase( name)).findFirst() +// .orElseGet(() -> { +// +// // ### getting the bukkit player here! +// org.bukkit.entity.Player playerBukkit = Bukkit.getPlayer(name); +// if (playerBukkit == null) { +// return null; +// } +// SpigotPlayer player = new SpigotPlayer(playerBukkit); +// players.add(player); +// return player; +// })); } @Override public Optional getPlayer(UUID uuid) { - return Optional.ofNullable( - players.stream().filter(player -> player.getUUID().equals(uuid)).findFirst() - .orElseGet(() -> { - org.bukkit.entity.Player playerBukkit = Bukkit.getPlayer(uuid); - if (playerBukkit == null) { - return null; - } - SpigotPlayer player = new SpigotPlayer(playerBukkit); - players.add(player); - return player; - })); + org.bukkit.entity.Player playerBukkit = Bukkit.getPlayer(uuid); + + return Optional.ofNullable( playerBukkit == null ? null : new SpigotPlayer(playerBukkit) ); + +// return Optional.ofNullable( +// players.stream().filter(player -> player.getUUID().equals(uuid)).findFirst() +// .orElseGet(() -> { +// +// +// // ### getting the bukkit player here! +// org.bukkit.entity.Player playerBukkit = Bukkit.getPlayer(uuid); +// if (playerBukkit == null) { +// return null; +// } +// SpigotPlayer player = new SpigotPlayer(playerBukkit); +// players.add(player); +// return player; +// })); } @Override public List getOnlinePlayers() { @@ -238,16 +254,38 @@ public Optional getOfflinePlayer(UUID uuid) { private Optional getOfflinePlayer(String name, UUID uuid) { SpigotOfflinePlayer player = null; - for ( OfflinePlayer offP : Bukkit.getOfflinePlayers() ) { - if ( name != null && offP.getName().equalsIgnoreCase( name) || - uuid != null && offP.getUniqueId().equals(uuid) ) { - player = new SpigotOfflinePlayer( offP ); - - players.add(player); - break; - } - } + if ( uuid != null ) { + OfflinePlayer oPlayer = Bukkit.getOfflinePlayer( uuid ); + player = (oPlayer == null ? null : new SpigotOfflinePlayer( oPlayer ) ); + + } + if ( player == null && name != null && name.trim().length() > 0 ) { + + // No hits on uuid so only compare names: + for ( OfflinePlayer oPlayer : Bukkit.getOfflinePlayers() ) { + if ( oPlayer.getName().equalsIgnoreCase( name.trim() ) ) { + + player = new SpigotOfflinePlayer( oPlayer ); + break; + } + } + } + + return Optional.ofNullable( player ); + + +// for ( OfflinePlayer offP : Bukkit.getOfflinePlayers() ) { +// if ( name != null && offP.getName().equalsIgnoreCase( name) || +// uuid != null && offP.getUniqueId().equals(uuid) ) { +// +// // ### getting the offline bukkit player here! +// player = new SpigotOfflinePlayer( offP ); +// players.add(player); +// break; +// } +// } +// // List olPlayers = Arrays.asList( Bukkit.getOfflinePlayers() ); // for ( OfflinePlayer offlinePlayer : olPlayers ) { // if ( name != null && offlinePlayer.getName().equals(name) || @@ -257,7 +295,7 @@ private Optional getOfflinePlayer(String name, UUID uuid) { // break; // } // } - return Optional.ofNullable( player ); +// return Optional.ofNullable( player ); } @Override public String getPluginVersion() { From 8ecc5bdf87a56664320883804c49810dee34974b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 27 Oct 2020 16:38:16 -0400 Subject: [PATCH 143/243] Bump the version due to the significant bug fix. --- changelog_v3.2.x.md | 33 ++++++++++++++++++++++++++++++++- gradle.properties | 2 +- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index e6217d488..235de539e 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,38 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.8 - 2020-10-26 +## tag v3.2.2-alpha.10 - 2020-10-26 + + +* **v3.2.2-alpha.10 - 2020-10-26** +Version bump due to the significance of the last bug fix. + + +* **Major bug fix: Eliminated the in prison caching of players.** +This collection was not able to deal with players reconnecting to the server, which would give them new player objects. The issue was that prison would have an obsolete (zombie) copy of the player and their inventory. So if any operations would be performed on the inventory, such as giving a selection wand, it would be placed in the orphaned object and the player would never get it. The only way to "fix" this issue would be to restart the server and then it would fail once they would log out and reconnect. +This was confirmed a problem with 1.9.2, 1.13.4, 1.15.2, and 1.16.3. It was not an issue with spigot v1.8.8. This did not impact players retrieved from events. +This fixes the issue by removing prison caching of the players. Now all instances of the players being used within prison are now live bukkit objects. +I suspect this issue has been within prison for a long time. Not sure why no one reported it before, or if they did, it was not clear how to reproduce this issue and the ones reporting it may not have been able to provide enough information to reproduce it. The way it is reproducable is to login, get a /mines wand or have prison interact with the player's inventory, then log out and then back in. Then /mines wand will fail to place it in the real player's inventory. It will only go in to the prison cache. + + +* **v3.2.2-alpha.9e - 2020-10-26** + +* **Bug fix: When a world is not available upon startup** it will try to set the boundaries for the mine. In doing so, it will try to extract the correct world to enable it and to remove the virtual status if it was set. If the world has not yet been loaded (ie... if you're using multiverse) then this was causing an error for that mine. This now will only mark the mine as disabled and allow the multiverse plugin to trigger the completion of the mine loading event for that mine (as it has been doing before virtual mines were added). +If a mine has the boundaries set and if it was disabled or virtual, then make it a real mine. Have checks to ensure the world is available, if not, then disable the mine. + + +* **v3.2.2-alpha.9d - 2020-10-26** + +* **New feature: Dump player's inventory to console** +This is useful to check status of various prison related functions. +One area that this maybe useful with some players reporting that they are getting a Prison Selection Wand, but it's not showing up in their inventory, although inspection of their inventory is showing they are getting it. + + +* **v3.2.2-alpha.9c - 2020-10-26** + + +* **Fix to GUIs and Close button conflict** +Fix to Mines GUI lore issues for Virtual Mines * **v3.2.2-alpha.9b - 2020-10-26** diff --git a/gradle.properties b/gradle.properties index 32d51873d..ab20e2426 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.9 +version=3.2.2-alpha.10 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From 5e4c54ef25edec130cfd21dbe88eaa8b56b180b2 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 27 Oct 2020 23:34:47 -0400 Subject: [PATCH 144/243] Reenabled the caching of null values when translating from one materal type to another. This prevents looking up a failed code many times and only allows one error message to be logged to the console. --- .../spigot/compat/CompatibilityCache.java | 49 ++++++++++--------- .../prison/spigot/compat/Spigot113Blocks.java | 14 +++--- .../prison/spigot/compat/Spigot18Blocks.java | 6 +-- 3 files changed, 34 insertions(+), 35 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java index eb0ab98b8..47272d052 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java @@ -22,6 +22,9 @@ public class CompatibilityCache { public static final byte NO_DATA_VALUE = (byte) -1; + public static final XMaterial NULL_TOKEN = XMaterial.VOID_AIR; + + private Map blockTypeCache; private Map xMaterialCache; @@ -39,14 +42,14 @@ public BlockType getCachedBlockType( Block spigotBlock, byte data ) { BlockType blockType = blockTypeCache.get( key ); - return blockType; + return blockType == BlockType.NULL_BLOCK ? null : blockType; } public void putCachedBlockType( Block spigotBlock, byte data, BlockType blockType ) { - if ( spigotBlock != null && blockType != null ) { + if ( spigotBlock != null ) { String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); if ( !blockTypeCache.containsKey( key ) ) { - blockTypeCache.put( key, blockType ); + blockTypeCache.put( key, blockType == null ? BlockType.NULL_BLOCK : blockType ); } } } @@ -57,14 +60,14 @@ public BlockType getCachedBlockType( ItemStack spigotStack, byte data ) { BlockType blockType = blockTypeCache.get( key ); - return blockType; + return blockType == BlockType.NULL_BLOCK ? null : blockType; } public void putCachedBlockType( ItemStack spigotStack, byte data, BlockType blockType ) { - if ( spigotStack != null && blockType != null ) { + if ( spigotStack != null ) { String key = spigotStack.getType().name() + ( data <= 0 ? "" : ":" +data); if ( !blockTypeCache.containsKey( key ) ) { - blockTypeCache.put( key, blockType ); + blockTypeCache.put( key, blockType == null ? BlockType.NULL_BLOCK : blockType ); } } } @@ -78,18 +81,17 @@ public XMaterial getCachedXMaterial( PrisonBlock prisonBlock ) XMaterial xMat = xMaterialCache.get( key ); - return xMat; + // Using VOID_AIR as temp placeholder for null values: + return xMat == XMaterial.VOID_AIR ? null : xMat; } public void putCachedXMaterial( PrisonBlock prisonBlock, XMaterial xMat ) { - if ( xMat != null ) { - - String key = prisonBlock.getBlockName(); + String key = prisonBlock.getBlockName(); - if ( !xMaterialCache.containsKey( key ) ) { - xMaterialCache.put( key, xMat ); - } + if ( !xMaterialCache.containsKey( key ) ) { + // Using VOID_AIR as temp placeholder for null values: + xMaterialCache.put( key, xMat == null ? XMaterial.VOID_AIR : xMat ); } } @@ -98,15 +100,15 @@ public XMaterial getCachedXMaterial( Block spigotBlock, byte data ) { XMaterial xMat = xMaterialCache.get( key ); - return xMat; + // Using VOID_AIR as temp placeholder for null values: + return xMat == XMaterial.VOID_AIR ? null : xMat; } public void putCachedXMaterial( Block spigotBlock, byte data, XMaterial xMat ) { - if ( xMat != null ) { - String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); + String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); - if ( !xMaterialCache.containsKey( key ) ) { - xMaterialCache.put( key, xMat ); - } + if ( !xMaterialCache.containsKey( key ) ) { + // Using VOID_AIR as temp placeholder for null values: + xMaterialCache.put( key, xMat == null ? XMaterial.VOID_AIR : xMat ); } } @@ -115,16 +117,15 @@ public XMaterial getCachedXMaterial( BlockType blockType, byte data ) { XMaterial xMat = xMaterialCache.get( key ); - return xMat; + // Using VOID_AIR as temp placeholder for null values: + return xMat == XMaterial.VOID_AIR ? null : xMat; } public void putCachedXMaterial( BlockType blockType, byte data, XMaterial xMat ) { - if ( xMat != null ) { - String key = blockType.name() + ( data <= 0 ? "" : ":" +data); if ( !xMaterialCache.containsKey( key ) ) { - xMaterialCache.put( key, xMat ); - } + // Using VOID_AIR as temp placeholder for null values: + xMaterialCache.put( key, xMat == null ? XMaterial.VOID_AIR : xMat ); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java index 80ef699a6..f01632ae0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot113Blocks.java @@ -19,13 +19,11 @@ public abstract class Spigot113Blocks implements CompatibilityBlocks { public BlockType getBlockType(Block spigotBlock) { - BlockType results = null; + BlockType results = getCachedBlockType( spigotBlock, NO_DATA_VALUE ); - if ( spigotBlock != null ) { - - results = getCachedBlockType( spigotBlock, NO_DATA_VALUE ); + if ( results == null ) { + if ( spigotBlock != null ) { - if ( results == null ) { results = BlockType.getBlock( spigotBlock.getType().name() ); // if ( results == null ) { @@ -81,7 +79,7 @@ public XMaterial getXMaterial( Block spigotBlock ) { } } - return results; + return results == NULL_TOKEN ? null : results; } @@ -102,7 +100,7 @@ public XMaterial getXMaterial( PrisonBlock prisonBlock ) { } - return results; + return results == NULL_TOKEN ? null : results; } @@ -144,7 +142,7 @@ public XMaterial getXMaterial( BlockType blockType ) { } - return results; + return results == NULL_TOKEN ? null : results; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index d8cdbd83a..00275aaf4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -125,7 +125,7 @@ public XMaterial getXMaterial( Block spigotBlock ) { } - return results; + return results == NULL_TOKEN ? null : results; } public XMaterial getXMaterial( PrisonBlock prisonBlock ) { @@ -145,7 +145,7 @@ public XMaterial getXMaterial( PrisonBlock prisonBlock ) { } - return results; + return results == NULL_TOKEN ? null : results; } @@ -190,7 +190,7 @@ public XMaterial getXMaterial( BlockType blockType ) { } - return results; + return results == NULL_TOKEN ? null : results; } From 4f808208f3f20d33096dd593df8d8ba176601fc1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 00:02:56 -0400 Subject: [PATCH 145/243] Remove more of the Items related code which has not been used for awhile. ItemManager and troubleshooters related to that. --- .../java/tech/mcprison/prison/Prison.java | 36 +++--- .../java/tech/mcprison/prison/PrisonAPI.java | 7 +- .../inbuilt/ItemTroubleshooter.java | 74 ++++++------- .../tech/mcprison/prison/util/BlockType.java | 28 ++--- .../mcprison/prison/util/ItemManager.java | 104 ++++++++---------- 5 files changed, 112 insertions(+), 137 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/Prison.java b/prison-core/src/main/java/tech/mcprison/prison/Prison.java index 50b699c24..c06edc42d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/Prison.java +++ b/prison-core/src/main/java/tech/mcprison/prison/Prison.java @@ -25,7 +25,6 @@ import tech.mcprison.prison.alerts.Alerts; import tech.mcprison.prison.commands.CommandHandler; -import tech.mcprison.prison.error.Error; import tech.mcprison.prison.error.ErrorManager; import tech.mcprison.prison.integration.IntegrationManager; import tech.mcprison.prison.internal.platform.Platform; @@ -37,9 +36,7 @@ import tech.mcprison.prison.selection.SelectionManager; import tech.mcprison.prison.store.Database; import tech.mcprison.prison.troubleshoot.TroubleshootManager; -import tech.mcprison.prison.troubleshoot.inbuilt.ItemTroubleshooter; import tech.mcprison.prison.util.EventExceptionHandler; -import tech.mcprison.prison.util.ItemManager; /** * Entry point for implementations.

An instance of Prison can be retrieved using the static @@ -81,7 +78,7 @@ public class Prison private SelectionManager selectionManager; private EventBus eventBus; private LocaleManager localeManager; - private ItemManager itemManager; +// private ItemManager itemManager; private ErrorManager errorManager; private TroubleshootManager troubleshootManager; private IntegrationManager integrationManager; @@ -206,19 +203,20 @@ private void initManagers() { this.selectionManager = new SelectionManager(); this.troubleshootManager = new TroubleshootManager(); this.integrationManager = new IntegrationManager(); + - try { - this.itemManager = new ItemManager(); - } catch (Exception e) { - this.errorManager.throwError(new Error( - "Error while loading items.csv. Try running /prison troubleshoot item_scan.") - .appendStackTrace("when loading items.csv", e)); - Output.get().logError("Try running /prison troubleshoot item_scan."); - } +// try { +// this.itemManager = new ItemManager(); +// } catch (Exception e) { +// this.errorManager.throwError(new Error( +// "Error while loading items.csv. Try running /prison troubleshoot item_scan.") +// .appendStackTrace("when loading items.csv", e)); +// Output.get().logError("Try running /prison troubleshoot item_scan."); +// } } private void registerInbuiltTroubleshooters() { - PrisonAPI.getTroubleshootManager().registerTroubleshooter(new ItemTroubleshooter()); +// PrisonAPI.getTroubleshootManager().registerTroubleshooter(new ItemTroubleshooter()); } private void scheduleAlertNagger() { @@ -335,12 +333,12 @@ public SelectionManager getSelectionManager() { return selectionManager; } - /** - * Returns the item manager, which manages the "friendly" names of items - */ - public ItemManager getItemManager() { - return itemManager; - } +// /** +// * Returns the item manager, which manages the "friendly" names of items +// */ +// public ItemManager getItemManager() { +// return itemManager; +// } /** * Returns the meta database, which is used to store data from within the core. diff --git a/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java b/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java index d04a3b099..6b0246396 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java +++ b/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java @@ -22,7 +22,6 @@ import tech.mcprison.prison.modules.ModuleManager; import tech.mcprison.prison.store.Storage; import tech.mcprison.prison.troubleshoot.TroubleshootManager; -import tech.mcprison.prison.util.ItemManager; import tech.mcprison.prison.util.Location; /** @@ -45,9 +44,9 @@ public static EventBus getEventBus() { return Prison.get().getEventBus(); } - public static ItemManager getItemManager() { - return Prison.get().getItemManager(); - } +// public static ItemManager getItemManager() { +// return Prison.get().getItemManager(); +// } public static Optional getWorld(String name) { return Prison.get().getPlatform().getWorld(name); diff --git a/prison-core/src/main/java/tech/mcprison/prison/troubleshoot/inbuilt/ItemTroubleshooter.java b/prison-core/src/main/java/tech/mcprison/prison/troubleshoot/inbuilt/ItemTroubleshooter.java index 67dbd9d01..d11e77076 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/troubleshoot/inbuilt/ItemTroubleshooter.java +++ b/prison-core/src/main/java/tech/mcprison/prison/troubleshoot/inbuilt/ItemTroubleshooter.java @@ -1,48 +1,42 @@ package tech.mcprison.prison.troubleshoot.inbuilt; -import tech.mcprison.prison.PrisonAPI; -import tech.mcprison.prison.internal.CommandSender; -import tech.mcprison.prison.troubleshoot.TroubleshootResult; -import tech.mcprison.prison.troubleshoot.Troubleshooter; -import tech.mcprison.prison.util.ItemManager; - -import java.io.File; - /** * Inbuilt troubleshooter to scan the 'items.csv' file to ensure it's valid. * * @author Faizaan A. Datoo */ -public class ItemTroubleshooter extends Troubleshooter { - - public ItemTroubleshooter() { - super("item_scan", "Run this if you have trouble with the items.csv file."); - } - - @Override public TroubleshootResult invoke(CommandSender invoker) { - - // Let's do our own test of initializing the ItemManager. - try { - ItemManager ourManager = new ItemManager(); - ourManager.getItems(); - } catch (Exception e) { - // OK, so something's wrong - // Let's try deleting the file and telling the user to relaunch. - - File itemsCsv = new File(PrisonAPI.getPluginDirectory(), "items.csv"); - boolean deleted = itemsCsv.delete(); - if (deleted) { - return new TroubleshootResult(TroubleshootResult.Result.USER_ACTION, - "We've found a problem with your items.csv file. We deleted it so that a new and non-corrupted one is generated. Please restart your server for the changes to take effect."); - } else { - // We can only hot delete on *NIX systems. - return new TroubleshootResult(TroubleshootResult.Result.FAILURE, - "We've found a problem with your items.csv file. We tried deleting it, but it could not be successfully deleted. Please stop your server, delete '/plugins/Prison/items.csv', and start your server again."); - } - } - - // Nothing is wrong. - return new TroubleshootResult(TroubleshootResult.Result.SUCCESS, - "No problems were found with your item manager or items.csv file."); - } +public class ItemTroubleshooter +// extends Troubleshooter + { + +// public ItemTroubleshooter() { +// super("item_scan", "Run this if you have trouble with the items.csv file."); +// } +// +// @Override public TroubleshootResult invoke(CommandSender invoker) { +// +// // Let's do our own test of initializing the ItemManager. +// try { +// ItemManager ourManager = new ItemManager(); +// ourManager.getItems(); +// } catch (Exception e) { +// // OK, so something's wrong +// // Let's try deleting the file and telling the user to relaunch. +// +// File itemsCsv = new File(PrisonAPI.getPluginDirectory(), "items.csv"); +// boolean deleted = itemsCsv.delete(); +// if (deleted) { +// return new TroubleshootResult(TroubleshootResult.Result.USER_ACTION, +// "We've found a problem with your items.csv file. We deleted it so that a new and non-corrupted one is generated. Please restart your server for the changes to take effect."); +// } else { +// // We can only hot delete on *NIX systems. +// return new TroubleshootResult(TroubleshootResult.Result.FAILURE, +// "We've found a problem with your items.csv file. We tried deleting it, but it could not be successfully deleted. Please stop your server, delete '/plugins/Prison/items.csv', and start your server again."); +// } +// } +// +// // Nothing is wrong. +// return new TroubleshootResult(TroubleshootResult.Result.SUCCESS, +// "No problems were found with your item manager or items.csv file."); +// } } diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 762b96a42..48819ca8e 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -19,13 +19,7 @@ package tech.mcprison.prison.util; import java.util.ArrayList; -import java.util.Collection; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import tech.mcprison.prison.Prison; /** @@ -1202,17 +1196,17 @@ private static BlockType getBlockById(String id) { return getBlockWithData(Integer.parseInt(id.split(":")[0]), Short.parseShort(id.split(":")[1])); } - Prison prison = Prison.get(); - if ( prison != null && prison.getItemManager() != null ) { - Set>> entrySet = prison.getItemManager().getItems().entrySet(); - for (Map.Entry> entry : entrySet) { - if (entry.getValue().contains(id.toLowerCase())) { - return entry.getKey(); - } - } - - return getBlockByName(id); - } +// Prison prison = Prison.get(); +// if ( prison != null && prison.getItemManager() != null ) { +// Set>> entrySet = prison.getItemManager().getItems().entrySet(); +// for (Map.Entry> entry : entrySet) { +// if (entry.getValue().contains(id.toLowerCase())) { +// return entry.getKey(); +// } +// } +// +// return getBlockByName(id); +// } return null; } diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java b/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java index 4ebf34c45..2d72b97aa 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/ItemManager.java @@ -18,16 +18,6 @@ package tech.mcprison.prison.util; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.Multimap; -import tech.mcprison.prison.Prison; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Collection; -import java.util.Map; - /** * This class takes care of the items.csv containing 8000+ different name combinations for blocks. * @@ -36,7 +26,7 @@ */ public class ItemManager { - private Multimap items; +// private Multimap items; /** @@ -45,51 +35,51 @@ public class ItemManager { * * @throws Exception */ - @Deprecated - public ItemManager() throws Exception { - items = ArrayListMultimap.create(); - /* - File file = new File(Prison.get().getDataFolder(), "/items.csv"); - - if (!file.exists()) { - try ( - // make sure the InputStream is properly closed. May not be 100% needed here: - InputStream inputStream = getClass().getResourceAsStream("/items.csv"); - ) - { - Files.copy(inputStream, Paths.get(file.getPath())); - } - catch (Exception e) { - throw new IOException("Error while copying items.csv from the jar resource to a " + - "file within the plugins directory:", e); - } - } - try ( - // Was a memory leak... always must be closed, so the try with resource ensures that it is: - BufferedReader in = new BufferedReader(new FileReader(file)); - ) - { - String inputLine; - - while ((inputLine = in.readLine()) != null) { - if (!inputLine.startsWith("#")) { - String[] array = inputLine.split(","); - String itemName = array[0]; - int id = Integer.parseInt(array[1]); - short data = Short.parseShort(array[2]); - items.put(BlockType.getBlockWithData(id, data), itemName.toLowerCase()); - } - } - - } - catch (Exception e) { - throw new IOException("Error while reading items.csv -- it's probably invalid", e); - } - */ - } - - public Map> getItems() { - return items.asMap(); - } +// @Deprecated +// public ItemManager() throws Exception { +// items = ArrayListMultimap.create(); +// /* +// File file = new File(Prison.get().getDataFolder(), "/items.csv"); +// +// if (!file.exists()) { +// try ( +// // make sure the InputStream is properly closed. May not be 100% needed here: +// InputStream inputStream = getClass().getResourceAsStream("/items.csv"); +// ) +// { +// Files.copy(inputStream, Paths.get(file.getPath())); +// } +// catch (Exception e) { +// throw new IOException("Error while copying items.csv from the jar resource to a " + +// "file within the plugins directory:", e); +// } +// } +// try ( +// // Was a memory leak... always must be closed, so the try with resource ensures that it is: +// BufferedReader in = new BufferedReader(new FileReader(file)); +// ) +// { +// String inputLine; +// +// while ((inputLine = in.readLine()) != null) { +// if (!inputLine.startsWith("#")) { +// String[] array = inputLine.split(","); +// String itemName = array[0]; +// int id = Integer.parseInt(array[1]); +// short data = Short.parseShort(array[2]); +// items.put(BlockType.getBlockWithData(id, data), itemName.toLowerCase()); +// } +// } +// +// } +// catch (Exception e) { +// throw new IOException("Error while reading items.csv -- it's probably invalid", e); +// } +// */ +// } +// +// public Map> getItems() { +// return items.asMap(); +// } } From cb2010c9343d74075a2ebfeb4f76cf3a6bce5d0b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 01:46:45 -0400 Subject: [PATCH 146/243] Hook PrisonBlockTypes up to the Prison object. This will load a list of new block types at server startup that have been validated against the version of minecraft that is running. This will ensure that the only blocks that the player will see listed in block searches, as one example, will be blocks they can actually use. This is highly dynamic based upon the server and not the complier. This is preparing for the use of the new block model by giving access to valid blocks within many of the /mine related commands. --- .../java/tech/mcprison/prison/Prison.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/prison-core/src/main/java/tech/mcprison/prison/Prison.java b/prison-core/src/main/java/tech/mcprison/prison/Prison.java index c06edc42d..7287907b6 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/Prison.java +++ b/prison-core/src/main/java/tech/mcprison/prison/Prison.java @@ -27,6 +27,7 @@ import tech.mcprison.prison.commands.CommandHandler; import tech.mcprison.prison.error.ErrorManager; import tech.mcprison.prison.integration.IntegrationManager; +import tech.mcprison.prison.internal.block.PrisonBlockTypes; import tech.mcprison.prison.internal.platform.Platform; import tech.mcprison.prison.localization.LocaleManager; import tech.mcprison.prison.modules.Module; @@ -83,6 +84,8 @@ public class Prison private TroubleshootManager troubleshootManager; private IntegrationManager integrationManager; private Database metaDatabase; + + private PrisonBlockTypes prisonBlockTypes; /** * Gets the current instance of this class.

An instance will always be available after @@ -130,6 +133,17 @@ public boolean init(Platform platform, String minecraftVersion) { this.prisonCommands = new PrisonCommand(); this.commandHandler.registerCommands(prisonCommands); + + + // Setup hooks in to the valid prison block types. This will be only + // the block types that have tested to be valid on the server that is + // running prison. This provides full compatibility to the admins that + // if a block is listed, then it's usable. No more guessing or finding + // out after the fact that a block that was used was invalid for + // their version of minecraft. + this.prisonBlockTypes = new PrisonBlockTypes(); + this.prisonBlockTypes.loadServerBlockTypes(); + long stopTime = System.currentTimeMillis(); @@ -361,4 +375,16 @@ public IntegrationManager getIntegrationManager() { return integrationManager; } + /** + * Setup hooks in to the valid prison block types. This will be only the + * block types that have tested to be valid on the server that is running + * prison. This provides full compatibility to the admins that if a block + * is listed, then it's usable. No more guessing or finding out after the + * fact that a block that was used was invalid for their version of minecraft. + */ + public PrisonBlockTypes getPrisonBlockTypes() { + return prisonBlockTypes; + } + + } From 9524f9877a472b0ddfdfac3f33775179d5fa046f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 02:00:36 -0400 Subject: [PATCH 147/243] Enhance the PrisonBlock to use block instead of mineable for better consistency with bukkit and spigot use of blocks. Also set block name to be always lower case for easier searches. PrisonBlockTypes has been enhanced to be able to search for blocks by name. This is using a b-tree for quicker retrieval instead of loop though all available blocks. When valid blocks are added to PrisonBlockTypes (the valid blocks that exist on that server) they are have their isValid and isBlock values set to true. Also now using XMaterial names for better long term consistency that will not change if the admins upgrade or down grade their servers. --- .../prison/internal/block/PrisonBlock.java | 28 ++++++++++++++----- .../internal/block/PrisonBlockTypes.java | 18 ++++++++++-- .../mcprison/prison/mines/data/MineData.java | 13 +++++++++ .../mcprison/prison/spigot/SpigotUtil.java | 6 +++- .../prison/spigot/api/PrisonSpigotAPI.java | 4 +-- 5 files changed, 57 insertions(+), 12 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java index 0f6460949..80159c964 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java @@ -2,7 +2,8 @@ /** *

This class embodies the nature of the block and different behaviors, if - * they exist. + * they exist. The block name should be based upon the XMaterial name if + * possible to ensure correct mapping for different versions of spigot. *

* */ @@ -12,18 +13,31 @@ public class PrisonBlock { private double chance; private boolean valid = true; - private boolean mineable = true; + private boolean block = true; private boolean legacyBlock = false; + + /** + * The name of this block should be based upon the XMaterial name in all + * lower case. + * + * @param blockName + */ public PrisonBlock( String blockName ) { this( blockName, 0); } + /** + * The block name will be set to all lower case for consistancy when searching and mapping. + * + * @param blockName + * @param chance + */ public PrisonBlock( String blockName, double chance ) { super(); - this.blockName = blockName; + this.blockName = blockName.toLowerCase(); this.chance = chance; } @@ -53,11 +67,11 @@ public void setValid( boolean valid ) { this.valid = valid; } - public boolean isMineable() { - return mineable; + public boolean isBlock() { + return block; } - public void setMineable( boolean mineable ){ - this.mineable = mineable; + public void setBlock( boolean isBlock ){ + this.block = isBlock; } /** diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java index 3bcf90bbf..8f6528c98 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.TreeMap; import tech.mcprison.prison.Prison; @@ -14,6 +15,7 @@ public class PrisonBlockTypes { private List blockTypes; + private TreeMap blockTypesByName; public enum InternalBlockTypes { IGNORE, @@ -25,6 +27,7 @@ public PrisonBlockTypes() { this.blockTypes = new ArrayList<>(); + this.blockTypesByName = new TreeMap<>(); } @@ -36,14 +39,18 @@ public void loadServerBlockTypes() { // Add in the internal block types and mark them as not mineable. for ( InternalBlockTypes iBlockType : InternalBlockTypes.values() ) { PrisonBlock block = new PrisonBlock( iBlockType.name() ); - block.setMineable( false ); + block.setBlock( false ); getBlockTypes().add( block ); } // Next using the server's platform, load all of the available blockTypes. Prison.get().getPlatform().getAllPlatformBlockTypes( getBlockTypes() ); - + + // Map all available blocks to the blockTypesByName map: + for ( PrisonBlock pb : getBlockTypes() ) { + getBlockTypesByName().put( pb.getBlockName().toLowerCase(), pb ); + } } public List getBlockTypes() { @@ -52,5 +59,12 @@ public List getBlockTypes() { public void setBlockTypes( List blockTypes ) { this.blockTypes = blockTypes; } + + public TreeMap getBlockTypesByName() { + return blockTypesByName; + } + public void setBlockTypesByName( TreeMap blockTypesByName ) { + this.blockTypesByName = blockTypesByName; + } } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 213634d93..2c1a57574 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -406,6 +406,19 @@ public boolean isInMine(PrisonBlock blockType) { } return false; } + + public PrisonBlock getPrisonBlock( PrisonBlock blockType ) { + PrisonBlock results = null; + + for (PrisonBlock block : getPrisonBlocks()) { + if (blockType.getBlockName().equalsIgnoreCase( block.getBlockName())) { + results = block; + break; + } + } + + return results; + } public double area() { if ( isVirtual() ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java index 5d844a3fe..16b59deae 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java @@ -153,7 +153,11 @@ public static void getAllPlatformBlockTypes( List blockTypes ) { Material mat = xMat.parseMaterial(); if ( mat != null ) { if ( mat.isBlock() ) { - PrisonBlock block = new PrisonBlock( mat.name() ); + + PrisonBlock block = new PrisonBlock( xMat.name().toLowerCase() ); + + block.setValid( true ); + block.setBlock( mat.isBlock() ); blockTypes.add( block ); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java index 26abe5a16..d80063c4c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/api/PrisonSpigotAPI.java @@ -113,7 +113,7 @@ public String getPrisonBlockName( String blockName ) { if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { PrisonBlock prisonBlock = Prison.get().getPlatform().getPrisonBlock( blockName ); - if ( prisonBlock != null && prisonBlock.isMineable() ) { + if ( prisonBlock != null && prisonBlock.isBlock() ) { results = prisonBlock.getBlockName(); } } @@ -146,7 +146,7 @@ public List getMines( String prisonBlockName ) { if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { prisonBlock = Prison.get().getPlatform().getPrisonBlock( prisonBlockName ); - if ( prisonBlock != null && !prisonBlock.isMineable() ) { + if ( prisonBlock != null && !prisonBlock.isBlock() ) { prisonBlock = null; } } From a2431207e6eb9596a69a427bc07456499d44a723 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 02:06:07 -0400 Subject: [PATCH 148/243] Hooking up more of the prison's mines commands to properly, and fully, use the new prison block model. The new PrisonBlocks are now being validated againt the dynamic list of valid blocks that are available on the server that is running prison. So within the block search, as one example, it will only show valid blocks that can be used; the old block model would show all possible blocks within prison, some of which may not have been blocks. --- .../prison/mines/commands/MinesCommands.java | 306 +++++++++++++----- 1 file changed, 224 insertions(+), 82 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index b2e76e8b6..dd7133de4 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -36,7 +36,6 @@ import tech.mcprison.prison.commands.Wildcard; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; -import tech.mcprison.prison.internal.World; import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.mines.PrisonMines; import tech.mcprison.prison.mines.data.Block; @@ -407,36 +406,31 @@ public void addBlockCommand(CommandSender sender, if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { - PrisonBlock prisonBlock = Prison.get().getPlatform().getPrisonBlock( block ); - if ( prisonBlock != null ) { - pMines.getMinesMessages().getLocalizable("not_a_block"). - withReplacements(block).sendTo(sender); - return; - } - + block = block == null ? null : block.trim().toLowerCase(); + PrisonBlock prisonBlock = null; - if (m.isInMine(prisonBlock)) { - pMines.getMinesMessages().getLocalizable("block_already_added"). - sendTo(sender); - return; + if ( block != null && Prison.get().getPrisonBlockTypes().getBlockTypesByName().containsKey( block ) ) { + prisonBlock = Prison.get().getPrisonBlockTypes().getBlockTypesByName().get( block ); } - if ( chance <= 0 ) { - sender.sendMessage( "The percent chance must have a value greater than zero." ); + if ( prisonBlock == null ) { + pMines.getMinesMessages().getLocalizable("not_a_block"). + withReplacements(block).sendTo(sender); return; } - final double[] totalComp = {chance}; - m.getPrisonBlocks().forEach(block1 -> totalComp[0] += block1.getChance()); - if (totalComp[0] > 100.0d) { - pMines.getMinesMessages().getLocalizable("mine_full"). - sendTo(sender, LogLevel.ERROR); - return; - } +// if (m.isInMine(prisonBlock)) { +// pMines.getMinesMessages().getLocalizable("block_already_added"). +// sendTo(sender); +// return; +// } +// + updateMinePrisonBlock( sender, m, prisonBlock, chance, pMines ); - prisonBlock.setChance( chance ); - m.getPrisonBlocks().add( prisonBlock ); + + + } else { @@ -468,17 +462,65 @@ public void addBlockCommand(CommandSender sender, } m.getBlocks().add(new Block(blockType, chance)); + + pMines.getMineManager().saveMine( m ); + + pMines.getMinesMessages().getLocalizable("block_added") + .withReplacements(block, mineName).sendTo(sender); } - pMines.getMineManager().saveMine( m ); - - pMines.getMinesMessages().getLocalizable("block_added") - .withReplacements(block, mineName).sendTo(sender); getBlocksList(m, null).send(sender); //pMines.getMineManager().clearCache(); } + private void updateMinePrisonBlock( CommandSender sender, Mine m, PrisonBlock prisonBlock, double chance, PrisonMines pMines ) + { + PrisonBlock preexistingPrisonBlock = m.getPrisonBlock( prisonBlock ); + + if ( chance <= 0 ) { + if ( preexistingPrisonBlock == null ) { + sender.sendMessage( "The percent chance must have a value greater than zero." ); + } + else { + // Delete the block since it exists and the chance was set to zero: + deleteBlock( sender, pMines, m, preexistingPrisonBlock ); + } + return; + } + + + // if block already exists, back out it's chance since the new block will replace it: + final double[] totalComp = { + ( chance + (preexistingPrisonBlock == null ? 0 : + preexistingPrisonBlock.getChance()) )}; + + m.getPrisonBlocks().forEach(block1 -> totalComp[0] += block1.getChance()); + if (totalComp[0] > 100.0d) { + pMines.getMinesMessages().getLocalizable("mine_full"). + sendTo(sender, LogLevel.ERROR); + return; + } + + if ( preexistingPrisonBlock != null ) { + preexistingPrisonBlock.setChance( chance ); + + pMines.getMineManager().saveMine( m ); + + pMines.getMinesMessages().getLocalizable("block_set") + .withReplacements(preexistingPrisonBlock.getBlockName(), m.getName()).sendTo(sender); + } + else { + prisonBlock.setChance( chance ); + m.getPrisonBlocks().add( prisonBlock ); + + pMines.getMineManager().saveMine( m ); + + pMines.getMinesMessages().getLocalizable("block_added") + .withReplacements(prisonBlock.getBlockName(), m.getName()).sendTo(sender); + } + } + @Command(identifier = "mines block set", permissions = "mines.block", onlyPlayers = false, description = "Changes the percentage of a block in a mine.") public void setBlockCommand(CommandSender sender, @@ -506,15 +548,16 @@ public void setBlockCommand(CommandSender sender, if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { - - PrisonBlock prisonBlock = Prison.get().getPlatform().getPrisonBlock( block ); - if ( prisonBlock == null ) { - pMines.getMinesMessages().getLocalizable("not_a_block"). - withReplacements(block).sendTo(sender); - return; + + block = block == null ? null : block.trim().toLowerCase(); + PrisonBlock prisonBlock = null; + + if ( block != null && Prison.get().getPrisonBlockTypes().getBlockTypesByName().containsKey( block ) ) { + prisonBlock = Prison.get().getPrisonBlockTypes().getBlockTypesByName().get( block ); } + // Change behavior: If trying to change a block that is not in the mine, then instead add it: if (!m.isInMine(prisonBlock)) { addBlockCommand( sender, mineName, block, chance ); @@ -523,34 +566,37 @@ public void setBlockCommand(CommandSender sender, return; } - // If it's 0, just delete it! - if (chance <= 0.0d) { - deleteBlock( sender, pMines, m, prisonBlock ); -// delBlockCommand(sender, mine, block); - return; - } - - - double totalChance = chance; - PrisonBlock blockToUpdate = null; - for ( PrisonBlock blk : m.getPrisonBlocks() ) { - if ( blk.getBlockName().equalsIgnoreCase( prisonBlock.getBlockName() ) ) { - totalChance -= blk.getChance(); - blockToUpdate = blk; - } - else { - totalChance += blk.getChance(); - } - } - - if (totalChance > 100.0d) { - pMines.getMinesMessages().getLocalizable("mine_full"). - sendTo(sender, LogLevel.ERROR); - return; - } - - blockToUpdate.setChance( chance ); + updateMinePrisonBlock( sender, m, prisonBlock, chance, pMines ); + +// // If it's 0, just delete it! +// if (chance <= 0.0d) { +// deleteBlock( sender, pMines, m, prisonBlock ); +//// delBlockCommand(sender, mine, block); +// return; +// } +// +// +// double totalChance = chance; +// PrisonBlock blockToUpdate = null; +// for ( PrisonBlock blk : m.getPrisonBlocks() ) { +// if ( blk.getBlockName().equalsIgnoreCase( prisonBlock.getBlockName() ) ) { +// totalChance -= blk.getChance(); +// blockToUpdate = blk; +// } +// else { +// totalChance += blk.getChance(); +// } +// } +// +// if (totalChance > 100.0d) { +// pMines.getMinesMessages().getLocalizable("mine_full"). +// sendTo(sender, LogLevel.ERROR); +// return; +// } +// +// blockToUpdate.setChance( chance ); +// // // total chance is not being calculated correctly... // // final double[] totalComp = {chance}; @@ -616,14 +662,14 @@ public void setBlockCommand(CommandSender sender, blockToUpdate.setChance( chance ); + + pMines.getMineManager().saveMine( m ); + + pMines.getMinesMessages().getLocalizable("block_set") + .withReplacements(block, mineName).sendTo(sender); } - - pMines.getMineManager().saveMine( m ); - - pMines.getMinesMessages().getLocalizable("block_set") - .withReplacements(block, mineName).sendTo(sender); getBlocksList(m, null).send(sender); //pMines.getMineManager().clearCache(); @@ -644,20 +690,50 @@ public void delBlockCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); - BlockType blockType = BlockType.getBlock(block); - if (blockType == null) { - pMines.getMinesMessages().getLocalizable("not_a_block") - .withReplacements(block).sendTo(sender); - return; + + if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { + + + block = block == null ? null : block.trim().toLowerCase(); + PrisonBlock prisonBlock = null; + + if ( block != null && Prison.get().getPrisonBlockTypes().getBlockTypesByName().containsKey( block ) ) { + prisonBlock = Prison.get().getPrisonBlockTypes().getBlockTypesByName().get( block ); + } + + // Cannot delete a block if it does not exist: +// if (!m.isInMine(prisonBlock)) { +// return; +// } + + // make sure the deleteBlock is deleting the actual block stored in the mine: + PrisonBlock preexistingPrisonBlock = m.getPrisonBlock( prisonBlock ); + + if ( preexistingPrisonBlock != null ) { + + deleteBlock( sender, pMines, m, preexistingPrisonBlock ); + } + } - - if (!m.isInMine(blockType)) { - pMines.getMinesMessages().getLocalizable("block_not_removed") - .sendTo(sender); - return; + else { + + BlockType blockType = BlockType.getBlock(block); + if (blockType == null) { + pMines.getMinesMessages().getLocalizable("not_a_block") + .withReplacements(block).sendTo(sender); + return; + } + + if (!m.isInMine(blockType)) { + pMines.getMinesMessages().getLocalizable("block_not_removed") + .sendTo(sender); + return; + } + + deleteBlock( sender, pMines, m, blockType ); } - - deleteBlock( sender, pMines, m, blockType ); + + getBlocksList(m, null).send(sender); } /** @@ -682,7 +758,6 @@ private void deleteBlock( CommandSender sender, PrisonMines pMines, Mine m, Pris pMines.getMinesMessages().getLocalizable("block_deleted"). withReplacements(prisonBlock.getBlockName(), m.getName()).sendTo(sender); - getBlocksList(m, null).send(sender); } } /** @@ -707,7 +782,6 @@ private void deleteBlock( CommandSender sender, PrisonMines pMines, Mine m, Bloc pMines.getMinesMessages().getLocalizable("block_deleted") .withReplacements(blockType.name(), m.getName()).sendTo(sender); - getBlocksList(m, null).send(sender); } } @@ -723,12 +797,81 @@ public void searchBlockCommand(CommandSender sender, pMines.getMinesMessages().getLocalizable("block_search_blank").sendTo(sender); } - ChatDisplay display = blockSearchBuilder(search, page); + ChatDisplay display = null; + + if ( Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ) ) { + + display = prisonBlockSearchBuilder(search, page); + } + else { + + display = blockSearchBuilder(search, page); + } display.send(sender); //pMines.getMineManager().clearCache(); } + + private ChatDisplay prisonBlockSearchBuilder(String search, String page) + { + List blocks = new ArrayList<>(); + + for ( PrisonBlock pBlock : Prison.get().getPrisonBlockTypes().getBlockTypes() ) { + if ( pBlock.isBlock() && pBlock.getBlockName().contains( search.toLowerCase() )) { + blocks.add( pBlock ); + } + } + + CommandPagedData cmdPageData = new CommandPagedData( + "/mines block search " + search, blocks.size(), + 0, page ); + + // Same page logic as in mines info +// int curPage = 1; +// int pageSize = 10; +// int pages = (blocks.size() / pageSize) + 1; +// try +// { +// curPage = Integer.parseInt(page); +// } +// catch ( NumberFormatException e ) +// { +// // Ignore: Not an integer, will use the default value. +// } +// curPage = ( curPage < 1 ? 1 : (curPage > pages ? pages : curPage )); +// int pageStart = (curPage - 1) * pageSize; +// int pageEnd = ((pageStart + pageSize) > blocks.size() ? blocks.size() : pageStart + pageSize); + + + ChatDisplay display = new ChatDisplay("Block Search (" + blocks.size() + ")"); + display.text("&8Click a block to add it to a mine."); + + BulletedListComponent.BulletedListBuilder builder = + new BulletedListComponent.BulletedListBuilder(); + for ( int i = cmdPageData.getPageStart(); i < cmdPageData.getPageEnd(); i++ ) + { + PrisonBlock block = blocks.get(i); + FancyMessage msg = + new FancyMessage( + String.format("&7%s %s", + Integer.toString(i), block.getBlockName() +// block.getAltName(), + )) + .suggest("/mines block add " + getLastMineReferenced() + + " " + block.getBlockName() + " %") + .tooltip("&7Click to add block to a mine."); + builder.add(msg); + } + display.addComponent(builder.build()); + + // This command plus parameters used: +// String pageCmd = "/mines block search " + search; + + cmdPageData.generatePagedCommandFooter( display ); + + return display; + } private ChatDisplay blockSearchBuilder(String search, String page) { @@ -1185,8 +1328,7 @@ private BulletedListComponent getBlocksList(Mine m, CommandPagedData cmdPageData if ( cmdPageData == null || count++ >= cmdPageData.getPageStart() && count <= cmdPageData.getPageEnd() ) { - String blockName = - StringUtils.capitalize(block.getBlockName().replaceAll("_", " ").toLowerCase()); + String blockName = block.getBlockName().replaceAll("_", " ").toLowerCase(); String percent = dFmt.format(chance) + "%"; FancyMessage msg = new FancyMessage(String.format("&7%s - %s (%s)", percent, block.getBlockName(), blockName)) From c6d0f8e1d6e23fd209cd7be77832b09bb7207bc5 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 03:25:58 -0400 Subject: [PATCH 149/243] Update to the placeholders documents. --- changelog_v3.2.x.md | 22 +++++ .../prison_docs_310_guide_placeholders_1.png | Bin 9697 -> 14524 bytes .../prison_docs_310_guide_placeholders_2.png | Bin 48656 -> 51738 bytes .../prison_docs_310_guide_placeholders_2b.png | Bin 0 -> 53316 bytes .../prison_docs_310_guide_placeholders_3.png | Bin 15941 -> 36798 bytes .../prison_docs_310_guide_placeholders_3b.png | Bin 0 -> 38888 bytes .../prison_docs_310_guide_placeholders_4b.png | Bin 0 -> 32919 bytes .../prison_docs_310_guide_placeholders_6.png | Bin 0 -> 3378464 bytes docs/prison_docs_310_guide_placeholders.md | 80 +++++++++++++++--- 9 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 docs/images/prison_docs_310_guide_placeholders_2b.png create mode 100644 docs/images/prison_docs_310_guide_placeholders_3b.png create mode 100644 docs/images/prison_docs_310_guide_placeholders_4b.png create mode 100644 docs/images/prison_docs_310_guide_placeholders_6.png diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 235de539e..94155d3ca 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,28 @@ that you need. ## tag v3.2.2-alpha.10 - 2020-10-26 +* **Hooking up more of the prison's mines commands to properly, and fully, use the new prison block model.** +The new PrisonBlocks are now being validated against the dynamic list of valid blocks that are available on the server that is running prison. So within the block search, as one example, it will only show valid blocks that can be used; the old block model would show all possible blocks within prison, some of which may not have been blocks. + + +* **Enhancements for Prison's new block model** +Enhance the PrisonBlock to use block instead of mineable for better consistency with bukkit and spigot use of blocks. Also set block name to be always lower case for easier searches. +PrisonBlockTypes has been enhanced to be able to search for blocks by name. This is using a b-tree for quicker retrieval instead of loop though all available blocks. +When valid blocks are added to PrisonBlockTypes (the valid blocks that exist on that server) they are have their isValid and isBlock values set to true. Also now using XMaterial names for better long term consistency that will not change if the admins upgrade or down grade their servers. + + +* **Hook PrisonBlockTypes up to the Prison object.** +This will load a list of new block types at server startup that have been validated against the version of minecraft that is running. This will ensure that the only blocks that the player will see listed in block searches, as one example, will be blocks they can actually use. This is highly dynamic based upon the server and not the complier. +This is preparing for the use of the new block model by giving access to valid blocks within many of the /mine related commands. + + +* **Remove more of the Items related code** which has not been used for awhile. ItemManager and troubleshooters related to that. + + +* **Reenabled the caching of null values when translating from one material type to another.** +This prevents looking up a failed code many times and only allows one error message to be logged to the console. + + * **v3.2.2-alpha.10 - 2020-10-26** Version bump due to the significance of the last bug fix. diff --git a/docs/images/prison_docs_310_guide_placeholders_1.png b/docs/images/prison_docs_310_guide_placeholders_1.png index 4dd6faf797de143cd1b184737e110199dcc29dc4..8372b4f35d00d4a8786b9b0fd9a22d7a416ba8a0 100644 GIT binary patch literal 14524 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 V1i6@lw-TYlwhjkK`_KOMe*hw}{hj~- literal 9697 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 diff --git a/docs/images/prison_docs_310_guide_placeholders_2.png b/docs/images/prison_docs_310_guide_placeholders_2.png index 1d360d2a7aca0cef6e3af4368eb0690d4b0fd9f7..af24a4c3c0e9ca09bec93ca8e86877baac75a064 100644 GIT binary patch literal 51738 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 z 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 l_%0_zTS{a@j_Lc!+iCr`^``Y%qx=N? zIC$vjgC*9}vIa>VMRcvBp83CLondF_CynY%W0~Z0vU%}{Mu{&dCv+U9LAG8FuPr!w>DZJuEFBm&*%wy~+b^47 zw@lV1>s)tMCt(Lwu!A`mW)8L&2Rr4{v`30(#S86Po_kpMDNFxcdTO*;u)bwlPfVsKa(GINku2l z=bRU6@rR!ykwVH%c7KCGwx>0ASJpmb9u`7*sHt08Fx$nY#z7(7N3CkEW=;y-dAp;k zp+_r_d=CsdcO53tBh-Uho_%(BR2+f%Jg79)A^(V!`tm^%fj?wkINTl%jMC=zJ;%2CBLk^ny6-i)l-9HoC68 zvoM{-ifZ|coZFvHOro~~XO7=CF6?#*|H@eQPzLn)Jx~*e+PL6o>HUHjfJrnd{UD^Z&b$hR$>r*(Ws+r*o zH8{zzhH#@__w~~)ROb=T-B&GCb30zUhUw@*@Ax~kkHpuCUlE&+V+nU2qP3{8JLW++ ztGJ?@nwYtxh*r!B>{|E|i}4)3-Qu*&6MwQgllkfq-9>EBUi)&li7sXpyKjOm6fcQzOJ;ojs{j7Cx#aAOE`JZt zt#OzurnTU~8UE{y7~V#&#odXupr!k^nV$wkEA`g@@L=SZRo-33`-!H#)ag{`L zSAL`{rGGCW#xw@;HMk7h?9BIGb-WwXM)8P(s*JGIc^OW9P`FVOBjWhztAaOG{pWJA z4Q|S_;+@_t)aP;6Ylng!8Rs1>Z@me7TQ-65Ph2CG*i+jBy>O=PtbfH2hVR&C$i>dl zT4GJF9!VujjB(hlpooh&vi%l%IJvN6=Wvn!#x_HpHMz(GEbpVcVK(HM)B3Hda`&!x zTBu^24wIl3h{B7eH|#-``-=9<@h%Ti0vx=^4#19ntZRaf-rM^N45|yh>l?WPZ!z8p z>jV|{-LigZxTl^{I>dU#Tr^|KePFqBmgJ|4tQqgFSsGs|F%siTJU@_64^tqt=uw z9d{>P+bn{4y*3XrV|dg-ias$uU1%PI~m&+JRV;a&ENKI#v!`Ht+@)uuQ| zX+<8qFT5f&qns-gf1B44w|+a<)^PIl%^AYwK|I175#MKTIoahf;7t3NkbYruW(`iVZ7c(%Bn?moe9Y^cs|*5_28AM4paus z_`WmZa9HL&iH1Kt=YcAi6palLX&F0868ddpvxp??&`un{g zx^b68s&De-+)L5p*RFsM*4+mhlgqNbwTba?6&RshFKZSC{B;DO-;~>?X!9dMuMMDf zPb(@8U(l@>bAe7L!o6zi3SFoT{fC#Vkwq{8OSy^;RA zwp^>XZP%*FqP(?J*uBK(<1QEg%QwNhQEN{Gp*qEyhWkb92>Gn52or;09TAZ{7O_`whGAtV&k&Xy3D_GL5?i`6 zAl?FWXXM$s%KRH(#MG8GvOvGEdedYU+R>(G!BBkKynO;+J-{nqfbBB4<4|&Ce7-M2 z$2V;b`1z$HtoXRWqx80{r8jOPa-^5mTQ|w=jr`1*s%_OVtyaXe<~dNNzI-Brx`^ z<9=rL@Xf2C^r?*u7n?+$*lju4oaQFsruz4ghbz~e?l&D7h1oGd$Ic7#imE*0p>u5< z3rW*8^IBLm&;2Z{gp4;h{n|i_F;7~bLjR3%PqxYPPw(zBQj;7KRw=RJW#YQOC&Uv4 zD1TlGiRUNw);^d6WsAo|bP89JN5%lLHlI~#QP`G{j8mae=la?lQ*KAMFQ}qqfY3p8 zD*BAwoxNSU56w*`vs3Y9JaY?7ae`DvG7@~?%K>l&XseIM1pWRiJRZLR_!eDq5!j}d zvOwh;&XoPVseP6W=lTlkjzpxcv!f4H4)_Ddy{l-}iU+uFj3X-z5Y}fcqHfkT>5A@g z)FzU<)QdyIR^IPQ?|?nr-&)ND+SnvA!Nnilb*#9)GGrTA8THg`&vBa6oZzAEIa3kH zlw1ij?d1izG1+^V{S^qqr##vg7YpO8)YsRv7%iW(5uFnH+>W^2p_rOB5Vnp@uSirH z%+qJHcT{nn9Ih+5Vi&8RGSQ<7g5l^A#s~1+H5$;*xDL(~-i)>J+vi0or`_OoxG6P{ zip$nT+4?gYCE)p41P={4T^7!)XQyn+6rR2`@!-L_Q56DmYb;sk+E+Ib8ZL`ceU-*>Jym{j7a*qqar(fUhVZW<9p-Y% zlUKTzr?iBV{uP?0b(EH*N1s=qS&Kd7@?}2X7y@Vpn&}%}n;?bCyGeW3_F7WxS1+xQ zR-{N=J0-e~0njPN#znOv-|gi|d9mbO#t=8wIolMH{=CNSqfvxTKD8!Vvv+(->sFq~RMF`b zQtK&wI}Kbi!bHYIxE|`=Ja=)8Vh|sNZ#1d&@^vvxEYH;afseeCqE<`VIb#4GB`j@> zlMbv`#~kgw&#=1#5F*LH3;d(;{$e4+6lW`}f3-v4Y){1aB#qnGh*#!fP129qhGULIrB5WY-t?ofhUv)lNYz0 zP1H7u?}8sL>vTIljLXRsX6(12%FaMIJC?OWLxCJuM*jV|TFZs}OPRDDUC=ns5s z@VK5#;zxvcBu519Xfz9X71{r~IAWlXkDs!@D~NAON6i31EjtJ+mgVDWQH_SARJ@H@ zuR7oXUUV0lU!j%jtgpSvJds?Mq9T6Zh@1g22Q1a#AwZ_8m2UA&oyt{#va#qp-DRfLhmMz?kS*@18`c4 z(FewCm%2tYCE63%I4lTb7L>x^Th5InV7Vjq_R(R~lML2Vf~e4Ni}ba?1j&fx_|JDB zG>;u(gD%W5xY*A1@&`I``8_al@Caamnute?Re_oYBA~t!&A=-&UmKmHMR8{k{sF`U zv&oV|wmnR)I5#x3uH{nhk>5#T>9D=9S~6z#h}^ie5RAZ_N~amT9s}ZyexZQ0O(LkI zB)9s`H%QYHCh$gZoEWcGJU%(9bZX-PQvN6+6ka1OBlEw3jyA3RVb_{#GIt75fl9h^ zaB03nhRO4;cwta^qj<~tHPX|8@Y&LC<%b1y>6;H#T44g2V-1O*jmYrQH_ttXS+41v z(=yaA20(ZJL%8XUjthD)3#fNjHI1I{tf%486VF0sMUh@`zjt>WyJIjG51^RYP)q?B z5mKdWr)BP7(X=!O*QvPkc%kW|TCDac%}C zc1{cO`4W75S0h2W5pn%Eogrq$f>(8B#ZTkscI$DqXC6vQ?trhg>)rVFmUS^G4J0sB zU*&=7v}G!15mxqXYM50w`7-|4Rg#uw?NQYBX8O5Ar%lQ8gl@iKL&(0t8 zS2{~Xae449ZWIH^oIFNmoX^YnSc|9e8WD$9*+VKl_*pAMMf!evSzW7ZRBGbS zODz29O1t&UMQ&hvypYBzkH%^~k0n|V=8|3+GAvfA6HH3CBVEv7f>!9mkEBoQ?KE_| z21`_k^@Wv(ykEZNaOSm=cF$P>4Z`ZPYAHJUs{44^4_{z;3kMAglWYo>8b5{2 zT2{(f&jz|A?wzidYUZ|mvzRe-!MUAgFulr)hp=A>Q)VMNtT=Q)anOrH)RBmcdHYol+TI0P=JxPR%I z)FK2zjA_qL{cp5RLGT`3l3@R^3KPxI!+*)PA^c&DJA&rMRza9}=%m&Kxqk)a^GdTk zNWB+};{qp58b(Wjb~uLMYl+m6WH;E&BIu`;8R4(!7c~4VUTQbI%es4b}y=+U_3{e{YXSf?){{A<9>19&i$4T!`Kg1 zYIIX~Qxm(FC-nMssp8ZzoA1xBK}(jkEzh|fDnkmGBp7gi2SiX&h8u zyk8&75wQE%HyC~cFn#EprHa}I z5{K&#Ld-ATmsL`u_g;BFYYs6GWubg|?|zQdH_dyo# zTPf9!N^#B7w{7Zq+jMU|p`vzO_b7F+6&K&+9UGF{5Rux)sh%pQ$5x6s?-D^P1;uy~ zwEho|5MKo^>WmK_px?Nc_dx|tnC5Y|-Y4w*iftT07@Z3L8D7tlfQGfYDE1ZlMHtT) z{I*jp&`)poF{Vpvt z4pa}m07Nk7q3y&quvQW7R**i-E5e08BNMGjZZiBLZsD>3m}Mw|X*Lgg6?~9bA7RNU zbq<`laQ>$kKHQ2SXNS6TJjR%{y3q5OE95fY9b&E0z2&eyyOHN5vY~Wjd5KUCw-=?H z%`cRk_^JTSopN^1fQ8CI&Sj~{?p0-M>g&u&r3V%gF$gtR*TM5oL%u#S>Ppy(!0F0! zNr1aYCCLE7C;BS8@9s)C{Dw`&QK?b$Cpjdu?k&Vdv!G7+ON z6$Nq)4sJ`JO1F{#hzm;M>Z*b;Ls3ue%rR6F+zx}MM~a>Di;|0(Oq^O1))S@DPLfI> zGtrurX`)QJ;cQ{)&i+L{Ain=4>P?0vi%r}y|Hu=RN|`ha*y?)q?c{qicpTto+SHj>@iRu zD*8!7+TG9HPyV){fwgjI@pQ_cOtc8eZqSJ0{920S<^2|6P)AI+=LplCF>W87TfvR(10W@zd~jfPqLz|EKK~%Z^(}W82|5;4b%97R99{cn%TEzktPRQs48@6d zs@8`J%4{qpT`K_B9Bq|=${d(4kx>`#Yozji&Kmd>cC*jL<_^yr?mmm1o#*TfvbvzR z;lp!9Wy#dAd2uMO+O3s|M|LV8|9*n=HYG#ZlZjnDl|e&!ks$3|Pdie zUbLm-7$#_5tYU4HOBB^dh6W0$s@j#Hqe@Aa;&6dP4!j9}_HHg7b}v6op^r`D-^H`# z;dk-OxU%v>p=<1a5YHYG7HOnmZ*h8Q_p7#1LNk*iEvc>Ex^oN91#3?P^!l-Y=Kd+5 zg{vn5S|<800-Et#K&g%eG!5^HiGzcIc4Ft!NFzej;{8Bj|9FyGBHRjRKVegE_U*8qdlk)Yie=iHa0?^tz-K#?>=WTkE% zNgZVk<-VyMZB18QPM=CG9NFmFVRo3DP}F!%7*XGZcgd+V?6%5buOkCPK)}+gyozxZ zRX%OUDwTxu7}wZPw|XznEd$w?@sGc4!M?3%wF(X8qCq0Av70&{SYJRQrI4B{8<@G< zS^?X>xi}iGjd~1Y09%|d$#9x!lOKn+W=^p~6Q*v|O!DnPOfGTsu#Q-Je(Tw|hbiUG zTv{u97(T{w!P0-5)}H0RelG;F7!>18vW)am!Nu_y0XeA2!FxxBUrQ0N6%a6~(Un)K z{oO;mkzdY3)k?un$W zUYdbwqC)kB4xB@|@0vh#JNM>=mm4KYE(^-1Rmf1CZmZE&l?gW*>^|^&VcFjCt~9yY za~T?<=6~-_X#Gp_C4udV*!j*ZS)aSC>cv|x{zhTCWN7+5Z7QNq{S*hYwM>|C+BEdf z;8sV!L@T?6<1--eDIJYO;Vx$Z7T3M|(^gZd{++D~&GHy&>;27EO)i)$sZ(8^6e5kz ze5slNF5!LOKB_d0Z(C0tT9&EUG9A$E`m%Z3OK82^=#0G-)+XwzCw(-Dy_py6)z%K- z^)ZQChTURv$h-puFI9ermMPwWZZ`+H;_+}-SkO_;m~URUJHY1)M*yE4L)b2Qu5{EZ zEN$`zO1zNi5CKHYUR)2^(@{0fogW#hWY);6HEs{_MD}3t?Dq_mn$s z1=c*?gtlS|>zCCwipWugD32#pUt$n0P_`Ag#1K&Y7F#z}u zIARy?1sWV>WumxAZ(K~0Rzd-m8#;ENIJodD#3j%1yW|(k@{b+25$8vSJ8|_#hCB4b zabYXC+czC9*1SzfCMe10FRkH+&E-T8(1AnPpiK<~p{Zdk&=+$q+V&i&*U+9$bj&Q! zRWkA@P)L^mBeb$BLFFZKd@2g$kX*PyI(|A^4yoRj;zKU`-=X_6`A>9@C00AB0qCaB zNbo8(&V92S4{~=1bin_}5RNH${mo-E1Z#+{DMDY`-`c&S)=u-7VQq~q2GpYVT2uwH(t z`7Xb%zyZfq_0i-1+ImVZ&JXv1=q##pVP;kUXXD;on{$dfHQf?#793-5uXDiE0q?r) za7VfR(X)M~FC<}tYb*3%kOAe26TQ~7JyIxc*JZ*eQqDqT;zOmpLk`Q07Z5k$vq}6j zu+G{Kp-V#B6&%D&!4KBJ3G;7-&boX<+7Q_aFl zbGR#u*pVILPhjx1=54q9+9efad?{CjLBDNTxzJU9d<@7X|ER#|t1*4K3%T&?CCuuF zhG<0h)Tx2gF9l*TppW7+klL(?J!@V+fc z;*GF7UWI5uz7fH@DszRkmz#QeP?D*fa(I}U;DGHCFxIEmkFrLCF8>|HSg6A`{d$!6Ta}7 zQBn;Lyca=~L97BYIEj_q#yn9kyz z>+umrX`z0)4gvW>x&oPvpy9X*9oS<6n;%~JDBPN2FU}q|6t)*_uK9f&a!^e5^zH6L#1IhM7LEAv5IElXy&r5wyCI%GZNu8W6D74F9 zfv3K17Cf2VI`w)sDO7(iJBi&c`J=W-D1?O2uFJ;Jq|3--wX1vjsv7d`Qzoh3XVSDT1F zJsLx#(+1~x8D#PqD^cQ8M6DmCALSmV-=Pv?U@~KE@_o^!*91s2#KY^+yFRyMj&iok zMVGS$^Qk3}*$&JO%LU$_E@jCmG5nNgPv)y)p@&iAb^x`9P$$$T$`*w2v%`cjT_D7$ z4)Lpbh5M^F99qT+q--v1O%3@8lqPH-hSji-3i|fpTor6*Vd@9lhQc&gsGLZT?OEnu z>{;kP*)#bc_N?`_0;}EI=e02{s=sh1@uUT9z}pd(loN_IU;dFStNuuq6_}x+WVaSc z1$ohj4Y`5`4M>s4emgJeq->(~gamq4Z5YvZN!7;qG=vcTyOPZhSq=>lug{7XOtP3p_w7H4s!C*K&ISzso*gAoa;^qQxu2__exdb z2akk_taH&~j8GFt45Ld?SN!Ka9%kr!VNljYl0NzC>^7Q)hu{6!>Kx$5r#9~f(*S-P z9*q!ve+&D{TqGj)#(nL-_on1I-krpF#Zm%bt^7`vT(+VDa0pZiGo%mzkD3&=xm;8{ zo4aheqnSVhEMxj7jVj(vGuImfm8I9`-cakf_Jm7{x32=EJZ-=gHn`eGgJ2tjd2c6Au5j zBsT~j{a}z2_^VG%ET|SRnPpc>SthZKPL0}TN`yZ+pXO}Jolu8UFkKq?_C5DUEq-F>(@WW{Su{tNlQC`zeE+qyM4Z}^{#`4*5=c= zn1e+n$Jl~sPV*Gp{`$9->N>`-Wv6Nz`v}x>)sD|M0<}~#EsMhlL$Lu>XE>YK4a`VY zV9f(cF!9km@73IfzzE{^zF6J1Rjk<02A32%m*DLuG zn6{tZX)?~AIV7z8&dYM(t^9kkj4RpkS;+7^FMUk?8OIX63(4P=qaczI!0AGe=B zVA;5xl#_jI%jm0sE$dxzp2cN zacU>s3ARpV#R!0+xpdV@?6yXQ^tbX;NDI%D+3l3I7!>9dFL>%y5#BXRv>~A@Vtit6 zy(@Q*E(-{iNv!Gw3u8?$S|JWRKEy<16w;WrE;$a3sD?s-oFa}L?((p@GKc2v!s#GE z-KD;VT^5$((oT0V>d8AE^J>vo>Pj|;iw(^Wv+iiN>G>B1yC@usakLx0pO*qs!sQte zZTd5*W)-*fqCST{b`IyvLzqf2T2rtfwrt!`%V=k-ghO70RWs@4@w};-3fBTyH(jcT z%~L|=oo|>;Ov4a^DJR7ReNpH~TEiy@;AF zy%u{>EAqNPjxzKRNS%wmr_SI0P3k-wXDg1)eM@tC_?jR5Xp%R#Lg`#9kN;eIIj4B3 z;b?vj?bjF7i%6j*xr3);Rjc6~6oh>zqoxx-p7x|J`{#a~aO}r?i$U4m+$%_l?SZMX z6h|g2Q&dXmt<1903PDn3ZBh$y@vI6jes)*%^mNoAm)pCuU(*sJ0HDU)0DvkR{S`b5 znI)|#nBOBji`dn&Ms<49JFGg;mnYi>KfN4#W=UpX?tb%5)c080@{tM0it1KYcg+hP zKfOp&9#;3C-EE+{=<}!;BH5c2E^`1@o$dyx6sP}9hUFauI2|m|g`ID!vR6G8tINIa z8&{%p+`HhZ4c_}fS}$`JweuGgcY&YJTwi-yei}@H2|CJdLw?agzj7<;36)%+RK*$@ z8nkF-b1^e-zqEo-?!z&Q5O>@(F)a<*Az&q3>LIw5t{tn}0Hf1V$AS%AK}I%^O}mu$ zDgMl+S8Kq6yuayc`I*@Uc~-Y0Dv9fm`K>1;q2Zr&#C2}0%Vo7p-aw)VvNvlzBguR=GyB$eoZ zCYY{EYU&)wi+-H%U9tD;?lwL8CvezES+aZwb#wt?taJMcRXE&hPZUTgE>X#l5vl{9 z17CieaI$_|kce<&L)nLEx6zCiBP!pF>3e?+cj0}Ra7qO!J~^o)LUR4>lCvOm=o0CV zOgiglCawG`@?Y2e}fM zGses#ZJ>>YXq19cLF&H~TeFKNVyo+TXK??0b}ARdV^h6*Imp>4AK|Df^1O~t5y_8r zhwUbUU@r-Qw-1^<_g6_y^TRU+?|={EUZ{4%d5A1>_dx19gzx-<@K}DelQ96{=w%Y_ zHFnU{nVBKrH60NCA-aY*jd-T~do-P&tQ6-BCqCnY=YZb)=0NM?exs-&Fson!nl`-& zR$_I30pS3WP*(6YHsflUBOHgomc$*G2zUa|a~I(V&aXmqNlKm~tJf7+5Ok{r<1FBV z6*1GpH~j`9FKDnVx}+6abh(O(p^)ujvxhXYNGZr=PkJXF$UNQ@zvx$@i4{8V(u&vn z?$$$S8%-7E`-dus4}G89+9-FsM-EtYSKe-~r&SpAM1gi(IkyAh;LJ>ndh62F!TiSn zi>VLX5-(g%6fs$m?J2BmblNKGf0WD$Jsh}SmBUD7rDBQiAsOclRy4Whn|A7u@W^}R zpkj(KLR*sS=K{*>d{cU6B*F^^sCET>EN!;wk_V0pTm(hh&FJ^6BFo)*orQ%@5tn-J=~8sv<&$2K^+TH+|nF7CKv1S%At{(gnF;dB_8?P4?oD_(86lE#2B8 zM`vcC1=vBE?Q>x13gzS8_r?2b7hhnSEcKDA4<;&$PcP&y)6?Pq(E-D%Yy{&9G%7kL z(20w+rLH{SF}5h$vh-vN3{D9dAF;u!+Pn%GBL_L>d7fdsEt9qciOd^T!Sb}=afBy@ zeeRUyW$->KGwSTyJ!{=M0J1%L=N+XuFMc0aHSln4t%eR=If<`hp0e%8 zXA?Js?*ZX;O3q1m{p{a_*L$o<-Prs`EzMij5vWkwDzXC7A>UNpl3i^}GPjTCjw|EL z{g zRtsxvx*PUr;HY*zH@>WUlPu7E#mL9x2L2il_@=q3>zUWNTj5)VXBAJg?A(7(5$07~ z>~5OzglzpAQ*lEKxCTT(5P{Ntb6M5nrgjW@g}n`1i_NnPg$v@jhd;gd#zolk2vH3e z7sJnA$GY3M*L)J~T`+IXDb+bLOh`vaL<; zLmn4peeRoT2}`exjn@^oewWGuin+Iozn98!s%KQ{{DJxLWV`I$HmlJg`9&RS8lu5Q z>G*E{++w}ZjK!uQW@@VAT~fFHXT`mw_1Nnv+-FViI_4Nvyqwl}+EdK?v{W|ldDv
5I2;y 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 literal 0 HcmV?d00001 diff --git a/docs/images/prison_docs_310_guide_placeholders_3.png b/docs/images/prison_docs_310_guide_placeholders_3.png index 73155190a521f2dbdb55b19cd27f454fe9ff0d2b..85dacc0b40af6535e919ea8dd817bf3e3e0a3c6f 100644 GIT binary patch literal 36798 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 diff --git a/docs/images/prison_docs_310_guide_placeholders_3b.png b/docs/images/prison_docs_310_guide_placeholders_3b.png new file mode 100644 index 0000000000000000000000000000000000000000..b10f237afde72986c835277c81a7fa16926e4e67 GIT binary patch literal 38888 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 literal 0 HcmV?d00001 diff --git a/docs/images/prison_docs_310_guide_placeholders_4b.png b/docs/images/prison_docs_310_guide_placeholders_4b.png new file mode 100644 index 0000000000000000000000000000000000000000..e99820cfc1ff6557027117c7e5156b23bd80f9e2 GIT binary patch literal 32919 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 U~UL9l-$FSJc$S80mJt-Y&^{6tV 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 p6dbz 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

Ym^;Q_nPuVq?Tij7Y> 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 FaS=t7l+arCf23& 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]$~Z; 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 z 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

1W&MbyhOhNm#)7Sa(; zV{b{PhR}+-zdIJ32n^-9K9)ZGg!D&WBP}dQXGYS`-=07-?%gxM-Y)hYzau^I8~*?L zJEW~|m0q>r<^Sj}X>#gupO;0@7wjJPn7<>P`daB*_=fNf>7#!j2{0G7`(NSt*IRV> zZ@ocZcbLILdLUC3N2yZ8hv`((k8Ft@?-u&9gcpM4sdJ*Mi{nyHKElZfh0gR>wRF6# z(ZW$3K7Urj?Y{2%ul{R2{tG{+JHPhp^uRCu;tN(2S3RL#I%SH8-}7n$glWl#&a!bFoIZ^xdi&|WC2I5OY zXF#^~>9LOK3)A6`ZApLbE2aN%M!NWWUcAF^mp*@=^tson^~w(CAqa9W#u2UuqhF#% zXh_Bn8%mgO@qqpSK$#l#*^zXl<8H}G4-KSO^d#oV=%Pa{3EUa_nSQy-K{a2**X{td zmN>Dkn~WM?%xXA#XjK>1{R1L&&M(HrBz0n^k<6yfWQOaSwVs~4G#}v#&1Cj^2E9 zru}iVO*a@&k^ww!7!WUKhB_Fja5CD(1^~in2z9&TW#dPL@rCfLPXhxr3<oYQhTg15EnyHh{Z_jo*>G5R|3@)H*9(%DPCF;R;o*s1E}36NX316W-M%4AM* zee`Sv&>7YSX*1Mk?U;c*>5KEOx?#Wh<3KT^PKrU3;h=m4UmO^aA=~^{Aif zn+IAy=f;9{keUO#a-VaaZMSOrt{OwKxj-Iw9&c`Rm`B67)lOppGQRcLvzEa2V4_2} zURxO}hQ8(HV8g%Iu=$%`D@nd~$VudnJw7%NvMX2yV(a>cnTMT8IPy^+pQ)F+ z9E4x)A@g}(s*lM{@({qNxD!`BT%OLbb}BUWL|!+~Zrc1h>LSXOm$g3En=RwCgv?K) zt|M*YW3ItED%Z8~em6Z9e)hcE9B7)4CjSm5m0)6SGVE^(^OD<3HSkgmyi@~G0|w|a zT@x-Z%>5vYS<4G8ZE_T3y7t5V6@IzLTrqds>lr|oor*k7c5aZEqsP>FuE+EuABS?k z)qLZ~>>&{0r+4g-fx#LLu(P>R_`lry#ZwIjAf5>}6O!viJ6T z&OFWDHT;QrPyH2RbF4Y*@ABV(w>tYc*(}xp)toDjq~STAtK_eDo415N<|i=^+94CQ z`ib=|V0_!}X-T~WU*pGoE8>kkm-s#JPTu#EPr~Qe&REH)ZYEV zA9?!20OE?0Joc%_bnB~cwY}_o|3BXE=l;&GdWAmtgs#zN} zKcP=O_?RU_$zZKu4aPHuK33XNS~M0ZY?xtF^owtyUK{>5@(RNWF8O!KOKFb=_rt5x zgTrz^V=QI(W}SUYvk%xw_1ZVKl+-Tg3q>|wxNA{^RxG%Lp%3V$;yMDX`ZL-Gn-!!-iic_&oguWxr3eZeP(@K z0PpJ8C(F`K4z9cJ^?SNkHM?iKSGfJY4;>Z$CuK4i3kSPjrH+xJ@tq7$po*Dqis;kI zAu_PT!CsgFV|bZ!pDCL~;|lx5V&bZ2^S%FisPF#sJu_&ftje8vfsn9N+e%sl$U}J!V#|*Wl37`R{o`43xmzemZ zZ^c~)ezgF1lw&vCWetVd3&c_|SHU#K7+3&)U;rZwb4*y5-1xZDYiT$E$OYR1hg=P9 z54wasWC&9d1Mqc#CmassotCN(_(Lz|+MDKdmi` z1*z=wy@hl-((+h#XdZQCzzi6a0JgQ&Bjclq#tRroW7s|Lc?m|@W|&^scW5gkZm6f# z3SelwNE&TTT75Hwo@^AFbXo?on_$>IZX57r)SjqIS^CZrW8k}?krWw=+Hk9-UTq(>fDQ(P zarrE%6XvcQ=!K9DhtARjpbsxF=778z0kk3d(ioQz7g%FP%cZ)Qb&)wRUjXK4=Pt(k zZ8O4dGdLF%7G_g`hsj`k8)I<{!N~eF^+FL z5V12hz>>`ihlSc*sWa$lv^Y=?8kJ&XOkO>JNVGHU2!j;qIkA|PpMHn~{k2Vp#8zbs zBgdA;+ikTLMkcG}WMlw0Ktn^d)PlJSz*MVHYtT0^r`hMzZp>9n2SU-msLRpz$Yj-I zycjw|nBiU8#xw@7(EwmnY`?2E6l(?!fQHQDGA1wsMY`Q}d#k06fi!JH!U#U>#Q!ni zHCTaQSEIh$8d1JJN&r?Y*l_&2WHE5i97g4nZ9tEJ8cMZWBb9AfQb(dK0OXk&5AwEH zIB;t)0^eqR2y;J6igrOBi-7^a9AHUN5+hD`;B{4$&hpbiKe&!Cz`Zye7+~E{FuG0_ zMrs*=BOzr+69aF-sAu^!(QTXD0J8n|AHiVTug4zq^-KKbPCpHsk=%X1&sQ3LzvXIi{WtM))$7qU4hMXO-h?s8d^&i?kf(qtomJ48reJG=m5B&p8ARm*o^ce3 z13RX>ZNxVn_UULo$6>4^TP8y+Rc%~#&=dO607NDE;Q($2nHn&RvCqI<2`D|80Ej?$ zzi8ZpwG#8`1b}vR;@}_q`iHyE2|PZ4CvMwn;4cHTp;ut(@;X3&0;FykkjV>Spd!X> zoBL1!#KC;SK|w8mL6p{th}?Q@8nap1GR99^65~vt>B9a;y3_+~iw@ecIRT(1hTR0( zp{`-LGQ=0DQh6S|wOHj&d1(szndxpHZ#=6G9;<>`J{;p=z@Id=w)A;NLDR)IWOO}% zU`HT3V9N9~@)Xw&01NwwBv;x&~s=Kdx(-od?L$v^4Zl-M(4 zj9uOn-5n3ik{HL6O#Rv?*R;q1FPC|J;^%&8&yZ(V`QD8;4lhXcOGRx>q@|YOvdlu~ zL;p#dyi!{3NMF6`f(3C3_F}JIlpY*7O%jp)<}*@zSvpUHOM3l^fhrDP*U?>tbZQCk zcA<@aY1kxM=9x3F_*|vy=Ht>eE1pN@?z9`_;o^om0z^f5pKeKmJES+PxEsdV)F-@b zh90|L(l@5xPo+C2s68azF_f@Je*gdB?%VTi5T^mJ_S0XGj&!B-KPe4K|L3F+eusA= zVcQCjYakuFRl4C0=~c&c=xAFf+lAf_AcwVN>gi0M);Ua|;1Cek3y_>`mZeUs(8~(x zVK6`7fLet{xAt`5nUVT{p2saa%wy%)F|9xOq#c5B{5$^}T{w46H~r;z>+yf_e_O!^ z7cX4x3V8nGd(~^DFaIX#XaaRTby2$RgmjLwEJz=CRQl$ZN#Arx`n7fGn-599zaahI zhV_m9XZtQ+*tK>R^||96UAx#4dSGKx>ac-@eXqcPpMVirm*IZ2Eq!Vr-SbV-@Ba}= zKP8Px_ipJIPOH5AX7$0q;5WO5tW6f$8q%orPYyO-MhAc8rQG zw$oq@gE8#xMen=hgFXh*kN%XFZ&{L8_Shc|wZM@QyIg$W=0o>x7xcfmA?0pqS_feX8;&RH z+A&BG+wA?)#-`R*cAn~*`vS~$IoI-Hp-nb>F5?=FC+h5yZ;a{VV&iJR*J7{GcF=I{ zH&F6-c76JBB@cQm`>2+?@Avtd8{F`7E@+DJI4oMy;6mK62f+@LU$Jn^-QpSl0r&}j zfC%j4f7ZmXSslOCPuq`l`9Pl=l=ip!GoX)?cb*h1Pj;2CgdCnSTriAo4=SJ$el{`O zw)Ki9T!jVbbmLKb$DcH%w+Vjbm_5Y%OV3`k$u7Vvz$iH&3GZesnw2r4r~|cfqwVn1 zbjPqiH$cVDUSKZ#kY9jR$8J7WwP_AggCQi0p~HWkKH+m#nfzTCafBOwqsTm4evzNF z*u`Idsxqu4lKgbJN`__U70=oWI?(EVosa`8SgN*$G@ zr4zDeOh4(Xa~Q}6xM2qaQHsw_x&d%~`*jMYxu};t@5GVi2mdV0!|0#E9z!16GGWa- znV6A~SAhqlE~#6}05FR(;XlAyVaQ>|zbUQglX?F3l1IvkF;ULQW#LN)r6J!{o27_x zL)T!~vvg?L0C(i`rdQo$06e_S19ZX2ar|Y+tFkxcneYKpN=XVp*O8>>!fmhnsn4D= zFTr+(+~;LM-dB#S7&s&hs|aB1g_F@_B&M;Mu;eGrYw{D!%@1p?&AztIPfvNm2)&z_UGNhpj)%?wbcEiy z_V#NH9B0Pind~+KxFSQDzi^7(h`Ny#?=k2){m9P6G4ix>*bNNMJm$vzj30n1$Y-?K zc;K6o0B!2}nfL=tROKam08rFqgdWECnOA$#0rf4ccYzOnj+UbC3|$96KrnTb4OqVn`--y-w0VO{Sntu0n=c?kT@j1Oh0rJJwS z)?=r&c->(?y*K5JTgc+V>SDfkXi+i-Y@FK()HiTfR!@8s<%+hbgGORpLRaVdA^@#+ z5`JnI6mJ+P1aL2YlLli!04B05s22dpLdx3na9At=-hX?8uxV$x@Zz zOh0nhkh989_E2Xe2-(ZL_+u^JsEZtMk4Ixt-4S@FLm1lTZw_5IZKrUL@jvuzxaXiu zb2B+!)ul7*1_DEe+Q$L*B(k+C?N2}GZw_p3AMwRJE`G<|+P`Q%%z$|c;}1Hd%4Y;j zcMNEAW8M69-anAPydUB(m$5wDZqK=ey6$a9E5Zb(cL0YVVxQNH|mI>7rrkI>$?VxR8&tdxbej^t-5(nPiyf%;X`}J$pI%W&04hLwaWZo*%jsUO2>Lzt@g6Y6?i2 zHXf!t)j?hCV=)F}lvTf~xkU=gIBexizw7?@`#Yb15GLj+F)zifX?4Zc(tE8$4liLbC#H|#ESqV#qYS+=QFrB<=xzm?A*V1rs4F#HX^OvnX@n- z-_JEKpY^cFY*XIr{`fu5U({6|re1HnJHC2ljIhM<)YDJt-GBYv`q*!LEKhF7^IiAc zrC<1|U(od@bHFtG>Jz7{_1g#D_klgro#)~8U-f!D@aYHiEw8;@AARbK?eYAB@BcgctAF$F%nP!s z`#<`LpV!;pba&-vh{a;Mw$nG8{J=i9C~yyatBULJiqBP#tgvU`t`6doUj2rzxFQhO zyWa6f^~}>x>LU9w*dq7ZddIi_75(+U{r!>rf$sm$&-{CR*=t`p6DD-DWqtZ*#t%Pc zHTm?l2Z^^HTl~s>#hz=jts7Q3w@+;5F6HhPON$UCg{J9)IPVMAQyFTCf zy1R6wbGX_kJaU91rTwzCI{UB67A|6%jH`J8`4UB2cTo!i>dYOkj^zv2~o@Z%r1_pkcPf5Gni`SX^q;?(E; zUx2tS=gRj)FDHCcm}#$SdfVi7g%h@VlxC>taqd+sR9mD@u(<3wy}-HhLoZK1%*Zzj z6Jg)`Q`7z!Zu`A|`s44{Kl_n)Sc;fkM%v%;-S5*qZ}`^zMl<8@hkt6I?|x@*S_sMz z5zqL{e$?Mn=9-)5FKULce7~LQT6f9f%pU*I-*n~!Gr2ZO2aI*Gd~F-clEsRS#2Btu zsvN;ag;6#jBW$U#vvH6S2DrxTv)wgzBBx{^hLJkxB7hehl!0KPf0;`VH#S>XW_4if zDb#^xr<<56a0eJhaZawg z3VCOADK#v+>U73x!EDf4P#cgoYeG~Qs*iYyl7k+w-Rh7QRW-7FFm4qvL`(o1VE~IU zG~l0(vyIVAvOEJ#v!jbUa+nP8N7)J2aMWdtEj(7nwVol96ZPs4EsGfrd zg5|0-W`_}=h0fR**J!IQ@`+mu>6<86)ri`@vvf<1kyB*LKpi6$T?e&rZzGfd)kwM3 zawf2Cy1suuZqwgO=3kU1^?Ml1ka70*&Hghn2HE^enk*(TEb~1o6Fd4rPm^*4_Df@c zh14bbW{IBQ$cl2jpw`0BzUz$vdu*2`x5$x^WEqGQhPJ-Rsn}FwGl;%0X{kRL2~zt4 z5LS{?K!#n^Iu%Pk03^_8=sdplbMRaj(VCbZgn6xm(QeXJyWFyLNP93EsE6$vWok{- z*?=OBNC18%uwNg5-PplsBUt)IrjsGq+s~D+P50x!?&nIw6W`^;@j`{Emv^_{@r@Do zE9*lBs45MsIicN>2`ai8uv39zpwrN&0ZXB~OgqxY`8MJGTrJn#v^!xL_CUD!Nb4Xz zT#a$5bWn&bXEOGy$TvfT4X`$LlAgupW46hRgOv=}MH&ViB#ie%1GUEZPa+A>WaEHE z&Oiyn72~f-s&#@AKr`co*9=ASvEC-7ZeNy4W_rbxSIQ6H2-#Dx`mjOY8C9q|*aLm( z<_tv!v|@f>?#x|?q%_@S03)<-ZZdm`&wPc^YP#ezyxe?rSZUS*xxYSx!f7V*rWXGG&T#=6n zGbJX=2@qvXz*#FY z79+yeB(QxMsLX{HAQvoPT)YRb%#h6?r{3h~YnNac-blf!oqho`SZZgBpm5+TKqfkf z&1HFEivdJ4&2O#u`0Us8Zi>U^P$mUt7@5F$4(13(H2W3^XpnfVk9b>==a!Ap=x|;# z9^1|GV)?Un^0M0RnLnu!b2rKW*d1X_i!!UbG!Kqqkq>Jl1M{LYT$U}RWN%32dOKR< zRjKU8Bv^U6jECM|{Tt4_%G{-0X!%%Mo0pK01YiPGLl=XPhZ<#T{mUrI zY>-=S^0q)XAmivg?Bbaw0Qf+b5diYfN40NzwY1W4_AtJIP=3HBwiQxHXU7ieI=Ltv zUXWh)-O@ut2^;Fy9@ofMQgT-tt!8Y~V zn-T{bz6|EywgcnN2gvnnDZw}to9_gCJO7sS zQ6T~PKJ$L**B_0{y+HS{t6^gMrP7hZ($}m=@4r>jqtePNqz&J@@e1!t?T!CwC$UjEz#$qqea&#foj`>6D`+Z@CNCgzVUJM;2-X`rm)mafS&_?6F%OF_1b zE&zXfiFKtNZj#1d`V{I6{0Q^rn;BO|(v8QYhyP0lQeEFwaa~X4Gebw#!E~3dA#-rk zmmK!MoY-}{y(V4L;Zh5By7MDrsPzO92G)8>@xs#e=x_>-Jj@!gB^~M*12N6NuWMs# ztd(7WLi>v30G>9sM_SqCM9P=nu%^#F6`lJ45nqN^z+Cm~g#>qzHXtp)T3<+49oUuj zv#TsN93ED^JLm&!T$c;vI%ry#>pur|MI4<}38Q-Dgomqm2jI0En5%9$Va9gotFEmW z%s4)b4lvfsK~NY0W2i?MjF{s(_ry7S3?t)kZ@Obt%tv4rw@p_Veh2uXx8lZe_z$4Z z4xmUaq5xgw&H(IY+GeU}rxX8_rD~Cue&^sD>Zy94Cy+h25;y{2Ll~#W>t{bVdxB|Y zkeS%I_EU$%HLw069qxR5j|&E$JTEhbA$e0|&*UXHuE^tSGH{5r@_QI{0w&^PBeE3+ zJ>-e&>|;BPRHCf`i}2qzLl^*=8zz<$*ahrLi<4X?&DeNcRt6e?IE>vU%9pjj)r*a- zzRWQ8E|1yRm3R!WO5R@a469jw1@P$HiwQiJPmMx$3hNfOcBOu z(ifg_T}c~w-; z(Z?%??BT>6C#pJSbKo#~pmdfGz%u;finQW1?zl%(D@T@f==hp0JQIf3rLJ2!q0`%^ z)mxc1-NU35l6ZJopJ#@4ZU*Xq_0aSt~C&Hd@Qez z--MwZ0#KBqv)jT-Zzhd+*Xeb&n96tQ?0VJ5+ntswwy3O6tS1J?${;UA6l1mh485BA zGj3D1sp(7VXn_S#?dop~Dmlwv8H*m@>&&=h8c*o@dRwer=f?4Mz)~G#o}ZSFQDXSd zbqIZAN5ALeN}4NiT7LdM`cwd8qZ~_z+$d-5*lGo?ig)BAbaoC3VxBY^qy=1fX3ZA| z3fLy0Hxhcia?kwoh-^eZ&0jUi5$|*TmHVIfjQ;>yV+>h=M_EoMgQ6V#X=$YTsK;5= z8)LB@Stfn&4}7ow&fj%IzHk4wZ`Y6gqaUjWYy6$}myi`a=AccV!z>x2VLmqI5gK@h z!-F!0!RWVZ#}8Eoj1h)I0P?v}ZuA*4hOP|xLtmN<*(Rrt{q?!sJT|yUvwjc2QH;N| zfB)2TGGqEQ=7oV~JuJU-uuq=<@Qa*MUj|S|1XH(+zQf$a+4PELfagljPHJVYlV7>) z;LbSDIJP<18=z7FVL4SNGYDQiwpJy<9D=$C0CM$W&ci(8-X`y~dEV~$iFU~S^I;@p z6L;z|+BEAw?zMrIaJhnjNf@)FZVfszV+~= zosYrfA#^Ez*B6$w+Mljj>fvAdefc%8yx7tv8RS)HfPoF`^#dT+ zNP}r-oS{^Y^J@I2yp)?ObT}aFm`BW{Q5$cf4#Lmo=}U@onp>w+9j=hiRpUU6dGpbT zk2?(4F@EK92j(d3FV(NuI|+B@EcngK6Ju!jiF+M1M%q_$G5+S|CNAa|F)rtElPBh9 z+++VUf8X?+vvD=e*_y)OR-dyl7u`>I@*XT^dE6XU5bK$6ryVXm>)&bEv&!p#?S#+I zU?#A2m|5R=$k?xqxpKtE9l+auuY=5=^YvWB-&7wlKMOhhgHQZHct7y{`nw#Ewcq*X z<4-)U*M0TtDp~&V|Lw>1&To6?fz!R(0iL+;iOY)e*iFZ5Zkz8}MMS^&Ge4p4`^P_O zhf~4gdeH0Vf8)LxFjs`HsV{S$^GTvw-$YpM9=_Cj|F3_YJMZgxb7Mnq`zP? zDzYl<&;ILwCjRq%@t1z*fy#Zq55N2S|2cuVno8-h?E0quvihBNcB|hJ*VF*0_NvNq zxL1Zh_9k|UD{s}qr37{%+*&#qhi6#BxM-`xu@_QG+XhhbR9Xuw)h~ zmV160wIkd27w_zMR`w2j|Np|-I@E0U_zt%Z+59fXp(fvexOThFtzXdL)!o5k0piNz zd8UCeYaWQ}_dfiay6Kf)QUzyDyOn_ms~5XGTrP;qKrFk&`@+1cZ6sYmqKBUOT~)%L z#glDw#dep!&0kc{v-xrD!-kL>Zt~W=RxgNZHcXcEz8^pMvwu&&@^9YbMtqS-EcpxR zpa008w!HuGcl?0<_@DWKea9OfU-`zj=|BIcf9HlrVR4#X8U`YzWg3<}+^l?7-iRpa zZ;V^>@gR{DRK6^DEuHEm`-21~VgrzP6^=2A#%S5VN*JNGoXvvFfHA?M%IXHQr({b5 zTMm2e9NYyk!!paeWN>9*2n-{Wkz@yOLaJu`4kiZZX%`&ISeg;IB|`x$O(PF7u!K!- zF)B8O0IA)>?y@uu+ukNU*q{J2!D55~Z%T(HBcKxFHX@$@(*UTn4FqO+gGpr6G1h|? zY-C2e;|H_>n3{|^{8TD9T^!5>M)_Dvk47pnzy~ZtS=o#3!a|0fJ4^=bWhQ{~G9a|X zXtB_?z3WM5WP6wx8%`$FaG`d8B3QdHYR3S1(rX!L39D-$zXRCMdWCx9kpVkKy~1qg z%o=s%V6zVE?@rekv8P;v zJfI^7WMNc2!mb1mT6bHE~bC*A1* z-p=IK9+d+0M>dTGg}D^$XUiiMn}r+t!bXG4j|kIJtL&-(7*dXmK@9-ba9pUfNFOL% zh6gQm0W^&|8n;Kr+SX#Z-32sQs7r7FB|Qu+VbYqY7!;Z;6>4ocXn``pIEI~lXOYTi zJ8+>d1EQ7Pj@lYJAc97OeF|18x;@N2D3(zI8E(5g7~@>8Fhgd`E#N6Y5`ZPx!`Yq~ z9kmLcq;f16(|D%+kPTQ#Fc8Nkm14sd*oNJx>=|&%Bmr;9e z4@Pz~bo?lNlYZZZJ&U{pBrDY!nKiw@A6hqVJHQY?VyhS?^;M``gt>6!KrzdYtGY?Q zP-_u`;g-7PSd-yEg)!rlrW&bV&|K{n>>PcS{kGW%^hXmd7{GL7>JtO;=~CxF>;08H#?xKIr)r;4{*Pn zJiJh04p0pJkAHP6W6rU83G$2nPk=^io=TH?wCGyKCj-kkFdEr2W-h*K0VYPbGX5Ia z7?@4E7{`!xKs*3DNGPd1USJ>1_e0-DwB9JdtHxYZj*YdFsQ_S76dBA=bST2a_cMG>Qp8kA33oS@tV$vv+39L45*FAv_`b}QMid&5RpZPTK`3%(zj!Nl7KaUrHB$R zlrfPeGfCLa0BeUHwmJYDL_bHr5l|&U8c^l|HXpG@@Nb*6g~j7@Cfce5 zEDUfwH31-NifI6`1jX}|vo^9s_(L8%pVn69j^McLSXJAEDE;PuGh~W+8waZJ&MMy} zfofwGWuPMR$$S$(l+gfbCcOsYie}^+?4(86U5;AF1ap`qtd@7;0eHxmWFq8#_~AwI zc=b%hEWgw1{8g#}e@Uf=e`Fwev^`eqcM(#0 z`CHyJ{c)9^M(8s{b6A@GFbuX84_ z4QC#e%}snRVeCB!0B&KL4N&c!haJuS~x^(`d4hZWVmY#iF+Pq2Xjil8D>6LBiz7Q7gL(XdTWzzDJbmuYYlkCAf zE1iC!L0r*}Zt}XpX=5omE#PNCb8g#>uzMIYehvQP~WuXU{_kq=KNk?0SRy(C$d!(&L!T&JL zElXV(OB;3CI(bsR{ZIa}X^KDou6OBY{@#0{5HI?@bI5J?Mi-Mk=E_N_eW!Fw zI`sG3?v@@LO8@eV^yNpT8xwTtSX=tDN2JNBPkcjM04x6Ny0ltIC%e-1EFcOMxAnAo zq@`iIa7IT;ZsWd-tLtE?fH;nYAD^0ReTKp)B+`QojQQ-HOVS@~8{n!8mU#NvQpy{B zk?*{SE(au#HzpZe(LY#!akZtB$2xk7etSN3V)PDMt^`3BaXm4TZeo%z6`=P3C@;6v z31+G$kQU&r7xMzlbtTteRH|pI@GFU>IcyH@sciHh?+8k?bId!N5#G$(wMOmsNei23>f#r*8~zK$JfHa6c4%ynz0)T1Mt z0eUWDb~Pu@I0G60JP-!KJ5FQYC2Z5H>B0-0R?ZkGhW{||;}qTSzvD#RedImjV>rwW zDe6WD7_Q`olo1XP0>+SWl5TET8Gh<_jL*X$03aOK(+@md_h!HAfSBA9?{XHTsE6E7 zJX1Cd9>Org7as9;%63w@aOh7mehEf0-rZx*n`6M#GNRF{=$Z0V^US8~R1JNgW5=Zi?zksg4h*R8L+RnL6xnQ4>}*VM(H zLXHA7nZFJLkmbWm25BhVL$coTm^K?dp&x$wm2oMk^ zkpKV?A90y1%#jl!*ujLAP6*{)RbN?3}On~%*{D+~}hd%xxz5S29UH9Jiky~7{sBkTFLXn$r*lKf92iLbaA6d%dUPicjrN9l zGQSW>`hMg!K)m?L+goRsx51M_6RLuXK*u<=zoEz2%r^7=Uk7Dl^}Mi^)USk85E#1Xn9@(i$& zYq;g7Gm`{a!Qj)L**wqk7J3fZ&gI(yHqs)SB-xshXADOJlw~jX`3K|LkVS$7iyvb> zWefJyV5_aq0|HeOZ5c4z|(d({IarT0ikF3qeU+5j$c$oB9 zKL5`9a^yGi6m5bmES$W?_T%E+e(uIho5^w>f5%=@=h2PxRw;qo7 zu^z~c!pL`&IgFLJH@u%8yg~F}dB3m3zJqygr`=Z0 zqA@R>y1OwrF=nx`e}D_1(?O3R+b@{w{Q5vgR(;NECwT6&a_alo?AgqKzWFv=ThCDB zsDoHPc2*YLOft59{=6yz0N!*3sEl{>=BLaRV=szz6mxhEo``YY;w>Dwl#kU- zWwCS;aH|gJYRX@e8{_Isz2PaRw%np@8Eu!lS0^E#U6 zecs;K%=(G_oz$<_uA74D=fw%2ixZaf3*ddsk8=0@J_GuSwc1``_ET=+U~V02%vZni z)q6$T`2OU}r%dg5px(do#5H#M`6td#HA8)0H1^;K!+zLze%E)}|DXQJpVnLd*jpRZ z+RHKKp>=;802F)Q`8(!oxjw(=OYg~F@9X(94}3;%`PR2o^%#LZ@R`S_>mx~Db@He_ z^6)7gzxlX+^TWTXyY9Fvyzc9M+nrykhd=w7efh0>I(c+eg9M6L-}3zwmWYGlNWXPI z3_l0E{?gmOQ4iezX$w?B>5$go3wA)+Rf!tLO6Z^Q(R=di_Q1H|f{M(peDKG{ETdzbq~7JV0vdaXoVG-~d_Dyb=&sE+h5)AME$li^;5d8WOKk zFeA`u-!mIUUh*I3%r@1WF!)UI<^2Y);qLm@XQA#^=)FI=bKkxpTQg4o;CtVwrylua z%E~m4VM`gF(c>Tdx9`!f{Oo)5-k&_!di^{8_P^El)L6Ov$p2}2kxq3_ugp-^3hsag zGpe=2t9-6UO&I_z1>7aZY1DYazzvW}0f4Ji$AA`YY)pF?5ETP)40DY*h<7j-jNF*K z1%L;Z8IU%BR++H6#T>@v7)cqx3_7S0MpGDe!}^t28rrZ=0d*ajUzLrUSOeT5nRS-5OaPmdkEj-GVu(4|vBx9#mheHSoP?tPe3T@0D^$J3WAUXgTP^ zehv(*M!v>d6N!_~Inf^w4s0B(xfy?26HVF!Gl~b)Llt(6senyp>bFLr2-1JN&q{BI>WBZWjWTM0O;1zWXPE3ZK36s zic84?5exRi0MGzq@tp$$K>!wf zKJB(mR?Kc6aU24mgH@^2r0?uw<%}0oY}o z-uf3&3;+=#JAe*0+ENduG-Rqsj9h$#EL3d5VA?U@7N9q37tjFFb=n}@c>~DNnuvKzIUcDCaLqt)pk?Sw=t}@^ zFt9mek^w|)Uhm}tB+>47tPB7}I>^_!r2+;4h{U>3j&)3Z^;%<N6>LOY>Dt-72o z2>I@s!GFiVoq#at5;j7OCx#`Z{m8e0a)x8W0a|}_ESu?^Nw+Y)VE6?X&HxoqR^%G_ zMX3S;#O~Y&zDlp}^-$T;?B%iH{gs5xqr04VUZ^m6K6iVzVIhG}Cdf;V{!csEqR-mK zhP8@O3u9xm4!7~cKpFs5(B3FrjSc6|6yXXJzDyfe|I9q zT>R`elQP>c^~yn=a52;x8xft1aT2f=B_(paCfv#dAnpKt0Jvfixp&?z+*{H;O_#2M(!=`B+Vvg>Dg{RzFCvmyJ#@#F3kl^{vuyglS!zzvrWR& z>=V66oHpf3Zd4>P&x&O@CXXn!q^A9+46+cs%Aj zmYjnVZEl*>fC-zmXX*qr28XXR^|HD`RxP;YH`Q9IFK?&RBGq?rcYOi=jyXKO)FS$z zl#V8*9O`hjD0F^vByo5hCmekBg7h)g-7rN-x_3)@!z8gsVbsu;1~5&P+HMsFl)3Q@ z%jzX<>LtE#S0CX1nflJJb5^(L139a23j8%Pha$ITupHqzwhF-ael ze*LiY^>=ujPYtDO{-UIhNYC+}i#+^-qS^h#ZkLYy3F$ls)nng_Zl=!y;^J(fw@7dDee4Sp>9J9%^>(3KTGGNop{IwXjQF1U z(XiB^g_f@ANavC%<0cHk37E=MkR>FN+barva#-pTa+>rChl?Qluo>T9NN;}EyERx` zRxuvx*ex)JNf%E&E!gClqr4bb=d1pxZocCdJ^T~@EK7bUJu;B)N~~ur7k-1bUT`+9 zixUSoJv)}}-<0lHl3v#Gej4R?-GcO6Thg(vgBMeGp?dR1&MX?O+91y zqj*n2$;K&KAg-&`t z^MOHK-FTSvf(a-LN*NpgF#s|+def}2;X(2j@y?3_Z~=f^E)5M z!|)RKV9)`8LA_V`%mbxomNPjh%O-f)yLyn^_$A(99GbTM!s)W^`Gf#N_9id@GLVB( z08Hf|2kH$2`KlbDx>9}HQZZI|>0KB($34&d%CQw~BzBp~z1DV-7U{yUM17EtiqVAw z3li%~fb0TXmG__MFYzweY%tJ?>-tytNxa4o1v5^@{1twvqew3%X7SD#$x^ui?~IaO z-eH^`0kXRp@J87SH>l=y&R$YakM|*eEM0QL?JVlXN5XL`voY+{ePsElzX~R<=u@^Z z4>`y@Q-`4+0!YTa0#8I5S(tf`A^*p2KBlvepRE?31_}$HR2DeugpWABq|07rkHMG~ zPNzSAS}?TLFAUc<&jbD_jEOAQkp|{s!DSbP+F2RaFH{(d3_yaMRV&gWo{(RnFqV=m zI&=fZJ|d@Q0c7OpVFHlSW#Gr)*=2N;d(ZD0L1{lw4wgfAA@ zG*F=re%u+kqVI(98?0M)mC~6 zE#8x-co%oxg%SMH;pOmJ-RZYyGe*96v9z|NCWFQ0BhB-j&GXF+B}cA5Y7`85<~ZbvbF-0OyB%V=g5SEP>nW{T;?)fKscrOcN|Vj8=dG z7JO{PqzmKF03`WFn!g|pvPgf84N`zjES|aYISRkS&=oyf8PC!G8d%%#PyEQ4Gm^0w z_xb4gQ*I>EWZ0U^7dkO?`oeN=hv5rpj7O6yUr|Qf_j3h^2fut|e zOO|=gR2~Zrwg;6T(prDc=M_~Ou&;e-%T914f+M#cZ_K`dxN2|EUG)q3jJk|>*8Yht z6t~3_M{IL5-q-IoH#j{tT;)A|BbTj^;d)qp=kEeYMBVkzUaFWP@y9%lwvOt=tw}G{ z(}-~_0Lb<}kE9+T`+X4Rh!{_@;MF7T7y2Rx*H<1I9`bbruL&Q9%IH62DRgv0@Lip% zxqIe|_;aIsYYR>x^6o1^blsdI7@>{@12HOJ39XTV%smka0`jwb462SdzD=W^UHZVd$Bj^)bM zU@REH_IuUAT+6*en|$nPxBzpNSn#B)X^t81n(jM*M03VU)_*hO582@xYBqP+Z9P2` zHf1CLJ8?HZtTp+#Y2UUA**u1WS1xYt*z2mNXDncI7-XBu9&X5QjD^*@C{;Iks)KVP zTz$SYDY=&E^I;5p3>^wKXg0%b6>dyIPgxL+u z)l^6IdDniyT$FDfU_UQ=f*PxXWU(+@T>wto1tPc;Us`c&#m z94=Nr#Nn^}jlZJzeE)m&?!Wx*#yFZB=dJOrzoY=HgRG5gt=*lnq4U`~F|2*yeIICw zey-bh{jKlPzx-GKa_+h}0**1*iXW1`{#(9Yf9)^*H7jT4yzApX{O9k}H@yB19iGFo z9)X|84w1U4;V>%vSzg@!C4%ky{@(xLzte*W#1(;}Y`fjR_SLuP-cKD2%=Pa-`f+{p zo8K78xSmUiL|WNPf86oH3tTxjgsC4u8EaK)q@GA7kGoH5=@2;qR1fy_M?s!TIy#MsIZnT#R68i^>u`@J{DhJI+nWk^A&eL@N=IX@vLd5d&}!ANTM1^F24@xy64%qHC^Ta_$msHp>uV`H{Ikg)s~fy^e{DAEMTnQq6%nBn4e$;p}d{ajEU{N z8HJC{kQGpgy)z4Gul-TkRtMn22%~Qn3>a&%QD!JGXStXVFSJZ!I||+A)4i6)10wc9R$)V{%fdh}Fe0`5G;x@9Ft{~?=#JX3m)TZ^pAtUml*UqoY*>8isa=c=6E<1I zP#b2dwmK6)9EDo_v09w^pSByiA#($mF*<4i`l8O0oWatB&G(Sk}Sk@z$Kc!}=-9U}r#*&ciH#Mx(0kVxHN+(ZC7V;0E(=4c|? z3lD>#1FMK@&@r~HqHwk%E6@;w%#pSSr7;qfhosIhF(Uy;0K7yQV6!6aO{+*VHXn{# z>WH|U4X)iCY5*e_1p};QA~e>pXsI`BnE^k5vO%X*ZvwE(PvI}1jWAX%SQm!AZiO@} zu_1ZeIUo-*Ff+OZy8z2oQEJ@jn{DA3OdlXR-(iKBhl566Py4XAh8&EcE(=* zve#0JZ)|+eMt-Pw<}b#y<>gTi76CH2GoA4Ou8hD%CS^;bbsTtB0H!;>@}<7L0%e2Sr;wjL*me z^-f(Pw}J(&)QJ9KnyY1ADEMTwsL4WKoiQ@v2GOSXF+2v@1yHjXIdBE=2H)*^g*s+r zPvs(mFit_p1^AAB+f@PbYQSM@06@V7^6hP?NndKS%pDJnH4yeIz+WvG-6pVz!8ivf z6<~}r2DCs+E|6JlqyZy1;DaiF9S+?DBb|j4)JyuMyN$g?LnzY2PQYfW31t*s~!bJzyWd4U(hLl zEzu*$*#ZoG0CdIz7Ka>+=}3zc(>?SXE)EQc>-h2J?^5ypO76@T<6CW0Jckl9MAN(6 zZLfH8zw!J+g^Bcbzn7*TkSFTHWR6Z?<5SB)MF>i)3@`{c;8tO47~AFqtc*=5-i&pw zCB`toEaeC}MnNFQJ}&Yz<^co)V`(5Edk><7_clt3-U?U1u(1zahT_A%)$_vs75b51;8+;zVa>w9+KDcQ3L28F)EA9WlH%Ir zr>b5+jUJOb5vNs3G77i+0!Fs#FrFv}SE0i($hU)0U;+f3M!8HIIe5pwSFX}*Uj{ss z=^w@cG7FH+^#TgnfHdSC+yLO}lvTs(pi@$w44~edcpIQ90b2n|<{5dgaU7;gP)t5v zpr(1Y^4Zu%W(rf?0pg=-EL*ez4;00wQm~@}ZUV5*z5uaMZ=Rk_!|-a1SEVLoz%oIS z)VKrPJ$2fj3=o5Zn;Zf~zFm$gkeK;Oe}j#Kai zvMa2dfQr%CR=w1b7tIq+;$d@M+Jmx?hE=E4rq87H!ov}zo)1yfaB zC<{GPmI9Aqb&u>n{)jF;;D>vf^HOE^L7=E)3Be4KvS)XMdQ%J8{ zlRkc0I(pdk=bH{on4F#g6v8B&&6QL^-h^Im*i{iMAC_Gh0fFJ?t=CEa;VJ3q(g7&+ zwKw1H>_o5>q0jga1J`NhB$CdJrEA;L%h#mmM$%b8Tb$~I5OC)#&2b4=uYR|)sHIV+{rMmI zpLKqFqI-YrM>QUgG`Qe4_pYN;9M9uzbpJpPzxGz?Z~c(;&lBm%;HRWlb{+gjc^}!9 zzWWyG;z+u8Q-Wmb>4Brz=&z4Jja*81FZkS_LlyuLqL&{>-b?9P26Pv>d$&tl$8kPL z2_rWbtj|;=qKTp)42pz{buSmdEc{siU=N`s-3UV$fePvVWB`0XgTJ$hA1=aQ&%!bN zes(1NtF%YQy6*Hy`if*v`PpshXj}T^MJa~@0XO)wX-<5kW&L)sBW+z`?k(xmcGX=| zDp!8%bG$~n7P_pec3zwPiI%CfT`u0^?~COE+_e{&tD8>98*=2w^KhMCAL+H&YxPJL0t?qj8-x%~P?b7bC&zh;hGy5fcy$0d47dEMtWQr8w7|THvq>t zng3}zuWN5}Fakz;!IlzW3QxuV=7yQ!UID_QS>m2P8s{_u7-GiNWQ-8+xC0)jpK_ZU zVn*JpFe%+|w@p)YaIdXV1)QjSJ4@H*G(Xcffcx8(acjs&ULU#PFvc2YY?2}%{TZW$ zlrLDTxbpU@06vj;R(Ii4-D~f{aNq8=cX=2L%;y=MU??5&z=)6=fn)3+hWEr5tRy^R zoE*l{=brS_0L`$JaWs8wH-J|fH!o%2OqL{JxN+g>bmC$1N8Diy8^+K%QxNX~bJc-# zrgIn#vv@Fw&W#*GF6@H^^_BT0Uc2&otoe!XW)u-%uH1i$BA6xezETGOC9gAS8mKE? z*q*5C@LcZV^^SX%kElO0AP;xS8qX4Vsa8uP;;^P^ z6_wF7d5bUrJ}uszLsk_$f3WCdFeWxU7$T><2>I=*CaQVoJfjHjr&F|2!-~a1*km?z*LIqT-T&E9JzS0Tb(N`+~S9qn~ z3kP7}6#D6j?I%o!(qGXznr%2bqrD44G4R87eefZ+9>r>NZWb zG^4#4;7MK7XsaZDj4!zkCmzx_uxCV??hfFnIobz{WmcdP%vsmn-h3i1V}Gu{BaM)4`&~uk6$?mU#(0A@U7Cj*U@O%>0vW)&y3Ejy(KeB0 z+%f2EsuTK5=pxf=DIMkk_4tVkR<0QPW1fQhg=ZXm&O9lv+enk*#(c!%na(={00U?R zBfl`e8tg<)vBXgWg=ECIADxMxZ_Jxv^1rwGH>!)J%@{QGhx+dr{9NFkAp$ zDh9wL6ZQV;YlBKK#R>YkpS5ESqRm;w{y+BK1lY3Vtnd7vbCm)4_uP9Xe&3hhxp~jK_q|uu)e;1KD(ancPwtstW`3FH`{y5-sYbP6 z$7=crdzW`TqNS70fSJoc4QD^GTEo zy*OvJ&HaV!vToQhmnV<3S-aix`6_f0;+j|Yd787HqwR7xPt&!-d|eac)I1=6Q^(so z=fOPw-JZ|D9g; z-rBCTm;mWBod4dv%Jr1XEqnmFE+@PLx+eP3yf|jDLICEvtc&4gGL`Qc1z@gAxu_2e zIOD|3-NJUON}W!r?M4}&_-5VSzVbOg)&VicxAzXBjFuZdIwiK*cAWff?=yrBkk2i7 zIObP$=6wHz^kcu!;!AbRyl47;tIi|;kyfm4@^tokX8jrAXZhW2UoH1fdD=Qe?jFx= zJuKeOy5l!=81!lO5U8)5#WTXO?uxn$KpMIOI(1tP!ac&yyQ728+Ee7v0jsmr9_{$i zy<;8Gj+-{KH4k>ND+?0 zzsa1eY$?CH$rS*xkKg%m{oK#|To(Gtc|7yb8R_tW|Im;9TfOnWykU30xq6pB6RP$5NB{Nz zx_ewL*LS|{&3fnW{&qW>6mK^0H|eB@bo<&bd4~S*19!Dzo&WQylh>MSsN$0PbD`4h)O;le90DjqAr=*S8qa2_iPSVLTIayI&O2|Pj7hRL~bWJnf-L= z=yf}F@~q#xvGjBX4C@nspNMu+752uAS}}OaGj2b2kr;po7)N9FYzAvEB~{6&md$$_ z$Qdt;%>eV((a71AU=Zw>xvTlH=-V)wugcF z$P8%#-vB5o)uDX7N&^g^N6h0Lm3*%Ny+*ZFBaL`2G1MO!krf8u7;ATW&ZyLd4#&bI z<7)uBfKsSa*h2uIfdcB(s)sO=B?c#eY_KiW0~Ld=96ZeU+A-rzV>m;b2fTv~DD{M) z|FU6NR3xAW#@EzIr!1TpfO26aw?tfH)msiq8+QT7lveJl0|OCtTT8tRVhKwS#{b4_ zgt4fbFB^+fJ#?@XOXdaa1OUA7VHB{5cS~a-qb{jFjHFRPFy4l_jQn?yvsyLam@Nm# zn2|Mc767>`V;QQu4ypsh1wh%1*)fhc+#mo!m=9oOk)Twd3Cxb4-@{TB-~|k~VaWmM zfR!d~0NWO8elt}_R7u;VM#gByZ`zPV3w1C$w7C>H0I)OCsD%A(WQ-{z(l2Y3fXC@O zH3t0yYhD9=k;s_5mFfc8qEEooRRb}oH6A(`2G%X|1xR4r87CkFLf%y|g7wbp6W|lz zJ!2C~hZvRs=XyiKThWSRK!S@2?N^oBSgy3V?cj%Qy=^v?9kw2ZBL@TmUh0$@k4ts> zBQvUZYjR|aHlrQ^H-<*XjoV3ZaD)DOlZhljcfv7GLRNJEb{AP5N!n(1ICuJ>%hDM zPzCn&fG_}!sb_tmUZBkYgwjy3g0MGZ${B-?b*KW=sJZiz!o49VHGK|7C5FRMrLh4h z6IcPpFc`Q1;lbz98Jd^@N+XU@-$54!;xeWk77INUFtGK9R@Ei4PIGhB2B}b8F}76> z*29jLWp~d3ZFSL81=||%Iu;9rb%9Hf?C*x&8Q=2u7h>Ai6Ad4+T~0iot1ywr`FDUr z^b-V;1x%yRM8l-_$&Go0*`IN6+_A&1>;QU10Ap#|)CK})L?q6!$xW~h0WxxM5l|CA zVYV+ z0mGQtT_Z4%Qp2j%u{j!0stKl1TT(4!2dXoJ82*LyoRQP!D8Mu15fB!D+@a6)%#Q`- zvZ1@SIg*%N*NIlK9QzN-pZzpt2u3I71@tF|kO~l38b|2^2I%rgtxf>e8R*<`I^CjU zOkL#Lz+b6oUef^Cm?wPkYT8n-R5=8^%Dh2-(%L(LUX%rpu>PK()}GWiKtYpRFNyUjlQqD5UWwKw zRzGRS%+)~$^btFAy`_=rAnCEz#_atRD(@#Dc|%~sG}y`CS-Aob|^vr;fln7q;t$xmr@$s9x{2l(~J zA9cHgtY)wH<4Q5o`2|i%fUV3)ZcrZ{z5SH2%?{61(tQJIZC!flH4ZL%q>@%PrH27p z9GBj`Ev<0K>?c6YV;v>kzp47nmUMQgwPP2wrXxD^9k*!MDRg0btbVu9N+BJBwXCjn z;gcWN*1eZ@5Yx=cs9~L@4r|>Hii<)4$XcZK3j>;5)ho0O*m^9j->|IiO*d-*@C8r` zWAv$!^rkj%>zJ!%79ZKUr_-+H49Hkkxe0>TIuL9)R% z9OK48!2CAYJE&`^l+L2pccc@AbgY)J8~=-S=|0e9AXOfN?$(R`vS+v=bQBt@CF$(P zlArkm8#C+dO27QZe<{7?7gMb4@$etUC=M@52fFp2Ee$>enk@mi0))0G-SR(3cf%(3 zZ0VVYRb61=R_N4HshgKdBWpTeOAl|=+FWO{aS}BW933o;6zXsS6s>dC12SN^J(oFl zZy7RQwovGOThayAFVVkUbd0TQvmoMLf`(s|Fj-h8|lK?bGr3gzDs}e=3j#r zOd~C-+S<9#f6XVf}FNnUI8z6-rtx0QwNxH0)Z*p%lwL!dVANVj*Y;UN`XI_T_*7?G8)I!T*CW5&Pj>x| z93#Vkq>Mh2!HrY8#?Gc?Tg}W(c*L)_lZ~VNKG~7(O?`#^02Y3a*3vO1a!H>WNUu6B zz4c7$!vpE}&q+^Tlx|~fBI)HvrFXb(y#2oL0qK{?)N|ckU2Rgt*QGIjAe;AiMSU1aoDcXFgtibV-j`qtA41!|0)wJ&``zrul z?O2Z-=;-WPd@gCbK6$@$aM!iRGUMWuVA;e5qk z#bR=ntb|N)pXGifG6R@v)&-I0vDGy2&GL}m9lz;#0}e6f336{u~z(HMXvQD{E=o1QyEKC)L~ybwuX1R9s0@Lx2i zg$657xN{HV{xDe1!A9mUr3IT9;1L!YaRpPz!IKBgFk$MR0sD$x_BxvN2F7x ziDV~z(-t3b}{M*01R5D|rdSWy`%P5$*a^oP<`Ka6{=GcZ zd|b>KwlIjw$K9#1lX9lEB0c^Cprn87Fczu-g17-hK29($!%B9~+WduR7==?#%JNO$ z@J+_%6|w@GAo*B*$*NxaHLum1-}UB6zsL>ciNHQw`9?*ET|P&(>k_aUW9+rhxz^&u zSpA_pA8P6}_n(6k^7qumEJGE*N+Dahe~gYC3>rC{xE`CsaDzyl6rzq6(~0%;%cx@j+Qb$07xPFC zE}Ybw8gNhEw{ed=wgEK3cJ|oaJ5QfIar5z}-x7z7A&69FbkuYVzNO{hx~wVM`bIcy zuWxB7JEb3)3kEJTs5Fn^n=vFa(9iUMc#JV7>LVD&#w~p+3{1T|wJs)h$(R$U+kEN@ z@N{Erm9i9Vk&msU9R^o%kNoU*4?tNp+_`>=a5=*QY4Z^}H~i(@ysBue4P#D0SsQ0L!oY4)?Qx0CEegimf**UaqhfML@ z%tL^Zp5Y9k<|kDVG8fEF$6(+sie}Ew8M>M_rj1fF%{l?B?9tH1v>ol;-m~F%uHVed)V%&TOCM|N1L#(<#?0ey^zdS`j=??F zILk*Tr+v2pT{#06Iu#f9Sl8z1w4Y(X+V6GWJ$LO1;v%kD`!lQu0#Fy}u|FRN9mG5C zZ+`om_4@CBy>5Lvr+{AC#eQI{G2##iVj!I*Gi30?vhqU#{^2+O(|sqxVLq?_k=O6r ze|TiyJHKA>#ZS{8e|Y|$RPLAO*Z!05)^E%Ka(y;f%&(h#FPRzhlFJZl%WwP6?`d{So4K@`~JKyf1d7m&mHa8bANyEPd}*Vf93P% zy8mr+uwl}-{+g`$&^coOjm;B$Cg=Q>MGz6D*k;7iq?12{zle|DY5JQaMu6~`2X3A- z$Lz6jZa=ij-F9yOZla8bxQEB|JKy8ZofdZ-crl59@wox0VLo&4fVMV$J-wTZUUUAu zrg^m^#o6~;PXhEx8wOU#*+MV{dFDwsh?vyBw7I#d1q`(IaXt9p#(eU-Q2t{!)B{9J&zo`37?&X{Z~t>0T&%>Fa1BU{5ku#U>0rgb^AdfMk zr;a)fCMz-Q2arKURT%XGm~udo<(sJb$Q7Uu7<||iAFI>h;EJItP)TMcU#cDgt11OR zg+%J!*uZOmq5zgre`VE^7Aj-b>h%-Ig=((0EbjmYih5|@3^W2THZU?Mtk!C?-FNVt zgJGz3fO=gGIf#UB!(EKki4dSlGD;`Q9cK-4!*MsbrENRgJ@r8a;uW9)ay0OK8@Q_9 zxB48x2GbuyI%IX)1M$Yen)T2O$&H~3keUG;06O&59r6{!Wk`dOv8usHRrX3%+a6b^ z11}P->_+A_h%&xKVEhfZ$1q*URoC)W_o`$pj*)-I@C@QGIE)7=!$PNF+JQ~UKx1WB z9RvynFJzIvfZtx%z|b%%nS-r^m?)s)a*)=z=xSV4#!MFVimt$#kand_C}Q1putmp= z9s8;~0H$iygIWb(0g6;2{{Z7)x+>IxRYD_G1~98t4k&C#-D0e&+cCB)14Ym$k!=Gq z)+#qD>wi4}92|r`1fb@20UUbSS%3wKfoWvM``e>|78svnz~cA;7%O{QX76bry#?

DPX^;RF^$< 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%0D3J@Hfad=bnuz!K7E zSZ+u@>rQ}>0VSgnF5b<$H%8=b$B>n*Y`K>JcL7-Ax_ElcfI!x#T4899Xp=mSsBhYudYk1Z zmz5mgg~3Q%v@;7`GjeFg5b3~4_d{NDaL>`}GgNy-(z@qH3^7*Wh4;vKY;;+$+Kv53 zXv*n|vf1Jng{qL%Pq@b&pbc)b41>at88Z|z7ADHr^ylOu#vfy$g6Zlb@7D1fk6Rw2 zP7QcOzsZ0xvp^$&r~=FthAA*laf0^~xfuJKe$k3349t+lmptnwdiNdgHjoj!#m0qvg~)?;mZ9r{gICgecMU5xK7{qm{tz2Slfni{HeQ7 z*$Lz^7qzn7fPo`@?yE;vw3vVtz6wV7p(-FQ?Ff9er!oSOz(5dYB(Oqr*>b#b7CwlDfq zv|a877^&OqXgh^jt;brq^%|RR+hcpo`)vci0M$(O*KBT%eiz`un4e?rjQqqr*seFm za;}Ic{8!D1)GmP+9`(~&x(Vc;v&;}Cz!qT;7x9D+VH?Ns(pb|Lr{Px__xhs#sxdo&o@aKLgyJoGEe13bP>;9_l@(@as~5RH?1MrT#bu*kGjv>jB$6C z5hF6iyzuI8c(s1xSAQd-+1EYNfiVk!UW}EwvD~aQi9G5jj5pC^!q^lUjC#fI=7lZm z>*06#psz&Re=xkF02z3=88Oclvf-KivaMJB)tu*Op7(5w6X0k;fg+ zA$##V?(I0|89oQlJi;;Ww$n8|0)fkP1_K{0IU`;4i-;q?N4oi39sRcrrpoIokE0Fl zYOe*tFFIg;%^O?Mee)}4)$k(v-!SeE77*%m-h7bDV0$fq+=bpBcS}F3&&W@VU3s0( z)V))H+^t=o5$A4qHWcaFF(&Qi7q{pi6J3`N_pUqTdDiyySh82VPq{x;15ee!-|rg8 zL0y+q6M(t6I5G25FFr=DZwtM&>Cn2WjPQa*qJ=DL*2SVUNNWZ`0c zIkisQrK)27%hS#C%zVxNS^n}pfjs&1Y-81y*cpo~Kt;v&Yv2M?GN7jKeWhNrY?rojsQu_^2h0c;id)bfZZ@<@C3$!C^ z?}xVC+rJMSpZ-RZADq?pJMZ^yX~uyB^TPh@|M9c)oOZlFa`h1dpV7V{t2;bpFP8c} zaqt@lD)1Z^Yk=}d-?}1VlI!5%XSe&0{^ZZ-Km62BTy|If(I5QL-J+jz`}tq_`KjNZ zuOC14uYO8D`LjQH<&vK_rObPur5t;w*{jy$&Pb--3nhM_z(@HD*IWt%?>I=8_J&%2hLu^uhw=wL^>nwRRhR+nqC}RobRd~;J zlx`P_6A#SzAAWcPP|H{Jc`p2U^Ojp0dxLPj_wng(whj*4MWKj*tvh{x-Z%7?*XHMX zHUGe}#?y?4^19tjnc_tU)CJwuJ__U4-DL|Js^7X96RB>Uv16lSa(xpMtB zFH2xmBU12oq_U!~4cS@D${2Z#mp_c%T7%T@RN9lWhyQMKX z0cbG>s|r>tfMc~WLm8NZFVmxuipA0ZO$O8f31kH}3wCDdGF)-rg*>aPPE z58y8csdQkGG9zJWJgD8k9KIyLXsQIsQI`|q8T!l8PH#6mTH451gJ>@dg<*3dEwe^9 z3wYb-O9uXhv4{Z-hK&lqjGZzf0an=_ITpa`)8`(TbhW)>APY8raU;tD|y*ywnCLz&L#bH~`~Fz!i8h z;3H{3`{e)w0}H|umVk^fpdr+-ewnzG9Tms`xG&5@5K;0DAZr`Y28Jqt)hI9H25p~4 z9c(3wjz%MA&O%VZdeV=^*m^Q-(EL1`_?6ZMMK!RsHF@d`I~sH7rGX&^Vy~*O{>PX! zvOK!6d)Gmp0OqK+(MbIgy9xSgrJk|1mC^#tL(UjD?t6Y&r&7g*F?IMsLG{*1#R7Q* zYC#uRQV;$-zy$+X|M*T0t4~K2j9ulxz@U_`+yZn%J$qG;$368ys$ow_!y{(fwSgav zaSquT4sBf92Gj{_&8XCC zvVJszEe{sPG>==S@P23H?l5K{f2O>oc4DAM&J5hgvx7jGSSSa1u{p-1*iy3L!tx9n ziC5O0NjtP4UfQ7LfF!qxH-D}-dD;=1+hh0~Z>X6Bx^Z2Ec@Z~Hi|_`ZDFGzXA1J%C zaG4vR+|k%TG$?62D}2G%lJke;Ky_v=IPQ%_&OG01ojFvupTU;w1;Jy_$e%dC27*GjJdAw zQolBqc&%C{VKQURp(#m{y&kV=JXygVQEXv7f7FAOCAFiqCuIZd<5k}1*Hd2j5igK8 zL#9PLxdT9IS^$PX`_#xE173R(saOX?rMM6ovPl@~lR7k6CjSn2@=8zst#Qy7ab}&J zWEEKfNSOAzOwF}5GjWED(%kq%*-5oT1XNsNxN?z$b&QCUo(%~Gzmfo;Q;}DzUdyI~ zwT;Crr9~Nm+!^@LbkZV$6TJ)5#K<`Lu|CIyLHt$*5=(u_zhZ1#QiWF^=xPw$aB z$3X;14-b8Ef9|q$eb3o~e)%`0!KZgA=bcjLdTFUEUA#fkd!;)+A>I6a(qVM*p?ZJt zRt-M!(Ou$rlAI3SAl>qf(#PH;>7!DG0t{o^D-xKCbg?1E#+ce~Ux2utE**Y_^!yd+ zPy)7bcw+#8mTi#nfXt&b9#L7xM*c7?O1%VGWE^{RWb(RwLtkfC3SGTW=v+#k(F4&u zWqNI`WCm^X(=z5pMXiHf=|X~=RO4EU3xy8#fcASj^k=Ny(8kWF)|VXa=soSCUBTa5 z0G3|L4#)&@Hr47W$i;77h4R{oz^ZooDT&g7dFFq-QRc zy5oC}NdNCysrQfMCuXq7qu_7!95cXu^A9-)@^L?`!W;l=GS0!+43d!sINH?+Hf-uD z4tNfels{yTFIB=>5YGvx$lC9YO1g1TI?|J#Q%m3IhxXa{lA4l`?>{|~R?>J++FZ07 z@m@?GVfmtM@2jNW&uorfx+)z4@d)XNkp zgGXO#$ccYg%4V^7O?-U*o{k>yg;y9xwsVpj-x* zFtEhWEaUS$Y@R2K*u%iojiV)uMT2c12Vq#aEZscL{JCv>9c~zTGzK2=GP|FA#>wp0 zv<>mhfyXMk)NUCg@nQ3nw$(qIf}#ur=6nIO4* z%!{v<8xk{Q<0l`wBTR}bUtT8hbpM&WMxLhJo0s$DzujiGFpBi^@YyrvHh;E$$}^sM zYCQtxiYqq`ig)|E8vtW} zr6t-0@Lw2MlawPChp9jPKd#>;vh9i9(A0)r@Uf zU68LBs{mR65^Mm1S;Ap_(^+)`e;aoLFeEihdsz^BjJ^^^(6fMB?J)cfP)jg&#h40! zgE2WbEN_Poqxu{$7JhOt7yd#%m`ftf+dp}Gc%R&@&Qj&3ots$d&+j(wAAeEhjbC2y zpVex1ML)E9OHNUTnKyf+d{Ne5-{VB57#|4-SQL=P(t(|)%L3q=1=b=D(O!9)jLE?y znZL&{t_`ffee>ML1XPv<7;Fs{@|3;SN0ABIdL4^%_*5tMN%L_Bxobkr4Mxg!Y ztUADjz7_q;efr<%-~0-L(a=vqw!?qBP2&B2?&lxN7MlAB@Hz4W;0jq_9|Rf8*1HDm zA{&ggx$$ZkpN7s8S;aUu3{B%5^E@Ci{^ytVoubsr(N%3;*s!$T@Uw5wcYeor>cHw` z&i>2y{-u8Joxi7F`n6wbg4-r}Si_^C07*naRBc zI^1UYi!iy7afA)G{2r&1KlV3|>8rl#tMm=8{09AtfBr8TFAqKZkbd`VzpJ;uA zdv|2{Nxxs|GJo*yoyL`UA)b5Fe1p#1-;@3P;;(qAzV7S)k^b@PzC){NUU}rHmA_xb^#tA|kx8|#;N-Fbh0^5FcyH=dY2j3^PqsF(KV=ZBoQ zw81RL4)t~V{LVuZCLv_3T=$*YX(Swejvt)X?eno2J;^TY*ho26AZ8V^8M4)%&eF$f&~S)c7khuSOe z!AKQp0IrIIC-OWH4|*HMSdj;NhmmIsV7^;BcRdW`|O_T@SA6#91dYS+g%z4=Xhe$TK7 z8l8ALx;(x78DDq&EsEXZt(1ucmrPwwzjr*0H;H(c+RyGMa&F6vv_!nZ>~HaIMCPGv#zI* zM&wJI$$CZ7-4`$#+W+;w_q}ibp6B>n-`LOxKK2p)%76O}ee$kP&hh21VdGkx0pyw$ zXgHXy@7?sG=g;!4H@@>-&HE3$_q}@md)}jW|H+@|1Mhi{&Th`uyk~*9nn?C~z-V$J zCVTnb;r`59Z_{nJ-m2Sfy-hb+_Q&l2LCI(yWO+CAuM}>qo{cACrK7 za(@a3i0g$f`;K-N_x_#5XPz-YqO!;bDVs5=rQF12E)y^I-i&9P5zoCQJGCaICd#NJ{lHGWLWrF{5A;IW{IC47uuYsV)Y^*mYt2os7f*(9pLGT!p);#B$<5 zEx;A9UcpRd0>*d^s-@TCv_~@>e@C6I$^a^L4`2#)QkpS;2_qCX7edH zYtS33&mJ{((ZSfz*|iLXWZ%kR52=kotcIJSu55qb@IBbz8Ua)-pQbQ)8@XLy0%46h zwZ_Aau@=}TN5F3w(lPy#ISgh2WpQw9K?)s}^~jCj0S#fG-|HF>kaje~eEW>XvFL!Y zIBdlM33V}a5EuC#RVo1%EjTj`X`9;1A2aTUFowK(`b?F!HY7cUdyM1@Sk7vVwy-gF zWA_d~gCTe_80dTz2_Va42Gk%dT39B+cGbl`5l~jG-Y~UKnj&Fs>ukB9epPhTDFF_U zEI`8=aW><|ng{xIj{{cSg3uUa7;nrdyn>ra9S&*ibOh54c>zz=#ZY|+I}^r|Hb5Dm z54cgu`Gu$tRZm54;51|$oQ)kGEOG@P!;xbPC~H@$wxu3*UeQ)kcN^>+5+fBo>Y{Q6 zE(ViWW7D6K!6^2grm_Hf?DeJbmfKZs!ODiwe5GQgREN{@iF66@RH+dR*6Bc+LO?qy z!O(zQRavTwbv0>r0pE308}bc+!q{2%hGSJVjBm9n`W-R>(32@4v8d5x#wbYnt$egW zp>e;f@pz!_s1yeK80vScvBnEN-dG0*SOAa!Mi;{`SOIN3s1{)MlEzEUXx4${54%*F zqnCg;w0(tuGB!C7&PEf!c}68iJ^>MQG%iO*Y@z`yNwxZb7J2~6U^J`^$k(G!r7_Qd za)20y2-NHYLoavSM&E6|H(X*QPb93>%@as_R#u-#e)bA${eyOb)sXSmgcad~G(?^A>@Ja)Y#e_ zL{k9tNNhwl#{#CYsmHBC&?gec%&njK9sGamg3oeaRIi_JhF-#z{avfH<pClu>1wbj(l5Qu0gstu@=HmmS%A6#hix1e?32#&WgsMDWP~X&F}%^9=tRhn zmCNT$K+!(nCmfdN!hV#DTd+Bi2Bjj8V3904C@vVlr?#NIy-B>0OzB8gL?)n?Y-;Cd z(?*@~vNFfg7f93Wx9Jk(ZQp+JGNPR_uU0`X;YTwy-Ob{`jL4 zJBU;yT?%OHeZT#-2sZbA`u5LATc4Jmb&I-Rc%6yfft5msXdlW!zh5e(Qwhuk3I-C4 z106>{t))ggT{&ptWJfwXHWDd4v?;B1q+{p{a)b=Ziw!U-OB-*Vo3~4K81@#mFfNTq z2;FUQ5umz})*9~+-QXgPZYoY;*fLbB)uPr0<8@sd%jWR~Cmga}70zdXB&v`e!OpXm z&UOne)(+h|eQHy^@A(1^LI3>GqV(8XJ=4TfnU47}|f8V2c zYf=YBEBvB(4y0vtfUfl0KW$;_=e$URd+y#No+r!sHZR_xS4rcKN@qDN=eH%jM$%VF zf?*Atb0@>_T=X$0@yFiFq%XZmI=Nu$Ka(k3z?E2k@uFH|QheS47~-G})@z>`I=fpG z4>ox~T!45Ev2c0!pd%gWD*U09<>P7OFKjuKEBZ_x3_Ek4&ty-=tNl=PHT5e<~IFzO>)=AZ$MA9ewWmj!oAJfKbL2Q`}R>49+;5En>HF7o`AbJ8~^n|@vcFr^c7LD20_pP#<~mRKmx zx~>$1(X6=l^A6&ri~GhYh1yZI{xE@yzt5Cn*o@Xb-RS)Me*k#&w}pPi-$(A6eET zXP>w+#3q!O*>&OzuQ%l%MjJpHfRj4?j(u!>@DmT}#4Y|IJce36+z0zZyvw3%9>c8~ zvLT4dk(8&#hd-d)!7LR1QBZle=QYDi7(rh3^s6j*1Da_2&3;F^1jwJ8^lKPPoZ*KL z&oIcqv=!HmFe&aZ4CjM%4um0G7?5(GWo!{~bGHRpdXWQ!!XP{M8_xi|9=*%KZ2{^E z@W7F4eG-T|CU5aB!gJ5d6$TeM+XAQY?q*Dphwo*lsfH{>TEYI&Y`jo^g{;m1hNR`? z)FLemV*u`%kwGyr7_xY6o#cxpen;G=J{vRgbom&su6o*4p6-KZ4QK&d5Z4Z-CwuFE zat69cBkJA2teGN&@otnQ+O9FaPyT|@DC&DxgN#gueU+3lmZiy?I0c&L0M;a*`@5mk zpFG&)y$Qr-M8>ohvPquj86bzux$;DHduC(4XyTsnP-T{N7Ah^qEDoAFjrArzC}`=* z<&akaMC19)gA;?z0DJ-9L9T-lh5kweP2&~etq*Z#xT>aBm87Hhf3^c;E0 z<-XmY<99Io1rRtlAd9-4k%YgRG;rEP@YnPU8#{B^HyI*;ZA+NP#(5$JjnUXQzv`Ry zyMOe%3RbCnd~N5)W0kQgMjJH7SSb;}8qJmFt;g>>-Mq>lLPqmemRh{pus=fD@PtKBk{MnDA&gpnx021$~k1Ko5w zeRBNbPF45$t@WiaxtkUyYYU1ht6pldF|_8Tk4Iv zG2iQpTcnSzwio)ha@-9Tt9IOdRUfwiJ-zRM!7(0B5w3abo8Kx|J?JX;;y!uC^L_8v zIDabJ#6v1b?fJ`R@gdi!7foqYSXPhQdauHAd& z$6xkJ{Z%dg=nJlwuYY0XJJwdijns>KRzo`TZ-ir9aXWcc{n4MkU7r4Z&#G!K`+o9u zPZ54^_=7(z&Hlqrzg+&}ZU4LcUg;$w&0NXaIW+^&1(?f$U2F0D#GLKtZJr+NNv*}* zTI`H3Ey>b&B!C|r`Q8@m^F1CGzh21`seEX`=0)N!Y@`^_J#wsSd+Q-L`yGh z@cpBTaXGi~wQIb-$8H^#4YVt+=lh{kr}cglyf#!TDH z?U={04>h!x5nbFB`{D29+BC$u%5ug0sc!vLopa(}wXU$A80Ue9sdLQG4ftB9j7P9E zw2rBC6U^TT|2rOdNpw2qzK?#^&6}!m#&uns>)ehG>C8;xIUYVRuN?*ET2Bb^TE_Qy z*5dwme*JgWVomM5>{Txtvdf-?&u51W*7$ML{GwbnH6b7S%D2|&V!1WHq>=jOdul7S zLwxv8Keu*PtKWXpZx5Xn#4)J52nq8|rw2g%lN$ygXU%rDwIF>jLF)PsY#%K@BJ?Gqc1@K*Dt$ck@F#s;b>&&oBSRNsCLi{|M{wzJ!mx`rf z!+|GNeVh%B5hBz2P_VGfWVN7!uS4#_Ue1tS#h#n#bMRM2U?~5hn6LKg{$h`PdEXQ0 ztF-p8>$*OE*oMg50|!h}n2n8%4FFbE%i&vZ1-B!^(uM)HY=5wBZ*FD=!7u~T-;=0E+~M401-L>JG?AL0lYF`6@crm$|xhN31$NZAZ6MD zP=z44dVxqXU?1|TCo&G%7yIu4IF=-m!G6V3v`wZoB*{9`hoKA5K~YEsi&fKrLB?)k zeri4`12UWcmIts`WaK?ZTZm8rj#Gv!n8An;gMP!j!=9pp5bAA8gIvh_QjCMJ>Or@r zfFQ~dfI_$Esr+7+jDBIEh1S9`#lrZCoRh2W#BEXfPf7F6XZPwf04F6;04;Cf{T=RPI_ahG?560 zRSK!e7U@p{aL>R{_}2ifNd8cN5U!_ROLEBoAmt5}saKKvgmR^h04^j9KtK(x=UQfz zGs2?%zBFL}nglpx0Fi#f$~0jv*g?i1m!#1Ut!o`XRk?JtOaXdHJC|M~lPu{=o;8ep ztkaWZk}!!}Dgfr2u#xm&tSY3{g;ouqS1xIrd^P5mUeT9^3Pi#xWvc){V7>*Fw8=97 zE`?;>RGIORy00ekZ2Viv ztqS*RuWsxu3aVkuZCKw3;}6A5AFUu9x=&>@H2a433iXGEk{RYH&y zdtPIYA{~J>mE_T#XZ?m0u)^sWXXBWH#poMp7sN+#o6Ks0dlH~5O_{R7!>ngx1@WN2 z3FC|D+Ux}<+V2D23ZNaeOL_r8lUIOS0*ns86KSBW5-u?HCV(B{0Lzzww3sI(Oayey zFtC$dCQX2J(DZ>>n4?&KtL4CaO#8-=cS=nN(8~Zentx#kRHzRZp$6td1s(;E696Z} zFXajjhV{|rbphC=;~n!D0}CGblOy*1Ap!NAp^;Jd}*O zRKIyEbPAUz+PiDJvATf;@8@8MG{Bppa0oQCC+kyfOvQf%Q&EhBr%Y^Kk*uz1e9Jaw z?bLEf9cVqZ@?mO6dtknWe^&2k`|3xi!j^wlS3P~2arE^ec{;zRZ~zEu`>?v9;7PpJ zx~q-f{I*il^lL(bKiV&_pB|kptOvxU#kR^{^2{5g_*%HU^yWLIcgtOpKJN)~aw(Sw zPNZ@Z%#|FY!@L9fh4GawwlB_!0JMN9>QR#-dz%KxfW>ETL*%j+lUQR>V_w5}`Zw%B zc0|5!r^wYJa`!5cI|Jk5Z~sDC*FHr~@4Q^&1EVnW0G%f!i7YbSi^vwh(po<)IV6+0 zC0E&P%7B|2pl5&A>NHGUDDE!+YXa#Q(|X$DmVHx-&FwNddBzrzo35Aa@@jRKCT2Wme~C)NDJZ$j*&8xwT;#T2Wag1uaj zT}lE_uaKQ%iJa(Kogk{<#7^ZR<5{90Fh7T8zBU^G{F7q_O}i#bWb;|fe>^FxK52JT zsVwPyk_}@Ux5%5$QX>1OQn_?Ik)vUqxw(sUiJNPY%Hs@r7^+>86IrB)^`>O&yUJ zZ8qQ{@f~c(hyKm_Yz>_FGRB_ni+m-Vn4g0EuP+_?6A*Q`bwnPbK{A11m?}T|Bt~) ztAV<2#Y0`Brdp!i0x(gJmbinW3Qyawym`BXELnanQO^!I#*vmU>d z{(OxN0D+w^A)pOYnVg;vRH$o=k6T;n6f(}>b`I5sAnY{iV77V#@3{*4p0C^^mt1p+ zf|X*R3!Q&_;2#UJ`XQtPPl$^P_q*9p{6atFdiWKCH==2>T48Yy7zrR5ib?qp+f&6q zge_gD8T;Ih@4}txLCs$rX8f+>bJczn-ivp33c|X(czl|HWuksg&?~N-o|Exg>v8mfRcL?Of z?QRg7D7Yy8rhK(cMODJKBL}u9uUNp=>*2u0h_{d?XOeJ#5h7NBn)P;tW%iUW7I4KM z1;d3X5tb_rvk*Cb=#*^OX~GT;j=&4_Jg;%%tXb}!r`IdjE19|~EME9a+0v$LZaau1 zb(gYKh72}`T5MjLxeJK!1*fzVB<$wGN?UQRFO zviI>u=i! zPs)x*Tq^NcfXA>>p#UB(oQQ8QR&A{>RUtb}=8nzlE#hX2|3U$4TLV+xK;OW!4jA)p z6m!z=z^w}Vh?HILow{{E!R`hLVv zT?zdL>GQPv*w&aHSKu875h$-~-oAaFQ3WfXOIEUlEOC&PM~*S4dXa*g@$|Ga zCRG*860v{Je9klFt^adS4psZ>{eH)vzGKMA-mCYPV+_=rJ>-lx;Q`=tZS2~aNZ z8w-us`FB3`e5@x7?{}PyBo>4&=gm=MtW2Ut8kzk|c%5&rvWGRc99(fR=SzH<&(Ht+ zm&-feJ{nBJ0n^^b9r0xv|w9KEHAKH(o=HvXa>K}S_;IP;Y@9};~)hzx-n8?9y zv3}irHa3snR|9XcA5^!leBlq&gAiiB{r&wPe!u#m`(kl9MDG9}yN3sRAs@YEzxV}9 z?oa&u*q6^7#DzbV;*Y%^`F{QPTtCt*Hu%<^XBM}SaVkXq%d7v3Jo_2LAo)1VRo_Q? zzN*V*7OMNF%PgFMMs?~}7hUwK_UeNgc3pmjm-5>khdo38nHaDZJy1qX>1XA7Uw1bdUA>D3hj|EI<%faFZW5*!C z+2i#WDGmG=Sy&qQ6Q2Xdc1FF&@vWYT&dx61bBq1?^67`O;}dJ$r|(aD@^{KNj|?ss z{NBesPVT*Xbt$k>Ag=Fz>UFj0X>FL6&g|MR0e!}^o+XDOREuyij^m|l*x)EuHIOC0{-g@twl%*%5Uk=^# z4K-wMk8C!vy~smMRiM&ES_wl%FiqM^!z^8?U$1-H%I#)!Y*sKq;5bCfZB^&BD)3#g zgZMV`(muZY=GzAI0r%&=ej-SW;4Ol}DL@jh?-Xh?FxR9hcnT9NhlPPOH4M0v_fkof z{XwKyOce;!OA{G`O#~snJX0nJSa1LXW%#A_C6xjI8N$~Hb|X**^AEKN@EAF+T`SB_ z0L}Ww*pPAIM%T{CO+H*JpbCkP719S3lopa9M2G-1OiW2vS*BFxybW9oP#7#+xq`S9 zLqhrxcJCKpoCKB~t&<%CDk%^P*+sk!vUZAhLC78e2rN$u4nkgv8|hVWN(F_Jyf1w~ zZoNW^Zl=I8fLGwPT1Y4(mrVsrbIFP^>8Cx#h>#U|gFFLt5QKHHjNh~turCO$6YoF( zc|eB0Ql@#{GbXVVfKwODR!?$(QHF8Twv%9B*e&T~J!uxHWPq{|+5@-;aHcn=Oe?Tc zDc}xvG72A|b!77p+=lR>mq-R186Yx1Qko_N*-0Nb2iTYcz=H1uqL4|!<=tciYyBco znc`$2Q${wxQcexmM_^r3OeWcl_LQ-)*1#;52*RAnWFbugr2uzgDkA zQkZs>`U8(96g&nf$N|?$wpaW&n>wrx|$R6+)ZORzK5@_kTM4<%$B2*&)obQ5mBK)7B*(xr|9&b0SyHY968v1Tk|3PRMb z9S{qd)GUFMDj7lBoD7VBUD*HZc7EDD?NV8O@}?9pZz;>1NQ?LYl2cLdzOgK+P$})% z_TFd=fC`Cxp9};X*vzH7L{Ht5tkIMnjB~ULn)MhAOkiocR{yn)CXz29qeFl+&{Slx zAq91UN~!=@t)@eNjIniRSVNXZe4LG2ygV1~H*DCjsz0#Nu0@?~eCoo`tXBvveHZ;o z=yza*Y8b)|jtZi( zDgm&E_LFHxO5Mx!k{Uow^w(}z`&0m6%D_cO!+1s8#13Boh72T4=!qfEY`nAt8s19# zV*{TNHr*Tjw^BLk7-^sy1~eT5wT?2tlWVz+(>e$d1_2Wno8RelAU9wZlK=(m7P<8C zLuLCJ3j%oBvPhf7vNB@Mpc4lM02BVF&(%~0WhT>0koE%bfnssD|-}kDg$~d z_#Duc0<4I!rIWH#uq^ft5e*`#@zLa_3c}KOrN-dJG?sdxb2zODVGane zoBRP(jOX;%0lz$*+Fpn! z%u{3?n*H47454o7yhII{kC7*Uo(LOeF2i0kw=qXLWwAO&J;5=oSUN5dV^i@Hh&J`d z_4GwE0Bvh4!I`F6=PLlNRMY+qxMu)L1;C=M;cEj_|FKRQ0qnwW8ibh5=Q4Qrs z_~dyQmjKs!9oN#)wL$>dsa;E(Ry(cY{8>J$r#j&ab5GhieTRl+nXctPoXM`hP)2yJ z7Dq5ayZME0P?jXffqi96^ZOlQ)$VobW1wd6s2|BW1O=W^;(8$>?- zhGB5a$b>#jMB=^CS&=)iJUF8n>GV7pq=v1R zzKDEEWbQOnS)u=r0j#qj6S=i5^4JNHBR%OJ>C1r~nQYt0Wxm!=;T1pb zB-qhP1ahdmJ50}YQ7zkBsdTbL+C?F!A!eozD+-z5@&d4og~%t`g-m85-~5$dJP$b@ zyxhLiUK~Hfm`kK*b#g1pm2|RiHDyObc1))VG@MBixvG`O*I}6KoECZEE(6JdKs-Ul zg*@H7MdZDIDe~m!i@fhnkzLaw&)HyMGUf7q^olX)&8&m^VgOxT1<)|W6W~=cCUOn8 zLloAyP8;(l!@rgZRw-K=owH-nmN0+#gvbY}J3*Z!-l6~d!lDRlV%(mJ9_tAJeDt6E zP!tG@)}Poe^6uadpi}&&etc|Bbiwk8`1$#$0mBrabaaJzMAXePGT!H|GjT9sTvjd8-s58|=IQL5z zX^gXBA*cGRH9~kLpeqW)&D4Lj84P)h?%q7e^6CD>0<##ZV9Mk+t;4pkwgslLneE=Z zER2QY3({k9Pzl=sKQ7>-Ns8?-7t7KTm+D}aWGYk9M@XR9uLt#60{R_-lAN>xGkN)SVzRY4R7hIn0Yf8CJ_j`8jNB5^Gl zu?i6fE~=YK9#s8vfBji4|0*z2m)eOau!{Pqz`Rh78fWHSOtMf>`BJAH#HWBPXmGbq zt6o)z%t2H~?>MRx?5&q>lNdOQ*8r+q$e!=Nc;8=?KraoOKaU3ODQvWqX5qy_T7YL! zu*y|gdAu%S?!rl0$AcdLXc#-ZoqzS-uPW2uV=jM;yzhf7l2#K=3K_+tT3#Ux9-f_Q zW$42#SvqY)(e&tNy*`lNj0I&o2z^W0-Na!>njREj9>847lv`lKB2A^46>{p!-;#}w zxI9F!YPc~Q=PA--0oJ z7TGyxUx4d-DyqBGQxLLiSNr~3zj&)mPYnz3y4{Q6>GOp+{bhd;l~;VDd>QXx?scWq z4=;@4KYYUv%NyVD#;Vad|K5L-U0m_}A9=of^3$JG|6|Zo9AI^hLVc(TXRG}v{jvM= z{qA!L4~O|fIgdnhC|)-6ZqNFdR7j7Fx)oGog}s$_#9mP6MUR906_nl>yn^{^Myr95 zR&)Q)+5EM?`zGOc`Hlgb=0E53o=MtX@Zukl*S`LLoQczQx%vEUCUpC6f9U(=^Pm2Q zb-BF|mT$l3h)gTf!nqG^_ny77|LD9t;n5G3V+Zd!_W_&(AG0J8_Tkr~R9I;}4py=2 z`*Kxl@jS}M&bm2CacXTKq^ket>iZ49^#%lwgv3UP*U}BeY`F%l#rwv07`M`2NYLy`k98QSbe(&nN8CnRpMw-Bim5Fc;u07pK4;bD1hDn(v*u zKkIqoe>Gp~+!O9~d$!8NSX2Jy=-e_Z)x3!x$>xlQPt182F0Cd)%%+yy4R_{7 zoZhzP2X?^GW@bSSO+!BK5VTsb1q;o(eQPd4_ zQ^g+i#&GEqvOhsU&KEuhjxUDSLgtqS`%vxf;Bra7H5dO#r$_uKpd6FSkO`!8G=7O3 zpACWtK@Pyv>6d5nJvBDCJd`z-+hMD-{6Lny+m%Mc)=3C^RMpJ%v@9-iPPg0)yS;}z zL>3(c792O%aB=D78;{8y$A{S%5~w*Us?};O+oQqCWg8ado`vO?8GYfvl`2?{o%1C; zR*B-eKi~h^&#Idp)3(<#T?3pO<>~l{MeCMJ_Q>4n`u*WiepU5%Zr>p{f6SPCpZDWG zS~VVgdu1BvEPMOy*Z$VfP3+4ooI{N@M5i{ifVm82=1bW;DrYDNP?qf`oQvT?s z1R-2Jbgekx?|;c}#-A&`zxL-J;j>es2ROz|N zAW#$S9!^%piV3!A{+VB|y9fbXo&x%RfI7<51S zkRAh+#i))@wn&a(Y#X6(W0E3@ydsYfH>^mJEBOLtp#TAZO^O3Tus%_6 zowjF+Dl_mLf_X_7U&DY45DP9OKyNsvMRTshg^2;ElOWyA+Pwkp1z>?l(FW+ojgCg- zmBDU=&^V$lje9|WdZeYnPfD(%8I3>s7zvsGyxGc3h5|YSg5zk-9X*T zq-awoC|9VnL|~}{q@&GPnNk4%^`ya#|44>1jAt;989+%f23#f&;1B_D*yI3^Av zOpyfynyVX%8*%mmAm)&>n3Id><@r3L-JE z2~|<&Z(wl7wDXY+!O*mAECwkoV0f1(kc}B%fp9o`9x#sRRJf2nfK{0KVAYbIG-((8 zOp2vKGK5&00BUl{+9G|JLX;hhJa0&$eO6#Tq58rMq5ww91#swKtnfbeTs-xRU;E`V z^X+Wid#LxdKOX)^KJpQdl0E5s6nMi6ofHkpUhSJI8Ni>I)7AnrFLF@YhpLzpgA{8C zD@W}^75Tw8{U+mJUxz2ar?5*Yh!VhNBb8pS(6+#(H0lR!g^I_KEwXB~5rAUK3`O4n zFsxAUkM5%oOe0hMf^(xlgaRd<);+wzZQsTzqQn^ufNW)k%8k{IeioK1UGFhQDL|Qe zZh#?87eE*K?jYYodgya#fC~DddDD!8IgDS{&uEUC@HKT(J3q!hCBsw(GJsP`qX$?? z$3tT~^SJ}z>pX+vBBwNut;jU%gDgu)BdE4QxZ0o5PcqJGx1(_;vC6as2uwlOuvS@T zsq*BoWC_3~P=0jtR?2|!w6ACWqa#154pKK7KM+m^EYhJse9_8nNuJWte)#inFY3;7px zH5je;3j87ggk@!+(>e0MhBuwtt2voPQt%{FS3j-(0+Ptex?cfeCmU1g-Ef`Adp@r@ zpR+##2!cq=7_eG_TI9#6zQ|``gPIW8KEVc($fPJ>M($V=nLi|Q%hyDH=ml)Xh}`%M z>EH6f67QiAJdejnokM|L?2ms}W*_`ek;gnpLTL6#`4YdVt*_M*95tIfjE zo^0RQkm+V3Gl|HpTr&5~!QR>G1;yowmx{;-&FbujR(En9ZRD3e$1>;I?-IG?y&}gb z^t(hRJ|psvPY`+Z9+7{#hKgVeVuGwV`;gS5>qM@)%&4x2zk9ENf}Xlb?G?7z@$maloQMiT3mTe6MaX}UaBO3~% zg8-w>qav5D`|+3SJYT5?I0Ill4_NJZ2%GVjr0(y^u?Mu|K@*9>?Ufz|z7}A(Le01yEDtwpm^m6lVA34a9)F>V#%J zuBEV?Yg~Y5HB7)tKBVR%+Zw|z#5-NPc6!}5ljth^kUuCrX~}aUl>gIVh_;A zyiQFQ9XWFQ5gnJdT(bOzW^Ub$!2)%D#CnuZRftaqsMt~zO_*R#A2}_~5VGUS9lBUK ze7mu}xHDTm_}A*sI1T_HU}XUmK^hSf=cZ2;p76N%lX3LHyX4?4^#{eo0|9viAxfc% z$SpB*5XS1UT-gSnMKPcil!L1rh{8M#p%WH(o*&Bmz@F83vt;{H$J}OcoB5;P>?@1~wkkB@f?%&O z9FS7SsB5YsJJm9XL0n~>3julD!sn`wSU|&>zp9Q%pMvrV%Yzs=<#rL?^17glU<^VT z)25w;!397trX8-OZ43byLV(j-rfY8=CJuzpCJ*3BSEbNLl&@~)@hrbrd5QCh`icVF z<@L;hU{P%z!JJj*N#u7KC)W!LaNTGNw`pkks8@rCd-p=#dA~-Pz&hyQt}T1FXnm%S z19<4nU2gx_UB^`40Zqmk|spqAdygk0uu{x!xw!Mk6K6x56oUn1>8$Oyho>iVv>M@%9 zs2^p~Xx}rrk!1uXVY4PgM7^nmZDl&pR6C)d0ro6oX~M#;ZMp|g92nfT+TLo6h+B@H zl#_OCqDE@-C3I58)}${ipxa&PEG-9I0PX@PRaGpQT^ z`ykgJHSTI3Y!$X-ti(-sak*d&`i-$>Eeo87bANgwxI3|7zyuLj53fV_3h>+)0 zV5=nN@p6_r&iLeQuQ@(gL+M2d9ouyHcQ5~U^6Rhp^`USs#t)wZ)wMg1Z}sv9*AHEJ z`B@dPJ$>x#grG`~*YWbs|81<1n|9im5j(Ad?A$D#Tln1C&F+h*w;><9nLAVG(BHIo zlM42FyoftvRXO*@VE)3lFOSc^KF@y+eCzPMtj5lD{$p|Rh48I|7rx&A&$s@qX2iw9 z(Dm?Z9w{IBhfiOS!uiL4`nt@`&B~)5%&mGCPA#_kGBIX*zk9b&$o?ZHgbfBYX5>OZ zZM_N>GZc(w>rn{ujRMeK3}ecA(o(g1^zNhbQ$O=l^7g-cduimC!1%seX%NP0uKzZnPledWN3a^0fWK-U+u}>kgne=&7!2w{rF~d8CR^o@zmflkg>>4Jl8)fCaw_c>RC>_k5H~}5mVSO0NJ+}2Vh8NV8pxF z4i~(+iuZ~qrUv^U-Zx<{_S2Wu=yz4f#1R#cO`&Vo)=nZMvhyD-#+_7$9#rqVcLG-fBnRyv!quLJIrOT?js=0d* z>$jKM64zPG=I7`2w*1(h2eSE&J5&hBzp+#4rrk)NS8hM7H<}M=RzGs6H&*gx;NYQ` z?U((x4eG9&0OGnosl#(~@&n)XUGj~uesw6?OL{Bxkd}UokJTe#0dbvc^{zj8i!3fJ z$-n=ZR}FhzS0N%B7ZSi_!Lpfm_QFWiJZ+Qu!of^PXjCQD$kXZ{$_6m#W2$Yz&WFse z>z?t`?s{F%1YzpnLgh%qc@nLTXsR4)>0>ysZG0?}3nC@F-} z0K4P?QG%>C=#mzwjm!XHD*S~Y9_7RlS%>+#isMR_X1YFWHUr}bq#h>8^}1cYzJ6-IENt zp`NjS07yXSTh|i^2ZMELC6X-#mJPD45b1Op(#pC5?Gy5UjRv4V19ig^1tXNMT@Y*} z4*i~jyZaPOk!w-66f6#Kz{(3u1K_tlV1le407_j+$P<;rV10-{f&mKQAOJ~3K~x8*%D7iZlQw(pbj&|Jl~2hM6=#whEjrb|I}&AOTEfoynFq4;ZJARi|1s zw9JSL>4Sm71l^5c4gekCkW^BDjR>`q(SZLNBFzHO8v?Ppw3;xv5&1%z($#*nKL%q> zL+d|PCC!_XW<6y^BTuZ(Qa4g*cc@o|bhAvFse#Xu9t>%PFhT0I0C$C@%wS*pyDED_q>JpabeS&2D^5(v(Y?ds4uNr~Xrx1j_q?=2x0bn(eOx+sWUq3hSo*tF)-pG`&jEhT2 zislVRQLRE!K!&iV(Y?`^vCg8IP^1O&BQOv4v@OKl^3b}3x{xF?v&IXZw0_2(Ro-W3 zm!CmbtPFjsY(~xe(=R1hDZG`~wpMaC6oJaesQ6T@E&KF5jl-qiQEUZ3Df-+TFchUo zU9cGnKr6tYiJ~Q`B-V87#o9f6w6=epZ~)*idn%)0O;9cBxI(20cg7P5AYytr^}25?M^J{51TL3SM5>J|WVhA}EYp`#cCaH+NIHg+ zvCK;t6hj#juA19;T23Uz#M(ibQ_?{3e7NSCXu5<0C|l6I;{ctYGX&r zJc+K? zqe%}Q1N2ewyJdp51;#baA|em)k8GoMWLp2Vh#g#};n;YtN!58Cjy2b9(r2Bjwsz5KWWjpm|ZOoH`nprz-55= zn2%c90*xIqK|$tJtU-GxIodr~v(+#aP^r*%t0NjCBE=7YGVMj<7XZmboCuS{ifZ;q zo!ciOmdz}YMFM~16(Uz`7CGGq*(7p$N#r3dZA;3swTNCWa`L2zd`0B4Cy89y5+&MV z{>$Yzr`~N5{L|k!w-G%9-@3PaUF4Rp%iPXg!fD~=jT>a!zI}3Hc22IIo>Z98!6cP$ zwhLKU%mqSC<_=t`_o$gvlsjf7li7t_=5JY&4b!P~cQ<8smdNHtVD9P|lO2L1fWqb% zY}$!T{D~8}WZN=fHn(%@q?~xh9_hS!tqI{=@6p6sL@xyx$jGhLhqJM#;~(uRHyJ>= z<=rCb(?#}8iQK{k?YCRyJ--dpwOi;c3L7r<*OYX@F*_5VoNt(#bVXT{CUp*B$EQK8Ch)m6-a`Ffa zx``|-lypV-WGm|j^Y8HuksGH2O)?Bz$8wQvzCI6NF4AB=tp9&*p)1oX zfVp(CrhPmE;%KD{6y4bvZKu=gODhP$kG8dblR8!^z+A5CKwaD<(a?d~ZLR-#d~Qj$ z%nXDL>wFkna__NoFX)5Nv~^aHp(Bg~+kHk1cbu_n~`Lu#dxQKfrbYz-5+$20#Em^makc z*scSXIH-q_ETw{F%WDA zWZ{bU?|sbo>H!$HFa6m&|4dx4GzLbveV^Jd6Evm^4f9|JQTU`7w+QnBP;))(w8mS? zIze0YJn?X)LDKotSfUsF{N5-*x1v2 zG6%NM4!%Tw_~r&CdXrkbun6|zd{7_Uy_?(WQ3XcggYLPbbETlPmxreVrZ@mMsM7zi zKvl39g4Y|yRd~eR=#xcBMLDpmyVRArAmETpPm~Nq73)Kv&aC8`^LHMRex6HX(~Qu@ ziJr>xwDA2*86+tbO3!9hj z!#Ju%>#Oq+6o5EaRbc7%%Oe&+w-lcAw=jP>m<#O~+? zsC|!;4}bE*+9!KH?z(E1mW#Hlp>nlE!ph}pf?i(6+uRox{4Dvn1=e) z&_)^~KzoxlfTuc^Ec^zQJz29y=a!`(vvPcKi{a@2(~7n%o?IyB6K+Oa>TW#; zI5z}32o7kkbpndSr7k{odfw(o<(bFLpMGwGucDKh*|EUdhL1UeYU$fa@U33eDZMp`LZ8>nf%}je^B;a zxv#9V<5T11<}UV@7TU|kZy$s731BqjkEfHq!Q01yTf+@d9_U5<^tFmCb!6s};kAj+ z&B-6;A3oo%_LJ?tS5lMnsveS2FJpuM^IIl1zYSL!_8=o3 z>}QSXg7DtQ#ZmLU1oS8yE+;x)>iAq+wgCS9S9PD}0L)xJ`-{IK*FKV4+DvhK?BFIs z*Bv}3$1+(s3l{r)ORy#J#Y2D~&Xu04s7H;Hgv&p}T>U0ZfH4!jO z1Xhpr?0b%4I$UW?aiG#F(Ynu#fA6<`PhS1=ua;{b#|?|Nj@P}1)NazRM$o}et{<;M zU2iQwck^juU)z~wavY(V6_n4Z>()zk&el@L>eggczli_B@hC4VdmwI~ysyg> zH;)2>a+_T;!U%=atS<0*TJqf~2} z+b&0$itO4lBVRk=2j3!xzBPPd)@YY&F&P9Lv-wVKjP@B%&6j($zxwmPx)x7|?F@n# z)*tz`+`;EQ{JD{~*KM%e`{iD&#m;h9XQopL%RZ4Fio9drEc%XKW9`xb<|CT*GW)S# zcrYaJ6n(ore`;V=%N~PZ$?f{njSn6loZ(f?+|IIRt;Jf+A*UIT!o~%I7Rvn19IU@^az#gHX*e-HE`RvOH_5O4zps(I@3~uGQdmj-!3AJ5 zAB4YhTn6^m_h#3@)wl`ORfSRG>Ks>N)i(|Pwf+Y4GZC1=JN1X?Aj7J1D8WPZKk6@$ z&ra;JL#(^I8(#Ux=M2O}+l;nNEtAj~L`lIF2*Sn|5t>GL8;Q_g{{3&s#w{22GL4$j zT$`3MeE_UM#@7<5Kp?i8HG_>k0v3w~mJodH8vBTLdCJm-&@c8=>E{h)yD6GIWxmK$ z07?Kf0`mj;)CCj)qZELzTm{Tkc%11I3_O5pkZ*z2C~YbeiRLXr-I%3KNgFV4Ws-r0 z$}$Cf^#P%D5vmW26;v)HKM_1ndID<~Y$giE$Oxxzj7JnDtW}_X7Ll{=sW4pL&!k`E zk^vr?FxDc5Nj)YH!t2bJJ82YO>t zB;{s%*fbic3aaWwcTL7{7$*8EW7qE$k^%q<0_=?hCYMyQ9$8?g?+G{GxBDhs-z*HE z#%Z9+zUPu>iKJ{7B5DO*EHB+zJOh4hL<#sIi=?aWx2SXk~M z!>$7P25##28x_76v!zfejL{hbpw6Hl$zllo2g~5sG?1cL{oeA{wXO z8n7el08%QX51=Vio)Jj_S8{WHt1Z$=lmRGFARqMr{hkux0Xox3qxNHkbfqaNl{(23 z%taHo3-~iBx_#*;g^cxJgtNM*AhT9aa_T5dXviIszl}`NW?zawN4x7AQx})AcQa|^0Oi`!@3f`KxRLagjZ3Br zNjL&V@||>2->828@sghOdtJ%WhVCiR2dL8iJeL+AEb7Q5fT%Gl^+50NK+20eB(~T3E*NsN7>~RE1pA9%ZGzX1mnTJ-t zXs=pkfxU{6pEPLtNwhXJP=5x3)cjZdP)CV)-|~z261LVAO^~%8>Z6X$%-giuF$c0d zEw|rvtkMi7P+iX(8<~DuedJZc_NV!8WrZ8+W#~hct&Q-kvoL4Y_SDC~Zl~1=E5s}< zvI*n>c)#$tnmvz!Kqx1IAmO%d|u`HAKGn4w0AM zAaY4A@;C2TPp}u%?$RM!`ycpUe=H}jdWgtlua$cj7i8b|ZSuKO+!P?PVQNf)){A)| z+tNfJvZi)>0o z01E!YtjIGriOlCB-##UB`MAg@<_#G1-f)rEGiD5|#XM{$ol#~CRr_uJDtj_RWC7s1 zq%i;K8@U9dS4j8PC6S#?`RcYrzFHKrr2hgZlF0Fe zTsBXpatgmhWW$63{{|UxZr=cq$xTZl*No{HX#-ejhqOhQxp?ksh%69K5jh;dT`*Zu zNgwn~ky{~r>5Dw|Y6E5x&Fu}5&M%96_@g4WX3TNIB_8VU(`PJfKFIIQ zfrU(gVU`?C-&iV1fZjmdrS*w?fRPM!S6}1-O-TY7)Fq=Bx%x`8tzEb|ydV6ZUg*e% znj7xVCh9S$EB0qHV6e^>&=vc+-gl6;E2)`DkhfvswUWhiY!-vN9LyI7u~w$Gb15u= zP(!RX&ot!3Y-p^p!5ZF|I)#kW8JwZ&vC1By&L>j6E=WKT&O~7g8IkF2(*hU;!`1JTuW2BneG*uorIasMGcmkLU zpppX02Hp-Pt@Oo>OojMQ9XM4A9l9VQLawFX3;?cJ-|7Zu=v;$73|O&x%WZEdKe0bP zZJh@KjH5s-dg!&DDi%dc1LLNrh<(EaO5DsNME*I53q38r$gfet|L%UJr`H8;v_(~c zg6=j32Guc_H~>fiI6>Ic!4F<8?w3B9=iGBb!3=H>eP#AyI{A%z6@2BwIn>P(z@bZy zqy#SdZNBb5g72OEhSH9*$&E`8j00WVfCZfn(8S}iZKjO}iIfa*#ADm#!7MoRyko-P z0H(<;;YNWFSFBF&+a`i)C+Il?jE40PR!ysu<#3tw9&VCKVsHc>;?V8p9#Al$a`~f~{zdtZ2nYkQD<3r%a~3_f=TCrr4lH*)o-Q03>(!Md=Cq%*=5mac`h(cti|zdfZg`HsxW+G5Uf1IO z5p(7mbxd*9o8hrbAG>fm7FUWxxUlcj)6;U|;0f8hd$Z)H=cO5yVLJdQiy%Bj%qUN1 zBCDoN>jr&pxai{GZ5LiR=xlP&%XDn>)Ux(n&gnvPf?X|E^!W&_`aGFD`1t!jE)TwP z04|B`U+DMgscHG<7r!Z2TysSkH2oUs@&gw)pr5G|Aa?T$`5f-cMCVI!-|O>ui<8aJ z`T_K;{dRl#*l?lZf7y;{x#RFa*z!V!`!6w^UAyOawd1NG*Yr{k;r#YB759)a@`eFI?-+tqH@Of=so++3M-^b&%+S-EC!`Le8 zYV34&p(8Vuy=(wofVmvl726;6UfuT`W$#S&ecpik>iVL^diNqydv@=UJ8!yEF1`9v zT{8LJfRCl|T;1nMRY2ETljDA4pLKhjPgOtI`>X?VxxKZ5irjwu^l_K9>E|t;ta}ks};c zt?74FGq|nO9@2|Gwr!l$GyEl(3?hAxMpqiP*H(y3FCHrQ-MZN>J%Go_?4di$Ew^3l zx8oRr!yw>Do-8aamTnQw*L*5OHcf{yF$CUaPb%zr7Ah@nFqn%S|tCohz@p zN^U-KM1J_`PpysUm;dqewfeE<-08vDNUVP@-hbuQza%G4o{(SokFT!vZr>&Q9dPp-6g zk-p>z()Ixgh5XfhQ|rJL@WfnS86uzzVUrnAGh?<ck8vwOn53pCar-J60^i^mZ z-jEdbt42?9P$Yn_kkCXTxB(5ANYVkc)RMg0mj*~405OEE0?$EKAK+02SVJTkE2O_j zdQ7Mu>1BW=fI(O{Am}dRfOC2fJZZJ*HB)IIq@4Dp3;Pe}&YGVl4A&|eN}K|A1g7eO z0Sw`6Xp0n&gur-L*-aWS6B4&hxIvxl2QgI?+*J4ZuID zA9yni`;>VfriF&p3%FmXZZN_ClFAZgrIJ=h#_+62rP=Q*6Bfq{lwsb5p=?b0Nk@TL zpr+bD(y}gOSH=29be6%sleQ%3b}i1@@AV}`kTz*bGS)TFngAxmFjuf3^Dmg~vVO~0kfOv|yC!)iu3!=`1@kp`k77gOnu8#n{@F#PZ4Fn1*iB5T4Brm~(r1sKf@}3tWL|fU*FSF^B9KC;)&%FOeMf zFcc5Knf>O7SvE2Pt*X=n}CeyM;Fj)>Fu^kCHkgvkB}-C?SrJ&k(?Fsvg#^c#b-jl1r; z%hD76wI7Yfupz?{A7|obgjc2ZN`9_nR(eqLa;ENTyjr)`ul-n%>q!S=2bD!x;9!)b z!^H|f2FLn^c`0RB)AS=X3f zbWKBtpbUk8lR|%7826KQMB&ynXCbS71eGN!Mq)`39;-%@y6j)|R=Tr*D z9F3ZG*fuVP1S-G>08Z%NH68?n)c|~_TO<}ms=Q>@*J>;jwJ#a-lO&fO^4r9Xuy|;n z%Xk?WMahcLwhT*YAZIMo=4so;vu7z(1~KLbgw1%0zqr@rQ@9Lp&h%s#2q*y1BVakB z)|br*)l5fP^Pg`D%-g>DZLYj(QH&ZmnHAQ)3T9G@Ff+1Mx0SB~z!d0YV~;QX4R~lQ zoy_eNaOVIo0YF6^4Rw;T&?%Y$y?8fJR;ce<{tVu^dQY1mYUICVYN#!mZ?rc6SHu;T z)likOs{nc$pru(Ggk`kk+M%WrGRCQ&VTT6ro&wIaz|4K{UUO2J z)B=l^)=?^*rGtK7+jC@}xbdmJ`3nsfJ+Bt}75xRqvhnei2}~jv%U(bI&i5?STc*() zmwUdlB#LA?t{s^HHK^!EmqcbKMDAp)P7O%$pq2=-9e0IIk57J7JHnIMgPV};#rEVcheb~MVV=`O(culq- z3*|CfT>K7*%g^+0tg(OowTj}!x-<}ZJG4k5@-SmyJ8+MPTqm+f&cVdx@r>gXE)aXt zq{z;e)f?I&;2&MIurA3B*aKke-oD6Le00tL zUVnW;Oy%yQ zOVTJ&yXu9pgoW3O>d~nY#BAw`ZSB##Y}W?4jJKLfhg@fVF7#mR zYFBPQi~R-Yr4xl%GkVtvM)ZB5USn{V-})AZy;7WGdkBQZw|U2A7wbE0U7Mz2q2J+{ zuEe?psIZP9ZrF$QeQmj9iyXfFusHY#&{M2bs5h{aIHOH$zU)0}4uBXC><3tZ;#SWX zK!Dy|U%E>LFfV(|Wpc;o?+ebev7NJ!00@-P=Hy3oxY%0q*1TtPYw>7 z08BYx4Qp;c3~kyef6rsTN8a)7dK5n3tJuAVRecgqkK>TpASput8h~T2U}B1umxTgM zVuRopLb$NT?A^RqI+<;VuXeysdTk0`WJ`P5bPTSp}d}TYv3QXr;EO*PI|cp zPdvV(Ktvu^`~Jcp?6DXsUt2dqmiuptCR^=D9gCsFizmVDnN%P<~43!4sM1$uXkloB(xAY zeA^LaGxW_d%wuuvBj1Ao8&)0xoFyXf`pCOvY+_8B zlTD#tX5#}p{ccaPXnZlR%(Vl$&|7Sdn}aAC9t6)LcNm+GgS8na01f$g;jB|cadOjy z=3%=6K5+j=_0dE1!!1W_bdi?8#1)URZiXLKpb=)y-c(Iqoe&~^jl_}WP+22ZFR|W9pZKo={`_h-a zRA6+t*wl#wCuHOHjd~HQ$4ze!4Ih4CfPRKX%YkfMzgsZfB_a=h$iwAB@4jzYs5}kp zc{1Ol4GzsUxIbw`e^TeSGr!*T<>7z7Z`5NH#p+HPUD3PAMnrzKJhtu`gM=Jkinjpu=efP zAa_R>OH>2lQY9`|a&^zKxFhB$6d#kKkw_o?H1OL?7 zyHI+Jr#F81MtR(|kE@-F`xxu%X!ajgyG*7o?klC+$8Vpb)G`0o`MFlTy0Y?pl(qV? zUVC*wrMf(*vsVoZP?a-%#Cy0^d)06DGOA!M;^1MH05O*Cl|`(ZVR!ld=x|8YeOiPo zs(QmN>}xIg0hr6x`@TAQKI;2EZr7jW-RuAR>t)ZLJ+8IlbL9C+PnPASd-O9u`7{2y z;`8nA;Lv3!W zzPM!b{9upcc-(j@?a0H6&-LQ<=Jw8D&J(k*Zr`=Tof^o<*Q+9Od^Wg2Ab~U0U~_iC z_H_83iPn2_(PcX)b>GKaJYeUhLA!TPf?v^5QyGu)CD^SvDUHjQItzMh{V2&Mb7{`% z9LMG!%4mCTV?EDN>25X}(gU!N*?hIpXh^5sk%`G+aJHL!n4QbHae1J|XJ!T;?B^wm zDswWVxyr{)hX%m3s@2Cnn%k1??CW%Q5V!kMP_`P!v-$qB4}3&^>gB`CifaLJolTf) zb-Q`fW_i=^|AD;xCto?_3pwSa1F8oEltDi~=kOIL!1iVtiO)208f%gPf3E14YyxaR>zf#sm%z;)D;q z3{ceM{1hR_ekPrwq0B*P(U&IaS4OQ=*@haDN#2HOE0rdKxm;LJJd%#&?Nl1gLW&OH zF%yhamXQpyvRtxWQv`Xb@xJtz0M}W3lzl^B4+)^6rE$rUuJkhiGstC=hQvTRFkW@q z(f}X_?hRpnmw1OyVY1$w!vb(XsL@zx5ayYU%a5fPt#hk$yjs z3?{X#A=D9LfPyy6{4J8M6upK56%oQOIwDGHhl~vV^)kr-tH91igb-NHdlo<19|!rI zt5fbB;tfE7deD+av!`{r(eFzincJk0B`(+LrwVc*PZBbVdPwD=&eMJo?r#*5XPIQ( zTmgXn)Br7M40tLsDN+Mg_F9P)y+m5HJy>qYLuF^_OP_D#QG*OrDs3%CZ9;8h%LB9l zTNiG1PaZS|V?^kZVa-a~4M~!Y=0#6A<3zfRLg;Q_1f!qAK4EEMl+BK|1vrs92+FdM zUY`T>5!sGcu+k!q*6?_gsDqi=r_PsRFa3CQ-0{qOEfk5~}ecuLoXw@_CXk)I5NpWyX*fA(N=OD4jnkfG@~qX_*GYQ2({B zB5n%$4so*XO=}QPE}Iz;t^o_(sez^jb8jM`^#u0{C^JA6fH%z!En^~Pd1wr5mPXAU z7oSq#7>NYb7dmV5E=13|R|a?Hk(4v_K7_6HD&!qZV!@4Oh{Cj^6UevgM^O zms1Oil5N~9&6y3d$efXhP@^S>7YpsTluT+ORcs2)op~o1m5DKc-;e+?uG_p_r;X#O zj5iZu>NN+TWuYT-7XYXjxV4?D-J=|%oM9IKV5E0nynZY&aRK1EQ$zw#PxnOsQbZmq zA`dWdR~$VqaFT09o^`dzwnhNjP@!0>(3f%9255I!lK~r%kzJ7ohka#OxQ=v1j`loC+N;0MnUpQ3`z}>tez}0ki^4MHyj+KWwK{?tD*CCZSxO zztO;44l_F46Zwl1BHz2g2Cm?xGIHrn9U`)$sr3LhyysH>$n+&5K*IiB$K^z1TVI6j z)RQ5;%tsFPhPjJ&*+T~5V>KqIIydJ_uMXUGwqdmziFC-kbD(0- zQq{ZprM^rBYP6~u-q-%|uz3EQb_TYV`Nht&vsy_g)Ef3hDH`lL)k*gH0S2m5d z0FH2$6b@}&h}{FEEMX`*a=Qt+Biz6y9ZW>FX>Jigz=F7`Ih%Vdobp^jT!3x(0d!y) zf+~ej^lSN_199Bs=}&mNzCQPv&y|mTnL%F$0E<<+0vE)0zkESaen&4Q(@c$@q&XI@ zt_p%Xb3lCXx^c$_nUh(Wy=PWtw$7Bm4ubT&;2ofl9{v+ zg>)e3?*6%%1Fv8rf}O+__F|S01gPV0wO5lr?mm9v7lQ2$^g*cC!CWlT<6EK;W?_-O z`|91sk~Hj*eMQa0(=&T`)&w{ zSLq@+Dbo))Wmy@7d7U1(Ku7$5t?G?~vos9i9+khQHTaD_ewwj)mg~lv#U|F*dL8+r zuZi`G4nj~@k)8S61Tb`CifAzCi^x0Q^G*wZwa5IDZsvKOdHwJ*x&1S@2>_f+9)3yb zhL;%31>htG>S0bjqW-$S=xKh0_&Lzh1w8aHqRJ`ypB@#`@c32^l`t2 zA_|Zxus3%i~gSZZa zv_yXE&0Pb#yun1pe57RU3C0sMCcsQt%lhel z>yr@x+U*;-Yk7Xt4(CreGn8cx;~K1BKJK|6-d7E8R@2|~rOHl(o3WYkT4101cYk;u z{N_Q~xMQP?#cUR#&m;ai*QlxAly5xu!Y=uG+m~+>gnutqb?V3|`O%mDsQm4p|G7r7 z-)vdEt%Q;vHtz#o%UC4gNzLvl6c=)1$mJ+Zxhb;ditpEx?G$o zr(SPD5HV8mxa!)ZtGdQ=vkUcfLG@~QK1X-`LHvDk#{d+)yT$v_bAel#{#C6j2Of0Q zL;l%-xz?KSixI>X$NfTqx&GVl{DD08g+CMreV@MHy#Le?nCn7B#)M?_+`l%sQ7l|4 z^v9egIv}m};A}OKV}qr(dYQ!<{8holHQ2k5R<6G4YWeJ^KC56Z!u5GV90wI-2^xM$ zN^HKKcV9>2#xGW3%{{bc_qDNm>}&Wn4u{pT)%R>X9r3;g>p>5@Zhz1B2s|ov&t-d_ zVf~3+{6}#UcQszJ#;82r_(TL-3tH%(8JC)6(w&uvu!Q+zLrujj8jTF2A#$M;Ea zsyF4X;syLVW z`72*8PrPiW?nJwtx^=Xh`P27y_+BfB>j$31LA=Oo{-2+ecYo?8_i9bgot?oYFNbGC z#VAC!E&4ipP2Q-bU-(bIP+E>bg>fHHTBv#X*&~| zqc*eLr;A6Y8qE{F_g6I-6=n9_-ArG~FV*$0!PDQ&k$wfOA(MCmtuzRw8incZODjX6 zhKL2f+-}gVf5hR|*$82Kcjo&)sN zSJmfnSW;?~#}%Vn4{VofE+2pd(R=izOC=*%jq{;%!8-G*UccWj*Ti-CQ?-AwegEE@ z{z!h}M_+ugMXQWY4CZ>%8~?D>zYs4z7GH?428TG-?!6wX{Ay@KD#*C3L79xwU>nlh z|M<@i&S2IWf33d+?4Ctokr!USu@V`{>(=6S_nblE|FZpXN5orm8zgfkW@y#1ppC3+A8ZBz)i6Eq)W;QrpzP656R91(3eOC z(^A8jDvAsSrmiHNR0Z1sxFyn4K$uD|cMZhW0L2Ap00y!p&>-0B8)Fi~1l1wW6rhG6 zOP<2zMXZc91`J9z9xfl{_{W7PQ_H7bH!&aqGWLMY5V}T&OBu;v;KDCZRLG5(@G9pq zMK_lWhAcg=rw}tK8f^pL(Sj6!(wCIHVxbK!WG^v>EsO!|Aly$r7XVuT3sD~AVWG@5 zMc$BXsjp}Ah^}N=Q-OdqVa@^pUnR}HBuqEQ5@pOvAQo!@vVoz>Sk4j%ttj8DDbhgz z9`+<_fm{lcf|Wt|8`Ki+_-sM+1QQa1;DG@L+zxrJb%eUq)H2Lc&b~T|GelUIY^H8& z|JF?;&l-~SI|dNY2A(Uhs)2ALei0uqY5*Gnqj7wNkYOj0e!(TY1`NO)M!1afRoTqG zCtU?H;y-By6xA3r z;p1M9r-Ak8c@!vuz&(isa}}m55YT~3FjgAN2fJ>eE5%YGjRx)P|7Y(_pfx+oI^Smx z-}jwUr>ah!nkyj#A%sLg2n0x&1QlDwW=Y$E!?o4R^*Y=ut8I0u7robRT`dZz?br?% zSBvWktHpsRm-dQ45)$S?fk;e%q%u{drc-t5obwHP@4J4_^FI4~zkT+1hRUfBgq@t) z`+JAyo#*HO{?VbYROd=b0|1?{^@~G_B%I;X4Iqf!_D{PR z0%}kkXGfCNQgSI}NZrdz1w>J2hGi-p)taxQ08pBD6u8(;N5bTIa`l ze%G^GN2FR^sNW0qN1&zly#^xmda7L=ouGq15`a{cBO_61AV(TF#TS}PnF9O@QxO0q zbU4~yFfLJ#&7t;CpuBJc%N=fzi4g+T9dj20PHEq%fKctuEDLQap>7p?k^ux|Ofkfe z!fiAznf7yppe$BYwg83!^r3E13#s&r7=m1d93uB7<_Nq^yk5tFE8e)6Zy!6@UZU$EWI6KdCz;P1Ei3IwEaM zf2LW6CF2a~Cmobe0B>m)h6pLZjC}F>5VC=?!3lop!vGm;5s(igmGr?3iCo4;6)Fmf zQox&5E(0df9}}IBulgpzZiZj~4jG|!JEW6(Xv=SNN1M~iAIuR;xae@OHV!itm84)h zm#qURIpvBMDQhgaMFs5Z7@q zu%Z$Pb&JCQ4q*-gM2j-RGGHI5f11YNhxA+RvO1*6(|B1Ht6(i|(np=3fg1p=?i?&s z{rB3he^K;ndp_r96J>W@1`u<;61ln~a;z{G9hi1L`==Jr$G0cE$E%bF-u!zSweG>g zGV`LBO0{EFX0l9{b|03(KQC)NroPNx*^`x7or%fLT;!58k;93|U873-_W2}{6QfFo zRV5=X7GTCuRx&)kDDolL(a=et|9m)Ph3RpJAK~@k$)AtKuP0q2@^4=y3YK~MXGD(v zg@~{>4g)B9jJ`+gd))lC{nW|mJw;^ag2=BU@ zHwO_|yhP;aoXCzDk*CcXD64DpUS*crA9TD<4n=NX61gNyLSMGi8WrFm=9`2?HlHdC zz{S)F5aNR)kp&x<gqVv-S z>P~Vp7q<1+xBY-53z<|a9gzoFAd1L6P`f4uQX{bYhjQWx9RVJ*GOA>S`81$R`a}m_ z(bw$YA8>d9yalieIXq-7_JFWHKQQnW<}rv1?>g{`fwX)|3YZEp0P}cLECAscG}#rCLqplJ0&(BPL{Rip}eJ^#f1b_f2#q3(4KXg^F^sM*%&3nc-X>yQ` z^5+Dj!Fry@-C?V%gI6D{H^!R)vZe==&YKFwO*j4<1`-|=A`d?Cpu{(5szn?x=I2v1 zetaRi_fi8Rw1Fws$YY$GU8`uW?xKI3RV&Valt^5m1*d0^pRE;3`0aIM&*8D+DvGu& zEBt0*TU3peLQoDlb^j>^c*KgkT35oj4htA;U_8!}WFQ1JvVWp{O4-e199`*4IT}g_ z)}aWPR3FsC%K7BOI^ervF#ceq^R&bV92SrW3a`%o0mx1j7~(P$k;B&<$s+?YWwa%)RGksUqyl}cuhOfvbo zygf(8Wrz~T`J*Rf;mMo3Ex1hyNYm`;4DoTLY{H!PI)j@iz8;_Wtz$=v8?9Txp_ZS{ z2jt-F-~iTw*|14Bm3~Ai#fqi#c_=sYF!_iV47x=igYdJC5yG zF)TJMSq!y2aoNSzrU>N~$82VIkLQ80Tlyy0%)EV(UyLo@R%5q((~gJtA6H{oxptKU zk%QKku5mkMZVEeA^YQ%1PufI%Fh8z4wBzLmPl^L2FX>fs47%%q_gtT$GRL{@dTw z+fD@baz(^xV=^Gi=EJzwrlbi7&KbL6&{~qEQiL%Qa0um%qGKB{fm`p}z;ujru_Bts zX@&aKcwhu;dxoonx}S;d0hcvzV&8S3U4e@=I?R4NMKrggPjFyxESomj2JVX8e5rgd z9$%D$Ue6l+dlU5IX=<7?hxoN$`nAV3h|A;tmN&me_PjG}9<7c9;5knbnArAQxnF;C zTYvnxQYkn1|4Vw}Hqsn>Je{!;8ujH%;W=~cj2yYw4 z@o1Kf_3e!Y>q5Tr{uiACfVsY0p2s_g%gf$wyS>jLF=Nd}eL<#Psud0j-LL02>-{Du2&ExaymZG?-dxP&d5IHK>Y2=-X@IFV zk-nGgcI=7yo}HV;^GVF&-@XsV?ZC8w)+a=dHT&*^yC)cNaZi~w+fJJt&vWd^FXnoF zLCtmoxZ<#z0J7L_JHB6e!;|Iz`+Ph2?A@RE+@^wX5Z9(0f3Y0J?RiQZwgTe1_Sx5p z@1(r#zx{!H|Bw9G6semq-bCCsA!VwQW_z0I5DVfG;?s;)WL1l3x~VPNKHB8c_pc|U z=_hiWWvR?`JGFpCF2oA%VYBjQ#Ere-nGMHKIMaO@RgQAo@!Q!takncl*73a(^)WrA z-XOaw+0A85ct>AW$1+nw^Yce719ebmZyj&W2K^}ka0NwzuBOdw07H!*q*aoK1IHj% z&R=$!tG0}thA%&3T4T{Lc*d1n#1@n@8g~4Q$Foi+nrnvf4mX^?`a`_k-SYC>L#8;kF%9@iD znPgQdT@9p?B2AQ`2boEgOEnrv22zZGQ@}GK)u^LD7zKP05&CrnkHF#spoPd0=S&J% zlT=CD7)YpdN>nu9QaTi{VQoSg9sO@(hN_gMBQ@3`l*VDg+96V{fDssK-OOO_AyX8% zmP#=o_1vOZNYNqvfUAf%#$8EdAXQ#SxoWIb3|AwR@CyrbBpvBiLn#s%nv8*{KnYxl zCXx^gtXTkiI+7M61qq=cUhPVxf`N>(=%CD8C?N>N%Z1)$TByDytYgB3n}8s?mE^Eb z%~nD zprSHK6=h`g3RzVj#c@UZXx(A`uR7f@qY)Nm(k~RmrR@(z?IMv8tWfCU0VIPJiSwbs zNXn$IpoS`0)rfGkS_H+!uGVRkBU4F=q2VSdJ%D3WaezW212Uk?I!Y?(mYK$H1mhSw z{Q1b3J%_}DvZeGB1=M9#VrP*Fm#?KFJp&^t+ZYUK^kwL&4$$>7?NmTQiJ}!@`50Nf zg^dhQgXUwR`AE(olj%&Jm69g_B#}4NHFyfs!AvCz0^AAN9CaCRAB+ei85D`+-BLP$ zPiX5XGJ{Uba;eGzEkiQYV2hE~MeYB%SQRi`$QQr>+Me=`lmpAZY9*Cqr``4sxDJhJ zWdZ7Q!K5j2Y1^fV4KvjTQc%ILlrl@C!!nb~-2)7hD!UzuqyP%C!oU#~Kpfhh0v+g- zDg}8#j;63pnip{cJOf}(0TiWT<1(0z0QFGL16bg!|4EZv$`SxbN5LJ6jRZW`NtN+U zS>rUhusn^ljDcfjc?GmnQdpbHLTrUSkW5i88q9|O(D!V0%#Zz?J^Sb{>O)?)+s+Of zhqYm18V)Yh?}hqPES-XN1GodA2SdvcMm!=1;||<<^nb=sVdHuLXH>wnP?RzdtNP_9 zeLwDX?+j}IA46kv({_M`qI)z4bUac(lQuhT2lU@ORBtXnvzZ#krp_ZS|t+lQMH=d7((fqZD zDp-pwQ;;J8SRK@UEL?=5`NlY9+p6$OVAeQny~JYw_4B3EBR;ziD}21-Tl8i+g%&=B)C+K|od6^O*V?Adc7|AYOQ_pnDp!H_Xq;``xMKg@SrR9}d7S zEFA@XNU%y&+{-&6Ct>fUvo~s zzTF6a-#Tw``TYpo__vE9FWoHy(c3Y*6htUj*uG9Ca@%|=)vvy>PJ%@?bkvLM>nW|( z#5CVFc!lq+zM8---zhGW?TIRhy@^PD^CpWGUWc)cdRJCuq&6- zbkG;@tPU!fiRl5S$Y{%(Gv~(#zI*1P!w7&I3p?cDnsH%@&YyC|oGGWrz!(qO6%ITz{hP^sea1?H|5f zfdnW=x5c5uK~n%Soe4}lF1{SvLL{yWZb!!!r`ZqY>zh!g#M!2~CS@8ZstzN3;HSSd z289tH07rfct1~a*95y5#2Z;m`vT(_QPP&hOK9omL(4F052R9DjYQ_nLil!`=*?cqc zZUb;3BUYTipXUP#2(Fyblvghj+#E zsS)Kh1$gZ;kQF1+s&qups+y5w?H4nE1$*jF4GN9?)WESk%zprHDtO&?L^{s)N1fei z?J)ALpR_9lY&I-X4tpBU%Gm~(Oxt@U-EhNt?L71YlK?R@9IOoMc2~DkF4Ne@B75yK z6`&ZxhAhjGov=NHZKl0%K=GiJn^v{A5|?v75H z19)pb&H5GF#{jmmd9{XRl(D(4BV&iM8jo}Iiy=<5$!4GEb}6^JT)?w80C)$h<2kL1 znV1K$x*l({O&QJK-haj8R$JZD@hkF7pWOs3Pb>4t+Xa1o;3FT9J3f4eeBi?$82hh8 zZhX#-^35;%W_ik!pE5ST7+=lqT+ar~@W_)5{Iy0|T`vR}_xa5=)OyjRt~DQ@FTe~O zKPXl+Z{QLO)>t}6jP@+N5Awc!RdSj4)16q*m%;biwbAw``p7~%fS8b0`o0sn`EXzO z;;)gXfAurubwBri$<8nj+Pv?vOTQs(Y_j$%zC;S!=HAeRzG>wBY=d1SvYPmO_LJ7G zTVe-8E?-*bX_>07U(2FFb+nEG&5pUvu!4K<| zz<#T1YbFfQI1^tA!#Dl6&M$)-)~t-#T*wozj~#4uq49dr3tuG9`08iK&%W+wW!KKh zv1ThW~vd%j-5329vC)D_vc*aTWlRhMR~o$s>!r@%_|R*_FtF%N@26 zTqKiw5$>-!2g1BL=V#BZxo_75UjxvJfkR$?PtdEjxhdDyq<8oHM$0i6j`CGDV~-RU z-<@8b*mI2mV3D(l^*iRUZTZ^F-T6Ghe{t_>kDm2idp+kIPM0OxE4_Vkw{d zHRUdynFKjD?fv(Qo_2+Q%EGR#0~sDXaZY+@H?H%1^DDo79ot7|<$cgk|KgiA&BXQm zuewZ_rR<%zb?sli<@YuOa-BIbsZh~#L=lQn(SFEj6bQnze`UOHk%ddmu-X?fm1P{j zhsRDQ>_=R#2m9kS##{g;;VM28J{!(7*s92hkMHf{FxtXd>Dq;182$Ynw}+6wG+!@$ z=2dmlq9nE^W+Qv`R6EklTVGDt6RN%FK9PA@?e}FifP!LBlodoJgTdOpo->zSru$3^ zV9Rs4^5Y+uV>jH;8V5Hls+RUTu1@Z(_1)|B>OJwQ8UwWA_%_deUC@m;-l(5>?iU>u z(!0{u$RnNK+rT|PJ13{lpOcg47A1u~gY`z3Z`^<1QF(f}eB$A=DBaM9SmX!&6?x9n zpCM&6l;?i+_3|U%{rw*F1-}>ewy#Tyesrc4NnhFq#pOuchMzZuJl)XYHaI}(e7m1f zblFubn-cXlvYBuEsyjUK5qpXRV|*cx&M%bZs@-?c?W`@o8?K;T38g_Qe5=@ChgBG4N03bu{ zm_jcMBY=afJ!lep07(GQPyr2WM*7%WA;lGn*(vLdkj;c$<{X$xQ5dTb`c6qNH})U^ zOC+xZaD!5LCP{B3!Z}u%%P1L1rbrL;Xkghfcng$ZiUlDo06sH`K+07!eh@s$*gG*F z$*^x1&*drLv4NB*>!GLBgN$fKq#8(CfN&b9Vms_(uuWA)(BHUdPl^BST} zsnb-GWJhYOTMFny|CGLDDE%r?U0cOdN+xO8gd8QAWXVX%4gjlC5|mI^0q9jy3`*%J zs~(`I($WM2mcWz+U<)FKN{Sg2M++&2`kP_*k^JSnZs7n@3c&AkO6a}dhAp_#j zxdKQ9^vb|!022jvFzf&x251EsNU=HwCb6D~FajV&LB^N@_*L-+W+Fa-1u{75cv;xm z)`Kb%APzVe1fBs)a(K%<#7t-!(@Q^q4ohJrlmpNGmcYES_mQS8f{aWCp}hT zrXR)JNtxXY@uX=D)zj)0=~IP%gcC}LkC(NwUl~YHlcafN^D>yy=-1S8Q6}wwy~38 zZ4fOj9F0Gbu{xmrrOpL0r~|RjSZ?rQ9?7u)AR`X!@o1%@6tr=OFkX`XVgEYiB$J*ua3i`h~8uFb#Q#VpZv&e zx5(;!cS*MQkj!5HHL`T>i1iyEJtuPalE|wL%dt@4PfMZW(>v`y-wcy_l(GU(L({i z#eOCLt$z+TYmCn>)-vimTV(f616s}HBL5WjFc~90+cz-Rbu&8W(k}LjuE;}$$nk;s zJIns{O9P;beXd(Y9(<+9Cr^s}$U*Z*#ObGAK5uMM?>cATuDywfZ)yF-qR79R6PeFN z4re0EDD4akm9;B?Jvp<#^_=69ts7wP)Z6%ZsiD1i4& zxsMKwMCzeYCD$=8yU0%;V3evLB*ua@V{BloKPy=C?&@29P}SaX)&|RO+HGzb7XWZk z4s^!=nu=fuHWy0B>p*DwAG`@w5mtPX~D zW7`^=FAoC;4s8dZYg&$NT46s3Xig%UWvi3^X@PB%Ir-vw5`(&2e9XE93)jVde3DE! zb_HTouJNk1IX3osvp+$5ddK#FUHxdiu3U; z!rZ<~TXsO9%UXQM07>N6!lmuZTcHrOG-;bK*6>hYU2(q#*?1iM&D>_DV<`Ms@yP8x zBF%Th9^g<7#teNK`JibEEG4xF@;l@?ac?S8p>#7=e70LCNWX)OR1V=c%C$bsN~Dg9 zvkBpcdQ*oL{2HjnevHGcW2zrsw}K@k&ndXT}4a`GYUX$nP@LEEF70U@uwzo8v@ zzmFeho+3qsk7 ze4l8u$U8L#>$_Xt^!aViW`PIz^|2(rnY}sp@Gw06{@dTp_+lP2OpzaZ!=ZMuXS^Bi z{&{;p8Jj8KC^qo#wlPWfgF;1hcl_jbvIZj~RV1IHILi3geA?1YJ*U51o7dHZ!ja3O z|LQNt3v#pJ(6zf`ZGDdC2rdI~m(M5awi()L6BLD?xhSvC2Ug5xU3J;s7W}urxoym! z<+G+R<#BLxf49|B1*Jc~c7JVov^LbunZ$kF&b?!%Kyi;1vZQI9$04AdzSlQvv55}kHW5;hDKs;wR~P?rrZj;*&uiCSi5$1zoTO9IPG@4 z`@T6E8Q${V_X&T${Tsg_a{&*Zg2lYHh={}2>Lr)Sy6K6sn_ z=9_+L!oe*cxl;~3ihh1V*yG^Gk-auA*c~Z_6Rn3&+dS&!x4h5K7v<=~Cm$8K5V;P9 zS{wjDgSUL|AYNm{-*FUU zz=)6MI!?EY<*`3Kf)58BZhq@+w+es1^*g`iMsl9H>=qxNuXs8bhxp@y55o0lv^rX| zc67UGZ=cKi*tW)<=dCL#@OvDjI*;Sf=D!}h8~!MRCL>oI55Hg|HgowCYhRC}ZcW*b zqs2%srV_FI_VsPNE{(rkF8jOFz+3KyciZJt%w0AD;J59MuovWMjl*buv#-wd?0(DNQC&NE|9Fpf zJvm?d%qOmAy=l80tbfCEAOa~lTld$z>>J&B!?&+Ja2S7kf6x>#8}>`S@fF|Jv}*kg zi0g~;MCEhQ!jHme?q{1-{O?7J#bYNp-fxT2?hE$Vs5MfYBL&AzxAAXv6C1P&n>3u6 znUR&y7WVAfQ(JbrJ>C0TS~@Qa3$8s;TTlIH?$^R>FdX9q)!$5yGlR*smjScZ?&D1j zXo|(^>e@cpogT>UlC#pj9tXs=;S<2kvAYld<0qvo`|{y`__+MmTmC=_fDmaZ|L&Eq zmY@2;e;+&D^!G3P`tQgaU;m4ncK<}XZ!fvoww*dZP>b0L;I#>6MBe&3nt!4 zBH!^te<(M+_}?|8t^Emz>utaL8q@u)trH>KtFD`VA%+IW++4RqqBv-uG|m-e5ejkK zdteN_u7ld-$IUn2EU$Xit8~BkH-2r4YtTK@l zMQuPL^z*u;QZ$(AxhrcDVJHKJDJCm-2EZuQvsVpxwCk0jL6RYdhbSvZkynzTSVrk* zsVRhOgiWD4gLNq%iXzj3o>__#ISfaf7wPs_0yavdNBjV~q{@~90}E_C)v%B%&y*bt z#avao29VJo%1AQF04Sw}kT1g=U>CIz<|WP&pg_u{LYa-G3W$TQy#k;DgVDg4MgUR) z2uo50)#&Bl{YsVclCmR3Vt^1FCm>tWf!(l9X2N1rq>{pHg}T3X2~4U@!C4v73YdT@ zAu9j`!Cr&$g;eAX`bgS7I z=QK08c$;dA#$;JYsUWySQe}h#oKPC5lJUGh(!A6CjE=Q&&i2t~H>hHwV98;gOU8aJ zNh9riqd3dC1!bB6(ldY>I4aeBr_GVS^pjfGDk*p73XICiq17+agI#Xrs?262llEB| z$piSwUI7DLApp?HzOU^YFI$pN6G`a9`anZbakV1!|1Ok!jx zWu{0>k%F^xdJp!U=;QE@(rwXE_A$x2lJ!bS2C)7?Wk(zVP14?Auv3aR8A;#LPhT{u zB<+v~TYH#Cw(VO?lhWqC&1{7cnML8FkQ9pcM>pN(2>VED8V%3g-CLzEA4br;kegVat}^HV40vJ;cn0dyu7S8Juo^Ha^;08e<42WgUq?qy zSb(r-%LbUVc4p^o7C2IAwmKRz{*#G-a+wj(F6idak`FrEjQ{GIzKw}HtmNS=k;B&Y%5Gp#okaezOy%zT zPmA3CA(7=1BKb>oz9x5{5P8LQ+Hc5PpCck4UK94kH3%1zzUl`p7_HiXgi?`(QUv0I zQ!f!Y_jVDvJD`3Jipc%rXyyAva^yT+q<;lBDTsinxpydXc_MOkPvq{tfpBPyA72sq z+(6_NyKU{keDq)@a0X zpm7GbKXerDIWO{W=8c(({^t4_kyEzjlI7AcXeR-xeS_tFnoD)Qkd=4eBZKQNk*&vW?3+A|F^5 z1!X;NhmQZ+&nnWX6nVgOi$hN?DelX_205FFoGGkcQYNsMoo1bq7<(D?W3YZfPxj$( zW(b4dlX@a|gx{>KDV}$n7WtNWW8ON#%>^Qdx{0DLxG^J(QBgYB#4bek?+T4p zL{79Em`%EVY<@YQt2MOE?{&9&KfhYYdW>AHp1#BkryXE!Ckx4Dvn1B>TJ2Y|bIx0# zNm#e6Hyg+n+{K_Sy!kwdZ`}*nq^z^&N3t7aamzFM{6mt58|koSis*^}{D$4f8Kj!t zT_G?wN2xMa+|bE)7`G_vX1S`p1*~E|b?>L_(3?4NQPw~ZXL!L;d@#x)toaZJ2OYQ_ zvUoU{=dV^QWuItNOn_f(ps`LDU|aL%RhQ}SIt^~n@`i1Ohv_n`KmP1K$W%$h6&W4) zqVGo1TuGu$S(7w*8eO)(72GsGR`!qE9C1g{z@Mg)ZJfWSA3UvPOMU^Maz+(b9*>n1 zP`;Qyh$68iVsL(}2<2vkdEm+7_*WDE9GiX&3tv^-7#7sae~+ygf|V++vW|>O-fbcVuDW zmcFKfOD6z9V9(R1C2u^xu_s>52j$_oetO=yJa0=H-$WDyr%Zlveg{yGD=`6RV&jW) z+<)a5R7ajnlskb0IdOaTI69~drDjzq(uI1Z{Y<>EHn*@-nW(hhHu8X<34LbUjgeuo z?BT`lI!|N61`sH=0^EfXc=G{F6qiA4@BLY9#<%wge8&piC}?{+T!{`hfVmtL7Au3h znaig?=g;frzAN^*RsDA0YHgrkhW1I=G)AswJw+CEjQsIBLY!e%Y{n6{)Vb!3=a>&$ zZnDMP`*gnjK?z6?5!@iW<9?qu>%2pqh!N@h(UY=sHj}~5ao;d0rcud)0K|Nbu zk?#IoUd?MUlVgN6f;jKv<~6%}Mlx>2U<2XUqFj2zRk{XKP;KmxbElb(wdaO8dFP6Y zFcKA3C7X?Hm=+3C3D2H{N| zUp_NV1IFwL4gmCYvYIiB&F-v|Yn^Y#MZpe1o&&9$^BoVC&Bc1IUu_jQ#n8j>F*$bTz|z?4LcV|LSAI$Oiyz|Oe84F(4mfMB z+q=?qTc77+wYzOwTc};5Z@?_>2b%TTT7{hw3wB=Q#Lt&bP5VfnM!{Bief?85!ZKodyTrkw40 zrSsAaSQ3_&r*C`hjrNF|@%qZ|$0i4kEX>IBU-)8q`^|s**aY|`5X$S{@TM)t@`(qh z&EYmL>cux)r;dO0$A3ot_y6$IoA>xQa|!#}%myG!k1~5>?3G=1*wzTAqrC@rv(>k6 zN4IP@ZB^7ocMq6rt4|H!3Le`o{BSb`JB1AKIq-Vn`C5i`lRpmVis!QRVMlPp+EW!U zIFW8V@fv#Po}KdI7r$8E`HpusTy6Z*_dsfwdX5t&86g|F%&Fe*sU1%L@cEXHX+B4a z>pyOueTbx2p#}`@jYg&3d~) zT$>4O=dQK;j+^nfSvUXhhq)nkQeu}K!@!Hs*x`^sy>+em9Y5Hx7-AK%O?rXdH zW3nAh%8ngP+I*?}@)WG1jIDbfzNV>U&rbF&Z0EHb&cvJhu!Cs7t_O=u$S$@SeU4I~ zNfjQ>;QcwjGOW9(9lGacHmmNDJt@^x$J}GeoN6q?Wj(lK$N2Ve5xM4LACp1kZe?Yq zX86+aeJsvJNX(>F8&3I%FPc1meo5xS6#3NTmRjxGL0oNTk5}#bkeoTUHC9j9xcoUA zvDUd+^9`uOpFjSKx5;n+;UCI}{^s3s_~7``GPhsv{nTe%zn=BKcsoE`+x<9*Yf>&1 z)XL1Ns{M}VYH<}-MyjZd#GhW@X}d_Ye-2ExK3 zQB?W17?rwSWQq(64LikUX$s8fHlwHoAWh|?)UJ#&r2-#RaTa^r<)(D5>|H2Cqr4py zn2r5`9q2r;HzC)U%v41>uq+hmjAX@70b`mjRj%e%@R1ZKo3Ex)0gg}%T~N{`%79>C z#KH>YbR7}^XP9CdU>QP3QC-0?r~{yM7MMY*9IRBx#H^4MfEo`vymJOF!agrc84O`E z0-V&5ykE+wOcjh&D)SOy*ti3e5CB#M!2xtRU&yeVO4c>D5*4mWH(WkqAds9w=>qyd znI2GCCRGO(D$<`3H~yWDBfQ#uQQj44BCz>5t$DlWH~*fInb`G6mE!K9&lg zGD8%yIiD&df%ynEnJyr)M5EK32Cp>-A}F4&$r1|S&bm9l&RJdkuHfY3}iA3z?BA%%fz6$Y_PQUG*d0}(%b}FC#bKf32jH=CG(#yP0B`{`M;okYE7T=GSVKS|m2~n|zq{{68x=?bb4pAO_ma{NQtx5;>tfEk+G@&0rM?o3dN&x_+`A#}@qltsd zT=O2(iZYdD^f~C5guYq%s_K7oBypjoMmbJ<8CdJ0x8 zVQgbQH%P$3S^gKM(CdVt6+H_w6g)?Nm`SHBB!TUVz6NX;>0mBcbrgi6C^Y&2Se9rn z{Zx{j(CAS=VW&Ys3W~6i3}6rhtfT!VS!dumMcQ;qlMl#dSV_*MUi7s?0HFixm$VI| zr%avD>Qes`kFT}iHhi?n#Vp>7*@j?h5f>`^Lj4i&X8d}3QwAb>7y}c zte|h>3^pK3Ty0R1Cf3HaFQ%^W5&9llTBxmb)V2mua0}xE9gISiZ43q2YQ$X%@=>NQ zg41(f6H1(rNngiOgno@aGaVRsNP9IH31OCIhZ2 zgk=CX&1enW{8Aruo~gJZtGgOM`XTBe@w6&x^^5+WtkQ{{JJ77t_Fw6^k6(PMZ_Qgk zedL=lr;hz;8w&AP@BlMs1;3Y8CSkd)k_cD(RKRA1N!P{(FqpX|eZIw)_-Xp_SOAjK z1X|oZUZkA-3T5H#nRKTBYq1G=#V@VfOgQQXdmHCegqM-qD}XP|*AYsVhbpPyWPXre zdI_rh1BeEOb0#2*BKaYa zg%^l$`Ru*uC?_J%2zo<+d{7^}q$2_|6VJ!ai{K1qsrN67JhP{HqNu35(Cf|(;KL;C z@YkB3g56a5^C&@kiQufT}a(UO-V~G^e+nb2&NfJ31 zI*zTa&Mj%1{&)XD>ze_eF-cVv8R?>bO=QFxgY;njv>D4U%!u15=Di#uB_jKCkrSa` z!|ie@yY|@r=Q;9dZ!YB*xWKzGFc^I~VgP_0>4@yjME*wrQUREwTt2ica?_m1ElVQL znH72Wl9eIvZ(lHGuEkY(q|D^{p4Eeoa8Usl+rIg~jI+SU227SNoLy@yaPwb2O%n%n zHND0FFYDeXT`Vq*WPWEYX3}z-e*xZdFqgmEf*7&Dp-F|C+1uPaS~G4Z?&)Iu!X?4X zW~s4iio7hX6jRIIow4wq_H2}fn1O1Vj5c#W{F|nPfnvu-&)!`< zId#r%ec8zEX6$2}VZEssd31%@<<-9Im>DZAL{1*nC;fz<$M`!I7=yI{Z*BHL(IQrc z#NRaV7IwH*pw6NB8uZolk2_aLK-u`zQ3J!cQisRw#1~G;-X}1yj)5X5)4P(qvkURt zl`dE~J@R?uNrX{}xcYCG%R5XfW206Dc^tSRDascdzN38c4bS}s`SW-Fx%zkD$%L>A z_(2^x@{}VrGmoyP55MIE zBjV&rA{9zSP5+JG0CZ50?;P5za}0GK;;CuYHQsnsY|97A&lUOsK%n%ZiaoG4?YCPh zSUx#e&4DVOgqq2U>E~s8YbK#4ATmyif{4b^s_VAPcm;w1fAn%15pqcU@iv}bPmo>t$(=J#ec|a+PAj7@Z0OjMEFyF&?m$oD(@?_ zk7<-;oIg{hk~;nAO|;#DZ~d|{_>o-wzwBInXc zkj26!3v%wH!@pdrsPdkVw_{V-)kID|IJqDJKo`f)LANtCFvu&PNz#1QcEce{SMLAR z{mN>kN+Ds57oq6oLc}RrZAVW-n*&1xxBa{=T2IEkNv^k<~N+XdDlVIjXtW4sqOuL`?s=x zepXH_PSMtJq2W#Y^tS3&u1s6(u=$Luh0w0!)$1eoI{&u&T>pLG@&l?2fSfofF&M3u zz(s{EY+uX)sTW@V_dQ{sZ1!gQT6XwwB}_M`-ty=39yf1OjCH%V_kk;HGtAq;aMghM z)KMO)PUccwx3? z>}s>$iW$qZ;i#03Ut_lw&%tefSW1rrnaAPdtep&9VMV$omVjA&KE=S#oE+dX^Vr%? zm<;)vZ;g;(0C1?Dn?&Pf?B4gI;_;<9e|_Kk-Y0YObDL)8s`uTZNt=&rezB2{NpV~@ z^Bs@3xMz(=zWBK9bF?;a6X^mt7C&{K21Adh{tWTIdTv(k40AHf+x(Co9bdUrgSm8I zLyyCvESmAMy@^CGZ^CW856jKkp&c;4V{Yha!yUg#&$nE6xd!p}09x_Ot32Gg{N14C z9k2akYp)xzS^P~}h$H(A{^;B?E_ZHJmbIWPKZ9_8?0Gl$#+rHMZgu}M3Ip?ITWHRM z-0#JHAHMpqmObIT_)_+xEX2RN%MRnUjx_eT+Ab^EY&@s2pq`KF>t-*nICRw^dHR04 zU}+{DpY5>E8!L@Zi`(v-m*N0kwE~#TLE!th*SE<3yID0x#cz9 z4n)9|c?A=hlb-LXu#dGk_BX#XQp^d=;ug=G`^eVzntt`Se_y`-+0Twe zeOY|32jZ#>v9hIn$nuT>M;g9@4rs$PC?iG?z}}_wo&w2GHe{fv1iSv zpd30jUH|LVUuS*4=$-K9*83px7x0zpqQVq{mN#GyMRR~2Kuf$Upej^B7G>!UySxE# z!<)ov)&ZPR%!2?TLisy|?J4DSA(SYZ$gtz^8_*UCtN1BW8NrancodY0RWAeC^m8Mn zN6;JAVOlqm8{(cQ$OPp`07I;rO!1rFMj>T5+CEqr$@Q#H>57aogy;w07ctagKo)Uh zKCa4ZT!LXtA;^X;h&@1}ijKar1d=1eRKYClR|9WD@j6k~d86|}$B;16ekSFR%eIX? zsTgvM0Q<^FfjecD8zT?-f)akhzIv&wJ?P7UEy+6u1W}D-l-di>Hvpl)A0CI+wE7DT47FYl`+EXfN&zPG4Mo2Q!#4y2t#RYtQ z_AAMgN&q}-*(kuEk^<0KU@D@Vtxk_LTmUYxb#+R>46?cpCbvQ@1|WLg!dvkL0nkorLVAvY_Nqc}H!eK2?dG^ivUrZNJA#T*?) z{Cr>)9KA`ZN?yq*8z>kt8yX;`ARTO{z^XN%zlP}yIuI*wny(9i{UigVlqS-le!|EF zpsK8-Sb@E&Bhp)yGR>tVPD!DlMcC?)P5iV*KoUpepsSfRq#)qWQ7)o{b!>f)_&--g z`=mE8y_Y1DE*S@CWl%|(!&pZ-j-={U);GX-1`SsTN;;+FfJ12LfYerU$vLmnf=p$| zxgslA?JU4(!B7KuWh51>L4YY%U}PhnxeP{$%oGEy^Q?PECGsdx%D<4|N@S^Li?du!Z|&~2YaIe zT672l5EDjr`e;fTmL}>8eiRH`N&#pnvvFC6M4$F#001BWNkl9hdGEsG;2SmkI!8h6BC$nR$oK0YY+B9~w|v zC_61d3yB1hXUfD$+tSd~RO1B`A3^CnD#Vn$@bcB14n^hG8cL{3d~0=KT1KB4<|g!; z*pV$oU>YP{#M{zoEMG;zTwv_jWEad-tend<0L8SBE%%5NdwNuNgsF~4VE}*n?4bXk z?UcxAep0rY8qEXxUx4`94**i)fh8=Ikj0b8n^}Ec4OmUG(faBAHq~nH2I)R zT&9mfGF95@@mS7+^_49fEp z@4Q*|fBS1>>D{-=@f)8j`+A97J~tyTn@QyVIakTKyKW1SNB8sXBJclVrG?4-bt0WB zMfT2#jP4To!n_DNPoHLwG7*7@Wmhip%v~b8epKXkShzlmHnIrUVlCVtGPhskrH4hh zNP5W_fwke1EC54bJl^~XksGfO0oXO)5xFE4c}mc2I8_;wH=v{MJz|sfo6lMUSV~21 z0F)#mCuwA*$U-J^z7n}V>|HP9BB)azW+shNaL`}#Yz3S|+XO&FGXg*~8j8H@xX4Wl zA~)?8c~>dYKOvGXhya#6G%z;Zxl{&y1Mse{mU1*n<%vDkn<587gJ*YdUy{f}-a&b| z+x?~s{k9+AwsxDxu2u$)V|vKq(6{n;rpC&3SKrc&zr{iUTRI;G$aP6>;3|gFULuRk zS8+F!NO`&tSx7}59$49t4(yn3KQt71Qb*+LcZ=K_?eDD=2IhiY>(;)=D|U&zFX#)t z>x9VBKeF8DCi2OuQcRs1oLRfKx82#cS$VMz+lGF|-SMPTM_FSU-~2V{>aqXjfUdTX z&zv91p1Day*EV+-+iZ7q(9sqaX;^PjfzlGnOBd_u51^c$EIlBPR(R5pq%Z&5IH zfLE;O5eMW7zp+{Kd;daLPC&hP0Z)H8lAdl3jy<=5yT-Pg``Wv^E2qw0Se)VzVo(?6 zGu_F$z8W)xv@~p#GS*XMAb(?J`U!=MI3gGLjUxXQ*I%K`Crc-+(}neiscZ~(aR68I zfZe9NI^*0@3|uh)g@l{mb91ZWwGOCTk~(&bGKwqgj!nm3YR|wHo*2l35g@l%p~c-b zVksRbd$m+*p#*|&UNiOt{fBb3i$+x z3osWmQ~)vVk2294YIJfPWvcFLgxb|uX*c_33pvpny==oKN>PYbz1iSa!JIbG)~8Ig z4fn$wk4>zW$NSDTR_v8^GyTI3cif1EeA)yL?>(2;%@TkDY5xF*03LaNGtrJiAOQJj zpJ$J8GleLykN6P=<_^rlK2`>sX;Cs?J=a$T${@OaO`CtU%)-D$neLlc@N82yfS=~G16D|G3_@WeVrrUJr@StY zb3(-9qO!wg65kF!iNmBV!#3J{a9b;>MwV@6aea!M3U!NvW={w8WTf-0#v+~kJhL)! z%R6!a_1G<1cH6znW=__L^2W{EAc7qZ?m}C0cf6C9wre+`!49_;coF+;ev?LjXs>N^ z3I#8Rx?krZfTk5+xw{0vk!}2&FU`ZfHg|pK;fLhN;Ukj{T7EU_EsDo&ZFQ?)re;v{ z2MnOA=5<31EPIVE66^l?!5UzZgWa2qeJEQ#eD}l6AgBM18-lwcpMzqYkBP2KI<4-y z*Z2*yYWz?pota4mE!v~bZ#W2v9uLR+dAIVmLH%%0x+)h_NAhp<{~V>Ts#*F=mN}jAkWwB0q~Lf2%`JklW{Jr24%*s1o0*e4?&H9C@@cC>%x~-cs7$mz&oM4`~``&F#1Hj?3|Zf7;w_u7{p@ zsNUz;N?7Z;y=4D2gdHu3V9Ou^{5Rto%V>V1qQ728lf^fB zHa&;mF^CIRnzrXD2M%lr%(bw$eLmbK8?(W=W%;}J-!aYl%hDVWSKHH8gE)<&9<r$EO9y}updSE3)IZ`!*g;vAe1=gZ ztCUnL$4wVDAsC``(?75$7)VRmH~_aOV;A+al8iM3dypwyu$iQJDM?Oz5-B=e$x9G1 zb|x*Wri`5RP$@4I*LaNSE|wf#eDHEz%I!Bw%bYf0b07Lds=D z`AL=;GgMJj3dSOxV)s}mSda2mjuaYFGby{I)4)O~x7(5nMeC6< z#w3Z99RP71z34RSjU;DE*g+8EbL1|YJ2BGpVP!?Kio0P7O@PQ(gT>esyq02!*QPI*vYE$i9K&igQK<&vd9 z2?tW70CN&a`y;739jS_umWKke5WAWvQ&d?3PBP{(>UuE*_)|(b+t+n(4qIrJ$tcm% zlnh{B7k~#1gGOqNOhI~ps)~^eQrM#sNwT4I!fpNJI{+%efHkGlMd2b>QUXmNQwt7S zIYUkXeJN-w^ar%}3cwk_0@6wOfd8bgFuEez zA}n&$1!dI2E!oklq+$+_Zg5^oj~0!;8N+$eDJU}=ZJw?I&<*|4s3Ym@P-b93fMrYD z7j0`~tTZSMr-gLWRNI<@_9!!k3RwEcPX$5(wkTx)v)wRP5E+bkWQn#_fMb9n=}7UT zpf}op7Nmk9zWWVV)xH1GqhprS+Hjo@%F*`{)^RprwN*b`bw3f9j?r6>BQhRsxXpOP zzjdxaSzySRq0B(m9MR#0WwBBwHmx)Upk?gK6gI2lA;6W=wT89cb6%I}C7_%O>3B~& z<|6=rtOax8DCk|3Dsqhf+|a0k~+#jB#8Lz!9gAiO07pS|)`pmy z!1$#3I0A@jeGKCT05k0mEb^L(8guf5cmr|Dy4auY5gja^Unswhz1fN53iT`y6@Rb7k*rPmZ5il>K|=<=UM+x$}Sh zDUtX7wJhEB=`Uiu*-zaia^>|R*X$BG(HFUwdfO5C&{>fKJrMvs+*!Uq6S*|wwsMh| z?-Kb-^zjBF&pFHu86taU3_L|YaRjQ!=9Zar)L#x&Wfa$$l%lGMgH!D$PJf^AcHKK z$uyjmVI?at==~tK`x&QH&Wbxd`B*KJ=Y{wAecI`2*}+%sC00x$R*t#IT=o zO;6)+foRBIwX)`7#~bbcUhU@li!{31kY z!ysWPTj@_KPj3eZY{P&f2Qjd#iVp>Kei-LPy*oLFdg<9fD-X@{?vKF zU92$c3Z=MnC3_Cf0q^j*GC$w2sa(0|O8L}@PpRGU&mC9x9|!fI@b3@G@7sCM>~eKh zTK{PO0B92{B&>1O$VU$EotYzMi~+d7;rUVkV4>I$gLs;9$=~={S3xqwK^LO2r(oVZ zw09?fg=%F@H`F0=GEpewpv2l#tN4 zklJ0C6ZvlkvBe-LloiNd+{9tK=!tg-rv~z18O?h<9OM8xan>7^+lV7x0dpnuVdfXv zyBvReyjW!G6NTw^W?`T%PbX&Hw)n37YqW!q@QT3<0JQo6sG%$wQFs&i6atOo3EPi9 z8!2Pq&XsxGPpv=`3{XU-PuO!L(8h)=@GxTqEKi?mA1 zD8En_NgMsy1fVMf`$_73^h(*u_DMx#}^8@HNUW&v(1pt4| zF_^mHOjWV$)d1KXOGQbvBW0wxgdKU)7B`eGoBa^-X^Q=&wU;GSz7ZHjg8JhC+tqVp zz}jjH6BF^M+gK#S*^VM3nQhFi+|F-Gp9S<1p0kgfs{uT5UbdwfFKudGh|$z-8m~C z`^d-Sx@)f+3!Cz#Y)qk_uJbHz2#jmoN^=2^w+RK@xFO^IYVkfbH{n zn1abC;_CT_8`6?DE&$ncXpfvZHtvHxuFZFy|G~n?z^1!qIbiSOCg1C>6Pm(WetSPc zS;hT}I_0c=Fsk#)y*Jyon@_wO^=iUyn|`beDw%zhOzPVdl`lClFwnz9KkYfcQpy~g zt&QhRzx<2x<3IJY4bv~5pPL18J@KHQ23*{{dAx(UF5Ne|k2Ebee6GC)05ZkHc7eIT za5*8D1G=UJdC`mkadGz1g3I5QFpKjxcg-SZ78e|Yx7J?d&954L4NYz|70_$iQj|%pq`h-7Nl*>9E5qx*|qck*kAk| zgSWQLuz@tA*4e^S|9}jKbfxqqT=zr3F2di z^&wJp^Ue673&DOwJOoe&!%Za2bJzpW`VqUSLtg&_*)uTaM&Z`;hRAGPDd@8WrXZj1 z#^r%uosYRZwpqfhv0m?VzUlVve!V~|kq;g}RfD;jPUHIPb{;q8QhwQj+imyz=YQ$v z*bZ-^2$v`^(9Zga#QX$aufx>uG2|((XZ$;7BIzlqI-zlPy4Rrgb&~D#=RNU zF4)YTCgw}t+*206wZC_RmK4TT%Y7(0qCAT%7xf&)ax}hxk_#!xQ=Ik#!yQ>1XY*iS zXO%E?Mcv|LZ1A9paFfRIFJ)?o4Yu(8v`bB~3@`Cs_U_K)IjW0{-ME>*uUYt*f3A5O zh--~;ZLk>-*Py>D5}3?tkDPg&L@8+eTzmMiy!@-aO8(|EpBWo&@~dc!{cYa13gY_3 zAO2x^`FDMnT>qlSM$zt*|L{q9_j~_d{=;j3tS$Q6ZZ-|X- zQ_WNJt#bzU*TV8QveIUO7gcQ6_taM8QK{c6=f`K<9{#v(dPGFt_@~o#S!!V-@{wEK zB5(Vz|MPfqHx{AF{2s^H&xYTPrO0)@#TQGl-FtR?&q{s_nqd_Uq_gaw;AOoHwW#!ThO)08E^^G;Z zk)ir%Tu!1BPE-C<)J-YL08kP8h3^|J&6I5f;8>5W8snfW11Xfm|!5Dv_0G^#?`Q4~a_3j4+?qbFx6 z;HpA|GNg!9$FWp~4nN3)wFSgM2J@zLq?$npv{55L86AK|MwzEQN&9_c;6nLdSu|4_ zz<5P@!K#JQzJtU_#~{-^kpgBLU0MQ!f?=xyk0=1gG<%e_24Em*>PSU9gW(JiL;^<^ zdCj2|XsSX|mV-1+8VH%)DRrtoAcJY&z()WiMjZ`AvZODg)l|AD8Ie=*j?1I_0P;eInTScc-20g70qmGn-%2q{ETl#BYI%T8pstQO4jWLKe zRi)a6L2{UApF{SBwqN9ubO)-B3)qiHEBL=Cr39r4ecURzu~6TrD@@-qV@fNOAt>t5 zFW{55xZWJEP2^VnY}I{Rm=|Jpq2X@mPxm_5=b^`A%}j-VH~px7Ht$5Wrf><`l0^NGsxrLzv^}D}0+xbhfBbvHp}$0V-16O)jnj z3za3%@{f2bT8J(;F(9>?;oN|12513*3wVo0Y^+GyKO>fYhB1|GHQX?7VEiFIxTWv) zxBf(SH#r^quHw3t88_d9?|fpTF`(#fGl&%7$w2tb{cGw}urtvDja z9_{cn`$Ik`zQ~mK8PA9$;cJF@snT_ad{g~C9Fa)Mmy)9Y#y&7^5np8`3voaUjD{qa zIU_(j9p$kI6^k%=Y$!CqF=azNj_RE@)VI9 zuMpuf@l!*Q>v{(60W|c{(;}D6id=oU&8-gxoiqBR1wgf_fu<;;nMCB(*BI#P*1JXS zABfy~j|gY9U(IFGsR56elQI9)1t@@b*e&-<*`dhOb|I_%fy{)PxZ7M9y1UKB%$T4&9-pQ2 zmF$F`@iBPf+vB>raWWa`;8Aw8FmT1-tx4(azgz*9DZSpt3OG0@OP{>&r0hB{R^UbX z!Ic7ZvoDBz@Xoaxu^yT&6{H4nxq19Pdj6gXv|_>YzTVd!$DLX<*R&u?DY zA`WBXJ2ZIGutrHy$C36Pp{ZChja7xPnD7Eh^T(A__{{+FOWk%&_1}GBvOy zxT(uRFMBE!7(scAR!2411O_pl#fR1^hPNpysZ8WSUk^z8q}{CA#%P5Z>2SBS6@Lys z^)mm|ji?i!x=%(yIcDzCeX11W{=9v7Sa<~N$AcZp+b|8)>8&M?6?8E2y14tmE;(~- z(PUI6E0!I3x6f+w@R2ZSineJD001BWNklO!M!>N-`0Ik(oete%FbCdlTtr=F0f6P^@!Q9dW*Sg(Z+p(4G-aKYGh-z`>c_#W4l2+W zMn?L3mrK4;uGAH8AF*88IO8kn@y%c4ow(1y$AB>SO}PWO;Z}AY2LU+vAeO1$US5$! z9jC~Q&t^RW3^1)vbO2y1Vp{omRg2v+F04@wW0Np|0%Ny)_l}IgS7x_kq7B6E9k3Fc zwE>T?ZvzMc_C9{+12Q+0%luO=ty$Ut<24_xo8u}_Teq>Pt(;q}*{0&E+{XSzyvBXz zxZSn6rO#>0W7;S;mBnE(76Z<~Ljmht=&z_x&ZOn@ClV94FHan1F{sVWV=$VV#o(}& zNYT{mE$)0gX3QS-ITE$U%7!tdqjle9ZsomWkFgXsLAl7FPn?Nv5XY3_UHuE$@0{T12DS1Oomt01oR zypn!6Cj$V|@20X-maDjd*xt9`zGE+!?U@_2w+jqIH=^4?0Wq3XE=3N*d9LnRVNMS0 z7Neq)?!;vmmm;yP#o=oO-@{D{^|Sx^XEz0MwS}FwW@z*KNZT=gKjkXB)aGJfvpwFD z313Th<|e&~Bb?HesK9eAm62j;A_arO`3 zCtfq5*rH0(o)_23i8JlbJLv)dg+O}0)#Q1PN97kG-FeMEdC!9<6$r264C_2PU1a-<{ebh*5)w zXny=heq6rsYrkT8^d5cgy5rx;%nTFvhb#jGSRO2q|ud6q^f za9DvkQ?jQ@x*ebaW)#5X0UE#V$E;i4#>ZdkWnpoAnE=W>O>_Rj1(}=MxL+*h=9Hnu z{gL;?lv*@2TxVRnC0RA?$b+>bjPxUJs_^OynO2JQ?kpBYCX9A_WS(_Hm=yQ z3F6wfD-pgJ#RSQBoSsW&o~@ zX-)Q%jqVMb=%OJV^$G67|HOI))lB=&*@$84>-^%L5SNA3X!#Rm@#X*WzfKJwJ1B_j zb*~PJrcnfBmvO-J90!{5Y;#8=(1ur7lA>>WGvafn@BG)lC+~UB^nEi5=qNHPxJf#a zmU&PDORXHeR5I3R0IDb^ASk|nsP3)-G+4o9uwS7nOq1l90v*6Qz;uOTSO*{iY*ke* z`3UAB*sBaUrYHxP8t~Wy)KQ5>$K{|z7!;vZNf$rhYl0FlVKP8SkVP=X4f(hUK!|h$ zsElb4H&tV8lY6cu#qZABn7;ZDL0h#02=|rVQB?$Z8?`>gg)g^ z*@2WT3VP= zxQ757P={ciGX5xdWoQcRusM~Lq)ew2d?AreUZ_lXaT+Nl4S=v*0VLqowu>zS=tw&glXrBb&42tvsZ;FvM7vGN717HCJjbejJ zDf)?Yhlzd{)A zDL7AZ4VK{->`kgXVk)=H)ewYf9n!aG(t_~RU0(^Ms+4vbHrr3|pHU4<$JU;C2;i-rNU>5##^tC$Apk5e79<@>Mng%uuxzK2jS?xT z7Z|e!l_Z@^dSs?7Qz5Uq zzM}p@#se6PXcbsQ?f{1|GEg5`ND~InP~Vix^R2KY;#AgBLIpsMwue@ZP&0yREzN+qGZjIaQUp(5^38SOtZsatV;^y(u$;v zgF!Yl70nWJybXgEUuYvMns+p=2hhGrA0chF6b867z!gA1)&Z2k>H~Z7L;5y9Xk;N@ z+EkP|NpzFp*@7m8eUP~?_FA_aP}PZp7Pi+uiSktfcH+`43AITrwM zq4ZOCg-bWWxNx>Gz}I}K7ZK>i6bb@D(U$d?7{KbQZV~y7Pl;T&AOiW%hdwLv)LV_M z=^zW`03Ol}6#Y9Dxlo8KX9ftP=I}EgFfzmoaOoohk$cWqocP(ZAachpk^2%6jzr)0 zkjV85A}`r3QtcL5?23G5AW+gOapqhi2LP-MDp^=eWbN@i zSzPGIzQEA6T2`uG!MJb^_GNU{Dv^hN;>Rvq`=(bN(zutpiIj7Rtb$#;z}}VhGHXnj zx|lCS`Tpq?d z9X~6P^U?R2v5&|6lb(;}wpVK{OgBq}kGEHnIlnrTT?>A##KxRGQY==3VI^~$-0lqf z(y*a480Yxp`87FEGZe%wm+pCKK9h@U;}0s$nDyhl4nj?rOY`3Ec4d8JA86WQWKkV| z@M-#?4tHvH&v)b;6o)%BP@%V(f&-KphMVrOED(T&Q!VMvNUfY%DJ!L128 zXpMi$(1vnCtnAqQc;6ZqmQ&($#Y+boz&Ztk5N7YSeE3NwnQnA#Y)TAz0H#rIj2w`P z8yJ~3u(@mu;@-FX>v{J8UIyM{Fb2S`*vs<&oNaU{f7m;Ddi=s}FiSpMevxs?s0yi}P2x6&IYX5`;xybJ2~{Hd zAGcplJun7yc|JG*P{T)1!YdHzLe2K1ZgISUt)p4Tt_17xPW!!Z>Y}pdc|A4#p*-y$ zT&HfoU`)Ga%#ua_^S-eG*w;*ev*<7vvgLD-l6&(seN&G;cKTi!;Ipo?5C~;yS6))9 z7I{bh;@iP#Gd^-GAKX;~dpr;PI~!R={l1$F7hIGJFY0-QtMJGGXe zZK6FaGG;aOM`zm1FD4az^3uA@g!W$T-`dL7*wk~CTSjsV7_e#Dz+L!h z1A}RQX-0suLZnpV&Wv60JifqfvLdqY)@$91Dw#1?q3Gp(w01;RTFRVt$E<3xU;5U< zq1`%!`Z$hE)%6~Ec4kVf7Ixd_j(F>;svjD1uW{Jz@Cy10=S&`T3oa7NbVc;6-u#p#QZ?zQoJGw_tBJ2B^R(9-}A;?LJL z@BfRfDJOmDbHCK1uK`_d(KhBbfwKU2XRR+iu6Y0Ac3b&v%4_SIg!W%q7yg@Oy1nj} zWxp9myg$N?c3AE$*GhDZd+`{KA0G$(asiK%%MYB*%hkbyJ7F$u~I#bRtBQKjia>KfsOK_X=rio4Q;9z9t@(t^% zDPd+=v;LU2SDF>>(Q^CvLzCxTZEJdG`_wbTXl>2DjrAAn-_|lmeswJxy_=#yyKGSx z#N8Gr`^EYq1HPRGIn=cn(W!z~#_!Fi_+lup zryM4n*fjDKJ6)>hm%iks!avsX%{6Sy*czwjbraid<(WNhb6u{0ybyS+Ag;$n7hloz z^qaWW#KZPvFqkf`&#xLg!;@`W8&E=i0kXW{8m{A z>7#e-=BmBp3*H71aLV1M{q9+soA|zVU@*QN=TrnjSe_flzre@vV7LSjL(S|{&{c3~ zug2gr_=$d|diTg9zwx7mn;AOx{>AgGMGoa|Id6&!>R!!vP=1R%gjgaQf86Nedu4q1 z8AZ2i7ZlZ@q7Iky{UZ7vI>|fbAtrzCJ+cuDcI4>psj@Q}TIxL}_UA_%<7)cny$RyF zYELC6w}E%Mu(El{rm=A~^8*`KY*sE_l*OfS|BKz)o&j-9Gx_@)goiLlnGvPhF^ylOG-7Epi`&fjQtFp~-3U@_Wqt_2D%in*wp@jl#mvp28p{6=MDDvCI9{_?-67TXI41zP5fAUHdq*D|G(@L3k zU||7d0&xf+p{ndk0^3gxqlYO)0y0ieF3%Fld!;gBIa3o{?u7CXu|zC7bI@QjAP#ANfE8NCSDKj*^kGYAIEdb_*miu#^OO$|^u! zhUTccT`6QFS=G^UB>jOhDAqYn%88T4h3djo1QgkZqN297MNt!F@iM|NtjV!@} zrP}Waj6tOo#F6n0v9!w;QJ)8QKpFt1sH?y-rCAu^$It>4BN-T)tE2J%4O6a+|@ zHWs0T`3O1FVF7>(9X)_abe3aIAzu0sY>5siW*nvq+8Tp2iOU!VZOvqH27n3SR6J74 ztIi3mvM>hFM4rl|lnf9r6R0Aa%$@G-ASm6UU|~a<0w{H!4S7_?O2n2i#u89)H0+0Z zs-TDz;&reU{sPO94l9fmVNRwF{895dp3->LbVDMV6zM7mhB~I+jAcpJlSIYZLC0@A zGVjvW6G7-Il#tz&fVn3olq$6CWccD6iXJ!SpW{Dw@cZV+h! zjHZt>KhPinETrsOekKt!AeG%`M~V;X}XshtoYi+Ah0xi`;OtTy^91vaq%$ zr}iF@3xEB0nycQIKTCiIoLo6Cdlq)F3RfW4(i3iz{H&cX4~}oV!1~cH66xo&Kp~G% z29xf!(&=_(wEDRzDSkrap(l$xco)=MBEmVv?IP8R$o^F1Xc&+Y`$HXLdEJ#5XlPA0 zVj{=#01z69+yr}<(l#4Nh_&@nN924Z@@-F20KI@EIH{Wjk^6Iz`-URd_eE4E0MIf_ z04V)(UPeC;g9ZRBhpcovBH%IDC@w76!jC1$RecSUeZ{h-Rh-=?a`l|;dk*(({|1ZL zD(o1#Y?qVgi6fO?KO6csSe=7ik>!raJ0B7`d{9AQE9(HZY$RLhBr*?67vo=52^gQt zZ91?19<3I#SHi{x!`3hf4_1>;cY#d1vJ; zfVR1Do$9{RB8}UWwED|^8K4{xXGlcB4X`UX!$QMZU^_$pFw~Q7#(9a>MBZ)_X?jAz zAFtVPD23jDoe03ZT1h(iL0)3HZ|0@-JxXU`@4^PfjkYix3h%pmubhAAg1GXv?;YL$ znJx$5D6c!93$Pdlphaw4(H!Lx#-Z9o^5%99&LJz2h`6)Kf8?N#lvfXHf;TOP zp0tc_bPi$cC#k_vdcfc*B@uHGg7!Lj|Hef<@sQTi!6jM0ux_{CA?Va^ zkd=DuSgv4@S;@SqBaeFg-QR zXbRg}I9ZzT-qx;oh{2b2fY3hmdw4Jq;iMyHxOIa@0en3XS;@)InVdAosWydC1K~}k zwV`f;IKd=}@wtNMdG-UfoLMdaz|?YYR{Gav+m#^Qi8^a4%CQcJl?L(4T-)I`8pe^x z3|BX{8P3dyTQw5^+7Kuo7Ly-ig3vAO3Ae07k>fWuBVS7wW5!E&-`!1we_JtaZALh+ z%Qy}ItC?i-`)~dI*m~;o>woPHHS?Q$O3nucFt^|=N3S!CEW#r|`x@*SiZfi}D|5qd zXfA*@Z+PPyHU)AaPfZpE7?YZH;p6eezEpZSHKQ9sQOZlp6F z{>O!3zHWm3T#3~4QYT6<6d1$a9{FyQG5mXfP^AQbzmbX8Az1eodpb7rytGASDbn50 zr$ZV|V7WAug=A@#eX8%x4iu=@``VH#e`k_!n%qzlkW3$-@A>-0XXgJ# zv1m76f5lmEuFzB9G=Q)k^I`bVnOKMw-1UuG7x)x}Jow)3z;pXX2 z{3fCoSv5iRstSxW@6(enXrJ&(q2 z*5!BJbhZ5LLuWR$PaN;%dS)#Tn5zb*MRnT*bm`jm68Dc|_iRmh;m}QoCNGAVkf9)P z6Lwp#v8@LC_(wk?Pr3bRTaUQ*S@#H4M!NgMo3KcSa4&rN&C)|-`Vtylmu$7bE$Ozc zYg)XuT1|wVn*Gw(H2?r007*naR0nf#XaDsx5i7C#W3bw(MF7+-oKbnm;czIhSz*{uHd(MdzWw_T$ol%^1j{< zec~a$%|>U`(>w-y&;KUg1Q1tjVB?x;RLgpHzZ?u=*yZ%td@haGcQ5;juaH0d(Zz;v}m@0)si(LaBcyz95#Cf8nl&8B`g^8kqJku=jlTp#}Qr>19PQY^;b5W`8b zPnFuG0?0(iDR&6p13iJr+O4+rd-Ic?FZcYzdpCq3UYNMP{LcS*gIm)=nYe!W)u!as zbd26rsWiOb{G>Z0m+d{;a5GtQl$N(+-uf4(<=C-f^7zL;eq*qqF&wDUxF!S70~Zto zoo8j-L2sMyNnwx!a0D=-t174pHUanq+YO4|7FVJyR2AQ#xNuT08sMx^^<%YV^_j9j z3WUNn!AV%p24K753@nTj1xnSaz=)-~&>CSSfL9cJqj^sZ{F3A~D2gzgn<|t`(NiMD zI$$AKA^^$oy*bnJDBx@z795deE|COwuU=5xg&`=-q=KD^ThP0yq$qF0m=)@UXi5M@ zz>`XmKDVHgU&Z{WcC;h|Q_59#Fqn)0dW9aTN4 z0B=!)*+^uqtMx?P=SfHMs+2C^G}7hb1Q?j|Op>`mN`}<%xdi8gc0tKq%fiY4K#C$& zl=&+gnqEKb++a)iq>#g^29r~=u0Sic)ke6KN;O1z5>yn7N+K0^s>1k6S^%VID+HRO z0F(}cGNisE(m2C31|W%npzNyO4wiT?M#}I;orB>?^iL$xfGUW8lq#zhO76&_)-iyG zz|4fAd71Z2);a(h44|MO1>(*+lEKVWj*RJzBnrebl~kFf0LG0J45U0PD))sX3x&ui zGu9ls2(p2OIT531S{5n}Il#Tp5s0(MbLk0}Y;e|`LsMporZCjZ=aR0faI2m;pdc7U zVEs`Aewt#Kiu3^3brd9|fGaAqlN+$2Kme_R%c86GjEn*dNO7AZZ<&G%NxPp8wY)iU zC#iH4JeDgfmGlc`6iZ+L5Lm0BuZ;ZT5wZH(rva_J5$DdtjR zr~_P40CWP(Vqi7~2*x*9&x}E#}X|HvqbkU`j=0THg#zbH_yj9fZG5kH-B zorbqQtVe{sRPxnIvVN(g31yN?kN!cEpv#XEG-+9OBw=l&Wh7ttsRW>yWj2@5uq$1V zCMpABKtl8>P+|_|`sQOCXUha`8N`MZ-aGb3zqd^l-5oUkof*^(7$zUMvfneeOg z6kr}5(~w^S3*(8dW;{HVlrZf1nFwP+X&@|}!ow#X&V4GzU|Lz3f&pb^aI`5vjCp_| zN@ak^Rb*fRqR$x6i^&tvmcvX)l77cKGNdbpz*wd7O5Rlm$mS&-`^l6t2qD|X7O8Sp z0Ad-lxdZ6Y{>mR^M>Nz9<)A-WYV>WMO`f&Wkq?a*A3>(69nAtcWZeOvhH?b=z@Vq4 zCtW>1As!o(0c}zbR>06i+Sk2Yy7Vvy8%E8q&abxS0IW`bR%hCTW=cAm6F_!4|7u@k zR${`lC}>XlC}mVeOj1$co~>szQO0K;=X5>-EI1_iOuFnrY7n}+l!p)REKOKr=~NY7Y|tUHV`ofYUWjH>T_KM zEa4A1(Rit7GGc%;tVkzRppN4qVJ$!4McuC5z#J()6E32e)NiB^Up4ubmoRb>X2r_YNV1Pq^;-=#zr4)kS>J>J zb;`OTE0xGibH;Qll`KELuS}Nb*237r9*+SM{08|OR+25Hx{oPu-y`zhS7r6NOFH0m z`|Je*)@)Qsx0A^JZYt}P{~Pt8sja@XA3ZK6(WDTD)L0iJ`_P^F9k^Jz@DC*JiC36 z&vpw1mE|n6laKSW;@gSaoB|DY67uqgIkPg9X#l3npL%-=epuh`Dl*^i$=dqmmn~2K z;nYtIyaCj8^%Jj_qn|qJQMdov`fbAP`e$4(C+@KU*nvCF7T}9g0A2M5=84dzK;N(u z6s6|_qn&@icSTO!^tnb)2T__i4sZCnYOd^#wl>6dmmasP>0ksAO2 z#wpz;pT!Y5kCqUuFUIoHcTtLNG%4j+*cA@Y5|J&jd3hY6JpgmX zW_kazmU9A-;bDSD2QS9J5&YNv#Qk%Yp$C4p>-Roco-2**D##OnAI6Du51p&~f1Ic0 zGi~5!No}g2S7j9HMm)<%CTTY$!x9i{92cpR5GvKETtt>cN5Tf9$_cMjqX+;G6XP5hocdRDG}!qsYb z^wURcS)<)3Ctzb3lK_BH)hKJx*C+=dqF7e3W86}O`5-6W&)KVY&z@H>mnP=29OtIR zuD+Q(_D8EX<}94s7^|>9btZsFPF=85`MK$RI$d3poE!TXUk@zF*?W)6-kaN*IL{s( z0|uzOS*8sTkn6R3(?iA80fS=GtezX+8jYKeyKTUZrTvT2Tj=WEI*!NJ1F@ZrhjHrG zqb&YO37!Vx1-Ld512omgnz!JZ4`&_PeaH_RU=|$Ltw*$cFaTd|*o(3}PRXBobAGi; z=|ErbL{fR1}3=+v$sfN&&J^j(wmhMB>`2qas zb_%9zxuu`E&gV1tt8zE4MzwD1|L%X_#U8{FXl>BxQ-n*4i)O^V=*slr!GjZm&&ld zsV|OTYtKH%Y_^Zn*h0DWLV^}0Lu962=Y-_j#<6$)(K}~mZn!?&u-0LX=OEE$y?SI# z_ABg}ubZ;y{x|z&4TNDF^1Wd^aw2C+F>siK$gJ$`e z=5}#V$Sg3_zQvB5UYP_dPK)cYVE^8C{m~VZ%{y=3sIZ5A$QJQMQ_I0pdTqUs`Tox5 zJpf(v`{v~f`cY|WQkUETFqfH4guaoogPa@IGhYF7UCAasi`hy(-}2kDfn4?c8x2=J z=WiwcN7|3?BjU@cVzx`$x66ieM9S&%;NKaTivdopoE=|4z&bSEFLAL1@BI3C1#5=7 zj=bLZ{>Fc*#Sv-+CeYRO8Yu4Pvz*t|X?XY$guMBMIbOG{DZE@d?KHyF{=&kuzD$X4 z=j`c&`GZf~ua_J+z{&w)o)>?2|Lh3wxN47l@S(Hv<@=W9gGWzEv0msU7pzCuE==xC z>ob9nKk7o)jp5zFQSrL|efP}XQ;+jrnk#C{Ey$Dz_+@NIsaUmn*g1WI+xvG zrtOE@a!8xA{;%aFcshTwxle8jEwbm(9%;7A-oSWOWVZk9Rbd|vxF^1ls69%vjrP~0 zEdXU77Qi?xm9_)onw9lSM9Al{hOY_FWilg8yN3Gpn+Y z1jRC($NSw%m9IG08AJ?jA&UAZPfeNAEzZX0#ctX7J$lO5HDiakKHOF>Bk`B$w|Qxa zJ8?-1ps_ahn2oCm;_9k~s>jmuyM?t8Ag+8kd+$WdS-)MOttHh~t7E4pzrDnsE)|ID zZ=x;YGrr_D`8Tim-{m*o@Wwc)Z9hL!Ag&xG*3CAFTgbil75A#xhKZM^4;-5d6y76$ zL7~~B*~%|KF8N(k@Kyh&f4nUa*IQoqotiUMGtu+2$$V*_kF!~d+fXJ(IafpFt9 zKU)Wm)3D$~>#6;xAGlS1^uK&&X1uZE;lqaoa4F^;?|6s2^rbH~=ML*a01iQu8SDct zg)z&Zo{n>+mk#n=O4Usy8+9csVbduk8*wqK;Z+zu3)%*DA7$83#Er%WGZlNtG%qFX z1k@IqvM`Gzr7}FR?j$Y+v=o`-fO=Gc6}Uzr9ZyFYoyZyrg3h8r+Qu%zab=kS@BjeD ztu!!UF;Nde8kTm`U4mAI)KUAQaL z4@EC2J75&Tj$ndH3^+nXqNs~68_z$3Yoqe@Ag6l9Vnl4dAj7sj@y%Ih7exQrOZ z;i8aXryH2R3Ndwmi&p_puvt|AOt|m>z#2d`&8RXJ>8B*TP;|M<4hj*OH+j^vFwY*gfW#>`Yk`Km0FWQejq(#D#g zW8@p!{{fp7BA}jBa7)!aC2jyt24qscIAewxbtEfu$%{%lDE%k7bm{v^E(vHN`ri=H zq$pDyat7+K1O!H3;d?%AFrv`4Ko-HaMp+XWwle9krt7B4n1w9S{4kC%m!}G>qRqNe zChN-hq;glLDoZM3ISeygCN~fnrc(7`V=;!g0#Fj`l9YNbr2qs0tZ-PEOm=ev3+Abm zu(P2fTb0rYgPXPkWhxS7H%nm&0B8u%4^UG#lWI87J^&C3#Z|CpJ?%s6V(D83=G6QB z0KN5yt}7j2hJ05?0e3EpA&N=qN;ya+>!G=yOV&&HktE9`ML+?;G3Eif%1i0Y85Xq| zGEVVb%TCub3)PGAY_(We-1=`-}ZVWQ)J zEF`KwY@m@u!0LAx#~6qK!!V|%9qE=M>7t-ZmarRf*=#h~*oZ#y*XNcA%S~Rk8)m!y zNq#3`Jli`ByVG!h@s00fSdKoZb5uE1^<0bkR zpi2xJgUsRA=T%$o7zm8P+tvn(7L`iDLyX7FUn&|pz8hMGH~?7#LT0{1UIIfExhG;^ zvkLZNbz$-7xJ92uFQfxdjd9le+eJYZlNNzAVN%r0DcymsG|rP zBDA#zYmide42d_)nVO(^0lcaGgS7xC>+F)9GqT>r7n;t7AB2H2^E@iwf*g z-4tV6qaBp(i*a6?!7^mkgh25x)P+76;7w~QEI$;NrSfH$bnCK&`m&$~RwM497sOax zpYt(CQ{M=svX5CssC;Ofc_kowOq>eQv$INY7aE>0#%!fv?vQP!3+;Qv;Su}ubg7PW zR{RiDRpED9;`rmDnSsds$3<@VI`c^XhQVq$5;>iVtfnGoa}mH$yHXJ@t+=@-^7pJ6 zMdX~$ZXzFE6S<{lZb>Q&2YO?i6hN?RyCQ2BMHUyVv;4!F2;%V>E`39{D-$_-LS*rP z$TgYB6BlfKjcoi~_~rsg3{({iU?kg36kB$vD{@^baym`q?i*5(lS5rY&t*M%aW|7c zX3XZJ=zMC7Re-;;L>96{*eWmdGQCq_?V+K_;f}~%=cM|zGa^fiGWyp2GOq)5s7G*V zqe}LZm&5u zgP|-=Q6TjMpzE7vT1XqFdA;QJ4~Na`+=W7RFYBq!CC^v;ChL+Xb4elucmqStsn4Gh z06H+9G(j@Wgw7s0EBha}U&9=``NKMGuqW>hGE$Gh9fg=!=3v-SFjpfyVPb%hD)3AhR=u7U_m4q< zF{4Zk=Hk+ozD@P(7YE8#7UxZ$k+Bhg#Zm^ROxa@JE#v+Q5X;$R!oJRf*)Io#EKEaQ zkyispOnQTz%>gphWn3o!TU7C*GN1t=orz5Ao4V3HKJsJnJENbs(`0IsZ(d*6wgD%J z17J^WyltZTN72OS0&4=z`qhdk7YXWzKT0A&iw3wd<~YXuhufB04A3k{VBZYY5>_ULv!O>B$`ap(p>{MpwDyZzl^1Q=4maX+lpKaESPb; zjHM%PzKjgYhHVNkk(Zf|#7Q0o7blfjVDA9{>BdXbWaGjekWpQ?9zgBG0ZU{z>v4i* zkc%{1*x`^xJ-D0|QHxtF>nmqA%3aDw->AGEg)7tgJHMmzYtoJOj@>Mki>gQv``X&` z1VGCx*@K40_j$*yj~+WJS06T@tJ`h$_np7D5p?u{4}L)Y>VtnJM;|&WpMUW48r5IE z>o4mlo9lEOkbCdzwZ{O;N0BWybBi05pd6qa`;)+&IacL0*LZC-;lJg@*LnKO+9rTa z<2?@_hvGE_(KN^IdYu^3pbmUZx zoK?&=@nNS=Vnat$Inax9JU($m)&f8fx~;|)x+vanx;wuc=Bvg9G=$6ZJUU;BL$^OWBPR3Cw0%h&vTaQl zyH7kv_2nRI-1WS#rCQ?kX}w-(@kbmEP|~xy$WIMSo5+YU@)oL{DHH2b6g*jX`MDy$ ztV4Vs5=XP4exh`1f0WtnQKVe#*XOgfpOyzd+oRli28kj=n&>);bwa(CA?~PN@#Chh zvtXfhqF~C0l9=2~VPOGBebRuc!H0)UrJ*oYL+X0kDoUyVzZwR|CYix zG}dAum7fiDyUjDTaPxhXsW`0?4c{7&j-py)6AN4YS|+_tyx@o;Ydm^*-=DklET-+7 zmjBkhZTt7Y?t^mr+-d2|=x=Qxw6=sc195%-cYTMv_E&$sE$F6puoO-q`4Enmjc9P3mKDQUq)zNf`TP>Y~N!!kJkoq__i{{;o96| zyPIzd%vcJXvNT`*y)bcoTkLJ>^IKl`>am-Cp7T>=Td(Q4O(Z(xjn_Keap)OO9%|A{ zvyM)mP*ngis)JohIVz;XP3)@2YrrZ6=%grf z8!L?}qT@xqp;TTelLE@;DGWb-01Y^n2DE_NfMi43QUGv4X*fqeU4bYS7X;|h6RcZI z8>T!9gA%ME9G5cEXRzU9DA`+CRY4gAb--FQE@y-&l!MJExl9v0O(NZ@CwUK84QnC* zk$Bb*yOQ)^ugVqVV$@wBJSmP~%>XP1D*=c$J~)@kIHWQ3O6gLr4s0)+k9Q2HwJwqX z>Hz(*#y3uwL%Je-j|BK*dhGhmiemG5S=TX$Ta_!*kWL#NfL$VG4<&D7E>p$Kt|`ZZ zI7!k1e2IReu7BLE3MpWNW1gg16l+&0 zp%=i1PN%D27zG0)u%E$9BvQ_U3|p53P~KXu;4lC=RTow%$iOHajZqlWm@=-ROAlBM zzz)jlut%ZnNhK80Ejs2utF&AIuo#1=zH(4WUggpOyhu3#tOA&cJj0@f znh1*e$|lCR)0Lz+DauUQ=d?>H=&z89u_*LqnmL;@ zhA|yH!=L6_4r}b1d*wLHrFh;+8aoN&dEIH)ord#ty&m}%tuq3EzA)dY;4*K~^CK=r zjsO5407*naR2YKNQc~uX@U7gw>%g`|-*=-6Ap>5SN7J36&obu0D9L<8Us2o>eaFUT z9VHmZ>3`;3ftrT=8_$;t(t=&Cwqi^Gu50G942*OX zfqYRuSeBTp^uotdNMfro%Wy`iY{mU_fJZClNAY zb*JN)E<)(<#<>=nOdHelH1VR5sEuXQ9zFLqh7zyuu_XHe%VNa};v|Wwi{`Mh1qnagWNS*-Xv= zCsLo(3wgG+5zsCLD~35;TTbONu&yxWhAjeA1nCrev*48ZH~8vIPk2 z!>48Sny#$w?}!X4kyC}p-+YKgk4X16k=yr)>`O$Ry+`DsC6S}oS*}oGARd|@_N;zL z<4JSI1on4O4Ob$6by4IgbJ9J;dS2vsmB=zb$i98v9 zB67Fo`ttl;UlqA(P#NJ`ie5%g5mx8ZKUG zBHe4oXZ3jMJmK2i^64Yd4e^bjyw3L%S%bpu5*VGZXT;-+&KX`VnbTGnx1uxXOO|dk zqKj*}EX_YWOx?wYsa!<(rTH)sH8Xe#-uEo@{$?$ zST+T|u#Py$?E&ZY7TvnODp3&M`G?wXR^^s{0Ca#iQ1RS-*1xCXpQy8uuD zgytY5fO6iiU7?r07snfAK^2JFK!5l_K5AJL(Q@j0R7P%gMlSbW-TqgK{~>|@3v1K{M0h6NyZ>OoWB@G_tN z{ApEa$IV#TD!KNyYbSC6sLg?e-q(+R_PBf?`+(4gZg@s>acWG6{bf_T2gLQj#~zT! zJ@s)D@$v$Q3q$|F0MhbyQlQzjCJ*&k!{JI<$*KEK)j(c=ToX4-hiY)fJMxSI84B+x zSvkmna6WEm;`|9=X%oh(c+8>B6#RU4RhG(;jt3Rjv2m`QWx{g0clACUBc0)7u^h?T zAeU_4n7ye^i{$hmD7I<8CA&=-k5I0>7{}m>bg>=Jep@-ufUq&sl+OI7bM+MdwB>a| zCL_;nd5FjO$g7UG$}|`(dG`8?{m~{v`c%Wj;4be5Yv*jv?@nA)V61eF;FGVRk5N`F zgLkRmYn;!qLod21etl&i{Qypx7%PMKwsPrQ5fpUe%(N-mF;{u~vETS6{#u5+-2S({ z^}pZnPuxw#UQe$x+_>~H+Me&U?;4q6||2O~Xmbl18i z&RvjNY1tjO@O$F(Qw|-r5cYC<8C*n(KG~@B%sJBehJrnM0CPQg@-v<+r@wIel4a{F z@AyjL-*(L#fBlW}?|<^&YcN+xM$Wa>ISfxyUB@)X85o?JzSM;cM zF;ERf>QQ0ivIDr|d6l)~#Qf~>|0DV3LHM2PX_TSl0qVtV2qVJpBIDYko@p#drRThV7>F-e_ z#7mkH=3q>7y>jsIK{;`JUN%5LZ&uBw^xxeOb*3XoEoduzvFR7n#GWr_F z>vn;~fXLJL{HuQ#y$ICR@s8h^R5MxBih{i60J|a^Ra?8g`3@gPeVFf22m%e z5BBEsA0GYu0GH)xFP2B=v*gF)F*P?!&GYPTYU?lh8(!SbGa0s7wKWf}csPEjeb@eK zn~e|dXOvSH_BP}e<6zd-23l4aHeyq*tcdXKB$(X~JfN&4e&Ev2GRe2VdgtNeUk7Z( zcEiBV6WeX}+yrqo*|^%nn>+#H+RSVf#8skMt<*BpV?6QD@#&5&E^DVuxhdmj=oWLS zKwL!q13&V^J7(qj(SQG=ExF^gYTR#IJ#5#~JMVVGP52+@Y5ar--a=1_98}lRI}qNY zXH)h^A=E4*r->9deTmjkKmX=&znm5BuJ^u4-un9QQZJfa{r(ejpvtMHj680Fo#n3n zW*Ra>GRqqkWyDg3sT{rB(ttfE z6g#kq3k*=KH~n+HZC&LB#iJqW^#=Gs*IbDnSYs;#SS1PHkzuM}pB649K-awD4+^#9 zgKW{>%1}a{j4h{1I#P5CQ3Cc}SMrOn`jnF8g?{4$ds1bLSt#vhGAf1;CYgL^T}jbc z*Xl}C`MsnZ0B6V&+u5A_W>NxHqAr30ehQ$ffJv)kfH44OX(82oBFQkYNT4{cWLGeK zL4H(8Hb6mIjG2u2HA|#33}pelqs&vr_ynjWSC9}aR^-JxEXxG;8##L(bm0|1h9YDk zJ=MUcY70rEC&_#zGBCgw%F+qShlQoXEXb?YJ)iVw9KBpBmt;Kv7CL-;1R!A@qNCc@ zDE1qJRtd<7PriT;w4G4MH>GieEa_y*;>3CdXY}RmoFeqo0OTnv0A?b|IzY8bQj|^g z8>2`8fD3@qD3LyLpzRCcS|wc?s@D2M*wg@@X_X~~ z6zj&Irt+ceTL1t-##NF7QlsCjgON(4+btz8)+6~HU@wDps#_}4S6QS=cmQNX8R(K+K6(&p8Ek1FEVN1atWIRN#Wzcb%anx9W0N3b}iLslrp}_EF zqF@pF8iO%h!Hcw|>bhATi5~VQ#+Isr87lyMb=VF&F@_=qi&6)+PE$aR&Q-QLRW?9n z@FR?shq*xGC-d}U;?R6jTw@rcE_ANtVsFh0b3Ef7FZ^%+>G+6MR!HjXMwWT?%N(Nr zQ6ZF1FxapG#mQ)5U`2Pb-^oImefd7FPd&fIM$HHkHZ$kp zI71%wTvpEh6-1P|QpY-z3))EiQm!C=Hphf{IRLXrPDK)cnVt#Ryrb9=vdml+B0^@Z z-U8q$0H_rG8l638t5Pi#TGwO-CUl@38Db5nhU8%8#4}@NkP8KAA!)QXbBB88-Q-3W zfj9;BE(Hy1eF0RnHKO)S3Xe?U7AnF(kSruZITV+u9!!48yE4*gt65lU9LqED5M`(; z%M?zYxsXRq((ENS(#sy z-FtUQ@8k)&@x?EZBY*ZMa_HH2$Y-@N2OU7N|((b+$1N7CDuDf^b()))Ec zK*v(~#6U)8d&UBmSMq-LhM4tKVG*-rXvrVTjiubv2HW!A}4P}}DYlX%Pp1RkJi8MBZW7Ji8Uvt^0W!Dzs z5wv3>XEQjs*;&t2Bo3Xd8vtgZLa9e8mSUbi0maR9-)0QK;gdSZX6a{q@@=&;&U^{9_OSc57e<9<8;1o(tBqjUiopg`aZUZdzETO5B#On>}O^Ps|6 zm9XD+aMuLTM?co<=C;&ZYPs1KKbsjZpZntm<#WeogM;0#|JDFL_7cPK4gM&TxZ(xd zDU>G^>_R}+Va{~o^%W*e%A)l@Z30D6qSujAgOSX8WwY_q1KE%(7Tfz4m9+>j3uPgz z7X}LC@_c*!P8_m?yu@w?u0J5Klc{OswXQ!smv=``VdF1MN_AX~8><0$)j*Coswwqg zaamh+=DG@!0YK2*J^nyDk%JH?O1Q4{gS!I>Q~_HL_ogHmB8vesar}Psr`KKW7L|pz z-E-K$q3({1)VD3W<*eTjA3#&$qy6gf47ZT|x@{^kuomap2K6h zAuUfO27+U)-?z=i#MsoxuO3o`M2H^)!`{jJ{g#Y42O`V+mgU0f$p!kocipRF@{xZy zvH|=>o?L#2i9UDw$Z6Sk?U=PIPJyu!FrkCEVz>C&^G!W?z8OoWDT_1iXnUwKh{dFH zUL^v%m-jj5E0+t;cRhY{e!^i_kgsJxTydsg|5|`q#%xytkRpu~dA!XD=IzC^&%YX7 zh&1klaWW1XjqO~fV><`M#dbWm#XF&3Ux}Rf`2Diy)@vr_LyyPn#ozgjWjMCyR`90r zxh}T%c{R4r7J*kML3Z`>e%cFF+bgc`}VzE0G8 zi|!r3{U#Uaaf@?9v|Vm2C?U9GQ#P zrsSAD*Oa3e(7FG*{WW0s(JJA0f5&$V|J;244}QPA`M1L%S{MVH;}L5d1wVVB095rc zzqVE#2iu?D@$5Tl>&N6nv<>z7$IIb$QIF?QzjrtH%dgkx#GDd)nDI>i(eR|<0~`M9 zG+C(|!)r4dPnUoME!K+-GRvC&;70PbI;uU(Jvn=!We}--eDOXEh9jBlMF+%RyhVM? zm+ZNBZVjaLm@nwVD8Q#b`LS(Di(CbQTIh-*sF3F}n%E5RzPKRYoyX2j|e2YkwtpCa%6QXZ^-G_ULD#UvD|fx`F1h;9wdra*$|W>6bhd>$cyGk81ZHT$o&ow#1JW z03GHKbW$#t`B$&`nQei%n)#T>TJ#b<*7<+QE5D-|d|U5voYMkssjj9)v=#ele#lV6 z&Br9Sc0d$fY1ckL@8GEYBs>G;^02Fcu{SQ4yLlb-Sz~M1;NnVQXfJEF5{Us@XE-wq z5qjPTkD{O%6nmPV+s&=Kc-pfpMbEyskg6)Y#(4-a@k6|tv&v-JokDK))q!S2?q|Y8 zw|mJpS7di}edyT^Q6w_ja6sc_@Ki`Y+Ki5^XFkEG)9a1LMq>TMeS74lYbMW%_x8t^ zDaH}TX~uKGnL#GILbRNTH^*a-V{0HT_r3XV2PO95#FacF*n;%qdH>(aw}2EQD)dPk1^saqq?cm2+Pl&|^btzYy(@SppwErPh-_a=df zOZ!NaC(VLq*z-f(X~x}xf;2rvZuO%9Yg}(zt+x_PMDBXuo3_j-Rws9fAD;j6|0?{$ z-2aJp$e;bjHz_bF=eF{SHFP0)Qb`XT+YVr^QeeFUxPkr@dVHM{bQb>u?7$vCN@^e< zlzqFVoK1Z){;JX~pcYkl7G<(Rm1&efpu@rvWo^b)v}Fs)s!EECUsxvqu%Oh=2PW93 z3=^XTppDbg^ory51g{bF70sUm%+MdqrGs)Ippv4HjIpf9jhqBpl1v?p@c~96l!7@% zrH#`ZNRM<|(i}x*>QkgM%0)PWFBz{(W1rIE zmC^|cvw3Npp9ySfjPGb<6Gx~kz(7gAE9sDLlBjTpo8EhsbaDW2rEp^+%?Yjq69Hw0G$CSN^(h8jroK)>@y0Pqh3IXbwxV4&VdOTOLJ`&zHR89 zfH;tw4A4s^35YE&gYNdF7~~?z1v*7ZN2-K6FC_=y1^A6JfPKkeV#$>KDw(skRfT;j zn_~6~=`b8rh2-nxO|+b_jsTp>dWn`Duwl1?i3)&IrJ$rPfSV5Mmt3+G<#>_|oj1_R z6d4T823({Sbe%QmNZ!enohJnVhJrmH9co|YHkEv?s|;2s-J6cuU5Vw#Br5X? zGELu2Dj^TbntLuWt@%IhHJ>-?fQC+~;?G|_+X1-3cn#pnjxCJ&OUJ&-fU?BR+@kR@3;`-4Z(&FR)Kb@h+A(11 z#A{{bk#?_vD*$})7{FB8IYYU0YGOP!b|%d+cAA*$br>ia05aB$sX91m*?^hZR7j^% z&^6-%{?L13t~Ab1ovytMTA;F&0#-j8a23poyMm>NTS0cLHp#a!c#<^ruFx|b^bDk> z055c9pR6!$c=o5(25w$j5fbsjhQWqO1{^ z_iRa|?V=d$T6Eqf~EsIOTAkMy0w7ZgBr`y`%U@j?%EXrHxtszZT?RE8 zV>Q!ag?KHTtwSjeB8Y5h-_?E_))4p)z&vI^<+8-DCrlZFyXIOaZEIoD)0zr>mp=6u zADPro^JuQD-*9HWbfW@>iYGry2AzOGxazA_F78-NXAl27FOGX>%>QgC-P^_(m(OZV&9@=q24Ra^UMk4jdFc z2x6QBY{$3{u>XYzM1Ji-kv-=`?z>;)mpdXayIo`<72(pboP{(OX`-JCxx#6Y+wT+^ zyxahKb3yuVX0sq7Uot0hEEj6m~hy%EikW`;`;-d_!Nl z9xz3+XFk{RX;Z>Po~zDu{dz=Ue(L4wTu3sGs>8wOtQ!*85L`+#7*;aJCUb^iV_zRa zxA+6-wV4`EZ-+MsHk0E9o`=iIwHeT>nP%HNj9oByT~4Fx#2E?9cN1B2wCD_fkA@Qp zPM9lA$!UFL`D(lAm%MtuAE`R?n|HZ|cc!6>whTNo!!QpuSk*3`uz?&ll_rR5v$&?Y z1L8P-&+(d>Wtu*f@;)nfR?loC&7+ zp&SMnjNh6XH%7PDl^V>oNgHt>h0?bJ#yox9h}XN!U>o9MPT0(BTDA}YOb8h2o%-Qs zFpMjN=u6{|#;tivw2oC_+z%aMzfsuAOJ~3 zK~!Q61~3ncUE1+Ivw8M3bkl4e>jQ@JdWc&Oe|0k@;`QafuDq~% zW>wqKqus6SSc$9!)+D#**Og`4zzhHzV~_>U6Uxt(2mn6*Y1u;=i3=G5#Hma}K|bSj zc?PHeIFt4O6c@{#GJ3I2ElO4JZ^p$9Q2r6t%ioND*1Ie0#QiV^Jj@E~AQSw1cn>=P z5{u-)<8yW`XWw$L1`0ANmu#{z;fJ!h;uLL<(pGP7tbm2+J3E`VCHdoH5{9rSi|L2$ z&`*f_>`?>cY5xH*bn>G5IStE}CZ8w(%Y~SBKp_idF!B)_SgcfT*>{9=>0hvrXI<5z*Y(NIom8+UmVmjqQJeA}y7iFy z^Z5lOH_~3eF#eE!^ixMwX-hw-1TCKl+2-cl1L0sHDsDc?m4!{mu`B71 zPFg$9^)p#DQa{Z@{Aa{XY7K)tHVyRy;HGI}u!p-jgNnardkx5418d!ZvbE3##DJ~k z{frT!K*MG|Xf)B->d`K>)Htc`n&=9vp8#~WlmvPNDsD&`@^G4C%PKVaPr z28O1kpb0Y((FUKB7Qyd$?3fI^ushPi3n2$Bpgm-*P5Cv|lg7y;J9ABCs7ZI;T=61r z0N!!S^`mbi%w)D3j*pF3+MucU%i6TV%|f+Fw4QxU;nvT6!E@#P?|Hw!KI*@({e{;G z|2}p1r{vjpK6^ucy1kBAKO7Gd%wf$nrT2G_;ErcKwt-weZ!%vsO}r0rH}Ct+vDoW{ zKIdyD53`luG1H)}X<*>+xzEEhuf%h2{Oo@6fgNo7`@|&*Zn=ZsHinrUMDtHU{;38Y zRt-G&d3Qdn@L%kKzwGAriyFM#%L^U3u)1-qb9Zi}!}PpLPXyE*`v184g2)SNgvg}DnpKii+bWeH|j?f62^Yq zE&gS_+uY9rczfody>i!yv#KPd`=#^K&wfdZ^WJ9J;&i-@hB3q5l&m=@%)|fX{l~_2 z9V~slr{xUsw5{_zj;B5QY4X~if33Xyn_uo$Gk#Q>`X+hV zD_$mNjzuh5Gs5gWyjRzvt>@Bh;l^TMd*@2zdw=97+k9@YYaV-V@UTORAOFv9kd=$) z<*UB_C0mN&1-GL(veC>(V3!HkFb-okjK<;#KP@lx*SUykvg;EEXLiv!19OKP=8!hS zg^F&@HkqD-1D6oGiH{YpIWYcc9kXD@;Osqtjg96#dG=!6+Z{CJeZu2kht)t|!pIQI zMf~gm!f)*4&n_4G9{%{V`)Ncoer{E1kQboV~L(3$LO)H z!^mfC=VgxF;x=~sP5{mC*|SHj_8&PS7k5V&gz2sI?ptL3>Z@ho^fhDaiKpuiuFB_* zZ%xq)5Lla05ZA7;T*ZE3Hm>c0xXxW%kv&UR);LaoRuETs8I8tsp}YI<-29RZ1Mt-C zZa#3pA9wuQTyw<{joKPD_OQd}*S+DF8GGdSG5EOiMupbrI$VpHD;*0$?(^7eg=GAP7SajNjC@mgZ!@2SuHCh5;_t?x%!yeyB` zKlw%S-9K&nOl9i&`!{L3cNA2D@+K@0i4-~N(57sM!n0|@qAxg7a74j2Ng0e#(X15E zrNA&{-!ia-%7ZHF85;_UdwN8xBq)_6{Y0wVST+I&h)6G2Mjf=#GYCK& zSV1b%Or+vl6X`JpcPc?2RdtsY{DB^zt^Hw?Dp?2gV6oz?u8<5EcMT30qbN&LPEX87N3~qm7NkIsptph3Z+W@|H4EnGBWy;{eYj zm0eO&j9I8gT(SxHt?Emf4kUpcOe*Q7T8YY9X2MSTm85*$pluZJl1Sdqq@y4lDmsyr zx=9L2aR;nKH30|$xQA1>BUuRx5+D>nPN@Q6sH-F$NvW(gu(^u#q$6btkO|OICDjm0 zBQ{8xWF0_9mR2>QUC8CS0hTm>uvx)cWlEo26x7kBhL|Kr&j5}3Qbw@J43N7_l0JYp zzyem!RVS6vsFY4>Y)@Tf{2+Y*M+TV709<7qZBqpjN=I@)6;&bN+$gi^3YGxZVXhfT z)u|LGfvhS}2|&XN2t9xt#Ba*n$bXTP3U}l3nq zOr{?KL>c7@aIA`f0Xl}rfx;OPb*V=917ww|LbAr60VV-7!gn-S*Af|KrF0o2XqhyV ziW}9zJEVyWM?;kbgoXM=W~68H8W@st*p;*k>k(iv`WJx2RFb*GfOR9}w$L%i*x@#Q zmu5(P<};tEV|$zaj1T%vw<9fN^R$&2d%7zly5Jw(H-M z+-W!uufGW+h{+?3TLKoe314MIXKDJB0y7Nsql`g11{y0D;Sooh78wJ0Ndu4(R0tq0 zR!1;gs_6xBhAi{XfoDeESaX}P~F`02r<1ty#+6jOtT_dnyL>~B0)6k04+%Q&A*LGGD>Xl&$ z5F2Y|Kwln)Us_%3&CUTC_3SC+4KJE6raWVkQD!d%PK7E^*@@yMjsV`%@=Y|ng;C(3 zrXS=2Ka>X`lCCMN{&W_gJ=ERW3_rR?rX5KKH@s-MkX@T+w6U~Jv7l`MZU-4QU&$=*UVbWxrCbY>o>u{c6K~02phprE` zZmh1Yh!#R+o4QaepcT$?qLUGLWNTyZRoc%?zEKg?G_~3+6oQ648Y>%eqp8W<+>Bc} ztteCfe&~1qaH`vm9IkTU&|bOmInR)XE>yDem+wT2NMz4*B>9GG^lbdR1U(agtjn1k z28_%_05pb8l_LB5BDc*MSo^_skq6dwo}D|?ldF1(l0BuUkaEd^4R@O50oZFU50gsf zg6__0Z%)n~yjt0RR~D9J*ToBR_4B`4`{>a>`6CT?@$;YCQIW6gKfC|zt_UQ@3SKE z43U>URpd*TrGE!!J(a8mt8W`)Hvz^8s4Y=#6IR)Voi63D`9 z*u>vh5CLvHuMp8?nTd%uc_nYs#^EXsg)^G2#t4`JT zefQpX-+MiXKHcwrRcF{|9&7*4UoNuH1@Mr{%xo%yelEEK#~#Z>u8c$(!H%{qFGsr~ zuQ?%dybyWs10v^EMSkl!A}_cS#&J)8iGB9(cnKu)6V5Ai0v74K;Q#h zPE-@Tt;T1Y^?Der)!&22QV9E7Oc_ZAxXtZ{46{O>EY>H$T)Q!I z>4%Oak&VqrA+k!YKHVrLrH$=O7G|wL8&T~06_6HSt*6p#^>dlq1)+Imqc4Xd;L5e8 zb!DzAt6S6S<67lS@;?n2bv*zt+R4V&NtUhs7<5Brx&%&nQ>iGarSeU6b z3BW+#{T<&ee9ZgZKmJ{1IFJ2vyRsVx{>H$*7eHccD@Xa5Ty6vAA0Qt$<&C_$W^E|lcpmZ04W2R3G2|OXo|t*X!CUmh*q}JF zb@s9hf&yMMocd+0ykKw^4;!|L`s!usZv3K{?BFThr zP`vSUc-uoD>5jVI45vUf8M;=<3FkDaNNGr%j_)#-arm$x^2 zJHyV6+xa_jqgX|sr9HbM5`Z#g{@EVN;bvaRrx$IM#1a$dJ5M8X?>+bGe6X>xA-6yOb^+);$uP$@>wD7pH7V>f$aC9 z0}8V~bER+3vyTz+xa@Ab{W4cNm`nF1Sy2Mh38w(_NPq*pUE$l;L|SKs2&}Lhmp9_! zgD=F9gl8XbR0;Ijx%By{`mA}j1inB@zyV#?n;kwxk1{S^uz7}MQ4I%uy%9v=-}s$x z);9-p@xu3Dy?xaW1tb5vJ))1thgH{W0L1m}-}&9U1-WrfUw2zV~J&&ga{y^5e9GLiM>aK9}?GoN>DGOFH5`K)F8-H_5tRew(0aUq`50*iZQS z9y_1!T?YGD*6m~alpuRjdR2B%OmI2PU(#HjbA|Gl6o<+REsr&bpJO)V@y=PuD_`(Z z`J+#KR9ALfVo^Q7avUpb5UpEQj8|BPTQIb zQD)_x+WO3$oKemFE6aS;F5=5jJd9rk#`{11@qa8|@tUvL7c*Cr!TxIkBNlSFO!4c?QHa%}|bUdFwj29B|49Z3(aYufA!T zn9{xqQCgJ`hhWC0{T3qUSHt<}ZUM@W_VA^z{pyCz^w%bc>l&h&F7z4h;-5FBl|{{c zny0c1@KAM}czjbYweYoAdRJiLD#wCGyegzom-Up1yzu4U zyk}gMoVqam9zmW_5DijL7%pFe-H(6Y5&7v~dHS94I8)a<{zsUFf|fQ}1Ym=b>;NTq zw2rX@os%hx1=^i0W$-Y-L)m!fI4JMsd|Nk=k&dydkPg5C1V|y-j)6+_s{Rhjz_8+E z0>G!>0|9^#)e|nH)yia$rP7v;GB*|JNC~tQ$bzD8_$H*wc-W>m?{VN>P>x2FCZGC1 zFu0XgF2g*L)&RhmDQlxtp2G|UV2Ru0yT-bu%HYbvGm;b~$4sF{rhtfoBWlZeA{m*5 zaR~5_B0mhvGRj*9K!SCPGy$vu9Hq=30DU@=%SbwU$6!aK)mO#WBp*pW5#`GFrT};w6#`2U3?rD%5Z0qiicTS|UP~{gOqEf_ zzEPoXh9dqDAQ5OC>K=LAhCf7w8|6xEDAqneJaE*O157IPJBzjf)zn9(wWU03ORE@| zo;Jj5J!4nNvP6}KsS`kMbY;F_WqkhwWR$`3hJ0gwqMalo+EH7I_DB`E6+lM&0DMFt z=*8{1f(#4kN@p~ZQJ1>onDC7*_sDL5rf6$Vg zelf_Ekt^>S=ug2<-Hw6|^DWaafoTj-9LSPl*paj~)Up8k2IwqFM_Q)Bx1ORcS$8OH zSO&7T0A;g6r>KGSrIK_}u;xPgO!96^THBelW(&zOSZ83k8faq%Ow#5;RP<HtxpoNge>gfbe9B5zd$Z#j`X9Z8D6 zs6A5GG?s+Q2k;059wG9PV$&FMR0V_fq(DxJR6izb`_0e+Vo%ML|1DU{&`${f$u4Xp z+{|oah7IhwvWsQZE9F5y;5%ub@R{Tp;{f{021?Mxh{*Bd$EC^0rROp_K)SE$cg&3r z(eN9(f0(&R3nsE13u1j=eJK#Z!&t~0{dX)6`;6eA;aogzSTRXVM?U6i`B6FnILx@n z0Lq-BQy*mmh&GJR6b*nJ+LeB54$MC~r}%yZJ}TtlSp(=Z?VP@=cZ3HWbl0^(PsLig zE*$h(mo3zl_JfcMz)kv?N?Z}%F|p@?K{SrsM9_GYnYpKMx=}=Ge)Zbx>4pWSOX0l zYcR}!&>}Cy9l*oHn*qpUuC$`E64r%5YG667y8uQ4G#8q_wjZs|z)TIm6A+1B7R+kV zz-9&Pe}KM2{>X#QQ`nGqlBUd>%oqX8r@on+LVfFG%Rm-DU_lMit43L@ik6la{a53l ze5ea#u-2hGC|}Jeb;SAy06BRgf21dXlL$g<<5%m`rZR08T0+QWA%m~F@fM{iS0QzG z%1w{yOmpiU@b#1(yw4SdKkdlFvM!xV@{{cDH|MEAF(D>aWSKu zcO%M^q9Gxgn39bR21i{8Fw`STJDaiAk!39x_V#3i?C3vhK-9ZcAMgAN`PYjA48U31 zg|K+D_7^;pS^8I5|FjuxKtY(u_V)N?(WT>)`S7BbN%CJlD#cg7K_22e&l-D>*NMnq ziELjI8JtqqNi7ptorZ-x=UAf4op0zQ^3k-Ahsh^^YSy`b-50r~Bi-lCNOrs{oyC?M zN=4SVdm#)P*`Sc#Oe(X1*=a`Wv5>`<@@Q)AH-@&B8*y;}`evtYmF282$<;ME`N~%* z+u`A_`dYdCq5EaDc2#zs@hn}(L#=bp>Wu7Rpm^bbFLGf`r2hdCxm#qF)22^b9mQ>> z^K~L}TIB9SBCEN`kyPYjIJ@~+kV}Vn;|oN-c1{_z=KKGh?sYb|4WOruU+bxm+uMn3 z+}4qc!$OA309p!>&kRJk2m*sYMd883&P5Q3$g!6FBk6df(g_P=8+I(!bemg<9Ay#= zeTDUu>-^GpRIe<=q3Rup$O7x9za=6Mi@g3zMYc1Mht@^DWM1TWN95d4Wc4xG>D_8$ z!lOfrSNmZi@;IzvsmM~GQ(T4~PDH-;K9P67&4|t(58Xd5*T2Ef=|a%^^KmdLi}uT5 z)(UOG?Zazp1)bW4Tj{3|se!dh2YpaRWw$B^TNCF%tYSXy z{xFl?6zz!l*_LcFSlt8zz-u=!*Kz>SUA@7qXRr!z`^8>{#ZlAjfCdg`1{Cl<&31nv zvprX&tq0oew(^xLtFn4%`Ym*INt53IRk$+pWFHK7mM{NRe^pke1>3hh3fIo|69;mZ zD?k}2h3^T3B27Ut-{q7{SRw}I!6Br*`SG3)(9QsJ;h_tqKbKX@KWl`Ios!`TFiZT= z-r0;`guy5nF1lGWj=QGtKA~J)7IGXIGfnZr)4H$U32}M2um6g#m*2ksw`;5kY;-s} ziwy?}2N5$qf2&ByMApS3FH1$0v}Hn|L;)0hplRmk=q>Ztv+}yg?bb3G~5T^Wyar0)#ECzG*uP2Y7M#*pJ8K z1?NkAMg zV;H+)Fjp+Ad@e*zJm-Y0U05rD3bc_)poKCF59FWoj$P)gaxUZidS_h^na+Riyc~bd z@iM&2TKd=7Nf`KZ$s>F>zW_O`6e#Oe{;3bL->^=7(! z+^`$(7^n4sNDq|i4avuH+3c%A=&2*~a&~JdX}HOmIJ^~1@0B%zXxb$6r zpv~xEYiS(@6vjgi_nP9G@A`o#tto?!f+A(Y4Uob3?cMe{%5A6r9!he#eA#Z-A4P|^ zUA{U}j}ahfH|FQ*F+3ez%E4TRwc)zu-!E3_9tmrOMjbFGIl%AO?MLOpnWvv3_QJw~ z0+4_4-~Xcg_&@vcvhck>G+Cu|u8r!Q0F%I`rJ!fX19M_6uX^rY)jR#ol{n%oF_t$$ zT#O6#z8iWjpYUg-zbR#y$@G%sI+@ z2{b*hm@mkHN0t`k(pper{({WmvzdB2l)yjxr$2PVlhFwuMuriy$U!0j%!P44*Fj|L zCyax+{_D5={hD{cTn8~IN&M@d{iPcQ;_@}zuoG5Z9no8>%d|zqzp`-s?@w)c`5Obrs1IK|#QvIcNrRp#4($RX zp4qRGZa`ds6FzZeUD?S#vASMMm#Ag*26xS}#e#`@0Q3TF$w z39R;U0z~BU+EtmEt$@}I=i2MFfVlckfkMKBZGJ8NPx?!v&TeS@(cFw&UM)HYCYi#m zDv^4`kpj5;cQKw+fA=8Q^1Ck(*9YGzzxH$At71Ja9WVSv#~Cu@DY8dZ@Sih(bxC?lzo$U$3JaL7CHb5 z-EEX)SwN^V^T^hLEJMf=!)=kOvMrfQ*Se~EKZ3RrBf8gjn%3c0xU{p1n>;@sU8VxOOhFoO7qk;U|P~a zzcG*@&L zHk97m89=yHS%Zd|@}o&s6yTM#?9(A^RYPf0#%+i!Owph7%Cwy*_$Hr0ft!d8=+sTx z0{_=2Z%Z=FC2wV-pV{D+xF^**(q4wrDS7Il=su7%X=$Cp+GKs+0ET(d zmSm@pgl~!SsB1? zr9@go;)AXV_A`Jzi45D|zi4~m+b>b10sKb8W|*MgAcJLyjw!6yQK|*dFbs@A)@cCs zXyGE+?3=k?sc9uy2xQyoADg-7?EqD6#kjvl`=>YZu#D&s(K9nJhV8~2I z3KGeSj>>E$Ljy0+7nMbhG$txL+XBpF-}f_chpJ3JQUWekiR}R#Yv@K5(wiSC0SHS; zSpM25e`$V$;%~ntc{i6f6kI8nx1ys6TOJH}g^b!m)0wB}wvDkaZ`;^H@lhv?{RyDN zQ7U=Q%7E`^im}jW0vnt%3uPiRELOG1rM)A@O4c@3Es84JNhN7zLbn9PU%=khru`Jg zxV9~l_5fhC)eh#o1eqg9(OL#_M0baFwTEF2n)YqN-5%Sp`VNSRn#9nx#n`yq$!)8# z8kds~eAGSYugkAl?(%Z2{t>lXn2Q&ue}CI8Tr-Iu`N&6VR_Il!ju-mnjNM`H!hA)y zqX_~CQE*ZKgy`5z_ebYoWPmOJd7w`Ka`+AjD`kwLaWM!0ctD50F;2s1SZ+Twkg{6B zXsDpnureS|>R*Q`8m&!tx=v8$c!VqRK@+Kc6u^|u$+RcNJ)6(?t48fuuK^^oy!u*5 z0n)TD!Us!L&t%_2aQckns8Et-D8x+xipHj5YaOJA6DWqG0QN#;+0sH2B~9Auk>z$U zmjPl*NfDEJ0MV(;T)~?<7AjB;)-KDB&f5-F@&eXkH%3R|Vos+l49Mj8CBUOFG+7a8 zr2{5qj=^5j6@W#Ag&~bqf{wx7XUV80H2_fQ|5i5!p!2;X4Tw6oHG+Y9Lf*Bp@Fx=( z-)v37^2I>b$`l8qo3=%o6XjxcqDvvmnT^$y8Kq4%vCr156?RFL)-P)gO4b%l3INl( zEwp@@w`|%$KxnL?g39$Q?Z=v!wgoFauf$N6%^zzvYU`;YA4G;M))LG&I>ynU5vO&? ze5y^*ky0u{L6K40p`YqmXGn&&L!Yk6AA7`7*B&rgSnDfTFeFy9YxB1!0q5eBE6l?|(q#(&waDeZB}6A8?+dDD^@wp1;3kELxZ8II{qTGLhRl_B@wL2lmRt zExE4?0f5N4?OfJ(m{YlAERo?Lm&MtZ97{wF^PY(6cCBZHYzzRMv!<}|gt3(iS=L%z zSw415)>aNHQ|;n~C*;rzUo00s{6U$!{Z1{&t!E@l*WcE8;@A(qOom&9T>Zp`$m+|a z;E46}7e$`i6S?E4$lx1A{`9IbSIMTxmY+SbS%Sgyc9Ek!(ZbotZP7+(FRaaxbtx0!LIU6GF)N_gzixXMtx(?SOUPji zd;SrThaMGK>4@C_|A?$#5c#ukx~5}nA@UtREOMC!M1L$qPK9UQxs-r({{F96$7_7o zc?x>tQyyiqVBa-JNSMLHYDA>>(pNXq7Y13Xc4f+ib2{ngvc>tOdauH`u)@Egx<&cR z8hKp*v2;cUdfUcS72Xsb_P*7ZkTT@Wdl;2~sm2I@^P;?N$*%La8{-y?Tzi=(LwSfa z?k6pKrS)dJ1Lm4$U~B0zXihL&JDJQeFy92TJuGCllZXSlc8j9P&c*vAcDKp7*iCZX zZF!+BS2ye5snYdC=U9^`SlCy0+W&gaC96S z2@1u#8I-kIEb7heu}22B=HMnGrLukGri*?+(_4N07vE@Gilow_FwOFCrmxa}^w3lm zB`kSeJZ5Yx0JZ#9`Y2fKF$QnN4zR-j3iCX~X^j2x%uTwksDl5dLIF44dR;Wb#&XGz z14Hl!P@**KKm3-h($XGa8`8Rs?BD&qcaJe#;fyi}lj#`yRb#;c3l`?cZAWy$qJSO_ zl0$tFUKL8zB8r&DLS*rX)xr8DQ{ZR<1yDelKNLRJQ~!yS>_A#pY=+WAmX3u*KxiYL zZUAQ8B0xx%xx^Uq=It-=bUt z^M&Gw<8ZbtK#vzcb54#v_k{V1WQAa3%pPtZ|2hziGH{?u*_NXIM0;Gh^QZuRpnVNj z0ee}bzy7ZOTbAz%=|Ff0$Jh}o(sx(dANZ3*DDyJ9 zB$2C6tWLZo8-EL8ZTs@0mv!uQ1uMqW5Tyd-0F?|j4Uj|`9lP_W#!s{9k-tlYZw*@6~@`*5e*Uvj%YDudT8Uv!ItZ|Ms$ zn;G(HZ>xdfY31~a=8wSmbKt8hB{61Qe&lk+s-=e3ieE}qpv&Lm5=#xy2r;H`#^v)b3AS<2tCXh zgfAH|Vqv>Hdpyl`j30`5P~J%|ps(2Yn#=82gW8v_U~_Y}_#WM!zui_#22X*)+@1-0 z8hDtWO+{}rdm5zW*(BWD5~$8=t9T}@t18$1KmGQ9dY37WHG*U)t3+c{!+Bq?tZlc0 zQtP&bd-|52GNi?|PD$ zxH!uQ=eY0q`FF^7zxm0FcaLIt%AI|m5$}UZ)TH&dCw6r4+P(o<@otQ?u&&_@!p|X^W#eacUZ$Mi_;bA9YM#-OrDgY2EQNp)T8pc=hiQSiQRerk`pK7qvy_*)?9kP zdU-eV;uDADfpf+T?`5gyC5`R0pCzlTMt$xke=oONo`1{qv#=;|^K341Dj&lZw|w90 z;adFvSJy%x>)A?YIPY?fnsbhfQWwm z{eR@IyZ+AiI&y5KI&YpfSLJ;>V@FswtG>rKt3#z-I?>naH3-9nw}Raz^o?ycwVN(#LcR ziSrZrpZ2J8bF+Wu#x_w~8|inJcyuv||NI}_r4K*-tMxOYY4JVT_TT@%j^rIbW*}V@ z%2B{&=u;pEgj{~@KJ5d&WFz5G1>u$gBLedW?)_ZSo{^cfinipPks*`#EQsPD7m=VE zgCglnE}4QiY+X>G(5=emfUI(9?QlqzDWC`>i83k;VfqgreA%Q+$75!Ls~5@{(N zkDUv`jHHUwT-crgOiH8;7)&ohfN3g`6adGJ&Ce*8qNV{Cn1FXpM#{hia}=yistXLb zV`OYjGz(LTM`6+!$pEG3oUQub0Ss2aoJ3h<3R(dK2L^``o)hXUDP+W@3;{p{a|KHS z#-0CRKNQc?NIgsyM$XtJ79C4c8#s3 z3u9R>8GW*7sgiG})sdtaC=h|NfEh~D3|kio4F8HD?V&9#8A?Jcfb9h^U5hdsNV{v_ ziVaAJ4(U+Yv_^fB2xzKMW&Tl8C~$~lhGIZDz=~yHfKj_6EiTaoFwstg%NX;SmNIWC zqJy@;g_QYF+T=?Sg0PFgs70BzCF2q@(gNf|mzGNPW&jY9NcnX6);dzw71n+UAcL+* zx|2&jA`s;^(*BpXVYO)+n2>cI;oHWJk};oMj8?Buy5_O z6g1F*eU2$BbkC%nDRUUn0Qyi}-Jt;?^LDPFKtNpDcT@TpNj1%S)d!{+bif!%2bM1S za*I3x6r>Mn2h?_xFbu-br{DvtJH{2-hlxl9fIr{Zl;&zKQRX#3RjpB53czU{z$>sK zQHCRB6f4?^5EW-@v=h}FXPjY6L3%@8wcZ&!z)`}C29q0?btai)bY{j6#w+?%%KjPf z55#GOBmf@{x>pnb=?FVZUvWc2J zjhRRNJ0Z+iBKB#qTUw`yI7k>|T}!xT`Qz2)^@Va}jpAZ&piM0Uujs_g*chNuSxftwvKT4bkpYuzOakzuC8~22 zX;p9v$p$=xEIK-oGTA8LiN0&@IHdG3O(SPI!HITjVoPur!IjmIzQhDT_UZc?I>e!Y zn7U&kirh{greW zxQK49;5pLA_^2J++JG^!1%WD);2P0J<8?naU;ySQ>D+RcGoz37tj*YZw(t++>;T z>$E_n;sCJM&foQ~){&j#*%>0<*juBEL)>9yO>@?DHSf;-6)Mv*5-KaQ3y+#*^8nH8nonhT?uxC;k0jFh^jSIn(vvb+JS^J_i?aIQRgs6jQbay!tXy;7A#(S; z$i1^#i1!|8$xNEa6C=Z1JqB zzS<=WN;S{Am5m7FXPU?v7`hlFV4|g?;+MDpVIliMW{rUIAq@R*GdE@|{4Frh=)_@d zh@~y^Fize=+e7XK4ktw38xbw7uiE-81ex90lAX1Yz@{jl`W2B+S7U;X$Bc^?9}m9& zX8a_J<0KcB^F-t&ud+wRNbRxK-LdTFh4dEUYpAfbj+t$Zq^~Tw7QFtKOH@J!t~-P` z8*3*zagjtnKF@5(VWOU7SXZpDFiI4wILXU_?bz%@=eiT+Y;5PU0IGEtqYCd66g1-? zAhn^peyR-ss=e68CMiW+Yr0Pynv-)^?56c=4eS2f)%O{%wMnoT!gavt|nBc zfADAXg_8ZD(}#2*Wl_ovNHqn3rod>>Ri~(lOj6{=51<81%tRB$WVPSx4~pZlao`uf z7e9YdH&i|m#QvJkfVq@;XlJO(=e12ZVT>aeh0?3o^V~fw`u|G0DD}zF0xH z1d~k)7?i5wv5mU$Hs+won&MTXe&Rg1KW$UN-$X@g8U_7nn5$BfD>NOt#l`_x`+SUv zo5qwZs4Vu%+8hzB=U|>t`_;Y`32^0W?Q2f$8@co7taoJ}30;AB0LD3kR-9kL(YE4# z7WaWh6#5E?>yDS+Q97+YzN*js0?fMeOYGJWKwa(zc+tZsU^E&p?tGc~cY!e@SaV!K zxjbe!abREECV2L6)D<^n&vs1-2LK%4G-N1<%OefHKKGzp7MCN=ls)Dsw~mByM<3Wk zjxvpha%6tc@?4pdol6^9-`eK6O+MUOO*?~?$!mS?#Ig)7T-CGBjlgtuYOW(s1O7m6Iz!W^P|9nprpkffSYj+V&Zl%DLj3w6DgZb^7Bly+a8Q$Hr!BuVr5Rw zt?s=~bf!L6oF8;L`oZ<>Z~r&KzegW_Ocoa=uQ#8n^7+nh`%d|WH++NK_T1ZQNr)L6 zs#e2onN8NXTCiu-OO1Iji`M0Q`=I7YfXZTNDqr)2fLS6#wW`*vulD_7Q@zUg}^OJ{8}lco7&R9EOz$4A2h8>6@A)1TGYQOv16!QEz+6u@h)dUg;qs+t zL0sMn?6(Qva#!EO`1`KEVNqP$Plo{Pcc#U$mrPaeQcX0`y@#_u={~i#5;sZg;mY&B zDZ+8DfqmG*_&`lQss&l?jBVl>Nu$HEuJb)OY2=KU^#bP_oICk`)X%#p7yOkb#NFHz zOxp96VWvC)=8751DXv%EdPM%@aXV*@_tIN|S$Joy0(QCBa?cmiMt#=KNhjv| z_?B1QCx-%vYs~LhrpA2KEeeriCr;Mwro17#F1~uJo|=9tVX>dsS8N|YS0NAn}4#L%3`l4JK7!d<-_2ZgIi2UpF2(c)iAYOnAc_+CU|Me zEWH$U={>_?|Qu#NVYVi6Xm!xNe*IQ0etrL0o0PDG!I{ zdvax`0vb;8w!E|`S2y;@XngkSRaw~w!`Y;G_G7o7O9=KOC-(E+-+J%9fn4u>-+zjO zUiUM%_Ft=6-|e>JSXi`1acfnq(+@GB1xKA38&|x;zrK6G#&1yTG+Vw+sv@Y!2Y=_^ z$ZOy5!wuip{`%JMg89b6?e*Qrm=hX(l6>tIa6+ua(Gii$}?+3o!G0yh1& z%I>XiGJS=&{fFK6{}YmN)2+V$e;LWUf97R!>Fmc?qKK zb_%zYt%E6ZF5&>F(;A_yj9B2VF3T#CkW1>O< zu}CukG>(FGcOb$UF`%uqmx~M)H6?9T(C$bJ#xJz}w{mIC5eXm_v{iHAqf;@P2*4L* zWZ`@NP^67F6v)8=k>^$#fKcG10OC;4BE2rmVQo{eRzR15s}v)ujF#lAkfh(1WF~;Z zD9jGvmXTzmRN5%fcSHtTu$G~zoyw>fNe7xR7`*u2$Hki{YNF^4SZKgSoa6(=&Hz$M zTgsvd5TNLcq=o7a_1i9t#f;#9uV9Jdvq!(BOjEEa@t%{}A?#9_wA&pSa^a_RC2b9q zHAR`4T0;d+D5I5whcaUr(T0UwrC(|*_+kXeuA4~;hz4fl}yPSfF5tJ zut;ST6aGypK2O+l0qOu~N1cG+uzsF$cG43C3}t{QVE9VO0d1)x!`4XJFs;Di(}$sn zCOwkYLL%8_E-jeZ02~A$HXt;BQUqx$up-s*glebX47PFs`;>HHWyvJ#qxhdns{`|B%$EE(uOD*0EgMU~Sg+5q%KASg3}s>E2` zkVAjgCWF70WH5~Zi7HZM#>+XR0mRe>ln5Y^{8+zI06}{sf*v^zFt5Sf$5|uohHrfU zz-VIw7_MN$OJtbRo@mRqKEhrVew8_baRLBNDoJl7FdYq&OnO}y*@8|!piIJ&buLKK z_e4?(I&aCS2dEKn6+kST&uCUU&GNw4Z)ZjT03ZNKL_t(Af_&OaC-h5zh_oN_n~apC zjsdvMSOCk6A~8&+v~y)^BLMiXf_}1xPG>xrbB4ftvbSO3>xvMO?_DP4=KLLn(zA>G z#ao5ie_F3E456Yg1frWRb17C|N%aMXw4B!N?3eYD^e(J|R(d&dv zYau@Yj6>NuK!>q}ymB!v=?Z6Sl(zzU6XX(J3&%j(%7kc}HFL520yrp!iO%_21e#5S z%UR(m2rqyxkq3B)JcYW{MJV<`M>fQ&QS+?c_@m_wtETy|^;)W6y##OyV?Fhce6TDq z{3)}Ujt(|(YFhz#4*1K~J=(T3ucq5go$1=o>z4AN9LX-_%h*D@3ivpH!Zaqt>6!qb zH2%n=vW6*aG}JwXV={CC!;^lRA&r(qD?{cWt4v*{;HU|J z0_K8lp@Y~o9TxsZ>6>^q#(ozMiJZPmsLg+ctPZj*V}puQ2HVtTndrLbwMIKGpX!!6Ioy_Yt0MlRs-#PVBJ`~ zjkR`Ozbq{r<`!X>V-G9e?k8W&7&7tbX_p$3g- zZOEs-^E`)THW0hnV|$l)^m{$0=A)U8K-ETjB(ge zVY*>s8?$H@+EyNE5S2`x}qF^v?VP`K?7-;ZlTjW?<)+FSvGAKwnQY34hXV>sq5A=6t0J0y-xo&)%TN0{Bp{t)bH zbr1`j_8iJ2c3!;gsBE9LK3X0|u)dAvAqT(2;dXm2+dGSIZcB$57eI!7XevskCi)fq zj&kw5IG~I6(FCdD)+`rKvjXTYhZ}S~pESR)Q1>?Mb>Q}%k7IWo6Tn;!@Zxqey?Kkx za&90;##-7>$;1-^uU%Xd*r?oGJ!cFo)GOepm6LWu0m?{M&R!|=aP)QR0#n{2ALlku%hl=UpB7l}FqD%kX;XhqHZI!# z!ykRP1Z+82O9P9@Lx28|-1RcMv61v)YW*vCTt2xhSI-s4MUUAr}75;teZ zw`cntfPz;%PsDQ@ht~=glJE) zk8NpKhs>|cm*ZhP29Z|kj9Z3Ut(LZjjWZXd%OPbLm$RJGqlj%`44$xF z@_rF{^?5k5(nspS`@R4Ad=mQwnBa__K7Dw;Vt+h0$3yIV?2G*}?t1@pWyg50(do5i zXWjb4B+yo-JN{VW1d#L;5SfB9JR^~amMYHH3$S^!J{3#a7?bcB_ZO{ql~>8g0;sTI z9mP8R(d(q{qbLUQy)D5xu%qQx)2=tc9uw0f;e5;?R`U1V^6)s$~0U2Nju zr)KzP+Iw7XaoT+f=K~66xAI#EA42fQ#Sf>B9g*%~yUG1c-~J|f`_H^R7X6exFDxv` zl_##q(oth9WSp3!yjvc+hLnEzk3TH0dS$qc=P675!6T0QGHauFeH71A9s~1_esB%l zof*0dYhz^CCpd^dvfllXk2`v0Z3Vn)g2NDi?AQS8^0gB7jIZqZ+k4g@9xm%BgQVqft|Z}+0|(tmV;-F{NV@hm)E@ZE1oTh z1D1dTx(*V2X|646Tf4XOgUAKUh3OCLV;gqY3+4jQb#%#r{o|?QMr4l5noGkgjd6B7 z_&ivX)0h%ky@StBo;Tl{ zlO{bsZN%YeWt}l;ec|r>vX`!D+YyeK^5hJ>=!I8 z$S1Chw>Q=ztZn=Z7{*`Ds?-p->Ty)(JJ_>koCM|~%?@I~ANybo`$o=#zVzf_`S6+Z zDiixZd}#azRQ8iI^A&Ru{^GcJj@ND)0qO;;kKBZG`zyb+%dfuUgk0U&mcNJ?kZ`+Y zr7OcxF8zmg2O7lkeBb)1jlC~@AY3y~v8-!(K7G&Wns>^)31n+tqDI~N1ylWSuFxNh z%H`yp&v{-==F}H$i(zxDo}$J%HPH1t0OFctJa+$`l&MLO5r#SCbOwp4D4iajDB0p0e-MfkK(^eA3lG1QSLcevBA{>T*J%h&i$qDYXNbUfp&QS#MLxcP#TL2Ag=wIPd)gc z%pJ9hy!IRBTKwI8c*?iLYZ3A^@p}*e*Yzfye&y|)w#}N``>SbUj>mv5sVz3D9_7At z^`Xkmp-UEt{Kh+f^tymtAG!aX@@qf$eU?s5q{kN0%6F%bXiZy4R+&1@R22qg(L=}T zm*G{ejVF{<6?bH%gwnRh75lWcUKyiiUiF8)aD!(p??mLEytyNfJh7;G`nBH+-vncU zPto(={gFSHcl?u%v`A>y66xfUZYGk=pwzCjf~|FRxj2$y2Nq=#>;4nPFl1?=AR1K) z4+`+%bDAlMYEfl&z6P5Um)z!X4*~oFT$C#y3q?-_1ZIWed0Y{ZQQq!sB61KwfNEd> zfi#MnyR9yY7PpIwbcdu9Wp|hlQ8sHSkVKPCodTLd65qOqT#RKv4(ya!i6F2EpwQoe zwIh|*3^GPipezYW4KP(Nmy|X1kPpjkN#};rMw_t(I43s+`k=S0k*V@Be^M#9plk#X z4W-CJvVk!g0j>fULoyM|YN?OXo zH5k$stSo5+Z4|7BA~J&KGLGjO+gl5fZmZb%#|@pdj_DZQ6{MH>8T3-i(E!o zDkTYq!0IK^8Y#BO#-+pnlK`ZW z1fZm`ZNPq)wG)|vHHf4F8f5<;fKN0oz64^*d|KAHluLW5tyn{7z}agmN~Ps+MpQ%8l^F+wGRFP;X?y8&`LOK|26>yb;OxYnRFQsxH(QdVUFh8O5 z!vv;kE1VT!$pVk~Qe}ZOy&z+oD;R+B0Wg#%%UG`GuC!%iyVF8pd;+M2BNG6AU_%6e z#C$@&l1y<%fMUx8k;lO7p+5E9>okm6UY4q_1o*k7U?7#z4nQ@+fiBgo5wDf61+~7d z^Ho>}YS9L{x^}Qq@R&l`+biu0Q}1JVAs%-y&=GZqN8(rTHFcw9%lOQA%RlzJFg)6_ zgtZ7^==PKo06LW|)T7A*xQ>4XoKen*RZv-|6Uv;pG=A#L&H)v~r(i3}jR>^zG`D~X zSyPcOWgBF^3_4+4i0s3VvC~;L0QeyzWXYN+b}G@^E$;?|wt~|bv`m>A$fV8*JTj+} zcbW~U4t1;&DIW#w@c?j$d4W}Q=o>o5h4!gypHSyIU9t`fWuSa{gwv3=fK$7wnk@&` zEfA}T;ny8Vt2zWbts{HZ))9b&TE4`?V1mgEF#3BR+y8#p0@nZj`Fnn=ZZYxgut@QI zk>PD3&%etuvvi+GYgS|~0I$do#4-2Hirmu^xdf2D5LxaTxMn>w1}FS2B_cblxk8_& zs4rzAN7}OCYX%C41q)*e{w_iHG?Ja)zaTp=Uy{x}3o@ICEOk>kG-r%zw8{BYN1UH8h;{JgBmEwTne{t?rIJ^PVIr2l2l zlgHMEa_W{Dxp1a0gRCQR;)IMId_rV%TYB>%=YRJzBCq@+kJ+giDH#&q=zG zN#|rotAH+cs+Y)cr6r@8ROIoI^e>M@KDsUPiaC)Pku`7Ej2qNH>ubPs_@|zE$DV&~ zc&0LS9HC2k8;6A}7XdWJ8jZHV`VdeUZR0R#%pim|LIU|mrw2nrdt3<#%C~Kd!aMPi zzIzjqcm7{G!k84(=k#RxZ}9~V-b$8Sr`0R3s+-;ye_1t{d4ZI_BS{zHGq5TgL+K9d z=P_e;?6qx>AM+r?>d3Ql45G%sTC@u{_+h<0#k7_~+gA4|ZQ2~_@0Ez^RJsZEs{C*e zJK@&yUe{ZvdF@XukeZmMZTl9HZX_B zv)gZr4Vj3nTwIk)%eDX;1G?-cU=KH4%!mHg-?ER*uDniA-#APX69XrF=vq9!DC_6f zb--mKhoVIDSBWjtUZxpg8hs)g7dMm@$K5my?EM@Z)My*r2p-4f z;S}J=x^Z!~#`5BdwoT@Qxc+M(A{V&FZwzYia)L=qm7*JIj>|X}JFShBiZpZ$7N!jo zyAx-!U~D(BylHV#-fmzNb3>VWKHRSSB?_@`77R02hJ)ad|k{xGrvr98rORO%3oG zW$1nZbD^Y09@e*K^_Oy<-Pja~>Ixaut%HSD?m8udb5~{O!kWm1RaJCfI$`OhPHA8G zJ$>(KVIHN;UVQjsIld=r8*=hx&();)uz2ZX4{OtRuv*#2Lc1f4fWq*9>GPLV77F$| zk6)HsUwMz(BM^V;=aEY~KHc`>+tlvD!xy3(;=M7WOsAOqzwZRstLc9*%B0uW^KV};#o2fM!Y>N{(#1Ks{kGfX zKmN*plzX4gl|fIPNq72^&rDXx)wO7JHbP$i;Ql{&MgzHO6&BVpUiys9&9SiwuJSd3 zhv64Ch-)=4K{Uf5I|go*jK7ia*j?)<9uFG%+33#7-1Z*(u1NN?k6#!iaL4g^`TY6m z_0C6+KpgV4&+s4K{|CI-4(;^iG}L3913`t-}&rW z{r&w%FN}%e{Omm+{ak4u?@dd~13bilI`a0sFfRV?``#_D|Hi+20Er@thZps1s=2pk zJ?Lk)dkPLZE$;7iU;DTGanE0Ed2#cLpLYrUq4&Q}Uj237xQmbJPSZeK^$=A;YTcu< zu8mRe`p+M%2jAnZ6~4XTZRodqFs4Ko8(!J4i)ru^gQ!QU0cR1!VXuUXY;akK=8-EK z)kS1GDB=dQx>12JXQFe9#kp=dYOIomkmoq-BiIy>gZ>3<0KxPJ!CngCqDJ?FGr%bf zeY4e_b+IxC`wHw!xj~-)oQLT=B%mE#B-245EsO;)teEuDs|L5S8wY%O+V~BkJ-V^? z(qWeelQC(;^+1h|5=Q4{-0r*i8?%;ro8KY6lzUU&r1!f|uS>5p z4vOcpmYtod9eLPkY+Nyj%l+>6cTzka_VU%slDP7YTVChyXFpes)h_DrsaxdoM9v`YuE9v{|=bg$soPG9(lh?{==tBu!j@^%p) zd)xK-BY*JA@@qf;y|zp#6BUAtMGyw8Qlcrc))J`c7Wtq4^=C?7yFHZWh^ljIs~`7o zvDM=Q7}GR*&K(q0V>gD?Kl$vE+`1|v=l=bU|Lvje4=QLOoCM5s}eLcI|eH0a&c}KMP>sf zv6C!L&D36w8*+`jw;Hp!sM2odtVN6Ym%Cd2_J%>Uqpuj?bVMPn}G8p7? z$p(dVilMRLDaax-@DX*C!DeIqf}|_66o4}NRts=fYGB43Rw~d-w7<5rpbKLB1NX>s zmC6HjuWbi=7^&!2v;39pF@BQ>i+935o(I|rrpte+6DEBfJaMY5*@>SUQ z0q6~!n&O*ay zFedE)?nDXzd^S`_3)Y>qB}ob$USCp{TaeSW08I?F+;T4T9OVi|qizRjA-Y`K8pvod zmDZ>&t#qj63GhpSm8>%Y~axM_7wgcAD_wkp0-rU1$^Rwm>NeJak1;mDW zso9NL#J5??Os{=!qlbhlIenS zwN6i;tadL^p{hGY|asR0s0A0tv-yXfMBF~as~oMX}M3(AT94Ol8LDl&i3 z13lk53y~FuS~5ZUC`&9H1eQBEnREf5Qz}MVCIAMb%oU(x;2#5;1t5?v9YQ&3JZ7(D zKwL@<$hZJ_hSCPu6&7%mzA`6qF}N-X^jt1skO?eWx>i-%C&Gk$P_C>G$R%qFt*Wqp zX3Vi^MTL=%{#bgfGHP?rouzR2VlxJI!I4 zL^q#2MnjF(J4H1tz`Cl=mICDvg*`yCBGPp$gEjHZP} zy;{^Z2WX+%C09BYgf$-JsTF3^b(omQVE~hb3k38XYi-}wp0oj2wc8+o46E7t-;fTo z44%B+BcC%f$n)Y^kq@4+e6U9O$hs7F z%uCTr<uTh@Nn0@(P*j0j8$zEyw-PE#E5_KXktwdf`jtk^lGCud|G= zBlruxUb53&xoc%c?pf~1=eKkDDPvmy z>PY0J3nG^@k<%TKwH>iVWn0p(T9)2&OV?f(c5*q~ZYhD*axay+B$p?Sw-j8bsefdk zz^U}EuGU`;I}+W0m3e|2%0eC~&&8JPa3R1N)M>_$s-Ex%_=@%QAXnC5Sqr}i(MtpZ zxNF5Eo{VR`Ai z;>)LJim7+W!CK>}46bH^Ev}_@T}qQM8qlNOYbZ`OwE? zo*NgMw$Xc-&n9_dPcSho3Em8w;z*SHP3D-(jNmPHzUF7Be4AzxxJxfTX?lE$-(&EW zgSwhYaz7i}nJmm&p*8*N_Z`4a6U4LMuziNzr!CG_>bBE98Z@J(2k=3x$;8$4caZmKOm46hT-_MSa`e&nAo6z$>lF6h;HgYR|iuuS-4I0%LjeEJ*cu8dqVd6e(!y1uZj<=VSMk?wNqwF%Qp#w7?N}vENn#K=rU@_Ccf4nyH6hc(1Qv}1L#FwAN}~Fbx(~q@`;HR zdte)j0fEZG(rwG)u?oP}5Ti_7fVe1Y$^oS~0A06#@$Fi6ywg7LqjgY7**<&>WNdH% zR0;H(&@Q&mUXfdm&dOOn47mw)?XUdy?mB600A({2VS+3Grhw|aEzBHSQZN^1|2hvw zV%LIF7q_+aI*A;8&MA!o*0Q57j>b{Gr42{2eBZ6o+t{fo+Izg-Ha(572g0z%e5oKV zZrc6R&&kOzeU5w4G&^VyOU9%}KXyh=-WP7#PDBo!HkL94nN=b6sXKwO!}~()mG(Hv z&_^Ax$$Z*W^7Ak;(Ae!<$B6k!kwO`6C~Nh)``>#NMJ8L^{u4|Tvs+0!C>z=B zY^C)x_JLdKdrsvYoeAm9qG=)k3t`rqWE%Qdlf0C6`TCYT`soMdRWJWyJ!~IFw{pMc z)vuA)zWTMo?`vN5nljAIdT1>#=;xJEe&}E9FSf4K6`bhfFmgSUjVmuRHv2r``C-4L z#v40j(HL*y`4hhfQ8@Panjo=we~2Fidxdd+lCpYy2?74cfL$KZv%k-lz%`TrXOEN4 zB(Fil4fFcJ`|p?k;m2>7xMv03;1ckU%i&n!K+=6mjdA;j=DTuGmaOl5)AwjPb^~*H zLVxZZ|4!V$+g;1=BoLP>DMpIx$Yb8<6}b$_^cXfy4Z+F2oKMZrQ1 z-#E7hdOi^EEj$nIhu~Q#8{t?fsRv z9FadhTU~hO=RtWGu$Kbs+1vi@FHI9MX3vNI{?PV@wp8ZU`O2F!68SRPU4Hgo{ltNQ zT;KIoFP5}tmsBBZuoW($;+#4l(wlLey;$A88egW_L-F*0rnz4@pqR0zxTs$Xu=`q~CR8JeY--8jrRmmu zZ+dWd|J_w!&>JZIqJy%%BfVaod1`BGOUG0#PtFyl92TUrvyu%fg@fBZ@d>f3v#L~d zyWR54X?v$951(691>t*6T#_fw+r?n`zU2t#6yx8y_xnBen%KCazF(!ZdfG3DYk7W7 zMkq_~VG>h;-^16zodIzj)a18SVB&+ycqWEBeCeZ-_z*p<1G|z{$YA)ar+vfvko{#Y ziTjjkTzViHTj{FL0J2{GI$QJax9mQ0KOnAu&^+E5e{bjpncim{za0^oy5N3eH-A=4 z_0FTYLs2?P39;#VHY!)uYYhONTCB>HP|0)<7k+;Emw#FR{U85Gr08al{b*6%^YXtZ z_q_Zqa_a7z&wNeaWd=s!8>KrGj9H7J+pbJmq)BxI4S3WJ7fAC1>s1ab73IJ`RVs$Q z2>?n<3J?zfkCO{zUTak)!~k`ibf<0Pg8`!CsiMasgjfGLpOl&?tpM(iEe6Bs~YaBL#v1 zvY->!Hijrjwp1aJbmv1!(w4Nj?3=pnq>={^5nv$lR%~}A>yC^|g>rqtKe(@7!SZX*57kpk-&`)R*A6H#SUkFrsz9;zzw7u{UiLv%7>p%F=DbIG@jxr{n4 z!p%dvbi*Ufn|8wh0!Ry?e5;^yW-Vn_f*C7UhAwacDE)Kmzp=nk;s6NSumKo`K=n#H zBMKZqlBuA>tOT%5+l;iNl@>~l)}?%@yAIXVl{_D4`)#EIDPUaV8v-Dzw(9*$i^3XN z@(7m%eZQP?FuIy ztITAy1KiMYHxRjwis<~HUkAe+pZ2MfQAgS2w2|j904Gum*fWrE#2K>}pg+SHj07eb z`bFBwq?6~8=j0o7hShUh0T{HZRAAQAzOiY*5ylqXD<&t9<l#(Di8u=isbxCFH!wG!@npU1>3V>sb(sCo0isQ;NLdFJG)2446x2yG2OO!4Qt0mZS&z0g+7!U!L;);}8+zsexCnO}Im3E@ z@@9<1+F>&Gi&eB_(7DQd$EBh0BLf-di2@;!#T-m~q#pwEQ6MrCg$~-efl$MorsJ`G z0;L>6q=cuA6^yLIgU-P@dBU&iui+(AJPu$`WxXR9BKSjG`gxl2&_t=eKY!2}V4TQ1 zEoJ4yFZtE)&H?O+2xXd5keO8tQ7dSPyy>uI;7A4FGEOp-Q1)7QR!+u5<+vTv6lIf+Qyyhq7!8%ml2)D)|L+z7k^lbP0s z&i}d~3-xDninTaP3E}mQ>%IrB7?rXW1i)6z8_<*q}$rB4flHm7MKu>jpI z4$Zmt%d*(44UlfFKh_N)J?7a!V%q*KPRhW_oVIMKCQz7J)y>+8^%tt0c1p8QNBjby zw5Vcm8%%q8Cx6|!P=lF41Lf>#{Q7*5q%N<|!HQEfW z+-CZ$8;=CA*^MdrsZz*S(f)dorNh!$SdeeHZANC2M9{6@$_hF2*K5)}c1-sb#pm89 z`P%Db!2adA3nCv{vrPeQa*fK%L>}BQmaA8;h`j2k$f1_VOd<culGvt)L;CH;OO`Kk__YNum1ak1W=GXrK(XPYy|9KPZNL2=Lc0v}1re|oJ-fReq$T7F<8SMb z1Fk|DQ0|fGyzG_sro|uX02=_tOF@@heMD|_Z|b2mg{(x_kS#!(O?mEjY~HElv{%@~ zR`2m+HsNx5cjrEcS~!oZ6crxIclQ7YmB5o6P>u-=Jo4^i{6Yvqim%Bm%yndAt2(fq z6c|N{CYY;vi|*BpT$Y?FF9-?KLMd|6N9EEnJb>I*RD9Fn2EE4suiZd3Hz>M2#oT&q zP9D8bS5n(EP{RYa^MHDPs*MA>Ze%+4(`NP?AB;wIqdm2>YK%pt{f&H>pKZxzOwkvF zds_t1HOaX9B)5au@zK{6>^-~#1W=|&u^;2g{R&!ej}v~C+2l58QO6xo(&t~(pp^c^ zr=KXTPdx90#PP)72={d4)+4$SLaD-KPEv|M*?>(bn-mll#+fBt;`ncTJF7FRxGz8g zZrCJKflU4CI&w819E3H!yRT8H7u+pk?lwc+CeE4v3~?N z&)h^}t@qd+5i<~uQKOF2Q)9&nemGdWdd}+IE<9v_#O7_nu28#qWpgTXS(&)zLsZvIr)lqH zJ4gcPYJv;^C733dflX$tWD~c^xGrPnhBzI7xh9!7thS9PO}Nb+nkyB%y>T|In8((3tbj&+BYZoM@a}EEOp!j9gTK|^5rjlmGFW4Lx1%l-E4Qd?GnTl zk5iPJe?|5on;9M+nX+x4b#}i38G?jXq`32+( zxT&l&*qa`?B)2Z#s!UoXo7UsTrbT${04u@V1bf!QfAO%~{ffI4NaX-l{5Z1~&#-O5 z*5w9Jk;`^F|D`+`qX2pBWlr6DO3pk`-^?E7=9b8u`Pi8f$m!O!S)CgaW8PzbzOV{2c}ujfD}H&lRzK{Oof`IS)sU#m1H-5euSE(Jq&^aO8H|TzS6O&z}F(Sv_by zdQYX`*?-&=u?E9j_}4o$uZnZytx#kq0uy_3VgM3=Y35qy`51)2vyb^6jxm_E!SbmJ z+znW?+2`GVeDgha)H63ZHqGpkfj8r{c6*!xnG&M{64;WBZ4^aD0F1pbgWz~PjN<~- z*JRuBwGL|v#vkps6V`tQ?lNhqo+NNyI9}pqUydRs-}^NRz5@gv7*?l+n_1|EL)FL! zQh@P6Q9 z0{%VDIKSAF$9Ozqol~+N2idfjaM@5T>c1H;6hgf}{>{kuQ=iMLn|)cHaQ1MJl)=cg zUvq59&O10?-OY6OxDji44~D%9S9d=<+}Np~aqX6tr`m02Fp}lDj`a28-Swo#`&vA( z?Jf@%k@YQ`v+>D=s~Df=Zv>d@C*S%*CUnBzU-+f#196c)Kxi=lZ9+7q6=QiZgNj@t zy%~`gzv#uK+qFDAcJ?v3??w03gLv@=+j!0I9>+jY(VCDw6?@*=#Q=P_4eUuS{h}anmys&l}%)2P2tTnkm!bYp)Au#@VsrIQ$tFs@)7s%YX6sxzdZD z&6XA+jkS0G;2bRdBBa>QUe9r!@tZAH4TP~3KJtemPCs;A2J z$$s)Q_*oM1*Pla*)T8@0J9~5Ot|;ZfTP#QAHtb!R|3(rfKJL%oI2)G=n~+S)X*AeO zh?O{D-EbM1Dob0P_Vj|o5U9~HoRJLIt#H18tc6)yYsO=(%?-Kq`vV2guB@!6(tVI@ zQ3v^XhT3#xy8AdYs?BX7Xwvw^cR8f7l3YFc*>`1AJ;iKXdx5xq`d4??U2v%{c*9ru z%h?(l=Pe1)xb-USYT;KN(zh7E<-G7yo+J#6ctv^i-tT6jE z00c@+x)7+=|LL~D!jwiU$&r&N4a&js z8fk1qq3=fhRL2y~sNF6pn>w& zX$uY`l(+wX_TB^Bvb3!8eb-t$oKRJ#a#dG#s;23t2@MjOAaX|m2M1(e5EaAV^XMqZ zc=geX&df7c@8~#QZSbn27w3+1FQ5_x1DLS!A&EB8AxlHY>PlTXoVfQ2_xZi=_pbfz zwZl0Tx&h_uuCv$ra(utA-v9S6rOY$=(kI>|cYXX#s*$W};jR@+e3Vb|EvA%-)#IP@ zWAdyQy?!L#jaZ=QuB;XykdjP+R45fvE+zLVQdJ078`z725;PEdwEt9QQdC_J69y0n z%AQ=L%#(S6AB&1@NSlvICGRS7mfl=FKFp0-KUHBWVz8DXpTAyamK0li3QE z15*-D0R?eUxhgNC8;gQ@OQf9}V@h{T>jlsW&4m-}P}0v0Gth$F3F(qc)=#A@DoIg_ z2P8F9h^(cO=Y_N=P#Z7}%H5TMVKQk;2Afk+NlCnc2}NKRMyIz6yA=E?253pjmg;@z zu{_Gr5*W#7cjjNns}f^6%0M3VP~^ldk*r0U0D)j9rZ**00&FP?Jrk&K&j2Qgv9F;t z-=(&#UjVcMAk^z5N}#0pn?9al2H*xr%F3mV#>@rNnI_$@R3}u>B1ESnfn7_q?er{y zy9i7IC#@zj$JhaA2Bn%vYnAp1 z>~$zCQo*ujiuR1hFs6CbR%5SBFDVj9X-nKw!YubD9!aUKW&uUkmsthK$4f&awDWD0n% z$dpY67B0rDLeetW?g$3}G?Sub>}GjCk!*%BQA!tis^w@&o~M#z)CZThfX6AdER*a zN58`w=+Dkt0tf?uNdRsooUbxwU>iaf0WwUDAqzmK0>J1K$V?+2(!sCe6_bxe&&Cq+M%g?WwDesyHs|V`5*IW)Q{F*~lbAUGs50JF#q#vY^B>Ph>AGU3@d5#>`hGr(;@ZdCxBGz!KN$x#Uu5I_t7pGvX<(3O?N z0IL8`wZuBL*qXqY$kZ0#C3UCSF#r$c)v{T07{gOR+JTiCkg5XmD3IwgYTX%1#}20f zXllX%e5W!^dq~J1<)kpM4Kg7+eUkw=wOGi%VgRNy4lJ7kU<$SJo17&IO`bmlrX8s) z1xbfiVmYN9gg*w{*1kv;YB^{gbF;vqq46EU5hahq#uGPNtv&5efSAm`v8x$4&Cl*F zBFnGofLL2tztEP}9!4CVuC6^vCashi62DrjlsOAbaR3;pdv6ciGz`lNR)=A2OFvhz zcbG$UKA_SKga;d`F?(qR={gtIH;n!b^QO)u^+w(5UFQ&;Ucy>Q>o0Uy6$~~wEsNAX zf&&KB!8p>fK~w5{OIRCkx?<7{&~JxZUlZ*eab{7o@keL*(uykvk5GJntIo zV<%zJN)0f>nuoO!|6ozNwEZcfuS6k%1bA<@3PRoJ43800podSdF z_DtkpUj)`K>KF#g+qQ=Fu!w*LJ6p<9(UZBoZCTiq=^Y2u3QOZniO6GSQaM#ra;#S= zUV{FFJe_GL8ZB+Wniv8wTK48{B0JJVKAW@t5?O`mRuY+Mfg?-g9`1sm3tqKf+Qpj4 z=~J@*ncpbAG?Sg(uAKVt2W9QNeM{(_7@Rk2$GJj(susFmXJqqZZ&o4~X3VO(I{o4@wAf&(&l$$&jZVL6>9!Im9|G zkU-Y)W?qgt|+m%i4Rcjvk`@LA)cGcl7G zP$q{RmCAOSGZYx@VvV|L6y%Rm_M-WN-50|Ki@x!mx7!HRb$AGcmw!rtt*yg4m7x|? zFwNgKnO!TL9q7r|VN99{cWsz-!(~{moVeiUIp*WUg=me*AQ>`)_x3cfR=q$9fjvpa zW2DG57Onv8SYfL%*Zmh!)KpwU==Z)K#oh?#wFg7hpmR=Au5?eESWr07o`rPCal+!BF^h zK-y3^-FH+11B$Y&aM8ep6;(<=kpQLFUi6_1WesJ78H!~1#T8RWZqH?YVIe<33rIJB z!%>ZWLzx0)f+5gS>@%d}z#y2vnsM*Ce%B}~R}=^Sb>rc7Ax?kgclQmu4P-WEP@{wz zgQxJ1V#g#U*s*Oxn_br(2C~^4J+v<2Fo$}*aO#5ANuBS?SZ_!>&WqkAJZm5V!o`XZ zv7$;`)}d$5L$Hj&W#g3m$A*pK0L0*6H1+FlW9oH7?s)Pz;>0J#=YGb7@$$IxH}!~O zi5*^v0FnW$*SyJiNCDmBAM>mIGG;|%J2KOeGe^&uZ}Qa0_vu4tuH{W#3~B_~YRLzF`2rIr9@h#$5*tbc&2~MR3YaUL0siJI3-hW`t6Cv(}dfKJ|cH z_r&X>nz2XXbYSYj9#iDM_Ex*m1m-j3Hj4L*OF(=8+mJsPZ-1VV0ptn)b^D8G{sC&W zW@mL%b~@4B001BWNklBO2_Ntp^YDO*;A3cvNM@~z1^)@Zj;V&H4@wVl_9{mMGM;`N{ki#GOvT!?ewrfFw zd7f9|Vjh7FXtietWTbn~2fiQ+2X;$$-ws(jY+$b4x9rn4^{_q%`g?gej1{*Cpt$H& z9{~n6jRR+6d*+LHj&j*-tX#uF0=Ymx&$jz4{o~Pb& zU%^)w4xf_!PrAMqZO!ob_c7^V`P~xO=Zapgm%{W{qTA#nkMuijK<28z_~mjh^40(^ z+iqD8abr(Yo;97&x7?eL%ervX_3U;oPp-sDc)pv-QpC#TX*^uNTQ|)} z4CcBL=`^N`p(xoSvd>!2jG1=oHB=2Q8y*TnQEuJT76)^UoQn+k6a~ZqL`zpzRTkjP zhux~vHYMK3KkMfAzyAaJ&#j;Qlqbsv{^|q%y6!Jv#~~AxPjw(O|F#opZJn+}I}|>8 zL2fW_F@AiFfHMlcm|C`mFo3Ld{TAN!hkdkPv4sWSrdp}aA+a}IUr%am&hG<*fQMN+M$!OVZ;tdozO{qK6HSWd!sDWNvxPhc^m-C z`k>BRqud?`zgy;7a(>wl@nV;+KYzUj9=;mbwPi+5oF87NKYXcuJ?4$nKsNx4ryO@} zB%09;+6F_#-dI0zvmfSi!Cc*TCjagyUL8lT&w#kT_xmpH7XLUB^3^nXQA!K#xG5%a zW$>Af{Ot$-c8bqYr&s;kSIO_a<@eOV&ozeTt!Pdi2jpU2!1x-mnF2r-*sOg`>S;9n zJ(BM=(^Ht+m0>EH=Y3wU*UZuU$yx!hi~D)F^Ub_XKAP(Ue`ikS{Ls$?>vPXg9-q$v zC2=dV8g$_zfER72XRslRw~@vfEmYa}x|_xm)!DduAdPQ(!u4{;7Y8?dkMkGX#b;%) z{j}$&@7*DvUR=^W<#YDMw?s}0HQo&ttsxUFV4?+q8Q&?jgg>~5^j-z)jAzw-0)V?X_~V`99LR+X*`V>xm2jxBWp z9GAZDQ}@*G>pi^g|M(g6Lcn^5yk4k*`|tkN?ehJvdF{Yr%F`dd=?zm{FUD!GK=-FR zK52lBjl^>M&;9g7Z#%c5I59B0qW2XpoeAd9iNR%UeKf6u+2m)>jk=8Iku%Z7a=R8b zdC;NXJbXuB&)^r8aDD(ofS36p-Rs%g+!#i8nzW@#AY^73NJXf8cA<_-x?6)TRVC+7 z+pV}7vnM8%%yu(VL~fLgIobVg-L^@OS$JRT_3QYVOG6ivmB5tD`>6{CqUU-0<^kKg z$H(s$6iuuM0?W3WljoQHNXM;oAFp9OK$O?oKEzcA@`oW0M2&@6a)UPK%P!NS=smP4 z*4A&s51TIITjo<9y&`!&=wrh%kG?%-$AE!qJrLJu=;=0V8vrEb{WX!!`rq*8=C;UM zblDFnZ{0LJ9NpVd9I@t0P%I`{zhB~ON?NzI(QBjRoPkYku+kX28>$Q>Vf!2DV#Lp7m zGppG`S#eMfiIJxrjxFzdmUjxAY z0GLNvAW(P(5X0qqNHAAi0rY@!uttz7yHMIGCFv*fnGgNCeBr~tuIMNfuz%p^Pf5GG zv2qths=DL=a#SH1#10pBa>)hXMii*fRy)0IKToAdD#;LMwI~O`;|k3*Rso%peb0j0 zii@c^H$^cJ=LC=t{mqnsRViEZvMVRPa<(f~XPmQ_XxfPST9Os6nkIY>>|Q>9Y1b7}hpFkqzU|LsEA&~y(8XNrRA z`UWi1rpgph#`x!GvIXBso)}Pw@q{8hxy7&czDhF22z5nSVQ*6f=Sot)5=UI719 zJsWE?B1s<>kVNvdkXDZ}m9naO&w%tmyb%X=hM;4NrOLoWpHCIw0a%H{Y`|(L6K7Vx z?cCbE0vrWUp^~c8l6tct zMcDw7;ZHAo07L|1SO5(IRl?+HCherqvB0(zZzTR}P6Fh^-;QRWt{ z{Jhk7TAflsZna=;M0s*K=(s8Cik1v9L2fi&Ng zt(`TGi0mSjJT>rT3)ED%P(|Zxtx~XKi%U)b(*Q=H$%p`O6@9i%?HjmMFKzEJR&r@` za}VXtVG9d=v(>VGrX+&KP?s?-06$7gsupZ{iDYYiNm_{%@^Z%N8v zM|LRFmod)KFB2?~&%x~8y<1{NF1JU{AF+FY%_{T(dl`iP(jw0~p?c6T=KQr18QkGH z2(A_FegJWOL;Yg?p?(c>qy@0Ksu4K$dIg>@C5?@Ru`2{%&CwcE#w^;*n5)X9kQ5oN z^NPu1mA48~G}0ek3n7ePV}m6zD67NzsNfKO0W<-$B^|&|$Ruh}l}VYiO`gEkm1MBY z*%+7u2c!q!43Y3J+9MK= zTG@9q%_k#BI|LvN?{`UHsR~-B)R`8^*yc16zIVcgSEdTepuUW4i&>2N2zg?BsaSx? z5qoEBQlX^l8me2@o20MLWXalzcx~OF6j1e=2~Zt#jph(Pp5C2+7WfYaA*KT7+@^QMNzcvL*LN&4fIA-n*RVs)Or}F0#5r8XK0A z*8*wZ&;;;{QIISz6y6E|C{jU{q_1^jz{q=+`h~-It4;SQFtw!~o8f*(RWcoPDPdyk;A#jj+V%5BC>}L7P7Qj%Eu1(MD`M|Rj<0N8rU1wS2@mtmctqr zmH>5nA}3kL6MrJ|*ck(fG5_pp%ZZN2iM*6k)Jq}q_?c8$D@hU@CEu@B0gRDcQOU|$ zB6-*PaSqFDRp~mS2Y_iNk(*{Rd7!9_36pb#gkm$^td;5Jhm)?%@7^a@?WyE6`>Y2a zl-cm3ctK zBJvPRKZHxF+X8_=tADbP^YlRgd5h=}J`R|+749Q{B=QX}6*;zKtX{ikL^j*rNsji- zjs`)Vd0$uy`X%9#0B!p}|3eWy8x5Y^@9}>+>{{*ZlfQj*o)(z3yi2KIu$RvKwn5#h zl~Xp(&4-cOMx8`$u{zi;VUmNjxW&8|8!N%fqaM$VctFk>P0d6eh z<@;J%?aBO@k6y$K$ZHaqYwO9ga(0KYoS<|E&}EXb1^B@A*q4sUG(gqB=cPTt!WFY} z#jzay;!(N!30KEfBhT|&=jH6N0c%X`0p)BI?Wcj!@LvO<8eKI0&>qLzd`7|CL1lm! zl#!_t*|u++oH=qvH*XG3bLDg5uT4sVJ1AoY7Re_x$kdOd&iUcS!Q z{raa|ug`}*b7%-a<=~E({j3f&<)Lmr_H-Pw21Apn+$ zTi5Rx4|Y&5^1^4oQ2z8of2uyH7Z|^M+<7q1JM39S1YDdnCX^Wsg@{Dt#+^6H$B%wo zqtdpw9d0^p?Sr2>s0>@~xaY>e5LJnSxUhFdGB4+w-}+{)gK_bCJk8&Do&os6KLA?}+9C~< z-T-nayze7Z^!>*rDZX<5SL zK;6-nO~u7{Zt)VZH;m<{+dFfOzw>Jcjj>HQ3>~(TR*=WB|5_0<@>{d;MSY^_ueZ|I zw(86dvums_t|^dX;ksS22nBaAF<{T_kS|T+psd(_W(;c+3ZTe1))Lx>t4fedm?+z0 z>u|_JoY0tO2ZF{<-p^w@RbY)R$VZ%!;FbraC)X$D47N7o0@RMf56c0-bs+#fvM_G& zEdgq7b>CfEQtx-#Bed*}edB8%0OnQEY;tn$351vV}$qL30=sSaFYTqgb zIU9b0)vjscxZN!-Gaow1ljqB;zAOt#VP8l%H?#G~#heFp14zjfcRluygXlHs_3b0A ze!I4GiU2V5{PO#m&wWN8)HUePk`cgy-o-TQ9k~gW>(Lx%FKMYWh=@DGLW#W z!%-fe+d3z5?9u@s|m;16FE7#X_ z1wD+J_sglc9r&xk0Ak*|ZB~w*;SR=&H!pqp_h_IP%ys*3yg^>}oo0XWF^XKfYglO>%x~%z=JHYE`KRu!L1uM2tO3#XjLf(_3(g*A zOE8a4fBk%c zm&ffi&9{5j0*Ea5V2?Qi~_ivn`d2mGuxL@V+6sk1uAm$faMrjvWu z-yK^F07DUyeY^>lJLvmB=cQqo>Zx|M%bj?+pXF zUiQjY%iI3PZ)u+M`N40bPrhw9z&dXZsyY^3 zdU4f`Ns8+i(Q(#E_hOxO-{8pyT?&6)FRp20kvMv@cG=Q!JcHN=PXiy5?3(t?_qy{8 zq6%Uo_#6pf9%JkHIgV!Nd0kJj2YVj2iQg>dPG|IjBxD`uH};##>guX=B49|;xT$h> zc2;C%WvChm(>w#Z|M=DshK46k0C9QxL**Bdo3{OZ)9Q-7fBrAuFHe2hi>Jn?Ag-xC z%n=aRdgg`SK0U2z;Sb$CDo3XIzoKr_2HzD;=+Yy*6cCrErc-p#PgJ{T*hG)!9gBKS zA9^w6Mvqi~Ymf4VUwFQ}`hS1#kn5zE*S)1LuYJYn*{~~w*5Uk6Fl3T7f`au2$(jN- zYNCnA?Qa<_9T8YN0dK5GU&={h20is=K_R%0K$TDf#U zHBgBg#+gJFqty=fBbI9@g=;$G3s6#N01C1IV5L>c8-I3(6um@V^?z-IZPXOuQ6w$| z(2D7}1MCd?E4XW6Ifr5$YG5Y-CnbheJq6&U#70R#y z&`9}?s6WZ1Kmio)Auh28v;$x+&!w&FBG{}bprN#A7C=ihcM1qC$)o~&Qo`H;2rZYA zI)P=XQ%O+5E%FX0TC%F#240PJI&um=lg$tB=4l*v_}IF&x& z#IzKS8C|i=B<~nl2sRx0S<%X*#eR!A@4yUadJx$vAh*=o8ipx=OI0eF z0zxt=I+cPAfvvzG2Gdo$TS{JK(&;BsaeIBMl2q#*i5OJn`}FOWz_NxMF$G~1iD}eQ z`qGv*EO613>8Eql1F{*A z2#j_H+=SVN_SQiUFdmsfXH*t4(y}_C=!(~%z8Q`wAj6hafOAM&ff;msI;$}=B?(Mi zCZ9n6Ax0Iz)-#ecU8}+Nk#MP60Kl~QMpa3hHbM}AIVDZ{HgagL66qC^z*-k%H2JCk zsZpnlHK^a#F+(6O^@{|crUu49T!Z()Q%D$Hl!bWTKd`p}FbH8!ligwCa>Ln@>yEhH zwBL*MPh3|b%zNHr7y8zDQ(zPva@KAN&f&Ws@>S;&Km%d&)pj?)jsi>QX2=D`4yXhE zPho=#>_OV;Ozx>D<+58{Qy74hw$pK~b3>*eCq08o_=W*!IkoVr8sD8y?YX8r*bp#Uyp1*K}WzL-P8 z7}xX^T^hoSuwCSBx)ug`VV!Y-6k|tXfOrYv*ZdA#`+OGmVOb~(X_vX zwWP)w`apOlZyLY;(NfhNK$}MEMIAMSO0)2)V-DGsqLgdcD%5LGFfkO z)nvKWjpi{hnQ3}KW-I89u)&h5a(4@;omat_l!Cg_CJc2>-wu6KCkg77{!2+HoURX} zHMX~vvYC1XJ$%0xHg6RCPDvqT^b1BAtA>g7%%{a&T)TZ}o_p=c`Buf;K2FZ4U9 z9NXQNcDIt{)l#mXPvt@>am@&aN*4CaN&hL& zk#0AUWAA+Pm2I4T9d7d#IrhyetK=gG<1bb;Xcs_lR1V`|rIP-xOt!aE*|fhU zpF7x-?oC};JGdaydyL3A^q%e(IeL%C(btLWdX&f$Um~&qV^?3~+@gt;a8p_Ps(+1r3_rY%^1><0Mt4e-3TMp*`?`+YM0AswN4hVh_m0!&7%EEn+wZ@ zY@Uk;)WxMR8*a>vL#>2?ePN|9o5v{8#(pO~Z=P$*h2`mOHz_QvT$2p_ZjxaP`gok= z=i#)!_KC(=0((cT#4jS7cWti0FC&aj7m*?2bp!Yaz>9;mVnB`qg50nFa^MmJi1_%w zb+3WcY^mfv?RQ}|T;mevhhf+0Z{t3+69QH)42tTc?JO-#z#I8-;FbeQT;ZPZN4{{x zZY*If`WR!e(TL+e_1rQ%kqmi>CO6$!gsH;)pfoc{NyGi{3sA~|BTWVT*xyE;X`^nW z;7OR_yiG1o9Y0XhXU}1=3quls78GLi*6Bw3qeNB%mJ%)#H89sJzx$Q)rnkIN z<3v#$fF0njTEVJO-Z)yoT(DDN0NL)nd2cO00IKf4W&hB)-2b@!>Q@<{xIN_ahXp&v zK+JTco0uT(yD+acp3`QTIUnA!^z&dhzQTAO`X+E5ZjIrhix`0%Z z^B1Jtyr~8~UMMT+ih*;SA&NY}P@_tdp>gONvAm+)WA-l{t6L1THydu__OhHidQO2{ z$oJ*Lr$si+*oPwbFyVLGf!(^9*>deJlQl3^@7tj)gOuH6m1#dV#C;L-UPqxs%>)O z+zCCDm{HpAcx1()M*$nS`nZpM`g(`FyP{rmZgv05=a$58!0P&8m^-fX>j3J3w`u@H z9$4xc!IgPW)0gNI0c398Ot|E|;dL(4NThQY#kjG@u{G(I{u`ot#Y_K%+|tZad)fT3tc&W&TrVa1bqIPlpOXRp6As7 z8f%FDk>K3YX<#nSjMwvR!S$xd(6|82T3ZKz?t=#p%JzNR<@Ay1^S>ok={j@-Ou5{X zCbI|Q^vKa8vhS)1Yv-tBw>{%F`S?c-gzc9kpp4pF7pr_{jiwc6WoHh?SY6uRSh?Ag zfl;ri;N~*U{V>M#Lx)?0h<#l1O1UucT%#5N5Z=tQ%EY*#E0JG*{V&VA-}!D2Hucxb z63fsyKOQ({qjKK-X7G9xoTn1)%GOy$f>hu>mv6rIc+Nh%1h-s25#>k1O#ybJAHr9EU$I%y(7! zDGv(Y9+tfa#(&-aq+jN+=K9_N&u+ibxF)4>rR-OhR%F}WZN2~)+4JakggM*|001BW zNkl12qid!pe7xt5*FW+37<;iMP>XO)yZ9RzEa~yO#Y+>fjrCH1hKOTr z^|51ij?4K<%^c(rO!-|ryQmiw__`3UBjC0WzOE~&bdRJrR8NW9l~3G@uf$bR*=epP<*H9r|!O?Ng7Dk9lCz;>@`RpfkwiN#k_(fd?eNj$4!` zn9qM+;mYo3>Lf-wR_*eLJ;3ZR&2T2WQ4rUYZknJBG?YNJ zK#A>Lfzby`>^2fDBX>BSd%y6(IK;Zo|J&`Kk=tK;tNJ79q3C#T*s;u1e<5adCJQ`> z2=QHvxrh8lWmVfnke}c0=!w{fcag z?r94YyU{B|sZJLGDFAa6ER+pagjz-bT&?&_4Q+3LCi)}NPNeeB85#%7MpR}l zDdb{g1$|ZW2Ea%GC#n;#Y&{jM4zQ*40MWpHhO#ff7{ECIumFdVekK_joS?E8w=HU$QMA~|k&h2n(lvL}!AX2~&{O~=WeG)Ee5z?lS zvFEc@%7t^V^UzgkTQ+j~!O4`p`z=Y*TN0d7QTluDZ+udvxv zvbNHaZaduWziMEVinER^S0F`3yDH-hi!vKiCE;N?Q|2CHq|y8o#zvN|b)_iQbkOOU z23R?CoO`A8djJ*DE3Q-qAzSENuwxZvOPQ5A3P2-`%&?oSmgIR~3Y4rX0G@Uc3H=y` zIOHZkkE)$$d8LN~0|u@&#&arZQA)Q>x|#abdg>VK3!2$!uhikBasqiY*OIcwIA8$N zIb2AJ%*_oLOkei0myH+nZc9@Ds2M#)F(2ygp7|ZI2#%3`^f(A>RjczfjA20 zb>tX*BaC@vgtKmJog*mZ^G#a&IzbgJXkk)1Z3ZCSqR@Va6KkCC9a8&bV4AC!y!a)l!lsb%13>P}Y!+Bflz8I+GqQ_u+pb~iG~|5TWk-QIcDX4Bv}k{cVh zngIE+Dl;}Vjl|QV%?KFM)-_K68fxbFuCImFwAGg;%aeN0HJtV@@@I{yF7NyF`j?kX zD6Lw5@{jCd@=1Q?e&B}%Sa9na<}{J~2w>+*WGm~2R0QB6&--UYPW42tpRtP;W?Kf} zy16Uzu@x&i`rya8EkH!>SrggW68X%k?JFKPBeE+KfsqSyp7n=_T+f1@o2w}_6j59* zfG{aUV2ix75_!Rb$oanI1>p2zCF$N&Nqp~Jvv5mUA~Rr!W>YC-d`VZl0I@JK&#B{NhLdX$X15k z!WJpdj@Mzc!d$}NnN*T(E$LpfS@OqKlAl-+`E*MjI#C_ zcFxK2-!F>XcV6V`YelY~6X|BUA89X_Qtj_Ze$%XVv$iORi;ETn6&=8L$Zqx-tweUV zQdtgb`Ay$2t8BUQ;YI6@f_{2O5;imPF{w`6Bl6d;7kS3N75UP;>aMTn?rADL^x%#U zbj~lKCcb8Zw08_HWp8GB+f&1ZVWHbwLzu7S*}=tRW>b5THTviTQvh^o8V#CAHs*qA z^IA!MVeN&{7kVbmiH@2gR&Mf#DYI!o{O zQwlZcG_z$clk*^OrM%*!)+QX7w*?Q;hK>TB*mxVc9Y75j)tdg?eK@q+GH(uCc3itdP8~coWT!rvhm%TB zZt(h2<<_dIZ;ADKfl-RO$M~(l0G#;u(3c3o*KXv0+MeOn;dwgvdtq6zuGqg)1G$IkQZfbf?aD>3IbhR*kW$M>m1x$oIw z^Z>|1VmlAmVjtzGS}|KhjxVigTT<76xM(ZPkuM&R`#yP}^p@=QE#?I^l_*=4GiYJw zAQ}2MU@qF2dh|MtmAr}9+lH|SmQ<4tGWjQinc!Nc-g0ecS3j zNjL@8R#Nv1Plx!<9Y3c)G#^{oF_sj}#TiLa)+~OzZWzA#m$i?Vk#P8B?4rnyJf-ge zaPj`IuzNx4fU!$o0QdzvWVItOq!9@>HgB7&fuF&u{&BhPG6JPDRk8~{{8^PCJ7Hee zGe7H`4)k)lO1ZCn#-r;w0U1I5n6s4~@cxr^+9+IQY{mm?OnG5N9`((S)pyF{^B?Vp zq0iHQXm1~fw7KU|Jw<;g%h@9)llIGMY%Wz&v1Y1aYkHwtnJp5s2~;fuyP#PU^0 z*-)%T2KxN!?FcAyoZOt1_1ZMIa7DGK> z)e%My4LKgUj6OE}vNvRp7@M_zF5SQ~G3*li8vp$GCp=NU^bemO@5ow+4~mU8;Xsrd zw=fr*-nfK_-p>@cDY2^`%f|T}wHudyuU|+Z;Wj?q z16bp>RJ}2E3=kndyJ+8PIh^GN@VNnNlgHKkZH}eboiPxDi|AX(yjyR(RZc!QkXdn< z`1ynH{h-V*nA~OVC%&f4U|-|oEDr0>RxQ;43>_S(VdmO4A6C7(0nS}m9gQz?_jnzs z>F@mV;jTHx9B?%vOY~f7&}gg6tMb7QZCsh?-~aT#m)n2s_CfNMjDY6IW0Osh^^)&h zT%P)xhqh$h;U6F=%cV=ELDnWcojkuLJ2wEFnH2tO*PWj0(ub}`{%zpz%WG{EMu`?TlF0do=W<$}2O@0gb@a~)Y) zoqUcsE&ndJ@iXa6cU<^(0B`u+S*)AY=y$j=liRpR8kaOUpr|wNA7ds2nquvMVfG!$ zVA;q@e8J6>XeK(b$BO|d>X8f3=k0@zr|I+E#E7ndgPs|p@Om+Z{cvD|_F#H;a$!{* z*dDL{IZqq6zfhohNc!0~?AEB>_Ya3G%C1OfQ%8D>1NqnlwDeH)ZaVbf2Tb2 zo1Zz_CmNwRZ_$}x7YvX z>o*MKBHYmjkIGfo4EF7DT=6p(L+SX4EgR2weDdyw&HAt2ZTy^T{Sc!*-t^nQwqYO_ zq2K(TkIHww?4_d-U4qTK?(~nkmk>A(;uR6wUE;IvbG;uD&8FFbTy}Tt`xDM$oGFcL zU9)S!wv(`+oi=3?`eht+!7os&L{6Psthb+S(bGFWpX7KNB05rKoYw{%f{l|EBEIxvYA@ zl(NpAJuBVrOr1y)DdZA?&t)5kdL+GldjOse`pt-khDFTAwNVfkQGD(b?`p&}`SlZj z_-=XZ3r6=1R~p3iws-&KM|Zb9EM6;rn%cp`iD-x66&evjoo8Nd1EIS;=i&Qf~;k2JBTM@!8TjSDaycUutsj>{=zXE|$ z^`$IRfprQSy;K144Wm#mRnW*^{l71h7rpw938|aXE{;{6O4=z@Hs)!nX{zoy>{zf> zzgWfskWw5YkM1T^s z5{v;HqeX*4dWX1-c?ZHH*p?(CEe@qk0ky1P>d8dezW~d?8U@yCMsYZr*E}nwRl&N^ zk~VB#Ykg6rXO!+csighFfG{XLqtM+0z=H}g1x=J448|(zsmw|R0V$J8S}OYpKq`PP z%3_7?E13mA1>j2aDpG*elC}bWw8_FP{u~nPS$aQ}1P~YH>=aU|R&NCsN0Jr3Go#u@ zK0z<#rm(E|6qL7f)y1W+lr3O?K{=PLF>_uUpdODPXiPU6#eM2FZMUV+y-u!7UCNRH zD5z>lMLJUIxx5ZVfDJH~^+*%NbHFzMdrGNhN=avIzyhK{QJX%LWNl@BX6<`j>*@zvibyS^9JxWnfB|Dh1+c^QV2u%a*iZ*;)Z0WXvoO zaRC^?LP22+m9($@Tv^PNeb>MffQS0+zGVGWiWc=+NUO>vuTrZ+`aIusD!9o2UIF^E zVOwOZA^6q>JfV;j;3wa}TZtrVg_ND3c#jSw0IeQiC7UmbJeLec4*&q9MdPvs%PIxH zF}$Ir#Ab3?nucUo`*C^s2 zh;D-WhVmOnrq#58GCmApyj}qhDfWhWf;M3lz))l!rSrp5r(lmtfqe=xCEvPUurWt< zC;(VxK>(;2>6KK9gh2<_`ikRibUe`cY2!dU1^9ruk@R8Hqe~!#=({#I>lCW&bc_cD zDuTJyJSyZ!5(Pm50tQ4DHa&b_4S*E@{<U-q zeR>FE$m-AbUujqu(*D|wHUEhMCsjV<9sp~|ajj~yh74AQq5x_Qa)A7)%ut|JqUkAC zhx`Um6Tl=GMghdu-CNVq)~Ne^c&mGm%Gvsj!qArX!I*i?M6E%kv>y;TYYd4A3DtYx_$$s6bjq5b+96%pt|aJjRpz;&~=jeBG4NIhBXZ$h(_Nl*?L_u27Ma>`i&7sl{zCa9Ff6c!n+Z=R7#~v06)#INQ zm2cQ>u@mdF4ZE!=u}rWVcGCS<6zTBe@<8vlnU{Q(2AyDrz*_i0xSQYf__zy|%yA-E zE9fW=r)F_Bfm+pxL7z!ZL$?>1xa>0>&r+!8L4Bi}RUF4U4q);0j^1YvDwCroQeA2G zHSXZQcu!>WjapmYtJhbORmk(TvQ`PygiRBJ zj+$-{$9t!hNpCC_+s0FC*BxMdnDv;PIQWl0W;A12?e%4*6Fyip9g(s9N~VFM_AJcG zL*drZarMhtQEbMHf!O(?p3g4#WNW1GeldZ!Z=R9Er^ch1XQ$N1#iVg5ekZeb*%W0T ztS%*H3xk4q)2s*Xiv9cIHMaBTn581V0Ty=@#?PNLVd~0%9&Wu~KIZEoXYlAB@cB^e z%8)3^kC-4IQ3T(0{jhSr`;FNsT>0JI*8AOi<6c`ZMjl=9z`;^1l%3_qy?H%QCI_3j zoB!4y4TFV(THH}YmBzJB5OblNahO_(K8QgFoDs(J=6D`RM6 zNm7F-cvm(Zua{^Va1h&`NAJ;Kaeb+UW+w{ZmW^KrngLdz-!&C)WACKlH#X02pO+?> zEB3qN8e6RSFK#>o#su7h5;ASAzaB7T7f{IZ>E%IxWbg6dDcx+kBCrP`PXKxVm|$vU zC{BDh4}$HemrE~?zg@LE>(wk?Pvd+#G!5Wr=^a-twXz1M^$w zWa+G}u^8iw8CCGADmi=XoPi+#{H*q+*Y62nu9tlKOXRQr?yu`;$^YB}jBt9|CNF;8 zi{+i~ey6N0uSs{dYlmE+T?n*#ensZCnPNJOUoQUu0{-D0@07*UOVa9OGQWM3MoC>D z|4!a_QULKaK`!*Aaq^gYAbxJ&+vuFF2WEQSH>hXw%=mZU7Yu|kn5(XchQHXJXJnQ4 z4Oqs;8Ca3d9y_Z*G3s@wY#~e3M=aX_^I*ukgJ?Z&XV&5!P$CAbo30)pLn-Qbpv zlMkHK^bdaKpaSCns%_tIpjHQu0+eG+07wF8<>tUs4)~+~0`zlvt~cl>A}8-UBHM1* zBTMI&YS09pV=x!xb?}zw8$Zrk7boJkm!oug>VZ?*HpmLvC$1w;!{;oIgE7&RdGvdq z@7y2Zs4v>c{V$(cu9X8RAF|B*orgmSE{rREt*jL?JND4S zBGCPzHVaB^)7ys+!(0G^ahyd5X_q9L%TKT14`K2MBz9w@^UmNh={frigOo6X!-sOt_POYyvyC%*e@zskiAVjpTFFjrU6d%(PYU#$sC!W7Z9_ zd|cYt!5S5tpLor`k&k`)uGnhgGpt;<-DH4+iJl%Nhcin(*>)M=l!qx>Uy*3zdGktT zz;Bmqt^ttM8{Ml+WzbwFqn8WjS||F6&Vabw%+IuC8IaLB^R@fG(!b1K{EO$(p)`hv zZtcXHUe6FYcL?m$wc{i7@Ws2nD37`MF&j#4@yw!Z+Gcw`2mTO{^}mC;SnD>|1{;ce zgPwGc60Ioo@gk-)_KwZF^M zA5lNhzA`S~!4K=M_uq3=!9Vz|_iIrco(KPBT~wRkkBiI3nYz6q$2%W7Bg?<`%NquA z-F(x{@|`dJPWk<}{Qgkgzz~*>xr9N>9Od87UZX4wjUfj$zT!JxAvZsIlzl1==g&>% zGELJR8^81=&J!KP=gzt8?rNs{~K z*;1+ho{s=afRo*DF^8L($X9&zHXsGFICRtU|J*d!2z_&q>o}e2#~*G&Z|~ za5gK{?@?XrI*7B%1^}qj=_;dx=ZRkwtee|_=3G%WHu$)6Az5rFUq4T!+ZmL!(;5E0 zfd4q|O9gS6;2oqB=VQ|I7vA%sAuw03&$+!_L^UZ4_RexY&9=V%c>n+)07*naR1a?N zziVUrl4d;9*2jRjF4deqe_mv-EB}m(C7P7RIe&%i#?2+`Whw3vl+NE3BBM%Z7K1+4 z#kbL0zt#^Z&DuAaI$a_R?jCpTrl}=z`UIe?jT=B;ul*id!|<7hZ-ox1)Atas$7p{1 zZSecLw~aeX9Jn{1&YXBa^*v41cHpXYHF(u0^23^Xx0p008Q-n4SQucGaX zf}&KerJ@W#D6)6M1#c+G!*oJeo>hUfk^~)F zSgBAnM%} zv7~^q`k4qzoS9rIn95KhM&T5aF21FJxe6E>6x>@yN2I-~>`>~DM#ArEDPVN~(*Q)! zZ$3Tt4I&ls!?3{(P^*1Oxjm#TrC(*zYQYj^EFLfsVN`~qBck}0O4llC%oL za4AcS)sdc^6}hxIf1>>00~tQ#2UHp@&-aU7CdDj$&U(M%lUFK90aurWBwdkowUV;a z(z*l4#3&(o&e37$q7DFkRqei{fV-*Uc3Y}`t_tro8G7>>{ip-GRwezsCEcQwJT0ZA z;DuZjD`_j@RmF7rYZ7$3Q~@7QUtjuZB`x}NwLrpg zN3#GZG6e$xJX9vG6xd`bCG|E#|Fn8qOEPKe_k~pQb`?NFm85H-PXp@80RI_aOP2r~ z1k%RqD8P3jJ;`Ys*m{6Ilyq)mck3sabQHK}j2dOvKx_Se zOR`ojMYoc2)j$Ufu7Wxxmr1FtdI{rBS+xpD0qDV!6@dh((-eliS>#VwGA>-w4yV*w z(q8K+xIv@LkpaZlQ*nX}WPAbQAd8i@WhH5zN&(ms|0N()InaBr}{sDsq&?hK{hKbj71E*-R99Y_<9Kc*=-S9W`%1fBY zO^n)m({d=xaDWk~IEIaY&m#XC^CJ|dk*xge_jAF7fr)iMglR;pCDaXaL_0~SGWCaS z#XeM}y%4*DRG4=S;9-+FV}hYoDi}=JzX}Jx81N9pu-2=lYd|IieGx0*RxW)GSs^Y! zM=BEnn-PH(q|-8nKgy+R9_BXk1)&3=8-%5bszLxmaTx`GY2?05t>&N7q!pu>9!uU0 z=mX%}kW~PbHM6$=0JuziVez6aWJoKD@uQQz$!aU9rl&95a{?D7!#JDdpw9DukjYNadB6>Ng zPW?_z12fN)Z>k*sno+BBWmz-ulg`b^CJZu1+sMGI3fR_uL?qFAnfeF#hOSx&s_k!{ zEDctZDoZS#0_H`X{LvjSnNK@<$4&c{vT25z(s`TA(~i2HCm~JC>RrpFRyN1usOx!c zX7dZEQ2UpEXHq~`V8&9`J8e*{BiG@xbrxj{ZlsAwB&%AN^nbdNv7b>#$W;;|@5UAu z!jdQI*0<8S4x{fAY3LgijtH^BA9>Vz(JHV1)K;3fRU1J_IX22R7g>a^p?y}FS_#U~ zpik6|C$h4#A~!zw*-^;hN52eb*mnK5`9x$-CUU$ba+vXbOLN>IetRaXv?0^!W9LM!?T8%eiM%g>v94>2Yz8gHAw}r(d=m!9 zvX}KK%YjM+AQ)@PC(esJYF6aW!~XlPxOBP{`Q~lLAoXWwMV`IM;@i)y$Eg%|ToBou zirm+e-p;nP=TliZvMS50`{!FMdt}o>OS(xZOS?MKKX1U5wIgdX_vl%j{#ki$X(zH4 z)@RgSzgI~Y@H}&LnnmU}eE|9EVY?c;USDPeN!QzsU*GcyIO1sHC` z&;TOklGiV9CJR+y;JhvRuA;szjQZ>Zw}F-V5Wc&px=zzUBs;k*GU+(0O?*vBMU;tD zTU)xNwFKNxi2w8eoMrBVzv(Hv6y9w-q`vE=U+yye8y%NNd9u(oSZg?lzH!mSpkog_ z^v|4U1Y;2nfT2rFCqD}zn0M@yQ)|hHljM4T{`gsrV75H62t8W@;KQH0^EQ(i2fYkR*P~4}IaN!})eb;a%3t+Tbg z${Vk%K~PN!pbVxv2hh-lpjzAQWzHw5Cjyqe11iiP6IqjRH@u$)Z*#I8mvU0 zU|b@nsC#9$159=3jII^vR}ONe|HYst7_t}}ZbzAE7vwGAO|_3R>Xj3IJzfU{5ue9} zodY@neev#YD7V8>2>X_UL_KP6lNf}AoA#H5IR#v~Uw~K5xdLUV?&hwnU2sJlV<&N- zpojH1_3)bg<(H1i-kbK0fVmF;!(n9r^Sl#I`&5X?=LTe(0#E5r^W7Sl*qfV?-U$Pm z17L!=ES`IaCI)kbX!U39p|c_pkgEo$ab^VbPLLJk=fc60lINw)Ro6e|`av|bU)=AT z@9wh_x#@Y2mt%Jw)A{urw8XHqZ8fFSqn|yf%BEL8={gUgzW@byTsKfOpgt5t37gxQ zWtI6bT%EX&8-7I@|H!)ozhHiJ<8|rp{Q8)V?Z!RRKlm39tZ{NUo(u9K*RkO&gmJuA zJ?5&RxL~G>!@6JXKmOvszBrER+5sKCbg=Fl*C)NLV2&K8Q0Pfa{~a`VEFV40%;v!w z)9spT8|twJzU^3$;?(f&o$r+~P|D-Ev|rD!{rdR2Vee+S_t^ML8k*@GKD8)6`2DYt z_x#154)^z_#|^$OZ0g9lh?#(3iz~gM+s!u^)xaCYi{vREuKS_E1E$KGe-MVJC>&re zx);%S{liKUD*(n7;7rlJw~Y6pQM5zpajuH7n?LOt1I- zz|`yF;)t?Z98dgw`p9Wn*fmh}#I2rJqq=1tY$_3c*G*%6t#1kQCgx&5QI9m3D+Y1JCGx!IKKaIu zSMd4W?|8So_~kFIV{|~4%K0Dyef_1L0yDC&U+aL(cCPpoTRwu%w>|4NIe%*MN1$d_ z{@ZW;H~HaL|8Nal8^<=)4D)cjbCC!8Up1U*M4&kA{Jpt08N1imKnB-V)I8hw6fLl&&#tL8bj6*b#=lGSo*r50M|Y(ht7%%kcVFt)pp|IDJ1(`mLFkg4)Te zrWg4gin6K{u=a_=M`G)BpMU!|e_L*S{H^jc|KVrqGb%kl8Enz&IQ%@q%MIAx?P^ca z1O9&gKmNS@$PfNVWIO%Qh1$7(u)VbUitWO4 zZB;)E;;X|1-3i`@ywxuzF+F7AAN}3kf8B%sqN}9Zh$6k72_*-6E-x+DXVLCG{&jzD z_u$Hkh%0Uc%QlMWo|j;^W7A+?=wbOq0c@O!L0se99}YXfT+ey=3j~GCjhL?#h->B4 z8Pn~HfS?=6ulrFDm%oht-B|g@27Lr9M*vh;C{0T3Lxx`i>{#Ub?&+|$YUoRA@ z-*cxAkIG{J8w1^D3&j{G&4%v2N_kaWw*1yfG+t}_#slq}bT}oy|leS7>6En$Hq2lLE{PkU%~Wc>q;zdg^o_mqIsSA%YDj%T&1*P9T)A z!AGGSoMwGptpfB((C&l@i}JD0Lhl{)6^gE8pEW0no(W(p1E{22Qo+8Ij#MPlY6UPy z52bDcq){yeWl#la;!d?p%HoBpR9ktWw0=ljS(Q}rw`EGC3Hl7VUDQllQ9bCZRv^xD zN!L(-r=BPjY(^ppimWXI&C#bht1GyGps1vc1}_(AqEJm?`z@)GzO*`t0!B)ZSDl_D zZ37el6oNs6ccY2|#4{xnlB|U|dLPec+ z^;8*H0eogfrh3i*qyRGj8e+gOLP$&NGq5+&_no1uOkjp$U&h7e2GA%w06-K!ra+Ib zp5Y{>Jgm&EfQT%=V660v2Y^VGN^6b%o-tg}OPrJMYVAZeBu^BH{@W(Z~3V(c=GVCJFL z+LeOdsOWOmz!_AUc00gd_(6^VsN@&GfC3V*r*V)eeCJ>oC3@j5z{yry`HuA4Ub$9D z+UiKs&W#l=11MOU-hGivTIEvER#_<>nE3iFX?1d8&}5Z?=C}kYg&m2@e5vQ8C3%(W zx&zz|b=9JQ_y@=nd6ZNF;3B17#~9|t;j=gdW|%Z%|7vYJ0&{KnYrJaEads+@L;NG| z1B=E|HO`6YYh2{{;b=LBq8$5jv0?B(6h^;M(_iQ(HtrQv!~8*C1o#u_p1`~W`=I{n zpbt%<3yVgZs2%lXM#olIjg%z}frT+k!rG`ZhxsGy=op(iQ__od1gPBBxtV@N?^f`P z<)WsG34kQau!B220N$bqhvw2o9F z8(s^rlwXJf;}TOGfYZYKD~L*ES84KGSt!XqveLjsfUEiTno#Z&b*61YmegYapW%Z(rOQX_ zC$O(+zQ~k<+(Ma@F_amMzRH|oWzi@Bt7ttixsey*3K_beM zS{{Ha;AHJ<0M`+8#Om{l7Et{FYEpZ~p;-q}$T|+ONPqV{Slwc;b0DBW&mU>9o>4F) zz%5%75~mi8JOiAgcTg{^Xvh;DNLTx;ww~6fc6-fFXlz&^iHI^Nz|h8)zq3YAFj)!E zk-i&1nHoY%pilm1nAOW|2fvpJ*c!wz{M0H-IRiF3N#w?MB4?=A?U{hV-jXD8e5I6S z075JvsvAVMWg;+#Qs$FEZ(w&zW|CA^wU49pm)fnoFW#mgD_yhEinPm8DRM3sSuBkS z>hQ7%KralR>FIwY4qMc>Y}Ptg6xOj^faobRWkCz?FL>tFso&O&GlSm%e+1;TY1Ez#>3?| zjL{1s5Cxt1qV&thiXye}LOWr)tX&h4KRP7GP8Xt@;V;@I0&?$f|JeMf%wT-5M@ghS zasL=C2lM)mB4= z7iA2**3R_98jV-m+Cz_d)#uTM+xRe+K*e~PV9GB|xzO#NF&XrDSpQBi`#S!n-B>j(p7q?;`h|3-U28rif-4E$+P~L@D@{+%xCQ&x zBW=d9r^Vo|7?c#}%@;JWUGq85^O2k5ntmp|19s-{<&iWCn_6;i@$wUO&_kVfy)#KIIigl9kqFoujZ zq5Q67%+lDE#9_bL|JZ>tyVC-ae$X5T|jao*f*sZhVyp<(%C-BU!iwRqG;FBwja?$sQcU;0!-|ZZx(r z4{_+ThxC!d0lh`rwYb@{v^XFxCEaZR%f7N#iL9PHC-V`5MJy-cXO{_{*21*`nBi@N zLt`wsU%(n8CJxtd1T?W_kL8n(511hUMk5_{^ElWC7DcUy1#m_IHjOYVXKj(UQ9xH6 zeM5;ZX(a+E^Yo$9>V;dF|M~O&xxDxN@AV*q-_Vb-&__LuA!CEe&|6yuA@s@oHY~@y zzT|l?k>7j!?~Q;2pY*sV$pdE}Q1Fo7s2v9f7zRkzS%&~yO)`FX3%Cl975^{?KXp)l zkqNMZxrxV439C+#heRjYXW9t4pzbt(CoZGWaU_PjCBN}p$@~fckXzi3efgN|ee_;U z3;FZF|9n8_U(Y9PTXLHl-wE?V;(YAmmo64X>R_Ila!_g`*&`%xRX;^%@?G^g< zM)lu8v}^rJx*Q%|r1>Ae`&JEcV9x}_doAA}-gdZ+8X%NkY#v>LJ~egskEftNjvhm8 zd|$J)n#<-{J7C1F(QOC*{YekB!#NrQ&dng(YQro4h%Z_SxbKO-0J?&x<2&QJhBWR! zG|K)vE}+7v8+~YP3|pB46rFkM>PKBIX92Bl&;T+$a`cGYa_cP`!okZPy!np3uXkdZ zf+mHYBkIS$B z%CE=HQ=gd!w(Z@fWgSw?4x!?U0N5+Jfo;JrX#jYJY0q)Jt@{vVk{!H#^*!y_+L2Rd zAO7=~ufCG6pQHO9T9WJc3|N5H5AoII{X=f!Ucv`{oG!P`#zlXn?Y{SWzE^(q$A7ermc0z? z0Y9(e;*oLd_By~7de~@P0Vt0R;e3o>&;BH4WYV=pJZbYCcD5@3xlndlIWzq6>zi&K zoR!{r|3ku>f%sYfIM9r>fv=rNGv4RMdDG`){5pZSp0;P3tOT~dIpClOmKdr#U(Z!8Z9vfl#ah4Hr2GwVv^pMBdulMnpm2ZGP_e}42;KPvoVpC6l{ zb0_ps8*4rMvX+}<-t_;xNnY^$7ff;Ma zBG3Ew=gD9H>3}VM;4=Q{7yr{Q$}7MBmGX@Lc~d}PCHV;=FV zzvtWivC&h9mYcPohwI^oe&kj1xzBuBK6~`;i%Q~RL0m-s6R-Hzji<5kX-ngby~kU` z*nZ=Q4}6|oG+D6__4|I!yjaQBd3Jlj`2MC6S-?KLpIfr?6a1|myRY`&$_D%~3*j4t z##L3aw1x&V@mlQuciZN~iLCVo+_$^8 z+BpI8tp~FPsdB+{V0b42_RAj6;);!Tf45x1yn&XNg=IaY?&un^mkOR|XM&PZCDMge zBPf;;ZevS z_i^@Q_tsF@A=~v|e)ZoyRetjS{KWbmBOf1n$9v@2FaNg4X8hx7zOg;wU2B8=@c5WU zZC~@MAFAuT>AKXr`1qP}OnYC=`_gFu^QQUVh@1DHjrd*9kAk??^CTjly?cuMRi)X% zITwQjz0z9Fp{=?BPk!~^KUI$2|LKN{j?f`HQgH$C zy0;9UKM#4F@bU|9&u1_qke-PuLm9a)pens(IbdKcvO0( zsQn1wOVS3VV~kv!jlvF+u4!6@0Cs{rM>Swg@e*KARmoFc@E_&L&->Y-w8p(uXz&7l zC=86l8n@^t3VeWhh~v{dPnAu_6utY#LZt~CgMkb$XPTm|S1pY)`_?Ek6-rO@Qvnp$& z7IqM15mXw4_KecnsNH}|x82aA(~cf#=utfOoN>;votDwoc4p{t<~Rd3;D|P;Z6hFp zfb393Q4|HWZ<&=#<#zKf-x4wB_dM?t@kZSE?v_hc0dG~_FXG*o=UwCZzyF|&Z#TA6 z!OW*)8T4{V7c=R0jBP4Y#dl+|0>q^(D;dgz?6<5ws8?3;3KUAlrdSWKh++Ub0}nIq z2uzXyV$j&8OkD;77~_*%AVf+D%X|ueuTMXq4p20QwFrf0kUs`g>JXZDmL^$8(&e$_ zQ<*AHCj+$lVbg-mWh~?x`N#&j6g`s>%BRey9RN+KBulVbCNdlk1WwFkm`RZhv^&A% z1@lZ!p6DNd+cN7T$R~A21;9j=4`DVNtB5zUq5uFO07*naRLqT10D}P>1xS)6VOf+U zGE6$s1+X_*QBaOf`2fEF8=)|t0RRFdVKNK~0lB4A1S`_am}0s^WrZ7$G6g%O#aLiV zft{>?2@aMph^?q=RbJ;CX{I2laS^_k$s>KfXHwxMIVL#LRrvQ>*#VM z1M~)%ifXnoV+7bqhXz}JF=W7k!WaTOPlvWd4rxvl_!Wdj+rjuoS#hxDwup#rtT;`8 zaDd{*03cxp!eg4NoB_PV%>V?26kOpy1Q-b0SZaVLzybm1sn9Pz^aSvU=3kG<0dgUm z)~8`pDgdgG!7dk9i=<15q_A;yQz__A3i8V(rOjaRA}Hmi-WVP!vVJVeB%2yZzRda# z2CuQ=I5kpO)RsERzJ^?MSyPVbiz7)pi6n#YU5Gw3%p~uQq{FzdA_99?!iAEJDZmD$ zFf;`)7xGoj7nG)9d?>SFi3%;B)MxoxKCJR$F|OqvxiylHUy+&h*0QmGp0^UF8OLVc zNiQEWM-@^4phb27Susz7tI89dCvpWSvqC`o-}V-i4JIJwssd0ReO!Tg%(~>}7s+ zu3-FAWDM+7zJFr812LjsjUIlJzYv`Z880TjOxnqvd0MriPf80AT52 z1#p**)#M4*L;Z>x=0u$=0bPZ>QZ;n)L_yKSp}ws@(+~Mxs(wNvXr2w|L@#HIqi)Fw zNmyU8ZlFMB9O-|-uLG$x=K|^J2?U)Fs~76bWJzVAO=z|KjcKgutTN-4tU~}^Q@7wp6;MUpRdS`{hE|B;y)~o) z))07YMkvW$?e6 zARx2=;G(FtN;Y{@*4Y4k(>V}^JKphI-V{-tQK%d8qH`ji#yX#99fvc4iw)u;ZWw8b zeqYWPh2p5dkigJ&bS!dQ3OREIK_OEekyjrSnaXS(OnU;z8lwA>8-|JqSxek)te`Mu zVUlefwH}@vip-!))D<~06nP9FbRlwVBr*f|D>2{~EJkNdzT|qqSg;JFB2Vv$97SjK zgvcYOL>~F7#xKIDhvGzPMXF$8>?NQb#xn)UYPa@rC&B^vGk->?P zoSPAO5IrOiTdWPqcA7{pE9C5>L+R}7$PBtUy+r1%NOG1nTdmzgRxa@8_}N@e?H9Sa zC-R+FcIA%cTu!`fpUCYGi#&>ea6UohhjZ`lw8)WTB47KW$ncb)mdVcQg7RkGvu8cetiqTPyXUjbaG`b)~^Kd8wyOt+Jj2g+-Bd)%B{Q8v!Nj=7Ei3Ugx!LVvq>zZZjX zi;s^ZU3ItT>rw&L+EZKG)&X5jU;42#Sh_M<)6b=PAB@=i`--$m#mB+U8XXfL*AvYE z0)){E1H;x6!Jv>m9*kx0brrRvDkek&Pz>OTl^T7JLbhHv^3G+%p%=ET)4YZ zJ&YlMxd6lXE%z{S)j(Wjgd2G9G@Er7^0!_LD97qCQa3AEd#IB((*$4vY^Ga?F*qC7h<7Q&|?qR|&AOr_g z;U#8Z!5+{DinNHZ_3VH;W1SK5NSI+zPf6xjjU#ERf;VciZO6=p3E@R6?_Q7{+dvIDsY z1270Mm(M}-R|NJIZ_AK~#=U!+_R+W=$t!inZ4;yOD+=Z!h%2av;I*Ga&puq6t9IRR zK+fDQF_~_#kOpMpO_y%<^0c_l0 z6PV5B_gUEiaRDfFwlZZ{Ohm^j`U3fh`vl5;4lZ&fInST}I+%$zC4TxXV6&^Ad$s;^ zfBZ7;9e&Q?(h52AJeHQx13>OwSMAcZh+Ff1?5<<7?FD(n^H=N{ODFRs4XUj4PKYpEm5w%v2( zY)E(qfP1ulXzTBDJLhWij@xhK7oeigDXe4KSQI=SAD8?cImsHpI^>80N{o-scFU*P zjmuMOd!O_-1~@tB$Qhz0g;@+rpFi`)e=cwT{r`KCw^sXmA2nb(j9zCK!(o74@g*`C z7Sh`SNNiO?jX4Q-$`+S(RT!o+JD)9`^y9oEt4iDY!@y2t%8vx(pK`?PTJ;bj?6+bA zo6@8@*V}Yi@9>c_m{-60AIQ7^zxVp<)_(&_SD&xQ96V(maX|BskC=SJ3_v%1+2Egp zR~!^)4cr}pSP7o-<)hI)o@N~VSiuK%k880kcv$wVd82-D^D))ara!u}ucgB6nc)Q2 zBjYg0FI1>!MgHhd{%BJ`E}}ej^pw2qci*P}%7G`OOB+Je-~Rb_4Q#3gzVCZpC?EdY&ulo%cf8=ckQ zz!e7tKo{m)nW1Z{m&)>B_2(J~bZxPEYr)uq)druM>*indmOwvfoDlp{gSh~4T}t!u zPkday`=#H#p(OspZ~X`1-=4#JYHQ7S&(0ntexDR^yeD*k$t1rQ(|&6Elq{cJmUq49 zUGnmF>u2*m6Iw20!@;qD`>e|TqgK9gV z{yMR1_`Z^;nA^*A!jUGd(HP%b@0p*G<7bSa)a^VQq{&$_Wr^FEeWuri@1tIM!$A%9 zk^3IivkU6cFTnuB^}Idv@|lP07qoD>4F6V{P`~WsJ%07WclhYr*l4-_O@KTR-z{HU z<5tL3iB%To9y8`&_T(66w24{lE8q4+{Wka4zxP|eC$Ign*EYRw=-u~*zSnZ#ObH^3 zWbc{tbIQVHYrI0{=ceVBb2dNSan~IiN-y?w<5O-FSY2a48~ew&?PLFEj@22OW4E=Q z@4oX6&GI?FNT8_pDvbJkBYNyy*xMH(JGW1lXEQ@KSK%CJ*IYH8qU`ohUiDo0e?R!8 zwUS=t_V53<|3j7*&&yB#{THZPnWu)&z4LZn_@6$~RL*aBobb93F0)t+mn7ir@PX>0 zx@Evi!JLZ#=3U<`v#wvMUn=ANS0VuQ+_arx;&#@-PUx=8RSeuQEAFX2W>`G+Ur9ZVPsACV86<_5x0ekd^H}U*N|KkLF^cw zV=DsG-lLc3vC4R>rNvS@)sio5H4bOviqD9=9y}4wiks&)?&iPgSHD`%x1K{pgGun% z?N0_Dm2;3s+W6fnh>K_*xqoZ@>JxvAf|1B~|L6}ka$~O>0dc+i_ueiqe9ojBlv|@+ z*Rl=7wQtVmm7^!Bi_q4MsKo;Su8U#y8w0rV=saoDajRA%GFtBw#DgMc zrMlSWBT8*m6jglI1FD$nij=km`B$&&$^W`ZrmQ#p+t15~{^Wm_5B~A5=@E*bp_aKK zpNU083QZ7gW>L6d~C%@(*RwESGcu3j~*$0qEfHOyqUHbg#_L zSCJXeBn1tm zFqahyej`Z*QD{F!**jD)>}lhX;@AMcDT5pMFXREx%q&!DK_j0s<|t|dc*`a01FnKS zDF7>2!Y-0s7^O@e0FEiRG0jyBQ2bZYIF5}6ne>v80&|90qGAj)4vbABz=Hw6Q)Iam zQ}n|`GJsi-g8`5LsMQ_G2v)RVN7C+C+YIoKD!&7c8gylxk5tEjGIMr9Ju7&PcU5HP zowB6@gSaa6cT#PaUNV+ZpJL~V;Y`y)0BZqi0&GX+1AL@SdF_k`lB-++h%96bJ6O@t zvgG4|f?b$X7|&9)y~z)KX8=PQfQq0HPGkTRsYd!JU=ET42Z`J}s7&c~kjF&w*+LYz z2%3_4l|HV(y0N5Gn1a4&OF)ePSNJxcO2)W>;y4!)j7M4y(nSn4pY(Ogh`?b9#%e@Q zg?-HW^$37VF47CKi>@p64Umnh?Etu%8>x~v-$4Q95xnRbRhojwdSeBoXh8*#qX8?x zI4W2R5Ffyy&e*`AfcT1`exss`{P@4C&Ojb~u(~Y7hg)CsQMEb_xWj~B>sL5dPwJJ| z@&1!i+mf~qp_8- zKGJW()StEq@fzM#0a_kO08?pU)t$n_mS*`OUTp$?ktgJUN<^rrQe;a9JOeWssp*mZcBqO4H(10e+f613_a)nxTRLJZihqr&N}xGwgV` zK~Of+SUe z*4igmShuAjPw9z#BY1jnC~^>h*Ljiq#v->5Y|dSpHL%x}9Ru;>=Nl(QzWc=@qvwh| z`nMwY+$JJNM6OsCdE|RV_RZKWy#QMhNa*i9C#MJ-OZ=}1^4Gfk*Kh&xj~!Ip$r_7Bp@U@c|cio!*Y-59JzP9wKb z^E^3r`%KHFN&_x)4t=ww)X5ZM44t#hOtJ?&F?qkA>Ll(-Q~%PTjXt#5Rh zx4yT>!ABbt7#N;Do0rJMOiz*Z;s>Fn0If^vI7_iRtHxOcK7CQ%uM1R@|?|M zT>w=xvhc2o>AJYJfzd%y&D-+X5M%t~w|@+e>!dA-HigPIe;c(^1&0Vy-DEiesJ0

{Qh}4^XTLW2=GO$An$dh@p3_s-x9f2LJc%fD$VuUepP@?SPWN2%Bte*F|-wJ;c~AVtu^8+!$p1^h!V3D!N4^MycGp4 z8TR5n+UupVGRWnM=Uk&+%RU$uJ6O6Re=WZ*ce+olHiBNZ_*P{44`G{NKR{J%EEz+z ztR82`G%QXIa&RRW`mW1nQwhq)eU!E^WjUjG0dskI@ZPkg%Q_4*2FF@I7fZbNdTdFOT{7Lh?Q!U1g#_|i=s=RuLu1>s?A!g%|8oN-y) z&OuS!PUi|xObw7Qi3MMc%c3gX7iDx!S$e*tmR*aYcAMIe@AR;O$dd*u(Ct zcAM;pD4?pt&N->KH|r>u6GFvx%KQ9v`;~zYKODHA$bRmjlhWT^zquPQ7qY^*=%#;l zUvJe~JaJAQI(1&IeBO0s9V0&vef}Ql&d&;<9j|-BI`9T1xWS3D;y^Bs*FkRn4)Bz5 z5=KhO92*CAl^}uGQACd4bG%wBP>*!?34jvXmUX}tH(jCi;8D?zl-m{Tb_XUu7&V#y z9TWk;90M@O+0l4EaqkHQ5FEJiK-peRAge1g;vd!?<}=0@lt!H?$3c<+uO9tI{gi?A zLKBchT+R8Ie(c~k+}#k?S-t4v03O6fSf7d7=_@rL@{=OcEzSSe@_Yzqt5AVXwUz4|OtKy5n zXw1Sj6JFi6-$@kkg&&5&*!b&{K;68`ny_;ul5YCHRVmfT$o?`rJt9- z_|x}nC20*aKi%6DD_5M51G=#LowxnE{QI~4M(q48{k+0Q?_ijFE{2Ig$gpQlb9?e8 zjVdIu2OD!UdfRG7Wczea&PIy#n@nP&_pN}qVph^DOLb1&mgaJfE26_%I^Mhg!`J>p zIq}ful!Q+_Q2GDifBeJp$xnT9Vi}eLyNajjACI{J!uL+j6ig%v02+*Hd&h~9v#wr< z*Pg5Q%FguLjN@ni<-fBh|db^djY%5#ly4Ti}Uc8U*Xb{YXAED zeLF<D=iSTBx}|xB5{GsF-|>>~kS~66jhiFm zK#ga=+=_MA8-MnV@`+D=Lh}*t@8UchzUr`i;LkoF2M=y;jn+t3U;VNH)?@LW^+i|g zl1`~OBm&dXEhnq_SnFqDsa%utzW>_&^60(wy>MHaO*;p)J?BNwkz=RoA1QzKU;M26 z`mfd3*3Iy1y}$B#tJk9LznV3wCwJTE@4tP^8|9aO^Y=IEUHwhZ%*uN|e!D*Z)T>`6 zk3LdYT=+@IP8&mP8qYa!gye>sN_ z7oGUt4F9f_FdU9#cGkXvEH5w1^z>AD_Ovn>$o%&0t1bpw*;l{l;Hh8ug4BDlNVjX3 zt;KokZ(E785INPq2bT_KkB9^;;)Q^?JicH5`KQQRe|HUbCimF#`|Hm){vZehZ$#9Rb67|2Xex@!x2x$FRNT?$hw z{9e?^P0iDz`vu65Tx1yqbz^=o5EovmZ*~BrKsSN2@VbIEL{;Qr z(;+C#JZNK4pSq{zawz2yGh`H%O&G0ow7XI6Hii{2OX(nyaR&x6J8RTWhT&{p!?mIAqd=xrw%0&Lr=Q^!rqoe4rFPg4trMATW)G z{bFJaMF~J3D6F!vbcTH?ih%-q(3ekP+Z>CGdYN=rI17cT(aH5o8BN=96=~8->zZ2y+(?(I2 zHQ3gAe199ucqIS;wOg9f{20&{zyywvVM-g1s7h1V?k18Ca^ZINWVw(W1zPqz#ZWrq zOp2L8iqVQOrxm%3Mu5Z;p^oxAQD7R(SO5W&4&bLg;GlyOyV@}cD2t|Xn2g7%Oh zSiSUY*yuVG(l%O#waWm7u$L%E5RRplR60Q}QviKal(i$=v9AT`<}xl4$zUE)rEODo zPZWGXTXH$uShc4Ck}1mpUbcP0;Fcg7EL0D>C0aoak zbtE5-5GPaW2ZVr3BO}y5b;=ny@(MEwNI_&f8_Q@2i&nVoc1TksqCiQ+FzZT|jqD;f zEJ=6V(JqUUsItBh*Jvoiykh`F5=P-20x8PPMbm&f6t72pF*X1IJgECU-I16Ih}DT`Enu5gx&5)y2v|Ft70rgCy@dr*pU){l~zvY`+-EZ|)J*g~F?QJIVRyh}PYDR89 zukyH91IMQ69=omgyjIwcee7ek;Kt}<7z{uN34IX&kYW zf9jwE@Cv`oMFH%_Sk8p6%JuYjG6v9w0gFBh8z7@Q?2|BP`PW-O*7y(gr13kbh$sS> zi!q9Fl0ohB;Td^gd@f))v+~*cE`-CI)|*u{^RiBcfWZI}1Ds;HrXoNYZGNB`0L$ud z!Lv56pT?0M^DhZfCk9MX!3%gj+DofjhbZdG{5yzC*H%&Qu-utNsA3Ze*VKtT&?c6) z)vNXqopY%-%PTQ)8HzI4X`LD?0)YSkAOJ~3K~!NM<~}-zb{f`-L5|69*k5Q;S|6dW z>7te-xfCI^Q}9b(tR7kHS)2I!nt6)#fKBtEy^tEMH)DqL_9VZwffg*}*NPeHO{*p_ z&ZYEm(hcY~-c2kNaAE0D01YHlQ|$l-bG@*?H^2TTWKWXF$sqa+VQ98JJ5A&`aypgB z3dfcH%^c<|ShQZi8nbKcT2pDbV1fBnCwBvSk^gfeku!lk7GM{EByWFM{uaj~5bB&* zG+@|=_^vT!OkWfY^w%NKSX62ua*y{Wn0Nw5}{=NHa@mu40a>)#=)$qRF>s&hl1;LUXb%1Hosm7?;gQgqX7QOEC zwI^2<#W1ma*Bw6GRlyi1a65ji91AN)drBsNyVSMQkzx>?fqIfG(WdG;r5#~yam&Z? zH?C_g_B+R<*)X;!X;?lOO=9snc6v$nwJ6z=w*$jvxks0I)#0`) z6jsaY&6lF7)a*bml&aaJ`t7P7b5o&yEp`svFwWBAaX4V3O?h&oAS-7Z(+xt1*p(ju zIBnlwO%!Y8k)Yg03hN1A4*(#p6o8v6jPvYu6Oy|qKX-rjZe^z-GFM9X!vT~RC?D+` zgBmOc3z3g)G;BBjK;PE(Me1XLa&`UEseojG03p34Lo1*|A zsB&l`(gb+mUqK_BUru#v%rP#zp6=ejCIrY}{=mF~2i$E}U>)*z6!}j+Xp1nwjm~)E z?ib_Nl=xSVcf^g-3!n@K;lMb9iDl9AaOBP-`griBc4ZF$JqoDt002p@m{$fMB|o8Ab>OA)$&^yz{>$8y6?er*bI6?#6usgg$<4~yKHfToVkK9&)(mW z*BGeea*jJ=L32EC;4+{QKvsl}fk2)oEze`;YkBqjk$zKY=+q;pl{Lu2$4Y2!SN?8t zK6XWEf@#%-2juC8UhzZno>m3a(s!9`{1CU@dH~Ki+=V< z{5ko(-~PSQZ7UCN{iU}G|1O7_4Qz|kEfMMzvdRb%uZ!;{t}E0Q4;zX z18JIWTYX=P@&4+)?FV*SP3xO2TnsGTOxdp3IVDFfq;<9FpkfLtW?-~Ed> z$p8L-{$HC&b+y-Dc=KC@f0x7T1d#e9GJv|c2r529+-mj#b73a2N^Ue>0A0*U-0s?D zE;g8}3F7kndwJUO&}PS+s;2gxg)%f})V9#;+r96P-nYJ|OX$Pb%D(RPJs4}@_00C& z+vV)Z$qLkKh5wy@_d6Q`a{2khT5)a04Tfm`v9F$JqPAAH)V8Kp9W7IIi9uYfJpe;d zufAWarNb5~+MvGlhJ*5nZ`ghwf9zA@`26hA+sF5E4n87`USwl>Aez(*4(*mtKXhEz zJid30^T3|Tb(C=RcUW$RajHd46B4HiVJuep$Ob!MkgPTBu!=KHjxVhaaFm0 z?D+li!T0?~dDRd9w=F4d-0Ba0i!_x7)rF)p1vRX+0oi0g@9E)9sQ zZDDc=N?U4oR&qlsp1RxGuiMg3s{w#{G43^{IO!qjQ|37eEpL8ZSKjvSYHZp}$pCA; z?OhkQ?cegcURCIj87q_JS`~{a2gOna)T(@H9bSL)U0W;DX3Bp_{q_b5CZUWdBD1IC z+W^Ibl|~M0UstKI&X~v zBa!ON!Vs0nD9;pNlfnK|j5Iu8iZP5*1O;#gEfVt`(V`gK&!o$|NI3v!WQC+tu+V1G z?Syl~aUw(5lF)!AjIudo1_nrTyQ``@mN8%&6trRfqWzT+E0Y2mrF1N+$GtR^q?ZU6 zL$U_ft0>7=V6;l%=o)5{b;kmWi~;7x%3!3*>B`b%>@KoG0suu)Njn46&!&p|DCMd) zv?{b)1*6Q4($+}X8}y`;eob8|3lrP;YfEJ}1F&I_ zGYS;?Ii?yWQuI^FbssZU97QJ|Nebf?;tSaheNAzg7EYmbu=VhY2Y%_DDB8mk!*{aL zK*JPWfD|aW8(>r0A{!Yy2~1tcA`BYTQ8qN0gHliX7D7WhsdO^~gZMC+C}S5ON#vuW z%G}vXPx7u^)@s1eOxs9-QUGa2F!foRz`_R@3s9FGF{KLVP3N_fRSbNXzqo~ezFdn@^Gxd{hMMF#HC3^?jB~Nzj54cVf_2G zrjuuqAg8=gWcmU!&X}Mc&=3aHkV`sLsZr36u@q4!FgH>)fWQp=Xk(y(QHU71qt7Z> zNaGCbae$Nn6e+`<)i)vqSX9BQwgs~B6Oa-eF$GL&ph5#W(hq2819T~vM7Lm+0XYft zjoKk-!A?O>21p?Rmyu9v3(MTfq{`UD4`JPd)lT?JXc&(?mS7$E$4?MmVkMC*?#LB35U@vm)GwYr90TB^<_LMj*K=WK6Ac1bEH z$AugQ&>2Sdqj@1$rXqI?Mbf!c*D2EJ8Ozo)r>y@hgnFJG8><$AzppF8WdMg#qn>4( z;tD7WW06w;-E$Ebv9_~X%SFC+M&zXjZ2fxkE|Kj4wMq%OH1{k3aS^$9MdYzCF2UmU zl)hZQe@2FTMIPW=Bp@!#{T~&X|9+#)4E0B`S*YyQGHEN9`AN4o0a<3h7Er6NYavg==0{H)u-2qeZ24IG#dXwsXFl9Ir4bRg z%@(sP}Pm$v2FFdG8oCO`3uT!71Njp&xCBY8igM46zMME+zgcvZrwv$y^-QZz zR|Ith_f}7r+0sRBak-G0sj4Gf%xrMGxdQ_>8*hjG|N0`o*=X1F&*2FG!;5Zg{FxZ7 zGlMuI*6a?u(QkL037)N`y_YN~~;;(l#=`4Mvn8 zVomT%GxDapv%ILkL~1}G>|B||6&YjY0FN7RQ=5tHW2N>szfC(pNGP*ou76=gcOLtT z>pQkz_u1#HhR3U(b(K8))rT9lh=?fxlec~lIJE&l)V8&6_pu^80V9FrWt7thhiG~k)3 zxxTENZ~tiLK-TyF_50p`NgiNd~4CMUj^9tJWDw*3=F*d=7lyMjv z8iM>gAP&GL24Le;pYl|B@Khb7>A)F}mtT~jXkS2n0FyAzC>HzU8DM7&g!#ZH)~DJA z_~SsYI6mfZS8&Jv+UH+utWGrr1`7e03*#WkX5XcM#OC~|)eCPxQkVnJxJr)R_JAG^ zc6ZF`T!I|CT+)VGp9L4Itlm`Zds?)?DMXHb^`WwFC@WW#kvN~jQ7(&T7gvFyBkvW< zT(G1)0kdL|8~Sv~AQr@nz6@g~?RfQf-RNRbvNWE$|AZb4?z(QDAV(ak-S>t20 zL><8z2Y3tcm9|A*)W#_XAo#j3gKc(6G=9oY|HU-tA>zV#+wu%Z8{=Wfr{7HGGQ!vGm%XR50JEIZV% zQZDrNzp5rEIey|bBd*-YmCQ|RpBn^aWnUjxv5D-xdaoS6-{ynZek0G!>Ao&f|D0Lb z7v?f}6WCQc_(Ld)kE?F|t@N9ZN0O>`(6>^lFHTuG2l4Ul;>37yV);++e8&X?xh_sl zp1iS~UKq%ZxwQdifVnWLKyrc8+-3n#q`SDB%M3R@M#cfgZGf(e1?FmkxT54$8J)S0 zvw^+yGjjaQ>ODv7e}=%EjbFME@5S6rf5)Pi zXSp5zZ=RizFFagd@ALy$!u|P$UH%^QS<2V9{*Q0HARt#6(Peme^^0zj=kMPsf7f6G z{OC6xsWD)amFAx98oqOd?~u>iyF;ISyv6_h_uM5{Ul%c9U54^BlX%fnuTraX=K~n0 z<{@4ixPnaO;dnUHVGTV$1B-;Y_4_DI*z;p0t92o_eCng}@csA5p{uW}B6%F10C6?V z;r-R6YB69ZW{5l=0851J?x@DI(K$P#!#<17%=gaQ_Z{qyJXW2D#c?h>>k}WK9T1Fe zOhhSNGDAg~rg~3=d5LjkTVOE8zTeBrwm2Qw8tLQnGgF~itZ`QVjS}F|JVchkf}e)l z#4*IZHvC(p(MNhu#r=g}{c*cyqHTFB{d$D{yV}9!)qU7+RgyRaY$k4a^1X4V(~-fT zg)yu0?!jumhre0@i`-%Ow5P>K`D(qgLcgplWB4}<59hzh*+<%HC^)lGTqjc=QOobU z{^PG)Fp#Sy+KX=WrhoDiGILdQ9=uKp)4jFV$7=;&x$)YyoHyl`rkUhW7+h3SopW5Q zXtzb5SWTiP$(5cOTe561@D_PhCCXCT>2uKuMngw93KkW^WEovdz*E2Z?)GmxQGiSS z2&gP7g`V*{_>9CEZ?qbk<>Os7Mz`KSFL~iMn*fT^dT6bM(;NL^ypRD3+b9ZC6RAExT9E{1okh|SK+aWX9&*} zT!H;ahA88X4ZxMlgGH!FWQ@``fUsf|DU!oVVloa0 z3+ACQO6Mqtr(GEh1Biq%7-cw=eS^Yz0fJ~4fbuArcSZ7!F*+oG-DE6zw<8JEMnxv$ zegKbAL{LRNk$fc+nFiPe0I4V0;)=2qpg=qvrqWfQ3|i4|-C}B$BRxjN%&s=^>C7)jnwBt4%= z2Y?vL(tMUm=?7%r&Uo^yBT1Iac+`=!Uubz1kU^XFN7~$oGz>U^DpKfdy5yHgxNH~z z-I8Q|Kx3&SQ^Rmx(^sG!pet>+8KVXR2myeLHl|9!ph-7V#xwvpItIZiG%BQrTMwBB zKuLZR1%70Jaxxgfa)N6A)RBn3!!{olv@Vwcgwda7;yDnq0LBAcufj#!0$R~-0ZUjW zGU>==N46vlb91QOouK{lg1w!MG zc>t&oIun4111lcmHvn9ISz0n5I$MyA*W@`MlQMb@pohTt6~JI*MK8v{pAGCf2NgL? zl7OrXe5B`C)D=R`JOK!kGSWSCS|)eKsz(6iA=EDhLmMU~{zH zDT@xT;T)Z~J;Toh)aRacLRgi+b09#QUod=B7 zOKXPwVaTF}Gw_yzzAS{v2cRMZSnI{cWUU8AXxfFP5qU&b2&cjr=5g{tc}XMG8$eb~ znRyF&rQV2J0cSkeWevo~e4+h{eqfVkh`$1`k%Z0%q^|w0sz*yGl+#|U%%R*SA?|J~ z1eXPuH48x5FfL5mIu<;%E8+Chh~~BQt-1i(PgJm}t6W+8EFFYBq#pofCgowhN)-iM zkpkn&KoJ_b-WDm5Xfe$bmGGd#5v93Y{NwIZY_%;cX%h9Ta)) ztjMk~|1h^9SGO!F>y|wHsMS$_R%CWsdW0CW@g;|1a06>=kAmvM-mTZl!YZ%sRUtf{C?;D7G=ZpxK|GeRsZEf^u(02i- zMfzHgiO4d{Tqqr-_I%pb)hhl2*mM(P1;ZbrzX&M2knVCKx7~8y*uY-&JdyW)P-OnA zvUKm&BKQ8~MQja=YUPYwq^^`)7d`fGt_Y`J{sZ*_h3=KaOiYoFY>i8KM#IU-xbea{ zlWmWSbeP_cOlCg=Xp{`vp-btG`o-rSt@L(?R7cIFwRVUGi)Orb`A^YCB3p;KYnn}9n#qmgSD!- z^OY6J2LYF(bB?)G9K;o`KLO96Bry%0T5NQ`uzIk>i+{xTc$$n{aWp)i zJ#ki4nLUc`?D4ZcHaETNJ79?zJkjcjxF4;M#m@Gk`SNwL&V|*6ZBjhgKlGJ{cs$v0<~Ui!*b{uhxBzLK+$G>5)h`9Hdd}?n|WO~%NXaA_5r|xiNPPb zXpTKXAA8qPIq;MT3!BIyQI&3XOl!Nq4iy{vVyUFhr8@ey->LX?N zAj=Qm{%}q4AEla&8v1B?yK^FP`1$dI&0^`zSbPe`Xv;?k$e9fy~BmenB|5>9R@DU^|jA)mBXlqxzwv+%& z8fX^TS~ywB9Br*^IZ@pMc)H`RJ2ZYDTU}0(EzF^(A1eDNed^rFa|+HO4^0q@0)SL0 z-6-mrUjTOSkMxlbfQE70q`|w_x%Xe}0gch`W5qDdRQR*-*n%=sIU^kM5Z}ffD>10l?zs;8Sf32)TOmV!!#w^uU@~R@ka{Iro*mhH{oWGHg(VDy zB|}!}%O09@1%6N7eN6g0jKvOLH2`T#dRk8+b)`aI>ZTHaiec@>VNu5z^oSc}LkCEq zT5axn$e!tgRfpEw0LUDI_0U&Wt`1ssf?CK<@_-n=-mBg=rX|#KE#Ta9>f)6 z<1tRhy>QNoKa_Vk^YT11mSH!F6u}7JGE90ht-mw5<~fr`tF#$)LQRM$r0o9p*v zVde2xq-e&F0Ym@*AOJ~3K~ybZi{(ZX+~Z&?90ERx&0J9O^CDCVgSiaHFtgZsDhiC< zPNsk^z+AJ#ku31lKA1gM?v@h|Rf@oF|3v(4TTA)}yLj{C`+~R(>aQXAy8hvuIWQN* z{y*@c56Jhw^7~_}4Lt*#K>)Zan zIcnfSSh+4n4a`sXlF^v2x?40WgZ8uM3teyQo1c=-2I|a}wYQl4Rl)B3`kivqjW?~bf5KaEA!>A) zhkj^}_U`ND|IpQkw#>@4Ufh?;Jyw?IOvcUu?ED~3^GnB1*XQ3L?!HehFS=-4h(H{^ z9`XHn952sY>cttHule0wZ~qN1oE^8VN!;(Jj-4v^QGW3Q=U;BvAFg$VymZDsRQd&4 z-7J;o9oj2jJ+okYqv6Q*&yDqx$FINCNwkFKEaQ8hd98fxw)%xewJ=YBmmhpl=&MB` zFTUC?5jAE-(nQZf$zw!&Mj_c){KpXKBN4{DAaoE~( zGotuCdiKZWZ$0Pk8dBg@t%7~j*6!1P3BmJBP#lQuYn9`1L>{8YT6Wx?Gp_i#R({W7 zlx26XLV2{YjrsC;Jxuj$E~T8i!>Ryvi}QMRyj+goC_`glh`~4zUF}fX3xHj941ek| ziVSYDv4%@Aoo&nKjyT*#pD&D!t38#M{>Tr=C;sH}F(J0+VzTW||G?(<;D`6^lgGAr z6Z#P5uL#KXjO(`m$jt$HRCCAVl5NFhtqFN6@ioGrJZIO{TgQu%i@%N{=c{x~Vg<&i zBWTZ!;)#k5 zsz-{i%tEU7Z9phAgi+>}v1FZ4W`0mS<^m%QxS^ziX$!Be?2d9QYe)x&u_`WLkl~sq&y%tGj$Rf zC57|=;B<0HhGS7$C}l4)#cG(c#<2dJDP+_`8=9hI3bum53!J903Q;+k6rEvE>=wJo zL4i^bs$_~XN;rcD;5h^YG?GEqQ4mm;_Z6U%Bpn%c#*z=oZy}IY0XXXRR%A5AcPyBt zM0(0DmWcFvG8zXa4s^fhQPd&TJIZA^1z^qMf#rjGNzlmUg2ygQG%!F>D6%y&Mgxe= z&=KpJjyDWjD47F@NKtYwGU=ebydtuab+z^Ru9S3#lA`RaQzi+GrGV)R)}uVrbJ20n z*hdN(DX2$52(%?2Bl6$vE92Rq7)TGW0<2PLA%ihjufbGP7{MDN0nn&as0UUXRR4-(Bx#;0OB(W|++Y9@QAmd^i#E`{J5m4xdXidq z*+?18QWz=#l5y@(bfp*pV&vexV)@DPR48+oy#;Q{xFgyoN=O0#47NDrM!$`-F*jXn z?H`Pt=rvQP03q|Sj9@QQ02`Nu08BLC2EZzSl|?#|VnCl5TAx#fyHxV5C)s#K3V?9{ zF^B_+QT&535*Jx2DXezFcLW1a71P#M>}|E~0JBgr^l{`2@MD&nJdFw&ARoy{^4>r? zE65HYKf=(LU^+8p>|qBMwt?m!-Ew4B>rfA?m~mF50Lw+&aBL3P202jW`M~6p!IA|C zCe+``NFXc#pryDiCE`N{8Ek0dLOLM*3RvGp%7{i2Q}+qLK7O^K0qod#WVpgqQgl-R zex?90tu6H^3HNER4KU5q3tu@>#%*D~% z=`O1#XDyiyO|>WWUyrnkV%1aRF?wuzQ>QiDSNUJH5U=}aTSwP@OnzH0?63UPSdS>Q z3Yi-in*bY;Cj?i^Ve<(9B?Sb*B$dLT#C&DU>*`$qd_aT01)c6o&j|B=9snO?5$32g zF;It&FQiI3bX+=%t{^m7TQh|ARp3-$Y~ooN4uQrn+J$wN_I>6Tvtv(!Y+DfkU*V5( z0Ix{S^}iCeBguG)OE_V zJ*ZP%6B&5S=1T(v0SMDxNL>Yg)QWyDV{8SG7QS}tm_#vL*8JD)v~GiYs3*MWI8JgY z^9--NP$cGTd}!+#n-cyNLx>3+S-!R>N=QlPxEQ>qQy@-HurIX z6Wv|KfH{}-1?`W8Mn$Q^Iz}1CteEOZ+JK!yJCd{(9sLiUD1%m_F<~mOHnVX`=TD8< zDhaQQ=eow$cC|GPELB=0=6S0$TSJjKod?Nhs;pd$xyY2tto9u%7j+46Pv;(;MF@(F zkUy7wrJu90m8f+Hq;7E!dg|J5a>-P7kyGm@8izI@5}`Fv_2sJBDQIazQOb9FP+NV} ztvqXtP>nX>;DiMNX!+;I8qe00g>{CI3w&GobV^}PQeYVI5>F%fOY#a>X)N-!vvTag z^Ky*K0A7CBz*n9=G6Hk!OP^_eT?h8I1(Dm)w;3wnxXkd%8IkYXF9IVi|qkqRF=oX6f&HeFT0W3 zx&;im{v3}DV{XBiwlhWx6Gcql2;IqqzKXR=pH>t3r~amWeyIHV)0C=ehPlTrLuS~6 zw3+10G3{1yp55Q@z05GM2&dwRDi81Uy0=q(j63W2$dw z7gv`^C#IH6_{X{yrzeD!P0o|EGTmq76Im*SqV5+Zw>~$8dij@oZI3?kV(KPAV50)E5WC4W7)G?ZyJ`4i02u#lMva&TbBj2sQLb`yeM z66-cF_E;&RtJm*ry!fS3bC5IMkKbF}kjh8-=^YMI zuz2;rE*fQF1&YC3s+hr|Ix;cyjVpOa&KrBQHEgS2S1Kr#6@zF!bbAHpawa75zaB{H z+_5@>SHWu&(r<#fs0(KfiErljjC-AXJ;%4`#~=l6>5b;mk-&6L5&8K>){XxD<#q*j=ctMP!VWKl-3lJEIFwU@o5^I}jQ^0k9v{B4l<@V*T z?v3ojsoVL%K`CdHxs$B|TH-$jgL!!GHYo7d#^<6Gweg`pTE zFj%e>Z{8Uh_J6--q6( z01=NT{`IhGSD0K;&)$dJuO2~!k5?s-4#%i|_}I`7AU2Ore-n|jp-=l9xNT393f5BU zPWR+lH$F@H{k|TgZ~*#uw|r6;#ph2g>MhlSWp;NWKlVdECV%v&es}@A=dBsJ}_dQ7}>MKD=9t;BC|97pA5f>k;1{1|tQ%P#4IF_ag&A+4$QAwnT}X zaU^E%A|ECA&8ngNiyQ;y!hZ~4a!?oJ0pmo>V0fqqF0N}!qUw~YU zyX0%ffde|fB74jU4lHE;^?7%uWT`Bq)8~pbV}*L))&~^qrxpN{4pz55z(BeCs)`X0 zKgjO=U%KDDmtZI?e4OUl$65tRB_g}74PdG8i=UI}NsWtkqg|aji~WOw2m*+kG(BGq z9;1%%=lvdeGMTchF=ji97&fq30^*A0QyK8~+AY%$>l}Plxu>*Ps=x6Z=O8X;A;XuC z1H>8UBOW&xFWjvSyc^F;uo_|*OXJ#8_j2Zc~oQYiTzG`j>}#f3prcjq}})2Q3SEVB^2J|!`DsBMdKXcSy#q@-p*Nn zaHVc;Pg&Xk04YgQ>G1KJc`?%92GFw^vv>QH9Df`xPS{KyW52^dSvJK7>V~;wjJ=I? zF30QlzT|~vGE0N8Oh-zm2Iw-uTNwff@YPZoq&8PG>AmdxUnU>@z(*qwPs~T{W6?T; zT>AJQ=eS(IyWjFa#4SWvJ9?k>bvyu43~XJm`^neIsiStOK^*sb&(7NE{+eveo z>3`CDbB>(k&-bL0+}(cAVC8OJ$fK8F_=oHei2csZSK9g7t#{gGEFK@f?7g0|$M(%% zdi1n@AojDO79tx=WzjZ z{l>4pMZWOyzus(iC-|>wZGwlo^(MX71J~c;sN!>l(pT)khu}s#nimW0-u+kOsl8wm zEcl7tib8tftN^(w8RvK&t2&uRSFZE8kZG}+FSfzt7BW6^O@TsWAzI^3^*ZGkw|zGF zS3ir5yjVo#*+o&v>4l{-e$87*tOnFo1qzFbwXk|YA82H^n&Z-m=*m|w2MA%dXHK7% zZm(;MU8(^W3P-g8=t8M&XlK!ti>19f-q?rL``m0-#wcSo%;4mM(uXbrmU?CJYIwLv zuTNAk*H%DW7pY3N9L=QzacwzE>j(7C8hl1eyvD##@0u#x(HNvXX3e<;G09EkV=}MjsB^_rn9x#TBjE8`T_y~f6GVDH9*9u$;KrxL2{8E|$ z&61S-6gl`ADcC-ef7Kr6+xAHEqN_lTLKVV|*+hXML=C%70JSLi#58{utX6aa5RL6S z-^NBkHGL5Bs0!ml1>h*)DuMn9R+EusLBVLLGJ}mdyQM;?hoML^1(=DCjzMUUE&Kxp z;$mCCS-5$3=_J-J0$amK$)8Mi$HsCHRHOMskW;rKV;n+Ylb*50jM75EQ81F_!$kKq z?EhgqDmsa>g5>~N*gK-P4VjawUK{9*xQ+R1Bxwg`wM=pVU+DUB+?sYIMcsiiDA>)u zjYDArhmUTv^_zpu0I?hwZQpeh$Gc1%5 z4VC(2h3|-pqmvA#C_n*8A?%;%TN%pD<5XcBIT;(GpiHYFcq8y)T2;lE&Nr5E*W$-n zdleulWq=Eco7%QiGj&d7n%ol~Wv8pq^bVXzNDDLv%yXtWb^eivh$LM=BB%;{`kkgSI)+72X9k*jF zZ+tr|h8<-Z1T+cDS~_jwspLXBF1U-Ts#vjK$x z165TSfG~QTi>xrmk%mnTqlde^$E@g!TOhh^y9Frh}g_T3sGupXB zg(_2#vBfI@PTP`xXKN&0wVcew%<-%tbn?^AYtPJOfU1Z*%xh#sqauCXkCGPvxPXrV zu!cM;(-@6Mp+ZBGytlp9SJkiZp(CoZ?NJOBlK}G5C}=P$$kuNvSJ;dKTUr8xqMgyR z9@6mu1}o$vu(MHnmKy^v(XzT4&>A!)UR(A~+)=Dam zfVz+ai%(fAwP_3(r3+A9ui(dkQCiKR`49yCVosT;a0T{SJ17OALCAvCQ70A<7BdCW ztE`7THsfw6mzG|enC}DtieE`pi(dX>O6jc{YBAc5A4axg)k3_vX6pkf{a-ByU~%#0E1*hpj_$}73C zXYFC_!iV+%<{~aYSb)fOkoVA!Xe;u_KV3KT90bT49yYLHBJ(>lxp`YEpW&T&i8K4W z$dRv!{PD%A_$O~X>F%bEvR7as-J73PFIeaz`JR1c&o4a$H})p04J@>|aKS}sqW+fC zb~Eid!ii1_WvKFj(>fiSqP}O2g$zIai7>JQ+^Y2DaUU<3?o=6(J`^$usD*Q}ZQi=i zZqv06K{SnARkB0jJyOLNvQBl2__yG$j4-Iw?N!zRL$;VMa?3cSIjMW#?f@U2%7I3w zy+TIx!xqz>N<{DDZe$&=(=)bqT@{Qr+trj8^R;xxZ7o@|$VX>ROWJpwf+t9Mn55cG z(x0_$e#3dZ>tMsCdM%Wlxq2rs>5iOVYHjT@ntqQ8 zUpwBj3uD{f43e_|XJ&DVv8*m>ZYRw!~a9fixbx%@|p1 zhHUe_+Rp2#>Cyyt)mTqppm8u;GvEf^ok<6;fb$&efWkS-=4*}l$L>Bh5zOUVxz;Q+ zs+n7QqhYr-NLi1Bt%m4w%h(zSwy#;_j!BbU%mGX&#VgB{`w!(n z3E$aXoFT@&z$E10Gq>BwuiqYw-zMM*mY~=uV-f(k7hWg#eCD3gsoL%tKO~a2T z3z+NN@r9Z^<96%UZdDK>?Fx`d4eP=*Ex|beeioudJ95^aol>SFfFFco45!%u)A2i6 zVMm+PfH?q@xK)~efVp-Yn6EK%d0ywQsFZ<78-^+cPqCoRQjHTZ7obf*SI(Bl9Kl?H zIePA>=F7*)hrjx;mJ_g#gM-}-Mk+V)GjoQDSMFK`=JN0dZ$2mw-PTSk%-G`$ zd(?%uF+eBY-O$I+!T!kQC^3s$@Nn|JlL~C6qP;Ew#d+WKc#wI3XKozC7!VX!nL45Ak2Drq|!PdTyfq|=O zXd~L3@dSU|oE)09>9zIU(@@7~E_Tmtw=Z+%8=HJQmK|5@)N%Cq{l`_#k@ZP8`p01> zJ=d~Qdzlo1i&N7|VJmp!qL0V(qKV15-GmF}5AzQD1OBaWX!s;GhxW|L!s5U#{oFt? zh8&)S;~$t8Vv_|h@t1GCRi5*LXUi?0y)|}z!aehWH#Uq5&AtMlwFE*1&oP+F#{r#R zqrSn~U}b3#b^k|KBtg+TIw=XQp)8{xJ zt1|K87d%fs_1Q1173{LRH9=f)J$~xGN9Fr&zDi2a2^U~Rpp)%^eVp%IUdm5DT3;8& z=X>lYVX1!Tu7_l9uKl8-i(LWd&o9XLKGzt4X8QJBZn|%uH~Cx%_{B{py3k{O_Tqep zp}t=K@@L7rKJsNx=92%u=?$-!TR#8kS~|P8S7)^_Rk%5Qt}6fBw4H(Cw#R{soTr_$ zb1e_!zf;|CCd1iXxMU5tVHAJ7w~A#a1`93gxueB870#%5+c7sC^ot5PMLVhXA9|$K zXZxkWK)aaBAK_@%#c(MY&%LoJFWBel;1gY#kWaPIGbqbLkDFnlp6hWpf6aIEZxz4$ z*SKmg%`oBJ{Zvs@!-u<-`SO#dQI3mipJ1!}ddoO$vw!P&Eh!=d(f9fqUuoa^XW zQ3$T*Je_)74z9SO9yz*5Et`g`_a~5%tTO4@>So(~#6E1D32s#ko3ps-`(7e*27FL@(aT4M>Ep4u}?(ohU@3`s~v+VtX^-2`VKK=hT>U0EG6*wBHW(?O zj4~MjE>Q-y4og139)KWVGy|Z;WgzG%6I~9N&$LTbmtMv)UhYcT&1KvL*kmIFUQ|tf zM4JvI>81MJU6tTbZXbipLIGBBg(mX=Ccs6F6Un>yDP)i&(&LasStoJ@iXjp#?dUGj z>ll;J5IKYmPb7oc1xzGzHB`8if+$s<0MIGG!&uIwi+dtn1bS@14=NOpQ!+}W=%Q&c zcS+R%03ZNKL_t(Pl1>0Nu!VrtXOwmnn3ijuqb#3GO1}kYMxCV0*~mEnt-yAcb|vqu zNM}gRjkKJUVI}WKHyLSPQ2LgBF4?dnLmh7dz@(pwfh%)kn*p!_iw8IJD5G9ta?W%C z%N{+Z+cCK&Kh&#&#u#^U1GiDz$RYSVWL1alaEltauP`K0mkuh`h;%xqA^>uXBvag7 zBApJBn(FsZYQfI8>gyJrcXe=S&VDv4mb1>9b4UmqMNvIgPdcU4UU>-%>@p#+ck{{Z$1;9M*i)(nIYPS$j8WDExg!Y0k;LuI}SOC4QTFnr>!%#QdE2rTj% z$c;b1R{($*t7r>=tO3AdofJ?{rp$`gNCseIj(28B1=27f zYXr7_(6O&bB!>Y}<2En|b*yY<0C}k|Wzq9S)xrv6vI3gX(y%H}F;Fm@cb8DDL4<5x zqZ~x#6@Z@InadconcS2k>m#OB^@qp3F}vtML@o+g$Rq}D%jAX zEc>8>@j~38?~x$=!g4~QmN4rH&5ovHpgeUWo7#4iQA;63YI1^H(~b%tvj~*|RLevE z)P^%K8uPcNq$on-vV|nUw7s-!Izy;@t1}83K_<0#dV5$z+Mqm^CcLP#hu&Kb?K&SSSrr-!C}y1OnV>_=Ayw6@C~N%D8wq{}-D_;q|}gl`csZmuA!Q znrt_)RxJ_M2Ip`Ouyw)8wH3p6jkXUITZwCa}F{NmRE5tG6-?VV*w?F%Utp_~5vJqC}IO5g4{;TI)E zCPn|KyxBZ9qvb#>R-lJXD`whgG6SI)9V-Q(IPZA@T;hx*o(@2q7*yl-{tE+F6TIba zlYRknxdGH++agg$l%?onE=u|_0K&sGe*wE3{rXYa8!@fm=fwRdWZQ0IJ86d5%==u# zNHpc(#=;n1?)mIJa`-uiwG8*)YAiAH`zjy_3m+8s9V|k+u6O~+1as~4ueI#xp2&bV z&O&Am_IKx%2C4uQ&DK{kQFgXKn;Wru+tFSM*;U z+H9KaRg+|gcBMSt_SBQNeG|Oo8&GcRKz=n$v|dwiW0awo@g}maJ$fIB!EUq*icd`? zW56r`Kqi^E46S}zhG!Ib_}A@rEAX7I-^?>gCK3p~9P|~fQSwgyt?t>{Z)VORr0~V`Ctt^<^fUe?gph6x8ryDyshng z%tGz~909(uu`QA5`DxuRm*D_K-gB(%XV^2&F;2#SC+uP3!kl{Ol(Kf|3n0E54=88` zK#U#)ayxdqsE1hqxg78X_y^9a(Y<->JcAfq?@C6 z9WB9J*g4}K{$SxEog-gAB54jRq9?4E79 zX#+UqW%WGp3sV+y5BLv&S3DQS{`}cL+}L}fVSJpTzXIZFV`cR4YyAQS^f_!Tf8Gz= z4>H#@ZR>8>6lojkn08)x=#gqY&0Y5 z{fWn3y{)=Zyz-!}Yp}-N%g2AOe}Idyzi}?9W|QNg2jdq-@Qt#1lyglSfrx^+?tS>U z%*|c+dZ!WfC3!u!G>~n9flaIK0_yLQWN?d-0^-_;8IB9-l?Q68LwI$JP8nD-+c7Km zKk$IS#&G^j1)y9V@(E@W3gT-z1$Bin#B<8J&e{G-yCf-@Gu_VDKl*V)E%~sN>iDx6 zc7+b(IN*y01BfeZ&+c?Z(?r*#Kl!G=EVJ;=-}-O#S(U`Y*fI&gRR+3*5Buh)<=B}@ z0rnCmb=ji^(6t_z>#}F+GA4M(?YGHIhvwzZhd0ltbD`PfAp3#)@0a=Mo}7sk<}Wnf zZ}#y1t@h%T(`SNujIdk)?B0wqa8tY>+DvHk>q#EoJ0}ltvBx@Q8!W*n;sxV-DPDao z>24SE7Zx%=(E1TEL_9y+mow3&8y7RZCrVt+I_12Cvy~rw(M|FfpPu{y=u+pO`Et_Q zwM;vRI-qXW3%*|i%=MC|n9{v7%a>uewXoNfSKfF?K798h`g`Kcc>&-x$&_I8ke=^D z*mrCFMO}_}-zUEOngjCZU%XqmoQiWJWLfvt;hQ4oM(kVsY_7TQCY`hk+rjF~C|>rI zD^y-Tdhb!0o}Mn5xV#Lsqwkm9ZoOYF?s)076-)f*jz?!$3yZSv+I@2DUOPWrFRn}N z&Y9^eZ@x;ne9+c;g^q7NTJ?MO8Srx_C$}qkTzsH@>t{3HoE5p@+~9`i-XOp8zxT-d(Uh$mkYUz66ykGl!+po9#Dz^y^6RcMSZ?~8fy0WjHqHo#lk(IV( z`(aaypw+^>l*&~9KYMQit;==QckZgMzV8n2-uveHX|!zFl2Bt?wqus@GDAafAnwG( z9UxA_qUjL2+bf-z!GNN=WvyEk2wxp*g=}B+U z8}7UB-un$z)$6zS*;S|N8}5CRB)fg2cfYDLkNXU@|L0#tGyV`qtnr4(n?K{>A{+A> zwL}OTd8y=YY&Z7Y4j1y)wjK)?EZX_t-R-7@F?$sHOz`@4lCyM7J_6j@RLX6~H3<&r z@wNR*&qW)WliQ{9qlMQ~~_}xAE7r$}iFP8b?zuRjUNUMju zYA(GZ)WS;8s6SOsZrdCCRKwqw!OI{1-`^}JKl|qfe4w2Hg=lLVLlNvCs<5m`2P5)P zgX%#v^@HzR&cr`FoT{qtGH#V@+7T92tJ zd@EoE1}*ZVy1b~phy5Wy9GE;%B1OTtBg)35OgXTGk!NLB%%zieCErm<(a%+XRr3Sb z38-2xl}?(=aF9wD>P>No@rA$F6+X1>Vh63`aV6v{r#zrFZJ%A|s(O(sxQNS%nx$5^TgV$Us z1)!;xdbNT!P5nW$npGqp0Lkx-b407Ov13W!2Q zyi|-9&h(K|dXfYBVGdQ09#R0P8=xS-J*jjCD2yit!UOQY5*)CPb`tb{6PZsslA(k> z4-TuaG+>F^1aJlrU?e4gsoubp=2ejpb~r^r31nw5FqJT+XhQ{EZrGQ~kraRbgEBBzk!>8Xb4K1u&r3OHi5?&a~(;h@Dp^N z=~o38wb51pvlP%}VF6VEJ_o$mO-j);i_+NJXwx#4e3VKGlhitZr;aM_W?3qL_W+}D zIRMOC^ht`La)G)TDlwk2^rZpJHUz9i<`EYt@0SBfHap5x#q^wYQ&qx7cPpU-bw}DJ z+W(S5dMaNG1XA_^(Eu#7vH}>Rj)t%T!hFWDOh&(<%@n;O35sZl0k+1@ZU$4Ag0vFJ zxFC*xoAgvD&>s>&{5@k>0+vbjqL^F4P^KEXrR1X$ZBmL{Et@b2pYMmj?U-(g`$9yEO} zW3?2h5Bd|}+dN@Dutov=d%{&wjeF?MV`rz z0gL@xWN7y4N5fkzwOt6RZhlVz^%ua>T8E)_N|*$7DdUSG6{gmP_@Qi8iHg0`cBdYg zPXTw4s>)F-3t%W(L&vaIJK?pF6>P7v(<2N?GHoieD)JD(JAI6JnTx}YUVo_%W$k3` zLd_U}-1@2pFd0tc2f1v0Ej4{8U0)cO%YbCo5A|7PWoRd@cX~nqsB1U1exV_>z6`jj z`yG9^@#)cMwI~kQ8bjrfuCwYit;W3HDV9q+FXPWpfz~fV^~?PH^|>60ytPgD@BafZ zpP|o*EWUVIiWe^FT;^*3s?mksHtUncj_gWAPQch>olp)R?#lUtnQZ>qngO668;Tr+ zfwGkDp{{vbNCfR!{=YX%q%r|ZdV}b^$M!J6`-=lt)*ON@$9DQVKVEu`RM{2 zR6_@;!;J<*sgGi6d%SM`$$tuAw*S-nM$?t3Ls*=h1=p_#X+%j4)8D_|@qhSu-h09lLP=i&q(qW9#soGahuGHJ<*iMG|S&vsZZr+ph}u z@krNCJQVsva0^in&rAVoQ3LafB1@6(c?jCM>DFc>QF2MLpj(o-AK{j zAoI#9E;f52#iPWQ?BUXBn7JyNr}be1pskTUbNSO@tnUWF{B$HZBMolb@taR)c)Oua zF_@*PG;GP9zdVrLJEp)*Z)nae@>xn3UoOmP+pVSpyBFm2`KMR83`M}`vy|Sp>G_@1 zAKdL)eou?)9++p!y7pXOzcXsTyT!HXhZ+y)_rrDa?KX2-IffibDWs$il6YXHT3R zW02W@>wfjVzG`3w7+#!-OXo)sdCp6pQ%4!fPk9&9Qu6bw;x}%d`NYGLx6s0e?leV* zo9?-(jw3uNi;u3y>q@P_28oF0%>x3kT7CGm-ZoXqBbulV?p_pZoSVZ+lJG& zUrs$}tYqx~Fx0_Vrphs8DYv}vmdeYCPo7Xln#v*oS{yJI+tY_IuA~wJ>|z$Kt-xY& zobBg@DDgV^+S{ebO^*G=L4<#OVNX0_+sa758@~zslhB^Ztef9dytVSeY2$8R$r4~%ICAs)VS{N_+k-^aecH-6c}hTEC}Q+PQPeDlwZD-j>F+$SBJX_fJ2h(x z=KAw@2sco3phEpS2*?3TG{4^d!%cD=bmyjY?PG7EJlV!LBLkZMaJbN@tMCFK2n8QE z0Ad`>)xXpqW9D#w4)W3WQdHi$(%GB>7EB1tV&ekj!}w9~f7a)KxB$v1Yt}|zKOF46eZRT^SUvUG z$E3TwsO(|n+YP`@U*9u!hUYGc>{_gD*;BuXfk>H8JYAn#0Fu!c7grV);N)y9I}h3> zg!tq6346whn~SF}%EgCH$t^E`o>_4S@_`3re*Z2x^~F=}%^3B9>;+8a%vJQe^^@o1 z*vszFx^bE20ZAM7m)JNn8Q|c>gFA)IwX<%yKbIph!xe6HH-;1QtIkU;fTV}#mwt5Y zo?0ow0e^%8aO7izd;n&|#H?I#Kcrpx=RhuRGr(M!l|wb4nm+C(mgm?3QXf|$v;j9s zHnlg@kJUzRJOe~-s%5y+<@uEBl7p?H+J%L!sXKH%g^qfbIjICr!G88FE)v8 z9*>GwJ?e*v>aE#smG!gm;cY+j7Wt)r`Lmj{GANgAC!2#7dsQP$X!HzO9T{Y$GZ$Pu zQ;*rm%QN~IkE7!JB|R8iTuAkNnXxB*k-Rt8V6*f2A+1%>9lZUZt|?Z} zPEyf}W9B1FDXD4_U~d(zGAgu(_dE_ZS;zmzFMdZAK|GgZ3DEq;eG;gW{p!Pn8aTFh zSsshn7bbZ5im(FAb@Zm2aP;@GekgK*Tc;BGT9tl*?Cl) z?p9zfKwPtouJJjK3OBaT^4oUnggso|THm$(wci1Ab@wdG*+jrOYDtXd;k3DOA2UVF8N4@fW|AW&%V14k3r+gZh|MHoKt9Im4 z9yhG8)de?&|$(tqnu5Y|oEBH6x zef`Zb|bDy!}Js=Qz6gGRqa8m99yG3GdA+z;sF zvD>7;?mq2zQW#>@bXxJZ)86clOd&8tve3(_{P@`k=~fJ8u!=1#RGD5|TdR~2bX^iM z*^3TA7L-xW@`GZKc`22(+MmgX8(-g$S7#>0A4pa}FU%lPG<>+O@I_dRf z0Grwb^EF39fhM@Q)#hfuVgPl!>-~G?;sx2edylMc_7%*Pr5$|9uo+xFDw!P7uo4}bQ4dGv9+U~_V8sw=82LDSr?hrKFv)=P=&5#@D@l@1j=o>Q61t(de0Kl21*n5rHy`jN>{^wqD+>`6 z>A}7L0LnUg2_uTr?7ylteFjLzRJHShiwcYhLg^z=WJe=+WUL}(2T%+NWXk?TvZ`pU z3e2!5s+P2}ag2sNRnYEqHnjxgA8-ii=EII8`AACU8Q7&pi6rx-qQvz((kF!G`3Y1r@}EaySJ?AGU`ME{sVXJ2xzIWk66SE2b?45D%@6 z5I7g4%t5pbL}JQz zfdVk>U;t)dm!WJUW%z)Z$rkyE46#Q6nsyuJlENZ}V)vjUvM@A|68Q(TMjq#>hf;cNbfg5tMSGR06axwZ^OGnz zNsnKL019AXOC_VPbx}}eZdXVaxH_#L=+TN%PxDS+9+iOVP@0FuDVGe;6dyqXF-6A;Fqxez;}=W{odR$Ymt2%WEiiV9Il_)amt3^tLYJFGjSbB(0+IllV%)*p)hQ}a zq;|A9Kr^`{8H(Gmb!C#Lg>*osp=hpvtN^~tXjc|tCKGTU6`5qCp((TKxS=4(An-UQ zN5~d9m*7dd%95tsABABCXx~M(DX;&z+bfy<=%bHT&o&r!f(;8-A@`2M4)7CT=p9r1+_#j9#9gbV|S3Lq{TofU|BQIP<+3-&pa<@)_!qcm_0 zZHp|YyXbT14+d^V78~#u;jM9!5A=$wd?wNXC^@1n@L%ic={Uzb%$kf1oli-?)=14Y zkk**i1E5>x6f;(S#;_LM>q_N2m?{8S__2&DvzX%7$V=!SWE@%2LFO5ap4K}#_3Oy)TvENmWN##E3PrM5h3S@03`v+2Xi zN~wtMX@06^KkoSa5RoGeIKt59EW~Bk6mJjJ@dfs0`b>fv4P%q&{Eec(ZRNYJg zXX+68u@*_Ys5V3Z)hLB1^NaRrz>bFdQvjlNIp!C?o+8c#bt>kaxU@2u;HgS25MRnR@`X?5SHkXAD`Di~uLr%w3f!TOChwRJyDMr%a_ z5;vLUP%r>(X-`d-&O`pgnqB<^mekNz^Y&=r=|ar=Fpg^a-bUISvaxYvbd>j%eaYu{ zNIGX=LhW)zB57CT4CV56BpWOhPY>n9zK)IYP?jgo1I84QuU``RL^#t;6InjmwRHkI zOpB?!uxs`G$+ZBuL+0!V^+)`$bIqqB_sp9-Vh+X}%|xCEFC2Y%-=lp2%%DbfODg+% zsea#ve&W2>EevBPFNgqAQTY=3`#S<)OMx6VzU9#`g#<;m{xV;Aebzs;!CFr^umYAf8Dni0r5>ViIf{_Qr4dc zYG0+u=DTMw&G`+EbqIah_bsn!+1P8Y8#{N33o3H{shHF!a#I>s57Ye3Hmgc#I&5w- zbw`HysEblY%TqKnIvu?V7%X4z}QY?VB8}i!yk?*C2nvVQRVq96Am(}$fqu3eW zw0k9ax>0_0!8k$4&>v7}o@G#k->7Y!98}?9w)4xauCXES+`c;1l%i}iF_>$r-^hVYnJbb<)>r)49*?n-W~}&m z#SuSU0ch`SiVEb^#*;9%n3DY!Wid(zb}?sh@i?4e#ozgDvq!~l@iQPDXCHF=O2I!^ z><7dVnRv{=$fE9n?TEhYCT8Jkg8!8WsmtkP%~CBFu#+$CYxh=TP(f6X(SN zEB?EBYPITL&gQoI)Rk|0{O0I5-_`hHp?+yo0O(NX4zh~<@~kX9Y(|1Y(pq2y!3`$8 z)ibM&4`03ct~~eH^HgE%ufF(Ks*JU;GB1T5ig5r^$mP|IYWV!+$Ny59$dHGfELHFk zal`&)3}80U=&$h&seogs=Wy1e+1{~dN!iR8CyRR1vULRH9PD0`)}lAvYk*Cd24Qb> zh9tm?t}M>4Gw_fQU@i>IQAh7SDvy6Q+{T)SG8?HQ41mYaR-i!o;@+F~PVA2k_#vFj zS08IAdjT}z-RC47Q>BP28u@PpXbl-~|A(J$)sj?pH8^^i6(8RD^u9DMG<#u&xL0dG9hj~0#?yCLt$5$b&Pt}@u#?4xbp7pJP$y1b)#x)2XoP0-tMv7LYeX8=TFKlUt5E2 zJ;lYHixrs5?f7+2Sq!ArLtGJg^fQmjO9VWZ|sP8v!xeaG+mKi;)pCoW(1=4IuQ0H4{luGoLVoX5<#-J(3uBK`n(6ybgI~TihalIjd8^Hi`VXpQfu4!N{?6+$;x4T;7fUd2= zx0h!7ZnE>4uQWhc%uej<1nLF=mzqT6;B5!xreinBN8kI=t*Y(1xyR>JtobK_nz*P1 zH#dI4$JgvxkzThW@B7jerSPcxEG#YPxj~$s$LIUYwjxrzpZ$vyO@^ww_Sk;)=zco` z_`{DsSb@2SH$DfOR3`lRxdNbX_BgtZFl`Wh=A89q2X`BToQQnjN!xR?(%`H#&M$r+ z91QfL94}A2ckHkA<%NfK%ZE>#)-#z`++JS-v>Ct(pN$y4$sgy|Trh+=_qe64FE{Yd zH~crZNq?Bjox7Igz^-tXs0(0Alr|aYhemtf99S#ew|8ea*C}Oayaw{I$7=u3xyo{M{(NC3l4BJ07$j$15~wnN~BvlgIcL=>_O(Z*e>YC@ND*_@NJwK>hl*vRk0vmc1g?jb(SSETL6MsDbj^Vjsr7z9ActYkc z_Fbn?yP2X=?P5=xo0~E>Hz)o6x}FL50vpqgr5$qdVhvth+Srh~_gL5yA+pIS*D2k) zi+Jkq9PYAl=D74izs*O3YR+1TfWz+hdi?_8YMYn*?Qd7Bcfb9&<>0>Nx0|-#YkmKL z@BMpn`cy4v0BAs$zqb?Lc0gQxkPbJ{=yv@E#(%w|Ufo!)fRS6rZ9UkIR4SF#Mld~> z^!2q1rJxV#{oj;cHI*-{+^737WloP4+xWZ8gZIBje)zk)@{|ASxa{0>)B|1h z@5OVE%TNE%t*Q{J%8iH`PtePxGS_z!&HN(EOx4=UL-7Dw)bCfFxu-GUBlrKlyyNY! z6&V;fO80>Fe7)={8wceo^{fi?6&E3Lpc>i~7(2W z6U9i;9%UD3hbcTKqn>DdGSYg;JGpdEs zkw`KJ%NXoF1CdS2XLDc8zZT+&8e4e~e&46?gWj#X2mO7&eI)I>a z06`tigEA(eBo9D~&l)VxXlnv+0Vk*%UTH8z!`QxT1b_jZe+5wh^2rrQq3lcQmpp(Z zATx%OfUyCkZ>!V7hAGb!jRISk&4!cef6uEYV9 z(GP$CQkl6at&I?}L$4Oaa(Yq9rLKmx)4nDfsdS25651fiq~J4gQOIaSn*f$Gd0KWkDCZfF zTUYBHHO3C8HrCupAvvI~Y$WBNlwp}lN6QB=P7M60bX>5i1!fQJRsaXc7j;Y_Pq#9cu~9Cvzeh%YOQM zz_o5E%86QqVm)uDRTU87Y4KH7lOCFZf{&IZuWBOu=+RxP--&LeEWQ6PDlgL>eC<5V zy=_nbj?X08?z7(C^PcxKopr5Y`vYZp%3%mHmMxvr5F3Gwssvm~{{sj_hlj5y%ayrN zK~Rh{K)DM3v3ZNcR4yuzg&+)yRN32 z3;MfGymAkzH8ZW-1I3VJe74E}UHDFc@E z0|ox*eig`ZIOAX(FsqXWb2Is(ty6%ifVypRQRXtH8qK@0hcUlUOUNpw9`cMFQx-Og z09%`ajTmkQP>0n}`-3e^R36fFw%ew^5C=jpusf1M$fE+fQsN|ijV827Xe-SFI#Z#4 zsi$00@}SE7w)SD{GY3_B4(1cWz$&JICgzh+Ao5vxta^h!(AsYBttLDGHlud5s}Pq0 zx6c#85HlIkaqoE`=ghmI3<`4BUTfn8 zZ(3cUVyJJs`N0B+$gQt>dG&m~9xiu!nm#8_45tkx%?#~M9<*PeRAhT!y~;z^awz6d zMsCXqlM)O!_bw=K{+o9s@_uEg6q)NJ;@mr*WIh8t<(=hnDFWDv1ppu}?JOL&u^0?> zK;OT$D{|7-d2+C8Oj~EUEg+F(IhFiNPs#bcnJmmDvSz|Yz_6=vHspaYkRHVxs^a~CaA4=+V{tG78OSPy9Gj-mP zyT*=XCGt=sm!VooA(%VT4q9Bd2<~3Y@Y?tp7E%oAbiMkRPch6CnEF(n4^5ZWWq!iV z=<4$t|Lj=EP& zO6vxF=sUN%DSKAxk5*NB+jxM2dz$g_!&rK{Osq6LDa}f8KFA~8NDT9aLa{6K$Kg>7 zj*YR`SU>8ul$`;hxUw=~X5HQz$GM$nZeLY-sQ`)QIGV%)rdt#ib5ojtygBPqTVc}K zIehE8d|+8Fot_Ppn^p#t^Rr#Gh^LM)&NkxVP+-USFVByD`cVZ-@Jx9yOS_k}OaLSt zB+<@4{_>M{BlD?`KB(b_^K;^?T+YOWgM$|UJYYOdeF=5<$OrA#fjxH|l;v>4th%@U zI71JBiK{h!6EJKc)IXq&Cmt{b7wQA!dG<68-f>VLsoN8uIw8);;_lOa88Z$J0rUkJ z0fVwWAdy&!Wm+6<`>O1r?p&e1D_sQ|wf)EM97@D2DP9+`pGnFsvHMof$k>II1qG1A zU=$A*12nLM3DDbByI>;92KeLyPbz52!|}_w0Yn3c!9iTuYu_!6`Njb%D|>5&g*XnL z8PCpQ*LG{a$80kkP$^AsP(Y$Cx0>H#<$49EMe@Q9m$*o+t7{b$ubin%Z{nG7P{DY| zIACab?~;kFYE8vBCJ{S0!7qm(7zLkYj_+41dF9=&l;3^$cV+$JhAi%?l{RpV$AQZL z+Lq{#yx@o&|JZRkdH+ex3ye$7ZWaSSDj*yS(YZ|hTgn_LH35k37qA>AR6Nf%^daVE|ZdKD8=~2X{5(1WZSpYnyh^;)R&@ zTZ#h0oQ(?*5CA;d&JB5+2AtG6&L=qUR-qrEOb1wxcBg+`K6RmSIIXv=CsN5)Pmf>f z8X%n4IdDDN1lH~Z>M(v7=6v#2AK&n z7mR_J7-SWv8K%TWfAh5bAb$19Rb}S#wGDY|n>c>l=?i>t1(0=m?X-fu2m>gRJON;& z3~szm>=4>)H&-{Lzdq3R)iLRw!|&3*S`pa$G)~i$@LIvES6z>BBVVL2h9m9ZbwC&K zc?kJT|MWRC2FQQ!kN!**@1%#f|KuAcSx>Z62^Y!I%F`sf%CUY}UhK)G8S4n5IkLyr zOh5gz|3be1fBK<1@U!G;GkjQe`Chfhvm}4*Y^+_nB=^1Oh4RQFk4P_E0@4Zn%H=0} zn;!cbZ%3QD+EE2S5X^~*J^Oc@;FEmy4nCNtLhcTTzhJ znG;Lf|>C12b>^DU*e)aLIHE?5U z;Fb5iKqLO!ulpW(>o5H48) zZ$JQD=hsHkjoCP_ZxUA(+m5;V3}$0I*<(w-+C*FXZ^xsq=b1#9oYY!$#)ovN+7fr42pfiP!eAJAf=0z+QUme(49`<&c}x zgW=*G_7A>p)xAz@o!4Hs!8VWK{Dr+|Z1Bqw$CKf*G3tf&-{)8DER=oh7cSJ}i?H6t zJp29%HZImvF)Nn?Jn-k=n_j$sr+h48b7dX%yd4WNl2l%PkKIcCs{ii4m$$yXrD`E^R;}!-TMyD008e^*`a-W2ba~9BJVrV z?9=gDku!+6{xn13&$~bHZarst-78-uzxZ!|D|XuU^LM`fJLSO-ykGtMHo*7d7D;p% zfkpT}8+W1h^XYT-r3JfJ7EIxYHE+K@OLlNrJEOF_o-vBZD%aQt(}e;;MBe*n?~r%? z@g4FtFMgT)+^_rxcfO+ESHJXm%_3e==~N?96>gZa}%k&^6&mFP3(LB&gK`e5v}@qA#{E;)CDZbSEkxXD@- z5#8d;;1>|rG!yqko_%=uH<;SSVsQUKtx_#5Tof85P4_qeW&Ji$L!7N2=~ z%l~|5@vC`H!BSRL9qi+$97bqwRw%Cq*1mK_-npPA|i zo&`@I_=7jfXa4;ElBAOx!wx`*EGRgmn2e%3deZzV&;l*!LW&|+y*$;+LL1uXhLqI^ zol&hZl-kjy3cwN7;6iDfdp~efEov&klzh>w?I7}WDTX?CM^e_s8d)Jlhj$cdVK_;H z&TQC-69!!gRWvtcR#=ks+ZT;WGoe6=9vNVxPN7-O`h}G9V9pBl+vCP3a6&MT0csjr z+bbVfk%RZpy&uZZX{RH@P9a?y9MDbHR~Yl za3sZ?5rrv$%Q$9~c}tb-0i2D7RxjPY>i7aS8zq@!L#qp>e^{V80Nh}DQe7<81OVv_ zT$c<1=m3NW0I&gy+RASwX(yAU1Td9opW)m@6`)5wNjs!bXcy`B4eV6VmLpZ!mm({y zori$zM0zOiDGr^!#o4wonx*txC2#dpWXFxlxv9rU|7BM~7m0K=qj>{kU0VvJQH z*M1zp{QXqe>Z0eDrYJ*pCF?>{=D3HRbd!M;T?3RQefkcW>L|dm7-o`n85c0gkYO0m zOyM3t6a7xd6KTVm0;`yU0K&%xSZB0>C?thu9KsRfTDvfQu%A63K`J1|@)^fHupHjA&oJr;Gq(5*=kiu8~hb z2z~XBOww~bKzB6Iyhy&9NIHkS>qrM6s5YF%4|N2M)Ov9jBFY{FYUB7y-T+sWE+0$ zC5j<>oZxY)73<$gCf;LDa&OzMtW4KgiTx@|e6X;cKu4g}OGf~Z?NWZ57pzCpzwxKj z1Y7*ZM_l_sI>wCo0$(H8}T7<`*9p%;_td63PI8Z&*Ip`qXo<}E@3q-E6v&?ePB zib%6{2WcBP5WkFbmE+743K+DeXBfd0XaEyh&;TeobE?8$Os*)c91&3#U5i;C)S_4d z8kCgGj(!#Gom{uw{n8HsL2BMDPSd3}P@6JNg+&f*kF>9^k@S~31E3qeX=+qtJ)9mO z>q>;FDuSz5tpx>Rk;B{onG~EX0d%s#&YWq5;I{;9t1^jtqRp)!xM>w3{|d%9OkTJZ z2H*<-XRTOh*eI!{skNhZqp}lwz*8D+09jGBhU(G!@mjR1vv#D_0a{gHG|jWIsA;vC zIMPO@4{8_FwzauQ`=l0}epfY`t%t%@0t$!}04sWo zr$o@j&UDQ#vQ8zl&7^)<=jUr8djlI7$Y|D-+zs&IcU%1}q;?Sw1M>@?zYewY?24jy zWYYIbDpF+OF2Gu097PYw(gczQx){}eZt|sxBctUtPx?2EA)eb{tq_-iwZgZMVCNB( z0jyPCsC5Bx+kALBsIGIQdC8W?wev+UtL7QE^WU|xZ-JJPL4E(2d(~g|8>%XyZ_P~4 zG5!G(R>q$Dy;KG&_;IkhcP|a_TkKR}2Ry#WF$T;<)(UR)h^t=jI~|NzI)RxRU5=fDNxIn2@3A7HgQ47y1G)HZ%Om&G{*3{Au~Ku}-?Vqa6D|fp zUA}NxHx0{P-bly*_(560mD8PJ!{bNU*}+_H2bgQjgf;+F;DCcMKg{g`h`9UkZe=XO z59~G=Sfq4QJs}`0BUi+<6vfdwvabSjsrBV>Z{rsIW>Q(^_bkiixl3~HOQ#gb)m`jX zfSD-CsgJ&?oa*5U9om2k4~{ZT8+;YlU%Q<>od2GF=yaw0!`w+faKp2M0kA{C$3Y$L zXRBY7d0e3fzYd=Ba2)(?*8nKke`|e9CF9NeGjYV_o)#yd1qT#30BO>gRi>-u`3g|N zI|jf^Y#1{>Zd~~WcL#NCCr=)qkD2YPVVv~`xdc0toA?<(OKeU*Y&TPL00vmb!8Fy{ zP!CB;*9Qg7Pubw+$ z=K{nQ%X$>F7`}>JceBy@X?Pq`LXRlk_4@~~vQN{oI|M7pRp0|2nUx9=&h93^#Om(QFGFk6)BkUH7uR6#LfBL}t-Yb9lM}Hu{`pf@H)4CiKdItlad!}b$P=S)C z`-xppEU1A)<^oWYd9)lAGC(09m`Mt#%!in}Uu*}D-Cm|j>2G@DkIS9Uz0-p}y}uKh z(it{9BdkZ_y%P4!IleA%fARd~cKy}9@ShuQVr&~&zKt$v001BWNkl%XTiP=YhmAKX28K*fVeO@$_ac^PDC~a zg)H>ywf@YACO9tk5?POLe4F5>ZPlJnWB1{?OPW9IxD9dX;7)n{_rKn}s18md|Ln*A znf%ZXKKsD$aXBVEJNpxhOXgAb-*%CjeK_P|x3)QWyIu5y{afDr7Wski`+>HXYkntR zV`nGmZuLjiB?=@G?@i-GKlQ}9v2_9NA3b?am2KSbOONdn09_cy0cQvCr4sIsbg|bn zq3Ec<*CVXGK67rZ0!e-Dyq$Fc0*Vc5R?bM=_+>5&UHe$47gfQq(=v=#^2d5^v9~B6 zzj#SMfDIycp!SEKc%P|&x9GBrIC{=qxR`=6#!KoCowUoS-0z($HdYOES(gF#kN(l` z$j)D>fx>V4kvGYY{qT=@&~5#`_2=FyKl8TfmtQp6h5p*Qpm7v^M2??5@t53EUs^EO zT$lR+z6J0b<>!(mH;jY$>;@LHyZ4yl86|(HrOft;k9<&GanCI(CtmqY-zsnWrC;@^ zCjNfkKm0!V{onun>U{06o^1rplq!VPaaGgRxBSYc%3};+UT)7IEL6 z;-zUFrPXwp{ML>??my!p>d4#S#{I^h*eA#8u{D0(z0Jk5Uu-%*KQDup zCdmK=q^mHd^uE1-XHGmIu;yU^j$NIZR_jw@+opFEpnv^8{YUwgU;8&25$Bq(ef4YP zjX(I0WdEM}{BuewYJK|bS^4E(|9A2`Z~94n@9x_-6~r|w9#~_h89-b&+5qCZo~E33 zyYzKRWEOynB=(&9goxeA)JQQtD`$+vrPgO3IO-Nbx^Qf`HKNr;yDCD)5w^VeSgoQ7 zb6KVL8S;Zd>c9K>*P7yBDe^=A^v~q>7re3+TmAar{eL09{LjD1GBi9$3i7$SL^8e0cPhM6gC(idQiN*OntL!-PlD$&c9 z6m}CdwG=-R6o>)QbeJV_kUN5Y2~x3yeTw}P=^>6uZ~>5x0V~)~!rG;peg(`GoO{~Y zCFMx_p?y(Q2JAFUl{p7iD@_2e6p?d6wv(!~%7;kgjj>qf$R75c3dj=aav$6f_96qd z(B3%;#7QZ=`B1MT!A3gg|rG))+F7)6GR-;0OFbItRuc6>w zNGBaCa0o1ZcfkN#AXK>fJ1s`~3)rQ|ddg5m9i*_+(*}HdbJoui#o&SDLn|jUG79+m zJpvFB05}D;fwM8tlmh&+LQBm zL;E7@{b3;`y4t9MWWr zwP9jy3WyQh75hh&gOx=FkR1JiDV;|KDxCOuzAg2Lr4I@*iS0E>S75|C00W5P=B^gt|qwb06Pd08fpMwCjW6W(P zk}fc&GD*uqNfMZ|JK4w-_+bhhjiks1%H##+Bc*-Po`G)qu$lqJGL|vMTbdi2o6(Qi znC!s9HFD;mf#x6fJ7p@rTOzeD6^>CfoKK9MyG+Sh+xl9Zv^^pVFcE{R#`c6Z3k*uy|C3zD zohU#$$P6kNkWBzal61mcLC*zLL~c^RvgE-4Os2;IusDFx0-GUn$6HQ|3uw_KngUm> z4ou$Dr%DCz82H}H#jlo@xky7(EUQ;uttPZOte)&q6AqXbZ3FyOM#DMahPvf{*rynu z0c>XoF>^#_AagVPAV>^-!x}~z#i*4~H`I#)=X4$;pSIgHES=4%#>i)2J!Ft#fbpuA zGtf>3@F5wkFW5kp@yfuOw5hUeX^oT`9c88d6gY+)L^^4=GN7l{Ep4bWly=Lt7}SZy zO~WvUggIa50U}_b64<$P4QvyGv2_tT^aGvWt>0MRFkBh)5bjl;y?Ro4k;d2A) zY54##!jeb*Fb?^)fghse(g6CqwjGse;7N^B8&Cfza1Z~CEo(c?vPD8 z^94pUA`5M+2@|EZy+&yBq7R0#!d!ogjm2eM|InxRq={lzE;1%rM^Hb2*I6L3MyCsr z-%Gi<^Nb(*&B>uLY8~y$Y3A2V1PppPv>hqUt7~;#H>)@^5SP{m>s}VE%1bMQ)8~y6 zlRX9BQi$*UfuV_Y2615?Xo9tD_+jDNaE{306d9HAtM^q%_ytN&Kn%H0RFiYjXz z5cUSct(iD3>$~Z4>#RR`**!r&fjEj19XGFhZ0b1skD4A^NUZvq2G&ZKcS^c4`Fv&P z3ty(;#{f1(E(QAyH+AxIDK2MZKNd%nXLuYZ8TNPmu{ua(L|>%;YWz_mM55!MWrw|j zt0ts_SN_#1u2oj{RUoa(Dm(I!AAcn>Kh4 zWlI*TDO(+ab*>j(PcG+(@2NU}g}xKQ=&cmq9%>gH0DLx#2e2tj!JqU*jn3S39};JX zXAd^e-G5{eB6q-8xac}gGC8)Jl~ipeF>+lEkgJZdewy^5vkioq1VE`{uqWsUw=#Z1 z;w*nCBW-24d1jXBWwYI9g}t6`TLHNi=eL(n>ui&AwpCqpBjw>qF-&6Ra(_=oO5bi5 z|E@!?KErIqIHtErP6-cKYnGV>=O@ofKd?d!^FnTV+4C%$iB$RU_KHD8 z6(}vr4~qTXo)dvwT+$Ulh?Em>4a^@HZXdb*rFIjpw*h_tH?$342Mq2gBgAz^`5l-t z35?K=%iq0j9I%2Cv71|7c#A*EiBF!Wo+mx59GY+=PbpJDd@#&7Gt;E_yv|*@#>ZLA z$^~;<%uwNZgNqg-HmHpY0TkFu zz`-vq>qfrXZvIZ5{043Zak(4yy90F%5v-OYd7U@q)oEovL&Lsggb z>qV}VGlm|3OoV|M5AX|y+o&&}Ta(c+R|O+gP%jGET&q8ZYd>I*xe=o!Oc`)l*?AJp zJ9WRb2U!$tKG_ffxKcN3FNWrYQy2B-6_j|KafkdMpLZWK;1qySWZ|*9j7It5X;aRm zZBc|m5$ovPc54T1;6NqfAw35_x*Q@5b>K3>!%PBdX+L9a7RiyvKJ%C??Kd`}SV7F& zm3VzzbQii>UjVr<$j-P=VyEQ}^9<>rJmE4Qa2_|KBR3A*Za^piT|QU1LOoz8$_MjS z(F^O4QYzLW=HIGbg3Koj@sS_;=_4O`NV3JAbmw~p-UwmH2jC<64nRT&9y3-Q zz(AbHHsl`vlV8F(kj&>^9k(L#$R{4ry1Dg5w^sG+G6DzM&kwq3Bfwv`-FKUY!TzC- zJfw14>ow#P`N&v=m8)%H0I37IU}*cjfBSoFuh;GU8^7%vWq!xJGH+GmlKybwoczgu z{*&vL&W(!bMgqC6cb;d0xsE@u?d1ObuNgqdL0Eu!+&F;Cf3bG}m;bt7emxGJ9bgi> z$IpJ@M9k*pI^|0f_Fvs-?>OJplLI+(u?DsH-gx&)4P^nC<>q_x{P>Sv7B$uC}_{x|HXCYdGKFn=~xe!Ud#pMa*xlI;YlMD)q_e5^5S2v6e(*bxXY~py+vVM*7_5 zJKK!6RqTIfi?up-RzNO5DAUZzv$N}cev31}xwepLB^1lY zmXp42btZIfttl7Uaa;%&PPFa)9Yu#(X4W|k;U>wBIKJK%=aw6r4WY=tQzbKpW8 z*M)FCf)59B%|#ywoRRC)#lCPklpCL8nOhxXKvghT#|8y+2Xa;RVXx$8GnGAaZwth; zv9@9RkjPW}JVW;>?jEwpeiVRFY}m{B9uNCzd-QmM^z(o?o=Nk(yMO)dhvb7NpQ-^- zb(Oi7#;>1qG%Q;$zDKL9*<<>mCstMW2*=u8bFIur;CAJ52|9)YQ?|n5)dvLqw@ayN#ehw9%PvIrrlkwhew|EWMidtXU zv(GZsT4aK!7aiFn2Y1)(#_q+}$?rV=QU9*7S_$ki6GYGljmp8{ddfxm>V|jBJ!DVw&Qt;+Za1PW2oF) zz%sY@U(Q+q?)e!D<7HvV)^aa7XlFA02;_7+oVgR;_YDg@m!q71)Mg{B>D8_jIUKd& zG)69Do%^q2DrNUF02_;a5+fHb{lTCL3y{l=&p-G9gyY6yv$smdaz+}-Y+T)+%j)@F zCL2+m#C$%+PuI(>Qw~^LDoz_y6?%C)ZoP2v>n8UnWYa38L zn9~M(*zoOWE}WC$Z+XFPXV(09Kq+O7^U)A?z8hH6(7g$BnR*TGgmpQC{rT1PDi3kI zD?8?^wq~3R0-%capUY5AHse4m{3ydzNJq;P{P_22!VK8xdtlr{Im4sA@7cLn*$*O_ zslh`06|-R}ayep?i@#A*cV5=D=sb8MS&-pyD0}zrk=4~ps>}?yYv-!sqF80&K=eBO0Opl;_8Mvaz_-w z-L#iIuot=MggWu}0&VezX|5sLakVGY!nAFw7~-_BJbrHc8{hHAntcc$*UF;E*FM+F zP_HVn(eo=+1|>#2AJg%pnM0crYi_;gk+2qz{`CTwmA1PoBdcc|HL(5qCl}(uI<5-U z3Jwfk;ihQQi4F6$C9Z2fAKRW+(jYz*Tv4c1T`)EqnkUUol?%dXjzWBuE0qxJ@W89a zsnJAbZn#Bxqh7R7Az7% z2%>wST#F*_0HsuzgMfX7aD_rS6zrnx9w>UFYeN4(|5@ual@Vb8F$LgS!I^53$bGjL zQYx5=_}CKx{4zE#Dqibzi1KwQ$(*8F6ya5F4kQ_+n&(cp&Sf0h<+Ir_$Jc z_@zTZevrWb)RB_8D^!uPAGv%`CNQg}JS!D5lBx1F%?=}$c49-v0OHXunMk>#&}Pjz zBBYN~epNO!g=f`CR#2NrGM`GxrD5cWaYj7@xB>rG@(t9__;Ug0mg&|2rXqkh^e+_c zOG~euQ|6?!TS~GCuz_})lR}2lnFqs^NV%TN9E#Rl_6yHZUP!tFkEJRcGrnLSkwGST zHk1?~7NEc!rX}$lFNP0u#VKjuztONI3N5M_Qw3Li`W;xOcfTSE06pBV1)Wiq*uCji4>wbPC!1)wC#3POn^PWB(0xfGznV1io&te8q(j5M6KC-MQ1BVZ5! zbgaD?lL4^7Sp$mh8OVfgp)vzt0pEU9bQzUMEvq@N=m#Zu=}HQ?FC8fhT|NSoMRJL- za#UHY`u-i2AG9}>q;QOrF zVqg-6i;iDpCw0kX00A$8{86Bvf@3mCvY~=CkkgE3>J^1~fNLtF7*B{GSpJY5^uvvg zl)YTO=jU#h#l=NkN5aUp`{l4mde2o+U;nABs|R&kTR|#?`MK#-hb7KgZtgSkQ$L2M z+QNM|^BUZDyze~|&s(BETRu)YubC8RJB(cKc*i@c{Ji<~)K!pki~;700K!rDZ~#oX z9~zUq6eVmufeBEVxokZQ&=V#{W1objt+eTjIg0+MNik0_d6O>$~RJ{Ay9P3TUrr+>lS&(<{b)3%|HXxE_4ksDSA z$RY!tv$_FDW*|MC+-Nh+yMegKHN0L1w$t2MdjYbgL^=-}xD5cY8-~L&~XTVO>f= zU;z^u3k{Ete#u(EfLz)>ELQxSuFAKK63sJRH}rApL)ZNPy*Oggwza(qWzwdwsle)v zcteqy7hpm2ylPDYTmByFO_a9H0l5F zgCaY2NWq0Kp0@rbBK<<-d~WmG4i;~GaJDfm7YdV0yI|=mM4saI0};8YC)tif?(L=W za4B-0x^>`-HHXOw=KFQu--kHq$bb1R1B}JxYk{?5r!VK{?veT&A}&Yo`FDp`?ID#@ zxokRbm4!Z-pAvSo*o2^r%i1*Kn_IMbNIPWYlnw)%dSpi&gA)(eQMH~n9y7hQmbD}Y z4q1P1J8(wwyn83R`ToVjgnZOMEgZr)3Vw*FQp(%Ho6a zNhxIQLPiJLllwR~NdS6AXEG6(C#5%aNk-)$4hr60*lqg)$A4PK(^{Z!A6~u9+@zn?JQiXTMnze94t;ZR&uDG550zQ}p<~noy zOtty&FkAh`b>8-S;!`K2xZIaHMQ)p`-_U&MzWT!tpNyE6*B?2p3bv1Yz!b6huzBFc z2CQ;mnctvGY+ja_0i~+zvqp8Ac56l|>YvFE;1d7Z21SmCKKzhcqx^R3eYfiK{@ZFs zDPQzF@%bk#cr?$)iXn@;7b`GVI~{+2;tNm6;X4oe>$ZPy{@NxrEA{LELn6^l>b7H( zi6E|+8E9HmfHm66GVXUQkDojtlR#bWf7-7r{-A{8%0F$t)5;rzx^}bxknK3O`%XUE z04@)^_vXFTn2!NV?#?eV#>cZOVxwGj@HzEu+_8Uu2He#KbNN_TWjBC&flbQCL*<_} zUg)R3_5-NpK-2l9xeCnXie9e#=`3BIkN9`(+~pd~6*-^;bn(dxvh(mRU2E>YWxp~x z`A6-@YvYmebMgx(b&LW)!T?sIoH6*W0xO}ga`ut}m5>FVXTYt=N}}K*2Xblu8Rp6` z$TMIe?^~n;(-iec-fw%!Z3^N-wxIy!j8rg$IG~g;-rmF$w|A^~=WV32fB&)`STV;S zAISUK6Q=Ce*)iXcy^QB`kDD?;8WdJ&8@^ty}^K$CKngW4u4!|!3^NPrs z`yZ42cO9F!79cOz+W>?H?B>8R`WW>d_ucEA=2zppwi@_*-#^aY<>0PpYOfNB?W+Ax zc!=E`tVBS7vzW#CT2XBn`g|Nl4-D}bS#~&uZd%!mudt*p_vG}&<~rv5>OfpEJXSod zqKpn%^z2;0TJ>R(`}2816QA&h^0}fm&M}CsonH^`arzn%MXWr0*l|DcFKG-pCFc8n z0J$)pJbdhzN>iVF3+mVh7S;uvpT~EGYz%TiNu3J=$p6YhR{(Qi>N0pOh|F(nN>M3! zHdAcBB|*v6?U@H+WoNaoqjqn0#aHyUFoEsZ6`S4LB#_wR&ISGUIv?Hj;76Js4$yXc z%~nK;q3&<4m501_(>iOHwvs!yj5Yz_#`NKFR==Sm{QA!ugW)8G*Uii0;E}Pq_iXpV=-<*Schp*3)1--2uf=6a@!-iy{&?Yv|&-0;io!`EcC2tUwke6K!*Yt8@J zmeP4UC;M8!owob+eh*Xb)M#@UeBw!EiqGmy&L`R_{I1h-=e(>7{#%TC3_rL3N zk5-pss6FjEaa}Mg)hl=7%*)Rl<`%g0W$QSoBhE6b{Vn@72giqXEoZGSKDt*v{gj=# z#Q-i(fi)TNa0VN%WdP1OSkKQi*{Awml}l*+S@jqA9u{3{;PLA(I(-|%vGtAnVV~Xx z0lLxC(T{Jc^cWeJTh~c&fz%%Xp+NWC`^1K#-Nda$pnhqqw&nVpT(afdD>GMH30Z-M2w8_e};p~50Ks=|M z9aR|!wrvyD!?ZB5m-u;_|JZ)2|0xb`9TnT6i@vv4@yDJ#ASdNKSMT_4yj1bcjwiS_ zf;L_n9x9iRr-@nf1S`*tDBQJq*5CG9`I;P-qBepwUK-u0jtM`JOspO1r}#3Q+SdAK zr!WQ)>^-^i=uwf)8nlkv$Zw`;L?CkJ_~$Ac2TxvMVCS1jQ zC6Ppa#{pcCV|X0zj^j4tq0D9@Vyv6yXWX9nz4x|VQQm6~EPbuAg!aL-upwI2(Fp;# z8NUh<09sp&LEUb&k}w%lTk;;qOet#B)2K`eVj>51nd?|;f9mR9Le@1-^zc;ix*1B- zR;$`R=#Ub;#{%Qkq#^s9G#-XtCTqgJTlg<(g0-2Y!DRIVFCdx7C=@g z;_7iM1@pQi(^{}n@n;4`0Z39viIP}u`2a6t7|B%i(-j~Q;-Rgy%E=p@Au)ER>KFhP zF2issvjufj5MKgNCuD?rQ#?;0!(KdX(Sm6(p*}WkE8=|CoN?JV-Tz%)Byl~P*UYc%DIsw0AOe% zNu+~<9qd76D(HccEZ|Y{0*008U;xWdU`WXUgbg#eu}opPXUgLMaTK`clNuleDt056 zBFUtfD}*_V?_(%dcK|RDhJ#g<$n!*cT(G2!9l6${>M&F1g)v4cxQS{-SB*Z`h5c!u zU8dNeoo#&ObH=Qc(Mgnn$(T_9X>r*}2hekGBwWy?9S=Yf-v-G?+Ldz1{?7VZLVtu= ziMcQtN||@U1tq!UfbGBpq2t`A;d1TEhDd__it&{zI4mhUI&QiE#yA)OI9I098RQD? zGln%qE^*79HgD1k@(-ZYMj>4#Sjz?6qMn1{957D`%nD#M&Vf<-PP(N5nZTbFT`Bsx zlwE*AfZ7Z=m6Ri8%A(y9Kvj%SBfL}W1d8e%kePs}0Ai(uD(C}#>(Vh5*p(}QEn_eM zutI@918mVzrFisiY0DlAcd)QASYgCM9)bO*uTbB(Y2K;V+zw{|bmjvQjK@mN(WmU6$WUAZdR&HEAw0dqZFk8SOvHP;MyE4 zXzI~`Yg9B{0HD?e`70Hys;ne)D4nMw3!4yzsI1VVKm`KQ4wO5wy1(2Jfx(SFos9&R zwzS)oA|Hxh?xABAAXgXApn(($`f34FO`-tQ5zJ};;j#`mG)=|H7MJ+qBUVR9;i+(Jk=Ia43TC0$XrT;U8Q0Fel6kSWaGHXQAdGS zDV<%b1n`q77z5BS)<-}cp!e`#=X^Yv7z7lByG}UP-&nQ4Xv8>IWC#Epn^RQUslY~V zfs;se4%Vj7`01zCZYBF<`ZY{kHp z0575KDU5b~D;K1Alve>l^kD`&hpote`~mn;5E52_;m=n`oF4^Nrj+r{XjPmI^?;j! z$1L;4T&Le0L!Y27tb7J`(G>BFd*1Z)w?0pz0Zq*PVAYE1DF#uF&F! z9NV)``3*1 zd|de-K(pHeWI%r6V4coHMu-c0`lv#~3Y#l65(+~Z`Q@BS-$Q*P4;3(J<)vKYOAWy^ z9IF!Y+p)5;u+jQ4c}l-xeL+q&J*^5Xt)JL{U_K?^wze`+XCQRyjVx(NXJ2bpbq_uzYnqP|bOzM1z>-8O1xp!*%R;^B{kt9F@VXc#m#r40+(I^qmFr3~ z0MKitLTHYMMxl#z{MNH^AJ4o^8{9SRkbAp1y;?xgcH@7h{VmQX65l-kOy}o%r2p`f zm*uuY<3cTt+i&-b?RfSZ?|JSw(5G#mPv5&M)^C-fA2u)TTaxXta(R3(LXiecL2ZNl z0c3?Der#N!Ahx@fX9ts^%nnltY%{vBjv{qM0tFdG_WrnXU`2rpv0}cvZToln{Mv{D zr36<<(L*)=P~Py>dWqtG>QS4NZIf*NlKGzWHwO(cS1X3 zyfVu_H@E7RDVqH7k8;PAw*BGfAC?Nt6%xI0+^9Zx-Fm>%nU$H~2AHb?VUe$}=D?X- zmIoKsWGh9v_9DQ?Oe6WkfNu_LX}E3iQYmx+N=% z#?YlKWl`PGjt)d3O;=D_*A;q_PG{wh{*TOXqnle@nzlNOdzkR+GR46hcyVQ) zIPN%TTPDPA@$>w$DJ^d{7N4dpjS|s?$In+_F2VtZnPlSimjbtR0WR{IZ+ne`Y5)Md z^L_7Bun*xkS2tvSWkJ5}6|a^*{>wjBMR~vNTftngrE$Ixv$k|q7)(lBYv6y$acUVE*PZ0B&d}yeobJ;9}oDZd$byGKP|Y(W}=X{7|H}83!#P zZzqAB;xIhN^8oLY0870cO~4X!Y1>r&(JPAjY4w?Sj`Q$s z3Ln(BVnJ^OX}pfmkeOkkW${E`+;Th1wEIunud^Yw?fu;u4g9_R8|iVjon$yFDl@z}Nl z=5oKYe)X(omWOL}^ZlytajJDt5M}N8=1P+DIjox7!qUQ-irLF`mS)S`D@kuVe!unZ zTVxd0J+QER>|_%N@48=FE zN{cj(-PS&&QMEzSxnekPS&spxUUb+PqnrWcyqcN~??{!l*n)CIY3*NS}f!m3^%^ZdCv`RK`~{h@A_1 zc$mVcnXfyrM^2ur*-#uD=l;EJd4JjAJwhG3X@IQ)@T$Eg`udwWW2J+a@`9cAJ;CSZ z2M5zZ@T^H+u(VLI(2%Cj_>9xLjy*>{_0Z>QOV3pJrH(5wpolye&#B?LeZjy>kL<1D z``FnFjTmVIRnTbI)-QwpKzeh%3RE@MRW(rc(2W=Yl_@}Vk@&c6635GhXIOsRum}79 zv$@gocv{^y(hW^8))KXDLWrjJ;ZOcMDIIt7U-#qhTm8C!`>k{AV+(ta!~M43$2>$~ z)NeaL^d3EGLUj&2NAYj$JAU?@`7ewj<{n=_dU0bQE6dCE#V0|@(f4DWPNoXT&U%zh z0cDZO=)U_ru`Pd}I#DY`tzBN1Jw217$^ts87+c1CZ63A*;v$8biEHchHb+H+{VERe z$q#=*cBnRgY&-jTF)w5h<^CxK5Z5d-ea5Oo0phxzW;-CRt4;6f09>$f)hYU!RCQ{^ zScwj^;;~G7I%@Z^b93cgWbRlrm= z)jDC)(lXXoJgG7%2}Hq(vYDnS;fToJl_=jak^@&sIs3I|y zoC^#)R4P#w8S8aWO{wB?R3RFL><-`|Kwq$gz-EQQD$2sCl>MP}pp-)Ac$kWkuM;I_ zLgh#@wA*Pk{sraOQtK40=|VC9H!K~KQo!!0;@AMj2<3fHa1{_SzyT;zr%G96fHnY0 z+E%L3pG#*5m?o2wIYYr_maou&3J{@D0N@d)GGPG<2#j8(WRih$%QMLUAqe%3elt|i zsVPOHoJcyHjZ&ZJ`T~AQ3K>B3L>bWQ9psV?P}DY(st!Pgey&XffJ?f$b{$HY11w75 zt1>X35+Zhuv7~?{Y!g6{bw}_;fC)%ADd$Ay`XL_LDN{g{o>eRQELXkY4A2d1U@1&x zrKHMulj#^KIxv$AWSDfN3$U4SO5a_e&lHl548W#DCUDN&~!`@p7uhiR?FWDc$T2_ zo_8_3Mf=D*)61ljwss)(qZg$3OkQaGU;dsfqf5#sxU5{Y*rbN7%zp69rQ!F zJSa~S=_$B^IE~3B?;10lvUjl#gC!6aI`WES)^t-5(&*&M90u?Y`H`U5K1V-HWxypX zfLiIZ%IXJ`O&EJa0FAVh$<>_xG*3nt3#k-?#DI+%fU=RK>mua>V2eZuN0!d?F$hcwu@5fH?t4(f>-2MD)24--1&8&P^!B zjuzPgQHl;sRhCran7*Z;D8oF^(Y43Y<@DPs07vFf-jO}V9;o{o`ip{*12Yx*V?3nv zrc${4QkkE)(2?^l{H7+G6}pqdzGs+Yii^A_{-l6m4n`(kX(zy)241yyorDeCsDK#* zl9A17tw+HF3zF(}<3OEJWmFDl4CIR!U0eVXPK~uwQ#D`{O+xANq*M_F3l;T3I2{vo zS^Y$6K6R#5$3$RJVGh=IpbXTF@kWKh5;qwF7^e#%WwO-#1W|?5*9*C#zQLomyOkt# zkmiq;E3#4`6J-rUjHy~{mv`!hexwlxdj(5{^&oAdU@$AQu9rif(b@#us-UaT;rx8Y z>j?o52wPERw%XQy#2C~naaK_B;(#-2QH3MV#w11w6f8)$ zRVGQp^=hBfeqcTrGpxL{FI$yraV#F~Y352Mk&_DWqrFInd4z?U10^XtmB~QyjvP9q zg5wnWYkiG11I>-U&``_|luhRe4aOh+-$2#c3t7vNckkz+Q)pnyZ1v*qVI*4sZSC-A zQCnJ-t6VV~R}^&W;#O^VNEVtp)$Rz}@5UIr zlQ9$~E3uM5=zMy?S0xxc8vPwTbxMXYSS$3u;lmF${8=yNJH_;KiS*d5Dkob3MGoB* zb(yGt4+_cqz6fiED$Y$wXX3ZSbcLqT za0#;cD^J-4d*Q7P40Tprw90-lufIQ3mce7n-YmL1%-uJq0J4gUXUEeZf5@T59ex{$ zN29-;gGZ&V$vT6JdxL&>JJW!*28GnUh%i={zTMY|HQhQs{B&9u7UQoiDm*#;UWlx1 zHGkoN%|A(h;^65<8o|pvdy@%Ac%kX53l=ps!dy1kslk`)JY<(P z3R#}Un-=`dXNhc%4cI!8XWLVJtN5(Ep(Hc4!Da=#LN`EKZQ#}wMjC`kQG=JurDa8%zx9B0mVfwT;RB<-*!Xb}iK(GUNO| zwYnjDS1R~t>?FG{T$J;>?8eQ8L+izr9k8wx9)cg(N-)cNmxImK{Qxk*pg?%)!BcYJ zIR{iZ0EK!ts*u3tP)qZ|hyLxD_F~n;w9Dc4Oa_mA_AxnjcN5HovOWsm(+nU11#<<4 z8rxuqEQQ-wVdUzs^{dI!8DOTxx0StbBbdz=2Yp!!w~O|Ng_O7Mvzr^Xie#d@O|1VP zdv5}3OLm>-t*ScHo$s5ce*L5 zojbgKEjB6c?su!s-fPeEuJ!NVov7cn(?_pcz!=WTkZ;&Lzr#RfJmfLv`w zUR9*sxA9`IX?|{e@nu=Q)LbMhFyz^DGHmaj<49WX9v6oKZKYm-7yvRJ#c=CMyY0gm zH*yk=0Wx%2K6%!okH8AMBO8}_=o(Dgu}7CyVK;3oFMF~i|t)E8K-8VpRO$eX|aX2sgH zadx8tyu$yJ-%~Tt0n~~OX#~&*XcjOgfHn+iaN}UEgP4)X4`UMH0m{MvbfR5j+I8o* zhhq;*U>u)%2!8+(0ron1Iox2)89~n!;{Z@C1>m8N>o=ZzL$c*z1Awe`rY9{1mcxIS z0X)SR=S+oNbHVj5zAC--=gS*f8|6H&G**wA3F!ZZ%KOOcx|niAZr zUwT#B!80F!MgW4v1KtpJd)^iFdv-(F-1rT+)yH#w1PnVfsp)<1Ec=tBThXkWLk-V$e`^fi=&;&<-XJNf;G`>Md{bx%5C z1E3y5`>*EjFjkzrRNv}O`JgPgcYm+GQD2j7!tFJGyAS-Ozx}guw2k*)_=i6yYoCt%@aoKOZcQKY z`OEF>OF;EYU;2F9j|^j-&3d(EZ>cHMX5KlpeJ6(+HFcHUwi*ni~ zz7&LcP%qtxgqU}k``UBVhtF-wm+x*hE)|Kq>G_;r2!cI~$nn}8<|bdWH~euHwQg=| z?~9U_ke{cttQ$Z7->ugyh}K%-BY|D%Ggog^`)Bt!*$K?u9r1F(&v&h_C>v6B*^h{P zDgrK{xXGS_J%4)+XRod0+X_2gH~Bh)via^)>jKjP=K1~Y>hd0bf8q86y+Fj%t$V23 zTgoJj-AA5&pM3tsujx99JqDm67~*3y8_(n`6FYZquVv!32Kz36M8EcOec{ySA8uFq zdp-c795nZ_D`zDJb3MHAQ2w0{+65$jxd7>)k6^AwASZx-F|hxO+q=rPeb8DuZksbf z!L%;mUwi&_`Jwk*l8dJ|>Im6a_&?(KPgMOx5Wim#tQY-oqF#_TCJQ+ z*@55G^&;bY%SG-#aQRGij!k^KdI6A0fBftT`OMAgN>A-OalYa*YKCv^MgO)xs+yCE z`}s@LZ~d$7wRZV7e~Zd!QBIcz_1EQxyIr^I)|Y4yM$9x8uX*cM%1yELB)$rJU@%;| z=}Fqn`_(ztnFy44JJK}pOGxm3=fSRhT@TD;-X^%j)9SaZFZd`$rjY{1?s!^lotQ7Z zy};1n=~-JIhW98O<~QBXxfJ_tI}67~nKXh^j+R@{-EhWFoK{BU(@Y;_eEm_%PSij6 zrW>qfFI=OXSd>OUT#F1Kt}e5DdGR-Zoyqt>5Z8x3@}aIEE4%t6y|S8nd8;5U2mN`#2ZOlY z+FmUObn_UDw_%>~*j07bRvgI0ebQAqZ65Q`@Dzo{x4qaY^iMngF$YxuRd2N*Z_%{h zN{Rn81P;PFTB`&rlRjjSX!@B-t+{f&C}UoeC_|OUntz(wohulJ%iX z3OdZnP)6P+s(fFj#wb;eQ>}Z-FWsGL6EJ2ql*Iwc7$cZgb_VVSR_0t1^n5878l1Ab zAqQg;6_E?fPE6w*3BtCdTPjtuG3@dT0U%(_NLix*i@_+SfUy9iGVGlUU~(CX zq+>vNg)xuO{uC!juZNi?w0Yv2^`*z{@PP9eT(U&Ty3!$loLuq(;04TYxUojajj1l{ zDTphF9f@Vfw3J>l5Xq*>q>}^oVg19F1h7szkqm8a`qU)TZw9obbU=Loo6tukldOJ$b!WKc|HFygW`sljewhX7{4!CqGOC86)n7z@YNA*dU`ePvIwgnn-znvCr>B!2Wo^42dTh0SC}lgN#@j<(!3 zlwD=r_)$x$^#V7>D`!KheME2c@%kHScQ9>RZ9dA36o&FXt5Q7fw;(?R*daiJY2O#`6Eo7Diau}jp@tM zUogHfXR)6O-xG}yQqfz6H3@Fazc9|}pbFa-LxT>_fSa&qK4JI+7=)}bRVo`F42mTT zSion(sw>pD!Fx2tI>%~C9EeS8SB5?spY?fNPxNvHc`7g)hC3zOBMqSh(2r+~CfFp4 zKtdKws)LDxX$)LUcPB}Xm;rpnSkG9e-?~)5+OcMwGSEUZkfaXkfH)b$C zU0&C7tnD;7YwHLr3eMV;u3xROX-1gWb$z42Dpt&_?QH#|php<408Qzdkvd`Av$ScN zJmV?A_OL$IHI)?^dDOC?z1wnB$1m%KfEY<%Xk&y$do?fjak>0Z~YuWhhPW~)MrmLmDgFNpun0R+Wc}0%>K`N|3Dii#y z3}|z{n5|s(CBOA@(<1bV-Pd28v&W(wEg21OhwIY&-V-`hlvt{`*E-n<&YGg2e;Wsv z%<0KT;iZYBOJN|>1eu#+e0)u#R>6;sMT!`XqtN$kxfhpK<<5N?xo!lbcp0{CKJ3h& z0u%8agT)@&_l-fmC(ops8jLLT(K5wDBd&cp0JUTcPHvSwGHJhsTNM`VI<aW@!;@=J? zvGXTZe;gXLE0esvTOddtIS3hHj_kJ&t(Ya_b*9tOL;BiILvmbh@xnPX^I4A@wl-2tI z@U*iN(_V@)z96#*G=W=Om)d50J`Zkf1&t^fjn|zdl@;AAb}OVdgpc^+<_kCHz*9?W zH5k%AiqhuVED1!R;II~$>&7>3h%Aq41{{$}NgqF5?d_oC0_MWB74u!;Kd#$292A`a zT>zAf&Gm0w7nJ=0v$Vlf$Z-SIQ49(_UOvdf;M6u116SMO7{46^vxoue7(pE>s)}4u z`?M`|(;NMP{=xWx($m)MZ9yRo*|^`kuUjwOQUDTT*V%VB>jD|-^`X|WO^(C0k&L&R z$`_Tw*(yM+EnNh{$Ti)Y$`AjEAC}+v-QV!&7CsjrG}egxc> zVpccgW97b!@4eUnUOl+>paBkx!{^;W!)<$4y7#aFp#e-`EUf@#iKt?qGC^@B($A{- z;ngp8Z#s!5W|tf;4dwo;w;Jsm@CmmT+6x34}pC-46HUt21y#2QG;y1ycdEcc9 zsMeNYS>^kW*sa|zVTynIS-ed$#>^PwjzCN9P)l=x5v^u39*lhMWidbJHKT^RhhawX;NjAgf9zO8^W z_ZNe!6sUJ`vubbD89*(Jw;%WCPh`j&{fRWj;UVMWB>C`h7kgOIP>7_xa@hlbs>Xa5 zB8cn9$1!Czg#BmN=2X%~JC5Ua7B$vv^k3E^tWCU*JpC)1H8U*XBJW^Hm!Zr!D2x62 zy4_g|=}Q|I>i+IG-+Nn~>`!!@Bg{64Vrg@!(T6-t&dU4WO|@DU&5W8Gi;$)9#7`NePGoJ_lt-gszw#4rx2ki?NYHQB zSA~P%%fs$sq}iVq3Rpr^4_ftx`9!+dZ(MN<#R4}~UyRb=ZuQe0>vB;yx8?`$k+UkS zMNGkQnbzUjn+Frm{T9A`IBL9hkq6;okFEYt+F^0KA!dC2p{%ah`)sXwAl3$dsfX5i({O)JU>q0? zER6k0A$PYXg03x0WthFea1QLH$_eTk{fX)i+riMz4`SPLW<$M(E|KkwrnauzWj zxSj90{=#4VzvO@W2Y+5>; z@6hypCs~V2U}>OQD=Gju>78imd8(d!A0?f>K4@H&u^^!7tdN+Q1~C-WDX+&-PQz1c zl>z`^7Y~khwzYrzq4-5(`EXFNA;;P9{a9@GxZVNx_?gwBFuTr>KJ)TT&94GVe9=Og z@&PLP?O*5|L#aXMf{L85%}N*XLfnCExqx8MPuEfXZT{7el0p zUY3GA`-C6<@H2Ar-h7?1zhIx&-uqAvzW$HHMo9(09Hx=BAk-i9_2Qb3KW!IJ#2_z^ z!_Sbokf{nIF#w#$RjnVRE(S;~26Oqk13&&Ar@0D)_RJ0G(RjkTW>&3#EY=vjh0PDX z*Ocu?9bhNcQU5Yx5&J*@QpK{q&yY(a`NI9KTQfbk^&Zk~e(3#AN(`Eb^YXP;-z4v^ z+-$P7c{tQ#e5TL-vkju+f+;twf#W)RcBO7xF-z7OV4YIr)7R(s=N=Z%IIP&7cg|;G z!~V8fp9TdLb&tM>y1RE#|6R$&7Jz#kV1&-X%mFr~oIkvxgO)w*ma)z|7c19oXgNTw87{f#RIH^l8^ zW7WQ`kj}xRo=YEWH_r^Uy#B!dH1k&NnL|2a*Xq4`sT1q|I-FFfZ6E*cdXMcqmdcJ7 zZ){!>F4THfej}XW9ybD_0VvSf;if%`z~cXuD{)2+uPeyJ*qgI z?GJxgb;x47g8-_rT>VbyR-h@=Fjc#+B_7LLRcCc*fVhrgo_ykpTz$QpA+qiN!i5WR z=g$1tdw+YoV(4nKaqUj_WV0Pm_{qRy=;RK+n1SpC$4kXfqVII=LN#F2$`#Va*GS5#%vHpB`A(#lW$60bc} z1*ocO&tNS}HdyyGQx@F20>=qJ1dKGCW1|oaC<|*eky&e!S1?_Z0Ay3pktw7WF#0H| zk|ioHQw6lx{vYHHi$BF=sPc1J!Ui-`C1Q=IoT}n$${`vTKz3qOP^P+ML} z4$8!;INVDV;03ls<0Aoo{Ai@K<0*zOi0Sto4At>6ihOp*u z374J%dKHv|vT;xY0;Hy_B>;W_MZr);c(lpAps3$VWQjvm05K?R>XHrZ`Mxz47@kPS zpr;Du%E(2MXH#Wh0yL$}7yG3qPnZ3S*C|+$OD zkSquG0g%lu*M|LRv;uipA;~VxNT%Se>FHf3m!;BUB0~or5c33EAAk7RgsFV}g)bt2Z zB&7~H7N^c8GvOSY#!OSmVbUrARb`S7a>*uu?UcYub>eeaVq~W5I+SO|S#n>oYYKu; zfCPXK$|lXh4;uJGfq2-{kPF2G!eWyStjFq#v49cGn8L^+{Z7AEj3-iz?3?3YN?S9K zrIwAAx+K~sU>t+Zijjvh0XYG~RG9fWcJ9MA1u)APOeh6dQ)EeGK>HK+pMK_%N-~~E zPT1PO0cPxJ+8H~>u-PT4^pqW~)HTI4EtL(6@Bua!Gp)C7-8SkXhOLNU1 z%sUD;;1YQB9jBBzY<`w@oexMfENjECmfz!y88(HP0;Omsy#RVD`T)v$3MkEn1|FDl zQA!Hf%Gi+<)J1n?9HR;VFy*BZy|Md8cZWt)>=yz?jlqg`Lz@C1kWv{R~9pY$8d~m$C;ij{I1C0gOwNTxfgb zvp+25NB_=K)!_fyYj*LBwrBn0PK_UK85;fqH@+ku2<9TQ)l#w!Q{RF^e?WzxEu_oNwRT-SpndWhD*c=?VEO->NRS=)MnNmCf9`{$h?RVD2>Rs3y+RYHL#k9|i4h9a>r05U-Yj#Z#0pbcHG* zjiG!sP|8v3gS;4vAgLl=>QBw9?Xkjn$sWw9>Id93pOi9o54eYS}UrG zvT9RAXerjeDnQx0Jmt)Es8co(GT+(Sk~C9(W)Z+`v;ztg4~m>3pfHB$DI=gM4Z-q> zoTk8m%FMf=y(;5XSPN5U7Lkq3q#IT-*0_{a09z?IQKKZ>(Abf)BDI3i`H&*C_EG`7 zbe6Q7+nFJ86Se`qLcv#?4FyPQ>O-GrJ!(ayIns6p;0;h0a^#0@iz{<4lPD8{1H@=Q zq2P&Ga}GSphO73Ch6*N}};%HR4;ZG$S} zqR)4LwQlQu5FXOE)KkG)9VzZzc~^(6S&i20dq7)&ONU|nYnya`s$JIXYxm_92A1d` z6M^8o^X5EQ3+LJOH$w2V{W`2-WnE-t9t1SF@=TDAALegwf5h^m+f)avwR4X(Z2hx( z%lADGl~whUbADSTGraJK+g>FtlEB~=m6kdoAHE+HfjpxQQ>5HRr@V@!4sEA_#;WXV zpjOL|E(*ht0+{VJBdfq;5-wq?0y*TxyYnKka%cV<#o)vV6ej1q^wtejSKfQGk(;VI4X?}JQ5eXw zzBP&X!(LZdZ-?EvjU~D9V17V|<2r1hiDi%T4!f2EvyS5r*^8%E<;^?uAHa_ij_1e6 zm)Or?x9Z2Te<1I4EY^jJq&+;w_6Og?eQ!IV!iSzk5}l{v%K8 zZ)dfkP8J!IY`T=&8}dw&CsrEe%t!y_z*OTP3&32M)p+U&>1>1-{itqqURjb@p<(&N z{O!+?H+^N(g+d655u=S!wFXef_4I$olnnou31i9TXOB9Nc(4 zC;;y;53CvWK(kwrwi<&K07Ab0mDg1mKu*l))Ez=?+vp#G%_dg-aDYVZWB$!Sm^`n1 zxV{}gH={xPC}Wl02z|>IVzE5wX)vLM&T->~8=Yg9m$3s{&pv&&0*W}`0dR@}iMYKr zwCfnm(az<50M%fxKo7elwJoNuaU?kKror~?$qJnh&4_+?xHfaAu;VgJn&U{1C&l3anwrObB5a^~6da`(mS zvUJ82`?|uQZxDwbI8pZ}R}_5gVKeq)9F)m8KwjBA_`#I}dY=5?lRExV&I+)5&-n`c zhJueDDa8?)@1;$u%{kb zk5J!?Ipm8xxe_XjTbQ%YoUQWYAYSafO{q}y#}!YpLKzjHmNRYfWPSjs)n>oLP1gcN zDKNGnqbyyo-j$7u8^(ruyIvPp{Uo##Htyj_SePR)F)Lb>#AChw;{Wj9sl2l@x#u7M zOMl&88_&&^q1!%>&6Afk!{0?h)B8e&zdm7nn=eiHp6> zxrAlA+G`p(zz>1+xiu4j(WI0iAL}}e*>jt>D;f5)#P;#-CCqv5U2p6Rhb*0kyDr#% zCW-7%MMhzX${B$J(%Pbp-=2cawVHt5n%QryiQg!~ zsZdbfBnoc*i;b^YdN5%I2fb}I5;_R{=3={g1*XV@>I^B9L70m?+%6`z_PGq>aD$Cp z6$6?lSlk4PB1>G5X;dKOP!+EuJLaJrg#u4-cn(p>6On)N5B|KiyskYY<9TctTQKc2 zw^-)we!p;HRjzd?x4+%-K92Br#{04|e6&5rEO5HmQ{NkkAnP`de!|AAEN_vN;~nKFCBQ!#D%f}HSX)!HaN`Zcn|xJ|FIv?*U!H2 zRkwQVPtFP3`-YFd%UJ5Y?qU!Z`!d}JwVF0Ezkc;vwa05Glzl#+8r_fZ!8|C}xATlY z)=>P1;hfdh2z7{Dl!5v3op3o;NQ-{}!;L)$brqk{)FIg0mtXsa^g^eJ_tJBV4?uNc zPw!#0&sQC|4oe8>$ti_{Notjd=n0Mh3r#ECA08{?0L%;u(rTp$2b-Fz~e{wGDm#?^;GoC%1)RDzy3NVW} z{9*(AZ98a+vxcyKXYV$v92pZ)AYFMHFe zY_-@G7YZ+Mc>6$H3nF|A)^87pt4 zV?*#r#^I}V?cIV53Zlg0h7>eBYT%ww6Vw#mBRC^PbCxjp7XTR42}NV)h^esV zA%0aT=j@f12*VPrVd+c>hKNU*8c0`J2)fgDj2aa4Nekd9ijBHb0+goMG6R&PFczT-Z;WqR6tJL;0E}^NTZ)Val4mmoKN+J1N#nxr zkYD=K6eVHy$um8Zgb8g3yI3EkcF;5cO2DG@49JrdlJ{Wy0!UM6-N6c#E5(nB#AWpTcD=cV4BpJut_ z%3@+nH$_@XIuR+C*!!SRoXczs&<23PzLb+hCOxuK2-r4=&yT=q923d7WTNOPgH{RnN12!`{V*W(VEf8?k^?xBzT_}7K@LEBpJg(frZO8A zGMgsSqy2L5py%_7xHBA;vX$jB1)QdhkC`|%)|_FkfUu$*Nmc+%n@KrJrI;jA?iW%5 z6ay^P?<=4z?dLMd3+b-_zD%TCE@Uz>raM4SdbF$HH3t-?QjBTeFsUSp71BKjYk&+k zys6|0CNrk10-z>z24gC2stWk3+5uux0AcxH6_5&y12U6518`SLJ`(9uh5$p6rGNDd zL`Yrhw-?F)P)9bA6ty^hqfknxDsyESgCT+XqFza_<_k5CDNtjW?Q&DF7@b>afj!5_h1t$J0z^O ztio9N?N3(k@r%y)R#CC_TY6tx>;4Yj4%GJ{*emRZcFAfQ21VvJ8mF>NGG_#!4s8t( zZ4%lVfN5nRWb9%6LW2b`#C(e9Y+UG1^s(BXj zNIB6(^gAr)*MKT@%|WRl4`@i0=M=bZBe4@@z@8L^3vH|hJhKK8?86kGV+~dn zh|5B;#Dx6N_CvSVHlgL@ZGeSYu)(>vzi(;6d8Uum4_aj8cCV-%lx~`LV-AdqqUtyuASMl#ixnz;j3}b5Hu*)a93~HZKuO*$-8wZZ}vJ z3M{J}tC!x=vNprYCoc^1?9DLH?W!?{^vQSYudb5UGd=(48GP~BVSnj`UPZ(l@1ew& zh(_{JIJ$7>cS~GFlu9`k4niH^Kb6{>*T+-)1Nz3WG}4SX7E6rv<7t&JezQ6Y{k!Vt z<}(>tKaQqSb;!;=*_pS+tL$bZGbH zAOh+zHcx!u2`xL6$lHoKFuh<RziS05=%6 z92@`(N(^4A1ds88620H*?B0|G#eXb#_D-+M>~_6qRNz7=HwS#USL&&4=WdIhx}n$k zHK{-mOtvs6!K8GUQ6LrlCZvh}?TR6;tb14(M{)NsV_Eu>r$4rDzq6f<{d+%b%Psot z$|mklm1as2Wmk*ZFrZZOkD?HaTo?ddDBgJaU`II4Gz7pZ1`Sf44t((R3|#ZwEm}|7 zrvnl>aQ1PzB{uidffd!593%jZa3;p4-a(dt$=r~B`WF3z@i$hG_xCo4i$3V%ZCqzQ z#@~4HhJtq(C(ggel+}ojxNrji1?y5=kGSt`?Nwkd(&T-Nu>xi}KX~!9JMgQ&)R!f$ ze+!0qwC|Ln>`MS(F21i;)N(nVek*voK9Zel_YIKI+&AgL|0JL2ZRft;qHdT^d@RJC zcjCtQE$@6NyB$Ex0DJg{saVZQQ4lM3Pkzsn!dM5h8*Pkn7r>T>g$#;(UgiL$9GC>? zjlSV^hAeU@Sot{Y^^cp&G4D74%E!e!FWr>k=CVBfy><}6`08UZanQznY>Ji6XuF<& zo*o|Y0p#j3o~Fs|dWX%p=%B9Hj~IPvFf;5kk& z^0Y@!e;hCG)P=IVl_F1m*noG`Q5Q3xkG0etbp)W0k2nAjJx#FvEi$gq>8xDH#UQSD z?j&6f=0eVaS{^oG_}te{>&Yiisyy}U0AUAG`xr-kV_5f8ZXP&i0~0?Sh%BSm|L{Nl zY58CNkpZ?M>&7dG`7xO5m;T3}SNCC15E}Lp`LjRzlWONfbjR|p5oY_xU;b|Y*F zTh{ZghxP$b?lRLnk$&Tl#a-r~p4NGnmQ5t+uZ!{rNiVlqVYn$%pSu3k*UmrO@;(hW zIr+J5>pY?gCk{Yw&B7vDhw_u{SZj->-cb0Q@%5X&)IQlz+s4!xZ1mGgct83hYbkc> z4WKRWut~*+!^O7ozTx(9->U6e{=AZ0AdI!q&(3`!EEKU>-mK>=x6h;V2F9aypG9sd zpXvv&-F~DAfT>8W1Ki@I$j1q{I7#?4WY@~a*JC^kpTi|ix@C%t7 z&~=#KnC0^@*++4wteCPYU8hG0sC+Ggac=V#l?A=L&^cg@GTM{R{o zUj1S$-?PQ}XWpkw9Uw(qTuh@Ttamnf2uPds_--JGH(fzkMxS{I%fr zOfQROitAq=3ZSewzYn&@@~*)^YR05eR-$vA`+6yi2uyLY`FKe4_nkc8Aq2)3?df2A`SCFDRO#=9f$e%Z`AzS@^H{^4QB}0Pbx(KYgf}rtsHZL?>Ip* zaXnm)O8R!Wt;BPO(tl`=Qxq4%d*#knS(Op-fB;@Vp}&G+R9?(!K|Y5MFwS6A0$XJ8bvCK@uCZt~7*^*I?(gkLXK-*|I(La>B`Z8VjeyK zu3iLub9;Z@dhHcCy;*;6bNl$&KYdztIb*xS-eV^DrYwrWZ_m!1E@J#W%@_~+_44cW z_|ue)I$ZcnRogJi)W7f-MivV~oojbaoq{@La5pelGrs08oq|;>+U)5E-eXtO z$;Ki{kMY|;G&bHP3N)H=ZidcNo|%$1EMFNADP#+-&iS*MF z!YN}pnhdlYRVkXOGl1qYl*A{Lacatqvx$LQvYyPQFb0*912*BE^3zxh;DhQ|0=v^V z5gDK$T}U#ayis>grG$w~73@VB)zEUzp#qwb#X@At{>!?7t|?#!0<4pz!uhs>b(nd| zT=fGD_!4wwIg6&M!E3RXgM|%+b1hf(Vy%=4SAFh8fpUz0=}d{ZRJl7NF-+~OX?)HG zs0H&@AOq3M(3IT~6&WdC#DRnd!>2nN?@;M;K0;PSxBAKKESjYfm28I_d2Byui ztfAf+?4}f91E37px5i_cC6tq)^%AJZ1_MdP`!WVdhZ6iCk!%d3 zSWgPpmjKlO`O#PaHq!2C>}f7(0UKW~S#O}gNf>lzLhQJV@FL8Iay_p=@3t zvN%rxKt`ETKY%-P;-b?4fXM(o0g3{^)stdM8%r&meLyFfl!FO`ae9LvbyzOVv=3_8 z0B)rJ>g|3rOLJ&blm~4I#=4|e2*VKL7s~o}Z6B?fSLYYC=jNAC4&{T91>$cvuro7;QuMY3)C!~7oR z?&0Y;sOd1^s1ETn#xur0b=5p81`GBl+AP+9Aa&ley^Jv%fih%F;vz=_9ii*17Y`B# zqD*Ga@I=Muxvu|UXHx?xk;{3)8Jw0ZegG5Wm41pgGS#dUhsJnG8`Wf~PyirlUv00D zJm=x5$+vHSWS8NAI746-Cjk?`0uE`{%=clQFm#coN0Y21W8@tH{bOqco5~Fw6u{R6 zOX?Uq0TtUfMBRv0`#k17{Wh%uvW{YIXATc?1Om8>s5EI|U&we)AJi(rS1`KvF@U)N zz{1*$#4DJH`eKYzioUu`b?mi0WvL)0FK^~#nhJvo?1=z;$XH;y(u5fpiPes>hlMUk z`!UaqNxruwrOb)OerEk6fH1YJVOcd+K)v9MFbG%IXE2EIODk39XwrsJAQ9m*-i7sq zUudjpP=KDL2md+;Tgai{cu>GREPQoPf3*nFRb`E+H3Su)KD4FjMGYiWQ)+EO`mXFxrGVHPTK{~ZGrI~3#-tG+>xKEJQ2Q0-g?npM2cgcLp)r3u~r>u^R54$ z_ga#?@dW4I>24OVrOi|Gd7wq!@a)fH;lW%(^M}DYE^V_OO{tfUV1(*3U$f*ekoI(GIMCx zU2wm#NRO@MKg9bek7Rhfi(1o8K)t8O%A>6jz&_+C#zW~Zhcvb7s_$d#?Qj8B@UTBJ z{c8nsZS57Zw!~on&NYB|+C~q(+m`GFqYnce&fgTPt-YzNMIR~Kz%CMXw-Y@o(hmps zuztb*^-ea^1qb?`hqp8B$8E=LU{@d7^$rs*TJLcA=2|V<%COj4UCLw|1bc_Mac@t~ zotRhlL-ZhKvh`bc<;8~`!Fl!bW3oXPe>RfLNJ$Q89JNmPkiKU(`}d1zqA697QqxAgi9+GgN7EW|gSdqdf~C|4B8{i8YMgyO^2&E~?O z4emOK^@DQo5A@r=KYz1frC1RZ%So%&372rKjv7EPS6C;Vx{ahv=ZEG-c42yHn`LQE zq9}ZOo?R9&L7N5S?7M6BB9}Yp3E;%RTnEXy8|@@kbaDHmJYAU{;GC9CD3>m!7(g`+ z{_(IWa|fBYo#!7QK&+%f8^Jgb(B&V#cwGj;4Lh$dcjpN>vvIb0V?pe<>wOU*qb=)gi1<-db`ygt-L882_>_nY*M>6QG6jT~oeNn& zT=!lNn~ty#-@J693g)mE#^mA3Q0`s3C&Q(otiUXnBnnD#h3mu0m_9`tXWWXxOmBSk zjp~qto5hZ6VlY?RFMzIBzfj-g>h1ua7^ir~V;P5*4$6w_jXvc}g^W$~MW2g2OcdL^ zf5v|Oo%Y?n)!Y5XPZ<1?k!@mbe&d>CSv~Lht>2VmtXPQRVGL}o=9V~M5jhQrxfHqg zjcao5d#>1+6UhK>JNK@0IzBT8(Dqyzk$R>LxWXB6XnH~$T!NkJ=6xBR-IVd|CQ#Xx z9;2wLSDzOc^JpWCr?d&m_q{*#-PK&-;8-tr{L$Zi488Zlb?K$4B!Ch=% z?f!}^aT0$#US_>i)4-YBt(R|Wm=3l=j=aWT&j0$C{vVa`KR^37f20u}_O$uezxuka zeMqwd;~4XO{ANzj^+|MIlJ;%?*I2gz`nz;eU@N6f-hTDAoPP4O`dvL~n|?r8lo$Pv zHuN+9>Cbrb^!c~`%fD5zY>^+@1I%4*1FOJN1VBM{|4z7lDG0Y$5%eX!-ZHpPgJKc@ zqk~K@fPpwr{gq$-M=I)!9=V^g0xWvOedHqMuV4O!zgH#8;~PZat-X%@pC|MGDC>C!0EV+KJPTi2T7nVb*j3LDDXbSeg`J^SV?;7?7F;sv%VnWSf2lo3!hvYX@B`cUJP$b_TRX(Cznoj zpI^N#5i$ma`QvefA5G2iEapMTh6 zI4El_6ux;642Z?T2E~;2yg%nhq+)SyyD^vl)|Wo7*3R_YmU$e%f9KVk^8HWNA4~Tp zQ~7elaO5A^=i&+rB-|+a{-LSe*UxV_RRT8n#gNquIB-)8-MdP+n2Q0Z}Ebdy>%N% z=6T`yh3j{#GUIpSEMa?BJ{DNNe2x9dmuuh?m&6!DpN05^TleiHY?u5360?*B7>>H? zI*)W&?<@X0e&X+$02Y{q`o`VTSjrDPeNKM+YLl(o{eR}wTk^5X)=rWCqtBeH*v9yM z|KXmzS)es&KK25em-~;O^kYmAt>0sdAW&PmuiB%!)dCt$n%jq0tfzXrKk<}ucC-G- z{YG?Y*2XGItd^D&Yhg}mg?TqR|J#c$ffz-XMwA(VBr_LQ>wc$u++crii?kt?$Y@Xl zQTHPd%7j~SgSl|F21uUXSgyja07)(wp5qFTWU;vOB%1qTFfy#nZYF{IgWsMHck6l{ zMWza=Azc5c-`bG|7Z-^1v%1n!CD`RnWvmjdtg%@TRzs%p*-lrLqgn!wbul&s;xP3+ z#9fIqShCq_N279eLM@#6zjOZTR5jjwOy)d*ai?o624GO7i}bjsMo1#}uf1H2UE}ds z_@<3%U%I0TqoLhRqW0YiE)-r|Qu7jr*&GkVby#TTeq0dO`K{*ny`#lqQmtcz<9Jos zbI&{@cOO2^eO}xWj-8wXJw(&afpU-HNUCW`b!)2gp?3UnE0jj#g}m#6dc^J_^iQna ztBa_ex?7AMy!|pMQ_3`j%F3S$x&>W5V*4`dFg8Si>2XX)zhr)klBwP;iun{Pa7%CQ zN6Z5^W$fx_l`fT@%eTg58FNW}zIJnUu8@2jF&3vxmBAI5kmky0q#ilX1(elG6^x)7 zr+P%12Q1ed7%o^s)VgUBC z6?Mr_f@VEzTHxYlc1mn5B9Ua6D^LYTzyLG+XJA?a4H!!7umCCR7ff1!V@gTJsq_b> zOi@=x@gMdF%A){m1~4wyJQAC-k5Ok){iG?3KeU5f(qyJYLjabDN&yG~FqNTXoB=xH z+_R@F6Dg>!ey)10y%FFl7-mXICb`T8rOj;s%m(;I={%E!Tii7-mNuG+u|2_DM4emN ztLhK{AC%##QZBq2aJHT)P+$OREHh>!_DX3lQ9zs4Czq%p*&9f2Jl1ZM3}GrWkXqU6 zg|Q})WCVL!s^#5N)C0gj@@N1x3K8%UeX|EkSfAvZTiJuT&A=2$Z~<8c=t`-<=p>2s zC`by_Z=Hv|2`2^c0OZLv&(eo&N)(i(bZ$BAj!u^t(2*el<{hFYF8~e!5GgXq`kVt0 zY4zxtYd&aC{P1a>4kR#fDs}yz-4?( zNlImQqe(N=qKvN>!Y71n^FqL%HlbM1Y3rR;IjHN=q71D2ED5HZj@=y<~3U$c1Rk74)uDk!>h2o(O%rt(~ zc0TU9SoG96Y@vGyuPfLn4C{DivH7{c_7c0t?}`jHi>~!>EV}3&f5YLhb3MJt5BAK7 z2gUiff2>fjpblYLuLkg;g1JOe!M7kkwSE{oC>X_&O3wElYq;8;>Gow(C~IIk1-x2F zrjt(S7lnbJG)x7J5EuP1(Qn2&*DI_kfS3Wf(5MuUWZ!S8dq7QjKGU-n0LJQHlV;3c z%2=qKl$pW4TI!HTqh&$|WEkdp`W$nK;!nBElRU6p*0qn#^9o1_^QPwB+eZ6PRLdw7 z5#a=)3U8`_PI=egRqD9GLf-f(RH0YZLl#gwf18N zaA{7hesuk-ZIOzyfk3+;b1;A)vOt&hjImfH35jKi8BC_mYEh?$iF7W%2)krJEQ#>yP>Y;R330rkfW_?0(9E9egUYJG*UU5 z4#xkmcJuNJ$tSbspBK~6WnLgIwbu~IMIBGDGO)8s#)E2TToi)mmAH7A- zs$J*bP%^I;XNk-Kg51aIdoRoVuO1H-z8s;0cT`FAvJI`@3@b%7U_7Zb!gDvJd#%I=234C6^)yaBiZAQG?-0GAj9 zgnj&bL9msz152=gK`SV)K6?>ANza;`t z6%dO1i{p#m9lU~_-z4t!apAizXxK5MpaXkiAXogsvN}Kvwz=6fd-|_7q?>r>(5Gzd`G!DC;!=A2qh8&7d)7^>a!BF@(3!um6fv&J< z8|`$$Ud9-F|9agQVNN1^;@cbcD;C0duDBm=*go^VOVu2sad-4HfI0ZR_7xk$&%ghY zocqufWk7P46=wq@-GFdlSE4;r_FLB;RB50&PVPLA!Kn>#Ru{%mZ!@}{OhneNoYl6* zyb17%{^IpP*sgF75DJi7yG>sD?n|BE(XMiJFjqe)PVL`$D00y@$J!1k-#4v%SXYfRrhxwX^H8d}2kegj?#bf87pg9B}7h$7y#vAE$XzCgkbNQ)hH6<2UvI1Zk7B z8`dKZ=HdX4_Udd{q=mJyuf1ruj4>EzS>rv-1Uasgc~0DSQtyz zsq%5sFJ2jOGbXq5@u3kdgbowmI*v2#!Q$?guYuIWKO-smU99v!AJgGB4|k@rzET4O@NsTqD7V9f zB8x&;i7rE#2DTJrTT{a#?`p50AoK|Wpqn*=Uxsp^$Cjgq6I*jxN87abC|!GfzhEl9 zWW&R8|D@CRiP&|`W4`ZpzdU^p9@{*JA9Y<27xZysr1gTBeonwmfNSw}(27CjIeC z^;yxwZ37XluZ%PcU$|c@_jiE-{al8;z?|)dcIy{{VApkCsZ8X-!*>T}c-H^iw)=`J zaR&G5%tu77PN(uzzb|Wnp^&BAZ+^XII`Q)Lw8YQPyn1skEr9MY=T5E)>H`iCD^J$@ zY>IhjcPuXkz+KX}wQD}*e9S5#W3UPBS<8zAq-8th@oX+pOA5;Q$ zqc;_{gJj!owcoZ&^;?yXs$bR1BA-6?x}eLopWaT~-sRiRhI{p+dTEF^J;weQ_+GMc>nR_|Cd3q>NEL6JL91e@COZ-N^b7NfZiuI1fTOhR34k0e3y?$T zWN_|}ytwtfYy1^OW{lo-QJVvHm# zVE{&GH8{hxiT41Hjs9ZeK0=KN7rL2 z37~KoPEY_>FqD7$q~IJZf~TIycqS!7ex7SJ49NeG#yXQ6rn6qDX)VjCg4BAn7*)lA z#U+vcq^C;7MK%MzW}p(<-Z+&KfE>`T-9(CT2H-K+2cWEC|w2m@Gl|#`f%k29i!@dge~^g)s{KO&tONX3*{dD#C8oFJzYYt!*zA(uclnn#dIPDk7dx-?^kP zNU63x8(Q+%my$Z*Y##;vA>DE)DJ*9FQn-XH2^XmuE1iMu%B*LMK%<_Nn%ADlsE~33 zRBa-&2^WpfM-nM|siga~2~c_<7pQ~4CPkS9oqigD;ycJ1jAgW2inmCWDW{N`vI}u` zLQvX{L4WjTQg9eUf1>I1OYJko6ox!T9qJRdNg}c~O+Ep&0f1773BXR2-T{-ar|QAR zWxz!I(&P>40QhmL3}&i$Ptb!@k};q@6s<}HZ>Cemom8@=Qk1Zkof%+Dsx=`49);JpigH zAV3B^206olsU2-5^lF+pV@;j}CNeEAKCRSBwI{y+&ss&H)wc0|wYELl+oSl^vx#VKJX%b(p2MT~Z~JNd9@w0r=}>k_!$s)=<>ee{;a1 z%)dI$F{o*0(Qya{NzzDB@@-H-BRbFn4rUI}o@YQxMIYHbYU?7KR{$}Q4w#x0unjv2 zPBXyNx{9#2MkEMM0w{;MS9L!Cycl>4cgK2b7z$>pS)!_XCL6?|>o$Inb}VY6WrGVZ zVJ+mYq}Y7He#rb~Y1TEC0&fBXlL_h7n`EDp0+9YiG*GV<>GuAOi&_^U4v8awVllDvcN*Npcg?i@K!{@#jEax8v5}LOkoVU2zE-7HG zt@=_acVD~mw7-U@rLR9?5k+D`g2Lm?&ws5YAASY^OWTq4XSWIV4_X)25YPSY%g4II zLGk8dx0Ck!d8gqgO6hIZx?`SgoCZ%ikS-KL2-1g}x{S=7ztcBer`zm?Ph7Ea z3CzR!d7#+#@7X1T?bH@rYQVDBZ;*C@1%Sh(V%l;+drn8)=Tdg51d6WDG(4nSg65NB z!-cu1&bc{-a#_GY&jl4#8Q~#_kD`mmswlMiHT#IW4Rr(HzrvGcztY`C_96V;H*26{ zwp`aO%)4%ys{)bnwI;EJ%T>?Yt+698a8>T%g)N1eQA-iY?c-R$_0_0P1SrSnWYNb=*+_UGA^z2~(EeF4pCK6uXlvL%G|!t@0@T zT!wP@k9%(St@d1B9?9K@ix0KA1#o&u+j-PHZ}08P>eBp2|D%L={=~9e4~q9kkw2U_EbGI0@ zclV{6GCZ*&PydnjqO(qAtypY!U5fViuHKplbG6!!vW^`9=0X|YO$7N@NqM{ z^H6%Hx<8z_%wf+M@PjOE3HFw@0XRp02IRDIaMyB;@j(q8;}9MFkg}f(j6PX80|LBCJIFrK%Wn8KA2m?tj1|B~E&)i$S$W7ofN zU6qR3%x5TpxuRG64oet@H1UsdgF5CPELA+Oe)g)4@wDX&@4Zk1lQ{HV9df{I=#4lmo z0Ek1pD`!H#4fWz6F1(=N=E_^NRob%W7dEXoK7UnCJQFsHNurEfy)2a{zV}@kqXW?x zA9t@s2My822?aQvpZMSr=6B+`9hjv66wM;-RL0Azzk5|du|$HB8#k8Y2SZ#{o1Eqi z)-4sFZg=)&Z)ac60!LxoBH!oVb6$S%kN=>2@?U<^MRi%FGREp%3tndBEMM zb8n~29qqBr{qtm;dGq-<6*$E>p~{b;j>rqu4Dd~vNJW%ci}vVi1i*0KK0I6paq%1A zxz{OUrjJ`L>rdtfR~C%Nc6X1#QEo?nbA=s%Q#W3)gN*ev>*8w=m*wexp0kc)rudWVR9;lKSm@)Ljazlf7^r1wTFjUP?# zT|lB946e}}8T}1$%A@jZK~xrW77osZrMEljZVb;FsS-QVHlg)^krpT>TKwY8rsvOWNq6*D(6_cPyC;H-ASOHpQV zFAKjA$1j+P=V>qg~?3zuLnl>5SGibHf@6x+w01>-kuNOEcf4jX2URs#Y<_gJ8HUmZ~Me)-qFe@ z_BJmwAJVs}4Ox%s^_`T^ z4^JD7*A7dJ;lU#yZp~*|$_ij^6w%m&g|!AsX`W`}ikZuc+2x|GH^##4~wPw9r z9u2BKLN}z02-3$}PxnF3@x@xHg}n1`+8R&X|Msm{{Z$@pZHqI~4SPLt09=+acUV47 zZmi1g&H7TT%JbuTX;;vKa23S0z^!c!i0d#DNBg!=cAyPyf|DRK}n#RT2$~#8rxG z?@`EcIvN5Ya!Z9PQ)*ao!m!{BWp3oRs-7MdJkU0r?1Jqj|Em z7rIw^d|DLJD+iLN6VXe=0fX)4Xs+oQp0XK{38t8!$Zm94DCVL}&WaQm2$&{QoE9!* z85DXBuS&%D3ySYD&6SlY?d6pcv3?)WjHglppius&!dMM3*S zC8f-Yi6q?YH3hUqljAUTrl1{NG6NtRiOgn6*lQM2OhdV*2FlkhD0S5{oo*!(qa0_j zL18&lU_rj0E4$ASFdSKiiA2GBRt*V&7wiEBB)Njz>h_;1h>B{b+9-PR3}CM4Ys-Kt z%<3%UQOQ#{zNbvGOwh9_0gUOTWK8m@0-{I-XX5lXfH}Iu0@qN^6#Jx%EX=DJOi=)Q z41i|s4W=&uEv3x3jFPnV3xPvQUh|Cb^^lG8`zyng_-FWGZP2 zLTV}{kBruGRtM=Ypc}oiS#uAa5c^Ttb`BWMz-#Hgfgq=4YT(hp@|V$`2?FpdtaRgCWRywDmJmib zfMvwXN)2!od+L4I{1{^lpbDZx*{}dym5ei`@Exn@!M3J|P%2c4G?A1%GUoMl6jHVy z0F*jJ!$5{U^?o8n)>rnfyf=`<=mtdq^wG|wC%w=IX@cMuZPMhTbZfHeMblS};2ke? zMmoXcH9GIL=DefE@Th(t)t{&9QT#9R0~4MOqKrrM%@RNkl~f39k}Rnxc~HRY*A*Z| z-_QYi1+Xz?UZQ;<%WqAE zfwqW&=B#N0aAR;3VkVzz=;S&$k(EN(@0hz78vwT|4opGhJ9}4kfbG8DxVUq(q zTkljl@9a z+MZym(qRs8r(MuV9coybF6Kr{8FmWT0xU-|0ftLqOCL=%hjwV}j^@kuz&L9f_{(?*xRAVP`$y91I4P{oVik2QH)5!> zW`Svg2$g}OwgUjd4pg)DV8Z;h^0lY{Lj@KrYgpO}wO%O_<}l*ac4B~82fL+nOy)1Mo347Q*M%x}iO-1Vb4Gw@_wQZf3_{Eh!ov`6Y`8V5<%xZPbY+ zGPG3FiK#>RHhpVd>RRP;0iY$>2s(&WS(%SC^UL|PaO+_FdrH$<>Puys4(ZU&4hCoI za~J}%OZ|duL1{&*JqO}$C%dYoTBtj~vC zere-`%)b7W@UxEO;lmI{ZKX2Bc&BQ|9tO{XHPUg+r3HGty-)|64x9>svL@>?&N|h0 zJLQ+Lg$#H;bYY}R&bAL(Qr6!&YrVgs9D4w@I}E}Ng9u%cd5n4U{3TtdyUh5@U+`CZ zh9D=q^Yw*5wrP1_8EnQpq)U-rVw9}?-ii%iE*_q~?9zG5-M9#91E3ZbQ6RLtpexMK z)~@U%oYgk`Fh;8|4WSv9lhEnfC5|c-oqhKu083cRQ&o4*+TF%`&xFYS&HDREZOgnD zbQoJe&fTkDkHrpuSCEztvQ61)tZ?g)0beNSS%kYC;kmNZmz}*DUDo#E0ItJ8T5W&d z?B9=zajO>w`Ppn`VLxO!ZdGU};b(R}&5j2(FNQShz4g#9%Iz zsWB+{J2;8(F{<1i%>}N&9)prp@ECtk)Lvu=fAf43{H9D{tvPy;|AXuu5TxLxQUuUa z%t99XZQt%%-L@ME!7k!}It2xkB6nXmc9%%3dVO&HfwF#77Dsq-rFIu39*@)QbkaRa z`B0CC$Wb0~Tdv}0y_|UJjM@M~IsaWX7>MxGoqZ{SZb*6n2nrxrY+NZHI{*u$#ldH> z+@rp)IWQyim-5b*EM2jD#9=OPE>{~$IkBQ_G_kwC0}wa}$Uwb3yk%g%Hb}`8mQfaV zRu}puU?Bhr?(T6N_et6u^wH%P@CsnAE~B7`Fg~GRa_(7M#Cskb2*lVxd*=wK-LCGw zX@AIFZm!uai|`Xg%R4zTD76D6jDOx4dcdr75y<6|UBP1|=2B$D>B zsvaHqNSP>THS{?^IoJWJJo%)7qyVM>mO&Y*0&pIbsK|}ErLDAt^Pm2A|Fr!2r+!_! zZdu2jI`uk?g40(A4YmQu4u-q+(k&e~5gslLh4eT2e+W_*$q0#E@m^zrL=9?JDEzp5XeIOIJ`SzR;b4(%7DebiR~p@+-! zU;T@JC4c5G{22vkvUZ?N5S{}TV_ARqF@WFuJGF9MdmL;lx}138gn|rd`!J4P{+`Pk zBx79+z+%h?yrlpxzTfnF>h9wPeFXsA!&|myaeKgV>t_}#h)|BqrQ{9pV{DjHv4{B) zM$p}dyRv<2Tl+I}Jcj&GM(gL+tMbC0adzcmJ&!q~DC0VDvc_Nx#7y_5)qL@hk94DHvhl6^5&<{7K?QsKQFuujzh?p>zM|Q+<>wdkLa9ytd^B4cV zdzFmM|t^ge(vYzy#3w(>OWJvm~nbHoS4KHz%KM`aJU?fT-qR<@)8pcoev^CU+ca;nWk#Rp&pdKJX0OFR$gFq#;mHhy!tip_5HkMoIiQIVY zwGQA~&T?-%bh5TX_oweuS77FcTm_}WsdD6k%2ydN$S zLAPg-x$|IO&Tje#i+QP)j;Itjq=9gVTe?j<@$*gfP))vZkky(lSH}*%` zZklPEL`T+?X=rYulyu8!8_^>CR8^QRk+*Zu75=dvF_*UTBZA9i7X z)>%+xA*_AKCwnL%aw*%epULpVa;KuWU;4n@#afa%-_II7nyzOB3JGcGJg<(@=V7$- z;d8FL^NayFu{|H(+x{!}C@x47WTqi@KJ?_ zZi{LknizYufB(bJ$p8MiZ>Yr&J$p$uPo0+k<2Qe=3Wpc+#ai51dpRd%txp+q0SIQa zF|yzLQyGi~6*vrcKi46ge)Q3kI_3OJ&k@=0g^Rl4OCyk}(%->Y)&)G*1ckDT{hnG| zl0iO`|KN|lM@9Ja&tG^$0pWy0T#Ol9M8W#yW1DL-o#pbW*KR4RapkG?;%CWj-8h2? zXCLmy(?M9YWA=7#KKaT``O%Nsr6~a6zkh8>J|FhiDigH_0CMqJPP=`7`QDcNn=qLH zD2V`LO99|Qc%vbAV2k`)gX$BfoLpO$fBy0{Pm(_UTwH&w)eP<~6a%!_>&9l{o1tLY zK4Xq$2N=D2=`#QTAOJ~3K~(X6HoAG0 z%O1lJAg_mgJ~C&J2@d_}_6`6;W?jl!n6vqP_u+1(M^i@f{dDNT$YsCm2WH2penwFm z;<(lW%Npsqaku`C0b81zMVD1_k)@lx{Tik{JX80<@qWF3f6o*31ypa|eyC+k!T~aQ zT{)rR>AXVZSuZmd{c)R)$rc znNK|&O%uPsITS@DGnt~sY^JxmQpGhbwmo=RTd`Y^k=rU0Szlk*z4~M_5tz6(H#ZcN z#h!2T#0lBn;=I3<&CN|2&StW~VFG@JL!Hw(vl$Eqnr^~i{_6)Og?q0(r!0QcX(9I? zJWxfJYGXzAb~D)+WpZn4EVN0KE}uLr65(G%&feN%dDxe&jSEtY z?F=>B+6rTX$cfDp(o0ggy}K==Ejv>?b;-U30dlypXXl~A&~8Y{#nWfS&t|eP|DC>M z3RV+U#uhnq@1g7^iJV?tmEU{qH95JoB&)-roZhjsxYhT)Pc!xOpZGUqdELGh=7Ayc zw?6R+Ik~YW&p-c?eDv~VIk&!!4!;@zD1*^RdU-Awhg9VUf1Ex+;0tt4z<-XA2iD*SBq-Ua!xGhX?GJ<1L9Qe_Haw-+FD_ zu+|^VJvQ@sUV*si)83lRXZy0H-HyFhakn1V@pUWISseGfMk3Ev*|b#zF);;uj5Zwy z8~tIx7ZiQe)&w+Ij+#`VGuYM1CT#8TCKo3n#1(pVBVGqVX-pcJsib-!Hip=I=E+bc zXd|mIP*-$T4rVmEV98#__Rqzr@7*--E;|m2@ywum^hUC8^@mMUu;S0BEF?Z2bST_uj$2Y*~HZ>i(sZZ_f9{ z$;>>7D8PU$3uJ<23s0%2^58O}RJM_g$eDowgvbVgkcES)OiAV+z*trp@E|~fv1Oz& zlVIM2m*36doO4h7<#v76+N*na|N8ek;hy{6otfM3-Sg|-d+oK?&S`!30t1#PkcJ$g zT(mm^yabr4GZY1|sb{F$RGCpK?Z!w(81L$ zX-k#7$NjOS?Y^|S9H?Y6Od8V2Mrt%HX*4C>L9d&-HdN(SRqUP{$e80w@D5<2kO|Fh zwH`Az%WaAZ0Q1t31^_1%_Z6Ji(De&gDykg9Os$di#PSoor6A`Q(u->KHLt+07a34UWE;mjB z2ug(u#;9xB&;j28GQ+#sRO?MNcCwVZGfrtUO-ZpoHZ!@BLxyn+Y^4Ze=eQxmhShPkc7tLm z7J3GWjN6Gc#_U6?xh`n{qNE(yGv*R)6#tuJNd}4Z8zZ&Sm0|&`P2OgbvJaMEVI>tT z!X?xd^hB5+_6!&W_(?6xG+-vV}|aZ8A)iV)C0XK6Xs{J{Xt#jq@%u4?ME4c3hDaxoO4`!FOEN6((B>UA zqsEo!LxRO71*y=lKu22)Yb_c#MM=LwpGO6}7s6kwy^SL@BxlAO+XbojSE3J|Au zGTP4r(6YLr^CC402dIp>hs~8}_d45QT?2?PM=c=-phji@fNBU#rBl2pA{uB~ljVRR z1OaGc)`k>x4{(=Gobgt%Z&=+kYlwiM6!fH%0s4SM$A2A{$d>?Iv&d+VWD1F=pVk-q z)J!AKbirvf2nz5_<+M2%S*ex`Z33pDbaDor0D(Y$zYD2XOs;D2&5(rKs%LzJcBOOGjdhSo4G--uw~*G@xgkbGxu|yk@KsqHfM)be&-@G-Yj!EtNVT{LZ!&r>#wU-0&{f8w$dx&b zMnN=)z~eQZW=%{BK-+2vPu*odnopI*VyAsGLTeFd51{BdCDHks zN@@9`-=vWl0_{)t7ed_#=`pTWy)3jU~)9>{S#TX211%w)fq;wLi;Ovw>RZc+{NdU!u$^2|%m>bSp~;osAchVVH+O zUEy`I*#9WJ^q@sS#by2?^SSODC~6sC?5MX1Haum_ksSvczni6Y{|W$m8?U{|cu zU8Z3jP>U|u>*(=f-&Lbpu)ST6$D(I_Xu34k%NKFymrdky+RGpYGUnv@i`}9Th0#7( zzr7szu(3v+3A$aJ|Lgb^g|}Cy5B;=fLZEZqv}&+0^vGrppF+lYALJ?lT<4`3z;5n6 zxM@0`1qWj{?ki(ypN(|KIn!D!_R*aOziDSKk|OwUp3`!(DY%7LC`(2MPedTkTg2^+ zft*>HtymGl9Ldit#hfAnE99fF%vJDw@NW+2s>ZZC$Yeg;m|FGQ?>7o$Zb@vvVeW^n z?tr^jbNiJZ9Ntev4=`+1(c`dD4MwT7D$00=<@I`pySF`*V~ct7FNt$^qbsL^0$s^N zM4p(-f6vgv{;HZbi&6OK-|0xjy zN&?V;g$f?GJb}A!4#Y~|Q`qdw8H*k8o%PtVHcHGa;>a&nM2VF@ldT%+WZao()TBqG~)?eLBG4wG*v*Ylt-U-wi21a&m-2G}va71`bSRV9*; z1e7&Ulsf2B*Jj+p(X9Fcz^6{xH;zBHhUPqD|GnPh_|u?hj=~N=yo+zWm@7u_#Rva5 zoo>Y_4yUquQ!Ki{m}KU=D+A?|On6P<<5t1|-v9zR$|nY#!rvc&6x6%rpscd9v8zg0 zm)~KFRoaX9frMEIiWDf~x#E)ZI>@gp@?jC_<_kBcruPrt_XnC^j2|cyt-e|Y?45k< zq=IU6qb*E!nZs0--RooixfOi;jbuq74`;|DO;_Ue`_onF?>4=fw;5RUQg*kh;j zeDZ#ndg}G7b$qd86~+55ctFRP!x)3yt{@l359lVg80X-on8x3^S^lLzVX-dq*ylc_ zd8@b0Cn8t>ow=V5;8n^Y@9$VXj54*-#2Fg1@d1aOyFEc(;&h-A04}$H7x$koL-m(_ z0YyH)^&WrHL%Obg_!U{cWR@GxKVzFGxF{3K z*UJO{xE~=c>(?f41E%gnSIuwA3QKe-vjA{q?x3L2mkrcTJdE}H=kthadwKk`AD8PN zyRKH|x*G=gdiSsVZ+Ysz=bc}n?^qFY*&NWi^Sq690J)HlUx4Gt8!OdOp7e?SP`{Dg z(@x#>yrmz&oo|gN^i%!qo~-VmsAF7y`!{~u+3D}QzU5u{H{t1v9i$CV<;tI35&9FC zowV={EmrFk#5o%0z%XaFbMmajU@oGcYqg{sfw`((Y4sak6K)lU%BMy@%Wd^uUrrti zit&N)AOF<%%GEnoCRl{>=jVQD5}@UNd;NaLdwzC;ucJI z)Aw5QBI~<3$a>*18-uE0NQciAJPD_RS@_c{^D-O_%@81uM*Pj>mHhYS4TH+{ojOUUscMT_3Z9( z1K6}W?L6IrfPWwC*K6y+LOr5>lmoMJfVplf0yNK}eHi@WZYJ;FgJ5=_K~HpqGc_ET8XRDmG%)CYHEY^;vU z2j^lTd`_$vsw5(R^KDP)(b=!Q&u*!ll?L74jJoc4odfq6#B^Bs;&49qaI0IfAMd~U z!54C;-~Z%Q`SSeBUf7TD11r`gSPY)__`0QfxTbpn=n1x)rL}F9j{|~Oi}-tWuIBr0 zS_V-*#=J^-iY`X5#{DOE?+Mm^f9s}QG(;FIu=~Xk0LjQN%8xWFh$@jB#6{SzedbB| zy=%7>tVVrey}EE>LBqxM%RyY!izimZ^<)!XzqD_1Va6ZGGIY( zT+XB)lx|L+2GCPn3d*GbaU8r~KXpnPl}k&Ri&e*km7Tld_cH_H@+XR30C7!wHn-|; z5jOf*s%aeR-T(a9JL^4yDRzbUmw z@uQp?;x|UB{v2MdaVsy=L@mXoVye&uKUIhg5i4F!L1}231+BjdheF1J2NGx>QKAJP zgVhi3a3ar=@@?ck_FOwlA<&@3YKt)s81&I52bigGm>=Fl2O(ZF2N$pG*25`V$@WC znF23pVtv$d`#PBE|CX3*x-j1DJ51FU{n{Y$7k*;t0Dl>u-aMkTcY17Jy- z(k7#t09(*iMo}1m8Vbl36&9jeC;*vs!v-s&y>I%wQdo zB2$nM`8m{mZ^EgS6%^R9h&Jw9p9R1L`TH$N+C3Qn=ECw+W27JfglG&JGHeY5kPD!? z5!T75*C?D18`2sMWz@-J1Z|HqLqLWG6i9Zd#s&hTI*jH3BMubf1rUI>KDn>y)l0nr z32_0lS;ZMiCe0K*KfpJc0^S-UYp+S8q3s|WbCC*drX|UM^o|6BUNkbwtf{C6iU@N| z4FQ0e0{o%u+5<`ZWWN1V4I}o}6T4_6o1=_?9t@?0bsRvAEdUg$0w1-EsP3bYG+QIZ zKpB`aAk_d+C=k)=NYY37z9C#F1+P&nl}6vJh&B3&)iKH$P)O(-wGSC4(paR@XCmB5 zLHbaOXkq;h;-RJi>t>28Xl4o+)jFm9SgNwoXTT4jpMeEL5|(+?Z~hy%r2$eDy}y1U zSRzXYW3;N(vK@JAZ4YWJXc4W0A!vspO=KHoG8#9fN!}%tB3-Xp;Q>%X|EO&YKphtR zhKT}Elm1wLA*X%-@}&I%79^Rhe*mGRBQB6@Nh-bk!aKkh3E)WNqF>}!fs?ofj?2q$d!@>Q2!X7rfkCElng>jlH-n6;9 zfjx{$efdM*&QL&SMUxw^TwVe?yBNl)X z+NC~p`oXXei!uer=-#4%Ky~&MZm80>$}kEYfwB5T-;NPSzUi~{CCs@LB(0;4#!TJS z^@Y-ad<4{H62VZXIgBL<{UU(1Op@VPL27`Q6ktU4brnh4ELo*_q|MTRH}tUztO=IR z==SKxH3R60H4*l${YuCSog=`}(_v+x(Nv6hamY?9mnWchY z;Tq)+V~$0qnW6auV3qK;UyY2h)`uol>xE^ueQSPu#nIoGgquW)`J;LV831_EcW6De zX_$`1SU0sf09H6DWx%>2ZX50_0)*gy`Y(M+3RMmjL}3{#_6rBI{DGO(l%gO8w$(X1?kcY zR>>c&X*Qoj2DNUdX+&DmY<+}w>*Skeg8>ogE`I;R5y&MJ-$8yp^nd(c2O&Qa+PTM` zHa^}YLVccpq6*?NkKW=1r4Koh%RpENnv@S@UZtK^dd{n#-BA%=gBw49JHPco_|)_D`77ol6A1P zDOrux@!@89&(;~H&9*data+U{A6d!D`C|pxLx$hrw;kU=9Fr^+d*-q8uyWCu`{|gI z$LFqGo)BkFL{OC{1Ziu-q9KGv@2o=qg|18SWD@Q|ES$od>w)%53D0Es{Ie6ZIE;4c z&ld(~f?o5Y>CJiIWUgLsG;M~9*fbqZZCwPNWL5u#3o`WaOT#paiayH*+k%gcUEw>* z&ODd3b1Ud|?Vz6#F|{`Y@LwlM^fKnC-%}48Ckn3qmdRWto#vC3+HO9N%0&9NuZGMh zc<`3>n2b+8?S&|xql-S9^KOaE!&v&d?Ly}^kEoKI-o3~mPObbpWNQE6(-e=T^vhvO zRSBm=a33F7?b-{>g+Fw&4qJL`jzmwChmq^2&TCcC%Ox-00Pe02=9k5)-qJFKeW%rw zDwu0Gy77--dH^{k{D2$Qs~zAJ+Sl57P&t^W#$Tu0R;8)?UYJW{r(5o%>gW#YcJ9QI z+yo?5^DNJ&vaw_Bqtp@B&^~CVrQ>BZ>QMu^kpKF}%QuWxK_R!Ew;Lf*P_9|F6js0T z(WWL>D8fWk*%;p#1cCB&tSnv)%|a9_Kh+2Dfy)zH$8rFG(~s|M$*^501Gw^r`|tJZ zV2KlNy{vLLP$)aIlmjy0;lL)8AN;9W`at2H$K{SEiFNtl<&9Fz+I2hDtAeWF=lK^~ zu)6ulNhE*OQVt5RNA;-Uu+9mJityMokIAbadDRw;m5AI@iGx1y_OfwBk2r`cuE%b5 z?`L}d@5=BfNxNH{>F0zfB^ou!m(Ow3VAXO zL{Tp6e?Y}Jjv zBkn)kpMDCk#<@41lbg@o%;$OTAOCuvM!v_&VQ$UK+Z|z0nyM<};7+}Acik+@M6Gcx zoLCh8z53x-4HWm50ss=r;P2er4KIJaT+WyzW%}iNoug%32{nIjm~+ z5TGRo1@yDi9;_a@Vk=6n7v6e7$CFc+PbrwoE0d@-uc9g#y%mokykkI-ox8=-R zFX}txLEi8WKYzR*^>2P}JbO*fzpcn?2OZgFl2KOs0bKjrcJoOqSm7XlUVZ=bdayUw zYDjl5l9%8AqMUitIRzTgXI}b(H!8zBFWr{o7f+NI`}ldl9y|RGu$g{2be4p{}~MsyJ-j`{MCM1xMjWUeiw4 z#9|!Al9tz32P^q^+{bu7OgI2`UN;>asAbw}s3khLQs}ZEC%oc*9E+cT*7T8~y8O&#x%TX}ylvoyy#9C^07~-2V-??VUmMHn z;Yq{J`nDW9e_T#Jc1i)1^e2PvB`U-PAan=4k~0Ew{aMdpZgY<&7<)tNR<*S^Rx1I?_Yxkm0%s&B3N|$a{&XJnDG68$dN4 zZ^yj*e9dX>H|MOMyBp=r$`MxQa`Bb)c%X_cx_n?32E*aOVAm#gw*N%3hJ&pTi_>hHX4s-k7j+{B-OF`uln16?Th4pe(%50 z@fmj?`*dnjnF}0MaF%^jYXuL(`X&bFxV!W6 zHDK-@=3mqH;@DSXeGgv;aIv-p81`kDTnW$nt`t_AaVpK3d{q|(l394U za5}f*ir?=(e@($yPDeOjdpdy0=TuxK@h?91s*-Y{22Z>{#T*sO%XJTXZ>70Qg^0DC zKkN<0>*4=*r!T&CcN$qWFdFM2zXZtr;{Bd@pHb^#G#7r~_ARrX9s*V`1**=yVk=k# zp?=go)Q$Ku8Rm6vrHnP%XP>mgN|Zt;rpjqUKEX}(H4o+e=4MM4{Z><^;bAHs&&c&X zcQ2oUR;JV;c%X@y*ml0NuaV}{-^sG0oPVWMNBI@KmPq0ZoJJG7$M4FhzGz~$PFB?! zC@M!TQNdj;j-fmrs9c$hZ?~A`bw#N%k(Y0-<#FT|yyycWuwb%$PC3G7A)ICMzO~b{ zGXnNdcehP`O&h)_d6|$&8=$Nudf2x<0okyS?Q&qjQpqzh%V2?ifp!u2#56lSl%>sU zjy4Hn)W!;-P|YumVOD0 z%M$;dT5RgMKW^I-w?BId;}A#xzSS$Q^{2(KyBW@24*=x4{Pwp?9gquaT!#g5z2S>L zPhR@}J~C5R;@AGyUzaa^>szNK{C<3@s!?;j0V#EPn+zWm1uhh$BWGPvn&M1tB8)2|7(`;U@C%<{mi(<@?wr zu<$lcn$;Rt0BC4$QsJbZ9%+SFP&^Il&$%aEM z!`crh8o&85H2jKaQKU%hd{iVmnrVM21-70n0&-CV!VCf z{t}*|XTz0z#o{iJVnR%b+S0;G6nUFs9VAt-jsgUwkIucMLlpN#h8PsWx);DMkW!7I zi~v?;>`!9l1xqjkQ!GbmoeQagwFrP$DhvwaVe3J&A#KPQK>_YyafoyR(rX%opn>D*49Fi?qUeuk zNgMv`Q;cOeY)TWWR-L{oyED$CNUxoUW)AW2NoyDyun5)n(NGesy$y$gb+I9U2!f%L zi~i^+k+eUOtV5kanLJfH9JH!o1B-N~*pG;SrwEKro%Y?x+8If+*VOti1FTpLL^@`X zhIA&>Ng^Cz8O>hDlpA;@sM)K%E49ov zZf277nv!rX+DIj(e97OPL>hAdrPv=d1#|3V0X}Mx7}Cz3XadL*(4$D&&7?7JaRE?J z3ouxjLW!S!ZrVTKPL!o7+73qaMha3>6bp45GWxmhSix8dVADDXz>acmC>TJREg6q` zYPAe^EL~YYMw(NR9v0;K2HcaLDsJoj-vDF!1{|SJBDIZPCdr(lP}FiAWk$O}F;l?} zwBsz3Ry&dA&d91gpuB7>7%5T>op}^|v4o`!P4kB~pq*YYHim$s2IX&^E|!_p3f;IV z84Z$hr0tRkjiF=%pcjAuGwoC8I{@}cbEN%^mQ!P-R*Dq3I5ta$SmPVhhmwGy$h&?% zD9nqt1Lt$PkC^LyX>-qPF~XbW`WWA0!QFpy*CtGRPDtr53ZoTi z&9r5#U|j>9sHH^Qbb3PGkaAPNXS_>QZaXix-p0lkn>*3gZ0`)+5(HA*rb@S~6Oevk5_9BG>*LJ>&{fKtn9 zUKU!8ls4%C=tO(5qC;i{ps5uwn%`DI02T&>0Ck3CAo>1WkhD;=y`C3RX09h@%sF_*JR_0pc zv|MehSN_<+qW&|^P$y_Vgx7J?GE6ToU~LV>wD z3!+YG5{zFS-cU*SY5r1@I>V9 zc_)&bG_Y3Wsb#)H-3xUp_EYd{>|nK5%aNr;{)GJP*8#5}N)yGA=k(#F(;C$pl)@q^ zy+QfOWP!_0H919^lt!m;?&iND$+eeV;u5Rg&9WY~drkvuHJ45aR^Q7{CTGuI&g-lB zS=?JYWA2nFI*1@rccIWXjsrGZsT5kz*0_4h@z`0U$&0C|(&oqdizl=q69);jEr+&{ z=SE`lDyS+bJzZbnUPP(9+<<`f5jpz_I`v^L_L2d$y6eSdbNIP6r-*~Tj*kW1#YUV* zD6WKj*b4hlF4w%fZpb9b5FJ z>@Gnce^A+{%oYMrYsdM8$Xy29gXJ#e804*Rum4mYo^wVr6UbG^Wv>H%!Z-k{F8oou zb=s-KV6HkG4(6s8=BibN((zn98mV@=Jz1EmG_(V)n~{YkB{T;!#NmTc{m;K{ikFRex*1J@cX`P}~p05w0bIViXDCl=(&?V{|CO8<(R zbX}43pfWjqT~)6u16N4(aCN^`g?K;>RnSo!4*#lhJ%_-4IDY%3+vUUJn(B+N3MJ{0PmckEt0Bu9auR_P#g3m#w0!`~e=vzIKnqW+YwW-n`89v{EUPo0z4dQt4h zyDMk=Fj|)f9!78W2p=qRb~biOU@oUSs$XOw&j6M<$fS;UY$<4(0)d7jKcjl$pn*D` zb#5p=%;aAah&t0>o1F=bOBA#s4~g02;OJ zx{kQw1{kyia!W)32^F&3B2ny4S}Biw!!guPfE(4vK_FFk|8{VPf75P!GXk&(Ag}lV zC=o06xF2mTt|RWwZ?%rPpY!oDdh9PeHUW}_c0!TM8BF<&+YThoze;}Y>2tDqceB=t zR(u<_w}0yPg*ROg09$nrKui4Utam|Qt)sZzcRW^_^bXA{f& z)~z+WEw(e?R;4V>yG*pN(+yb{G7`+esyG3f&31Zn>P;7N<@}|yD+=bi_{`;!H7*Ca z5soywLSe*OUtLiig|g<#f@IrWNmmvmUES1uK>Ap>Hi;4-V8rgNbrFDEGoDeqCC%t& z6t~KSH75y2Xy&lg-im!O&_ z?mk3e6ibwA+j_%2?tVMJ)9~vGl58}?i#p+T)#ZBi!`7bSaJ*~Z$pPvurlA04U{lD4e18!L$Q2upzYpJ=KL~& z$SPM%J@eEkSUM$6!FEal3}Z z4l4={-scxC))wOLmMfnIM_1&IY2y9{cMh!Mr*5rQ1yD^6E9L!-rBh3KgJGT*oI|(E zG}UpBGVcX2u**}GwVDTf+u@yu0Nhn5E908W5J+ML_aapJtu$Y)%=OEZkG?)#bKv~x zdAV_?T$esw)B5R_EwKUq z@k$C%db|gshw&cB=h@-g*Cg!E`FhRW2&dMljx9)R;Xcp9h$r)WE@JS*Ht4IMA(Z{S zJmUS;KYHn={N*PM%=M+0Y(2R!R~+B|(XHYFEZqkQ@hZqG5%~|!V?oBBxWLTqtKM)? z{_w_Kr5ldM0zW`+lnZiv-tlF5-z#>}7i-tgSzeS6?e5C_(!ADvz+UklH+w|Sv|6&f zSR5!Xghj{Qn)4f^n8*LD$mVtd5{T!+ZiNfl-EcA0sbKLOx1Gphm*>rLbohPeUfFVu z<^qaPY9+_=!T+i(;V5@5To-EemUjcrnDT7&9#IS=r)PYjZ$Eup&(WNey!B_dXX`Qd zGxu;)wupS;iIpe{qgv0caRqIdu;W_h5g*+JpXjGLe^%)$jz(^>Ja(?I2K3yOJGo44 zJ-{(a)-w8rBHBW+e{gfPurPG_jP3IgmF)qBd<(LX{29ek{~O9DV%+ zi^XVBo1A!&wX8Tf2T3 zEpnn++&r2C?YMw#Sk&obQJc8^idip&PrFsj2X3zy{oln?$MSvkmv59oRD>g6teu$r zjrpbg==SctLVhkaR0<=@(-=PUe6chZb=toPkkguD{_SO>&UKOG9#sy3(Zo+VGOrhL z=r|e=UiEhxPfhG^VfJ?Mu-r~>U|SpCypLa8tSadQ&ZSIo3Cnf-iMdSH_L#!2tgJ}S z*TDT9k&gBI-JNoOR>W}hZ`+#%$n50GaoL%o(9tY3gyijS`z-m$M?Z2PVQ#Li$(iFt zf3u&!cVD$V=xMYce(ojt;y2rcT+p0*b6J7y$|ve?cb>*?mOH(>sR_@bI*ea=Z{jc< z_8TUiKUBkbTbRDv#H226Q}H|8;9hVs{jr#)8Xj)JtCxyTjSCgZZ4*7yRKN{~{nR?7vWHquHJ+|oc9 z7GMQixXi}^ynrbRsyA3|lD49M%v94Di%Tfwv0-hNsnFER8UUHB-lZ+l)=*19&8z_) zNw^+NBI;-r#}))3a{Sm!XJG7KWulV>A{lc{Ncb#9d`< z$~YNHs=DzgX`AvjM=U8oAW5Z>jO_-0Nn{8}WSGcUJ>nT7S6-zplDGL7Wu`0%AfVil9^gnFVaHgi;!-;`nwLrgzH}K`L&kF>wU|YFOFM~-cPTfkpS0(36RTBbK|^sX z+J%e)4rMH38iiU{%VflyiV>4Eab7~Z!(y5CU8(k4^dofF+DD-wPaGXnm{%|eme44U zdHTPRf=8$utxWB-X`N`aN0I<8<4r=YA1 z1ziPaVEHSvrhtVaErY&+Ot?r->jH`Eoml0ZHq1H6JyP+AzdrLL@z(nfjXD# zR?MU##Bto36kCm;lTI+ozQ)Sc1_$Ay{VtoWXdcZWL%D84X=4BwQ3J zqh(IDq+cflV~m1zC_|mQSQ_<{SK?Curn%>TD`l>r5avpNUlEn^cFm{I-8$eF@Fn>_M46&uE+;3nsGLOO8_Au01 zmo{(%TAI#WB4gTB3ZTm@ed^c*kUPKx6u7DYA_J;XXBDiYlZ7Bl5ZQn+L1w@@3IxUq zROlbIH~^~x0yl7+<|p$IZG-^O$vfocpN;=Wqh*92IAluGGSKFmGU&LB@?q`$nJ@jt=13zP%#;ck&FOg z45shX1Qw7BpG%Uu{Gn=ig)53Ia-&X>Z`KzPw*u}JY(<4PdBRAfRaQwAuw*k`9HBBW z6nR7Y0BAeb@twLu#bw@Ol`LEofM5ZzrAZ^@)IsJsfae)!?SHd;L!OQ(N3WY+_Ff6d z9s?(HnSt`uron(kT@Goak0ygc+_Zb@qUNWjTLWo1nCPLtkZ|NvU>5AjD{{yRRlmux z;GgF^ZlO*Q?e6X#3;n$Cj_zgd$zt6bb8SB!z*=5Mg6HVO1p{@&#LzebD0U}(6lKjg z2GAeBqQdc>$o4k%xg2R@^Q!f4?jCvTxLjoe2d4TJS>T&uJvRyuNz(+GNLTOLm4ZVQ zChHb^9R&f~F7HX;4K=2bkJvjeZbG|Ad~nu_6HFi6F#4`P2+Eq*=ZGQ zTBwJ|J#HIOF{*&;TLU@1WQv-vr^I!j!fEonaD7{zzEFQ)GA+!5aIXV*O~e!Cf3bUf zvuG{2sS*Z&i7Qr|dE$($-&l{?O(;Fbo>)BLK|$P=EeL<^4d+S+rEwVEU7>$xZATVP zEZBs$N)&ygaKH_tF%Sdb6%$*3P=-b+`hFii!PonU>mR$W3sbi)Lz@N!p>-<} zwM;clhH38WSId0~batE0v=EWIFJOZc8zj^#2Ovb0wP3E;zwZ6mg~^E?bPnj$zJ|IN z*U1Va2jSq1m7e&y^_(dqoqc23J*J7@Y2);#)ISu$yiew)Yv-9m|M@Z zcoI{zBai&1Y%fEU`%sc!xopa1^xce)vBDkSDB2;jZ%*HS_NttD+a(=us0Y50;^C2r z$vfqR;$S=`P<|)^Zrr>l-L);{*;s6=tOIU^M3F2g8lAj+vIN4ToX&rCFm+A+Pcp%3 z9sTs(SMG{i@uN*%c!ycVy8EG*^w!+Yh1uXQWM;hOi4_$Yf7DtWdq`nZaOLsS3a(|` z)t~P>FWy$=L?8ReC-N``A$mQGK~Qz^xfyKu>gH^9;u!>> zeZtGZrg7f^UyrBJYU&N_alZ%)2jn_kV5>j03m^A~-Jz%z!1F6sR<9POm8c5g4p^A-QmSIEEoKmVoj^*_kQ<8tus zym-ed6d*q6kkc)!ksdv~BJB0aeq5PO`GfVW=dYDFFb0E>v?`W|2tK2GEpc}`|1Ej$ z^8?FVg;g%=-PInFWMC3=l?^`s6HXH2Rde!O3cl_|-t#|#%PyJ%8#Q)uoez$_T z@Z8$5a+|j2R%O6#`~Hmb%QeO_)pBu2YR8rODjP!FRO>oj@QriE757ti_URugR=uGu zq;aXNt=dv+is_Ah#mp|M=Typ4)g|@boSUlelRgV;`*@Vz)@T0 zs-|x^PNj)rMCG}BdReZ7{iupp?I(b)Fx@qUvs$XX9ZwzW$lZH|g8kkhCMkv}LxwT7 z+V4+N-@gk(++LTE5sR+}?mxzQ4y+yj>g6-?`>)zsxt{81T^-QmYu1CVrDsXQg+lQj zoCCCdZ;*X1<`2j~+5s=I|H;Fe&gUAw_V+yo@qb|5lw3 zxaI0k3s3AAyLx_1C6H`i<(v%XmXWcty8LZ2I|u~^d$^S4ao zgo3_|;|?IIz#I^gKOSFvXnzk&1`wc^r&rczvYYP}X9hqE`8L+IQgZ9os&v9dBCW`3d1t;j z^E|zXB9Tcu3RcSUNMEBDKwSHI0C64U8BMW12#+VDevI!6U-E@H>#ckBmy{$AZlg69r@KfiNXdy@-prV^B|gOMb5dq z#uul{J%|ED)+o0lFMa*vUj!h4BKJ^6Sh+<97*Ndsbi_as6wg)X+&~ja$1F5qNo&|1 zDbPi?8^=JBsKr>O8k@p$%Rn1R(w1>Du)R92_ilhfNzM9D25d+KQUzduk-#dK7;s3f zE1`r-US-UWu(~x;@X8n~J_G26(pKOFioxVF)@}wOgE<9#sU@qyP=P#HI?^0Rb9Q8w zvH)H+1BeUY7Qh(#VSuGNu4tJuq37S&`eH1GWSO+dclKsc)Td6U;y3%6nPhzfimB>T zFjoXn6N??_4uVbM_Wv})dMp66Q0~J-z%YU6(6UvXVgOFOprM^g+OoZ5Rh#aMj1&kL zKx7mHA~l-|s!8WW#yzvtrB;h{C>Wasr+zB3kO|tA!zR|ouq?zJuP<0zA<<(jBVpAG zU=tvnxl~%?wr~M<(kHD0Nm_}F`v6@=nolGbg?I90C}U0EXxs!NB-!Fn{g}Zvu~>pt z6zT>18i@jQ8fuw}ia3-cX$pJc=yU^y8I7^vWs2Tv>8#O^46A7<{HI)S#`*+>{f3_7 zHPsT6Dd#6`ELgE8*%zRHSwEYg}A3YX83o?$bQ_864nP)1l+ zYfyF#X{GQ02-A>cXC!GmQEOBgpdx??oWpThLDo<}59>r}4^??vjQ{|QV$IQ_b~I&> zajwFiv$Z{|^H_{C<#{YK84!>>1EtoJq}A8G{U&k%^rH??iCP1ZQCAbjG62v9M%nb( zgQ^4u5g?d?6tOI&&0gL3(6&Y~v{FemEn2WLl%ce+`qu25)hrMPl+S=72jqluZm|9X z>WF%Q?i?9R-Nvd8eTFW1w6aRp>}j5&Hwgwoo4Xo$No3T^FxI8k#kjBrTxm)jNdZ9` z%2V4lX#y|DMo>GE@c;{PfVIrdhSskk^%1Snk^C1w8O~;_9pk6a_t~>&3yWMXw{}MU zG5xniMGFu65q@6oZu|NDR0$WSEp$cA7_^yt@bR;^SbD;|s3l%`3Xfmtx1XUnv zuw74MU35E>fm!P0)5orXV3(%1zUB_bHJrC73qleeM01~gl z1V(rw2mf1qijPr{jpY+E0tN+)$#?@GCjop#hoqM70J9q41@x58H3*OF%n!6XvGIl| zu=WX9JX6btiuBR^QZP3AppcFkBbaFcbP8a#gfDw&3(SSoMKgpv0L-dTE(7S$4=LIz zSmL5T4Vy4F7l1(kXlcAy9<&%NCMzq;{{Td1j0XTs+BAO4Kjo{Syf6>YnVkWj6sY82 zBL(fLz`-IG>9M(m%}os~tl%l;ra?7Z0cVtRm`kcNY!u~;@CFQ|+*JoUR1}LT6t&kK zt3e?ri#$f^56>raSuH3SKKp9&D}Hc$$$Tg{PoCw8>h+_9y#O2xeFv?;_0uPkZ!(z z8F`ZlHzqF-X1Z1PFn6BzjBmKUYB_NED|9h=?oD#@cI-Y4%FgMFY&Y*3afWMmYXD!) zZSq(5efO)}!Nso0g7h|c^f=l803ZNKL_t*9BMp&LfAp0z2Q*YY(?B`N`cH(q*@0QOe+}(fo z=INC7dr*2p)rC2E()63_{K_%bhu;rPuQz#Cxu5u^$y|+-?*Z#+eTp-p{l-DC2Spo% zdZ0fnmuEh%R~!JwLPrQo_*>O z3ck}D%ff`2z@v!(-qW6y1vYf{8a$?ju6N(*X0kBn17Dfu`s%h^I9VLB#Jr#o@ z0e&UN=%Y3+igb_Yx(w{Zp(U9V_p9*!UOAVG8P8>WEts!r$92c4l<3{b}Vr*eoHU%JlGC9@KFzc3?2$qO)0XQ{C2i6Yd!Tc*T}g`10& zx?2hyti<8wH-L9Hx;aP!_i7*E;bVnv2jxwxL(T&L#(tkT9}b+SmA2yw@^gy@vZW5X z1*mEAc>jq%;{a{Z=RYXG#|m0?JTAT6fR6^0%kp*+rz;N^`UUtZ2r3aR(-@HDv{(uQ z_~?r4s~^8AC*M-;pPZIo2Ql;RVPZhnnWxSQ>WTgJ;x^mX@x@%p-~02Jr}Anwv<=hl zxT&0na*Fc}H}!8f<=p4LQLs{`<6zVm(w2I`N?8@)Odk=q>nA?<3Az2kZMplxEjbZc z_1eCAS6U~Q^E_5zqCeh`RzX}}^Ebane)~6mJE9b62SqN%O%xP8EOqC`CvPb2`8S;} zwGkZSbr1C%OML*jyx+V2iR(I-fS>nw-Y)1f0iVU=FBbLy_{HrE1xp8%u~CR}C04iM z=jXorUD{?n9>!6ulkxzDRj_3yvc0jbK=!Ity36mltZ8-`m(JL2BFs5Z?xYSOg9B8Y zj$dR3&_~)&E}RtVPIVk-&cNL3EC0q<#$xCB>G|!RGe-D0Lm2_^;sJd7 zGw=Ry^nETUU4Gw>{k(qrADY@8!*H&o6t8LgqKh^sZ~i2cn+*;g+K4O!_oEG;HXE}l zgZ*yp4rM;<4Aw1~>SSGwEEo;LM&6tQov4dJ@rhgVfBHS&Wzy;?sJ*Uj_T{I3;g{{> z5P!e(JwH1U>W9APTXe$?d8@NmPec40({NzCh-C&qJppLp`lfaKpj%#O%Vq!-`S?)n zm#bm5Q&hF+6eFsY7Vr8xAUfrIxrheTQxP}#7WAKW+>>ZHen z1xJ6r^zvD=z^*C>Lv3pfEN%~YM_C}zG8%Cp&W*j{_S@Bq7xiFcb8XWONwjb?`Om)j z{mS|u{e3&U2F$6T|AS#VUA)iu-;JFeSy?EoD10Vm$X0hOOLGtJzSU<^SsXO2$Co>@ zjwPr=JiTCLlb{_m(V}O!H$DfECZW2k_WlmcZ&m z)^VHd);WJd#&{N=fJ5iId?*uk&=82rvK+3eo>=gPQ9?Qkngpy=Tcqc!S4&t9G8Vo zTmJA$8SKXVNB2-`Dva*`l&4F1(j4T4gRcR<{K@mVzgut09Yo}0WQ}SaWlq)$eUT0t zpK7(r=0op$wb-|e_dE46Af*)f*Ed&f&Xr{n1EPYr5WicC!_C3>n%?E&=0qBBq1_^S)acM+ZWI!)mo;_~%MAkZJ; z3orS19!nrBf=C~oKHHp&{)P{CD^-*bMea8vN~iJPGO1TUceQV&jRN@V z5M?{bWNCgOuSbo(TLQ~uO91~EbrVhG5YW$P`CQ<#ix90^$QxQ8M!nn)*7x#&K`izt z2+Lo_cx9W3tZnXwC^9*9Y*8yWe#5bY6;W&)=WPb1F^}98;FOn|Uce_qzgeH6JwZ`) z^7-C=G`@r&GB-Du@BO>m8hXw~2Ov=+mI zl4;RKLW?cDYwG}uKy<%6jWySQgHJg+XPx&U^-PG%0><*8HEIf-1!EIeH8_>Gw)wFC zqe`fu_rOzmmYaHzht8@LlkqC`3W1a#NKL%R5w}|Ac^-0p5@laGZ1{pgFUlS_M6JCv zG8s2UGR}IYzne5AZ4AM5ado#024iW%RDl`>sNtd>b|g_O2OPm=bz_upanlPX`qF63 zOSU_dY;GjkAeCX7Dc~k+G^Cd`rIYm(1cJq^MkkYGI21r!Sj9>QZAp?Iup6`3v|s?N zlzmzNBIG{?bF!9NsTvKM(!hNQ5Q}M;X8_Pq2F8LIW<cRx62=B_OY{GzO-eOEfLU zrGC>a;t-ZRKrt6k5@4f7A{h1p4ut~rxH*yrin>^pV9ZfPd$lVe<0dwGdb&TSU3^!B zZN6-n+9e9Zp#q>1N&xU28O)X@iu&M=B$W>Ntr?n$FuY-1gNv}{M!LpOOD+nA!dj18 z`M|PPCR{eid_7}tl)(t?^dXs+s&zFCg<+LMbw3qRHc*@mHo&m-B?GKkrIHRtRvu{h zVwGxcB-kxd!&A7m#xfoxT28QL4_Gk=SXdY~q)7x?QSic=h*>QgHQ@mO$r_ScJkq>I zIi7MgWpf1yp?FPQY#T@pYhG!8Bxxs=Bv^A!hKZ!4Z#M`L-{&zG$!);5So zj*oKSQ#uEVF(G^Qk6*Kt(6^S(MD`i;YaMQ%V%3tdMVacjo$2|hTG+)xpbySruyt^h zpHZr%J)JTD12T((M1Tb#)(1AUGq!<1w7CU+oLjSi2J2W1>;}3q&{w9w)llBrbsC_F zeo$8(L<|T^X8{0EQW+;$lw-aKh{fm){6%~KBI#hQEGZjJu40iw;`j+s=9#2Jto7Z6 zpVN~%O>6+8X}7GPPaRJgJJo`cjib!}NF#taja$JZ6!>FqP zvUnvgiIwzeodFbVa}&)B25Ak41uE*JmAixYOkmB7Ft-fzN~U}2OvC{g#jjRq{)9S9 z)zHk0r@fSi?K_4N%A+COn(LYYn#=mfawU9g9MFX|gJuW()a0Quu(U8ALI49iY90ky z5zpc=QNT_6WeaMZ%gdZPs`Fc`N-D2T#_UWxzeqs^3{t|FX!XBf0TPfL;X?IwFe3ZL zIES1Mk%R=2i{6nGS#hAZ#_9cCJnl?Kiz_nPu36V1(oW5D>*Z##d=3oaXSv1zZY}M+{s^%t*VHOU#wj1wEpV~ zn6Y&l{M?F-)A=uDRPAKl&wpJ3-xadmeb%pSc-KrQqd+J_R~4rt@1uW39M<*ihTRA} zW3qfdk>7morks0|S>3rGJ`ZzPSD<$p4^xhtFWi*nr;B`|UZaS@$D0btzCQP|$TpQpXlC9{0aH2X!@~gn;GyrE)#tHD z-nfC48LZH-TW?{U55O&~FY(VUI=Nr}Em8il!kAmD>)zdz^Y3^} z^DzeOXxV1L;?WsVU|4o;MOHsyKqY`&(;h7sZtfb4%D16M0RSMy*2H2fgl?G+aKf1< z&&cC{@o}x=o8BX{-HeR zc?Z8=`=v5S>Z{-R)jD?VCoabS@t~MT{lV}2K`EF6ncT7zo|Gx=hX>1f08i&v=EMOR z^v~WdncrZ!?8pAguazJEpZ@m}Z)gY`*9m~{^zHCR0rA+GV?v#%=0VKJfmygQmvSp* zlnH&u%m3~LdEyJ6&H=KnaC!Xvq!q!nE3493n$t7_SYsp4(_RO#rLXY06tYv_;{M0` z669~swPm2lpG;O?xvOBj`Kc>a-%+)c{>(2Lpy|iI|6Ajv>w9T>;vfDSQ7_D=va?&1 zHC`(VEs4Qg5&534HBn52`G%kThw`i6|91=bI8gqMOkra=ce5bh_wC=DD@WjRe91EG z`+xi&6g&^`_V<3~mnNux^!vX}-5PcUob&>qjUVuAoo14|RRhQ3^1dBz%v$U;r5ClU zYB=h=1C*K-P*s)IzkT1;j-PN11G)K-+W+Cr z!r~H~;tNao?rquH%J*q-(~DE03wg>Ci2Tv*b@}|2$@Op?J!_Hda&egsJY%pMb;|(9F$3#k^uZ=AQcoJ_SYY z!;5~d^DiV@>ex9b;#@jithcY;xtGg$ z{Pc=vgS5Iu+gOw0#^P3F*%km24?K^B^#|X*;ZDwHt2-$(G~R#n?sD>e^>#52ej>8Q z-ixgLk`Mk2gW|G&4~oq8ei--D3P!RJr;j^WO2hzExMvC~wKwE3`QZlG)42l1wDJsP z9qP~ufXe_7T;1qe`J?9@)_sJTcPnn0$eH7dd7j^1-!9b`lhXcr-O>16i16#RE%$T( zsLq*_dxZKtqu%EUjfJSb7wm$MJ6MsIy63o^P|o4j+!PQ2Yp~s21yHcY?DuUg>uL6A zrzy<1fBd`KA4?n{6|0mC%klT0Ga`5cN=9Y8K z9V|Lm6PpZma(?=%c7C}yQ;kEeuiumNStggyo)rgjeeu_PMNA_9;&*>fzyH!(-&Ass zKaPdTaQDK6*m?3jSW2AqIJ`?D?R{0{!^a@<^6D*_1>makrd^bDGPR-?twrC8Ta z^Ch^RjYTQdI5-EHXyYErKt*wF&wVU#{%QQZmkG|!IFb_|Rluw^+%PWW44p*?5YJ1T zCRdux9aOWEBdsWv=4s>jWJ)I6vojO9a=U)*fnqC38#gf@B4+gnFqLkHVzGh`QR`AD zp*G!W$S9GtW1uD7HSGY7qG0SCPUXe|0!ra*_hDJ7ITmbfrCdPO7@DD=Mk=jjU>1P- zqI+waV8CEpPQ(!_fGjLVHAZ@+k?x79DIb*6hn7cJ0_t!O*pj3*h=?&n0ZG>I5TL*y0`Qf0 zugP}m3DyX;nPT=#3sB`(7XAm2k7fjUW$PWyGp!ovLk3v@r6&NiY(58#ft*5RRZFJG zfh!;`eo3VP`rKL-iF5v>!D=u06TpjVor=ULK1?T!&-|5dv~T?@vOHg0wiKMqUo$Lr zDcYMfttVCb;V@cTPQ+6<6mKHKXrHFcFSMUZOkF*z zo}er_eD;?XVUw2Sdx@a(5zF(zkL<`(U;DKcisF-gX0K;2n)|T^v{&2@lmA}%@G!~x zAZ0nop45Yq<5Q(94q}b#LFLuM!1o~K^)S#@^USoBs;+x{&oxu&hC_mBq$m;{#lbTC zr`1aW&$HVO@{N~Fr9KpEbr091+S1;Q-Kp4E@w&d}8|A%EF@0+|^P{pU3F2Vs^aoh1c zoL`<7Rd@^Gv_9AHApYKFFTZKq7 zamD^vk&HgX%QNQd@i>qXKf*I+$L$jfZr$zry04pWVM8J26UW2*u?xp+r!DeWJXKa2 z1H|GFR+0Px7zyBNys@K}oV?BfqFOq+q*jW~zx^=-T(!7?(smND>g12N4gWs*rt{h# zI_=iYd&0lRKkq4%Gt?somnk53Fj8O~WkjD&yPzI(lRW(yTm zddheA-j3`9i&0pH@-}wj@<{>U%7ct&-fU$L;4ii)NV&v$Mt^YS&#nlT!s3Uy0(A^t zSUUr#dg_VOnkQzF$E*^@VP?I*`zL=c-ve6wurj%29@z2-dk+k5`Zk9?<#ExUcIOYixK!-2cr z^ON=A{{FkaQ+9$vps)F{#MO-y_i`b^%jWh#mKR$J=mN~e<5y958mnRayBk?t!HupE zjI=)-V(_diwq;|xuNGLibfnkMq|>&2iFT_YTfLE-PzxcA9L(iB?&tU7$$4=w*ZuGz zEJ<109^_yy+}IBxEq;9BaRAf;%oXpK02-UP6eVO3>)1=D=H=>L1D-jb`CvtDHz@D9 zy93ScDafp^O8-}HUY92?oYgU%bt(*RQddea(<69or*+wG5KKC<*R41nfl zu+CYfKgf5iK)>H`9E{g(dKv*RlnQU^^C3?_B)x%Lm&Lbt!5o0B*3V6UqTfvY^qwzCchOm(8Ozc58!Ku zfA8E0!E#g`hznYH)rEIH`~u8k55zAE;+uzcMf|u`D?nVVWB!wOm^EIr!eyENp|6nc$d8N zj8v5lMNXf#Gr1B$__(*ZD~kXw*r&Y@h21*d)7-inTavVjzHu7e=1}Ay##~RIFDy=0 zd4BNvb(sd_0>o7rj`HAuxbF9P-^V^C<=wX$j$wbf#^=7A0CBw*&p|+3C3y^+6qI;v z0|rG_H6WmU1NmQ`Xq3P3E+z-+$Dc|tJC`ilsg}1Ft<$3L8sw?Un0Hv-o+pGLN;_#O zg;mSwB^UjmeX34K@G|*AS}F?+RRDHbBUYA7l*7xHYeAybHYhqrLF8kvoQSfsNCY>% zvxju<+&TIBUx-6IdjE9Dfk$AShpQCt7p(JerRLK^npa;fE}3~fQ*@MaY%K@yL73ny z9CD7wdeqO^UaP#Ri?hz{sO33O9P9-GWYH-<02q@7%T_uDH&VeeqFO)#=!7*TozWQZ zD$xu0us{Vs8tae&Km>q`xdq8<-Kl<_51=n{9 z6PC)nrSe(miy5nUniX99r&v?Ha%Hb}YO#1+D<|fQ1*gy7X2eunhUFYwhUhnV@ssZZ z&LEEk*w~!DzZQ#S>@vA@7QMKc%=0z0OSryW?1`CMP52^9Wo|C)drgo{IH)APFI9*& zN$0X0<`)oG!F!(^j#h+yMmn8rCWvc#u)Tc_kj@fm>0>e)`n}itdA((Lz2hhU9|jp- z?|Kl&|EZcE#+Qmz001BWNklY+I|8RV0o`;BZy_|bSQjTu0pX+izK5PxpJp7n5{SsE5gv*nSjC_#ktOC1SnXwvYtYBC5P61I!K@{r+>O$ME3ZIz?PJ$uZlNQ~XD7i_Rl!hr_6No2I!iq6KkIjgD?TENh^lZA z-5y#Omh|MC{B;B~+$e7cx+qz&v{ntGH|_QYa^=sj$mO@&k<;exKsw>Dt#{j$y0f{C z0=cT;r+w>6gWTSmm^=VoVqj4}pDBzbay*bw^$|wLnH*VLLo7XMv ziODAOI%t~qeBL7DBwzV9vAO&~{Fc*EEgA(I0n||6s&EqVQ=l&L*Md4xjz=E08%;FkU5FV$>uZPx_KAIc(-5$ zgK6==i!vfSz;eKufWZ5`f!;=sTVt-FWrq@B95?*=_sI_yX?W+~`aby|-}7Cz4<3}+ z0Op~5=*pogCzpbrT#`Gl+>ta%H9zu%W}<*`z+>bo{nv?$C$z3FoHu1h$bQbLb&d>gQVzBcLVtD*m6f!H|%nOPFU})ZS`bn!RjqQB7d$t7s(y! z+aRp*MkR|?mX=nma31I*T}K5eDeoSZn(Q>k+5F&le~U*e&A^9?F~05_{!Z?Gke9Ff zhHsK9mCHN+?|=4>l|^4~z!O3Fori-MUxyEZ0(?&uNeeKRr=uUroOL?4vpayx-Mv%+ zi~(R;-|9=J-B7@qukC#;=F4SYHzyi*lFLN{V>--3wBv9Bw$&{X#swciWNqJ@yF;CO z(H^g?^`w=ixf0rTZ+nHR(xtBi8BvY$s)DP;UE3NKo9$DH@#9{1P-OkjC8n@daOBbt*#~|3kzOX?(E2krH$x=jwbzF6@dl)3NSDyx7R( z@qx&-#U`4xIxq9fAD%hBtjf^W7F+VczxSkk%{zZpt$Y0SuluL+JHPd}%p%wFymY++ zTT)AZJ^dxe=)Ty)H`I9N`CsQZOK#}BU#Sa=Te^pA)55uXk`!QX zcZ+|Ap^e6F{=Qeby*)X7_1D{d)!n~C*Xy4XzkBiDD?Ii7u+MYX?#aqxvDU8galm8M z-M`&pp?_C@z3o@s{hK~y)-&>sWGYep4d+hI0s5@xWVm=?8jV`^nC8hvF~P#&G?L!1 z43?&bV5$(ke z`&kYsX6rRBzu4+zEKe+_jY$?=8bH^4H5x_SF`u~4^AyGYtg+&6=2g82IFiS0IuaVO z@A>hOVqTH>+g6WQOYa5lfxbPmTUU99LwbBkFPYWqh60Wx`GqkYwlLR&udfA}PcpY< zUhC^b6{P0Re&lh>O}aLWc=+CcJ1MWIN%*|i{rRn47UlEhm&9zo z5C4{v%W^!rl;mzuOe%8SHzTLMQox>Rd zYXP6L`#Q+e0Pm5Eq(3wuS0^(bgz@|$40FHFJ9k2^-8ID#!2kZ7iu$^CsBh1%7MEwS zFID%jHrTpTpC|wP)m8c8r)EIU< z=9xS_tlx!ar&o+gu@xuMiQa~T&e+@NM*{#B^eWL7`yZJ|t7+#3(5SV&AcIDW^`$5u z{n7~-vX*%HR&hy4TqpIsEmAJ>G`J-vQn}qlE|aXVAmx|c<8v$owNpcMLZ4 z^#o*{$hw%98}2cmxQwTrN4A?yO&0ms4HwIiOgr!N+zoC8=d6&eZ-+}RbWf2n-vWEO_}UE(g!jI-F{2rbyMdf?84A|V zh!Cr3M!^_sZN%ir#M>XKMGm7wsnO;ee6zOo@HfK+deG-U&ETm&85es{w=5s;g}pTV zjxA!T%;MkPwtdrXucwMT8ylN49*@-8Gb47t-M-x_3_!w`8|zmlO3y{d}LIyLL~Wc;YEp zzji}fp->&vC`h?=`>qPR*lfykH*Ux%W1T*ftzJ*= zggNJ6(3MkB)KeVnZWr%qXb1{+C)82(3wUK zjlLi&65#?7gVSM(LF2cGlpTKiE;N6F ztT^dxe{9wt;EVMSWP17LQdqsx#!b#U_r_`ku+?hGGtWFD>+9>nS;3>{Xma5A@$$t6 zN5l0Im&4}3?b~)Xd6@9?GpsothTlsym;&}bsc==I#m$ATDo&T2ND8h4@=tTMEfoAzcL`V3#H;8LLkrnCN5B0ui9stXI#alx( z3F4|DItqF3m&YFA_wX(yinVWPtx)ov{5S~j$xiU2)_r7_n`EZ=sxW}hp&b8pociunsrxs`T<=mw;!_R zZqZ>w?)EA6;tFN4*wG$k?EKKZH&JejH3BLU;@4>v$_5p0{q!5QdwU!})`fi-+```B zgeV7@KurYRhXcw%dnxhMu|cWuLCaPb?<}{SZYB$Jy2Cp`wz1Qdm4!Kpl{=is!4ke% ze>^AzyZ@2?hK=4TPY%?VPS}mCev_|lo8RB$(iNjUJ`_#v_lcE8P*?{Pz=QI_aNQ;=3tbs-SW4*qpxGUCjgJubt$g~CfLA|Q@w&(%MDQN1pG?o+DV<4QWy=wo*Wztn+g zpmV@b9A>X~!o-u)xI7NZ@8shr^`Q9L$FJpeMmK;G$*tM!CC^^|XCmuEP8);#+zp^h ze%Oh^TpzRNi2dFLUY%a>c+Rr;qdA z!FIFiBjMuu%)8eY{HlG!Uj6m7dhhb_3k?crD5{~vrrl+h$gSrmHwkeAq?G&l6p6ki zw0mArB+P+riKz9YS=P8*p12Gtdn_*YxBHUq_T<868^{T;Z)};1uz&$#fUffc#O2SR zKTwNEK6bc!-LK~>^2A`SVNmGVe&vnE{m%+*%TAIrl!ef5{R(pZ|8(bldsm*&-C7IhHNms+Na0s!E0 zFc%;oz+BabJZ1c@j_J_3d>+P?W%!2P$9>*+@9ip}s2wTpc{rsXjf6givUR0Hr(HR> zlJkO=_P=mqAr3AMVk$X?4^<3}EJXqi^Yp~&raU|i&JS70e{Yj9c-+D5l)bl0c%vBU zc?sZ)hxGGM7AQ}WH-rbY1|ZFE;it|6-s)|2bqu3z#`%nu&705N$n#^jYkX0V1klCf zZ3CHhw|4VBTsOw=Z@mOzlWV~BGwXDF=58hr^;MR%DCuF{{Aiw`x|Fr<(;$i$$OCCP?kA*m*cR*Zg z!J5c4mV51`^djIzmB+^RNKPG}eUU&l%u#+1hO^ftv#gI_I<+8I@4EWnq*M{^Wzv&* zRHTeuM}WfStmnka?0j3>C=`_I_%x%oR_Bi*>0zJ4?gJe*zR&b<=rY%IQx9df(B%T6 z+Nc3Li5Tl7l`jx6rikdcF@++rVGt=GG)!nr(xmLdOMZ|aSelD}K97ysa${hCv=^59i_o`$+V zr&yG8-uwxG8r~(_f^j>hEVE*99BH{wkPw(F<`mxY==9`rC{BreF%QP^X;b151!N4K z^jn{OX}i`hk5H~Peh|4Bd-GRs7fey`}YlInV>CJ4(DH< zwK@v6uE1VpWex4vlshMAi9D?UXVK+dEs^2js`;7F1_ia=s+hL0Eu*cA0r122g4Hwn zSFzW2POsYv0FXI1;;exqsKHwR1$A@JxNjbyJBv$%oQr^Q#zIvLx&qLJ!X2BA+X4GU zBeN5n@{=DD0TyC>%K=OAGn5K3h$>3QcNmxocKtA-X#wnH&yi@hu@@9~hEb_hWLWhx4N@6zM!MMAA>$MVNq~U9jkul>n}8bZP1CtAR~+?;dxCJWFSoYgo;Tpk>72 zy}>)AUQY{{!tz%|MgTFz$mG>w6y{z;a71=v5i7~v0slx5Gl0zPJmYljGqi{>iuEeR zo!_V!<8_#uFkUf z*0?%TXH0d1_9JiBJXz^7O5Bkwvc}bs$|i>83dd$(cil-2lH`@m_V0!VNxtj;WA!P( zjk0!w)#P5?^{o5#EW6isI-);nfnHj`9G%AZzh%!lHd2tyE{f~00N^W9`6b}CG$_Dz zasV840~?Kv49TXtWj(~NTH7(oX`!@1#;tDEWomSH)}W40kIACCZEcY9`Me0|^5YTK zH#;KiE|4>%Bc;4-SJQjX(pp7kozkrFPkDYG9r$~Yi zBm_LbS_mD$TyV#3Jr*eoF-?QG7>B3()L^2PFD$42mYU8eAbB5A_#F|-EA~^1F2(v` zL5Irl?Wx^kv=t;+GN3}w%3})&i(K6~SqhFp(Qog*Qu()5XXU5q0Qk^~Jo=_-fEu9u zPh}^aFN?jz{sM-dk{7QkF^ zw1kDEV>cf&Kpd7~084QeMn_NfaXq#fWl8Tg0L(f1HwRD!3hL{ZR%Jr<5i$ly8el~H zE?ZaDjDp4K7u^(rcR;s(bzQcutjci*^nwzbQNVDDk>rIZz+46tQ>n@Aue`$~o%^dt z<bV=LNvSul&NVXcGCUfA>=+424txsL>xVm*F;dtUCZ|0-y>2JOH9l zKCD&&fTrDR?v1U4A^t!A+&hi6PRyeKs$rc9Fd)_p1gt|oDqCt<0h&Vm*7BC^4;Z^9 z%Mnlu{Phj?1X%&hMIa}6fRE$I~vg>eJ@6!SBISQ`}!z#b}Ci(`6R#2A9M zrwmv#5OhXat~?pvl4tr~hj;M1Ui(J*?595xHKzdziO8GY_Vy?)Gxbyc7$$sNAfFgL=PNYvvMQu7HRgqfkd2+~EF|!f;Cvrh}q>!de>>+!H@N zZhBvD?#M*hTIkax*puUydw{%rYc-(5x{=r$mWwukLO15PhgLV`h0_zJ?+|3ixes)h zQ+EWPy6xT^Ps}+0c46Kd8eTQy*YAGjUl|L_Sa)Ik!1&k6O^yx8Mu+pCZWgyX@jgmR zZ-G)VC)HZ|IZJxZ8$adj+=M*itk2x|wcVc@a{3Fcvj-soN76y{Xj;U=+}mkf9)#>! zd0>u!!kYgy2ky-O$JU8G_CTUm?Ob-Q4dDJzvvX-Qk}bu%$g zM3@(i>(C*o{Q3xh7#rKs9w9B?bH_*I?=M`Fmz%3_RIReqNYiHfQq+Sc1HCX=g{cNQoA-NXtFTGdm4Ao426%NoNrk zG_W3o{o@V~#9T)9$DN^~NTY7{aOBA+F4LP(ylB-&gK|m=0Jl*|?)$(;uT{C8LOgi; zPFp(CmcU@~3azuZ<0H{A(6YM>L+7VOFO*Tn`re$F0O(@Go|`W91H7 zSh7#MqMI0TfF7&~Ba1@uc7y9}Q(is>6ahqn@-#qZRDp&H?#4}Y1AdcYdxO_DfH)EO z#Z<@q!%G`tD@M7<3KFR_$Z10Xs`L#mz0!+$Pkyj020cksheujpOW z3|SK-E)c~<9v00AKBJ!~?zzU9)eA;B?9gLV)i7k!y-Z#(=HW^Rr8~|MZIH1_ zB@gbQ9P9RMB=lN?(X0#jSP)lB0NNTJj=$@vVjWnd^93K89{%l(cz&6hjKO>B>v8;& zvw{Wskz!t8shiVYZn!%@&@Xe4;pK}9GV`1}q>|ApGC^D+8IC`LGw61A>h8N`Wj*}u zww*c|^MaS$os0;CG>9vZY@!}pT9TWjH^5pNuP7d%o_%oJ&N5j)MQI7)=eq%3u#|;P zPa3>02^tVHk%b$gIMRc2kt#a>FcFxyX!T1`L|*5y?`zE4M4NmGsVuc=drv@@)lln- zB8Op)x>_(8E%l*6Vton<;-22aT(W@+0=(b-smt~of+e>Fvlaw!X;$;|^RloIepfVI z$gkIlq4cA;{cC}_m%YFgHk2}-3_=o~F%E*4&ttFql7A7KUw)_X%$ejjFrT*G;gWBk zwx4h-<9yf;@4WU7@^OBT$_iEtKeS9x)(fmRmr2wnOk7L zf4i*Z4Vo@eSJB<}9^x~IINYXO@1nHVZ#j*f9T`!G z<9ZLK`))ZtD(4s5KW_Ic3-fJNcVx7b>{lUh7wHe>hPIY5~f=J^lG(&-bO8lh36CcE&r0-iy@s$KXOGO8yMM~LD1^`nCEYbYa z`~;aKKI|#tkOdedLn;62Q&){eCLGvPA%s~qK!I_CdP3It6Ny#i0RYbc#PIQ8a$F>! z1g9rFD939sS4g(BHVM%(j)0Q1b|W30T0w{aGk_lGj8d|@)f1LguAI9fcpAA{5&DMA-En|PU;)BYreXSSo(2He64T~c_~5qcG%y$P16V+CONbxFg%GfbAS32s zT~{x!3V!Q;oCas%26K*k0PSe-m(LrPf?!n#t~62-05$Qu5Xj-vXAM*N37|;7zTlz3 zA|ajtaY1h6#aMvf0`Cd{9vCk*cq^2jaVMX9l3w!;p$|Z55Vu6)%PZci6L;D<0Ao8X z*WtIDJv(baR^~$^z+C`_c5##&WK>wg2VOJ2<*ao*q;2LlO&scHERvj>GV=(*4HS-K z001BWNklS=k5WT1%vjTcrVKa`WrRl80C=n@X&p8?`+RV6=G zj`B&hX21(D1dRR#hj9?#CW3+xci%7HC-=SMK9jEhAy^1;lkR;(z1A+T3IIp=4YjhO zp7Wtp$Xo9!lyoPpSH6hZk&f#I)}H_@l!Gz==E83{Qf#+WMp^L0dyjV$f9Qh*R3Q!RK>i3LeQa(b z0l36(O&Z;9q+hvYZ)7%Wo}2~666}TF1z;|{)&OWu%=V}y$XgyOOTlU}fMuJj)OTd8 zZ1<}-A0L;e7B>WdE^gy+b9i(Uy5iGp+3jy$Stl5Gmx>_21|8wT39UFtA%>_~E+VwL zWPneOfEH_-%9Mz<$V5IA>$4wvpOj1XB~z~&$#(x_L5>r_I_07*?f7&_u7oU30c_*) zpuIoy@ei4h0S2{lvbkNAZ@VW3zV#yL5B%#G(8hdde^{6rb=FP^;DX^J<4cBEbrDdb@_t0k}; zW|Y#D%Bk2QwDA;K*7bq~dV(o$X4$9eRbCmIPAusE04Ue_)&6OQ_yk*x%umEb@ zj!0p&U@vEAiOg>`<)JIfX0JAP)0`o>{ME}cd&_J>$;xIv`uC^>4sQ!|vc`9KYqfup z`{xydEZLtY2Ep3^sU7He5PDF=diZl(FS72zmOE4NdaaH19xZS+6nG*Nqk~AK&JrP> z-WT*LE-s--1w1)sv`ppm*5?DdT_16Z^AD|T2ri@Ir9e7A=V#=@g-%M&UI%P@&N-;XH$tX`QB z9qQM@9t#<4rlikO;!FtfW3bTJ;+tmEY%T{fF#!yKHr4__Ej^XsBYGu7KA)FnvtfW; z$V;nSio_KL3uP^t9>RVuxoX-{V6E|q_&gB%_mn%I%znA8j3^?mM--LtbW2YVcMSl< zmDR0XvjF98^eYP32HKZ)u*9{!83uPf|E{}CG0Pp4)Sh?qS$Sq*QKnAMcN0k#J(;>@ z$Uv}TP6I+cD?{dtB)b7{`9!a;k6?Q zD{T{>T9`1Sj*X3^lfQWapy(tm*-hPXvy9BmGC1((UhWxFsx*)~gwCD^!Wie)wfLLD zpm-kfIckBU78raB?4>oX!ApBRIL7nL^(g(Q%xo<%@Ly@*3_I1M_rlV0q{VkCy;BfMVhdqumS9WnkYwV$Q-QP#|Ocf|7Y`ljqP zc&HE2gINIdD&+0N*QB;zkn-?G0_24o*0Q)xmbtRz57De_G-P^wFkPGqeJm&EemjQs zlOL6JTvq?3Yuj>auCwB8R$iLUocZdA0r>G@yQ3u+@2u8W^6e&q26d5^iqlX)03gf1 z?G~0!`f`xftzu`-%!&`@qEfrzjSp>5L;yYhyn6cO!|E15L1_-{0!0b!v=s})Z!T>{ z$?y|2WFnR95s~LX`DgDwYh;B*C)U+iYH_!RViVZupnJ5nBcZVh$|i7B-iO5{IDk~> zs4TMh_+kWr=n0p>M(RLp}n$Xv-nUfWC>}ZTi;Zk%B+@Q;`O@ zG~*+zR%9X#o*}RbKmr;l-~+pK{;OYpN{+qA$*&X8wtx483{P6CQ~(zozw1<+oak3* zSN?_`i$qWZ&k_l+7<4845fXHGci0~grlP+Ocpy)J9kewl#`8(wB>NNN`J^SZp+a6p zr(>&J;HedgLgNj2XiIjC(@$Mr$QyD7#0E`hf_y-v`WX5<_#kR0-|ER~nI0eTPSdg# z`#F`#pcDoW7v3rT8-(OVTw2=`tft!!3u1z~Li|p@;Isj#;&-MsK+=&9%3FZ-tQ?fJ zwjux?fH461@ckg*k@?e}0BivmL<@+zy^#kXF7!Y29n=YO;FfXF86Zu7ap(qek|7U4 zdic1BkF`4ho2%b>>1kNBvJnRCh)xoY0tS_^RBrH3!cspr|7_W+tQA4?4@dut}j z1egG&Kw7`cC_+~224IM}BpM%bA|vA?rl?M9lDRvRxBF3n9{d3)L)-8jV?Ff~0G)~1 z2~!TojmFZt49`s%kRs**f{rl1V2;LIGkJ1K#^$Vo2ihI&f8oIk0;`8IQjC;4QI?jG z7OyA+fJX!pX~33A$6VcLnm+=o@cYnT-Kxp_ZBynq^M7xyS6C;Or=JGIw6r1R@sePS zZ*Ey22>5Hcz>5xk)X~(Fk=_&UCitPQXn$C;Lmc`s09TXq6Ea*bM02E<-2?&l!|zT7 zOaN5vBnqWa^m|PQFfQi`fdu zDe4W$G($2kroLX)qT^w<|3fDW{k8U2lH7 z0K_#Y2P-+SmSdfLmW#tu@f4+FiuQdPwx!*^3n2fn0mzE{;jh0>YIVDa{+_q|#ICBM zL3CjBnU8-k;s*>64MflqSCp9Qv2x{HhStuGc*-W-^S<1&3bgyuUHS^a|;`C`^i|Du!pQiq`PQ=wauo$TH2B8y#+eG`@M6! zv2t8o+LqI^@j2N>C00foccAV;*0`TbuhPmNABn98LWi!n%RAEy?j2_nxHMv`A>*Uz zXP)EbVcDp(16e3*w=*Ep?e-Z0`G6-b-QZqzb2UEm+HHCJng7MdrsQwV+sk~Sy;z?D zU|z&;0*5(~R=zYl1FG@>-aI=aT}evOr9;LV_u4j-445klIFGh$g*^oJcsO(Q9m?k3 z66<^JeL<)93e3lKKErr^;p(dJOi#ztAMM>40Sn^*FgOr7o@S5Z)*=MHb=qG&Z`6(* z1dS2+uZl3<$JSP(3vv*F%Q5`33+AyaOor@J$7z3(s-2eUI*;}OE%v*F4aV3JTab<}Nn@4XvTUKRXd#k*A#j9-EHoaZw^2E?VKw39HBa)hCOks88el zWdDW*InW@_mF0MjFg#oznj9+!ZaHm57Vtp3W!4M;Wr&QZH3NDKl=88yg#tZj@i#M0 z`CGD~WR5x`=3w@xRxY~u!_+euTOqF0;{MwpV9N;47P0-7;6ud1QXbo-n%KiL)(IK2 z&|;}rR}dcVHDRIwcVG^7mzS`;nT{s_UHbP0o9TRfwnf^l%?%k2Y|e4{rglrK>vC#7 ztXP*X;y2XP`{&_{ZsGkm6;N@;s+VT0{dfD%_+lz7BdUvzcU8b>W~)B?})7VxINLAJ(LC17>E zLwPG3?K)W<$mPWBO+AS_H9Z-v6cQOz3fZb!eW{e>1PcUaX2NNV&cWOv)! z@flH;T*Je=Jjl#a$N*`ww(|gsJaDYm`?3VQ+m_pH{{EV=TdCdB`zy7_TtOj%kv%f* zLf&r?J>>IA|NbA+ja~SAzAn=5N%BFEVNWX71Jk26NH*49w8viXOiGO-3IFZ$DLRMy z&A(q3@j6R?h5CkaX^182yqKpBMQ-VvJeIOlKuV{%6jPH zhVwb8)H=VQQ1UtqF8#)#SV7|;)uZ0bOCd$E6d#q-E)zu^w59p$btA5B%k64QMw}G@ z9S{H7RwZbOz|y5Fj36DB6rh0aJ3T4*R<{t=fC?xE7^OmUXeGqP~fD?Fs+PsToOk2g#JdsY2mL9(}$Vt=te!Q0)i;$+@2LMEm4uYpZLjWe;0f4@=oIVeR2?&DK z7Bkx9a}k)v0;=7hlT(0Tr-!k&2<3HqK#OsMZ3_i?xU_z8^~tMp`gx}lb0O$4H^Leh zlp`^hw%t}vp}RcM{yRfEslO*IOzD0#JUbx`SYz?5&DFN5=5QO<)RH^%GnnepJ- z0eJ|d%QA=F_mlS-D_t5?Wh_-Wb4{@76>z{sJ9me_#<2eAVBd)zM9^zJcfJ)JR zQ1}F2JORR@vL^Zoz+7BQpv@7-bb`1{82z}>OuVDDYEAG5KqB8=g2DhEgB33Ae2ZkT zQf9!rIg!nkE%}k3{Mnd%-CAUeBl`2PZJGN!|K%I$HP4TKhR9j9P59uizRy_Jd*fSU{;8QWB;51n zx64OA^u9=8Geee$1Yj<>PM5!o6s&^iR&B?ufiQ-)6!59#HgJ`CQzl34Wizzg1>XAn zjPnBG0iL2oF3|7-4=N#pMqj>BQMcw|{R$&rfvuI~RVG*x)co+9Yk5$Hb~s}hQ~SV? z(vUdg9oE_x=KFkJVA-nyWklz&reIl^XD*cUQjom4$YJXElo=DTw%9o{9nBHzi|cay zj^hH$ADDZwPXzE37LB2R4W0meV_xfI0hKZwJr8FK)M^bW7S#Z8IID48q^?vOQZ5~} zo!|HXb{$2?oLiK|Cv@@_54op_z4hyu3+c*|y#UVRR1Ua_RFrL{&B`Z8X@Q z`0lns(JAcU9JL@1u5NTaW568eTb1(pBCO9xxsLYfFz4d0(`6ev&x|&Xy*^wCFyX-#9JemSfVL#Bk z;KzA`J`dLE*z4%CVV(BC%9c6b)N%A{5F6tBeu4gpbJ3GG&&%ev`aa?Mp}v$3M?G{J zG(&(9)>CwKi9gm1PutrvbGZ1&x$0VMA*QO(_2iY?shKlekT;rE7?eMa%Ul3@Auuv0 zGOB7*7ugTrEjSV$wwr}CL z9i6ry`$+}#us|EbBFb+#J7%FiVUk#ws+EmW36`z-cYVwCaR9%J^;}CgGaldW+H~^> zQn246r;AsT7qEdL(q<;qIH4BZx(`I<;#|i86RlYI?O1{m^Z#&=#d4>BWgU;*co<#?WGW4s3uy@I%U6#*cwG*=uMm)f?y2r-Q&1maqJ^vN{xVEjU> zB`4KcL69gASyc0tpF9WPbB&t>I_3yysv4Rv0alv`6JQ}#5}p;-T%U{B>Zz|5bm?U1$J zS?RL=#DnI?a`aM&#;h3~JK(CPwnIzMbCAnl`I{MjE0%V;jW>C=Y7~Wra>R zqiWhTzp+lG7Jj(NT{|db_{Y{doqhwbt2E^Dqn8DiT72aL(%}iEOIiprfFqr#{8V^W zQ9&;hEg)k^`5f|7d1g?zhC%U~@>3wx7na4KyzVQe8!*?!SV5WqF6K=<@mqvW>=hBL zut15MR=J??9V?0;v-&|*J}ON>@sn0QqT~+c0=zY(lwG4dDW2oE9~Xk~Qb-cfP%yo6 zuKfm|1W|^72He1k!L^O#Ejbzp09tLyjS5b>81$+7^12jeCUo?k_>1MD0mr}+9~{6K zP{d_l(6XmlazehTQ&T3tQKWMH2z}Fh2v$nx`u)rg=Tm_lh8e7YU0siqe(Tk`0nebn zL-`7Ti;x4z#doNeR-n@91X}4h_zAA^<3nL{do&Yr)_NJ+0`F{=u?*SG`>afDXz(4` zqo30mfXv*uv5FPHi#F8{GY_62AR9myp?Lk90sI7II1MEA$0S`&CqERuG42x>W99&5 z*(`L^x6eOTIWPoQm}jHkhR zEI)4)oO0$y@L?+NM&D&~=3Rs}!Lq(q7=Q0&WA!p8_0h@iv!4?xi6$1Y2Cy&^Zi z^cK^u2H=$w0~9KbmINRmDA}!CSdoe2@wj#2D;LbWin$U1y1Y{WYc-N{MQx*E#`@B2 zao=XYV0-CjWYJMaDnHgJnC~!`W30ej4B#~8;&;FO-4W$G-}BC>pP-)pm@<2I)>tq@ ze}eqz8>P`wP>B>w+3)cD%>C~*%R z2mN=azSFi2LH|b^0=xx47ai9nRF=eh09pdwK*x8FJorvvOw)Cw#l+gmhSXL!r8qT~ z+BV>evhcgGk5VT82@6>Arg%G%Eub!#99S zOBFdim)zU29|CAKUunoQ?qdPQ5F9oF#I=0E?kTXQA*ddfYmsh%<8Hr*c@Y0?T-h-5 z2;{=J3@|e+s-leMGvU2$Lf}3FGowXW-fFiv(kHv4Y)36{)B*>f1pqvN!EjhN3%M*- zCqw!6I?e}H_gbC>bJ<*GZ`msYfQ=)oDeY^5KG^k~MPCAy^VUH6ZRGwnD*xnKayj&-|N%YhoU||`f%?0x7ZHxA|9mcFO}@rDTFS$*wYAmtjp*z%UT0YHW^TxxE+n#d2zbJGpkz{7j+M3a3m}=7Pkp%x z4uUv&h0SK)Y4jt9?4= zo@CqP0Elu?xt&~_B`n*~K@gbFql&2)GKx#{B+Cce5N9(T>Vy=!Rx58T3${=Xoyiv& zmBcX;KwbIvGObjuKsE>fT$d+olWAE*6T4K<}83ct#yv#k6PeH zXn|tJGyH>C*VazDzSlvN_eiFL(E|6r0w9od7n&>5sjp{BHc7Kl`74h8>(#NmP+};q z|KbOi)5#SUFC2@){gj(d-PV&#d%1q?Nst3e?6+`tL015R>gIZ9+s<*fJi6rXlAMrd z7?=3>kf8_CL^=B%XqU4+X16l6p9$`kV>16<^G}x69=hJ;w@cJtOtHgdG-({KXWg%7 z*=g-@6rbJ#S%0srbm=8s|CC?|%Hjy<@@Y2%7K?qF>lMarkDaWrQ2{PZKK-G>r`@jAjM80N-cIp%oE?+L zo@rOk?35=<8o+h{zoj{AZ)orfthDm{cqs1smWq5Z7dA{hn8(NRG|+_4o8iPq`IZHg zti$?;bGU_-fGH{_Fs+{_6p%HbM&GPYeguax45el$F{e2U$W-D7&G`JdRbq5`pzNrf z0ki3dfM2)kPJg5h=X!F6fz0yyY}=oAUTb70+w~=g=efcm$Y8RbORiM61*#i@p!fz zaCZ8nt9wg~A~+OWXk|x(v1ZQ1pa=b1Xr530`9m^#dQNfxQs85SdbMtP@lBC}$P<6_ zgvrMG_5$qD<@tU9$mq}qHQJ30EP^e#eYRS}} z%0i%rr6gm~25sW33u!QyE|(w>#zhJ_E-&NLo}g!&wt=bCZ{p{Vtj+lefiT+>Nxr-R z^3*5-8GHhxG^9RwLGcI*PI%`q9`bkb^ZDVlHumZI2^;06;q>{1JZniJ`TzhR07*na zRM9>m3s-ojqIPu4$4ie~N`Se@Lq7o?0XT;J4rv5T0ayoR?oJMX4~)4STgsDV!Cxnb z{=~k7F&@7M727$-5WoUHofO4%Ii%zGf^iZbgw0oAN5}4RV_5S+y#WX%f4(bd2aGLL_K)&-U2*XdtAvPmW$lSY$xn_-X}lEO zARpyZo;0vEtm06Sk8>EZK_PANxq-+)nVQXC~AZ!QxdP86DkSu_?5DP^pg1PEV z%Lf*_;J~lhY#GY|Klr0>NiuOES|AA~iUkgveo zHq;mgkXJ~N*)L~&v>+Q>wjEYB>M}jv{Vc`jkru{UA@6QSFBNtSI4pEic4;^#>kUxb z`2k}Z#0JCfJY5*YqBhjYQxOaSSN6T(h?RhsKbo}&N_PG zgE4fw*4#CpUdkkGuWKUa!xQsK5LS9_zk>-3_(qUg4ayS>^-X?UG z^0Ik*=BX{zuDS9bc&1(9gzbv+8M;@Vo|6Yw>{)Ya-%d>+m-wj_KJcE>G2RE|Gd=vY z`C~2?Ol86?k-5oHxw^V#vT7R5i}AL6hT>z-I0m_rArtnjdsu5>E!nKtce%L(#dw>K z)`2Z28@Gjb-mwKO)ADMsLyK6(;+LZxSJvIMH9~UOsmFb$QNaf-n=&*$XUez{|KTMQ zsO!XtvJe*4K53cl%F3o`73|UUx3E?B0T3-VVb0iX+m)3i)zyvoBVonOTWC{U1R1$v zEJL%}ex8T^KjtpYKo@BmYsVHyQNpDkuHWEdNh5)?0Oz8`(4cNDkt)uwT*7wU$_qJ0 zOSGOSQgGImt$YsX-4datG-PLA1I@6Ke`f=h~*}=0| zh}&mv)AB_78_UXWv%FPx^)>tAVZr*vu`*UJ$%9b1A&L(V1nOHS#qb$VTt;kyuog_Lf)UZ*@MM3=JpB9d+C0_T(oa#H>Wl){aBW|>sqQ`zOd0@dzJ*$nVEg~V0y)P&J){R6{Q)JUs#yjOjCDJul z^Zq4?W1w_Q7~p6U&F`Wv@`-YUs*)!FO(o_;p13q+zTmgLj=31X74cP`@!M{}D5GL- z9B=41xN&NCRFk6?IBJ2T7TD(&aC4-dD)(7}b+M?zQ200GP5Pu8?TNATfGIVkh>;-Gj;rQmM)sIbrx(A9Q|F7^g^HQrHint(1{K0#JgvQCo;%8YPO z;O^%9Is(|mazc6iHpGXz98Qi;{e+CD>L4P>iB}WG&3) z8=bK?7n6(%KOyB7Z5askl$`(&@<6->6h#0TN02rj!>SK09lZPhcJMW_{}Mfo+AndVQhWL(^*jPN(vyj4*e0aLO74lj(8+2GUlP(&WR( z*1S?4(7$bh-_`g-w~p`T2e8VtrFuUxX3$~|+5>YO+7j{nAaB4HQ+7;7`{Os~?~XF{ z@7+y?<%`QknF`9<0F7jI0C9D404c$79H;D^@`Tc8Z3qCZjcXf5DIaadeh0bJ+}h$= zL}!3yIgt~0oG|2khtu-fKJEsKoXFfwbJ0A|EiZV&S{K^Z{1fmU1_h~HL91zM|R*|Ox%<5b%F(6t3o5zmF0Og&PE!lzf zDhC`wwvDS{WeJRR8k7fG1BPf>pc24I08`P0>dmxHPxLRY1JM6r`La=On0JkR9G0&j zr(ed_@|O7t(Mu+ePegpU*1$Uepc{cwki)DKU=>k0#BFbGNAC*jjdusiu^7wo&O=cW z{TOWy-WbEU#wd-K1%F((aUDfjSRCdztUb0@Er`p2xz+j%z)Ivn`_gI}>kl4?_j!^x zo@VTd4Tb8Y$X|4QmGekhDLz+R+ZdfNmxEStu}*#6k6N(LZ+-Iqh#x&vDr+?313?=7 zgc0GA0+cij{Eem>Z!EhciF;2BkTaR$EyHZ)@lsAU zoMmN#qyUH-a*9;6)Wmivs`&`)U;VGGMJxchk`BExcC~t4d~45I{F=VmdN#f^034v_ zm!>bJc|c}>jz0bI`^{y+rgRb{#fb&$;(N=FwS&_>{^9qVTt#nPKJ51IJ5YLaKPZ;) zCD(yUh2h9rb*T;hfYP zErDE^w=sWXZHC{|cV=y&EOT+~LptQ+`vF>9RztG~3v1Eb zNO=~%x*&70&ZClKf4qglkkp;UvHdA=aHZVHfSsAiqAagPFWlf7?FQlmYjbICSR*(C zL;!oHxzlswa`9Sty_J@ymv|`TYi0jl@^+(zGBlmP4r6>jPmSRj)Wy}Sn^l<_%XWs@ zNoIh#;2MpF3@eawr#yp7qov7S_hUG_C{fMjgJZd4SY-RJN`trZA@0sWM-J_`SkTB{)pw^NVz8I3JvHEsH&NpGn2hXIe+Y_hU$K?ud+ zxF70adrjTMXMt4!sJJutmWT#VVVwg901G-b>N}>uJFE}l$BW6uIN}U1Cl{8F<}6V) zT4=B2$nAr=<0hxehzE-@XV@->;!7TkvQHOcWRy3N%B-f0$_o-DlR$p_6ZKH_p%TcFb=bBDD~&px@^ zX536o&|j`hte+i3gJ{4(@aU|G53rHD~Ma#7xetcu~T{pRQ z^G!Aaa^bV~?uKGt>^O`Y!Js(Q$>El@#O-YXVptP6+fR+jxl2iFHcUInPXfAp z85=3rj_X?`{XF{}o){gH^{w>Zcd3h_jSuolYm5D^SEup_@Is%w(H(AHFQ(kQrhz_C z{!jZDo@k@cp|T=?)uuM*<)Om%_+0wrqIpCL2_7FqgB?LmWPQ<2Z2AUP%>#Y_fkKvO ze7a6yACN=fj8Q1+vpZ$Exfe2RkCbI(+ufcSYKu;St2D}tsI|*$kyS255_w^@3G^Bq zf<%BBj8(3PvOmwtg%z1TW0i%W1lr9}nFLly@Vn#oUVv)!ExrIvnBU2zL%|d-0%o~B z!?FPA*j(C_jiq+QHYn)(KriOgPbjm7fI_4>apwsk5QTA2Tp2w*8!P+ZqQSjM32(me*hvE0a_21#fXp z%ZI*aTrLd22`Q#U<9G^F0#A^frT>BsKoVF~gfjq5XI;)jsD7vw+I-nGn3V0!KGbUN zScO!48y(W43`?+2-Iqgs$|^ZPDFTeV4wOsYq705vxpt6C6ozrka8)1jaL}J<|CbV8iqou@ToOgY)x=|JU8Rs<%;_!Rm_krRc#zC|# z=OT`M0C8zcQ|LP(tB)*OKcS2mk{NA@dEu%X7x65(8>(6E&~RR=TQxHVmnQ6i9+fC{ z8CdTW$BL%^V0^;wM_?FEhXE4N=FXvT>MJz@P(eA_zj#AGz+H%gH8C{dv0LZOd%<@I zR!)5YKIEgKOgD$ zaNv=)1p#&gn5$ObkuhiSK`Vm68W+G^c~`y<_(F8GZg1@(pbOTavN|e_8D&WTM?FA6 zTD7$y73kuB_l0vtk`+FQcIq{ z@V6UXS(7U}L)HS|dc};RQ>UiPc#Cm)cy?IIqh$lw!Waz2Xskgo-oS!0#uZqy#kkj$ zW;Cv04bJuM$vaOPW%Jx(ZwHpF$Bq7^g|>d`+1OF$*a8gF`W8v+xVd`|9p{*|B1TFv zC?`atmF@lXg0d9gry;!VZt4%EnYhu;>tZU-r{?dH&`EY=Z6*|5+nF89x^8dJy6c#+ zk-ThfXP*;71#0Ump>)QLmkYAttiCWV>oa71HEUj<4s#OcD1f?P-4L$e&2N6btYP*i zTC3@l4~hV3?HBsc0A3faZpxWsu?3<|{P#NTPal3Jx_kj3p-zDRLC9h(FnJ3Pf6u{l z6qfg82Y{}rH2^Hp`i^t3j>mb6-eUyEIsN+N#O!l?Fc~gkz+Weabw1YkY0kHP#S4BQ z)7RZ%F9G`e`J}SDE)!>J3`cvhz@=6Gg;S7+dy-CTe)87xBMz6Vq&e(&d>374!iB9z zaM#R41h_|%2C`l>$V@xey<~pM>Ey(7U*ZBaM)L_~+Mf(qDN@qo=-8(-FqTgi6o(mO zbD4jmL<!Z1EJ&P;PYW5ACW~cm)}pQ)U0jski!{NAKJrAZ z?2*UuenM2hk!L?!Kz~n&_aW9AmzBf*Q25vQ*uC8E=N@rlitsUA7{}_G)GO<+XJgQkV8|+&9!30dK5v0z8(bgt)AJe7auU^7pgH+OEam+;05+ z^gsWz&-qb_@Hf2TYZKv6poq(%GPrX5(siWXYXBFl*x}-w{dVS^z9BwHWJBJ_roSX06%&ZQ+Rp zdwH7TW|$cOmtUkSX7mWa6*u@UeQCNEyJUNm{ip?wTHvS!_N@g{riy(lKU+ZuP|974 zv}*?0ny!uNdX?KINW6dwB=r{6OPzY5?M;dhb+&Wt{go*sXQsF|G20?CvAG^Zdo5`K zyf%o!9FIY;%G%z4{}1uLG;t1)mBAj<9YmS-xXNwpuXh{ZLZK`&WT9!RTptnrmNPe( zG$fFPPdA!w>AHHo(CU1L!JqaW^PtJT*S|sgmoC);SJvt>KiSz@&S-f^wkqi$9>wm! zcmX;B_-L=)AS_W$j+SL@%PBl7fi=LZ*62J11N_zraMTSTH$PRDE354?C~_1no; zq&#zMR4!bNC;nX(=4Gap5-)nsg8*!nOa9R)Zs_m)Tkb}%@sT0f*bcv|+trqg1mt0P zR6J%ldS199a%SEHq1+BS0CzgM#dC{6OF+y6rM@7Tiv;Sqek~nUY(Cn%=ESY>vu9_G zqH?3sh!poh0}E7e6UQxp49Xi+8sU>5FVL|qX3ox7Nn9DE)ijo1F#j5>B&vG=baL&> z=Vk0xYZZn-04izgQdbvNqE8A2%%u|p{+sT;$;580+4qi?$PfuI8ywn`4pv9t45-I- z>!qia(q%4e+2^*G-9{DyFbfpPi%!}7%-v^9npUQ{{Fnt?pd2dWlfmTtq~H(EC~@f5 z3+;xmYCl8BcrtO%nbR}YDw&sFTUfG|TvXk4Rx0tBTYOalz+3=%;T_2eK2+HwZ>+p8 zM#+^*{{?075I`>90VFkjDrp(Rr$HFXMO5DRm6kNU4`k74S^UNt1HY2#-ziIGMT2+Z z%nNNlQPIXr3yZ#WietANlQb|FGSX6(4}>6p07IB&l)spup1iGEMH%nt?5He1vn=ED zA=Ph5=v5t@Ib2-dRTB&0#nDFPqj2AhDzsi_n3ZJ)5% z!#-thyauSL)|Aj8QL4o)gEg`*8tVkGC!7WmM*S-VIAz{%)i*E>ur6(un{-12{8R|n z?+*bnAjfzS)yEqnU=0LLgO*t@@L+!l6l-s0m< zxh@9<()bn#(`*Xekv9sKy&~(X^UWnf%}IFj`;i|P zg1OSl!hRb2YVBGrSTC}G1^a4wFPJ6{_@gxxv#Bu-Q7RbaE)M5}drRI9rxnA=D$3wI z8%n9!Py5AR{KY70&H)z@L0&9}_m>RkTGF8A3Er`Zf-J2ke_Q0IUhc<#{R0tydbTS~ zd2_%L7t_<8uX^C4$Cm%jX>~)Zwo(DN64MM(;eB#scZQt?TJ+nGF zodn;E6o&+swE*ZM-d9^2?WKUV?Q8(#yUt9>h0SI>NqdDfx2nSVx?IRh-dTu&CQszPgV-O#(PA+f6^eHJ6l%2wOaCp^NVJ_>qNiXG+x?}g-?Ck)w47#e|zCt1k&>Jau1Js8-VsmG1{ZQ;>*U@4@s|yospIjvgNeXz-T`>Z3z)PFq~{t!r{QcRbooT5b&1Y@5dE)w zzCD*spzfnVix3UBo_CAS&wb^ogIJYJGQHwOcbL6F6V}RHeXy27m2p8NcP=$|{*3sM zd~BJFO3)Q&9Ukehq{}ATTDu}LwLkOqtN+yx%Ugfy-({*diQf8}Zf&U@cqk$wbh?tSUa}PTr%Ro6Wcg1b^Wf%`Lfj# z08ZeL1leprqIeq-7iIXk;N0YhEen^Axcvhry;{w-PDv>$HM(3HmF;S_HT|GLT(`{FZ-=nP6>{rcEQGz_C3lCiCE|FA zKq4{_s8y3-v;X+cpOx?X)^86`W{>*BCqE&d`(J;RJp;ZSx_7FlOame2TV$C<=V8V} z#8XTY`y9Qw$jb?WL}c+d59ZzWbG8fbh8oG?W!F4R*n6MT*zp*@Ej=eKZ}FYWVa<>; z<;AN9k;gAhMdh2iC|+ND3Kw&>yP=y-OL1s-=LrA)tv?~(`Az?{oq3Nji%Zw!o_D>o zM@xG>7UIai@Y|p5FXI8o^^gDM_Z|Q#jzlkSasema)BpJk?% z)vGMMTH{J9w^Mv4Yh0c39i{D03v>i>?T-itvlLhmD|t6McAwCDuM0p+du@RV7Rq3$ ztdkp3hv{Zg?nHdR(x7lyt@%rY!3ep$QI(nT{!E{qo*$8mS2`v{+6jQaMD z6o&F`mIJ`+*koC*uI(M@&X?B@1K>c5Bz~F>N7h(e>y4W{`d=Uh_$-LtV>2 zx5`I_8JsK9pSnK7yqdIv)r^kPy?; zo&dA(UE`Cq&9yLKlj)%+fCnLE8J`x)J5=C78mub#4&a}szx1@+^kS!Y;t}ZgLW4G8 zCCyhBW>yV&L4Bc|&i9!#`UzkGK1^SH=5wV8>9qWbjT*v^{VMF8o&j5 z1L_F8j**2ae8jJ2|4j)t1#f^S=rmY_@)BG@n$R=ELxZ9SlnUk5aem)nn!aT`1U4g` z|0FOBe080(j;R2@As^pW&Hw6?SLN8P$4r03?;jPK3IG5g07*naRE6InG=34tLvR^r z(f9BS^%GqN{Geg^1a$fN(#C`qK7QwNa`KKCD0ca=1@m!sCo=DwlcvKyK;h1QWL95^ zbK-99PkubMpp7`rjAJ>G9S1h26|Y2nl58dKEY~Dx4p88(=iVhxec2wQed;rxk~ja@ zn-kKRex&Mz{^BcZ>hT+6JNoZ%d05OP0m>3F0Hko{eG6C;#rw$j6XWpOs1n1xJPrFa_$9<+L8K-CU-&N!5h_ZHS}u&y!ri^GvcGfl^aK=~T%iFnX)OaQ2{ zJYJHmD{C@$$4RpWBA9C%mH-^kgZ#QZxkeeA8kGtxVX5{{%L_%RoW$)=fN2bo#3dtS zqkq3o{pSzJ>wYx0;shFko(e-Tzu_UPOjN7Kb3YZK2w+2bn@#~11~{VE&l7rlBwpjd zqSpGh17OCijU^?MOYcA9UGY6#s^}4Cie-4dt80au+S7(5m;Mczcv+(=?VeEI{a1jIe_hPCJx-*Jk>1ziC{Q(Gt13W&!UYi2x#pvXWY8r>vs1PvUM9@Oio|h9V^n zr67GmojIF5lVeMZv!GjAkI%sM{*65F+y=DK7SwUEllt9b08m6~JnP$bu7r4J=K-L!f?7++*6+4UCW#=f zB$sTV|LYI_LXI7e&!e*CvQ!`btv@lI`+ng*`Mp2*z4&b2wJQ?WTwkzfAU46AK`Y&l zb@Q9MOfZn>ylvyPi?2${o@2Xw*n1?Lqr;qJoO_rHpj26Ui~*QVefB1)fSnvn;rng#a_h}4w3*cJZ zNWaW8txP@6lO}nN6zCyd7igIah5~y86OY@_?6_mzeZ|grN#hC!Yh#^D(Gk1FA%}9} zi8FjH4&G-o_P8=hYw66*dW?#mrpzd0Jx^SoN+^0#oG(9ZFI8Zjbv6LFcH_SH+rC47 z?x%YLICm@W`0Skg-yi&FMD}$*@I8_L$aB;JH*yQqd8^8eT*;%l9koDP3+NfKEpb;7 zCuYNXENM)qrY95gb3~US;#SpO{u$AA@yyJ0zm!?CxOy#lwx-iU{_XAF&Mk-gya;Z3 znrmdQVO&thn(wwzMC1v#GrqG|mgA}=&H&=PF+psNIF5_y)KWQ0o;eopU1G{8Iq69d zaCes^NrYM=4?p}+A}Sb&__pN5FMg3Cab-m5D#>}VKk1O1%+L}6xS}ce4&Eh~YU`r2 z=xms^WlKgNw6)cx-$lG_-o3WS(p~2}!*7{v$@EaNInwEROqn?qgSdLknw`8y*?At3 zy@1_QUXL=h)YrRwEz55FiFZ09qw87s>shwnJO@b@U$(stXRZ67=>}1+tTLgjUT7&B z&Uw4JPJD+8!#t`HsRk@N;U@Eh!_DRgTsbo#?*Ie(HgdA5P-dAMTio^l()F>z!;AZzuPA|==SO9t` z*K0XoStqi})rn!3G%9FM9(Nyq6}>LcSmaV^XAIYG{u!&tP6Cn0stTfXI}^BZ{0{peK6j@DU>We7$`AgdGw}`5 zw7_%ui{}m1#Lazx-*8KzH~$he!lH|FR>^tgF>5s_`j8w@FoIPsxZ}@>l?uueNkyd0 z07nX-p2N-(N26RcV*nKLX}RdaS1uTEOR!(!w~v=0ietOi&kxIK03~QJg`ey6U8jvT zAofuJ6M2KSPkZfreBgz?M(6(yjMvYlOV;AhtPhaPi_|u1vSC1wA~(P2W|NHolG!r> z1eazEzp}E0U>b0WV~L-=TbQ5>(D~zBb*m~GU`bwhmswr{)OC3^y0P56KkBz#czi+H z+6RD?iUq%rw~>P%@N>!c8u9@MOr^Rg56V&F2!L079}@B{WIr?omDo z=A)@g*NPw-v8mV0lm-^E!=3F%NeD7Q{Vyq=XI}no#1bC zb5lO`sZSY6?|a96^3H$%&Ipia0HZ)$zs7-9%UIp=!AzB3OK=P%uj%%hddoX-9`RG|HeK{e}0+8-DuTsVr=7jQeEl zYtQo9fAiKvB*0vyVnM$Dhu&m5bEmway%v<}h8=J$l=t`Vw;-SIxcBW*xgokJahD$Q zzP4JCxvAv*K0i^CE9>p+->SLMz966a*oVyE(%7+esyQH{1%HMG;|<=ti9Jl!9t$}+ zoNiW$-H*hLK>AFKmL(lH6%C9jmqPfHXl zmvvoxCO%WqH1z9BTo}h^2tbCk(B(qs|KnwM420iaFhOhn{^uVV z2r_8*q4he9v%#aITU0#cH2C&CVbF*Uw zSyksVI$mE|)cW44vH_cngev?wvm?-@8l8Z;?PcZ%Fn>{9^58rsF2qI!+TUl}Lg{7zCKnFS|oqEnUBn4!GnVVI> zdDqTgi6fKCk2pT^wdCQ4+xJ=R)o?K_k(*B49_98uhARHYB;&kI>%sYXEKwZ0k#bQ( zL=lS;Ma3YlC@R&XFW*chQVAg)R+W5Ry{;*)s|@>5c*4@}Kr1~^X1i|+C62jlOoeyP zyaR_m%F*X(X`DmWxYB5k;tx*??8TaPFL?ISqSw28E$cy&Ma$*;3n_R9pAO-}QYXsZ zi@d$ilK(+{CSYJCST+iPxw;8o8WQPdETS+x6e*9U@dI#%H>++{!-u$t=Z)HFd|-VF zR;W6;^{r;4xYdbnw`r?eb(tOu1BJ+&XuLFZ`Q&I>^bL&6cTk=H4#6r`omadE1Y2IO z$%z?zWge9S17rs(iU6-pN(3W?oIJT`Z);@z4pb$aFd=Z4FK5vy&hN$V;{zc8=E8=X z;0j+BKkS1Gm~L)6Yu~w>WPH4*1DJ=3%1|6AkC)}zQ&zzMPwV^D9k;I+A1LOo{is@6y+gY}jx6G~hQ0C6;Jed|B zUz8KiIbnVySgndIb7Au^GbUHgT`?aJX3ts>3feR4Z%LV`7#>+?%Ca$0H04%PDh|x$ z10PHopw(Y1SnvRzJ{U3W(Bp&yyx}*|E)6iGX|nh?ui1HSczRqKE9xU4tYihiTv>Rg z(dc)W?~A78&5F476#ZR;XS84Ep&uJy0-7SQ3KIiQ$YKB{fwaAd3e^|o;C%;Rg6}!v z0O(49m3AZoafM`yz?Ci$U^?7r4Ttxtmp&Y_r~^KH*IW@DAH2mHL>LdpCAPkUI1SVc zl}CU}1P*J7ES!r!GV449lIU?W1kyE@@0^8H{PtAZVny_g+fX8pz^oa^09wM*K*712 z=OSx_0RLfpYrD}`L|8UtOq?!LxGqnOT`X6Fw=O?sZ)Wv@U}QHm469#uK*TTyFc)rh zKmC0Bk@cAepD{O;LncrGz#I>U4!DIO(kNV5J|HkON-1LpU=AB;i*`)RZMh~!agDsr z@|WY&2D)P<4&ZZaY)tOC=N|c!Klu}R@<|68c5<3=z}1nKqgVyBBZ0q&!>#=2i|jL3 zp15KZ9Ccp@oqit-m}z<>Veyds`5Y<@89R+u_9 zB}>mNML@8%%hn1Q%fi#V?>RBR3zS3oaSK1k6^vI{7aI3%~t6n1jtT{_oO$R!|4f|9CRh>4<+ybzDe zN0OJ4*ct)MRVsjQTtolh7l$9_262@TQ?u0mpSW12?#>{{mmqwGyKyId*(vT;YISi2 zG*r#fx%{{PdcRnUVGA6C$R3v2Re*N@MFJbF2^`CV*sbvbJS~fV`&3pY0Fr{%i0T4 z3O zUwz?=^1SCizdMtCqQHE;TfmU{IBl$PgoRd1fiOYV*j9XDhxy17z}?ih_E_-{KWm36 zhWkz*EX1=$f`vjBrTk{#I;GQDqn~Fl!kB|YXWU`tPVqQBXd+ES5&Ow}GyD^NXK7T8pww8}|I{XXE>U_*kJS1UW zLZA#iM|GbVE!vatmbIE4ug(rhKCI+IwCrk38D0xH!mij(GLn0+p?8iGUw!&a_}H7oi3rSTLt0OO#eF$0pQZ znLOcOiA$YXB+~XMP%vj7G4tD>^PCQ=o|uk4fVlc~b9bk&8ONrk@Ym&gC&{arMsG zXaLW0#^RSwdi=taH3Oz2MdZO}(!U$$2LRwYee#t2(Wib>)pGy5U-<3M$^#GngS_!Q zdkbFNzZxBtbkqVzEpXHVhoA*|I4G()3$e*sc@tGKaqmMt72gx_-pQUtj4U*JC*iI* z4@z|E;Ov8a;uXeFooxN_IDQ_e& zNava!r5?r>*pL1hDr3Lizk~RjXuZ7slCSI6?Dg#(nHce|>DdSAI)Sz9hvjx5^dWJ3 zYVR@CT0=@sdARr7z2_)oFt64-*K9d(u-fSsgIi8a$ob3b*_d^qB49|9!MYTc6Lma4 zz@0fZDi^LM!4R5mH-2;bynp3*9}F)qx8FFD_LDXmB9&@O%BA>lwvQrv&Qcgk2i&c0 zHe_mSSVF&#R^asuEw8RiWop8Y&J;F41+joG-fqi`Ok;SrPXI0m<^r#=+1NC)uXqRx zG)otjA|-5HHmqVmiMba?pa&GCwIgs$$93{Uk(|oYX>=OE1&d;vE1Twv0F~*DqCdKw zx&$VTmyS1Ju9ft6kP73)vbz~aWyU9WekxJXNpJgiiDbG9VVuVtFmm>o@Kaz{-a$@% zL}Jg9^2!3NrLA&l?uhpl|CtU@mj-ZvuC^6hV&QzJX_&XulNPc-GyB4`3DQdsUov4@ zor0wn1FlR^WeWhPP}!_VYqTu$w_3|%7r$~*01}{O1}gu9aJ5= z3yZ)xj*{a=mUjps99YPKLNFW@gz0wbv66=dRp57F`;a#46JRb_euE_mTH^Ba(lVDH zk8!DX!T$aRJmgtT1HA^u@xAl;q=hd$bipJ|%*JE(Q%3jx4iu=@$abW5mYA3wXEewwO!H{59e>27X#)REegO^raf~xV?7IP z5CI<@I1u5GLMW_p6~~Ll%HPEC_#GBkF4r}jL-bg|wtn}I$JVXh@iXr*YYMD^@V>4s zt{G4T`ktApz9Q+jjy=NU^hV zBc=F)j&i|vjxX_%)ST~0Yl@KZXe8(u*ijX67&F%V?4k<32B%+IeuV0jQ(n@A1_&}vYJ;` z|HgJx#z*vfmo?`R-BAl1wZLI)0Rp;4%OV)J2kmI33w-w*#0B8Sx;iIFs~bMF)S(zH zB89}dBP~bo@yQvp_x#B5jkg?^T+u3#VinPIs#>t7`j4RqF z!g_OQSYCD4S^51hJ`o9mGlqZq{Ijy+)~pXMuVuOjraTz~h$3bp(K!$H0WX-FlbxzP z`<PS5faTU`#%thlx7W26V_91K zjMn20++?N7z8=5+wP=?>*9ob9ZEQMY?T&(>n41^l1se_(hv;o*85n*&wzE&6y!Gwa zqVe%*`wao~$EWRC$^D=Gd|dP%_&)UM-;?v_9+Nlzz_%Ihum}xjWrkH-8yFucME>b< zJ1&_tLv8g*qOj9`~mmM(je|{+*XBF##c|ZN@pO$k^ zo|9L<{?!BHIVeUr2Z{EvEfI6Z=Gv!Lb>mn|WNdOQro;Jj)twW#Gd!Lr@mzpBD_ib7 z4Lr?F{gyct4@slzg1Me&vWVB`+z3aPpS8q%Ly7Xn#}+0^DPxu(Q3jYtD$^Xlxf%Qjz^GBAJ3SSZiVZsz#Bl{WV=ww1X8)bdeTVXrv*gGEmsc`|`@F? z>h-i4P%z#(%~wPozmUB6lia^@VKf@^8HZ=?%$bNqTN#=#ga73(d8vHtmwz<_<=&CJ z?1gs=09{Acx%RG&k2oK-z_YCd+{*jeR_z`@=Q;KBM0`e~n*T)2?D9IGELgU!=>uh5q$ z4OW(PZXxhUI`xg4vRCb}SA2Wizl>@3*y zkZsRNsql`1^x@f_7re^?ibFe6Z-$P=cga{~hlR2`&rI(7O;}2VzP$P-`D(56BBNBy zNjI8)gxIdP1eUk@agaEalK?M1L%a*_MmqCx-y=XA)4e2_oh-}J8WpPj)V&F7&=o%< zMIV4N6p8#B`*mZg`%zFPl=C||C>v@A1!FjXLf|ewWEbL4;_nv-V;H%A5+JQWcL(6c zSk*AMwB?LNE}h@_(cxTP05i^dARf?M_{s$ts@7!4eSB`?0n0)cmP|CQZXp2R4IBUt zjSE+0^N|ZOcGnpb$A4;-nh=OVWpBt0C2_dZ&pT~i3Ro0_(?A-&EKtsYgH@W!wfJLm zxfmWNXQAlhUNmbNM+BB`5O?fWdqXcjmLg6osgwTcFIn^Hx4&GOA$L3%AG<8|Mf*{x zaD2w_g(9%;Oqnjy2VPaztES!9hJId#VWDY5VuhuKv$UakleREgFbXuN+bTZ3tB<95 z^Oc8`$!E=3^3bu1=N63xs5D@dwjzdiT)*Et8{0AzXb&p(>vHIyIzA=%gQFF$nbWZa z7t(cm>NCmG zrc_i%FD&E0@qL4(C)7cMObN#9$S7kXEat$X9~}E602ui~_#F$e#e2#d-+gcv=s8~c zc|+i{Ug|~=mH&>R94Lgt>LT73SP8-y1aK>F4M!iq7zGyso%*setminyvA&hHZS%bp zKv$#4p@s$jJs~gusoy2epCM)V=K8h>tnEQ5bIyYAFxcZ}X}&wmKhkJOqgs<{ttrC} zkd@!qGE+mP))b7Tt>IBKY)(l_uDUiE8p_G&34H90E0V9)q*ab@O84cD!ftLw*ncl0 znnUFI;QKx(_?w!y;}n~ON;DSGVkcYk-5dlvPDv(iz6iui5UXh)+emG#L5p|nU+BXC zWf7Q#49!Z@^gq%f&RE1!`!dkuokAZs09LLilw8PX_Dy+M)v3wU$$2vtwDr9m5dbp* zWF!C!@)3MCeR4Vim?IAT8Sgk0J2}^`FUIpY%6-kf@0L&g^1BoDLOjHqm>ZW(TCvPY zo7GX!1)Wzn(!B9)>DH0_EPj|g{AY;n%&`%`GMyeqK z`H_k>ocRM#al0w7E(Di1SB;DnEy?%1?u~)c4tEsv z|DohM;uP#?>4p|*uusA}ZvfBh71`cMz5{;kv9;@&t?GK^!OXj!mj`TAOJ~3K~$KmY}h^X0sVOnjaXylA=#|x z`KUM1N6XpwHN9~bS>BAnC%xv~PkI8ndM%SyhwHc$$jpzJBklYetNHiFl^5ImvlrYf zV-B!WZ^q|w8^K$dJD2gzci6M2(3$DxcFkDsd3ZHGTj|U#TWYRRkx6%%MWsgta9zTm zKKzXQ?{`=L6qo8cJ>4HuZ{{Z~m@AHo4+GN~BvS60o03Pat?~#lPIDJ{;5>pLYbO5S z>wZw~|F!!W%>3j&N@vibYrm$UpXut@D`Qr}LcZ;L zUoAiL-d_wQ4Lt7lTW^;K{^tYo@>jh)=BvI{EFbol0bBb=5?_;+wxw{>yLtw-Cv`$9?pJA2wy~C7`Pth%0oQfE8{0 z%DaoX{MPY~m125Jh_FXuK$p??N5#*_bQzia2_5S$^SxJPL>Zt%22TLLZ036GqCLa* z)4y_Yw2cSy0Khd!_vQch&j-nF*SwCvT)S?Bf`aMM8Lm6d~L7yn-k0&U8NC=8RAP@!_lzaqy zh$!#@GRebF2$Lufl8{ciJKcS6_nq&Vhxhwe)!KXQI<<#0+@X_ON#9+=s#UA%)UIi- zf2{$tMYl%ZO#99dUA`lA*b=U~{JsvZI%-(np^Rn12nxCBTR}Y#$v%mHyY-5;n}1v# zcf0&J`L-*a>s=_Yd4}yODae=04aV+Hs9#x@m$lC5c1l|=2X)}Lv#g}N`)#MBeD^9{ zTzz|hT=`6j>a7us)&sW4%4VHr%tz5M7C3yDpsg^vxcE^ZiO0rL>QFkatnE%Oj;E+n zi~rrCtZr>o{SO{2Z&GDLrr+%+z+5i3zS&R!Cp!(+xc0gW18ljJ6;PKj`kk&PE0nv+ zwbP&+ER~1t+hJWiq$05^-4&+*04Y)m$r2<1#e~CG9VUQzppYNtps*;x2>{(N@P$EG ztmq6L0F>Bn?X>=|f_PZJ;QR<9FY{4f17coj8;Br3EZXJTVccfx-z{pV`e6V}7+m7V z5^bfmb~4*FV~aGBM*5r8rU&Md@vs;IK4$idi;#C%7uLR z-0%8Og0wS7&v;-iSw@)uwtv5kE_>Kzf#jZ_p(i3ht^xp(*gzA2O8BEQTa@a}nLGyX z41*DK^OIB;eM@p#{oXNZwYxNVnFb>jj5Rt14oeZKn?O@g=I@;YB%gra47HV0E3|Om z3)R=Fv)?~XbNANPzW^eD@+|-WaQyo)Ai>qA7|mCyHTigIXCO$Zi7sjbp^%c^PsW@4r%6ib6-JRdPQ}L6Q zx#GaAOp9{a(vEz8m?sO$^b+vFY4REM{(z48e)7|wq^CdY=`ySG!vYx`tdPOUF>wA8 zeTchw`=Uw<{1MZ2bxkXOW1O(xn?RnJ0F(~V$CPD4+|WMTv&>cCmbkG}f~!=YGUf8z z1rQs`V8DrM-dF-Sa-yJaaOe4r>*fMx%Bp2Hwx~5xBD!Ny0q)k!?fdOcm&O@bq;B_Z zX{%f^Gy2?Rhp2f}0}-36T6r-Ct6}YqQo;oABC}CZ7C1McoMK#IK6qniK%w5ybSgE% zMbHxq2H<4kxoz-$xikYX&Q`$kC6{roJ&)ghoQ_;1K5UzQtKJ*d2oQa_)AeuG=eqLv zr@{(kt221(2}@_Cwq7H)2mtUQgD#OD?-%|t*oy&G07U~Z&Eq(fE-}slSdDduQe0wz z%=3+}dn3K<_g_ZY@tm56F`fX#&HbOPkMep8RzkWKljD-x9`5zixoeG7biV8yjRnXjim|yq+6@DXr`>K z-n9*2e`X>_E5=$D8|ON+R-+>a^`Voz@tE~67`z4E8Dj}jmJ{VSm#ha!O%UB~l^eOtb=&%0m+o;vi{Qy?E0Mdf1)~i%^SPuh` z9hM^i?qUlQC(l-?WGtFrbIr~uJ<2v7r5|7}faGAAOBoK4{b)>E>;u>tU{xM}!pg@Q zn5}=JU%?U=#vNR$fW03sdAN8iP5*InMU7do#>M?FjOVcN&1Rdj0th=Szy19CEfCiN z6U8)bR0anp#qr-yceemrF+plZ?A_edy|EboF}J|oa#zsGdN1{8V*s9&)?!A>JsCHw zJ23o5T^5s!lisH%rX7M%PFF*)iO)Ksf(BxP#i#z?$QcNzI0j;Qm)baL1TfdpT8+-n z`qp5jJbbwf*649(77q3*ir2|u=`uc?mZjpS%msf~yiIp*g!#Q+Fc-5xYPJ>yi^SS> zse#QvSA(F=jheZooh;BFA5B%M2FUo z9wj;up6^@VyET$Q5)c;yxWMS%_q*So0ddKS0njySFxO_IN^u}ADFghv%b1R%Iw<#2 zPL*M%*I!MzzcGdEemyuVlZdn6!0e3IC8c9oHpLJ0%-AHT<7V_#QILvLizE@L_9oMk zOmP6aAKc}((5PxVVgMI-?llmXY07=eT-*@b@JvVDQoIf2?X%qe7U-I92-{!MehK?6 z5YYnGoESm5pA^voVa*s8AHizmNh6b?_Xup{vhFs+2Rz{Z+b2TchX@3QD02WlL;jBA zxQKXwV#6yrQfA@BI8%1E?7>U(bNW7Kg%U-^0U8o9*(Vyf1#&s9577^U-TcjVvuwMK z_L3~NY_9MqfDVTHS=mf| z{Ket!4!FzCo1ok7ibnoc>s>13g9l%Ohz5nUFo&DRR=1ioUGhJOhS5gF&rO!;?D}YL z5{)X4(@w&0O>oc^78F(YBk_7L^OVO4mUyqYY(@R%V>VtthKp7ta^z z=%TL-I4TL(D>a%dj`z(D3ZGC&40H0MIO`yX(GC=k*CD)kCrc>uD&>E*Snn#!Ku$tO zWY3|vgC4FMNCF3M~;%Fup%q@F;wh{QkVvcfXr&Kt2DNcsz zFTw_q_owX{1G2t>V0}Cd42vj_cw_5sEAf=|g&%ETJC{P#+y!%V_SjiP zTAnHstY3}70Z;{S7L=YD_=LW(wiE%lQtrwWTt;y1I$z9;;` z6No`u;JI>YMbX=Tm>>F-%aWA@ZmRbnMP7YuUTl3!#xu|lzq{U1eLUGl)x7~;ANa!(QE z=O(GPr2(0+Mwu=bC|_^T#_2VhfK|N|QSHn+ViQoM@*aWNRtey43-csFN{=<$LeuSMWzKpA-Bokv-0 zwG==#yfZvU%JKjTgX6ged{$4bQhmKjMFlp-MH$KVjKzGGJY7Zr9F4WXsO$hYNwAZY zZSVQH(|BEwrb<~_tFQuRuf%?@>P>?cE?DD&V@1h+j9@VDW~(JGR*?&W-ZJf&XFl&G zUetAO`D^88zFtC%r`_&Qn$dN3W;<+nadg@P!ue|+F76Re{~h}7|9US6L!aeBT3Pb~ z!MSWXDYSwnf%nRi4s!|GKMTeFc2`|0P@3ke9VBJY4`3(81%RJ%L%mv8Q&)kwKnc*^ zw@;i^v$6j61o)qg38PEPoEqZPa z><>AUc*a>=klPopM}pDn#&uMo$a+S z(T`lPPNnwqJW=wxTW5cIo|}{kAB1XT2Z) z%6I7T57Rd_U$mevj>CG|fB%Wjh@kk_-)PSjoDX)1zVcsp zaPp2nzxeSl(xadFXun+fL;JD&KC1=z0y!(XzhKyWY|dJ2W+`z=&iHsi?T@i%v|TwD zj8m7fIOyzrqYBT@&e4{!Touo=L#vw`1Pf$?xS5D@))r4kvOJy7(@#C@!I3mb{Kia`TQ^1R?w`~*`2;1U@<@69Luaovl=`RfH2dcpRH!5VuN z#Kjffx6H*YvH#qO7RbdNitL0C`(^C6z@Baao<;ihTmNH`Ub5iK!ZE%iPZ)ouY z3<81VZ8&1eR;$0g3#{bq4arB`5E1O4yB+7^DdISo^pP z3(HrlcWHbCV8Sr|u6W=Md5voK%hk;m%}x8(Ib?oT(v@+Z|HKl}k%L}v7*9XIEC3p$ zgA#C*gMu>@@L{T%-g(wj(nh>g)P^OZ z%TvlwvHlCWRr1GezX-pG*C*F;3wo^kcN!sIOZwAaGT4U#NZE3mrs<%^^);hXSb9^D2{`L zpyIUnDAR1y`Va3?IuO-*n+$}I$zz{Veh{nv0no--4Ju}!7&Dr`Y+eDmI2`r#fOUpQ z-SQm#9;H%-c}LH?^1J{zF_liyk^5-NIsnc?? zlD9gY5p533gnZjJ^9*}3permrX*^qK!`KCIhz%Nvr(n_)%ExX>uX^S8wuO$;DL+voQOVr@>@sMC|4R!)5N_m2xH^LHwpzRY*ne78>4!w zL$%d)8lRsejQMoljIvrJ$9gYg0uK~H8~Ge%-QRT;hp}{uI!0*;E1&UF-UD-aMOaHB zPf5dkWQHXo1uBOboO9d(D5b6VnUC>f{7v4xKni5#S5j>(P5Y>E0w3Vbf=lPnf6*t^ z$9%;WGoeY97etsM03K871}UQTrFBKg2ab5>C76{Z!J6lq*9NTtz2>i8MnKg#Z^k?{#nV7=8F1uT_44zZCe)jE$9* zElL?MPIIkF3s)ZY^5FeupqLk#$YUBUjy8f!CP_cDbj6vUk4XYgC|Z`;`km2yo}Cz{ zBRsh%%a;Mv+<&B_4PMhyJ9p*7C1;ABD z0fU=&ouSfUz23nX7Y8Z=hzkIJjH#HLdC$b)Pqn`>V<#+p!Fm_g1>J+QlwA(r<3)is z(dI5oYVxE=so$kWjV**pSn2_VSk3b*%xj-K@SZ%hn$<#V4)wZ`TONC ze*MPlDRKDrhec0V2^~ml!Yf{TdjE#k>XK4{Zmxz~TDfA<2WJlp;Brgh32!C4;$3mb z78b8rMyFcE?(v|ki}detvHKR!tDCSc#&P@vQ|;%!VkA-kFJD1l3xLbG`W7WL!)}7O zAXKqbrkB3*)%2Fv|7oaUdHdI*=dsWUgzuhfM(h9{r**t{U5vLgo&lM1EU@4la?f zBbBvI|2>2vpuAl2z=XfIA5)gQd|LbbB$s!8k8~6{P}I`$GR;l}zavI50*Gr6w}?I! z;Tn~2zNdcpLuyP;67hLN2%o$IB=DJ=Zw{f}8__e~7{gL5zeATIC}Zw=jY zVmcUMnBIJlvKAhUFH_KNRnwG6&^I5*o$6^X#(w^4wtge#I_0d}%N# zCRC~8QeZ!S40+<@#2gb7CN6r<5RSBJBV{(aCW2TExlh@na*m|NqHdm5_>nMW00&II3J&?1}<%x$;VISCsXYIK$%wEuInT9P{;CA?79F!5)7uRE1 z^aE6jWo8IgBfz+Y1Y={?Qix4buB}|XeA{WtXUC{vE+mJ7ID?nidX2{y8xi>x!X)4~ zsH_pC#ZAD|mubsroVPPw@&H8ubk)|4(rgG%&WGpH(WOW*S7)nAeA_kXkAC?Fo>i_S zha2ms*U7WECJT1>p?D7m@C=*;K5qRf%ej`p4PX^{O zkc*SfeE%37FyIt`xm;ivrVV=*XEZ1vEWMxjlRrG^kw<~|JR;%2yTsOOY%64fEY!=O zurLBxym5_j637QoC|fei7xPrF)M;XNf*8yNOF8y<1%Q^aaFZfsN$=oA2bI+~w#sG8 zW52%)b^@JJq{fFmqo~e#0gSur=DRrPJpmGvz%D2xz*5vG+#oZ+t7Z;t6!cgFK$5RY!Q3F8UWoEqRHO)Rmr}I`H9A`L zW6M~BQ`QyC7@VG&psuhI#}^t1Cg-FVpk1^bfX1z6TOD_gPxy)^8t8?pnUgllf|kB* zUVnktAO2IGf*i8 zZRl-&0Jat&E|iHi1mt}8)qh6MeZ`*y>R<Jd#$=6@|X64VMiJtw!mwE94 zk7;_uwT#?yEzmY75f@kl^sGqD7uwd_MBJ1vV7g0bLcVu=@X9x$LoT)+Q>pnM-r5e3 zBP@?UYzfi*#1#QSqDV}kl&u38q7?WqpWyh$3MuqEk>4h)- zT`%+d-*v6$hX)dipEHn#K-Lqa1V=sH7xYK7T*9O z>d#;UlAaVthdR@;V3k0NTQM10_bh^W}qO+Bm(T)|2RKSO@j03wdn! zJs~XsC5B8i;heOJ(dCR+%W_Vv5Y zC=1xU_XCYums<-0Scqqfu;9U#p;f^Ve;$5lR;?|h#T$FI!Dl^Gd*ojxf9NF(^tIc2FJ0nv?2#`i76=x(dR&+2<6rz5%`Y74Ng6!D6FRt7^P~NE zR~!lsi)W!kI!B$$&uL>R36@{kNlR(0OoGc|?haM2n+wEv?}a*Zy?hI;xX?i_IFSYm zpX^|zjOme6A8*9%4mfxG^L6k3`*@-qp!oHtKYK@jTz~uV&+R~M;){67uRSFa$Q93F zpJJdE@LwjK-8$c4o@sS>rOyo}C(G)LXnZ_JTa{X1O6-cmlqO{;l?sB1TaVO^6UE zhQD(LBKHGBwLn-~hcWG!zE(?m@nv$(E=pHiSRHmMe(%UMh$MsLN#3$M1%ya0(cYol zuD01OzWub^UXY<5d3TCdw##y#XIDEV<9<1#Z2|e4hj9*~p$rwQZ@~&zzphls(pGi& zTQBO(Cgo#Hz^zvrG$}qH`yX|Dsqb}Uif%dK_$cX<+^u}Y@f1~R(G%;b6}{*_G~?f} zc`h}=Sd4;LR9%+WYcxA4ujh-R-uW~JbR{hrH^4W=2i>Ik_B!2I)>q820S^iwBDy#$ z500Wv69=?K37Z!zUTI)Mml}0Fz7@^wzMutoi*J;7g>8OuVWj{q02E58#hldpisErx z{B%qNaxwsz2^I$6()qjxLQqQ9ezt%Q)}Yub7bi#{3DP|ffsysjZ{JClAQODIUtr4CVsB4GPS0E)1~6`51%&00#Rx4NngcDZUEoanGj$ zjSbpjOJ6>f27uXlIUPVY>7*=CW01^~)X$ayL63J8{lsP2PV&QVEXNn5;kNgcdBA$)^6_P&N%uS>WnlkWH${aD7HB#}WWUvzuQtxaf6U&< zWGOwJCCsY1N{txI)i7)I?6|K8Sy^1A;(`xQQ&zcz@_yH>H#)f-!9O``)>Gy~baQ#b zv!>WK*1RS#9*I81bqjk=mGT7RBKd_Gs;pJ?Jb|#W?znzpg<$C`FXn5u!0rYE(k!gnlF~8T+f*a2fInmBsj_Z4*Yy4&U zo~LNnG4%`gP&gx4(NvC`Jiaq93&7&$@+Osz%u;=`Mzzg4<;yu5H_C)yj2o$8iA#bB zWr5rt9QU*rzlJ_^?Q3)}h5Tt+Ik8M^xsK`VCtDx1<9ouQJ!IPRUi>m*FxPvpdovaC zj*SHJ^2BB`1E7_)ZaEIyXN454If+E}@>9ww<1A4mS@3l-nabm1v{lplcFy~wQyX;Y zp#^yw;#%VT?+JJY`ZH zI<>0T92n-j-oe^toA67ArBwW8PGI5;UK= zi5`GO^dGF3R6jyL=pebPtlomYvQnXPp|?*Oad!2wFjJ&Bt6aM(;N7%vSTme0@7;5q z-E4M%eAA9Sav?HJlWe8c~vFHA6b*DL-R z2P{lRS=LKh99wC1&EH9RNV=^v8>B93z;NB|(pX>C3nV9^Gk0q1=)qVWI(VVBVC+i6 zoXS=&UForLF~1$oq~i95D1$*XdGlUjN?crxwzd%~nU8RTaa{>7iVg3$$HOhF*^Q=ud4lV`;_@Y5Nhf8I zGES9x&juwA_RI1)j-RS(qJF~5B(cv2UV4a1;}ZDPn?-`g#&cPab43`j}m# z)l$GIgtyeWxsgf;$KIxBTfK+i6n{(R$Cw|U#~_FD8`J7%&;pk{3&+}XX3}qewy+DC zmvMG$81b4P@#Ug!qnEwrO?2d<{%$)*{=a<9E9kSI__q zMi*apFHPUa-`D=p|Db>V*hd23Vpv{ew=q9Q|NM9VO!EilIV#cf>!15NJ>=&fl8APn zX!I?R>gw^(pJj9z+AuI;xu?mp{kT@M=~-dd6v2HRjwd4w^%|zgd;(teuDn$Z{9VKnE&+7zoGeA|C?P>Ci8Rs=Sj*N zbPs;gFZDz2(dGj0nHRn9*>8dU7T9lrdwdI&CZcp1?OB#+AmC9in}~Mri#USMkV#3z zNJ2BD7<)Z?ChC@bNBit8Yak8*(cmG`d;Pb#=g8Nk6DN8v#6H*RFE3acwd{d&x=}L^ z;kO%QN>O&Zd@0LL`gyp5<@TL)d#Szmk}Uiil*|6PF~`L{^G3Iv>Eh}YmkvHQO-_E- zF$LK)T)uqvL$kIP)KhiIA$bqtA0JPqw-6_{f0`a61%O=uc-`GxwT_R&f#bQJDoQI+ z>G+f7p8SZ|sI_Rqe6(~DB#1mTQ>0TXy&pCcWbGkgK$o2Wg*2CAVBNw@!BawW(KXe_ zb~g{u$APJ;jSdz11O~X|7$k0(+l>JbL)}L0YV`(<^R@mC=5a5$Bg@W2p$qWrJi-!{ zr4wiK#3tVAELjf6}D1aqkK`6@2Uph}vGGs;mh07Lt6_-tYC7>&cr%FrGMk!Jt z4pxZ9ll`&$1wm$RN`+SLN@AAV&xnuAtn3Ztcm*5~zbn8<+vU0o)6{EUMwhmBdX1(Q zbe#q&A9cV#Yp7y9)ve=aNrJfsDgz&kX3I*sb!%mdSb1LZlI;h85$ZLla{;)*6zuIX zpp4HzDh0GM?Xt0`fg-SwfcJ{Q6w}7q((0XOY4)lks*k{$%did>V92p{l=Z;78)ZEV zV3}Mo=K;^q_F?qr-N*l6o5Y%4lKPdV{e#7=RbL?@F0Zt_!n7+V^!o}+71Fh8zVe@p zPvV!rDbO>(Nxthz_%My+C&yzAc1f#ujKLwCr=KSS?~o@91Q^8+{kCmxj+N~=U6`g* zx16H!QnJM~-wegTJ6IoLU>}s%Wgm@_2WgxSex>+ML<|@_dx!tw+?zukV-?zk^K#j; ztyDRgER`BH+RAA~KL&AWi+o)Im6kTz}6_U*9XZ`>ppl$SAks?^0#CQYOtg^C){>smQ zE~F{ooEcZuLo_geg6uH9c~1T?Cek%d1b#p-bGYZ~*IZ4o(uH>(jxBd7e>z1NGZB}Y zo1kV*D|kW1`es7`xc~-*tFCHgPws~R)FCfB*Ej`BJKkKOtOw>iFg%aJ0Lhh%@)>}i znOvHR*5wnmi5VK-@YgeF(`vm#g}i7#7Q}j1>uoB!z+4txAZUKOKwM0~nZ+3y&S<^T zrm13ZZf&&Nl=uUGpXEUk&Vu(h72llnv(NY)`ojC)7G8-yQd+GpWf;w6@-aXxMZPj^ zI7=-(z+7n~ynWvVzj|EHZ{B!4J?P2LQ!M$CaBV#gmhSwLkS}XK{9vzKH}4M=p#cDc zrLWCOQvtgGKx4gDsR#B1dD28rdd7=XA)o(W?@>?ODkyMhw7ga)?7ac-!oM$} ztrG&dz|gf%1OQ^(dIz5IyqEZuC8F!z`ev^VoRCS6c?x#GPyp&smjp;8SX|k9h3Fcy}hob;=N!hR;<2AI5AI7iRI>Gv2m@;JEK`*X)oC4*D ziCi)@`vpf+DnT6MqAe8Z5 z#)O`@E+@;;W$BJ0<>I0c$MjmJ-cIGo>UmgxFNbC)vl?12i|65zajC+X*A5K)tY95! z_$X`3CSOhfihK^qd=GlWqmvN|s$Y2UH9;%d;W>25-+lf& z0Wen_eLv|Bd*oyKAy>2yze-=I7L^g_JCA$Pna`r&hkWd$JQ#PS<#lyFYU%_)Gn|ygAEz}p zoI&+|3r|tK)uwUF+BKKIwy~w&O@y0`MgXvmvy6I|s8VlH2H)m7{E zSER~bqEdlxj!8@jH?a@PD`|e5yN9jIpft!gz}x)r zF(}MxO8bsel)fnb206*owkQH?Osglgg(c7(yyRf7@;;w(OGXL(%g2^!_5yt~K4)3H zZIR{-FoomP$3Uxrvc)XP4{}WFJtO4u+RX4|OHG`YEj9&|xH&Q6iESHXht;q!XOB&+ zJegk8pwMc>joqhyc!~~RaX7rQgcVApEYif)2jC-EkwQHfFvcvQ5GobiIUZJ8;A|il z6hi@)>TFnGSG2kL@FB|q@4!b;SQRLaQ?pX@J~(ojcq(953RZVIN*PtAjmmG=N%Ca{ z`Q_WRB`#%rLK5`pSC-Gj2cf8Un^{XR7vdPu#p&`XK{pIEQF+euK^>ANDHsO7KZDK~ zK)~gqza6+(g9{lHz-e($?pL6L9~NrxR94+gX11~|}Xf{{i?*%!{0d%jB^A1TS5et^z}GdTv}RrzmTWYV0*1j?I^7SiOR`Y^?h= z&T8fPOlpkUj`^Z6H%ZMEe-BYSI7yWyzdb`28!S-B697_J#BsSAl>f(4TA{>PiE1~r z5(?%xSm65WH~zJkl`U~`#LNE2%e;Bv+0T78UHezpa+32Y`(YQ`0QJ7=7u&Ox2`f_o zkMO(P?NY{A;!^KCKGvI$^q!_$iaf9s>-XxPftl#r>wARqll>&2IB@l!1(m>F@h5-i z)0uI{kI-6fVwm!igb%BPYR9pRyF0B6{9y-pJAF`QdlG)(c}?0hp5CM>+nl ziT*u4TcX9APtyFAhl$4p%zrn$>o18!KYP{-U*_><09QI%Pa}9gfGd(P&f70G;_(dpzf+^!|a@{|BbVX%#?2C_Bk+ z@BP-IJjW)BF@Q4f%9g%$eMVS;G_ScQBCK%1)kGb=MB@P%D(W5+fVui{c(;`^AD%$To)XepkoOvF2e*nG!{>E6+uD8`i z71-y&I&E$&M~AOGtcv1GBd|BBtXF8}@QmWoiU4x4jC=8ka~GVy?7N+9frHZ}TI%CM zg`JgdZrbs78ba~Wn)U+(DpssAjTQyE9V>v>()#mZx5B)8@td}~FztVfaB((O+4=_?Ta$PyNfMR9UXy(>n*m zyEp`JuctEm5rGy^mw9yj@k1uEMQg-Ws}-8a`sc`bKD00y(wS`F@)XHur~LqN4dM>W z&e8IQ{~fa*9?NU%barux{L#KQ_w;=9<&$sy#3y<)C5(COQ=Sw{iT9U5Tw%npu64or z7tpK!_*G#fiQ;zxz!kj8Op9f&!V%{2iv^Dhdvw5Pd1uBPi(}&8NT|yUO4Chs>DFV@ zq;Ot-R^|KAY5zTvN$p(*aP@1A>!$B~n_l$ie8SbH21%Y8QcEiiBk*mHXrqoj0U`G<|)&GL7wY_A~CGeENqlh<9` z$T<$c@Bt6FzgxIb#0KOE1cu-~Dn7|Xn3yP&G{(`piud`5V<>egr=(R9vZzZ=SidHORz$;F%umqD$vb)q5AHa8dEhIL`?`6-lpZ$fQ0>g> zX`9R$X3^^P;JKxfSVS^dMMTAV*&>kZEXdBBga&zrr3{86{rsQL9>ckWB~R z5LcGbjy4kYjw=WsE7(=)5EoSaXdwpn!DX2iXC~9{1!KI<`E3zEP_R3 zjZHc-SD+JTg9rN(+!fZ}!5CejR7el>fi+gJ5Q6E69IbBnACE)GoY5Ze$dT$&0*Rt` zun3K+tOh|iOSdl(E1h#DX#oat3GMMla-1m z7s6~s#c>FxPaf2K*y;thV^167m5$me1la~csmU_6&aRQN%H`lA!BSAfWEq&rvHv{A zUIiM16*E={g7PIC10vwZhf^p-OY39|*aO%~IRzx_1#juZ=)dRRSKl(nH%CTOCriEa z+jn||0CQ12`n_Qw5x^L1X-ip?g2Kjf@FqsS1shfd7>wl=COi@-Aff|awEOf$2RutW zfkYFK{T<*D8&KlP(-Y_DCrrb2N0@17?`1#$CZRH?SQ9O=^ zSx*bgXU8)LFY33Id7#LKeuyz$g1MN6L0uAH#c5oxsD8+_TQ?u4*(?1UGPzI6{%y;Q z_lm(K%*XXaKG2=M^)zK_HG*Q?#Fa+^q_E`3fFoE}%n1d_Y_(2}LY^{HC3Qn^=hO<7 z4$XKsjE>LGsQIUQYK2nu1~pq+cfn1>F-`ksu zl{2)qsX<*XzFcLbC3&}9Jo<^_@>aL%B*9#g$LSSVe9995U10!INk2;ep}8WRQu``B z0m2$r4`2+H(8*rW*S+Ph74QoYwq+@<0{}`^HZQ;J$)(fusdv6vMMJ?Dm)ztOz%50! zMw78qRxUqC zQ!5Qxo5`s$5Bn^3)y*p5-=QlG(dpYxt8){~y9@VP@b(p;1<2U5XxJrMx?_nhn!SkG z4D_rwx|GlPzuQ1e?tz)6%OzUf+?@+_w!68bK=s>Q_PNf#I6g*|+Hhxb z!yvAH`NA@nw8|y09sRNzp1!~7X87_P9R6c*l^%$F$N+B50BevHbM?<$xIq7Ur}Ys! zp=Ggg13KCg)=n6#gJ$CN0mM{U)+^f1XEER3d&Ork9kZ^_=Y3EO7Ek;W76h1qEpkB# z|H`Q{-MqF*n*vY-fv}fku+gA(a^+)rkjCo}?UyNjPS?7`PwibFsH`xeaE8aGq+_mJ&L|BML9Pkh4T=;NRK43ow_pZ|w{MxXqLkI><{ zvZjS)CLzBB6t={|e=O&pql~wFg_~3olgyS>zxhyg!js4EWWuGh;>CCeG{7>#H!6%gtg0_PS zcyT3-HhpRJEENjo9ZJX=ie~_Eg}E|7#*OfAO8{|&xfP=Xmm2pWULU*RBTn+!7@(Ic z)9IxpdgPOyNEaSH&r7zgaRo|O@n|dD^byd+-@`Qkn0`Lq>Lr50DB_3`S_HYgS>K6M7J*%dgd_5*FNt; zKRcV1_hW|k>DC&Wjg!H%e(%LpnDf71If(|0gq5#z8O$|cwfD0P*aH2|Zvz&ypY3kc z0-c@_`EFFXA*=G7heduI3qL^4njMs(b?)*k7=%5wHEZ&UZ$vO&9|=Xm2NSW!Re`>uAsg4 z^JF#5uDs%29$S}3@fHPCYgLbhh<0UFar|u*l}LH&EZ&U;K%1ctg zDU2@83e?hClV-~LP%|TxtR%mC9hstAPPh+|nQlA5KU~JBo|6C>gt&F1SR0aj&O}!m z{s*p63k~4a>_i*`kCyLT)|MGep%Vw( z3vMKPO3@<{aQXPMQuvm=+fw1;Q=!u*wB%RIp05-L9FDN3GB zv!i}2R*1X+03ZNKL_t(%J0HRlqykVD1G~6A%lz@(ydSLej=TUlDyuS9+qlZ%xTtqb zf+pEo4FDc+u)JkE?`CXnBO=uw0PJIT_$qBp0bwaSEH+?;^Sho3sAb9oAaJ}i z?#zGeJICmP2VUS}ktj}r5s~54EvM8?v9N@Mal!`jaDAefGngbz!JF9S2W$X|*dkvP zFISobkS(8FCI)k1yx}zdO<9?n`M??m9IWZUp^mn-LX{Bm2Y^KdHjC(w{BBAX4CVyj zO16Wf3G<`P(O#QpH)-aGuha)n=f%3u7SS!6(f5maM`kg7N6149K#}2Pg@k zoJP4sSp}d9gQ5_f{N_=@W!-b;He-wn43=@VWl##Dh07Oc`9F_RleP7`L=&wBZDiQ4 zke?$pHb$5qaro70w<)z*QI=L3`HTW_F=genzFD?-Xod;^cL6+oeAxpSfUb6SoyHGL zdO$INud16hDgme*(LcD1z*CGbh{xIp%GUY$DXK575ddA8nKG5;g9oIbW$Rb)H-!=r z!moez>*TE(a;REwP$6&qem1i{!%=#|8FBLkfJ|`Mm$GBM47p8^N={FE&P$k7JwN!a zw-D+IR}@1z0AR~C4uDY3-@p3PziM$Ky7nE{(vkZfQ6HM{UIUnw%jXDI zNtf?fCIGy!{+KtQO<3;YF#ux~%0)hay0DgtT6gypevU=NSxZ01sN7E)jao_c$!q{}0GP4v zWPq`YMRQs2#TqTWMgdBM0AOYs&pWo-XQK@;q83PU#J!ca8l^FwiLQ>icHt>&`7Y%*}BDIZ$U6iD)ylIBK zN0MT~${U9@l`mfs-?M-JPm_>&Gyri8>z??FkE4%&Dmj>I*z#olm%ZwBG8pRzh-+Ba zFPLlC@^&o$ARTU-g!A@vI72eu!SK#bw)~4mATIV}a-?lEnv}5?b+C+Q!(1RX&K2bh zzE!DG&YV5KB4b0Gaj4BHGT~kCc9jLv_+z=j8uawR$49m*KwP$KJ1n3}nn7+4=lmOI z^@WHWc0C{dum`)Md*WX4d%xEcmm~rpt|)hUbDb6@2m4mp515MqTv4(No5n}1l24!~ zbyL~`mUXrS8X2Xgr9eic>%871gF-+vmQvuZt}?ABMpWGUe?ktJ8`9{yAv5M~~joSJs6?{pk_mTY{Qk{i)L1W4a2S%+E%q>pYqn_KDd8 zu=a&0@P`w#!Kr z9zqz`J|Ib%iHb}_l%%w18u=~PrtB4=H^$C0OxQb{7=Xzzc?T%Y%Mw;@m^Cghl;J5* zIFJeml9EAQ)q1odT3rC8^10sM6Ut*zK)dO3hE^kPoOdZpN;v^IV_9YVsQj)vF>hIS zj+4)7vrC0+?_sH=3G<`Pq~cu|T|e5W<=V3kW+ctCw% zC5x@O0L;Y-)J5@DF;IbVQ7<&}F z1rdM>3)uWHfx>zNDB888$3X=?4ob^Fy}5^r$z(I+vdRVE z%GiW|yQnPX)Xk@;yRt#^54u!Evo*3yA9^X>@$KM&)8?@yDqnC=X7~I`A>LG+70&@o zfn!iskuAl9HIm28?ZNvY`{lt)g0dXD>2_tE3%R9LDm$N>doUKD7J#`Jlm(DOv+94) z4O06dfO4eu96zPkC+ou2h(IMlU7(Rb0gp?9HUx-k=|@Xm{zj!ihwptj(&|Y+pfa}1 zB;}0)19`Gr9svD{vwr`?*zWZeL(6@Mv%;c{2ZrEC^PD<3MQg_55x`twZth6%rchWL zTU+!OtV!k=Slua1>otrmvt90;-}SBB$+T0qosvPCJTR$$BQuVjy!oU`2T&`_BANs| z2AJXfGl~LsJi^@1IgNpo(s~=x@LMx*kAHU=$N7^y@s2qAv?DX7s(ud6FXxLIngLWQX!@wg8@QhC(Hm*W5;kXFqQkF`d<(x8k{AkO6VjluwYX{%>KjRkEg z+ST`_JiwOPwCan%6s`K`Z+$-QIsn2D(SgZ4-E~IK$#R+Fx=g_(H}m8+_QC{!lDYVTLA8K^#z;RW1j7U$G-4>-})K7=^C3f zB#e&OrD~%MLw3qBqzk`M+q;R6=vSYntv~_D#qNbK{aw25+BYj;)>f@erSUYiI(o0P zS?f^QC}K0ceE#waUZ#Toe#1NHVNZR5^7F0r=qtRBgVLF_#5HCVM%z4yV!jz8Pgy^k z&d}wDr|5?#);!BkQG02Y2_UYIe()VCI9m?hO3pNR1sTkhWK8CKu3;XLXKBD0c=CJCW#K8;5ifqh zi)E7XzwgHPQM=t%c>ykyfNYx>^D=<+SYu;-3hR7x!yUueMeK)1&;sQ`nl?vZ^>75D zjGV>lR+FYn?su}E!bZJDN?JB74Mw?@O1OmpO`kZV-pRcduA3QG*5;yVlUghyqO#5Du51g5x@2qIxnin}D59U2ym)R`Ou2pDm(mzL#>7KkQQmPFRedDwS zeLctk)<6RKW=pS|+o=rQx_DM!8U$thPDd%^Oa7zqr&Czt`3hug4XGf0cUh0RF-bQ! z>F-t-w|olz29z@Ef5<5J7Or)FR6SNVYX%h5OI0zKBOILeEsaV`O>zy?G?tgzDSw<} z01`L@?4X@rmw>E(G*vb?6=^Q(kLd+7eu4}jB{ zDBYe%{QNJu6CAO>^spEPTQs>+9P09;!tao7&5zUA?puEPUK5vzI(ZTtG z3MEsQ)TI{igN|iFI0q}wq8^A-=M-I{nz2@dxH50%4Dkk|6b(<%z}c6HndqS(s@+7H z+QMy`I_BWyteG2YwVJm#Earo2!iIdoQKwRYnz(5`(qT}LFLNZZIed$zpP4^E3+W7< zShB2j#;{&lT%x%FtYCp{qY}S%U~61aV*KR2G=S#$|MP!Fk@cjVJaK{^{j^{2iRTCa zxJKcUfVq~d!QXtltZ~Wu1bUGITlMxT%l4K6Es7~gu~U2k%rqY>N}YMB3|3eC!7+VF znv@OxJI;=4Oqf+*=e!HOb2B^7ZiYW{{d*D@zY`!X7H0A6S(={)?M-A7r@ zJ}*}bSQDv>WKYG7K;99s*i%iio5DET(ixdZ%E5CcV!!8!`uR4Qs4_d$pi#v{rN!03 zl^5TMcf+}48Ay&U(V5l$_Q*-gaeY(XiM&b6*h_T7w3V#KsQ5^pF8@xI<0{*Z+e@<8 zvfWd{`@g|xe(9lSljV&H&4wt=k4D7p;}WNUV3*9DPJX1bX@(6q+hdeX55Liml0#Y` z3k5bg0A9>9iDDYlZpU+&ThjsZ%8J|X-SYV#F5T&)kHtrH|3lK~`MWsw954%_wXGIS zmE6Mv07p`RTx3&TPmzAWRig{s1u&QA0M5dPY{4I3E;s*GO4fF}$GA&9@jT8c{}A+W^3Y8|c|ZSu0~2*OTS6!Dey4i;GuSoKkc* z?b{T}RJBe0!PN&?q-gGfS;fW$s#0x~BF|Eqt2`)avx7x9xc1T-We?8;Zs4CeA0IkI zL*oGLW(^7%H&*rl061{5w!X$ZTMeTu63nWSp)|xw{g4%a8Fs->N+uRY%4&LZcsm4;9_}OXVwYIG>7gVegok0 zG5!15mYw>saK!!FmK*OV#s=l&?;r@-vI9q*{Jw47ox9oH~j6Ny*57J@j4)3FyqwEYZ;aql%I@1$W z{o!4dyF>$x7jIi6Wi75te*bsy!SAWYM>9S_K@19EcvZ@shO$C4HtmmZl0~)Np{xVI zzIjr&F%-jUMgb7{uy!7w(-yH>t9qWqE&NdR&(2Oz%~;e}aV6~S|um+DVzB8t@S zmLjU%wLfDYd2(aaJeyT)|pCk=X$OLM(x|B5*w!C#ifI)J9WW2zLuY6Ksmy+R{AQ1rFi4A!_9%(c0t z*L5I+%q%~%^!Dql+}hg(6zSJLe7$-$jiPY)xj=`S=E4{p#2=n1)A6$#%IeIIPHxeq zhfB0>tN_X;k^l}^A!FBDjusGrm^PcuGQ`Xebp)7;m4lgA(&tn$OKTMSKhrBi zdOr50kI~5=oTP;-7SxZ4aq`TaXB1eL*YsHTw2uaX;F8C%ew^*(v+jK_cuN4PtE>gS zyup=-aV$n@55R~phqQ9hR|dD~7>H=cCk~kE0o7wJhKt9H<}?YpJBAJ5v^2o z`H^1hn^J~$#6?b^bAoIogBX9hj}LD%1_;S40fyXn=S~aA^Igm#GTcusp78j`Mv`}o z@^eyvQzWx(OyoIj8;fwV#(Fz9A`k=$;CWc?dtC*yB`#PU;ZaKhZ`QVO2G*sbP_%dP z*{(PbSkon1QRi_iWp9aFI5+JQ&Cg=rXXuPR+gHum5ppqztCxe9%at@_T)5m(jDxv? zp{RVrrUgn01T<%XW$3Rc2QSGWCRzWghDbdWfGGsUBpJK>k=D0#1}P8wxm-|i9JA+k z@#3XuCelk&xnYsVw<^YIyq@P0I9`?G@$s2+x}T4zaD_g*lxNygxZK7_y}pJ0j?Re- z^wOpGLFg8H@d3M(3NI(%%dL;_BDU zO-&O(T!XsY#8eNE>zm*DFOOZd*`%ejz1G1z0^|AFs|L4%_khbTquGZ&$Yx0!by!an zgFz3)-6w*(v0Yn)<++mH3;1&kT0rH|cM|yx;+RL(Uc#sFd_4fJ6w$G>`n;UyP9|=j z7yj*yY0j1B8{Vd^zbBP9g+r=AU8+k@c>ZtEO&|T|Xbvt@ZP7Urr_Rp@FXBv+ak}8^ z3nZcMho-g7@Ajc7ZP~aVnUd0Wwh@FjRo3g2q_XVO?YF>w3v6Qx*psqdR9w1E-*0$O z{t5D(by?$zkk7Nm6+t7D;&mM*HF?&!g0bNtSmTOyq8&CH>)xI;HlJEs^*862^V>J) zB$2m&8qqlYXWrQy+azidK>6s3?uS!9v^)D#Bra_aRDnhK+Ba4s#g^xEk%S?M!{!fR z>%6QqjCL=^Z&$nQ#k#UgJ5lGID1+-W?6V(P`=O1JYgBxq${1x@l)O=Cqm;qsm9$*{ zl-=e)M6;zaTHfk!Aq6)0I1u$=5HxXCpB&;iqgFQSG*j+hNz}I#pmy#OkZU>~;l zQ-!k1W{sweg^Ajb76XMS(Oy#*^;kQjHIellv37c_+16>3nM^uC?7zHt+QL6)hyJX`xd~C0G&k1>9YI< zK-ZCbA5m3faF<vtS;g}Xr2?S)2;Kcld8qYCbu!H=l zKk6A~K}+&yVD0*%zIBuVZL+T_%Z{diQ@3a(as{m7LPMTt6WKSJjQcID=mD&Txv4PW z-!jg0_EXM%xb>FZ*<)t|0M}F@Pc<|5bUbClE_F6x%P86b3{^j)+X8vhrEzL2#YHIe z>%4`7QN}RRzY%9&{^jL-Dn;w62tqGEl-A z&k=f7k=n}NZnUTc@G*a#7wqj1<4AhRx57>FVUnc*flwnz}4TT{Rq7p!tcxlX&~S>;-*HfgHh z?_HwuB}u#f+BehlUaYNy;XUSey)d4qYE6$dHlJWmv{T(-^-hWL&=?jA5_fPxhK{m< zFMQERW-O&ZTu5(=P6KckT<(%XggG7a8s7EaeulQB7ItRB?>h4S+M|Ar=ux_S{`;|i z{TQvDSXCEuV81kbp}sVN(+7E$#v_lt24T6MC#D5**%ZZrxnfxCC*K2G09F;Fta6R# z(^RYbbNhBQk*#=~w2XiK@|O~kVhx!$bALSs@R*1p)>LL}&ZNdh@*&cmpTR#0fQG$- z!A~a@dB^GQKQ~3+J*zEJs|!BNB}FU-6?&9f{~7jj|A{3g_c;HT@vR@(5=pCjRRE8e zXQxBFd$HG|d4so*XCQ&L7wghZapnZe?{0@vXm-AjWANnI*@M9|d`V;bU-Xp!rlN#6 znvcQ($TIDmC{LG&i+Q+gJfHuh$I?4L`q|zLj+p=Nrd#Rp558Q>Akw8gh*ta|6Bp#s zcIm+UAukl?dBJZy!N}UfNM+?ZfvC4EH}@w!_7U{a&wkaNXvKc->))e$|AgC8g+;o% zL3i`)u1o`zj{To&OiYcXy)gi6tCgyECU4)?uB>o~F?7rTDOzG ze%ROA{aGVzw&L4TmM{H7R!e0cjNf3nMj>w$k1(mi;-h$lr8PQk{lqZ(we|k`!}L_x znL}6!3F1f50HfgH5Y=Prc^pJTMwLqDV9MgtTV!vHmF1iX*6Q|2rX~70Ue&Pg!&WUr zgM;KBBu}US+mNu=<+H22Q}XUqIjG;p#&CMQb{mZ{yp!!<%e|Xr4%e&L%^{vse zQSH#7x!%J+*|;;MJgpdoM;UMXH`UG1!PxBpx?D70qB|C&7i{WKS|~aNr5asmqf!mr z4lEA`xs>9#KFr&0%UoREPCRYpzq)nfxGh6IJ33`KoA>Hwg{I5y#h^_)NI1%385AgO zXY^R@=)_@s#N6qDBThJJO(pK*IjlCY(lhftborscf%w`R#=z>RF>HaN^qC#n=Xdy+x?pu*}5A4c9I@`w#o#hfBa)BS2kUeFatptOb`d)0$_wKnk3<$ZZxQ| z)TEpRq&OfzL@YxReo-{AM%J(M$~NyI!V)mEa@PvYoTopOq3$jx+n+%@HmJ;%&yM51 z3}q9Ha~N-wwLW9r1N7Xd*~%8;y6rBdT$6!a0EU}%O40K;;UMv&y4sqcQjj;XP^gyg zFaxIiOhI3IJgqH(t&#@_3sN{j00x*k^KT)QYmftAC05#E`7p-Wbj%&?#TLmB$9x$q zgE&~{kro^=hTB&An4kUR-<{(DItHMQ!CV}VCqTe(P`<)V@c@2J&Ib>1cO~)w03ZNK zL_t*PTz#3_WPNF!Caw2L@@Ic{dQuIC^>UFI3Uc06=h52t@1%|H7@dC~GsbZS$1_*R zc~*-s?#T9HAX08T=Ub@jb}8bESwHTXjmS+phbwh%r7tP0cgw3J8!d z=T+Zj;9vdpsscg*u#o~t&2}lGG%NabiC~e+wo-*Gu*!AK8?K=jzv#s_huARB%K(hQ zaTtEDeG55dNd`)i7$Y!W;a{iKCT*oErTkHawSgdta4B26HjFmnck^d{@&INsE{rAO z0g&f+GK`Lu{4h46-T+Q^+Z{@!$Mm!h#XmESFP~UZ>l?MK=>p^fC7zVZhj)#^mYB=f zuH1*-b1gmXIl

s+gg50p@~ilchARZ?Q^Zn6!vDR_&rlqS8!Vc+C<;s?wM~mN1^+ zV}GYDOO(Y_tn0p)&5Q-CKmGi(U*d87m-oI^`Tg~MTq$1Gphslm zz5s$}K3|vhzU!0U+^fM{ntiRImB7?`9P>=DR4>Hwu&{N~08#-mE99{j<+s6CC~I|K zHCt!Lr6&A(RT~|3+dWd!mWErkuGMkNg#yi%vxLh=)IKpy1Tfch*&M}my3`OKR(UVk z=yd6fQP@3Dj^E38m4gTGl2Df8G=LnjFINEFF;aE1YZ>SOD_t9F z6$L)WJBs=6x_4ct=1aW4`C?vK(R|VKU&JCf_pNe0@M}NwYaXrV`5B^*e(*XkxRai( zdYejl>&M+m0rtx}=UM<3y7sMdZQsuZFc-UQI!)4&3dfJ?nQ;w}qhd~^09|c!Aeau> zAHp&p1JvV+ZZzAJGm{n8sfqTGAxs&V1ppTV#X#DwHk{UCFt1>4bR5Tol(468GL^6v-!TN_(~AD5_~e0dmT!#+#)hmBQVsbs2N_e8?}+Y^tvG|}*ZIO-B1ljwgz zLq8N9zDqROYIr>IX1&0D!{hCF{4<-N^hC-6o1_y2IJ4um4We7twNhJ~!Ef|fZ^$WF zuo}=S1QQ$p;_BB;E2}MTesR12;u?kf#~VH}6q{dt+~XYiMO;7TociegA;UO$v-TP&bmFR zuv#SD>}2mkU8cj2o0|F7dpm8E;YzJd#c^M0U|8Pv!JW;o*_L-2`l(Q^ivoF7>cby@ z*Bc$m=iKE(5?H)~GFq66vx*gGkqtnvC@@#YQS{h|ewtP{O_`LVfUwGn_-4CHu*%hs zOG0iBXj0j&pR#s>762GNC5NRVC`I_no>~HFMWtVv#!KTQfnA&*)>vF_>xM<15`78Xf7Fjt@^I-o#YBHjg_ zP``OMAqWpjsY|QG)-VKX<-PQwm(t>o7VYTJ@cbq7ebIvv1BhIpkI;ffkRZ#m`-BAg ztlxgRr!)Z1Qmes_tUW{~0`Ga_j9v&84hzs>ScW0uUEnlX&wg1WF9UCo*XG4m*YMw8~;YIK*wdu{21q@0|1L}qh9*aB9-Rc^NdR_)EU1q z-V0~Dr&0l+l`L2Kr|x|r`FDBClz4xxT2*V3t=TeR!H+)1$}RbJlW3wu<8x(duWwPS z-KO*yQ8SxUz`Od=ng_IjUP}3}54>d1A|%Mpl&Q(>*6mQc)1@?Pe#VQKn1X>GJk2mj zO<4pR8&g)o(wQ-mAg9BJ4-*cBF1qL*F4Pca^BHgclDB~~AIQQ$F5Zt|ZzAVV z#A^#eUC$B~=XdoFPLt1$Q4s11MIlcAgIB$ruKDvfa!}95+-QER=L4vU9l)hwj>n>~ z^!NV7E9u#P^m;GZRTqp;zUwMbSEuD)b&Gd|*Ee$)%)w-oM_xOAmfEQ?!f!j4NfV5( zxttuw>~!ukc6?YkqS;gy7e9{kB@g4S<2SadG*QwDV4U~7*)rX=ycx(?tpixZ6oDi! z;H7#VFR5>jWTC)ZO~0Qov&TI9CG>d%=Hj@1o)~MwTvPPRXFl(x^#1GLLX$=bFQXLP zj1{kLXjcfVMWq5e-oH=0{mpcEjur1@ZNnt$KOSH(SZ;F-gV{_*1GxZ3ZUShfd(2oG z%5J({(%B4U45$mds<1LhM6lq1-=rV6RcjF}QEA{-hq|WeEA8)!xV*k0{0(XNJn3>4X%0@J3`)*Lp9jihP>w_3q%#YD1&Pij6 z87dh{&#-_vO2_Ls%%S}_%n>zXy`i(ZrL1uQ%!M@)^pXMQVwTzTSdRiWW;dpdDi@0O zQrRBs^{6!+^HS?<4xlVYyWRHP+vu|UUnZyq^Ddq8FYsXwywBt?E})2Ys!?L8XyM2L z@qWVwQOD=*r8ux~fXvSv{Zio%)3jolK`~pLimCl1UCd;Dc5b%J8$@e#VtJex9@r@ zvoxGFt+JA5>XU8z^YWdG{IR@CbU{IbxE$<1|Lxlyv3nzGkiNASBoEtPC6z7iTtxCQ zKfR1ner#oP0vo+iZ3I6ZVc*LOik{pY0q%I0!b)K}_p{Qdd1sq$ir&~pqe^pA{`q|` zg^pR?&~U%Xs=mR${rw+NSynhC<2S$cUm+G{zBp#S%mzbwictPKSN;SFE2 z-g?I!f^O%%J*QaacvecR-)n2t$;}fWG?(~TYfVXl8vfu;^BqieS7to|^z|GC;OqpJV7`Ib5=egPnti|K4>jFz{0j=ut=^>&N$=~z~QJfjZSA98K}MR98@ zr&a3VieyZ)9Z&n9&n}}z6flQ4hjyb@&b_T)esn`c}Yw>6@&TgzJn5Rq+pr94-rwbN@JfFh1xWI7tv zyyy%70ll+5#E-DKyh-KRvVRk!C`4MN5Ydrd1$Zz&FaQctp_OG}<#T2jo~D<@at$h`FFL(>XKgWrywS1w0b&wc;~0O7FJC5w&oH?nCsoS(>3 zeWSnIMLBQOlYt^pG;wK#Dc5GBORY2OdjIv1b{QFJiq`Jl%v2}Mp#&=@)VxgN>)l+ zk}@R9sucTW`G`aLvJM_EV}XbBc~7}CG~=CoU)UlK^X7aEa;sPTcS5!cgRNxUp!Cg- zX;)4J#|j2)F&GQ&0jJspKSGKW*p2zDpVlARp(w|4GboQ~@Wk({p7?!?LOrZ^0eC9` zZY-C~i#A4osTF(Q1Fm1I+frjC#+#Y*gNgz!z$?Im7{9r1$nw;0mLe*2S~Ldm%UGH= zG8yasTb-jgo+Syd0ib|E0%*fD#_&{%(xsdN!>N96erH(z^5zb->lo44REg?mb(^wG zVe1P{x1XmSU{afAH^KlA;rCVm?oNl&xr}=K@tZRsP`;NeBfv)DjHqN3?}fZ9wxe(=S@1` zm<-%k+nqMS+6f!4O1e%Q&qK+w>sjN1wYlwZ)q2NR2_q^O{kbq{S*=b=fph`DvYSYC znKY^S0{mEUe6p0K^(|k?wAJaVv{Y)0&|bE~MF>xL`fsb~|HIyQfLU@>=bk$^-?@`_ zb~Y=masVWf0Apl>p9y+4Ne|f|M3Mmkeh+~WIf`H-Y=K0y1qdF(2+Si%CR-pO5D1KN zSV^nho!!})-HCT@zH{IASM}*W-M7eQ)I)pe_@s?UGU*Z<{mXSR8d zcLzKsZ$D$ZnfBSMKTEv>y=wi2HBdAWr3+qoftfFV+cItv7?B@*?|XFqi(lwW?&|#~ zKKE66# zkktuioZ!h9Ye2bo^(0)O8E(e2nibUv-Wu69LP*KpQvtSSH$dKRg zy!t?$;TtuV3f5enOk2Q7xBVN6$o_~Yt@U%hp!*5^&mb4;Gzpr7!cR=oONz$&1QmGGUf{6I_D(2r@)uK;9ON`{I2`yrxD$DN|jKZ+Z7 zP(9?ios-8(yFdNUo^Fa%72f5S)=2xz#x)ta;nQDivP5|DH(mB#nwsvwx;uQ8O;ZjJ z4$Issg6ZvbYEwVp4 z)viwQk+O9&z7pjPD--CfFF+mcrJ>#=%`93UTHM$}87Y_d|JXD=U!)+fT!l)V(sAc8 zn!UyieMvgxP^5Q)yTSmwy5(uWE^YgFn}#wpVY7hm&l8@coT1|5amz`&((V`Yb?VLd zj|s@kfG(%}6=6NlnRoQY4DFtj>d#IJ?|WDQ2GDLf1AagF9eD+}XYWNDCcUog~0}jmjljFeV0aq_vOzU<<84maWEI)W79g6r)Fc;FD;0ES_D+2^% z8a!Vu86FF`tdkDPqG@FbQ~3L9H)H-+a<$b#wI7PHN~k25x|W zWn&P8WW@YOj~z9WAHMN!%I+8?w{{6Hr#ICus<@gC)IPJgIkO=&J=zskM?Fj6W{Y(6&aEWHDkJZRU|1)3$&$-oSjq&0H zj+xKM5Q9OPcorPu=~$rbOv_jFEB7;}@wH$8FVchd5AmFjs{(-mIA$ov;5oQ?&w?jF z1YG^RGs5E@gPmkO9GBkB0O~@0P~w8;L^nmehzr1km5Epp&24Ptih4X@zG4uXk^x@N zj5=8+T+QF2G0y^+=4^-bAPK-#sy}7+o8*OYgtpAyvxjJ~Pn)(k2vCpmUW9vvQ_~gh zzjwb<%E!l3cwyn-oc8hVuSfM;7S{jk*^IIu4FyfS!)oz_0_DI9CIaR##Up}e-KfaF zG`C2}5v_2I1Fpi;L0{qFB{2U+0l+urgv!XLsr-}g@X%;!H7SjI-sxGk_{v+h>|Swn)o816dN#zxMa zNvSR^k<)Xo_{j;9+EW#hc<%3E3+7~}dP&`4{ zJlsnM#QOkg`9hsCY3D4U>GA)Z0eoc(?tJ~97r)UWTBcZp8$v`czvxZ$?f?6^hBcf` z6mFJrWzSYj!_%PCyArCKE{U(>>4HNao&MJy5Rp`m{L zew&#uQ!J_<2#lqaDq6U7+?tcYlRa|9;{aRfW0^!WN{LLAdXrH)VC>}=3s8#lKQocC z`o#fSLxA#`n>XveRE!pi00R@jVHiBH*rm3(V~qyzmwM--x%@0F5?gHhY1?W4-TMh^ zt)cB2xIBL6xLPkMuU_@M@^bpEpMFd6!XD`39}fozdG5LA(!2p?SXfw~t)txmQT_7v zJ=D7lmaA+X7vg5y_M_;RzxB859)gV``QpES$0YsWd)`J@fBq`-em$~0Jy0swDVYfP zK`oCcp=#N2)KT=uyB`Qe8$|S#Z(2&4?|bJz&=)>?CC%kp_g)4t7l(Xlb*@P@pvxc3 z#cf>fE5KYjgm?*r5Dq|{V$S>QG6ai85<|57LSC)Q6TSAnSD&7wQAlk`@8V_y zV?!X#%j8%`kMsMWv3)3{+GmlN4g2MtN7i$X7Q}3cDc5pEBuG)!StlA$^Szd-7r;eh zaKvLUw}hboUr?Y>Eh!8&nPaN}u&5E#cr))Pm5iI;+VtkFZk{862aiMS1+7xdjHt4t z4L&(DVMI!XY*u@_`?I?I{ldjH_f*lDS0Ct51bNR^^WXT)eqNH-IA1|*wc#`r0A$gVQbb62%FIEC{)(ej< zM>+uH2C!Qzp<0icA2!^|$6S6@)z)=S+^T3uD_3je=as9WK*$8}^$OPUyry6U2rqh> z4j>DZ{Uta?=C=}e)}I~9Qf|fqbU5>!_pQ{4G5}0*U{5jt64=39`V#x%D1zUI zA5hDMt#=Z@E%*rM0#x=cq;uGkGp>+T0+Qr!nE5z?I!H%326Hi;yfQdSrm1)jhHCSJ zRVqUDjanWIWPi#!0Va}ps2e~nN#m3adAwMK(lrN+Kl~wJe7N-o)5@y`2SpS;d+3q? zTLwHi<&->RoI!kSmD>sEf@Nm5$P7>o1Gyv*uQ=MoUcVGgozy)P%>nQMZ_G{T2PZ%c z<6QQu;w3aNY*RBIvPDZ3N+zO|ryj~J zVX~}H9LgHm3{fr*cP~zM!S{855lDG_DIS`q)COzp1s7iV6uDf^{4Mjm0IAhHD7?yf zwFKVe7~E*mxct1Q$2$YyGV2hL%iebx;SXVWi&SC|L@qLkTr=7Ojh=w8m zi6@*GP;%{NPdSWi-7hU+0mics}U^E(|TCK~6EZq>i13beRvg$xJfh_*!r5DgupZnK9x>gC^ zciBG@{=Wac@6k(M)LD;vmFkf{lWe75`ZFoYnVxBaCf!zQXs3*p2P?&uCYfv%j4WV% z4v>}`Xbgr;c)u&lbvv$M5W(y0cI9A$H9>rw9=hD^X6>^uCpMF!Pol+@iR(1?cLaJermJ48^H0enog7*HUSbVuleYoZ_VtmiMnIfESsm zXhW|_Pqdh{&X%VRJWMy=-MVM0v7xN0kBv;A%B)cr#F)!zFf)KUONPfsq`&l{Hwo$d zqcs>NGrZKJY|-!p$KW3>U9MPrDtrUwZomw;dBcE`6KP-kNWhF~001BWNklFZdfOfcZVyupCaQIS>}(B5(I+gNlMWWgNI<;I5k%(vFQDQ(ybnV=XfSO9SBNx7X0 zG{q9vNu4Y5dxNjY9;yffr(B^?+l=A4h}rNpHSfJ=5G-gR#95T)DNAuJeD%(==jeBn zI+ry8+{~l#n(gg14VEBxcG2!RG;gkBbXoWF(Dqjohvo)|LLN_6%X3t%1@Fs8HZ~eE z?9F5;KWll}YU~lB@`5q8+%k!1>hNKjDT(poL5Jk2S?imQ51BGVbJXZ4-8V7eN7hyz z09-3MWP1DP<6qMTao%#io}b-D7NA>tlv}OAZ@`)M*k^u({`OTX2S8&p<$Yv zomrmB+NkAu&-n8;O0WE)>12woz5Gfg==qnt;fM+RsrTq}=p!b;qp;%nVr#~wABA1j z(I!vKcJG^AM+IGHwl;dez6f6%Z8}n|aP3Ri#848pUNRK>HAhq~2Nup*Cp7bP znxSo7qOO))0Zm{LZoN(KP31XAD{XJLd@FSxi88CLoy#Tfa@B)p4kNHDH7sX8tkgb$ zT;1r0fdR__jBLACU2}8(XLyna$EyK=5NBO6H&6*PgCmld108(SrXkw3Klnf<=_m)D z{SJ>5Ga(F@R|SF_N<%9>0O;lPS;db1fFC)SGTZ zHA#S%bHK_r6w4LL7xl-V;r`_X4gw?xuv{x4U#wFmWgpA(5w2D1Gg8rBIX>Z4oJS`@ zS&svhqm@EIKpCcYyTZCVJf;K%_67wyC=E*RiyP1=h@Z@dM;r!o$#lf?^LfhjXEbm^ zv=d%p@DE<8pt#sO*lU8j;MJpScu8>bYvmpQGY$+Q;(O;600#yw03gDik(e%1EKxoM zg<&z)(Jpbzw6?3rm(PqrW*7?q0s-t7%8L>BiT;#zJ#gba=I!x+da@Zu1eSoOc2B7^ z_9%rbyiI8lBih4&A@6~E511alMvoB+tD-$%Hg?>Y*#{H%PN+DZAp=TK2gjA%j`B7k zU2YbptOX{3BM1@WgM7^JhT{ZBxv*(S0uTk>(D1REKVQk;1`04xr=hS&z;8-|o;YjI z9pMxbww}Dz26p5Rx>7FY>3J37P>yp2a4`xg?@>k^V-0k}+dKdc9u;w$cAUP0061b# zYhieCStsk^%`Agx1QQua7(Y-tgMu@DBNaoD0-m`T;KTeOn_qAPrMZEpBnXN5<>&Or z10K(E{sj;Ga|3iSf98W{i@BG9T%0bi65z-0n(=$a70JNpfXyo$%Y#h*ZF|j217rG~ z;U*{7Bl~FlK3%7jjpO|r`WpaT47B3s!L+#IS+j>TfEwda64|Cblt{YzkhkUm0AoFK zIZ7v@lsImSS*+TtJ*U-6MPu&PlVlm*wuq=NQl|v~xnwXvTs#*eE7h0QfDdErMWQ`a zuPrH$DO@yOtx|Ll)^;PrOP|HbIc;4Rhjl`kiOZ~}>!$6Nhf%CkB$$i6a4l79CNLT_ zoQ`)m0D}zXiWtkvx~11d(+8IKV-UPy-F(ZPmSVlOk2beRw7Y_)Je@wS|I7NSWXnCLS#B7Ofx%n6Lm(SGJnH|4! zvq@NQ_N8OAV0bxUh4v^c4L3O^Or{--xOu?lw(wO}r;Zcqbz);GP#9G6zRQ@D<-jWz zwVriEqZAx#PV^hzk1DN3ulPHy`0=%?KP|h)7RP&9d+-u# zScBrRFM73#{q8s4p^5t^h_1NYR@Ql=)-Vf2wQfS*;8qKe?DVMF4A|OP58uE2UGFCR z^`{av+;8nYIX~!n-+1!}c0oKlmETPOms7@P{pIrr_5J3So9HFa|4V1~`uz&)fkLrF zX|+%9o?tT$rQGh-MD)CK&!t?cOgH`F7xd!4{vX|}YMpnBJpj*K@ZiV+?^oQ0(D&vd zN94+D_EsxD>G3D2bG|+I8)qG2ks{9?y!dZDYO9$gjk1`DA_6a6&3NTHbnp;u7~3E? zSW&E3u-+TrJx*JXwqyVWz*+2-Yu6pS)cK{{4_jQ0OpMoBvUYiHC4p*k-zMo-Lj3ld zZl}+F>9h2OYrfE&IM&aMdW5IfM8s)otvR;crUszv^I!fveeO%2Q&rhKd5AX2^LpN+ zp+MFE$5xbGShAFf;O)>PGb7F#yzehK_ZenpWAR3zbb~=xm2uX|F2U0dcw2 z)Acm3hJ>lOow8y08#FCdV-(7yFo(Et(BBBu_gjybx;#EeXVSLyz*MfNyq%{rDJm6f zv{)$FygjEAaat6=QSauu$>vSnOirYy^?f%$Tz=tMFF4mPTjia4%rOeck7nWOYHE?15*cSq|f~u>{q*JATw1$ZlLSZebOD{MV(bhR)qB)5XAJPm-Z}?;~#c&a`IrMyIEn`$oBa>}Y3|jrXFtx$?YyLDfiY zOQ}+fu`QE$S=&~Z~<3ZbCvDAUkbt^nVlrc%nNJGtSC-nAO`iuU| zx+sKy#U0OO!#JLdS4mU-biJKzOD44;TAAKVd0Eaa-br3={MS<2qp`2hW*C9>3t{>t zh(?0Nf@u9@@yp|OgyA2C#;>kU=B*@II@zuuP*y8-HKJ@>xb&raXra*DqRNF$V3GuN zN#e=b0`;aWB`cYScyB5}E5#};~Kg@MiP9|&xx?LG_`B*5Sx23@eCXP6fU6#Jb@3;<%u!1)ZCni-!l z!B_xtsUW@zum>5*gX2&vfl@sKHTK-D6-0oU-Ef))XfPlJA8G-h0g$Fs0iI?Un8pAR zfPK=%lJa=fQ_0gpzG4BB;0@w<@f;(hKv~m!?S}-hc+3Q=A&zID08obDd+*#!fV1(l z;`T%nQ9AsHi`OwCf)}6Z2Q4du_>d@Y!ptJ@I{V0B8c=|q&dn`Q;+KKJB?=%H?J)rW zpb4Y!BYC;S0rql&xyJu!0jZ>Z`uxL_CX1mHHmf)TSXfSzz$4-Y-0~ppSaNzGtvq^l ziXr+PbAnX-fkF_2Y&Q5dg0uT1Zo_5_A;|0+gq|3Uve-lN*bpgNEx zvU*Lx3Lp%mN@n!N7xRPylug?Ysd!ET54SnYO$4N&9LoyNSx~5kJkGJ@Ro*KdpeY7( zrTer}J7{^HgTfVnO$eZq@_X@==|fxfp&s)?9(&-ls6?>d*6%gEe|k;tr8=!JHAe|Uk*YkKqort+^a>qyL9W-xk8x+gthl(_&($17c27HzVZ2Higk^aodYMV z?p1YRn+#*}h2j#WJ-k{)V|uS#WAvo)kl}qQiS?&BYr2cipf(trksrt;5R1pcps_DU znJps#x58R>-ZX?T*c+!A19*=-H$9V?e3^za`dxouCQtC#g#fHsvAjh68Am6m-0=UQ zJ1P~TTCGmNaRJQd764pBoxrpKycu=wbqsG^^M$g0(L{(2-hYtb9oR4MI|^&K(n5*i zTjPX%65h)_ksg{mFlWB^4?J+da~&?B9prIquF&}IW#0Vz<$LFq-_Oo;z7MLK z>2QU2FlXqAddmjdAU!t*j5_)9y#$zYTG%VE@4e{#p37w)yPPh1-I1~U{j{e)oeoSF zX!EeOfADI`>qp7aq7ydZJc4XbU0fHgC!BeLx@`bo>Ftmt^^MEl zaRV=-WCbs7BS>Hir}7W3@JHjhUTq(<4nJ0yrd#5 z_sYG98;Hxvb2Z(+_QKZ^{?7WdvsRPXEz5e*%P%7QopnyQ_VT$`%N6<*wDGnbmDp~4 zI1nA&zfXORu$Qpkfq_|MZmy1PH853j5>vi8#U(#xr5u$8gKgoAl zyr)ibHM}H@mZFWxxc9gIHwF>?CTOXt!e)9t=nSa}A4z1hQwRb%-Lf8Mw`qn7;Ii?Ib>L`W4#9+tv$f++!fRQCIs@*)0AzI><%5W>qJSqM|)iMlk5wx zbV<{#_?$SKGVAaWXmG$fzXH7vsmX42MOIFWypA8>s6^_z@l&u#Zo47M=b?9GPqg3J zv#~#r=PND@^}1 z{{$LKELS~^HLs^|53IIluu|n^xnk8?m7HF=xU>DPk4)z1sEz(sr;ZxU&?8g+?w$v; z37XB7{i+Jgvn+RM#V4-<0DJ*_!l5GKoVJ#(n}#x!FZmxVSF4QxDR|mi3t=%|r{0YH z09LlkR2YznSfhEZ3I*NvjeWFtvT?B_NIawPG?wa;hYEnX+yc_a4|~ZQp-w;Z@~&}8 z?%ZaIGCwu107=RVS6zd9kU6wvh@^)hvw#tS(uC&%)JaT4@bHAdWtJv zpbG|E@D=m`vG8-nHLN#2_EIP7lw%q53M-%afw>sK!(OEkQ`8WZOoX7GoFbnfF z6!N?R1E>0i`v}V7XosBJAt%3!;4KM3wx9WOKjHrLQ%~n)0=S0*#uUaFyd25Ezay3f zd3fgR*^EJ9_xatnw%KiXjVZLC+L5%TOB5Hy#_;&&tj0Xkw$|Ten#cve~qyTXNSqx>- zT4jl554u0Ym;yQ#Slh9Ay4?;=uQu7Ccg zWoyo7uDpVh9@9^`N`$50NPn6R8=z_yjOR$D5N$mY&SqS#?H*t*-WhE%KmiA5V4y&c zgFc6+aeT02FxOx% zn^(S`;FSy8jbtoh_6_O<@C#rr%m)hORj(>OC8cPs&HH1G52FfxVf?OfWpqLrs+iXA z90pgbwN4Ka3|!z{hxea+5Bu?LCU5uTB263^rzbx~E8#oK{^ED{(AZ|n!=*F7nfsg% z$fy}UHKFvl=TPI>O*6bYMT>sSTqB6uP$JVv$nWlxaXo%E0^AhwgsJ z^42T~IuPG+!VWUMa&>@Tr&(-2ZaeLLaBrvCuJh|q58U>%+Zw@KF6-Hb>LiVfHxRC@ zgxh|88=djAGhBt@-zzekJ!@^YtXr4;?L}{LmCG&Btvu*dx>_C^6oODk>r}+X2A=6N zJ#@oQe(uJ;=`{Y%bZE}qkd$~;3=-=Kw8w865bL$P^d zw~8^GNm#NW&%jSB`Q$h4Y+9cS^Y<*ARTv@=_doKaw@mb>{1%=R-&soKsxGgX)G40O z+|+RoGnNk|LKO4NB#N73Ll>&UW3~wG8YdO3T8id{;#JcO-1dD70EbmJfXAX4nn zJMOqopDTzxo}EJ9egC@u=a%f6R-Ctf_pStOChj?G83A--^~P6SMCUy9X>M6F)Ab%$?}6_2z|xY0)OVq-fHhGUYV>58 zie=4xfhUp3DAp{aG9r1!MqBIZ)=H^PFuwUVbckdbv2JQL!vK+yWaTt)P@o%-wh)%gk)}dU)P{eGdV24f=onMvn4U&CJbt zt-At(oK%XJVpgXTzEcD;woZLwO&Yw^ATGNE4b?dk9JltuEB#J^xNv5$GF!pt7(v~5 zBtcwZWejS=k;q>z*_W%HBhiOmb*`i~FQ+WaS(jJeHyOoTd^33MQLWiI&^P^Z>Ta@1beNXLNOo((#j;|Cy|f^1IXgS>UNOF ztC*or?sfLOSg2C3hqdnjF}j|8V0w`@4>vAsy#QWa7pTn&rgJ444p8uSt0ETD7T4YK zI+fNxs;yJ7B0hj0PGHXAJ%=gTXACIEx{`qr&C0WIc!4CCE1gY~0&_X|LjjqUv74a^*k%? zsFxm0t3PA|)P*@G+v@|mD;KFoS>?5oJwF1h1ut0$67X59)Ck}Vgbk-`r~E?`S{Wa8 zowAk2@7`zR>PtzvFUPpD2Y6nAGETIjt?VPWatH<=A`}_w*B<9!!KYXzc;iB-C*o9C zC{nslO8`ZYg@bd{ziB{u__C{O*y~%#cZ+k2#9%JSDXsiRU|A`^&3A ze8S+VmDKjxgL5=6D(5J@NOCNdh{WMMcwGo07%(;|N)p!BZj0 zmxXN4RDpJk8XjRiYQ!30B?N%DSnrP=Pv?t8g0i@qH85A1Bk+!+_s6jw-L7mF-mts@ zFuVpB8_E!tVY|i`s8m@}f7wi&B*>4!T=966;tc4k)M;ixzw35x?IQqO5u^ocC`=9+ zo;7E3Wg6;>(aeH=pRs501l(W|5x`vRjq5qDwG=FW--MSmtQ(?{2*nJZ&foKSFS|(9 zbsqcpX9%2C>W zyY<7ws}wkvDph*R zrSI+-h^u`m8#$~L5Eo09&Gym0!v)$lVkw+*-uiWQ_dq()Lxr+^1-DW_T->u5e*kpt z81-IDGwo`+V$F!a?F_?m{?p4y zh!@MXm_GjSIBh+~+P_NU6hZCXegAGxlAWjRROdf_G@gZ*F+&+JS;qR>sS04Olg>KH z1bs+e>0awS>(wSN15c9AN{Zip)9rNjbIw*Gl?v85klb_k_FHG=@D9&`&+%|C`vzyl z93)Svw^B*MSR6u~>QQ}uf%~yO?autAA%R@~`JHbO17Fe%{&9e0HVyZgIx`0pSV&6; z<9=EKqW=sD;(F>SJLu-S_4&Bw()hn~t#6~i_eWC^i)$yk@OA&&M&@<%gKuAFWz{X^ zDYJnFODTh-GP3E`AKq&5@rk|QX{XSC+;q1O#d_9q^Z;YAu(fu6!uC5o80yQ=+=2xL zDObvrG7xF-bnO=EJx=pbax}S>2$AN&;=q9eG&-^&1Otm?{_qUtig_CG;Av6%$8Ng$ zcm4!8(;aILJao*N?!ef+W{j!tw`rYq`SU#^!!^&C2z=Z~ma!B5RHw-nlvr=2{1Ft+`>c<{C6HyY_V% zSL#FCvbDK2OEbo_VzC&(5kc5cVLz~9ttO%lHgzhNj6J9~k=#bomeC#NKGMd_QJ!yW z{DF%TY=!iV&eH!6XE)mFb0Ig9v;m6Qobe4t@E1|<;(j?n3_|7yk@<vW9Y_$HBDoqpN-_~4KQI@2z49AteuEqRgGMJZo& zw~*iMu1mz~RIa)|$Dq3NMOY*BA0t6L-15;^USrFRzT0VjAON?zo!+jd$L(HB7_cQj zz=F@>%%Wn)`OJInK=T&o77uG);K5!~pd63COua^B7q_uopW9V>%0j*q{NPrmowUqA zhR{E(EC~fj0M-!tH}spzqqaIQj61m6UW~=oe1(Nh3FhMTk&`V29;8heAUV$GD}D$3yWljpD?Dj2n9D7ny#~SC zl?m`M2=_TaC2r-NY0{e>=RNnYpG!C0d=uZ=u5+fv9b2+_1K zFlNvnm*so*vc>7`UfFAt7oW49b{6f~vqu4v02*OABz=A%Pno_9Ngx+MWw-w1R@yYS zNs_Agj?;HEq%mIwKDv9nA>UbM&z)MqWbD{6MT_~$3EV~7oL8HiHJkji;1|?M)G z2k_R0!1JX9F0Zt{z;7>`N>Do4Ls>)agEIw+$KY+jddaEfggKrg>ix&LpZ?@$sM7}s z%h69Pzjs~16eznAL0sIXJyUr)VXFk|agP7hZ;$3*vh`djis4%qyq&=_lnxOp!lJyP z0A>NC{MU*o%~Re`Hf4gjil)A({vfzms!?yU^ZPbuF96KNATMX$a@_Ys0B~Ef0W@IP z<}3ep6#;t&!wcF=PlA}%O|Id-lvd`85W%{CR4Js6(CE?r-f*$LmFp1zlV=Xh(2g^9 zQ2$uJG6;Ztyi>6T#(TP(;YBZbDSh+nUsY8g{)RVS+Rf@(=3OY)X{CW^WMkGUmFwTkw(A~|z zl=Ey;f@6~DBmvMBHn3r(fm!PeHzC}xI`_-Wx0tui9NAb5@?^gkgr`>Ce}P8Encqsj z-h11pxybhMz?%qlMTy zh^vK8TQ9QS1M5BD+5@cX;+ols#5UKyK_YaAeRsG9wIyu+%9bunD^_R=mQyT`y25zl zl07W=Oc`$__w!Yp57L%t8b`HF84P@ag*1>yxuWm*Kyi>AviVwP?$ezsI`o*Q9 z8*e_c#xGjcU1+tOTemcm)~R|s#V1JiwN_71dy&6fZFZBTTXlDfuUi{}(!$6Rh9;<< zm6+d3yJE4Z#&V4tKmcx7xniG@p-5G!+SA-XTg;F79Ji^T9@wuB89B{)?a#z$KJRZ? zVX;`F-ju(B)nc(sy@rC9vktz8f;$x5yB(^vC4$9jXOPN}_TF?-!r?)MQVFL;vPQag zQil6eG(B&97;T4FD`mqB+G?$_r{Em|AqZ&JicITe>^)E@)hV51MM_6ru}o=?-`v6> zJK|W5edYr255PUnz+kIhqou-P&~c5$*X3lv_^Pq6@e` zPNl5v2AHweLJE`tU`u4cLVUv;jq=#zBnA+#P^R7k8njmzUb$RIRT7j+>U|mBd)aVO z8+L3UcyF@>be~6?n2tSP@rTI#T%Pdf2EJi-=uf4v&rCRj?*py?E=sRld{_k_Ni*TV zecHp9ETh0tbs_+}WH{sj&;q~&AgyM@!j%1Y>@3d!7No-ySG$3gg_tjcVchus;Qwh$ zd(xAP9}r0LkRUE7Fdg3K7*m26JY^jst0BtrBcmNJTn&s}5^lTcHkAq>m8{oEiuTFi z*QcE4_Pg)`AEC^%U;J$P{qKI?0FFbwc$N%w;okt#+0z!w&i7JQ8J~Q3k^ts%^K2*S zI6kyhd$$9B_7=x^`I$Urh5*n>nZQZT!CW^y)ZM=ti_8+3iQDbKRF;9TG_W%B2N{`up|C}H8+E=a6oB^6ZnMgK6b&QvJ z0C6#H^joEOFhd1nt(fXfs{Tm~^(rtI%EfCn<(;Wkk5GPUjxwVI$|D!NP_6cG#_4C! z{ktDf&3N61{@HBK)gQT(>a?U3AURPgU2+3NcsLMzo8EwM6@frA9# z1)voK0ABQ!XrWMB(I74*C=vbgclXfKAAhpC#Xc1wZfrBpxlnsoLfXw={fx@vHmaLt z`fsFP18V1TMJhSY9Uy|9l^TU%BZpBV(x1^l?NW6qXnAO3mMb)#N7O1+iW)xxcx~c< z_u7Sj_a?gb>MN;itgjOBhzZo1D^$(-0q;Hra6#Fe*MapVQXUV%Q!1h39RywoH-F_y zdg{xp=fm}fx#BtVnFKs@>9Ywt`0XVxe=S{q-PJUgE1AH71w(0^y}bbBRg2VUAe*Ge zzTj2#$8TS)KeE(`{_N!!)6c$q6;14#APQJ!;vI)~A$#1~a`G0n7EpVLk*or9!ILPA zRA8;&Z3XO)fAVuCkPGpZ8dfrhhWqTdckH4koZhI=55qPK`GA4JOxCX}vIkbf_`CJ? z`{{{ioX}MNwXiL2ihn1G`%*Eo=4D}=p_7%Y5MEBhPhMhe-MN+a+`mT|%P21D{YKnF z^&eoa2k&^0;NjQ;f_rfmXLAOL+Zo&bhxU6jFml)cgd{xmNvE3oJ*3OCBBp!z-iJA= zuX;J4;$hF#f%|T|@6iS3 zy5SZ&^PDpSd(!Q9=v&Cxw>oKbvIC$3Z5t1IXL;9qXIX2Z5*ozy+`l-- z6zv;dxth*<*(+T|Kw_>?QnbVU?1{Nf73_^z5K(fmh&`=KhM;ke)+w4u8zt+sA%lYg z-C(_!(LCX;3;}lw`4WW(aXrJV_WR%X3O(<Tz;wn9{n!*vFFFrY}M?(rcHZ#GVd};_$L9 zLn3Jz(~{}oWd2ufb> zxkqykjPGmjcL1$GQop*Y`Y!ykZB;d^Rbh`*cXY1a&T(qB56w+i%M7f7yl1ykj%;iN z^ln=n(Bm}v;l*vWH`J?LA<_p2+SBa`QN@}jG0)f5bSt~pxJP6E9f>v{i8{MCYWz8` zwzhUsUe+t~@1f>%Sv9Zul0wb^#K-=fxWGC3m}n&2N|Oqpkz3> zdC&$BI`r@%Esk+M%wQ8KqhDMC%)ICTfOEDFX#h!0?w(Y|VEvXqWW%c&6dqYq6(3Jo zSro)l33C6v`zcl~)5gafZB~Eyjz`QmBE9GXLsQl%2YcB99V>=RJ*-`Lqiq02Fz^ZT z9(?d1MF#r_iYA**ZS?eGs~8^+6Z(VVv5!Aid*(5oMecBp4(_r*cJO*4gYqI}lwC9c zIT7JmO+80Z09OC;$Fd@8>nWB88z_+?z$=$hwv7;t?bP0d4nA;@^7}RD2lH?5_6_Ek z*?64x7^FOT8Q&*aZUD((6B&qn&kjKkmH1T1zpYYkLP6n9&0O#=O=^HgA?-nfH25+^WMaO7?wi}O{medCMYpeH~6$;{64y5)o|rYEbbuDD8pH*UD@ z2K9_2Kn~+Qp0@v1J((IA+y(%x5E2=!tawm>Z1H>G--hIe_XCvQHy^*5oJxTBy`x`b zC@qu}kc;OzcnWcP|G)tr<~;^>q5Qzc0UE#0@`xpQN;;XY;`KUBPt2$&+R5Wb(#;*5 zQ}aow-b1_$)iaN#a(c|G&uB%Cp;LCK-yqLvn8O&rH?m`dDh0i!m7cj`g%Xjkwb$S^ zL1GA=x%9Y2UqvHzvd?m|b*nRe%T2$gbT&gx7p8f>|@-T>+?F% zX{VgFDjL6K>sH#dWd}{{-$TiGgkXd@Qm-q|ybS7r?hULnM`A?TOpNAo6-76{20(jW z56S2Cri$#F^acWZ@jMdgW19^ye?a9=ed+5Im`mwd1y2J3+*;3u5t)cmP$SA3-m-GS zD}^s-V;!4G=%Wr^GkcYh04>k}M8!sJl<^P)z||9t5@<*Itoh*lS89;e7p}TO0sH{q zQaqwjDgyy!tmoLf&rsH`gl{U%vGN?2RFMch^HpzBW$_=tTNmG)q$tPN{cSB9$NpSjXZqVy_);;8-WmcJFsjTArHQ<<*Vy504vr z&u%d9AkWQPtbJ4m*{-uX!acBB#@{BN_gkU7w$4KHrS6|o`whFAn!|;{w<2~w3@8ev zcR!xaJQGOo%rNeGzvGdulCcMMp1t_dujRb`d-l_Yu?=Puu}5ShD`w()WJUGBU!49} z`opcam@-WoUZ9asDOtO1c_xCj)M^c<9e*0#dfTl^{Gml_T{bNjp&ok@IbTR%#0La#@=<7?< z%|H2`FOUm{J7nLZuE9S2u?Ad5C*gHTgUn!vNz0`FF9K+00PY5}@Mxs#g%P^-;N1gi zf9REMjD?CZUzJNm0zC&9{*fV-VZfnG4T>9^{2;Q1d~-xLhRoLXb@LC7Nbhl{!KNgf?P=hC9Df&fZR2 z+bR3eH(yFGzC@q>waVv|zM?nv~=82osdiqh&)Ro)B)|R*{wmoaC zISu{Xt@d?`uWrEdaIY?d1CE9V5-K5l`@>U)s<;WF)@yFPWE0{E(jq=2cOb~~wGOar zi^WQkrLBf^sqk|3&vMn%rEXgBY*$#K0vGveLd2WC8C-Di~ebzp-E66OmHX zH}Aqn+yE$ErKMGWcx+N~8nT#ikACywiF9}xlVC1CTI7u#H%73s@AOcHJOE6*Jd}7n zm!SG&eowhf^OG9n-~@6>Ix~*`X`xRR_X-6|1IT6abVU3Vir_ho!D5bL>K1^o%%J|5 z*0-UL04QU5B|yuqtXG-@fhomWFm&_*crzf(9M>KU;U$cJn;s;d$p94rWW-<_0Gk+e z1<(#NhPR;&18OcPP0dkhYL-$P2Pxf;eu85E zlJX*1%9nJBc+7mpQK~C%T$SksDpi)KZxf6?I3^WQk25-uO;gN22v;lM0Kqxy}G zzDkb`m_R-#Yb{RBD~~n+og{{>-vC>V|LA)^YOCfouX&B_KI}~~XS7!oV6Tf%h{Ut= z0>s|u3aM1(%$LWldjwJv`F8I(DwnCq|-ypuv%x@Qp8BWm?ZhS|*_thVo@=gilOsWxGVo z&i`o_yiu|F^|jg~l|5J2;Fi|cXN^0SBj`GDV4R+G#_=>HtX4;j4cQ6j+AXbr|Een} z+iNL4UG}ld>6I6?_d%ZJL!YDX|MT-#&|hBk_nd59BSa@`?WdyAf71rSl$W{aLslX^ zVDzh1*gf{vx4xA=^C|n7-a3+|g+hh;ngsv4*I=Z&JuKe>_Dl)ps=zay^$6^QZQji- z)M%hj?;8O8g15U)1qO3f3_zLN`uc`%eo6g*B6T3%3turb^RBvA{f|% zw=ev{exe^a)l`DH(y z{W!}zQINtu-X$E~`Tmd61+RV`-*){9z$AO0>w0C&T)}WQMboPo2FLXk+_ z^c=!v`!Wf7>L~yu7;hoHtW+K&nFiNQ)BYeev5@I(%cDC>$4obE9c8})}NiFZe_p64Np5v z$JgnJX^zsc02CcgTT1P`mP%!;^BS`d0PcB9F#+DSS_z-}(!bNwV5p^qpxP_ez|uI{ z@Vw>CC)I29{lkVgAXF#&z90Zfqb1$Nglaf zO2#~7%tgkfsfyG%a1@lc{QUt;dCVaG)Bk=bR6PvhVq#!q9=`uxzV*CH89=1(4aAZ| z7H+>MGe?HW+lZL=OeYhJ_z!Q>p3RxW>-wB0TI*J(d1O~`dzrSWD`XSDk*3OanfT6! zt+Tr>SJiR$PZpjX=N9Z|?P6J?>g|apl}C5EM@c0345+iB4W!dF7XVI)MdaYc-qu?G zv?|Ss$7=6Ke&q-H`e@&wLzGk&bi64aQ>)SRU3U>}+vZJV%l6E>?((Zz26LfotKpN^{2M*6+u>ojNoGr8ZQ5kfb@KHdSnq-L9_UC9 z*jI-gVc8ibb)wmv-M}vx`^h^$-<(qN_D#n$CF@+i86%f39@~-aal5)Z zp}*hKt>p&Fvo=oa#&x;sSfyk2;(t zudF;8q&O(c;Deo1K(OT*H%_lClBRd0m!J^PY5=GN;3kCPTv2`09X)zff7~^GX7JvG zAV2uxKGUC}{Jf>Spoqf$hYywTm=cTHc%*lX+BiU6Ue=rLO9%FsWPq|x5S`5Tiyz)| znBYAoDEQUUyG@se3;?kqFc3-Ih!3^^#~pK~aVQZXdiZzxkU8CND2_yk@^g9RrRTtX z2dFSHL&rYj6r$s`(uh#EX2{TDan;Y`f81kwpW?pq zI)kRTz1kGz|Q4rZbRArYnz03LGRR1b|f? zATB&_Ja=c{am1i4_O1o5YEH%T^kCZbzU9^*0H7g2u`k`1qQXLvlvh7TrI^Q@pv|ZU zu)rGE5v8!lmZ|~d%15GxbBIOFf*MaIue0&y4c)5dfl-baD*y3oKd0Q7A!r-y6k}D9_S>T=BqCt9vdCTH8 zfPTFOP`Y$@L5)fI{>D7=w)eh`KKA~PnRVdV-TKp8Y12k`B{Y-J5pjCtLN-8s_>(H74cj-pn_rR_ombU!;Q5TNs& z6(oaKK0sXTQI0bO4R*lFL)LG^gsTsK@0#`&23RMYI?jV8Cv~`SPvEO zJ2ez_HVkVJK`vjRxUoJgm8%WwXn0ocH#}4}RO*pXVG{RUYyEz8 z_dv7b@1OtiGWzF#{7_qse){9}n1A&f-%4-2^j&T7YPK-e^j`b3W_e*ccLQ@RRtYDJu~P=Kbhp^Exrwg8Tpor--00WS8hhaBr)!T&zqsR( z#>{|}=RE(#bp5xlvr~oreR$BxWEr;>m0Kt@Z}}FndlK=8IWz3F(cyp0_JDo<;{bg zEqUV*443E{YBi%}bt2y57&*F3UFZMw4-eXSc-=hL1;ph=+lllZbFCObVlPAh@Q(& z*fR4qRPgaHdhV)g&H0z;Gul=FUC(&Jlj*;H`|GZ^`Gy;RM%Ul?v#!^(Ucu_@0T?M< ztzlyJ(S0s`B%fQetG;IGyVMN30T}5!T?xaDHYb8WZsI#EIa zCfjASJk1SLi#%%!L%&jJ(oO9BS8E%)-Pg<2FP*4oVL|I@cC$~i*` z-IT9Y-mSLF1afU1>7(((-5FfRZyBTq_G?cBUJdNe#ArV657zPWHY9l-S}4(mK7TYn zyml2T?Z3Q&z)HwZxM*hoDW?A%R`4AP(Ww0^Tgbgs{qI;N=A@an_?0IXKbd z=OGownG{zquN%k%*k%6UJoOt&pt2mtvqM=E%!M>4=nrhMtlt6b#$YbwvnM8w!;_K> z@PfmABt6nFxB#BS!UiZYIl*>N-XH(nLzEN>`CIA8 zYL$9=B2>#}6!;2ilf9KPEf&hkqf;d1qEu01A~Oi_e!?o^kZ!;MO5C|LTuiYQCQU;_@1UJGM7xNqu-KNjvMQ72+AaT|pSpvjWGJXyb<2y3i$R4YlW&OUQ{kZ|=nw~GxEE^oD z6BUX}luqdh5T1_gz`}+aXu#O}7EAgZ0~Bs6bu=o2|W(67Es- z-}W6^`8#Zr!_F^Z`E_f4@vEQ5x}-TYUot_CGM(cLisXCe74Hwfz~kDFCQM$f=6{aq z#sff32J5=zvsX;FJe6j6&GgI<$nZOJdZbB^@(u%>6i}rtJL_}q_w_G)f0m;i_wbnl>K`jv9=X_vwzd6HcaUK6ed0;mjupY5k)gdEZCq7vK256csLTW&QG0o}4GCJBhgWgKL6tI4(4tb+*pRWWs}t>?w%T4SSIsjf>}L@${e=Z_o%0wr zb^_xGx^PMvH4&4jXupi&Oa~#O&U7@rHojt%wO=f-mt^7@7hb&-AI;2QsY@9EF5H9# zalQ1P$|1b;Q0T=+VINWjYZv`w6mCtJ-5YWa!HzjdxF-^2R<3>F_L$ z;KpC~wUx>31Fb#|)F~CnrAlDl|&{+d4 z>)yEJQ@7&tV(o6FuE*AUU@iB6wT3*>t=uxY!+oi~azs4RU9|G+Z~9p^7I51?x=^*< z7o}Pl&r4R#saUXg&$fkH6AY|A3u=x!M+;A`*}2lYCc0E_(OEGUvTh~eyrUQb?AERN z1Nh2wzW~y}>`w9utgH(J%O(F>tEUT(qN6Ok)!*IX+e+hCk}R#r?^PzOcP+2-e(ABA zI92ZHv7a^$^+#!Px^d!`4DZ@KM~^wq?m?yMqR5~>9>|h9EymcH2|i5W!=W?qL>2^obCwHp zKRTG9DZ~4RlfEzALkk6KtjYXBsjj_4$V4MPpD$8>#{J{M#-1gbO9g`&%#Y3?R;cj6 z;TI$TN`ACP8L5y1WkL=NG+`xvPItQkOs7?SZv6bGCAY$UdA4(q$TI2(h|j!;XiUgQ8PQNKX#){ zL4B>fA9*Nn!t+%#b=yEL=-&uYwdk&Zfc68x$8C1@N7#EPX2IiHtW+j`&!tBCYyiEm zyqFGPHb3wN(|KJnCK;gOq?v!%0@w_lu!W$=rk;`YGjSI2y@!_}2|)BB22gHcYMv^_ z^Kb*YY(I6oRXjpU2^b%QF*YTDLVC<{18SXm(y4UAbvIbN@N*L{ml4C88wi}<)_7jF z6*g`zdBY`i`IVP9WGO(G(SHhX0!0ENxV2Mdx%4;xRvP94X6Cp`*&SKtt@N&?z)A_d z{*&XL0Ze8g5vjuLyHAi{E`YZH=8_<;fl;lj&A`n)bC&YmrsFoL-)N;+rnmttn%Fhr zSsUITavU&NPqxunn7t~(^M_mD-wM2Ip??^pwe`fU1W%Lj!i2!@6!yY}-wo(-k1@!y zxQ$1ymw(gJlN7*5n|5lCQ2@MQ&XS5+D2w@E@WgG*#=MT-J+3VIkL}a|x|wmyavUpD zCJIF=r}cXqiu&SbVDf=yFpP)ZO+$p=GeBT?KY^a#gHfRvni%O*zb8BotmJxPF^ZNe zRF>YqOzz$h@d|V$T3RepPp`G+U@%uCnV_CZh5EK{P+%^|e(?T@hB@~WAN>Tq;b0CLzfiU-3{zBT}~kii4bA+iLlm4)Kqwhg`X-~sK`t_lxs)@xje z2{6~S|8}J*4+Bxsi3IWV2&F$&R)Ghh1gL+DP!#M>MfESqA&*xd0L;~FfM>3#=&1g5 zg65_76TuL_c?1S?i7XWb;0=9+{Q#aF+RNU}F&E3dm9s40UntaM!NHyPtukuRT}Xy zgml(%!*tt&);dC#bH?4yH9!-I`2Vi?cjM%@e!n_;pcN2T*p?0TCYBw{6;`%R)46%! z%9W~=4LJJ>BL~1-oerrH!{e@)r}?aiPycwog}QHk$k@vXdX|a7+6*#z;-(>5ELG^Y z4^Nr~8$kQ`EyJ`F7YYi8=V_EbG#{^xCrlo&ARaKJvuBsyW5!bY43TBzy0Om&cv!w~ z!9#~O_(?c2T2ItO#<3)C|>JV>L$TC806GwAvb4WE``HNlGlErysvrl^r#d1JQ#imvQ&R;j7)tDwlI7WUM66A; zX(!EZWYJpVjxczJh#rxPQBien#@!onGHos5cn^BH~U zo`~IOT+=!sq$^`9(X7IZ=skkGwWvK}7OqJX7=@jEkL2&(a<2yydoqK#6f2uBwi|mP z*E>nCfl(l{rOF#u9*#sCy}mJ%1b_>rngMY+YFWQsBRx=oK{v-iLo61hitwD?19L&< zAX>hL=NGK^7}q+O)y6~e0O__6@cx(I7Tj0>z}4ySgX@1x&wu{8q1jg8l00O1%qgeR z$KU(P>TB>MkI)On zpY`Tnsn#g2O!>Rlmd(V8y>huz_@@RKjQ0c@f$M?kMcOP$i`pl!1A`Jsywx7P; zRN^_bTiUuMrL4nNvk%;RfJ&3IwC%~qD_-~y&jS60cJp&d4Wy`uCI~PWkDrBoy1f8N zaA5EV-^=Uf6E`<_mXY}~?giEYO*7*_@pRds$+~1bJpgYy5t=qU=Y#=r!TUmfW|91U zcYE*JOA^clAR~etTT%|M_+9tj<(1W#j&_@Kk?sWi<^dMt@afNfnqL3f*VCIXelz{c zXa7Yj9TO?9OYD`)R2s)H$d}A{5cv|!HMwh&GQ&b4M)Z54H(>&X%-;|T(c%@}`o@kK z(~4`5&G_vAY^ju|J@`UN8%oyzj=F&%71+q=yZ#ORG=E5YV{(GHz#iU`5ac|rKwL)M z^%_xmu}pD?RaB>Z0C6!GSOU5XHumSiiN+NQhEkb;!L?GE63>Z&Y2){e6Tn=~z<@1I z2bfC+A`7Emq=Zd_0Jlj2sbwxZHyDy!5NDUPS=*oO#|w zZln~nPih9tB`W}Mj-PEaim3qcc<9ec_ASSGZ1Vy5T)s?MLkYVXrT`t~3BNz2$~?!I%U5V*AVG&_%XHyu-$Y;f>?di+;hk;4FhY_5kkY{A0mOy#5QK8I zMC|!31+SY15q?pz81LWVRZP724Y}A;_532N`!@&T8XZW{{zFCWwOX9`JmaGw00&m-IQ4Hd6#GTGjAGq@_59qy zIkk5{d}y1V-{H*|?+^gIu{LaVK9%)78sY$Pbvs}V>$K;;PRYz38#~2sCGnYCsL?>5 z_xajNkhPm2E^gnW3CzW9mRErD`3yp)KU(9z-?Nv_+#!s-JX$-V$#(zZ0lSA{zv8C~ zu#^|w-Lp9w-NcYRFRI}52GD(QkyTCcqwjrdS%6$kcT(dLRI~6(cdNjK_S@h4cJn|k z$y@LgQAyz$_oNpYd~WN>#3w_rF?H!}X$EkrX%Lr_i6MhWvWtWUC11i9bm7&Qlu!ob zurJXKl;3^rA?KBLH!&hxU8G0&lg?>(RvF`~US*df%0wSaVHYX<)83*TL%zTJM21(gRCN z{)SkWznS4TCTz62>oSHEDJ0pl*eD1qOVfSVF5`B~H!W~bffXl^7I=k<<=2}q$k9yj z+h^GL$i9$q8`0Xl85|f~n+@}56?DK#O&AqnHd1$t(^|cDk{8R+X`ZQ6ijv7jy*aLr zuR-;CQ1FAuMoaL)9@=Zkh_U+@Mp{`Cop$fG?v|RPHAljNJvYPsr=NW*q0I)jd z7&d}qJqow>$g~|hw6RE;#--iTkmr`}m$qlm9;z6|p4{lTKHJIP#(^YF&V{$m#7sJM zh4puUQ2fH=Y=JfoS|1FZz%G<6I4l~w@hck#%WOs3jiwW6uCf#(P8Y(jm$O8%bOGvV_eQIHd;;# z;~gzms8KfE+#;9j^}7Pl7p8tc9?j;Z9U#g=NDw7^s4~4y0Ur_aVF45p#=1M&!bTV<;v+K#Z2q9 zji0)E77J8cEKroKGCLUH8FFxz?isK^VNAnU(8{u$F0TyWVn7!I(3s}%BZr9rT%1-k zzwNGC`GlYIg&F$-?kBAFqbSR+sq&s&gb^>eY@BG zEknw?8}m7I_g;?LuKi>E1O?lmP?#$az+63r5-piyCa4rqMu7ArH9TY;HUMt`b9n{n z?Z^qJ@hZdV5}3txah~%!IA-5m|HIq=K>@iyhkB(P&awcRC@Yehl3tqR; zjYF+eGr^Wfn|QD}D=sL5Hp0VKCj#bO26HXWESdmP3AzKA%PT06v7$`H93Kdh`2QB>9mn?5+PLBitbOFp2)B*yFy}?+Hak?P^eI!0XBW+t2OW2zVUf4k()|q4=k^I?HkoW()HiaGGi^G=6ry! zVm+i4GBs=NOWc*J8n`u(jZwich#@^L$^K3!qNGLxH`+r|c)SHj8T&vd=nHGjg@X$U zU=AZ7scdt<_0fKP$lYrI{=#~x^AOcD*$K?-6u=2{D|_Xd6JAL?1tFs40CAyy%y}yr z%;ncdYdNn{sS$f<>|{G1nF^;!yBr`cZrA4FG#!|>gWNffuK=PVq-{HH&ehjp7%Nz4 z4iszWaAfYVuIn@AHh4^2YXR$LC`141ktur0QFbp@?0J{l3=kKCx!4#F=kXQBLSR7U zNQZPbO@*BQxLr;e+4I(K45K^k)_rKwZuqEOeyh1W)~{acJzlqt_UjYK3!eE{y5=YU z9jdwUj0PBFWAIR{7g^B-Z7>FRY>WZS*sChyMFGak%~=L!;8U5ymQf45@W=t{Y-&V! zB^&DFQ&S@8#SP~q2=W|!qlYJ(6CQg4-T&X=yo?TJ)08wkpM(GOob^5$kn2L@Y`_pg zUGQI4cw5(oPIT7LfMqZV;6dFBb(+T>+3>8DPyB!O-UQCFq$(3X@8#Ry%eAtqvZ{Kg zx|?p4hGBkXc;dnsoX6RaGhK8&$d#+QKXZRQFF)U9jjQ8U3(t!V)sDLg z-EOwZdM^lSdwO8 znX4&nAlZ}}Vq;;3*zBk}7WpK`DYZEXha!-tg|mbZPY4|3gbu-XsLwG(uRQ;Wlg z4^zhHfEPdg{nAhd(x<1VJ?phxwjWQNw5_czT3lSDjg1Xoxh$WrQ`SK~oE~^Q+s z-ypuYv_W)}liqnl5S=U^YhY0!j+`Kxa=A?S7bgVC@Z*)VejcV|z8^oQ?P@v<2H0?k zD-`1zx6UkTX(|4GTCWu#OX=hK)$c6R4G-BD%5n72B;9)^-h&k?XhfM<&kbWV(rg1&btyby4th))x>BC&v zJ6hBrzipkm7Iy(1hIV{v`!ITri`NEr1(g%WFdYW$enD-9i!26!srS|DOeOFM&wJd! zG9&5zItd@9pt^um=0)i!^JUzpNGFLsaXASh!a%p;Oi>w)H><&$0h|}*@hCA})V@}_ z6l^jj_SsZ(W@P=c{ke+~$2QXJ=ewrFf>$G<78A5-Tu>erEjG%k8HM|)4 z0bqi7;!aUFjutI-b77 z&JVkvT$rJa#kDXJf=4w5YU2dx_WBl0Ocx!n_}1DM6@=lIpRi-ckNG7Brr8Fi+7lQ# zKsE)~4CL<3z&E+FUZG?KmWC#CjgIeC`TcmREHHP&sEkp4HD7Mrcz|Q z0ciq^J&}%al={UC{^||C@>+V+|9o?=A~K~*qyaqow+4tTlkO;x0qmrcDa>aRaN?t# zu1VgI`014j9iGb*CE8SP=noeRusYo~+3U6N#Kzvf+8t7Dkpp=HPTTP3)ARS(rbb$9YS6AkdS9tI%!rc@=K&C5+d9H&L(-W`M z-8m*3F|r|F53y0v27NJ|J!aSF%GyC zg>I7;6|zZcw@85&;gze?O%VD~Jl~Fku`W?n{Pxn?trBs-jiXLLL~E(v*Gj!b09@6Y z{Cj(u@Om{`FbaktDdKHn1IT>V1#{t)b^HWSIh{|a=K=lRe78kQ=ff9V^HX_RJ-tfV zeAYQg0DxHhW*FDPgE2fB;~R$q1lV(@SJQZR05<;9XTL~SUwd6Vh6t*A?*1nI(Dyw) zf@&{&r?mh)F-p&jJ59emed4u1O?)GwI5w&c<@q3rZXEd%oXl&5qbdjeBs_Bg&=m#d z!uN*3@`IGm-{C%;>h=_cF*?TT{f5Ky({$2jZl0VuO!`ZFf>K4jw(?bTI7%v0ribsJ zqI3NgHb(m6-#Jd#O}YRQ6y>fW1Q&duTBR8=PR)wB+44rv=6$d{&S5|i?hnqE=vj}s zn*Q$J?jf`{f^75d)PhRuo^|J9X!FUm8Ck5k;2=d9<4;2j7~A6Exl=AL)d~;RkzyluCEdWq-)_^^2Rrgn2uuz@4a!PV6JPQ{Dht|N0|Ts*IpQX z3w-fIAKL?SjlNmw58v=V=#_68UH>r#757B$wZL8rjHv~9J}@Tn7q!@twA}zg24LB? z-(fp-+s?AM0f#DcC}!4R$m=%iFgrD`6?T_yoC;K%8`Q?yL5NPynw8MN+-pN<3s5Qe%&-YB0?|5x6Ii2b3 zYeF1q%6SRJaQRgVG)m(eb}>+OamQ^V>swn(t7^Pt?hXPJaRLNWx%kpXY<|?$+Uh~ zKOH>nV+^w+Et{<}rC#=gM%6_rlc4o8>yC#QE?0>P>95w$YCsH(H4!Ah4)^&ZdIHA3 z-SUZGa~9SOV5gOn+NeVb_4xzCPoBuM*%b*q{M^&);fH}qXYW1hBgrJ8qGo==hWe5? zzn~{(=kGi381Tz{zqoB&3>rI)+i&`yHmJdKB|rGp(5_L7sg8>MBkbi2;6) z#o#=CXFTPb8vvIi;Evx1NjrCBj`%&2>4>8(=MH&K4Q|z1ls29{Km#xr2i3QUeju!! zSQiE|fmXIX%Zvjk<97#OE~kGLddO$n?>DePQCv1(`Pq#m0 z62ncjdA{4CD$qE1mMBTtbb{*5t^#Mx=O$>W)~3ysO-eLdDh(iu!s@01AJFV1;rm-W zp!)=P!^+Q12IvQ+{TF&zzo2Vv$qTMb7IT!S)@h>N(7@qDf|{umRhKky0H=^Mn5&!1 zs&@h3YW%K0{|i4)H~+!SPEmf}a3|9z^1k1Cy^{*wTDhjiG-fj91vI%Cu6kR1PmfhmQO1XSCS_4 zDJoZ6+I!GM!l}<+{_$Jr`9J#_7TMSJ@&EayivHe@-qOSOjF-KNKK8D+^`sA)@bVWw zzlZe+&;L34{9nGaC%vBpcnOnWF7UFqua~^wdGsgm|3E+D99jUnQa}XyEWWloUG;uB z#3POXwB;C%Te8{10DHeGIS43=FyNNo3uNP&1t1c=5`&a%HlCh)(yeZcX&Oy<-qv2D z;Vlo-2!Otr9PhT{xe6dD12Du1;OUf}x3_@wVg@35)N@}#U;G>Gm8)rhxp*g{Kz1H| ziD-SZP4dtgQ3O>Qn73(f){SP1(55i(Zi$onSss2D?Eo-EjTXRZ8RsAz^-V#4g#N~O z4rD&xYnSNoLk}y^7U~R87r?6kuphkoAe~#+Mpu`7_a)S6cBs7Uj!}K(MI?UzO^+T4 zmX->j0d`UjJS6g}c5HtEh+1Ptn)S zfj3wak{<743D^cAta0_M5%yW`qmIncmrjMRkM$`sl>A8mlt630|KX9L`Foje3zRE$ zl3*@3XJ^IaxNsQFc+GY+^1N0$Ql^YceS^|t(eyC)BuFv7ahn78AB+j&de%)3^OfnG znB#2@C)uCLP4&}B?Apry%wzSzFFU6Ko*Bx{QELcIRyK_7l2tX_b}f&x7KvMG zm#9$4)BgQl&-X5Yp3h1CZZkzyGfsEtB!Sq(LUN%{pqY}CuZh)P51*EnDeySYCzA^l z^WfFhH9EU=igQfq0laE&x#iFz5;fPrUfuoo{HtegEmtd~VvU^aG zLmNy^ICwZXxQ)Xi$~9yEr4l$bSOV|0Iutga`H9T&uypdoDey3-~cJr0%yqoJVtnP8!ATFJsK7L-s{OE$xhABIa%qC87 zj}cPqTi!uUqh61}M%t(@gfbUwPuHI-Ovsl80wzV`m9ou%!Z2!gQR+ z^b9!h157b(*cHGJ<;6%0KJBukYze|pAR!;&YSX$))Yxh$uNO86WZ*yU@Nv~A7>J%n zL~VXO$$jxdOg6~u2GM$hdRMiVDb>hFM6d>AE=gFU4Akg25ga~i}TpGjoo56$&} z=SwI^;`Q1|izdJL?Gm1^^vVLDokCiDW!K6a4Lrk{^{1P>Je$ zD4~FL3?9sg6Ro3U1m(-NVXzdpKX_!@2Fb9~S&p4PihIcBcFz>`iQd%>ZBT%AL9Zn1 zgfek2-(8h9G2sH!hEWWCmD?41BmvaZo|;te1(V3O^$?4j_L>G`F zVzu6(e3n-mUB+Zmdt#|HT2x4ODW6HxiaDt^Rmc*~iJh3ryWgO8SAmKYh|7q>oQ)#`~UK*>as8qGGfg=ZoV){_&Ioy-z`Q|^1<2>?LRVFJ8x zrLrmYEHFq5X?_8H<&XbpJOld=fA}A%QE4h5A-)M{KLrk3b-mi8)9}{Qp=^pM1r$oB z>-3eW2>>tP&8kg#1OCEyoZoRQL^nu-OVFr&dwER|6|yOUCm;S%@J#}!ER{54n{JmL z@vv*?&VT>5Uvv1T9X@=-@j&!z|LwJO%e&u2*|heQjKlI*H=8tDN^4JJ@C>BDF>wEt zP#{8Ip?xME{h=2sj=TTyy$b9gOncz7NA-o6CJbp6podigiH+Z%xP33j&C9imuQ_$bs@(#-4rNl;+ zPe1Aqnn>Vq)ZKHT>womW()C32sXx70dBc+4AokDX>AV5KS8Hv`_c2#}*(d+`;IH?zaCGhPcDAxnCCDyh)3Kie0E|z6 z^Ryb90N90b(uuE~Q2i``T^JLhFJ)l7t6~2!0I(i7=UrduR|;ex!1LX>!CcS($)Ad) z-fbWIa4fn}5^Y;hg8IIO9qkgw`_}*WAC9Uy$w$7X4Pm91 zrm(s=U@r66eg3Oo^^mvBw+)Hc&z9&ePp*4|dAvPNu-61JkFaTSQ`###OY*FZ^zkZO zTgcJbtSc*D%G2V>-h+p@oUrRtuhECyfM$84LSH`Bdq7gqp%Z>`zj$_)9(~X~Ajgkp zFKu)!@Wz+_7kcA6{wh@9bXyzbWTl7Rj=OFYw4Qm-nhS*ACp?a2W?XQ^Y2igRk1?DH za_o9w);+KG$`0t|rXa^jgace)MVd{(rcQlYOs+T*mWVniC%F za^fI|hIrpGkKrK8^>}ZqxbyZ|$TU3s4a9A3Cgr5Fys+#1bWw>>qImMq2Z-y&hh479 zOQrMy6DX_YcuCeCx4C?Mpr5EHXINJrqr!u-4zOfv@id;gMI7{`p?7OOUfeBlp4&~~ zg;-|91#vy``pdLiZ^^tDzbIRv()NB7JMA{fy-ZYkvr-{=e3qdV=cH80&}V!Y&sU9l zgGK@3`cF69K=<8wXDkp`b83pzDrVISfb*;NcVD8{eNW$euV1!r+ACi8B6|4?UgVoM zNMe*1u0dpunr9SXu4lZ!yB3%n!k*(X4|T!3vG+Si-6$iJ*NHOR7-3n%i0T*2wf}&7 znC39$`ti=>-Eo;;{%%Tp`jfwp@DJhUKYK6TGbYgEZfcV~U5T!k(R0gsT$_#o8g2iW zfYGih(PMCzw$GStJJTn76#4OE_eGHmoPXrN<$dw4uJm^Z4ZuPDgj~U$Bgf&Zp22+C z=eHF}B1%gur!~FU&j~BXvG%N`3O~&xB&U*26JN4r-M{$kPJ1U=bh)c)x9V;Fc7DqhK0qIDlN?QH!$~; zmrhMkv*m6u`O%Cbtx{`Kp%25WLCa(VwjlnF1a63pCZ?aC%+gZX-QeQ%opQz6C=5J< zf(@$c*PE9FAF9*QMM3a(2Crv>gi5VTg`9UIV-PtuPe0%@3F?BJmfY>M1&`^T!4IM0 zV>HuH9i`Q^0JNgOC_YNTpqv8?wqXQe2dE1w1_W?E13;YnninvObjN_lEyiO2$;KmG zU+u+L6YFMj8w;tJz}x96LC9B8y!$SzQqg0)V)7K2A;9C8++dLHWXt9Hd+I9_Ic~~C zojpb|$hUOmBvCCTh1-ioI(&k^hsGg}AK~94iUWqIae@sH3F2{{mjHs&5$%16<-yBA zPY{h}1H^i0<0d4CV35nf2B=BE6yibN!SDINq@DKfue1{o~!E}6WNCO4YURx`!5%A&b4l{Yr_0+$ga=>t$37HHy3j%)0`oO!I zdR7yzM?3spl7{4c=mb&4cw}Uq1gVPhZ`7owGOk7}am&qO{$Se9}6eLUw=MWAPF@y>m#QYV19)E7^>lm{>Ou`+Hr`|W1{;zEEZ{L4<} zJ>P`V!Ypl`S)mCthE*Q8%ywn|*6a>aHWS)zZhYapd z@Y~3|$$gXb>%aEv9^SAUeplcj6z>3@Pd=Co;4I8j0HCprU(izU1O%^H&XC?j@SOr5 zJm)l(_c-045%W-2%_Nb+Zq*u&mn85iupdBGK>gtViKGHnoj7^i#mvqPuTR?kn=dc^ux(^<1fr{ED#OTur>wx$42PB@4ucdV4n zWXSK-9W>)=xkj^-Im)GV4Kbf(T?SqK;CDd27tj`lq42m>Zxdyc2CUa5QZowUg^hn& zTzT0ow^24FzIO<%F&a~|qGhCBdg|jI>*O+^C~wBXJU5kdAcr_0vTw^>Pss{E(aH0! z7v@4nAGA`)5LJxv!~#4&n@|$~9%<)vu;CuA!Su*ZJ+M5)?5RpyyeCywPW%{H9%88R9 zXhhU1MdxrnU(p~=+~V-Nb!d442@uz3;&~3d@p>3OY6z$SQmZ|xL%mA8Erfz@chq{Xx-rOMhVV=$730i**rHhHL9D= zd>88@99S>DKf6*kP17ap8OxAKKv&JtRHvZ$PgIl#W?L{0MM?s+r!(-kiSM$Z%Sgnx zEOeK}yXx={xAHTS1zHxsQdFl_uT$DOMW)e)w`gyBkFx6WIq6p}KwP5;`-<@Z8(+KQ zD@25U@xs|}e5;4B83BsB`_rHA;TbgH{U7`r`X4v{ekePy^@kE|Q|8(8=jh=6!GJl} zKKThlYbn87Lkrtx0qbk-n(HS(z*52YVK!jNkpEx6|uh`U;uU6aVf7 zvtQJc6P)m-H~%)h;kB<1CJ4#-`JZ}mPwuf3$LWC+$7yY2oz~a&*dO=4p+EeFuZRng z=pBU&ufbg2JtP6rW^&&9;Y)BOxW@{(X?wA~7Pyct;EpC^YB36i02zF6a!gIA!vp-d z3_G1Jpk4gc?u&SAA{@aZP{)xq%E&N!S-dzjqo2@>SUdESWfkd1GPbnA$`0oW&qYlbw%-70J5K&~>lYnMJI08;w6=#Z0L?hygxuL9 z+OU7)tm|oF>Y%%64%*52N#gvTy#13J=s`q$+AkXrNH7+I6J#1>%g%89tZOVVeQ;W- z$!YA3MS9@^u%e&9#yQ|&9c_Mj%6ux9@_3nmCzgJK15mQ}5zW1mFNNB)oM&)eHt0aM zAA?Mog|7^x;CsHJyOBm7s(nQHI@*(h-yDBC*~w8tXw&Fl)r^tuJpJP3q-*>8bQ({m6Qz-mVB;do{Xd3LC*o` z82qwy|B?d$!8R)u!9h&J*L|01kQ?9ISG4=-Z{buWif~)5 zIhT(u)4t37WfrF0-3IQ9WO+e)N^fZB2bI?-JU8a|0XV8S*Sql>r>)S}0LV2=fKCVu z6jbtHfPJcWBTx19F`s#B|yfdMhYnye|-m>rSw=DiW`1^x?kG+!N zz2JN)7r-CC_YUvH^dbFy0zG)~PM^R3yz<<{GGP3YNF=Fz_bHmZ);*b>^KoTB7eHJb z)VHZilr3c`xmBU`Oo`enn^dW_2%rR_rt+?p&=&fX4;Vke2@W5;>3r{M4eCrx&?rnX z(5Jc2hIp{dyTP_o${Uvt;F{}eU-8?(s4*^>3-18l!=S)AE}vMY!-s>xo|1q0WPhj8 zN#1eB3z?+y0*3wv22rgpz+zp(#zi^>um_MHFm6gJJ3;&u2WJX&)__Duq1z8W{f7wu zUj4dwpedC3+0TBKKKxkZS3scAA-R;PHo|IRvnEJKb@K9!+F?@GZNotA{=%d8c&4Dj$ zthaAEL&{)|NcCUfw}FpQGV{uae!}q-7e+67Azw0?&;1h*7(f^qhzfN#j>`pE-v;N>fqNk*;_z~dRh z3!nEwy5$46IG|&{a(7DF<8QcTTU9xH#Q!^PD{*GkHCngx_U^a81>il=FEAL`FAol( z>OlYiAOJ~3K~!n;bMCmzk7lzHz6OzwF#L@Ici3~qg+qJKpEJET>%_b^=L+}Gn<%E69{vdW?APw3PuzQ&o_aLi_%}-C zgDHQrQYQ)Kvg=-}Y*DVzyT)VF#lH9d6uInC`7UMOvGvUwO&5)UsVGN82?hYgC@_Oy z5K)glvC?A^dBpa8Ba4U&;(F>MAEHLn4zCkI@$QYD3%K{leaWkTHB?8Y=Bp!)6Zq;a zDpaOlCdB+xOc2)-;E8L%@KZ1U=6X4o5-p&zLudeyDqs zs4rb|4&CSy!J8Tb$R_z6MH6+qv{`F7j~xToKwB)$QOkg7F%V zprSwXmw!)1^S;Ivu>YVt&xqog8Ra-Fs;~j_SJz{#I}aciEC63!e(B)faak2cJN)1hM#0(tn06GU?i?B6 z^$*V-buG5Hv{7q68hOEOaQgI_!HNhLIhed1&DCFJSIWc9E4H^O{OcCAZ(-|LukRcu zBK_)a*JYIVQkVJp{xKGkf0TL+BWr5PYxg~jtnJ{9+lF!J#;J3;3~!?24e4}%!OD1x z9l7+QG1tn*@w<*vW(o_Mxr^jS8RS>S3Efd4>`*X(nru%{QS$uqVc5ima(?-7(pEO> zG*{~N8We}OADXcCfI(PT@PNs}2zOcDzUeG2uLloA!VW`gwOUjv=#FueFLziIUNS#L zCzo76m86A%Aq)-u!r9d-9h?=%!wMqXLzo119nBH3FFpXY*r;5vJ5g;A;a|Q(6p;-& zfGEo6+&W6*806bVk_^z104pvp*svdlELs_9$bl1u+q{9*C4zS*fZ2kAGMJ5N69Z2p zo?x|wpP{+hwDXbAb!K}UZX+cU4dlyXKyh5IppkWiY~C!i%kk*%cqe0lrbz*mGCvaY zt9wx%rz?3TU1L-Q5f>(t6tG$*7$TE|--C_vxlLqSXfli6y5(X$x>14}*eEr@57dDy z)XUGalGK6eSXS7Tz1)P+Add~V{pc7x>6d4xInP1Y^?qd2l;%qWZ$bztm%Sw6p20#k zPi`uw0Zt}^jlNb+X)pvE+QpFt5loLbzxOT2r;jc~(wJh^MV2Ac@!WK3+88>BMtT{O zyj&loHS1=x**sThle6DBOAI`9+E@w*`3)Nr4Q*^DJgA+&?;I6owc!xJENyI{XHt%* zq3T+d>Hs$(7(KY3Yo%H$P3jR;UrR-G%O1J_SmWQD-*;V{MrSU5d(i>^`N@Hf9Ppf{ zv-(@g&nuoYJ2-7?GSKd8i|dX7rS!_izdzR#SN;wB>dSTE-xzgbPjV~^#WI~zAwddE zB=eEZd`3<6`=M_D&=-1S3@EE`#GT+T|N9B5HQJP!E~qaPj0|NznQSzbcO!UsY2k$7 zuJNeXO;Ea8qxPi!zMwa*ZPlm)ns$de^(M93E$S-6kAw!5;W=%zsB3`7iFAtat!$Rf zZvwDSF{{8}pZUyZxEhgH0A%r7CdJ8vs7GNcPn*WmVCKLK!7gO;)G|$&c4$=_lm(&; z-wknEeNcf6I78&oA}ptkB?)++Lx5o(uM1?;0J`bMP~|I%=s)lMqd!zcIRo^7)5^td%4MYOPs=D5waV=}x6<*f?=6c^>yiaAx z@03Ykme^MXFeRdmN|OqVJ`>#k=hlzV4?g{eMM`w^pKkkT4^bn;_^5~2O1RQGz{JX? z`^8}=cHYH&56_Ze!E&(BOKN%RvkAiHH=wNtbvCx3z554c3wXxt+tdQXep9ze&4G%k zS1Z(xe5tkQrw#!C7)ZGbz%*Z}(D=+Ry%qY*182zwaee>8qKz{zG=S^g)5~=9u>T=C z-Wu+{yPMzmYI@!8>TzJd+D{d;w2FDR8HmkIVg9dg4xDwLDqbIfeCge7POK{faK@ov z)>CkQLL7j`V{4=zYzX?CyUANIYgjzi1+5&jzwYHPrgz-(0WPZNdbU-hV%z_qldd=- z#sRmWPU0J$&tNX0+n~nlY39%fE=-N%Oq-dD%4)6mXP~sS?s}N}A)3ch5EjF1<1R#&FwjmL6+IC`rx&4ZL@T5nRd>a8=z-|RKog{SqaWf=Wnwa=u}l+WfUe0CC6uFgAOF4J{~57WJ8 z&xR7`Ga1?prSN8MZg%P0AN#mBF~;5f=g(7V(%&mk40ea)=0ANm-Tc0Hd)Aqq%rQkC zF>!{(Ct&DOK5_eJ=&3h;PhWDL`rIGwi++!|w*^Z3+yfkYa|ciPp6CA<9XNEDZhgml z2N$x(>DvPD|G-}j?3K$`-~fp~^0a3V{&9HITYj6Pd)K`d*lU4{x&`8obWerX?fqm|NRqdC4aP`K*nHljRD6FKkLF2TYaE(0hst+Z{QO9G) zj`g9zg(n?H8*EptcC+rIY@@jC;72zs7|l=Suyq?$rmu^J$zp-ZTa{3q#(C0tXu&3P zaivNNa~7Z>4&#Vv!az+UE^0@JE9EC>vl?JoM??>t-J&ZF2A?R2lb6^q)UQGhIXp%8 zoN_m;Y#P|<3}HWIi}T#CZ`EnK4{r`0<`LaEpplsJCd3118` zWd{vBwQ;q*UF20u8Pqrf(co>!CXSmYA^@v;f>i_nX6!|!hc+w$avWV;LIymj6rX&T z(x2axFK%E=-UH?m`GL_c^>|8h0BTCV-gdM-mB7$ak;=B?x>;Vaq_l3L+v|x&&`ZNl z^=xn@WH}~HCmCjuA7lioJXC>>^)zyzAHQ#&-^$43a-4dIvRFM_S%xRg7`Dqa#32iy zJ`T3d&WBusDD-+L`2>KXoYr12r`sp zPiySWO$vpM63iv@Y?j=z4FbHB8zK{gT#0PxI%B}gz= z6yQO&$z(3=0dvW`u=opJ@=BHcM{j>y7@3pD^FADUl2x9w&@V8s$u$yl7(yZqgON_> z^+2mAj87TB4|WD9vM4_Q6~=V4QyE&_Xpnqf7=Q)4OdO7Zz#hZ2ysq-b#Xzo7PS*il zrsI$okDt?(bg7h2(q^?o^`;95W8H$TXd<@7O#zfE#*GZ-!f+MiJq%6py+Rz=*s1}f zLj^|-Q&73mph@GM4Sj{j9$!~CNG0lYJ0v}qmgY+8+gMqvINwU>0i)wgA>)F{10}}K zc=1pCIGtQ}!QXK>|LadZHxAhz&5$hs0HgK-thYo|=*f@#5A^9fzZ^)#-hfs%s`SK5_ba-8J?9S!2^2C&20oMl-@l3g zy-SZH88efc}nK5ax^Kn#5~7ICBkmVKYaN+A|*NsV|oO52;l&*_{Y9= zf^VH`d*zgh%e6-UyHeFDF9M8pR z^LcR^Y*w6lx+qRJ2y1t)vRr@TgD{YnGiw2eb6utGXmdO^U;pwKSd{NIYt|0oftv%K z^SJK}^SDCDjRIX7H|8N0H~th~{=yxCCMfF9>!l8&2}<{J+jkC^6R|0J z@BjNB{4xFizwomZ7sU0X9$+f}if*B9%qz1&&(z2!M)czq9Y(6 z^2Xo$Bl`7UdTDG=TmW(Tg}F%=a0oq4i30{F5)(v;u3D=)vmAZWtoH1}eVJ(>QLR>C z&dg)Fl*rDSZn{hBOUF$*Yp9tZA#eIAZ@cOC%w;AVzC%+5=X5{`kVG3}okVNXrHTUT z>ECd9eaqpWpVkJaiq6qlM`qMon~v9TaFS9}|2?<1<$P}19kX81CCZseAIp<7H~=eI zql)s*#q}ndE}%cr_0uJAp82RD(f+FmK1tV%U}GU1#{hh;uu|d>E)wtQYG(AZ~pBI z4(5^-d&6s9uWlb~p1RBynQV%^_+ATyw!raY@eY~@6>@AykuIAXOxwHdum5KE9GvVL^yR#NWxICP)N&&cHfXAL4u`CVOSxp)&& zNyq*&gk}_3+f`0Ky87wlm*yvP(RksGOYbMcFOB7GYy@KhBp=huwA~iJ80rwz=5gy5 zmoBKBsC2f?iK6Q_e^h!`Divxrjge9eC0vX07{pN|U%6+A4(<02vKMB&pq?A9+DBi# z&wnG5Ff_u!~%Mt zoPdn^sT?hBjK4hsijPdjqD2;N7(#+PWjute@2vT$JS}bXX8^{9;CaS#J?a2s)G1?3 z=Lgz4za9+8lwQKd)n=ahcFFO;!#hRnnM(q@7#JXV*;`K2Y=Qv{<7^J0S;Z)G^_1D5 z5MGzqn~Ec|OEhz6M%}V(+}Ot24!sl6n~J!F*ARG3vWj;oJ+CH++`V^ABN$;!&Zkqt zh}H%NvG*EBxQqxnGTASVavboMBnXfp+XG%}f((4wGYpHg0bod1bwW8NI7Sa54Ou-O zL$sTq(Lc5L!NFue87y1Ua~edz+Ykrn!<(6$rmlEy1Q1LAjzR$@7M_ier0T1jjO%YbD9L0XcIEvHeAY;HkA;`0j7lx+8< z6MCm@{?d7mcQLNBrM|jlK+o!8yiLX<57ov20EnLY)+w6aKdr?I9n0s+p z16)&}8*!>H495}B=YY1~aQy4X70YGc?Vfhcz#&@}KyMrrhzc9E>=DZpjc1m@XKfM> znqdT3X#KqQbjGq4u3GT?hA98kH??8bk?ULo3x4kL{>pb>$wB#|U0F6?{rYXrlUHsJ znKm^)MX7X(W{=F!>M4DC^!k#w4w7ERWxFCB-nQ_J@iPvP*UA}x1HOfaEJ#tb|4MD} zhc@K)kp$BR^z$V_$ughgQ|39WtXG`xlzcxy$9+8B)#_^1FQG{0-fc))V<(kaI)mymLA3I)qY>dobOpba?oQn`2aMw7AvRO03Y$D{|H{Cx1~#tHx(^qC6~|LJ@698_j!av8M-gzo{* zkpS)iAPa#3Ma=V0-#)3vs5t0E1*3x>sOd)^^$(0Q&d zWHf(2f9za5L5IC$pS^$4n}Fp-0q*I^6bVnfWIuiG2 zOaqWi0-{DKd)%@H(jCvXHRc+Joc8{PRD) znSSzTe_pEX8-LPMzCSjI>#2`$fte6yuR}{+xiC+f=Y}bIuMU|LacNYNOgD3ucmMIb z=)eB#%Ur^M*b|@fANvP!$?^i^?j`Sl7U=n%dJ-HZ{SM}IR|ZHO%wW!2Q3o=uZImf3 z_E&JY$pluACcJ}(R3_(?aUmj|uDjMSksMqXZ>@rBa>@L>0&xXXxH)&VT6De7rtRUQ zM_nQjYqnYh5EqA0fVjT*xj#y$7W?yB$mREY{h>o+FwQhebOXGMN9p*T2ObC|x$a7D zA0J9QvdrN3bYw+D2%4VtdQezh3Agu&5I2(S2P>HC_J8}r*nnL4VRjmr3p%l(d5AaRwo274t(ahrqDAsA$VR#)OLqx__etg04DF?6T zc9apOom0LO38RjmH)3(|3myTb)IG?aF0>daAe6Ar%$RaxlJ!}52)Sp$%+PJS61vORTc5Kiy`%CknrFph)IXkDEiHLZD2mgz zDG*gdIyhE!rkJFyy0_=9H@x>ud$C=kyikp*zA%*P8!2dgVA&MkFA=!;lXKsSGa#|n-fkMFretLff(~x zq2g>&8Lfj)85pOHDZ1F;c8%c8_NW8sa_{~0i=Af50`RJ1PEz&bO^H+fk>6%Oh95E7 z+-z>~HGnKK86IZB!UVUO0X={gC*MZ}Wi(`o4l*8*A0PZ4Y>RXOofX{t(-3zQ`Z)Yj;8kIXhiz)xUpFuxd1ivHgMq3#at8{p@GafCNj;{dH z_=TW!KiZ(QY$;0sr^3JtUVsq7+RFxUfgWQEv^!)~HiE&uzJ^!=tS5nH&}sIFchfGY z4oLR{a54SH(uM-zt({(12IZXI?-f8hcvdVg>5X6XYm47;H?VDa$df=e|J`s3vLoi*oduW)AwkZ!8FBP6(^qI}&f2Crt*ho+Tx zvsb_F)%4cieXCPEzO{JQ!@#9X3_xhocxXaD0IzKf>Ox)lyWJ3{?lbRhyrTKlC&By< zr~|&e0CFJ|vMH+8>XcFjIGU)@YEdSYQa{~XDMR15`+hon#084(gm%bhvkK64U~2udoMBpb{n z90ZS~J<#vrpo(Q<#0`A)55MeHj_gm}@^&X47GYyw7|$Z`&l+TCkF|~O|CyI7+S~v9 z?Fy`jH5}%XWuYAqFf?FWG>m`6YeO9~Pv;>P^H=K)`j@|W2j#Q6@6AjAOr--~nU=3e zhlj$r0Yy(Fk{a9^z$D9JU0D$x8zt3`>$acr*oVU}QVG>A>XT*WT5;cz(!LUX=(Z0j zt1`_=&U_mUqZEfD8$rUyw=>{T;n3&?L2Sh&Bo*|97l&hN0Z2f7EC z3xU`Ft>xN*WQH+Kl~M#y^>zew&GH*JmNGj;jaq{~c*ouJ)E*BuV=3`LArxRPjD`N~ z%nCi`kUN(Qs{B&|yy@8Vd*5lhMRwS|8BcLPWP9LdZS%tW8KmIBC4^K=VRvu#%GUD(< zS!BEHZW_0;GfLz;-|>!EK(4TIW!|H&IYRrUG+-8GZ^8qVR6-J8gmLv-T}1W5JB9HK z-g$Ti6ldd^5rO;TVn3Vv0L+OuHhb5e@xD&aOjCK?T~95RipmT8g=)5~MwKRm`oNe< zp|6ttVobJ?lBM}{93gdB5Z7TQvy0;X+?Qh>P!=V~%9nPfR+jH=9QrskzQV1vw?ce(ghqeh8t$8E2mo+dYRAwMoe;NIa$}HL0Op@x2 zuz^m37S}4YfD9nOOaHi%{v`3ae#QU-K8{JaSgyfDwd5(lcoyMpbS}_ z4eW{Cb&^uR}FOUQR z0FdHL+qy)4M(?%F;DtyAZD99Nfm!Px7+*8^OGNH z)WV=JQ8v_ZJW8={=E~q4$0L-*2eKgDc_Y;k8T11?1g?daDkg03!u7x}An4@arKfyZ zj)*gVr`w^KgWCHTXRn>r3pP%=Re${cvkTFnB7iznfZpO%P`4xE67@BeO;M|<7k?N? z!(cA-W$alC0Mm{08-YMCNMleJgFp6Nw$CX{_KTbdPg3la3u&^y2m*Zba{~G~9|JAO zo6Z}rWn7STg(oT-+{7fPFY5{;Y=F5^nF*RS-k?CoM%e0|G{4g){_ztmLS5O5*81YQ z<2?+z`#t}l<^BoGjjaYbU@0SiB0Hf#wOmM}q78(WPr9c;a+wTrVvk#PeI@>K0T|4$LK5U_E2g_1(}+|dQf9C3{imya(|tz4z-v>v16r}DIZW}WaZyRD{G z!FSacyy&AT0CF7QJ&yYYr1A6F`we4`-Frowbvqr(WhSWJ#J3Lh|F)wV;r>Mp_S`?E!Av_!xgDU4{;kRJB#iGe0_J}V zj2e}i3?zfRa;-^|)*%Q%?>~WOwiMx&u4d#Nk-U}JvnTP|%({Y36nHh44nZN6o?4MRZ zt}mX|-p`-)@GF%%64=7}!6Vw)RXx9CFg)iCe07^5&}cs&G#(Sn!mN*60~F1y4)$Oj zWt+<}Y^UlrYEyvZgWA0%XxLL6m%-PxI53Ob9C>JW4h$&rYjdWNR~&>UnoVU@>n^}2 zpK;f3aR3~Lse(JlsfaaP&d1f3EAt)h6q)Qyu8A;zWq)K~A1p!Lai*?lqxOUfDK66!HkH1Aax z2bt;j4e52WW{l!_PRY+#d8_983~cgyX>`ttaYDW2g5MaZsL8sXLmsu~Y3(H)2kyvq zcy0>lk<04&8S>FrG973f;Jbqr)bf-+au%Yt2-K|9w-K`w3Ci+Z+)%7+Y*9+Axg)9$ zcNCpF*??|V1h{JwW9wuAuV_A4ifeqTd-=y>u~qqQ4R zAg-vw`^aZ+WDMTwgLPMtZd7~0ms5G+$(GlGcX+LS?3Z3nx4z@OJ6y}rs+ThdM2%Kz zuQY(U5Ptbpzew330kFN&hf8_GYhF+1mzU^WfBK%`1nqI}sut+%l77jrQ5VK*V46P z4z7%=k;NX1Z4jPVf@2U3R(3d7crKKRrjV*n_3`jL{Taue4t6AuyV@f@p&$1 zz0>AEHoo8KSHJd3rBZZMuDx}A)-wIlMpRipomez%bMQ~La~M7N0l2oY+%=Yr?=>;!@<7`Jb+aN0B|zz9h_c$WQy)NwGpT+o(nu5 z;|S|pb(-eQnGqKd1dKv4Yvl&bOscIC-%^|H4zaZr9uQCfH63i8}Bd-MmoR&eFp_55zj*qu&WpD(^C|HO)yj+M}U!ckJqV? zfyOOh1y@C%}1KqEgHK z4VN}ts}BGa^FDwd1`%zoZRw{(JWeVK5SQ6-^ZX%%)fImjP=)yP!nC?)Z(aDU z{6K2Z2Z243NyEhAOp);3*2;BdtXP~ad2|P#Y!3#U;J$1_jiD1VC*ySbHpG)7+|syrVEHAg10!ofcFP<*FE$)CtHHJ zkeDy!sk*8Af&4U{tGx2e;jE*@+}2 zFvw8g<}SgoF=Y&o&_^gEVtg_Z+Kbn3|IhzU`1h&LeTlBS&V4R-LK~gms8bM_3*Z#n zE7w-NO-0jB?gafusRJCd#u@&yL2^}jSB0Ut)*_!7+(=!vb=}PU^F|zoMGW@($h+R= z@yZoee|sN;jdyDvm#e)Jm=@zxeCJcSl$R#vu!y>g;9@D0>xMakmzHy)uA0l{weLMrLNh&-p*IZT zQbb0kzR175A}(K;(d%i{rPE6=Oz_!c?`2adm_vHhpV8jWG&v?(=CBE@i=Wls5Xhg* zW4+R$qRndES!U&td$@TqKxEWvb#>qeC!u6}`(YyOuCp`U zwU?jf=vc0`hP$tk%lWUb_fxO}aT$j7bHS&QH(jnmKZB;7th#z>0Q~bCo!v1~p^vgg0i^TfvB;9th zF3F2yptF;k_@dM8*Prp&K1S>pQT1aCr>)sZWaV3ZEJVgAKC(OyK^%c`XdIz^5j$L- z$OuGu!3v!|9ldtx$`P?(k%H)AiS}37mGb%VSG+%!#;;FA2|+e| zL2Pm8YBd{NreYZLPpXTv*)SCN7;{Q|;Tg&x51U z-Jy4p-7k%04O2GDu&*q0Zf=h7j{~RkJ+3nC?Af!yKrYF|0Hr`$zwu%=L0k3kFTk1e zRXVhPv?nQX`Qy4S%ob^Jb$G)|Ywgru-5?N_j{&~Ffbpju**8h2mdB6mWa1OSigmbE8flgRGyYL20O70*b859O}wHBU@pI~T&~eRV~754AU35lQ|7%*lE!v>V>1?_v*De5Z02%rVn z2Zr%%1dh0D9~oD>U_uEPM2g$cq8Zr3M0s;!Ki^jt*Htu~)?01qef|jg?pm1=GXg-x z0O%%l8e5 z0J6OBxi6&O{!M*~nnNfe`!038MIkwDjFgv8xB%>1KYlAc?)*|z`#IlKwCOmKd=MzgVDFxD_;(PsM~TnPNuu zk7e_ou&$B^X$)jyFH}s2D`+{tT{ox7ic?Z0ZBQJb8w7w|q^B{aKX}za-4_$l%ptG0 zHKqx=N^lj^Fc=H~GkhOPGez}p>A3rRf|l#WeDW&36wb5D`S3_)gMt`f1sd?eQx(8O z@M?vy|MLCJ?t5jx9D_QGb48EGHO}{Aw!ami2?L7(j68F2nv!gBkN!-JJ*|foburKA z>|xiV-Tim=8uaZuvQGiZ&<+4>!8;?jA)e_|-wHO6Eaij8Cw}z>n5(cbqrBX*sl~#> zE_HqrKM)to0r0{O08j%M&<~K>mVtZJeQN)d0;r|3Y1MDQTNQit$`mrH)0ZB@{N(J0 zG=Q-H^r#!}LCO%=AY&Ts4&@9O8(w@eDcu?KGzRA^@RPP-z?_-P1U>o@HxLffwOr83A7cdGIp6Ul-CC{QF=0 zDprv`@xDK#r@rWw^pqF8g8uLO-%ju##o#Z8C?qmj$SCj?NVckN(g2VoJ?ST2rnnwK zM4$b$x2regK!YR+$HX!)!e0Xs&B=21>+-tqSbgoi+3xv z7u#!r2U!c03TfJ`@M!2kR{3qNE}ZGeJ{D`=+YwS??CN;N*p7lj%7AAd_5u<@){}*? zFndPs$qY%r{QHrYA6Db&JC8>j3OxNf4dx0F*^^b@)Sh@-wHBqVgN=HK2TZtrN^ib8 z#{cl#+lOIJSg|)<>8|et(S7>fUL*L&`grM<{P4=fU@o~PB5B}(iUD<;?yPxm!rry7 z7Qi!7ZM5jR8y?*k-?)hF;nqe)ABNRU@^KzmuXYcTnJMv_tyiO#m_Y2GaSwedSM@sU z!yolHFN1YgsIO2}?0ZZW+(VEi#hSwTHFw=q_Er1L;Z+dZop9H5H#gn=EzI?JxLY=! z*-(FdScUdR^mp%n7d`6*dTwB;80+>29(7dF!801SZ84Y8apl3O>F6LmxhZdNW<9f$ zbio;i4!di;VG3l8_o&&)yk3k3fT`YabWlgX8HEz{H7EUj@B9OL(a-%tnCQ^FCtQCS z%}*QS6L@_xZI7>LksE-zv=s9k!GnjiXRpvg_cF)c0+_2hr~W&?qg!k;m2%eTklJW8 zsnPJBw%x#?Kh`{w=cleDqU|~>XSP(NW@Y&Oe@Az#U7j+Lr^R)>K3+FKD~C29a@Wa| zR09x<7t{jiI2i!0YzXbU|JVOw(!Q=&-#A_%$V_z`j28Q-@drQl5qiZ7U)%@B_(*x5 zV0F}5yNEEn{z17x>BCig zK&c)!&&_b^gmSy(xUo=%=**D`(nVc%nR`e@Sm9jkWZtz&38U}HV*x!G{UnS;NIwM* zL<_IhyLpJt_I5#)_sh>_-L*W)=SM5^IUbje=|_3JkYxweV;G&5mX@d=k7^qmu0w(# zePnuE-QvbBH2$MEs-r`z?7Q}|i zkm4=~dnrGmPNpAQ;bu0|ZnY@MM~?>-HmpejjKWe8WdszxYm$3T6&IRs)nIJapJB0J zzaUY(&=TCxuM*N&Q1Z&t-(~tZ<7^BHLv}l`x2}TmMudF!!cso(ZoV=fgCqFfzQU{3 zP0sxf&Yq&H%v6wF|Jj`$a3x8Vp_pg=p zrn+ty019fp&qfe%FxP2Q%{n!4wv<&~xnR8Aw(Day$?*(zrV6A=?-C`fy?bZl!6=Nj zXYd2O?69{fuG=8jMA^IHmdhlSSFZYUnGi?7ySdA&U<&v)VnwDVaM1HTy1 z#e=Lw*E;|Ny`PRfX{Joo=W+Rb1;Fam3K#8M-}v9&Nci{c7d)Fj|Ao&x>BB}Cw8Tbj zFsMdAI={nyWt5l8l!Db`K!A4*4%`n*nRq5P&go5V(7_WdydBwnFw5X8gS!@vYJ;}* zvl|4jPqRn--*4u_74?A*w%0j;eqZ&vSJB&k_iY5gn+E`B+5+CV5a8XZWDJv3-zJ`G z1@M~A2ezB)M}3g$`Pn>mTV0QrH{-A^b z=Zz-RZwA1#9q`<&oa}wqY&v-l9tL6pIEFri%LQF&-W_vDzTFhxKc#^q{OhKZNvd{Q z3KW8quMq$;0oVjKeccIIoOP+wP0>WMOE6Asv|0*a1E38&6`}uCQ;!7E!d!vMTP@0_ z6ZE^k_g4CupZ&Sr)I1lJu9xmF(uwoE;|O6x>8US|<#52cam1$brKe>NL&S{>B%-!ErfKPoW)mL2c$PU9bzN?Bm44nYRT=p zC7+Dja^l=8Z(+u`7P4~L3F>s<1=9ucwYwc^w0buOTCFxU;PO4`)q?NxnFLiE+VIt} zN)1rzIZuBMz4w;)szWsxK#T(b01n3Z3S%EN22f7W5>z(^wgKWUNHWIadj{+mr0EAP zG>h@2IMiieK|7qWR`0cth7oyKcrdg}SpCEDaDZ7Z<9=VlX#MhrSwHqOa`r1@JJMRK zo619J*8n%<#>YVA{&Lq-MIo!lQgZzm-@|?m%9x#U4`q_N18Bk_Z-6McKWjW- zBi>26W4UhI-6)LR=I}bshn#R>=Gv~g#^p|%V?HU|yN0zpi<7(u#G0;b_i|aReN0Ty zFaGzpF}v?IZ=U;drS5Dx!V4;|603Z3u%tRTz`REpes+i`n|9Ym8<#M4TuQz4slzKQNFBATA}$RLYUtGpw$y z(%}OKhbzJyW&|N8SG|Xb4JsHQuDIdEvM%#doG=^^z5(xF1B7vcxaJz8X{!OM70U93 zuY8%P4K&+?ULzQ*#fX&891af z?uHNlXqk??X@;~+8UQD+r=U%r4Ki(3&Qgf7#^~Nn>5bJxPOlVTx?aW$lv1sCDZfo8 zw}w@5qtc{8u6J=<@<@<@Oy7&c@Glr_5Y;~Wrn9uXKG?!}lDpdn>U-6g85R;V!RZstP<8^*D>6I*WdJx1JJ>NMfRx=ZI8onC>$d#KbQ7y{T6`nn``~GRF zpLdNbSTA|y6RNvQ8^mBPneP|hIDXy%bEN^+4fueuVFkR=a5#7WIgYxXqs#+W*{C>q z@Op%e@uxiDDfEHA{D4Z|T;HT3PDVAeD+%HP2nN7L-b{zb8V;O>`=t}^>&-VSv{lk9ZyuUVyet?8iwodUvyfVK1n zzWWX@A7A$M%B2*y{v7+7*CjK6U-*ZU(w#aO9)M>MSZ^r`p2^|_+f$j%bIYIJqJUgT zX8@p0<9CmDN&V(sQr{E&*4+2`c|r4&0WV;FKqEg|nZ^J)33P@h69tCGvuHX-c+o-# zsu$j>D{i>LdA1=#g+y%unTM_0+181<+W~_s+v?ZUE+k zr!|0Un~f&rDNj=e{Jlc@@rR}Lg0e|@hM7JXJeFa3@C+mCf#ylK}q<8D_R;2eN-f`Sd^3Zfe% zoxhn;=Z^*cx40&3K;-qGYfl7D?3j#SrpoLFg|#X6y1Yo_T zp)=SE`7~9kO?42&##W0a3lq)=0At@oLif24E9=Z2vbqj+kk)?b(A53?G7|~fY-tZ- zJWi1SFP6X{J{M$%xiJ7|cz;2qxgmMFl%w^{ngVjdlMMF}EX%&W|F7P!#x3ZNSqB(_ z17y5$UXRnz=fi6k#x(tU@#OOA7_04o(74zvz9QO`-<=3D-)#22?3<~K%)`feVSN>3 z8VrQ5c>8_zC5lL_HN0!2l04_LrYiHN^PVMHnH4MU2jGguxJR@rTA*wWV}P=gxs+!- zYFD6I>ry`F_WO2z+ZKlbSB=^wuQ&Fw65udI+3$Q9f}yh6xEnx$9MoF&3g*+B+4EF+ZJ zC$mrtuWygso`hbZF-SbCb6h9pQ&;}uN$f2vD&aGkd-$za*qI7M+p(heABQG8Wm z%#FUtzXKK`*q(6RWv0G7s@IuvKA=i8Iv{tYtkgjtmooVYd)-Md_Oo`XKyM(n2PPgBLeK=IeWGT-W&ZK4Ay5is*Lq<6T`ZRo9 zqD^rahCIkJ3-4H_e&F2%c-q{vM>j3B_b(2yLV(BSpyRwS7l6ZW?3<(o@F|GS3}?kU>01hu~=WvO@%FE@FYk{K~a zvgW%za;QtyHJR!Pc4AIM(>0pzT!lHkB;GrZEn?`>s8$y1dR_@~Cyh&Vuc5#RA&8?B zZ9fo>D^JG^b(iSG*<;+ehKMEEJog!hf9;skAMiGiRf znEUtjSl1tiA#2f7nWf;LQpg??sqlaVz3O8&= z_D#~Uv#wFQEiIc#P_5BB8eqNdJH16$9rjLIq>OwfNnxkAAD++CX>lsK>2&owNO8VKUEUj*g z7kDP$y?vWyqUlM3_Y=PW4_Q^=Nkr1XU|kxk%e?io>m-e_lWFZG12ht>#U8kj#(@po z`CfVG;hPa(Vc?Fs2Z31tq(FeT6NJJ{fijjS0i0To*(Fc4!GjZtiwm=~Wq=-vS^Vj& zY*2E}?I-auVZ&2F<{velXZ$juC!db&mp^D)&TQn_hM3s&lVC27{8E8v(_L8cvlX=d1TB;Ooplc|W7C32de-FkymT_L7%5s=)gZ(?bscWf{;R?Y;+nr&QVQOC4oQM0z9Q@gWSd0Vu;i#4BqR)xQJ*te*YMXVdTh=I=YAPn|wR zkGknm9)o!&(~1CicGn$uQK?v>#d{Y?KFb!V^3r9e+4qO8IphIQ!4p>y*h%u1j1dN| zd~*B*0B_xB@SBvwarS&R3NR3!4Ru02aD@t3NOb1J83O2%!|5}p>5)%*B;V4xZ|Rd& z4qkUyJ#+Xj;<1MDzH0N&-=+E>fC=$j=J)66#wXpV_+R|;7t?M3d>g@AWT)O#{Rq6H zt)5;bKhK*^p%IbGA8|RYonE8zk{*jr?bqM12E2eJh%(}RXHRQ>BGDcIY33*M^qOCN z4ZYz>Q}s6 zrSG54QKivQ2M-joy8nT}5Il_GTFAHnbso~<%HQN-F0B@EGV1i?uJY^yP&NAcdZR(v zY=+<^35V+AjF5J-OK_TmZx>#YO0`Ali3HUfUBY|8W$v8`K*Chlpeic-3#b0U-9j ze*SiP+!OTkA143u{dzNIw$wYeUovCwa>bqJ0^EZjjjc+?z<;yq9#g$yJhL{MZYO`` zf}V3pgQ+vdlfh=yE#u&9?{_|JfS&1;{&vW7U9_pPTaI1dLBL%1t*p^ib1q=rmWlgE zKkub}$!hKhJGD*=V=VLRn!y$fr@}lk`w4u;OJC(AfBA1+F9E?dcF3KG98+VAgL|~$ z(prr!*^l)oD}K9B|-{ z0bFSSqX7t)&t?d;Ds;QFRc%o*0ANyA&mMSm-87G84f|W#r=Qcc#dWG})+krZYA=l4 zt^&sL7!hDD92mg;f0#_ayf(azss5%ncmGtDN`-J!IA?s<%Rcs$Fa7Jk(4!vrq{won z0=$c(PYnuD_1-_(+doKI^6(9rzT4x)T#B{?SZ24^XBhqe^>d%4$2~C`K#lhZAqs#e zzh{1WOxP|I+T{*<573bEiZiHy7<}B1^PBGW<}sKr5Q#h# z#a5wYyj1b}KIg+57l2&DhL7HL+%wl5R$dtYznog4Cmr#wnS{{~lDDx{Bk3J#5ErZ_x7W=bqyxyVnynnJ&;f_X8$_$5r) zt7Uf&fe*k!&fndBSAaAk_Kw8|lYkJOdbuWR00EgBP6G|<^qLnvi{A3SzYCOYX8^>7 z@c-ER5;$9m>h5#r&Yio=oqgu*zSh?lHw)XSHg*V>+e>S=kluiPaly8^XJo zo4>1GCz9=gxC-U=Kw$1Zzia>G4g;?AsC@QQPx8pMv-VHh-)%Shs~6Z6LdNd6`{(qy3(le8QEeDcR!_$n z_$hPOUL3%!Zid_c``SS4cU|zbKy;lXI_HUJbdsIob=Bn`4aD=+m%KR;U8jit@g48( z6sxZC*|Tpi;rHW^t-SKZFQZ*2E$^!giY~WSC*779Cq)=>Zy_uB`z53{KI^;#Ns`B!s z8YN;ux7~w_F4q^0fLh=vEwRZKyc8#8d5}2HWe~4#L3p`o8Udr+wC*$%P`m&koYx3N z%?f#Lo=5|z1-aHjfU@%TC)=Js4n1&)5|(vDvb<=)!vz8q1`q&baC;w-%GHVpbjI5e zKm`bVLLye+|8vJ8sB4Ce9#oSBPUfvsvp33$Y^;4sh=ffWyVCrIw?$9v;q+7`{! zlqG!4pDp;a#;E&2fiX&%@nO(Mu4pUzf(xvZvto0d)R;QtIMfl4Qn2Q6L~((=WSMWb z`D{TcaHGuap~|+LqUU6M&}Id4Zi*G&``FVL3eqX4$r8pwhP3fmg!7_+F+6U#AC2n) z2F$=K7XlPa5uoIv&SziDwt&r+FBJg~MU5&`a|BNd9Hc_T()5zb#;18$xvoskskY_0 zNh!}T26=&l0het#VGF^dR4kpOlCU@mhVuY5Gztd%CC3;57!J4Iek)z{3jM*)ecjIN zn_)7CXD%yKL@-W%U@it-333%}1RMi_I$uI-4|5>Tk?KC@N0|F48hZM3o=)eUb1r@B zzrJPV0+_`fx)>-qv)}Hk^vq>dG7-LB6v~AQ;a$tjJNjxc011j-EA2f``*&b9OG#C!z%{g4|cyyA;1_e4_yG!@_ed1 zK^f9wwpa&5b$h5v_9rPZ5GR0i3Rw*}=5qoz;NcFZJ?%74&s=UgcbY*n(yP~@2M-av zVZl2jyhI}Gc=8T4rnCEO&uGl6Dagw;KH%*a@O;5|VGdv*mmjTPK0haAx#htsLJC-i zKFR>^eE?l0hqc8rTz`XGMrcU@fpPxjd~n)1&N0V)wq@5AI{3gr`s^n@E7{Y_U-xpl z?T*{1kF69tN*gBtcm%kPgZ0dxUbMz&aMKX&`S~8&bn+%9Q%4ErLf?4K1^79cPCCHe zj*0;j3UnaWDgbjS&s>F)dQRY8S(;f=z@m4(=UsHu4L1ektigW_^yX(9?up2(t-uUs zecL7!&*JnF@tu(@#>*W7SR2RXLJ>f$%rAf)eqt={5kYg~z927t%)y}Uv7$9pJK z&}%IKkBoyVt`hk82N%DIuKf3p69DxH006qf_dokDDyxx49j?PxusPkz5!WjM9(7oA z@cUP;P#^&7YSkVZNhfG#AxCBN0vGFz5L+#R5-JC9s=pI;Dd%e%PH|19vGajfQ#z7P z65kZopmH>slLFV9HH*4$YgN)qVWxmrFg-^ghdtk7orh(qO;z7C_7@rj1s2~lY~UY6K!A)2H@5& z$a&t6<}sgNBYN3cC(}26x?34y==OM&*|V{$AqH2tvOSZfQpIuJOTzyNyrCelw;03+ zeD;Fj^@YRiv^EIAX&eFOddBe^=*B(z1CcC~ac=V~KY4&&dge)V?XUOA;y`ic0b&`K zmG>R7-+lVToUqzh+i$$V631)IQRp}Bv%*-J-?%5mUhaE8 z^%bivzeo`a>>82ul*1k%F)Lur$$O5y#xR2)FL(Y^pYa^J<0kE4`{1;#j1d#osNy}% z$KB1B({e8Xc^~`Y)m*eHj%wVjsnuTKA`8Dq9{hD^Io*ABGf>TO17^2H<$=%^LC0%E zo40OrvuK{S_!!PIZ8fI*2xh!b{J^j7YtGw)!eVJIL@TYg1?(EKz|M8VHg0L5zYY$; z5&=XB#;8TAm2ST!v3qPoKYsO#;(5a~iDW$>rnge08r*h?P$=;3mdIS@sQikQDa=z( zv|c&t@h3m7C8=f?7s(66)e_*u{GNVCH$;5oG;f*(UnzH+q< zs{gA${R(Ftja*!c_)b z3e(M+W!uACzu7Tg3};Zmt@qN5KkFGaqvP`N@v%^A$x=qXT`(8-(H=GBjmuqp45xV? ztJ7VyN3_$N>-imb-16*S)VJJPPP=2%tiIQGnS}*=uQ9CDUi`xHXoY?`+U-Ug-QWpu z^;!zu7=upqf3?chPTxu;TL-2cKAox?2J9B5&2F5#Fgyh!fT%atOYAiwOeccSE@cap z7S{8F)LBb3Y`{8`tLgA)|Co#XU+9uSgN3;?FymoBfwOJ_@!}7We4B#5xqOGd1 zQnsX#asFru#Xr9QFCz{Bgdd^FhX)V#w!);2`Vr%OMSL`ew+;^4Ly(cIra?mhkwJ-` zgQVxYR*qgEntZWJ33%49Kqi`V1YWkXwhV>-6!jPjcj+3Bq^2!QEl}KeLUGFlZ(Qs> z%w5)rbSfUBtWbyz%oCSDv$qN`bI>4Bf9+sgp}Z;sgWudUeRRVx(IeV3h@@{6m*>V? z0JEG72t$os=CUb@Nn6 zIU0?p1vV4HdCd>1ShTBTGHHi=f`S?A3jaz1k`I?-P% z51`2@Td@p)9S#5uNzf|iH#-8j!(JxQH=YZ4EO8$BTq2M2oAF&ZvOo;xk{~X48`HpJ z%^^3JQ^0BI-EHcDg9IFGrB-*5;A=dp&AJ8)|e5N90?@~A~2>FFPrK(k`%rDW zBM)m?vp#FF{{zV(gj;f(tMJPYL>iuYC>%G>a|1kg6-{B0YzQEpaSD*um9 z*%nei^)ao?vXHNzFRaEyL_SxW8I-vHzF?N_Z@A^>^!y9Xvb-(z3-3j+eC`fC&P9o% zm_2hLb0J$lNwE?ho{jwBg82<5duSo2KOV61CywKTPQ@yC=7PoiRzjF}w#V<qtVHQCie3tUB!mMfz9`n*qNrh%uRR|7RzRG$cRjSr-58?=E^u4GAVwNWGGRUO{dHE>R$*%hmj zG<2YHod5cgas9l+yq!)`b|FiroqeilRyU3&dt*_`V;vQ?!_MZ`Wa@$Y?+GOL9e4eL zp8Dh`2BKXjS|0(w5y10~_ufEr|GmMUZ#Um@H=Xy?C;72m@qDZ^cwG%)8hPnkE@AO} zWe=F$Y?Idme6$SwglP1fbDu%C-4fg&ft$57(&Sz{yJ>%G!wB6!Jx>+$po15#@BMNQ z!Bf{Q`y218l#Ice7d>HzVw)?L>AUx8ZxGxLd%nJI_W??JcqIj$*L(GIPuxU@#rxj9 zbN0KRszcf{IJdJ}ju$?0J4rxMBe~FT`QF}$)~iguS9+DNwY>lLkxyD4oYtD`t;qY1 zfBYD+S1!5y3&txz4F`!M5v&PC)oMNeCTxygF=xG*sYx1}*yzmkNqziF*U(?Q=0a;J z%^zl+yX#z88K*<+b!b*)|e}=Y(^fnCxX#4 zgOw}bJCeRGdXobb(alh$xMbA_xg}GL2yz=T2f!38rI%{`zN{&&Jw%uzsDx&s!>~E6&sU*QD50&k`n2}VBie*^Sv-caa*&OBbwzoYe)9$6l z#=N~Z6ia2Qs<-yew0-~H;2!k`YBgGPeY7KXVP^y{Z9i5U9^3C zLsOb{0_O<)^QS&R&wuuF>FhI};w(7EQ%#@2$9VtOySMsAfY+ZZD%mm#(YaPiRUFp%<-kA}T;eK8IyI7= z;uB=_IzvXEU4jc!Ft7k!bs)@&XDBEZE6)geG#X+7Q&Z|2@Fl#uRQbK_T9zUcaa)~u=>lhK0 ze88%XCOqo-W{H7=0+PEwNu!|3pMv0l3!x|!pRKN$Muq@bfl~fK0~(1$l;W}cXlh8U zL#ct+%brxi9zLsve*_<72eyn@1ORh!aD%##KfQ07#*ZHt=ZLA>JF=2cyi%d88Kmr7 zR(l2VU=09}^zH-_dA&RDG0lKITY0dvvKSa+WrU45FIn%}u$t@wnE@QZ-t^@B0tSj@ zBoa!IN_~Jgvbe{B$J$#sSFX5VYtR-DX^T?ix!Y1SVoX%IpjVx%5zX@TPec;fqX4_6 z{-RNqD^~1}{oEIM?isLW$p)Z2r(Z6_&z3zu8L} zgK$^|9Qm2X;3~+NZ~-WwY>LIdR62F=5c44F^Yd$Hll=_F^DaH6!EOKu!&?@@Lk~Yh z&w0^vlt(IfL&5WhpEGm&W@u=e1^`Vc;8ua=_s!Cl)3hhC{-J)tPd-pEM)_=BdD1-d z{4-S>d|e!P;D8jn<@nqo+tLgAIT*3&KRKmr7+QM(d{`mP~!U zP&`69qJV%nMyYD9=^Eteh)XF{7 zpXecYtg$wvgdEz#DqHWbDcQBhHccc*xe3P+*AM=%z5@sxaqKlI@5xX)G~PEbCTc$Q zbHC%@8a}aadt+-{h#q(9siCW`WWSpU3vXTU+O;0m#t7_s zT=?s6rF-TDpk8j7_?gN8Vfn7oEm;`Q6^8#;uD*_rpV03V(V>3N*F!&k62#?4BlG#W z@yp3MIvqxF))P1GHZl&nZ>xPnPg1%^^sepdBA# zzs+0|3Tpbj3vaF^10cn^lMP3Ja#HOx)aXUeJd19=FPH+{aXU^Ttf$LKy*~pPBXKjQ z)oL_9yI%=m$*v+bN*Y5S?)L%dh0T`UKL&5Q+`#m_-oMA>J%;aER-<-wIE{Vf8WqI1 zkLR6x2HpLz)0?|ri`!2;*&JRo z^ZV61w-}&hZN2rzT9G(x9nj-_Qdt^NXIEcibvq|6^ZL7Q7En18-WiJ? zd#`99tgwP7N2lk9h(hQe0>ss+aPrwtR;W%Ayox#6i)al_*Y#8a=E*4 z!pE!TyD8rN&n+J-rY*IHC^X>KfHmS^jlA$cwhaqW=(f&UHJ78I95j> z?3ykleMs_EHOesxw+>3BLo94pRZk&|`%Jmh9wc7XI?^wXwmZUCGiix?OO-k(bgQg{ z++!QHo=B^#mbab|ylKN>XkEzEOCS}(5 z=q7Yr+>XaD=7D3_c4gh=jPKZ?4cWERrdMCR@(vwpzBlMquN~P|W8G$bY*xM+`?M}o z=SQF$*8#x4y>6vZFVI#Z=2Udq;8H+EclR7wtn2msk{f{K+@J*>Lg>HO)#nWU(9LNN zJtQvjJvIWCaHVY%DcV0}K6r3u7mhIA&EHtMz`kQFPuMs>k51N~S8gED7omJH#M7KB z20RX@V>GwqZ+)r+rLz?pNLZw66ncdf^+t5=vbm))4X5pomG1IZ)9}s)FKu3-TR=?q z2;gpWXOgJ2V}jT#mjXtK%LocB3wtIhJ`qrngTEqSu?TI@kYRA+ARRS8u7*`>+7k(s z=%KI;FD!Bu?bR|{7FK*sAKf61x;ESRXqDbPEJbp#u1srhGVJXSGaW1TRF5uF&&Ys9 z?+Gkc<`tL z%*FKq>XN{w>Af~+5`*!&*T0Ug`1dOmxtC`n=F{v5rEdo06rxc|RVq|4fCsInU(Z2# zdusq_!_5beHIC5W1dbgyrU5!)u90<7&YsDJHfZGw<=w}{Q_3qne*s)%rCoKPyN^SgZD16@VVR>E7&d>z_Qr+zA3=hW-FzCQ!58={gw$ao=VyGOPp_~DA_a%u6GmAt614P*@@tlI^WF=BnY*X^z%3}BIL9$vhNgb`>d zrix>3ffeU?ETR-^ z806$fBlCax&_O!0gG#f{e#sxv7ysQG)Fj(&B_7lx7eCM0t^q4P-hS)N^t7j+*Gki> zj#3mOB7nIN0O&%P&-%X$DuRIj`26xKoZN%>pD%oz291K~aDN}oXUZfohWwa|_Eaff z(y4N_Mtu1t4T!L(M|%l_Z3;XpVhSi#rBuAv0&syZdw`4gMu-7uxF1*vQ@&?PPh>5; z=9tmp9_aNpZW9379N&O+$DOc&vSKe}@1*@cT`t?- zX9oJ~l^C)1;NbSob?g2qF0zi0*)Op7mur8$&mxh1vN8iidPcWfRI^8ZW5s0zW9=1^ z3A@kRN9_FsIYwUNeq=5~-?`?Rz(B6gf8%<3_r;b5{eON=7ro&5*6C2J1%E4QMa(i4sQj}}A!KuYX+B7j9h|N$sP4fXPB}-h?zf;H}jbzVhvF(km}~Q6RCd{lZoB%D4V`Ali0`#)s{7V!OO# zeR$b|x2+)I^1pr;UGl;A1tD#j<}H7$_f1=7&}v2TO|exL?biFse}9c$_sZ9_%Vxd) z8Xtk`D!3L~9m2!&wgJmld8|~um+rLR%U4Q<)zz-OI8MWZk)4#$P$CN!q3VG+Xx*T6 zUIMgJ*Nfju=B@6&bVIt%^K^3zis?DL@AgoqKGw7P*20ZC;2xJow4uv2})5WVCK-V>F77gbO*bN$W%7m0b_)@}g>f4WUqBc6h^mWg}J{#BJHE_maDrxE@Ekj6iNj+gcc za8#gXecr-cb<-nSA!I&Npri1#0xt(W5p^A>w~P{gL)*rvZy-f|gDC}K^71s4pIV@^ zPkS;sKwPG+?_B>Kt5pWpSQ!B$nfVM|bm2t=Ph9*%)wr3j@|isGuNh0+JNN6I zI6x5_pdK{^s1kt!D)x}+6h}hW^QuMYKz+h7}APYYXq<;e)7In>1tJZG=YL3 zWV3!y*Gtby*FY73Vh+u!AIqfyELO^jK%RGA@=lTK?vw8f0^Q|m3r!=n}ljOo;ahp3d-9<1;jm(Ox_ zF9^?O8&49hsF;b*5g@LG!}AvKmBDK`@3^qag|hN+HNJhq0UReLq_VQFP!Y!Cd( z_GBi{Er|HG?3em}l zpcJ&zEWlG3egM}nz@||hfVp;Uwdd+awCVH!J#fHYQvn3-27)Ubol8tugvJjb8~*X! z{l8!TCc+PZu1|mbU(~OW3@F1A7eB07_~%szihcMoNQ-Imh34=6zxSfwVe+QO%P+s& zLF2K6ca+NnfMX0ELq3CEB~43loCDW+03ST3_*n%xlYMx%(`rnKxVD81;}rmL!IKr1 zH~2}QV!2Ya_AaDsxWBQE!w<{zXrxE|aKDtQHTB~;K-LQz?}^kDK&vknBN&u{#{h)0 ze(z7{IsZp1)J)G8C|9hg`vztFS_H*pJZ5q4$xyDXZ8O;mr(M945?I;jKSkv99Iv9ty^7N~1tsJO|a_iGnAmHW>%3&hIfe7E2ZN z3s|*|jJlBb|X-cyZy7ajM1}B+Cl&p;m6)s-E^&_ z7c)fysK^gk)C$klSO;s%tM7SaHHx+(GHp3wCw=aFKkHiC=l=FZwB`7n9pUd>m9@t5 zgqoV3sX6^Wr1dvnlMgzNC55iJO_U>9M~*O?N(cz_W`0 zib=4TY?m41{Rknb$2P7vby$0z=k#Ok2#?h9-YCs1W@#3`g{<;i4?}J|rgBX3#WLlK z6)F@f$|D^N-{5(P{9Lg_xk8EZ#gcjr)~~}6bx!%5@lo=W08Y;DGYTf0E>)|PaBnKW zAeM)vjv#w5%s24SOK?%ST8lV5(utzF=$ICUZuDgRU)NmY zneUZ(<%d7)mEAB804@e`H6&aw?Dz$&ASAzEZFQVNOA|&UI$P|J}Uthf^^+qD!dABw+#WeVKvDN~EVp#6A*awzH^!?QJj3*_-S*q5&w8U_-b3mTPewpAo453$yw*+y*>rN0aWNKWD(6|nu2y9(fCSM-ped!)Y z&>>H$7*uP@;|=%m&o2Hm!p|MjLr`vH?=^NQKw=J{9PT@D?=2dO#C8p5Y+%%0@FTuB zt1Wi>oihpe0w>XwV(hi(RQH%6gtsq%ZB#JVF^>=5i@H$%mr5AO@uK1SvYw1L14Qv$ zh&m4W4B$-iQgL^uk%?QwEGuwb^7-7dc?-=Rthb`hUcj z0&O*$>+vj`JLI&kCa*GS00oevkIvABUA6*JsaR58rQqeSkjWDO*#Kf;4Z&XCf(YCjk7=)7h8X7% z=LpZup-uKY8-$k^4ZvJ(@RtUPY5sUx@Y4&=Rep|x*GO-bj?OL-JP9FO_R-7KQ9gf> zf%&qMNK&$pRnu7f=se9W<}IZitj#cvmGKdUMCsq*4dQYGI#gqeO9}v#Jl<9^!8rF# z&(rK;&H*6($jARxRpEauFYbrp>>@=6Q$mJmH;L0`j2@7A649b;%`{SXJ2TgO$-@Bo*(Y#jIXm z!L!QjVv#nF>WyivLB@v?G(DeJU^RHjKQnslk2%@Lz`-CHfN- zi}$VA1~BG922MIV(ESuZg3_xv8uamE5~Th*O?O8C%CYc(dMt)hcAZN5XL7V{ zOuh{tTRmNFFqeDu0O)eOKf4LKnEvp`K1CP5^-XQH0FT1W0zYe*?$zg>M%Vl*9FT$Q zt{>M&pc5kiFxPXR)EU4P%k%cjKTW$%Ka-QI>UjOnc2gL@QV`)k_~|dv6V7~U5K>>7 zM4$Z~L(awSy(vEiUSJb|N3kfzymQ>dkUCX}skXGv<5 zDVD64fVctGz{{=ozU4Of^FE5ByeWL6E;E*HyhXBH?5Mlj^&HMShB zk0&*nTgq7mF!*}W{A${hw~=)*Q!wK~l#JW!LR^2t16W6C!i9|9M|bN*0l>A~fyc!f zB)rCXe2;L;rS_w(G18^wQb8Fkanr&G4?t+k70Q(|0mRjbP%P>_6#Hy?bA9IHA5XXL z-c66&vc;RgC-*5kchbWyFI+yP4YPm$?6Vt|%fg;V?~}>(c!Lob2?*Y6z`{`k@K(D4 zUgP~jhc0_R_JQ(0ec1=-;!EEih&C)yH$hxsWnuci{j)dI-~U@@0bKxbJ(k1spZ#2l z_j!BpeJqblt9|dWRwk`-Sg*G}0?kIi|GDH{vwQUUQX^wUVcYeVzB9S2Nfy5ztpyqV zWM8HEA&1l=w<4YCSBKd(7s}P3E9v~YT3^_le?W@e4+r;%9*|{gWL@lIYXa5R^3px4 zry^Qd@YbdEqFsr+p#A8yZ0)w2O4WO(YnP{2ALr(r`fXk`t0}J=W6+8IEw@}tA-%r0 z(#KNCiLGgcMmS=A^U!oL%6AePXRH8%&Hj})Xz;^;DQ8fxsu7Z+P zqwvV#4DHy|*m~?xe@uDgYQ(2gWwACk*rjKUPRX-UeCC!)G@SOozM!}*ffSvV(+$*W zu%B7i^wfNoCXAPiy22(Iqk{>WU8q-zY*MXj#eM)UZcu&9HunYEZydU>aFDKwJW)0+2T*!M7hVG^})uN&ssCkd>LuXiJoWHZkB- zXvxmmAOh5dj0o^H0cA#3ng!6yZ#-0mCjTmN-EPI$#*CMpN}>3O%pcI)3XIXEobt-$ zZbH^^m-(i}STIdwD6Phl)i^m{AH^UOQJ+v&gk^sYi1*` z573{#L3^lh*NgG>WeTbW1gWk!tYvWBwGepTBH*{A7KU_ZXlk(>6Q0=|?w@Dz7_k02n-bS%Ld%GTZ0CZt6mjo#?4S>V& zT;c^*1aJ`ZU92xgu?_y~EauhdSj-pc$iqiy(@C4uJ;neyt}{3`NR@1!#*7!MAmC|S zUkJ+M3NvbQjK+HDz}yx&7QUc73V1Zeyq(E8oznP@oku;^Zj?&!T8JgLBmn-$=_kBbbH;epGU5I}dae>B zKz0x3tJJ??gy6IauijCiEN3zFh!jT5Jvf(B0QNrPAu^J+pWwy)Q`EO@Le<9YGq!6p zRSwQ5E76eg(l=jP#~I^VGzvfShv#W%+c@Ew0T?iTvkxAk!$-3;ddg;^saXx=#X2!D zPLaIxx%=)*|Bn9hl6Td$5hNq1()~N%^5^uAA8~@x8u161>t{c?h5qA6Oi zVLid`k-bsp=Ed~9HaQ@%>hNr)LJeNkYr*KtQXksW%hh_`PgBQHM#!bIb z7eK~Xk8VF2Eh|r7QqHDv^Nd7)0Nknw?VX5tMni7gr}B{sZ+1{pjG3W<=Pl5o8uyJA z44?mpe`=fcZy*%jZ&E`x-~-+cHxvqVWD#D^h{m!Q#|TYTYgB|QIw?>CzH6aqVgTn` zhh{*nquC-|@|SO*%m3w*T&3v|V6K~QypdjV;cqvj?Q>o0ZeoD*`~t3-rJVmpZL|Hl zW*!pd{o^GAyy5wUXw+8r_M$128t=;#OaA@#;^)p|Fr+&_NIDj6wuW=Que*7=jjOoJ zo28}Fax+@La)7yRx#>o_@OPf;Aj#x&)Sqz9uaY3$pbT_8=W-ofp3SZkrae}V1+y;~ zHFJ0+fI_t#i!jgWm%r-w>FF0di%vi5bj5<-Q<>%F4ExP9&3Jx;FE&v%ad-^||w#;^kzILe(IJyUL@N$&L#Dvb;_{_f(*82fOC9W@+7A-B;qKqimp=1x`qF1U zM$N_?{QSlp@?LSn-9egk(0t%;ZAItd0X^opU#5>PSj!`M|3pSlu-0P#>jlrFZ(Vo2 zgI}`*z+6{;`lIx<&;OgX$vu>|*DhG2a)1{f4r#GJHn*hLyWkZzeCG1MRqIQDnY@GO zt%!Ql2Fq1!Brh4qD46ss&Oe>LdgDF8m>Q}d{`h7GxJjQh=Z+aShvN%h@(TK!fA~R(Vptb=Tap75~Y^9&V(^iOZ+x>g#oKrQJi#emZqj@ps zo%_6t=#Ss_o)9f)((hmMbxH^jRA>gPumS*!j&W*P#?El@YQ74CKamLW>#d{_r&VS5 zrxKJ0*iM98zCdv|A@-kOJcDmErdRK)-RaAchgTtPHq5bDu%BB&>H)+RHgpQa6|~(> z0=R~v_A|n-{R?&m|4tJf)9X+_UTZl&9*t6@$@}?g?%&g1@U3um@ z^QA8cT&Ee~ass$seaV|cdD=R4=Shkl^*Rw+0dalvy5Q%h6Eb#_$2;Eq)^!k9HwSo~ z_xcE|u@UHx>u=A&f~La4001BWNkl zLkm^0L&WWl4cD)GckhsV%gtu3_G9yA+kkbmFIsu`XKvLC^+}YWSKi2Gq@Z$ z{eknJPKIXV+N`{jvUHPIH~O($Jd5W0qTd&irsKAdtI%N5|D!w@45gzqztq`_tEpgZ z5AOD`7wrC})`w zkK-PUkn$GAUYr1=lA&;T&ax<4owM&tsU!o7q5T_e0F9-9BpLa{8PFw*Bg6elF<<7n z<0Ydk%5po(%}D@|0v?P~1I~|t0AyJ~o-lJwj2|~nB`68I0z8Ag{he=DKUpL}nttHp zSV}8mDvx`n%>e_91BgTgDT`?Uo|tfs)Eptoy@0B$G$zk6*kJJ}`>bRX*FR`bM{knY z1=iS_b}f)p4@45eCr-?ty8lGpvg-mjQ1pF@_}?LA2W5F5x0 zdR+g#9v(N3d;D>_8R7ke+nt}(&p(z?Ue9>WV1D2+SUR#uP`r+&5)?PUOy;v?m$oJg zIV!~pl@@a}a>4{nKXQcn$Abeom>(a})?wwD%jpe@%W(v_8P^IFN&!-e3WdV{4Fi;) zSyIpPo|yBwgXd)qz}TAha0y;s_nB;qsV+NG|a|e*K!ShXQhe)4AuIYk7}* z!(Y6CuKePa>P{RzevIY@1}UA@_MjOcw`9Dku@nGE0Vq|@m$W+`v7E#_1~6AV6(=}P z!rTd9#rXDd4fe|FIT3vg6Bs}#no=OH2%f1xi4o~FOiwQ*YekxU=&&z)1t?j_QYsOp z!oDerA2&g{M-4q5+O?YU@>QG|C0fcWV0W|}B`6pD(VxDNF1_sizPy_i$a{flV+Mqb zbjg6XP$j7-TjERX7r{%`xE-|e_p{&siT)S<`?|lA6Ya%`1)s6 zeBZSFtmeXu0Wl4wJmx_r633;y{f=I3u!D{zU(LoL2@V{^-Kfv=X*)L4-YI_&GS`sD zL$f*h(EI;^K79H6WVUZSQ>amYJVJ$HiQ+CVHvn`YWX;kS9=X~Hj%N}l?CyHLG7Kc6 zv}g>_Wb#GoH|xjIfjG@9+LqX*T+CYKA>qidDSfhS0ukGO)~Qyi*E}0@nF5VajZQn` z`D)$ptGl$4@2(4;V9_FyUet44)%A{VKaGiEM$tAB?V(2=yqR{Ke6E9sSK^c>ok;L* zh>$by3-i^gS`Pvwlrf6kSkXzZgI>Jcd2TF2vrRQOAfcXLgNwdO6zy#Wz9Ev}EjRyW z>92j|i=lvA;CJ5n=M#G&Jma@cp?!NFZPv^&Q(mc*sTr7SwRUzPSENCq2)`QSga=80 zkHds>pK(4N#XAiVJ@K@YY44-mx&EYW1-{RDO&vzwZqdSP41-;})rRB?K-chqy#gyW zv66PuaU1CH(ctS@cr~8cKSLk*@CWFhKKM_vX=PZ!y)WS)2#^>7K*v1XG6mZ}Pk^e5 zM1qQ@j7OcIb^Yi{W}W8;D)OthTJp=~D)qWN>wM=Ij}SmwK>~xh7|?dxL8q~VAUuv0 zn%Dfv8wtPfeDzBD{70SFe~>Av}+J7{8~|K5jR?Navwr8ylRWcRXQnl(t5dv? zQemy3?~leeqU+J4S^?-O8FvDJVOWKqwe_NOe(c6aN2wDauEmf5uKK?D=NwHWs5gXS zk3T2xlDo|J3Y1C<$~}*^{+!~L&UxySRrIzy?&7SLkNeF&*S0fWMwOXx0NR!tUB-$4 zZmkDWU@nZqRo}jvKKQv$wKOExedbEqFa{H4t3OM8s-8UI-|9p5@dlt7? zHHm~Z0M>+E8^v~?+hF4V;j}%bovmHh)w+y^?e(XU9(yW5c?6|vC_-H!e}kzj=upPM zKE&{yw#S3ykwBd?J|G0#s||;T390h zHC8(G8%tPOPxd(#UHxd+Vt%errDVK2{Yxi$snEbca-(^vw>LuBe0LU8YwoQ-+s!6R)~<9zICf=cKo<*9j1_2~})x!ywH(s=+uCRED+@ zatk@dj+NyBHuICoOL-W1P`Jl&Vbb>Y!hMA|miiE(f(u9$7Z%{rJ@#mVx{;9qtIJsa z%1^w~Z0NT<~`0`@Az%0OndeXuGV1 zHw3>>OT;PSvUI6voz1IrtU!I9*Nh)`B6ya}L)#zSjF7`CQAGg0B!`GFonCV(STkL2 zKBvGUoNjbaF9-+k4 zQr8TCJQ7sa2%IS^7qc#9H!(h#Kiyy>OEJaJIg}o8&8YKi3JoAuwkPAYh_2w^A=+2G zR0UV2U7+N%){%;x2Q4?sfFvWQA8RJ}Jj%L~ph2^eOvbITG@0(Pc3%VD^MvH6K}j;l z4eXL-h~v5`WD0~o1O`2`cQBlr^k_fTA`u1F84^HD&_l-5aFVhDoCFZp;Dnx+XZGsn z8vrsrxjdz}Xyqb!nS@s>ZcoY57p3S}T7kHb&dn@Rd{`@M)QtrQd;$PPlMhW2p1%Ng z4~!2GJhmWUj1T_$po-_03JSmjk7fw)$b}HwJVLQVA0=F1T2-jVC{6t%X__&hTRabu zZWiFdYk12DMWO&d)kw`Luo533%FpKruirc#EEDs5`5(NTzV?N$aWd5Llb`q`;m6_j zJ8!4ketH|-{?ps(```P%&i1iTP@S438XFdzDhf z@^s07Rt9eIk>$hMje&w`0Q5)F%A?lMm<9po9-XA%1>~y0 z3r9_PW&)TC;oN6jKmg_Z)^9z5CMHJduix=E-0X@TU;WY-&{f~Kt|b{h_HUmd{5Zgy z$(^^~Ot;^9Bi(+>O`PpGKIdhBObq676ts|7$QEc&d4;O4oQT6~l#PM{n2YD@-X2yM zk60TD>^ZicQ?Q)3z2k2Pzpdl8l9x2<04}f}kas=yf^jDctj_dK6;95rKSCj&<-mGm zAyc7LGC{FgmBt4Xlq*)LP%KckP*EPWU=W5w6oW=Y#d4V#5Qq;~JdV*wjmlL+4=*#u zFo|O@{wn+cV%vnho7Y9p7GI?+041X_vqxtDff}9b3Uink6}jO z=l4G7AiwqI8|hR3`Z1~&vvkL8H#^GK6YC?;=@IzF{kG>F@c!zTzewM^_FFVRKTo&a za--GU7uYjsh*<54_2Rw_s!7ki)Vge-4=>)Q!G zHlEQ5p5SrQ?n4gG!#g)=;~Y)-uiOwf7429hIAg;w-Tvs2mb-WJ?n89mNx`j$w%m|U z#a6s>F{|Hw#cK&a4)@=EC*60~9qPw<14BdfyDxt&o%+P5a8}F5=_CF|FM={{#VZ%{ zzUY;&Bm6l0`jTsj_l~GWDki=)zaNjvoJ{vzV;q0+C?ELk8aeM_DS-$09fsF&47MIHK8uji>BAn)x{!R9|6vR0B1N zn~#p*J)#Wl=|Rzk;p`pDg(Vmg(Pdd9A5u9BCJ;~Dd!8G@l3*x!z241 zrQht;Kh8_U6Lj8LPo*8loxoWwAOHUH@J0w)Zmflh+mF+pJWn|8ctRY<^{_qy>m$(K z2<(0IH|;U#aBZ`?48%1IZ6JoLhG_YFc5o^j7!m9Jy0H9W*NL#!GFlq4mMV33WCn~! z_=c?rxyLr1*^qQ~6$-(d3KoX8DYLE;%+1^T2H_iW_0yFM&u@8ZEG*c1v&++BeJfrd zjC!ipa)R*AX0`JL*@C;?kt2E^Uwu3C`HnB^z-v?(&rxVQ2)%40?eT6b%VmH1`ugb1 zGtYGFp>eraouGN(5tOzax^~*xy?eJZ!o%K~xZm!hmwav-zqB;+<3$sccO$y8F_10! zH=>txh&Q8!{?2{(+57d)=$U^Ix*#--_@z?yddrP?E-g8YWV^OmxvBai2H6YDB`J4q z9-`kIYUg1gxrL8U&HH->Vs28wiu1a0oS7@q*s%8C(hdGWdBUR#l<~V6svc{6*N@V}UcaXDq$U%e z0E4bk7mh4YdMr&#vr7bpcPPy(?06AE36lGA3 z_LB{Y=s|%W+>YNdX%zUa@_FY2!^#g4fhR8Z%H^(>JF?&abIDG!C171Aq5ungZUEkr zfx&Ia%g@*z1OZa5rJH|I0&r?zi|sW?@^;4oVgNV-VQ#NROb?%+QTKe5b+Yq%AstC4 zHRvm2Kc{-55sHfIWnrJ@moOgc6rTtwpqf%X%jGREVkm=E%>L~gG+)yw0|})J{Qy)% z$huBuAJWzo#!k^65+hrrj|HNt0Q8yf;)fQ$bf-dGM}rcBQBhp_DCf?^hkPjFPaOC!3wC0`w;gZLT_9znYcaV;hwjG zk*{jJ&>FcwR@y`$KRh8JuxyAck6?zzeXsy+?t&2M zYKfIxLR9J?X|wSR(iA|#xYqjE1A-Xi)S$NNF|&V`a4qosiaFmecwO753y+F2$ZHGv zs-9`veed=_0ToI`g))sDH>U1k23IkFZg}&s@~~v}1DeJ5*|XfZ$yP z0oV2U=bx|Q&Hl|DJW9RAB8{K2NddX|nU5D6cnMRotNXO309EkD#b6={dWG!l=?rbc zla>Tn;rz$@69jKoXtP-uJ6_N60DYmo#Ul$2@TCIOWeR$%1T%Oz`~G*nPuE^|Exqss zFBB!MMW6PRrxAYiXN~Ls$)Eg5V}d57$DeM0JjJ?2f~7I8m}BIeGe6b-yI;F9H|bK> zif_Nw8*tT1gYag8-(S+Z8dtyk^2X&2N{3U<^;5oBZ_K4Z^*}|(PozV8_9l>i5IBjuYd6ab!_ynFA<}xX^S_k zdR?IZvhkK$a4AAI;_Fq0eQEa?d(o}tyd9g;^vL1%-^I|!r=NGe`gOCv@ZvNX!qZPT zWpVS~GM1);#@LFxtP|-yN9rxAb%Jj@JSGN%dEfDCqZO}Qe!O1ss{c*+bu(-lb}GTT zfm?&AK3Z@a!7%$Qa^Iy}GD=WYUvIAh`F5);y;4DX%^_ZD&f1Z5t(@%96A>i>wN934GFvU)xRR8K{olaN%sC~}_r#610hh-RUe7k|Tj&Z+IkrrY3ZUcEGV`uibPuFE z?eVe!nLNna7qu%)+ZU^jLpV9p32)st-XmBlu>OPAH>qpRHQ0-b=3A67UQ%C&b81v5 z+-4HZE1+jH)7X==`)J2(Hq0HzZJT|-?G2iXRG{x-b5=2-10;%6Q(L!fmgKT|&o~>s zN1@_vHznxp%#nc!ozEx5lgiG-`?MW2ADf$9!m(W^pKcj%QF%VZoIN?YkE?ndnM!xg zPKDC}8630?`Ew)uJ($z&95-&<=vloJZ7`2qF5upykc8`sEYE0II_QKQK75$igHogV zvJBpR^2*4LEru+&b9F2TD9c@^n`tl5S0~zQGzOjEe=P7=4Pz8U2JG447lfA2%W~05 zpj?nPEn`$hP^FceDb%PxE}vlBjrNc5z6CE_jRH2HU_Gr-80zn(`HcM$$BT9;SD|#W zF=z>jTFt;*&C1dCppQQKa(n8+1GMqTd5u(O^Ps>6r)KKV#XDs$&BCRsJ75|4e4G|Qq zWniB0X2Ob&0AZ+DQCGc3K@T zBg*P(db6?mY$npdtvby>iR__S4bm&l$v)U8u-Hec|Js1 zjwR=F9?l=%cXAAw4__njq|{2_IWbUOdx$M^mea~;H{#Jo7?yl43sSk>FktWyk{DN} z!Fgx!lDjQ*DB_9$sb->dgC$W5s9B` zd~SJu!u*bBKJI1Z1rqC11IXq3f1=kwi zU$t75PMAp2qf_?v);Wn*h7;e%QS<7?2I|=oH?DhLfBH#y;d9TUZ{N_G*PjY|V=Keb zc*rZvtatt73ZAbSHDcGOEJ!<8BQXygGleSkyS+#o0*^iZAWc~OnfR0^JXdLYKJd#Q z5S}ryzL*1)s_9rNuEj!_v@6L}b&XjCc0~2V#h&}d^NXw4uKXB{brQ_=7#+g(ZnrT4 zodk2WAx5C8*zb}1KVFpp=0f208{*BLXI^|dkq0mrf_%<-yvBE;Ddm+Co=!R3cdygR zJ?F2~5$BEf>t+}0tx5XHH8Pl@i0GFBFL^um@nd1-=ZwK6D}#tOi2aTuNA33rNz*L; z!qZQnYwvlq8QFUIGLFD?U;iS#;APzfmbTNK=bc%v@V1mKQh$JbTd#J%^VKUI-o(6U zRx0^UUd2DXC7 z_`oY%To@0{=L;0+vA_Rv-F&%1$mRV6&Zk%$?yIe2YZ1ukAzW+BtXfM;8H%^!Da+#E z9humNvjM6`ce8~^j>yf$-J62vt;>NIND&Ipdg^>^xac&udILvyU) z+nN+F{DW8113$jKwaUv_s}mqDhAe4j>v zUBe=?B1?#KvHFRYO$EH_^FPf(v@9BVKt{p^jK2R>Vc% zn{0Zbd~3E^;3uN~Ztqv>(^^P!A1)%h;|vAwCecncEl%l;x3#~n3<6?k(le{rkC$J* zRWU%M9Ukq}^%70;+rNLm7m3P~bZ(+WGk>}B-RVX=+_cM;hBq#R<&v!%?R0~u-}p<= zkRQ!*%Cnkf@RO~R`Ci_*!tysLh5Bj-rWa|e0Zr7G>YScP4^?YIiP?|v7|aLQi>-Id z?n%HBykWHyy6s6TsBBxuQ*>b3^->YEa+m2w2lOP~2+-Bb=m;NKVr(+qr+g){7qb-_ zHhpVg001BWNkl|k7; zQdaf>dsf;)USzPJNOA@;h~RpUP-^oi5)V3yJhTr=wU@}qvU`d;Pz8;5AgfFvO&ymBGnBX)jDd;XAM z=}NqhVkuwfnpYDFeCWPz-Gl&pF+e6Y>;&U7s7QLQlHe=`&A545Y1eu5%P$$P5>`2p z?Ey+=A}+pVOkt{?y&%&@p-K>)&LN{^#dDVa0#>i@U9OD-nRX5ZLL2+fX*{ zN1hj3;m>vW0}Ol8vhu4nJ3IOir(+@jeA(0tm658leqd*P++^tdB%`0zc~Pmh2e%hIK)&@iJzYAXcLu zqjVP|=NgO+g6K0qG-AB-&KfH=CG%0(0StCB_f4U13`Dor6}lw=fDw4@kivR?J*W{l zR=`}Pa*bkP!I{f+4Wtr1l+DY#c9|Mp1I=vT&`+z;<5;JL4xp|@0ph{j$#Zh2+GvFj z6sQrR{P1bO1YWu;AuV2S9!=7r*+$9*-VM6nca&FP@g7^my9wS)E5UXZ*h4lOxwvJ& zzml^19sRraK1#1R>lBBe{637eIOy?Afw2snXEqkmo2dT`a>vwBYn^}BtTx`nM{WQH zUO1q4EHmffc=cUIIa`d0EJxg{Udm-W>{-W8P??eR@SIsF)19-n!5oXH%emGQ&HkNL zPDEe1{nzx$r#+6YzUL8{{g{nk@$vW5>1Uop+qOe3eszUEeBK!y7wGdJ{U>_DSx;Y; z{e4LY5SM-TwJ=0pm1{)P#*;bLrvt`t2S~AQS5<06a~Zu4k9&S71*2(1FFo%x`o_)o zw;)LSRW3U335p5iU>T9I(HIay9L5t>nVN6(WRwF~#wgu_!O~p3~g|+ zK9PCzP6pms1E@aLfQzz$QFfW`aWWpW=#p{$ECdaL@@fdy5uvf=9w3v3kw^)OM|K%r zt4-i_6s{?ba~Y2L3Q@7vLmrqfNwy;KT#nxd8a&8bknGn757OhdYzb8}Zb1K`Djj3Q z(XrE)wMXf=ZMd&l!)qP9)vSME%XeMyv{en}>J*5J$K}%5X&N^+-4P7u_EUI@ri*Tl_&MooI&l z{X4;HIeEPH2{vFXSi4=m^Sa1>C^>Ge>4WukjZ+00%RoeJ4#aY_Q7>Zat+rkhQUs~3 zXo3*dcPn5{SD6QtVP(k{^WpUW*dvl9^)WSso$pMipLu@#{PL~y6d)pbg!RTH>jr3Q zSxAC{xRym2(@3X0Y%SM#ccYy!Jn?R`9#(Dy!knuxv_X4R{{=H>O&_|Qn}_H(hde$o z3VL|xf~T(a(0BwG2lm_{k)E@dcXK2TDrKtxb40%O%Iu(Bii#F^ODD<$vKrwZ}bK! z$`9U-dO5w=OdACWE~{p8)LSl6*(mJBlKyjo7Z4GAFg6mD#k}Qldau7y*lYjrwRG)w zuce-tzGeaHVns1^9~wr_XNPcp5~h9LjG>;Y|vMxVT5z8w!q6VGI`Ij~Yv3C;qo4fnC#rbMt}P0r zD0!oR!O)9S3rYi(L1fJHN8kPtopO>^b{ukf+8aGV&s(_e88i&fUVHA|qpBZ&`tjOR zQG^r#Oo2sl&B9V|u|i98OSE;@R-FN$*zA%8dYe5sOI{wiEMgJKFKUlk0Bz+K^<x-z;rIy+_H%pTLVsc& zN;5pSp}cB77&7PtdB6MYbLcxiylvGFN3Kw%r1AX3^Ifu+C~ww~yy4(B*pkUtsXt+_ z?V5G;)Z>QfSNrsup&4x}<-E2*T?S&s%sX)>zUPW1xOL5Y$(e}tP^lVG%Jy&!p3B#? z_Y+t#@9j~_*Qf_?sJt{z#qG6DrK+vtYZ@rw={=I(o`?dIAs^5GGHcm+3E`P%df?~? z2+jLNUA|%Bm(OjuQ2;1q=D9`GI-7K8@@frO#e*zc2(fwWQQt3Xv{s|pLV^0?!S~Ic zvU8`!ZrixttFpuE%!6jYy<$WRI=y9VY zmDQnG95XyGJ!Nn?j+nd;{QMExdd3dRBJbgcH28(- zq_tdDcvoIf)HgzV**!2epuCz4j1N$GAxpi340>WtojXFAwUD!2gGXa_ztKuGU!X!s ze<*`;4JDoBos-1oRD;#yCi4!cb4Rqr<9MGwYdu5uON~=OT#qgOGkA|%gCeyX#KmPe zW(#E-%w-C|hp!W4F(`}cu>umO`N$v}PWSZK=bZDrj=1i!M>DQgy(o$DM>CZ0@lYo} zzJTqU5Z5q;P)0J{2wLXiZ54Q#SOUWGr$9ONgW_ex< zFR66jsQ#6ozfu){`D@SLBI$=ce4i!K+1TU^Q`JM zw&ofHz1Owm$;V`Jn@l6Yf1JlhfW2g}09``aj4ji{J4v~iB>3`S3kY|r_?``qKvWr9Y%)b zq-7wQd#)PKEYTyAOVqbvcy+j|XmL;u9Xvp1JpROvc!t4z%X9Dj_x_TOHP0mgbH!t} zq7~jh5UdRZ*Ew*%bA|1h|%a^ie>@IjzZO(lrLjl*rR^)OIrC8U59dMq*kM1$ySiQ@YNU7fB)xaoMO73Gp?kA zwo#dbFk}Lta}H;m|01ObdEd{zr`9G>W1Sx5>^(GQz-1+K4u*^;u08`cNQn6v_44Mu zqcE@M_NaTafE)KYCXFXW6l0Bq`ne@7bJ7@!$SpO0ZuqcY)!Dt#s0BU@Dk$ccW5qL9 z&_1uzb!G%+7xOggG6)lvGp@g%+;*$qE3omq8LY?d+octo!;;A5xyDK=a?fG@h|c1@M#a z$ZkHZr18$|UMsi4XT8qKjKGCY-9_KNTTtUOpr7VqD2DO6LB6`&`PhT}) zE`YdnXuJw;TpGOZbxLl6aS(+UMef1`{qVcj&?CDapbvifOCbblofIH0M-Y8LzAGux zF2N14MQ=rH?wlp(@Na$nEA+tq_tI6@eBUPQVoZU!y2$^r#hTBkf3KA{E>T?ZvHDw$ zH2!uB7W4CqluY!J?P*LiE>(L7zA>XN7SI{!>(lT4LIe@TCS~(Jhzh>Zg`@RG^!k$e z8&s)ie^c{i5VBxbBtld2MhaPfoqXj-VB?SmhR549qPy}vSsn?nHa_{hr_w_=-?2Om z259BVZ~k`xs@6$X6PODiuE%Ql{FVPflT-FLq{r$wtoM6;1lC8udjuA;^}1xv*haS4QHe;k<^}+Ee1^@g#bDYl0`OWEOE=s261VervaH&lwY#hp4zh3!LF`gZ!VYuB#OI(xFc<&;&n+iraK?%nOOSho7BVT@OU4BZ%T zKRv9#ZEfE$Kwe-j$pBW5dX$?MncG^t8eol5C^lC5LU}5ofn5z>a3h>>J21k-7{;6H`u4r;yS(dq-yabt^JG?LRaSLX zo0*R9>(0oC6DLkYMP^1uo->h6-bUMx{A-5&_& z;AECgEwzIkyHsgq1I*i#o%Rw1A8!j-K1%zs87AH8{!2HlU088CN zG#aA1o57Adv8}kB0f3k6cZX<;C>{+_wbr6ab%RhxTTn*o)bg434|yz~KcztzUZBb3 z{&58+SU+hm0)eTlXv$;`Ojfer|I%1TuyI!(_5@G9uEbvb203Jt!gX`=-F&l=!yW;v7x!Q|fVuA(N@xK800gM4RY-zQz0^(~#JD0)r!mios>krR06-pjeLJIh=yKZ+ zz|%wrfK?{|lv|hMyhUwbr=Gv_i~FuacZU-N<3?>=pTxd8mC8K$K_ z|8wU~%kTNXd+4{W`Yl!F{vX{>vqxtYfC&lAJPDRC2AF|Kiy1Oy-EN!x&J_U50P6s_ zsun6VbJ4642Y_qtb`4}h8yNtJOfYnL0kqf8tW$1AGY%?nRUf~#pKjEPdo}tmHJ(z8 zU<@GR_Tj$aejbB~?V7h-L)X0d8W!7e$7C)=wPH;%Pl5Rt@tJg(;`_BD1Ds)NCl_{{ z-JJ|76!LW8;r3m0z22jW)heZ3yC(0;rD#EbWBlp@nCsU2<|&i0f$4s-yCL1p%=KSh z|0Ykf8`%s+@&y7&MTY$oNqX4Ro=9K&)YoLPXMEz)b3N1L-nnx>)J%a8#Px;HY_%vH z3Q@V%R4i80V@Wz|*bWao)~S(YOz&>dqY-Uk1^Bl})W6c8HdCL#! zc~5*8efTrqpvmdr-w|B3bv%9Li=It){PY&h>f0h(FWQ?NFWUD0$E6ta}}~guOx9lG*TyO99MvaQ}Y#`X@ilNn3ur{oZ@%9q<2( zzUw`|hvz!LT;rpo^yb&Uq3`-OQ&0l9!lB{ZGdE-3Fw5R})3*qJdtt8!_Ilu<)dRWI zgO9Ovx7@u?opG_sbus+F%#of3=bT%APo*I&3=+|v)%06nJL>FUYoY4z|K?Rp`a^l; zyVGJZdt+XAp8I@B4a4T`$JKho~WT!xm`HS2;*-^w_g z=={Q1CPG!=oZksl=BHz)rI#u#N+kxfq$`14op$a;UMg-ofw=o*ex>LM*h7COU5tKQ zwp^)E(tsj3jgMokI<1EEeIUP(CuY>*{9`|Iz7&q+QUo~!X4XO+ASndSi={LOqh78n zh77P|a30G-p20Ezdm#Wwl^RPCfG#Wdo>6IG7juVX2*U@eNHjulmRF%g1n^aCMl%u> zS7BF+N~e}6IWw-9K(wGheOU>;MPxfrGBfF%(6p9yKVg~=AZ;=prkY{p>aC{UrCYf) zzA(3a`r-#wCJ~_mI~ci#ID^2ley*?D9yf^2vNA+eRa_C$-PX!=MOx~2shrggqmo^# zX@6s+W^;pL0uTnLq;8>ba)~mBoC`|$EdmsEs8$SWjua;m$~V9H4J$V>Ge+P3k8jhT zy!TJ&%zb+NTA5uUwWW1pRxP(E*ta-HJgo$1Hw`Nfj?3faY%p@ zc6g$*b1Iy&$_0C88#n?pi;>h1a0TBBWV(!Bd)>8!zrwQf`Nr2Y$}`&v02*E&rJ>IY zTqYU07=#AdTB+u1SEFXLd_Wdp31-WP2nRi>ui5Z_HbMtLHBId9t_EL-Y9)Li4pA%> z)gXH_psOlfFLiC0dqrjkeHFQXGhKuJ51pt( zhY)R;-Rno9VZw7k0c%`qAhQ?E(CYjeWhV5!)P1ckpVEt7&3cpeo$I`|x$X>@m#|pa zvO!J^rev8zmmH$ylgosA7yy-vhNbK9p~H0NkA6xM=kKGn(`&>`S131Tt|LBzF-w8J z4o<4Ew0c@!qW}V?N6o!6L?oHGM)!>>0M@~a4^p<3qC4)on>3h9gQVELt6q1NipFD6 zie(b2J@5U%d+Gik->=f=@13V4Sm{C`)dnO2#C6kmZ((Al;FOJz6lfFy~;I4GSGX6i+9tXZ2tG-CxnQ@4A-2j<(YR0CANYy~QRSO%t7&*zB7u*mPM@NSF1v{C z`u1Ic%XAXVmztDKg%#ME!CWlQ9~@l1B%IyD(SAtSu^x&KP_&==f8psbq;Gxh;|{

3j{X78|q=vu_t|1#{ave{3Gn;OvCNS%|L%q?t=Xk8R%MI#$ zt>h1Es>v4(j|vx8{L3Dm(a*!x4*ES*?j`N@z(9K7yn}iUys+Mz!|6aO-{DH|9-D|o zXrmxxjcv$iGHN5L}b7mDR3J@rX?o^*QIe#iEc_e#e*5JGD_ZLOnu z$?e!QJTBTFBW>oonc<&w?zAN{WBLFIb#aepmeG2nNz3bH`ug35DY-*^|9+Q#@3NG4 zkhNrp==;mw?-ga&8iOpe+v0K!YGKU=r0nB&VD!IWu0x-5$cl}%X3RT3@?LnE1~LBY zx3>;J@|tHqPPrI?C3Z=%HS0NxWZf(0>qamjgE8Ndz!<`P{gv~#pYzxoSLQSzVr&S2mBp75~4 zwj-Lb$F7-UJd4MdtRfmOV}}%u}X^sMBVLw<`w#R@#A|=+e!uy`?Y66Z;PhK zGjvw0&+;|FW}Pvcl;J#;FmJFeqGUW`T`%e$Ec%SkVJ0>n;5OOsku8-r5;%!;fB*m> z07*naR1PT}04|L(8*z(Bjt_TJ8_lM5iMB@cS`%!;nkn0ic431!KF_9NRy-EbYrrb6 zMU*!{Jk*10fq&6bwQhcBPBEv{QtVe;o;NJTc@eC~BlbGB^(eubuGxqWh9u0rfyarq zQ~y`*OJbuI{2p;@^EFGOYM;Ar;>o1vhIGYhjj-u!A{yNB&#k-P^Gdl)0C5d6lRXg4mO8bg-I>J?+$HM=u!{j$GF{cTQgnd1WIliraHa;xs@G6ngOg)}vWF%qZyfCX zba?&h7P!E4M{-KLL4xrCp<3{EdIHN-TR;Uq-Kqd*0!ZoxhfG|0gqCkTu9oC{RJ2ux z1n2?4Kn3%4Q!OMq=417D)R*IK?vu}Fk!NsoTo-bp1!K?_MMsBPzFFm)#2nmw>~(n~f{EPlI-#g~4BqSd19HG(t^kEaxed zO;UNOKoK5`0814slmLJPAk0kC0&@X?6z7lZ!aN1wa5*huEaSe=sOuUfBNvJ?lMsVD zg*xT@9C3l$?N8`ZQpaoM8Zn>*pc8hQ1`r7M83YECA`Y-}NK6+b+mP01{|9hPg1PLR z_81tAB8jL1Fhv1oNyimHs?}_%kLS2auu~cw7Z46T;t;KzT%oapl3PSOcSEAES|SFJ z0l+nC7>`sNAz;8^k$6}Ez~neDft@fJqj1#eP>5o)7wDag&)&a4XYX5}nWJFOX;E$} zOJHl`Isxp0Jc8G6b@tu`1%Nwv$pPh+w>qamSeQ&RI}*TH0CvfM--Y!upbPo)_nc8S z0}O=U&o2}WpfNR?wg5Y@`_!GrVb2uAGX_Azv~Xnl@qhf7l5y?$F>1hV5NGff;&L2m zRoXjcZ2uU639E^nlSlCpI^v2t}h2YStQ*o6OO5*Iq~Oc=tOLOCi_8$9+fk(Wn0LQ+(R-ID66lHU`aukAMS{ z4vWVZX$GvEA)+()oS_ImH$y}bIODa5>Xo{6-GNDqpJxCw!fuRv25Pe2Zb!^T+^k#x zYjFTDFFl^I#ummH{uKDL(IPN`CC8H1m_Rw`L%?qX;MDP3+F5B>|8^Wp<{kw{phiW5 z({NAYWxnF6Wy+r0&Th3Gw))liiBEijzW@F2(I)n)))=J68HqTa>WSum=04hJ(Q9P#?ym%I1+y-I|PEsY@5 z{i9EeAIbcRn@Mq2Y{}pKlerS#&q{Mm2N)U

9Jh{c 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

`v~cboq?%5?$OwPXNge;kZbdZ{5*r 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%0A|0qxKUqcSm^QSh@QknwlRYJT6c;hZ=m)Yb> zQ3B_DCcXD$w&S*~?s*buOw6XL**MZ8Z2L?y(~ml&z~W<1kh%Pq+c3SDmLrFBBf9@s z5EKu>gN>T_0I;SxCw|GKo=Su>1Aw#iX94lYFC^TL8azX$1CM;Z!Ke74(9Tl6ArJL$N+jJ#jK#oNCLTH{@>7 zB^uK5KMuy1;?2lppm-$nsE#3ILa&gXq{3J;Wf|H5&m-Iw5zmk=9!67eTzS;vraj?D zcaoq)Agja+dzFazabKqd?gxe-K7aW}vP)FbIF4z*S~WJ8xM}Wxa$OX_;muVu>oC@! za)1MrqfQM9dK6JGHbvx*M_#5kXmtQO=|6stx*uu`ZiL{5b)KFa*z1kF3~%{j0V`6( z!kUj(@67UP^Z`K)rx@rf{Qq1Zvg!Zof&a1D=c$jqD63A*u|Nd{U}Se%asPo7x^;6L zS(X^HMK(5|5li`=jz5OPM8lH80Q%ht>q#9W%F(Maf7xqg+i=3DVVz=DAQ6u5;7j`# z{(Nh)A1b3E=%f`R<>5380%4LE8-&H97YlujXa_rOF47CEdlN3Q7M)I_x!wi4Xlicr z4bMAV`_nuj9}4rbvTa9oh%(#FCUvG<%BkEws0zk%Gcflb3;i90Gi6)U3Tim8D6Q#_ zO`^Y3vGYyji^yH(rV7dl+Ve*Dz%Jf~SqP_vLw1e#t!kZM0-y0?tPW8aIapo=z6^{M zEh`NkJz zd(bI*A#Ui{@zylDm_BCTZKau3v`L|`|03^8ZJB&DA`q>NDHh&u@ zRo?%E$Tj1aFU=f~w8w=~)~N){-fI#a^gyHCPPT9IfI#VlFbKVjoVxTh$&~lH{blJi zlALU6UnM1V?%q%?VK{4Q|7%E5T)fQbiBgQB{YkS*FmVMKL?QqrenWd@m=0u@l{}|b z@KjJL5Z>U2I zfij9cQ&BYpE|9A^Rm2))X*$;~W+N(XMa7I98Pj52{Jqe#K3>FuDl!G2 zhz&zzrk`xBeMyF3Y}iE!!Sl*DZ)RIs`qPY~TiqeIj8q$$f0YK+h~WpxLd1$Vxwk!x zH-tdA4cFEC65-Q@%8WB&Px2qD#2UD>oQMsTH|^IJZo?}|Tzqk6>nu&AOby8JZn&~r zbvd)#DT0!zwKmlH(?L1cs~ze4rE~GPXg;%e`8+F`;fY)&iS7w#e`UrHNCkc&X%iO5 z?4#UmHLo3ta8Cr|9-yBWwIGHw0$^1l{lx>T{;=;*yE>*+Ja`Pn?a)3v# zB`^HB7zR6`{T}<%=h*&p^J?(@Wc(TV&Bh8HyS}9NrYAkV`%nZ+gCi9RsPE-ceV2luw~8%yY)dYpWC%PT{X;;$z?xQjYh|8#w-!D-9?IZK0~#=Fp7wn= zAjXFosX@>hlSNzX#qn%N8jPyefFVqd3!TYQ|HPtj8?$>3li2f5%=uvor(0IC%*OyM z%q}2utGO61%!N4p0O{e1XlLNvXOfhk8fr{poSJv&q$tPkscQ1l#WCeOo*>Pp{#cEd zkM+F4;xtzbFyh0MO%YSqg&6o<`8wH19|M}h>x`q3%-vws&^lAuv-iH0U}NtyrStTB z8wb)VW#sy?lVeLlsD&8D>UQy*0OB^72_zA962dDPQiek3*q9U_xG!%oL4YnrP@Gx+ z7>5@fXS-a)J7D@tfDZ2i8(cidb+LNK>#q=bELNxrXdS`mFXq76LX@oG=hT zs|icRfIDM%4R=6HctXFIzv+~WnEo$zv^%OVHY$O1aaIAbT~y#oAPv|pS$%Ch`_Op( zG^>TZCkdO4V0I%FE3XNxpggy57T6dAoj(4=B^NHn^Oy8yUR4eP2cocJR?dC?(f zedS{D4mcE`LInDPs>+kcClHYC$t6vucDsiarhex{+S*xEQ_**)4C)zcYA&J%#HO>` zjY^4;6(@+1sKPEkKCe~)4!+Do-Dn~G~wMRNjas=8z@Q?$U5jqzjn6a z)#6OUBfD#TbS82!P1|cV8iK+Rpnuj2G!c6|Sz34ALg!Ps4}f*=-Qj`?K8d{Xy$u*D zA?Eh8(g(_JF#dTdxQ2Cyf1CYp$K@`%LcOKAU?(z9dVCmW!-Q`^*^- z_1+Ul*>A{DVETCTxUpkpe4pXt=7sy`3#{O@>vb>1h+RI%rooFob&jX{9)>n%9Reqv znn9A#=H+9$t(SZ^dup5vuDet2DInQVBPM_Sbi?-jVC%zzIqY^v@oc68@viTt!&~h$ zr2f9EbrcL;E_#}8n>Rk)&{fcn#4FQha$2d%;LT==LPc>3+MliWi)o90GqklXY0|?2 zFDU=uU0gXz(IlA!x)ArKMy`Q@^vvJn?fiqcF_JIMMpMQinpYmV; zzjIx~+z#>bNLfUSveyjmH)#F}dHzU(1XZ%G7>KbhXl4G#vKBM|b9;$AS;xC_e1>?l zQ=Xfr%>UR~?|-ah!lad{)N8QFcj`{ymYro=C#Cz_?nk`${wynQOOR)SJ!(yapDo1r zZm3haP10Drv1pU_EYBr))NJj{LKnKKgPaJB5(o!0>3ml>`MELKx8u53^_4SNSJzn$}JT^0?d`g6w23&8}CtE(g)=Q2(^7Zn#6S9tv`qElqEcHbV~ z#d_o(Z}L{ixwz4xyCla?~=x~!gTX;&=ywoo-)6+9Dcct&RYn+boLytRrW!aL$YhD%)|KSDL1T&LDPSU|`Jk1!haU_x}!ZfeW+g{>o$XtYQZ`QlvdC z$fGdQqhPKBHpNeB8p_?LMZipohH%T_)?YHz4%30yzRRD88}cWf_vqX0gMXr`!);{a zRnYgiveF;I$mt__vAk7Tq!%gzQEOV6uK1}dKl1wl2r2YLvlZMv?k|)ZrT*swPI}5I zPEY1YF&-Qi3U=+Sw>V24PG%LYi?McbD8>mJr~{uGd#KV}ouKU2xy;8>w+2sgxjd7z z6^4UhGplg@sO7$eBU8yR(he_Lrb?ehvr+54`IU|JT&Z1EArXyvZo-uigb`N;L>s9w zH}HWt7Ugf6a>dt1G!QoU=e)4^JU;Bb!jm|xJgL$U{1G!huN26C`+{V+E_o9P-wI_% z&Q40XkT5Hg%Bl5aVo7FDgg3 zRD_DWZ(vEC+^^%EAWGJ`Lt!Xq=DWDx{)!P+zi&h|=JxMePUdTDAS37%XrVt3gNN=G z8G=gwy)ZdB8;Y~YU&K%jBp=)4c8zVqoepaJjw&z5jI)^chGgKI*7v>@9as`4ccur9 z!Bgh_S-K$JWuOtcp0Ct>60&^{`Zj84z^>(A4=e+?w7y)dsrV9>7QCLv9{mIArwv(+ znGUGu)8qm_V%rl2LqFNg#*X;Kxe9w|!x#Ry5+iYV6nmN!B2k~Wk(as~&T-{b7cC#W z&MuAB;+{X#zHo1Tu*KxFET0u0HsYm_0CG6T95777T^ue2xz|0%{d;vKA*q%v+4G-? z*|lhs1i4dDU2Dy>+(h88ijAYavm#nl4FAQqi(2n|u)LL3I$QfhoSpKV@I=GoE_rD^ zepm69bMhC5KCj~=d9+%xiG$(tAa-(RQ~SH%`g!)H&C8c|VhHD_%I!Zf1q#g@2$_&% z=E>pae00dW2jC^F3O0Yao}k+ph+sJDR(M5u0wb8#7X@n3P38A-vb#c7>V*bn?)`^k@OE(w&C?HmO>NSJuurNF`A8ET= zP3Z`lkZFIno#_vpr^@S*U)k8mO%|3agNmU=CEa0ru7)-K5nG??K9|^aDv||~X=N@Q zM7Zc5ru)32X7}AZ+C1OE!i+Gvd&}w{*T^+sco(cc2?vOWdG`u|XW1kv3I1f~ z52jN-Vz=d!5c22_&VQtNT$}s7O|F}%KNAo3tTUFt2x@H8d5GPb9>WPseBc_QuaqQzB8+xC)!~e6jDhvd#?IT%c)6Hipg9MkJ|_;b5?BUB9qWf!2)*CKlMlI7kD6 zZ&xySsK(37#*VroFxenM_D(Bp% z-w#&%fanOpm{vLnqI6gN8&t_s$Dc3F>*aFvZUr;2JCy7Pc@X&V`H1*i#2V(W-!1Cx z6gL)pYanU`*~#ImCw7(jdEs9Ev~stD$s8Hm-!tFS)CE4*#R=Vg;QdbrR69jGsv1gp4>S$7ttCmFd(`gn-H9A8a}dS-_V!7`B>hbE!}#u zGq8(+SNs>o&!NKX-QN!;e1mteo-gN{TbV9ux-;{p0>k(;*^tMdqREDl|`W-U{A zGX?E>$`9l`p}`wno?JP{&sQT91ZLaVmSMOz*R25-LZV}yP61qGQ!CssABg2B>U^<& zg{FGl41z5%|&2kXT;c;!5_RMx~IZ!mZO4K}%xlWU)qOaVpQsxjDno zEqY?dhfQt=Hkm1Nyb-4N7keh^U2jE2)5$mio@TJo$Cksj-D zUw`w38}^STQBuh}DN?)wEYS43Bn9-|)wet#WrPKhAWNQfYE73!o9 z>m^-0+Z7i1c=t&|bkqkJBb)C3{E@7zSYS80c23^DXgegL;epPc#I9c-g+U>;O-=%X zfq(B%!dmaM;YU)g9=WAcc}k1Pk87k7#r2m;I>Kp+9(_6r;eg#kv}lq38*2o=xYypU zLk0v_2`>qXyKi&D!ntb_y||{L&FoT*M3YHK{gZxQ3d3K?P9cgjKlW%r9-3>imHuLr zHadKnb>lyBmGjO;z->Pk*w2c2{(2Agv#%^AYBz90=%aYdGJKTn>Xe|R@?LSKb?wI1 zvRn(@6C1~|X(Q)C*AT3;$6fb@G16m4O~aZN0CCJmYs`V*)45$ zsq{BJ1B!=-LK_9;6E@}~T#tb`F`)Nlpd@{An2uoh}CuCDy>N1uWNsohG9e%%Gv z;{*$L27*$xQt$`yV~J(wy|{i;Jw5$wu}m}tk?-imonfmld-uq^Tr8pwrZH(Gg7gE#Sp7G(s!dpb| z>fbBYrFBl(p+~N%f`B1ro4;2h{|RHNYiUK@8CCtlOeKk{V~)Dp2fOKva=VX_^aVw4 zMm1;itxEk5)C8a(;Rt&gz1~qfP$lgHg8S7VM6MB1h2zNAg@0ZLQgB)3iRHIp!MT{# zEk==6`H;Wu{Yo^>4;5{Y$~jQ5wdJPB+il{QI9tfTK)>2tVuHRZq`gKkmGFL?Z(3f~ z>yGL&JI6Bcr;1hgxU>m&y!~d`(pIiaqKMp@718M8qj3w+PbPeJ$C~$8lqS50Fz2KTUFDAO{P?FWFRougtJFhJb z`tWnTW?4aEuzkB@N%y~b(#;>wglM;LrIcO2($PZ_UsxR7+>M*s$O1UX+-@e7$&Wgm zEWWk%F0HtR>#nVTt~vhf#GJ^?@9ZQ*oRKGL53X-zZi8>#7CqbSH4wOMv$h=F5@`%+=gFTFgf>&@BK?7oSNS;M7v=F;pxr= ztM{da22tfwD)C>|NP_5P3^Pb?gYjlr&eLCv3aoX3ZX|5}>k=U*$+o%=UH(Pf^BhXnWN+ zm4+hs(R_nV`>R3TzKlIF`oFW%$@fV$?0Lm2@7x=)tB>46ynp0;t-}2~cHSqHzCAr# zA<9vn27`TRGl4MPb`3Y$wqI}nYdM2obBe%ZmQ6XL!J}A85G$4+VuOG=+98`vUDN0M!xZZfH#*$5uHASzC>X+XKY^pHc6YsPfjt}_x&$HK2M6E zdo!WyQ5v$v{h#b%EF2F&QEx&VYpu`Yam8_A7)J3v%GQfnWYQWMo;mM+lmWnP?b_^1 z5N%PEuXTH~qodoZA9hR}j~24}JYIH(%*1%>g)(UkOm`wset-I$<+;_PWO6wVJ~5+2 z0?Fi7-yRjbNw@EGhbQIn7RP%#Sn#=?8m`JkwJeVfy36a8&%5wt$Ebh0<3J<6JQ%59 zTmfspty9~*&lNMYN*UM`CTT*TbzF-Z^TiWao zZ$}WNrN)E@5#sr7GjV@n&SG*G;z-S7qXtxM++y1y2w!dSh*@)0@u3oQmMp{x!0hZW zpsUz|zX_N;4~b5@Z%iM-NYn%0Dn;Lh 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 z

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�#gXxWL`7Zj%b26II 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 eqa>1d+B5m%@Yk_1^;}Y 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%0DNqXCEu7x$;|!iuYVN&Fxh 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%0Ay=s$ycXr=)8};uM0n#$*yG^FQXpfA7D4f!)1> zeOzb!rxEV6n&q%Bdj5bYtb6C%MByGH9(p5y%6{bUy^nc4@j|eacJ9?zd|GyV{K|_W zul1JeLw$Yoa9E3c{9Uj(MD*Mlw72}G*}|>7J$)pkyLCv)c=DA4OnA?2={p`5o%Zeu z=gz5_(R*Afi@vzRAi4F6$m-1ZS zOWSmGSWFY)E$y?uq_blQ=Rf(Z^kLAvu82#v)P}i9etUOHKhwQ5d>0M4?aPk^9yjfm z{2MBjcm+;P0IBqE6a)4TT5^&h^M6I<*K_d-V}g2LhJoW;58_Y2Sy z#8X!X`&EDP`EYM^?dEVc+Gt8SuHGi!J>rdpPn14#|GRu0kKkMv;KFJ+JN?0(yV(!5 z^=DrW;MGlQu$Y_GhJXE70JU-g8~o?Z2}8>=+H}?e%l*JmwW(SJ?AttzArTR}Abz9>#0BtJNG`xMylVjwJ&|Ur6$5ftpvfkjQ!Pm(*you zES0jfLgh%H#0tDwUh0O`tG-GQuvLHiWG&Ce!)j<&Z!3TdKUmIar_r>xT%v`=&MuTS zjriG9E>L5Qnqr#}s*mb5<{Q6fZ46_Y)!qlIT{Jb9Zok#yluHF_IPI!gw785^AVpR< z{2<7XC2WvKzncHDJJhvw@ar{)Xf|x4+$rGJMlp4KVA)FRx!I<^+a{ZHZ?biyM#m?D z<}Br*mbluDpVRdQ4H$uajeEY&xyA}rd(vY|if5Y+9|tY7_Bj`O4I5(1$GTJbSmz51 zs&%(1-x~Q&&o*hGFC12N68-5Z&P%~{q8i3)cs4?Azff)p0yp#oQ$ zPROSSz%svSIdt?wKhXY%j|rE9PEc6D6K>h)%Dg-)mk2C4&3*>-<1%W6uc6HY-C700 zt+kK1d}s#+Q9!t$Pz*x07Bt|6liev;mY{?lku5I7l9A!)jD>Msp1Dsr;Ts4>^%_t# z))n@GR;{OLyU0bkyeY5}8F%WtX$M z$9>5WYyNCpb*rTbeaBP3+1S)A*Mn<5^uLtgyI~-pDJcwq0cbmX3lPjl-_h>^QBa@7 zKDog1S_O4wed{VHjy!XJb#-gUC|F9fKOJ-6H@rDqEZ|-90XKl4 znjZ)|teA^&|2-SVc_1xAlIetXAqcjk{+yvfrn~(;x6zXkcz$(^izuVt?oBzbJ%9jVOdg^O(+1HLgKxQexMnNo1#c>o+ z2TkyI+5N}C z#R8RfO(bA$m%IT0Au<4hS%+Z=!fH3FDr3+sS~4w(Q+v>P!X; z?R#gB1?{soIjlvn7Sz=k&+TT8wC5pq{e!wyYbGGK;}Fu6xmX7*q$t8{yk6DB(9T@| zqRw;MU@rA*N-Lz7Bn(Vu?dVCumSFul5c|~vggzH|&O`fSEX8^Ym4UHR_ZjGKytZ)J zvh{$qws^}182ll0D)omx5cXjZ>O^1CcCbKK@I-o&dcgzS*&kMl$|dGm-?f>lhtn4k zHa{6zw886kL#Yy!D}As0v@7}Y7>{;mhQ-LDwvVrlHkO3Cbezm+B%Bwv`^`H*eijY- zS_Vrd)onsnJor^J+LVPD^CEnY`sdZ(`4)G%jn(p)_eO%aEbsO`%ThuiR2Z+)A?Y^= zqIUA@1jN-X#};kbVagH<5)qln#_Zf8;mkM>%=P>i9;55tduNJ4Jz6`Z0;3mQ2iP+# zkl1y#MnSejQI4BvG$5lfK)b^AX$qtCoPhhj4WLWsXO3a~Z8UW=h|BR&KTI^3`}CZ} z`{$I$PxMSE^Awz_)5pe#yV+1n8X6+Ap0~v1>Otp1-ES#1o=lrjUrYw?)-Rl81z&%r6uj7l zZzStGv1gqcCH^+lKZ_P&I19=8*)^kvXY~<;WzlM!tY_a~q=YbwXe0ern}p9Jt$2SI zSmlf*fnZfvpHtQl6I!JkHcTycTR*r@zMj8cjcM(fhz-jFa_KpmrOoRnmS(Me2Fo)Y zb1k2IHwLcrZ-XrU$P30V9p{+FB~_ooy+CWaMchxedK0X5+4wphFR5h{Q)nnSVHOb| z@X&Z!X~bo)=dH>w%VJoRG0z5Zs;uly+e9)1pp=gJlI_HwvvO;6&?MN8>K@U?!BN^O zOLU(ZNBN3s%`N zbIY0xbVv>JG|v6>U2~78@M^B~QFoU;>rTk&e6qx?dGeuIymc>$FdL4uN3#aCK`A=V z+&EIi#@{+Y<9=*K4s{TI8d}kN5N;%*aVW6E=Rd_?Z4?pPVd>5#Tpe}k}kBD2ta-9(WmJn?}N3hgtlxN zqG`9(E01iZn?{D{<(CBzR2T~alDF;KO2DsZ+q9fd|7RW z(sudmGuh`+A(FV1-uipLy#2B#kXWCBHLl3d^0O&*NXAk4>$MSVeyqPq%zB$4*-!*$ z-)4KB7yMgXj;ZAx)2u9Hug_vSyr=o3-&(_k!$VIUpwUVYqI~OJ&SH~MRJ?pPSay1O zCY)_goR)8C-?rC$;>RXK&pI_Ned?#~zuSku{>WoK>v!)9V4InFv66Q8{SW$bEX@Yx zSVN;?C5=nfH^%c_V?KnBIqP9ye(wYK``VavAk6U^0G(1No1YcyRG|IG?|+Za&&rDA zw|*?Fm!3Nt(m3KQc`Yx^6U_!1&mhC0<4kK%XdiX4H7kM#d`h*> z*V_u>irMMAVe7n{j}7o{t#OT=ekvJ1^FAsiN=MCnYcvBWEGE!zz8yPc!C-<@EM7e+ z7IUZEIElbl>NJwj24+!KTCKTxE+P5{Hwst`Jj5E<7hI^~cXEDtq0&Adz82VZ zIf1&`kI3g!;_u$LM;=QnGQQZruBx*dsx^4AfnBNn9%sVItq{@k&pfNyx?s=eDM}-6 zEpWkd(8{>0+sy5)!5#a&_4c61AwN>qY-MM&{FoaRa>Z&_x((XNM{QJ{TRvC7U01+e zwm-mqY*O|dv405wF8$s5!w=Gd|Ms`~%FlFHZrviny3$61a#D$};RTl`R!}=HYDzdG zNn36}oV9{x`fFvHu16Q7u~yb-5`vI-vFI^$oYih)A{`!GU18$P%U8EEk;@D+{=`BE z<3m+CH5n{kWJGE4YBZOrCj;4|hx08FR`rN`)T$9Yfoig44hh;yOu~DD%f+EZT;seO z|`sj52@f% z)?V_#PlYMrR!dr%BReki8cRD8jt@feVtF7;g+43&0PtpiIJi(|Ap<#tJ!-Yh zWkv-l6cCg3O{gHT&8u20(q~GjSJTs{5eQIWcYU((uUfF=JiD?(u)hspm<2>p23QVs z0=`0@P#;^LNQ0d90vrOY#bTL|ZxuWSfB={1bJL-H<9a~*Y8$H%f`YZQeqELFL;dt} z6`m?2td^zxr89>~?1j3_JvMz!SNRW&1e3>>Kf)2u`#C0x+HW@V0oXnc_uVkB!YT&p z3G*@PS_H>k=Sqm?Sktw%g9su7D?G3y!I$=4&=~+`;l0dYcK6L=EnvoDD?Fn-wd@j4 z-Vi3?@(!)r+840SvEP~Hsl4=Q%ML#q&-Ov^wqXjWLL7wI3+%=Dpe0Sy(I+n5t>8!3 ze7FFPh4D2Go-CAYJOG%}AICG_e5%hB3bZ_j!$TpkTG>%{TPADOCB=gUk3zpdyV^~g zeqWlO^*#ZB(VrdvSg<@H`XB%4$LNoL?@yG3pI*q$`P%XJ-~NaH11(A)eDH&*IIF$f z^U-^#W-P*}l|sa`f+$&5zgFY@miNC!NOX{3;6^cXNXNV*!fOS>S$!TrNQK$7|8UzF z{;TC_wQv>KShS`)U@5UDtkIDNJ8miP0laM=!@JI9HeFRbVTDF??om1hMw@;Pe^|yu zn=9yzt&V8~hB}EO@052~KOj zLqgV46W(==0C#gfy|)_MDi_TNQy?GQ_*u>V^D`lz?LcfUYU%+iUi!2BQvri|SqY(6 z0KoCXyfVH67vC~$B5z8ky!6R)i?hO|7Th!)E4Z7oP~^ct0><}!&?Tr{9N)2>gW$Fx zn^-u}&Jp(e)4XOqSx^g_k~PtY$j+U*_5n$e$0iY&$oigRAx4{@q0IuA10Rg1to_`j zpW+28maG*~u2K?M)O7iqI6gtcn}__EbM~kR%Y;i8d^NJhV1ToWICXl;fZG9l57xkw z<-}W_V2~8nD=wa|TlXH%dAc4%+YhQWESFcEGtho^UcF97 zFlV?k2Y}c)OWNuDwuO=<_6iaSdDQg)1I$<`&oPVu z-%=046Kf(7$aZbv>%%#8{1o!wc@bRaljK}unW{bO+f!eJqHTN<=TliZx!GuzS>UcX z=}NgsvkUqAAoB^uQB#TwS^_a1QhtBXbGfW|@I$`xe(@T}(shVSvQaLHyX1g`OD@B4 z+sE&`rs^Q4%lA-)Apig%07*naR1Wmt36QH(5Z7wSBCnl-xZ3f;x~OjUa4~HuWkEL7 zkevtOIPp90142|EoC2IXU)1@`Hr{a#8Fb5DDpsFuznlFRvl9y4noFU7YAty>I8a;m zCw?nSi`2zdld@=pez7TYqb+N)QlJ7OntUQQTRtH^;{pjP!JMT6n4bj*b0(swP;}?= znk{{L&hC>)70VJ?cZihA27|dIY<$xuI(|qjm%RSk5vmlimw+-eQRcRH_YOLG_^`9b zozT_WHqr5uXK8`&gAy8ZAS-Yym3z32ZrVCdGfN50^Lbc>7M7M6go%n8aOWkn3}%MX znFZ=~_ll}SuHRC@;}mLzD#dc6XEB zH1u~D=>*P20CsHP?66ATIdqI>-JRiNy+MtoCXEdb&`ZxfOXaGZx9-1gAC2JNdw!l8 zJ!NVjKaE8?d-xT4`RG~NF;b%~<74!lS0179F`Pjrw13+OopN3D)k8;UeA77B#o{zT zDH5=0WPo;!_0bEjo{-Atzv=e+e;*dBQV4qB?e{UoFWjjmBHD3P03`g!-}qh6=bK05 z{Oay&_XNLJ!?<RMLz)a|VcC3N5sQH1xQ`|lwd5D?Q}ed=#~{I@-D zze_iv8{_Aro`)$q| z*SfeU6Bk)PTrQtcSj=C?-r%1fA%p}M;@LMpuLg#ZOY${&N-XI~e9J+|y$|l*lW+&= z{XN%KpKaR(0HeT8kbdXIVCkT%NB9jU0qpSi?!LiuJbCo6FVx_OSde?*x?pkbt1kr$ zPN!xUd_OrgC4BGP8tz&TojS&Rk;`u#Gyt=e*7Kp!YSnp-<^JW3mf#J1# zoMkN{+Pqt=VIhqd4oiA>-f)dC&wW?P9tGjQ^(UY7{?m0CFMi?!ZzYuei!YyX>j0_K zcpZm`4Jfbm98gW^HxrcW3^7D0SRj;;haP>Lz3|rBKM@o-3|3bc>JHQ)rIc$`f)w?J zysQ<}wIPXKCQMRGlFKAdmt!_I3eHk+Cpk5 ztogHRY=eEx9+f#~PtY5jXqw%Mlb=xE^#Z%T{p9M3wl$4*&t<33yB*C&hCTdP+R#tI zDtFn)gjV78@sIwXr+712?LwhraMx5L$PW2Rxqyz|2&aOiqhwmb}g;>I)4^vCw6j zYipd?r>9gRSPWas@9fMHjrIqj(6z)>+8cNG)AO$f%{J=a?zyU!qtw<^IMo*ts`aL~ zJobVGRE6x5UY`{RWvWoS_gsSmf+6^~1SFbipm^>!L2KZ?aisH&232r4yvARnDT|;O zxV1($sk({dLSS&-r4xt6?{PggmqnN(rt9QA25)r|rxO|gw(@@6T?sW;(tTEGHx1Y5 zRL(fjSX`l=vMf-G(LxcR3en!HoH~7``z&JR=X`aZ)t&;)HF7vO?`%P;>^L|in>lO7 z5v?}&Y$sS13$J?NPqk`fietb30I-!jiLj@*tspd_D-a0Zy1k%67=&(A;5ybW48d>} zmRF%n6%N;N15F(B)GXtYucho-HxA6Av{_F9o}`Z#nGS-l<9axXG8?9pP}6I5cNU>s zvq9@jziQ@$khlYWsi3R{8R$ivY7m^A43;Id9dzE)C-SCsuRKw2>KFHYE7+v^)pggc<@srG;zIIt6$nj=IbIn4N#i4qXjsD2LrDRGn7dMD*UCa3%3{l{lh`a zoJLonBJFqV4{K+QMe41{*p56YFb*fYu+Y*|kqbqwPi{8XcHJB;AuA*fzM-w5y*0fa zXe=xWm?1Hj(~h4#*hah9wt)q&kT)%rd$N#~^fwEPLMY0sW!Ao>v1R^tiKD)o%lyxW zYa_F!(r}<1TiSzAo&`Z@e17u%vHKRH@6rnJ$HExaik27Rc8skM6UHVTD-ewGV~oHL z>ly9yc(8mn*%Mz9ZSh`Yc4E_(FyL1UuE%X+^3LvQE0 zE%$~#A#`@k3o((Fem^oUCM}k^?!5mFKV(|VNP)}xU3WitmsksOEMVQr{$z}myxV>U z8v6~#ARQeaEiav0bWF2h>bCt}{VD@;dA~RxF8?$PPxSdvhnQZ{b*(}On06otWc!o- zwz9xryk9~hm_T*QQxMSQ10TDewr$!C2k)hS z^^^aK-gn>oI_3*P9S7|9pJot%&fedAkUEe0FryKp+gy73aObdn0$#SyR3ec1jL}jG zS`io%M)!Q=9rVy&KJ2*WKNQ5}R~@K0Qx3atL;u72P3LhdDCqlyi;H&{%pSBZ|4T^uk zw;kpsY=+#=3UMR6HV}l2Eq@E@LW95>8lJiiW$>z2Fn_KBWF-iO8pQx-k4|vP+`jI! zR^fG>%fMy@)*W3w@$Sp#6aiRpvsl&){bcHl2+$M~SS)pAb#t?<$t0t^_IFzw)U}Q) z$Q$y6H45rrU~E9Fc1Vdi|0)EGx|a22*dysT3L$piN09Fo@GEki$q3;p0N_=CYS9^8 z9m@JeUNH7@8C{sRozkn8`DVlHfj|WMkOY4#8W-OVuZa>^l}+#W(GJrSGqleD=F%Vq zqNdiXGQ7agsOT3swa(cuHkU|+;5v`xn|Uo!I;Xt^m4)df*7ekRhTBtKg5tE#(0PTf zzclfAPMnQ);IerGcCYjlX}%HWfS8YhxYWO0j=iNMcP9#3Gvp`>elmzlndK3sVzjC^(H}#CUKD-8(C5JoDBB!pKv<#IX|2X9 z_4xKt8iS?NC?f!OrSl{)Vg*mirxGeuyCzgW zJat`X{otNm3}=cO7O%n8KfV4{-&Tbu8j@!PUM>76ojyl(-=Q8vln3r&B?^X4oj8NZ z`oTZ8#GOUAQGQt&pf9mg0Q^u<^4y-hhoQJrNvW$H`WjCym3COU!=|`3?tod z883FuP6fqdI*wsDgA$fbe+*XPa_Z;;%n~f?x-~q5aRX-&u%*E#&VkYfC0OWK}|IN0jA_XBOPSgDCbtkl~-k!SAv z4(rD3pnRp$PgLHvA1lwC%@170Z>v12e- z6uDT1!n0I`$n?ox_+!)5#h>-Vo}7qrRLYygRgM8{yEo8J@aEthC!0gCp7@3E;m?d+9rUXNGi>vig` z_0poVZnS9j=x7Z@)w?rZ%fJGCSAot>&(d&Tl|T=glc!I6L8hRFhp4B9Gqe?2nh)dH z<3~=?zU|wn9}0MR1BjJ&5QseR((5!(5haaS-IiUYo;iJn$|boky5X9AwA_?CvaLI} z(=i8fD=r0rt}|2fw98f5Vgu>R{bLo@imIEqQcfLuCESm!6ewA!Q=u%8<`(8$3|E1s zNu5(3>EKk5eNhmX^^4uvtg=@4fs$R}mAkNgAGPA}7mv!aAy-_8Ku`TEfS$QkGru-N=@@k7KL zZ*z9qyyQ_|}u`zUywWc8rv-r*Mbx>DL4dUz`tMrCKFeXsccJ7nB;$`m^wc3-=%U}K~hu2r+8$+D=NwLg@fZKNkaNn)NLenI%Mu#f7_Re6D z`4fL3b$Z9X?aWjDNWB@4lv6Epr99)8_AFe>xJcY?h@dTPm@yy6Y!#kqriMqJ)A8$f zAg(+z`0LpAN1x2Tf62^R28gR&8moncG=j^<$@aAr@<}{!^%yNS-8u|cO??7lL;XK; zK!9+!-+ZlpK6FCAA1GTiptzs>h*%^%cubX>TUz0Sx{?bvO zxf_PVgtq${`Npt<*v;QDQDPK>{QvB|36Q1NRVH}e%YDzRTxwO7RN5^|mMq({ZJ-0$9V@B81&%&N?i%BmNU`QQKEbI(0@`R{tZdxm@C1%5-j z`CW*-I;DH--*`A$nR|XRg7I#<<<`(d+QxmJqliJ4tvDXK^PWwU6V$aCD_xsr`X(o| z=PMBP&0vJ!&0J(RL0vmvI|OxI@fQIcJ+9VMcRuBtDO_y{+yr*ztIoKNx!N+_QoMXE z%n8w!m|Pq2b^*JtRtkH06L?&2U{@LV@p^!}e*KUCuz8Wa0qvksm^gQA4BL61_7)ds zBK4pAt_XzN4ry|5*YyN;L4K>h$^5*Pz+K35s!hyNFi$A4B)3Q-Y>SJHm9=&0Om5&b z2{dzNX#mX7+qtz51RHQ=N|nu$Ec2h7S(LGo!{IVo`awrKH@K2zhonuP%k`>swQX&1 zJa>6f_Kvnb=*Z<5>}`|T#pa3%O$96s$hnsi1y2h=u`z=?I6{H#T1Yn0hqc|qP?TLe!7!~!kqp5G1LQQlPGcFNmkdSu&a zrA;mBFg?f}lnNcFs~QhteO?$JO8zXz9O$1Y&jb9n6vr~uAC>Y#IZ*)f3?MY`XWMtU z5!KMUn_0b#Y?}ynhwfC+Ft_f4w5P8-$YNLpr&Z}eU&B7k_6dP_iw*#@&`$aNSTF!s zp+4Exk$2D%pz$aF;ZMVX4QTB+&pM$vwD$Guzw#UM@H^tc7{Y^{T_1Z`0J{9qkN=qb$j5&)3H+_!|4sRifApW6U$`~bQ=rR9l%h=g1PR&}6fT@M z6eN1PocqJy^C9_Pe(Imgzx+4OfVNpPNnaY;H7+mFkscPFFnA$| z7M{ph!AAOK`)jm63!v07R}Z++--q@b(o-G)Xc15cAIbf2Mgl8Vie$( z7u2F8ix6`|Ohuq^KR&%(cIqP2iL;4+p9)MvN1`vLChX*ri$vK5)&mXY~bgcP0@hsiL z0$&vnrV;agH5s&B%&Y(Rma~qP6_u%)EF``T_4UY%xAq%-uhmt^+S=9a4{b)~YnAS1 z{5QS?R#xlM-WIpeo7Fq+{W4o0PVi>5Ay*p`1jfjp^MZg zN5ru6_?R|aA)(ZJ3vbAOSs7p+SO)OAd`_)W&%9TSWCDJLEV>Gf-0j$ z96L8B4}iV6??XR4G4Cq_=h*!oOTQI&*&ZI^Hv@5Pg?BUBu-0rsuu(XpCHt%Nbk?-= z0tVxi>@8S-d!dH)->OnZGb>znEl2)2sE_`A))Epu-QGp{x3U0h;eBD(+QfJhJ8f1R zC?{U3M9b`{^r1)b-umwL^Fokcl@yX*w1l)g#)TJ~geaby1M(%F%FFFRC;q8a?#=Vp zkmMy0m-%AdtgK@K*q0oh$SuQZ_>8kYrYv>88C?AjV~F23rKtFp3Ice*EC1{_jRHVJo{lL+|9^72za@_8$si_#d`n#msq5Gm^Lwz#4s&#Q`YDV_>eW*jb zcgxZhomV{j+!5&=9d~?=Jo{|O%b7FhDp|3hAnf+`cbb+nHW1WRH?bZE;@q zO(@u5q8iV2Mn@x1L0&!P(rO#hb9p5A+Tx5>9rjYj)FRgRJn&GE<(&^b5Zou9(+lEW zdgYXS{-oB;*`>dAJV7)%u5&%)dUP0NU&t+EII}L~6#67B4&_(owthaWMHmt}Xa?gxMQ>7zle?|t;W>MlfjJM?U3 z)LF(;@3-A`N1(lQNMK;dJ$2f4(UiI0Cd(eDwsk!;6Z1au*xw-Tre`L)2Vw*siE*?N03jqI%k z>Z)Yxhs~7HcF^2?dmJBbg1WY&M0cKt1$N!?u6Swl&Zn#?^qNbl78lF)9(Gn1Y7;UQ z>UQvbho4RMvUfPug#DWh*ahLXx{sJ-=qg@vaM$$!b|qrI3EDxJ_XWYsCP?txIfvCd zWhxfj^=tpR1rUxAw)weIi+gx{y-i0dA^hRT9xL%py{@)Uck+;g=h>F@4|`+RX(l+f81 zD0!{(T2Th1qI2Jmp$*U8uByP2Rr<@Bq@ja-oie)+H@ni%&AlzwR;1V5>Wo;eQx#cV zDTG29~;r>||G$8EMtEtC@T91}q0WHAC6XC7r+-f^>T=MDq4AZS}PZ!fLI z-)z3SyQ)%aXp50I74M=?=4z49=s=fTo@?H@wgL$);5PcKt!62^*A~fZcm}LnSgK18 zc9)y{>>)@aN!BMd5^UOMBe^4^t)+?f*y<+e$XCSd-&ya(JvFx?BLk^oenL?4^4ed0 zN#6A%-yA|LxF~oU2Ng%*WtB7WZk1=79VCO!0(`*FT8uJDIj6N$ z0cpCMg_Y1M|AL);&%Yrmkeg(K6Uy$qos@|0q^$tV;=xqz>Cf|Axdp=DaC}*Yys>iK zTZBL$07syv#ia6sW)%<02b8T`c}3HuRVe10025}?f{d(n9v5B|QNcL_E7~$ez1g2t zq7I7Rp1{U~msQe27%gTYjAa{n$8@ZPGVma13$#|H2r=qw?DvXz191W6ZtZ*2f?9kB z5A;3G5|~dCmayy(N?HVhlqrHREK!Jpg_A|znko(~V|m(5H?#q}>1e-`To#nKwT_kC zl4_K?krr<6b#t*;ltBcmxQxSpSlHqZ3LNeJmdFG^;1-YZ00m{rHjcOn_$vd?SVefy zS|yY+MIy>Vt0H`NPkj0~Na^oMyz@3>vkkx(%FW$a?D~m#s187u{aGcZV9~}C*m|>W z1OrsZANn) z^{pd*mtEOBH0Q%|`|v;dP|}}-d@w;I5D<8jBRw77+^n6klzT0nlaX!|? z{LFmFFTgU7KK4FFanFK%w(q}fU|V~8xJkGj0Kd?@3%PXqasa{*@azZzjdFsVcASp& zR)`yCSypbovm98UT`bJTF(O&K!;+GzE8Ev$4w{#v&66F=tUnU&HrBn;uySQp(%2i{ z(GS^iAu5EEIzH`KHaHpql%(K%8J4MdxdFn^U)!<3DXRH$NB@j6W;LMyWD#QyX#08+ zDXpc(?FsekZ9Qz`S!E_@Cb!}y{eGleNg;)MTKWFuS zHV;TE%+HLBOe=t>0A@2**Sw=iz&=kl#~8P81fHGt@vsEXfKENNF}nmzAo)Ka>K>i`F~c9R;dm3cgW0q^DWjz zF8}}_07*naRKBWJ-0Ky#*}QDOJXfFc)yLfaTx^9SmaV3H-b&ORqa7dWlS#AY*s+9m zkTF5RRWle~Ya6kbaFmHo{`o~ZIW6gO|FUwMicAN!h$)q4I%fAx#x6=5qdTjPse7-K7x#UX7(qior=d%sLmejayUe&t{ z++-p&ILG~^O$`Ah9#a>lrNi9fP7;)(y%?el)J586&t{;9^7_Yq;`JZ*?fly2!|n}Q z|ApDc`ayWUXTUh4dtvcnb3Z#5wK43P#QM`}to4H%b(;UMPt}H-9P^*C@|XwR$nW`j zyIEfBn!?gFtIx0(l{EwGlVo0QGEU&13u_>-DT-VKbN=6&jdT?dYecU`@M~H0CT~ftJ>)H5o7X!6TK>Ja1~Ol z^UN3T_NU?MQ%Kvwj0pC(eA*q}nw7JFT@><;d+(5XZOIwC!al{zub*?5BNonrx5(Vu zy72bs5x?I#kE|3T-Cj@N&Vze}vq*PILxK5Xmn_e(%JlTS^bHQn%)+v)SM=f-00y;; zMMegCWoltr`ntPB{Y9o%Dl*ayF!Z2wb?Llop}sD?9Thn;IWN7Poh~|f@+z9a&Ni6_ zR<95_JT@pb-{uaCjmU{f-S6lg#HBX+Tki(&L&u`dwu-d-OUA}_?@^kfki}JR0SQ)| zCi-Ni)+^J~m`jONi@1M(&I9%j->M)kroq{qPtrXY76gH>_rxQF+ejO@Z5+A}-*K1W zrv1z2s{Hl&y8qx$|0=}!miwYLq0XW$l=FiJ$6cX2buHf=pE;@4 zwDuoV@DZ5&*|QNm#4?7zbu+Qt&%VR`na_MK#xsG&*@SarinfiV@hMGwB3x-w%Jfa? zce}dxamxrI+fBJPVxga_r`m|PNs5ft*vmGFAR@o>#7iM?IJiXKciUd~_Q4N68hl?m zp=}iDeE8w}Lup<(uWj#>PkbfNb{1*@5FVrE(uoUK6wrG2zG!jki+}mq&>s5wqi)K+ zJ=$hR>T#`qVb0H!0HVE&_OC5qyA;oKRT$r+J17*I=NnD$NO=1Jog$vx)*5jDa zg!F69+v-BVKYQSCp=}-QI(XaiP=}})T!;%w+t+N8KD+haVHMfdegm8Fz z6)APN4Z|qUy4xs>@8d%~a{jVW9D{OZrkvW90eQMRaR0eB~q!`*K06I`p;Wv#v@>SvbfX|fbAJnua;ATPb1-Vhc7n>YYUiRl!VdNUV6IPWXa!jwY8YrN4*h$6WxB&BP6rR_QkKZS-jtf3uXEqVp3#OG_&U&C+k>Z~1WZVAo);!1~{I{;Cxy zJloX3y$F`7aM(fc4;3PrzWtW-TQ}|D7!|jDObokJtP&9w>{)KPvVK&;t~iBN3+g}| zDlf21nLeHbN8yl|Wew>QD?7Ml>#`m$*|>CD&;!z=oCt5F3>4*#AO_YS>w#$?4=e{L zUD*S9<`1;i5*PC06sXV^pUtxcSb@$eNhAm69t_2AfZvFCYjjpA+wym5n`YX9_HL~H;82?F7PQul zcPh0xHww=1vV94a)If(eZQC_vMi_opVZ`!4*oe7F*78J{Ra$})egLOm! zeIVN}X>A_SH`sTlkYE60EH}i36-294!g@m)p>Hjy&{P31b2YS$JpTZo+26v9KVGlE z@=ZGDv0#F{{qy?*ueJ`;5YbM}A}X&#SRmt%eKY&O<;?OS!$EIBYznj^_6_&zC+&&VI*so*JrVh! zTv@hQ^Vq(?jU1v`oYHf3^)F+_nw(ZZ?C4 zC+sn)2mmJh|@&i3^l~AyY>A$%Z+0$EOLc3 z3jo@o7^O_1tb~NzYaoge!7>-U-T32Q&@S!xZ^zykTV1yNon=BY%n99`E3UZ#p0OZb zS{{W$55^2TcS-6WdKhLM&b|oAp-r-l=L)ZR9|C%Qzbo~XWKN4PtI%7o@Bma5!=lwH z1twEgDD@?>vJ8Bgw0E_K2BLt!SU0gPsGn`)%#&m1tsJuAmSDBW^S9q6XekSV(f0Z7 z=%k{3wU5jj{gHZosVl&AzWSJ(udc0J2D5ptHz{|b1PJ2VPTpak zWdo+00db*=HB;b5j_5Brk!uW1d@#1N4^IMc(ZCwk*QqZoCpZOMHx|b*jwQ*36F7`E zbF4@mL0ry{A7GXiy+M-$|2hBRUW7)~|90+1Ism`yx{b16l+k%8Q_F-Pp?`vEZP^2A zvM5%eoa6A^WwY;Z=rKO0Rzoyh@aP|jimXgtEj@WHPk6Fom_ZWyr?WC{vO;H^@x};+ zN7N||DPwqarF#O=UtO4ACb9hs)-QIgNg|Yeq>swC#xqZ%;e97TTn&kN54JfQ4p5g{ z>#<%;V6jEzx@G_`g3%3YQLC`lN8Qc}Yom9=9Jque@tQa|k-YOI-*<+8zK2O#w^(62 zEh(QscO4vMeZY1mJHCIsl-=YRwJc!+?S6~(&-*%t<@*=(w`*?t;n^1~9a>*W_IYeb zzMisSxqCjb(icP5(bn0|N%OQ~j5oLI%K0m@Ywxa@C7-vc3ts8ibjcwnCjaVJNWS;L z&w*f27sbbe)n@#H5gw*q5y3?xer1%Db4c4b(6Q)ecFEx=qcZSGL{#zV1!Y%#o&fY6i!|F0~l@(uTn&Q8tAzL5xAhlL$nDjHgo z+Z>$_VEUq?P40gCy|S{x%lkxzMh0Z9w(Rx>W@|Nh``x$6;?$JeQ>)b1WN~&@s@;0A z6%~-GJ$()&#`Qns8yoDAQ}c7OZ{J?2)^vV0?DvgNo;feK9^CH$Z9tO0BV1YR5yEUz=K zpOoWET4%ctX#FF6tUsP}jJCxrKXAvbF8UvRC4y<*zUKR>qL4rQ^k-f8S1-nuKvy-k ziGOf=v@CS`mE(@~*lg6ZS|BeGd3T|f{JJ^^DUV6YJ{T>>kzrm9 z`8(-YiZ8x!BzQ&I=n8=%@|VxWaxSNc)ayOD<;)nCyAFF07yTV?&NV_p>L7?KG$ckU zd9HS-C9*syW9foVEtvW-5o|jRa}g6xXW;2P8Y$Co#%lhYT8r&;qAOlj_(R|Dfe`8J zX|>e#!s#iQdP%{M?Z)`*@iP%@`5lh}2&cb?@6fh-z7or4b`E2hN_o3EyXtoUT#;RS z)pDWZuo7h>&o|-;Fc*JU1L|sbx<}-2<2|XD1<70P-`{vy+jfa9sB6K@v$j2U!! z>OxW6wAOWFG>DtPF4R*z&(~VpK!1KGsy5#NH61g6WFB%a?@%T$|0Y%md}y1 zCbVs@Ij{?iZ-TqDc&`TBb=4JP^pgUQmWQ%|DseQxtK4l`2}$D%KwAw~xf;o$Pay(p zJAFNIaexELTl`=3_tH`gMnU_2Er^=(P=*z+`Ua86WE?o(7 zGZ26-`|GqfQ2K!RT1sQ-;m)I6npu>=26O1?AX=j`ZO+WUFVqUz)!)!G66&C6mH2M& z3zQTA26M`a+sk^}xXssAr5^_xO@7@SRjI9RV$zcL>rMD=#k;S&T^4G(bFi{zb`Unf zq_$c}cc%Dkqm_xfYSQS)8>Wri!d=GKl0$KUKTF%*R>*2ShLHx(@sU26bYL6nt8M@R z0SGMnt*zk}y>gyq^c(qgceXVsyVyK5i{I5*k>w0rn$x14B|k8ZCwNKFTn@Z3Wttz_ zQV|^ts2IFf0%FbcLB$9vMB~t_U9?Z(;TL&RS;eK1^@(<_ohu6E%I-la#RFJurlB;x z;;mgdOBF6qrA8QwfQm$nOBwl2FcD%ph2NqOD#V98JJ3L5|7qJU`QZr#AcER*kd9T7 zCar=lR1vvqEZD)KjVkIy@DtN!W-OdIKU?UTB`hl6f{xZN`GxG-7jMPo z?brZz;78?a_kyPB51H{!U4C+QiVPu2(CF?Vpv7p}@x>565Q zE1%ojgTb5a)$uVF(*P2)?S5?Er~#Q&oVBe^uk>$uf{(L|=4I*Ml`33uYy};@IkpWY zFQNh%mIJ=7P|kEC9)4)o?yw#1wzQA4d9n&?K5Fu)w#T?uX&gjQ$fvceG6i_11M403 zhq|!eJuL#^;MxMZ5XZ`w*A?3U=%BdG17G)^Sq-)QN3i1MD-dB&K*4LC4=X1W$*Km} zpIhT1*bnLRyMP-%TL)_^tBIwow)S{?ohJ`#J+$5AXATssY=~gLZOCdB-)vuozQX?U z_G!x%8R4AO#sP1XIqMixhOAJpPR9?HoZ`W|T1tzVPL!y!zRI>0 z0B87(L$Y@UPi#xWzt`K9 ztA4r z%_*U)MnJB(8RlcIk0;N<)k6TiI*@=~)({FOjG5}s+uB`tAu>Iw%1LaCu7nBPa)Sw& zdTuOZ2Xu@nbb6~8p^OmZX-Vb6@D0$^3vTT0>-L~9CDwLbNyb;k&!6a42&m1Ha-`RC zP~7d88D)HH66bBXO!^+b|2#b8-3O3=n;o?CNO;G%Y5LJJlB@CSXtBP(8h(tkP^(K{ zH_M5+Wa#Ffc}(1WP-19k^9>xHgma8UR&( z?%Jwsvng#OYm7m0T9<^E?#VJSK79;;xHkNGl3r&4wvnED2|1s1KFf|D78J_%V=E1N z36@`1Ut1VD;13{KeMyxDBj+$c*{IHqd4-*4kYLzcGD1I8j{`4fm&_p?dn&LdX@5w+ zY(5(1eTJCJ7Fhbuf3VcfwFBs!ysocCnJ2k)QNvyotHdjyFTwIzBe{;FK}lUBMRjc} z4K)dMjbKBVrb*KARnSwGD2XtH`ydDC#-4$>c*gRFJL4jDzG!KC2ct5c_0RW68Fv2F zsN6?CJontTM{tQk{wuTSl+*A%zr2M0&7S$3jC9R_Sq$Har@iRF@-G8%+3=QbJI7$7 zZy6y5Ci@58yQ`4wxVxV*UdyfZ>(~VFTj~${YK9ca4Lha-fITtBF&BR zB*-j+{LBm<7e=^?NE)W{(v7oF(@$hCN%oUHFdql0gy_MMM2j!zSc*!rHjIHHQ+^$2 zINIQAa@)^gLq>TA*fK)JfxgQ6$ZEAsa=@Ks<%+|4v~V}jR{Z5%uFTVdcNcl#!|~pD z;NqnPSQAP~-Flb%Q#^xkBn1?xy+XW+6UJT+QC?=AeFaiq;CjB{ea*wI>m#w_vbww; z){C*e3c34%E;;&KT#Kb(uJS@Fj1?tNxTHdQjDwbj1!6ND0z_bAua)CAp}7FO~4 z23&clMbEm_rl+LZ+bdQ%y9e`w^}5V2)nuf5%5)7E78Nqu*CA)8>$uQsWb4zlYx27|{3|#=-e1HDrMH$~aA)k8c6*)XUD0d!K z0MDV32+}+-8m;3#@q&V;&JA*(SLBMbd#2fY=*|b+9@o>)JSXqCQ+cf|MWEu}{_W>O zIaF)vKYrWc;J0P~K5Lg0h;#n{WYzX}{7AGqBqM5R=&wKd=OO+_JrD>UZM(*T|HK8g zg7xexwA&+c$Xd2K0Ex<3$l)FuTM-W#7VeGUTf|_}py%@n#&1fh)pP;kujpF6u z8aE$h`R+O6;hcqh>Q6qIvyf+=c}`9ojX-^7E;idv)&pPnKV)`WP6{@ z(jkZ|hSSAoGdVU2Zx-+R_!HE1HGr<`BjL`b!g<5B?9*>a!j>P-mN;E^;@$mGm*v8I zx{r0;h4~s!&;q-z7SzR2@oT)O-c;GMz^?0UtqTQl(_)uz4*BNWb?$d_U>BsShB?~x zX|iv$#V+LX4F`5Xh&Q+`BopUQ^_$on3AESlxC!pkGTbi9T~}Qr%?@W<0K6Kt%|+y) z@B1cs`uG07AV;aitq@x70BB(&z)*S2=sUHzA|t&5>~oCiO!CStiT%C7JipzYce(v7v5WldQGIzVa;@&^XxS6@9pl81z1$LhF`7_ zPzGdMakq?JeIhGs>(W_rU`~zz>$JBBC*78wZc{9+dux%+@*3*vk(v3p(P_i3#(fEg z?B>_j;^Q}DTXtH|)|Mk*WrWLf%Q8CHpr&u-Oh#C|tH| zqW31GB}qQtXaI1Lu*EYdo*QOV6j}Dx2`$JLWOj~gm0>j*n-MKnDuOe|Pz>flS~JmX z8kC13Qo*AvZkYlN>4H+J^8hF`js>`tve}P$s|0>A zls6O-yv7g$_VAu7UO{=6z^$N=>_0!|%khEo*y>ua7>7oegqyOn`FCmhgM7;4o}L~` z;B52AK0!lp^MID|0EA(_0fb7@ck_MUzMXZWIDK-rXp@N)GBX*iltBra3RED05-^qV zq2OCH{eKQpu!`PjgTB~8N?d>pjroH$Pe8>75GJ>I$C$yDd?WTFbQZ1FBmx6M6z4#j zvY?g##&PX4mJNulH9maX%zw%eZ71IF=i;r^opmhIS!Ih{sl{5A;`gc6Ohjfb&p7Kn z;Df%&_5-%S7wqHN#Y9}isA+Fq=Yprr1Z@P=}{YCDP_AHN5LS*v|`58tZi zWBcO9x?m5BBl(KZT8fVv9y!m(JjZ;5NZtWOh_&_d`EYI>%*M^FELqTLp1!q~gKyQ= zWdgtoMW~LX?c)1P`m9uDRTQ-nMt2U>h#?{ooTR=MWR{OTXxjvTv(F)~Bp;G0oaXh) zLw&@pWMJ~Om3Xry!Y$wSOo?^XE2DyL&45txZWUoMKD#m3mv5zmN*LNMY`NM#5nXH? z3o0^Wtc)Qhm5MP3LZ4*6S=&cJ9@}2>+hMA0RFeQ@`s*7`6)qh})|0Rw(AP?01u_R2 z*?i^g%7Xb^9h>ntfS!DseFIURMRV&Xg1h@-{{f{m+kO-rpSh&7(eNGl^c+|Ub0h6fszo(e>vR-_h#li>KaF;7 z`~JvLLAbV^C05}oBCRY4?%ET9;g%=duxMp}1S~>in&_6_AWYI8gCV4JI z^cH^A)^K6I{)<&_eTvDMITiq^m;>R5|D1dB9p71OMnzCk!x(M9CD2E3Yayfiykd}# zJaut8EHKcPTzjdA16I3ueohiaQ<>17@pEO8D05=o2HGpL%<{4c$DQ$RR%SbsTFP~`UYCv*8E++9v$m3^@W#DaKx3JXh<5bhtTS;lODCsg?Zz;^MEBthg55_dcL(9jqvu$cxi{ofsNW96vesXb=esvE>6+_RRPy*m6w6IKpvLw6gf1tyj z#InDoA7hj)FU)Pi80p7<5R`#nz?WmOO#}Sqti>H)6$8WNm*P3zwhb}w>!@2QAu@%E zB>PrA9spgAHsga>$-b1qkmd75raE2qVKGhj~{?RHnfc98%8AOJ~3 zK~(v1j$Fo%0CyY4OPH*mx(jK=E2rNoU@Kg*lQSxL&-XP*(w((;`eToVb6Wbn*`E1c zz_rNN%=%UtPrJso;daex{V$(YC1mRdH`hhEf7yGPRXWfm^%uV7!mTsiYw!bg<9@gL zVvpVL8~8|gU=Q2wH-VNHVZfdKe5aLq>KlR*Im(F2{K_Mi``Y*wnZ7VB!zG|ltOXm! zmBQ{N8clulKLJz*{w5RNsgL;L)@4={?{05z_pu`nj2q4R4qR+gmQS8L1z8;MrxJiN zOd6?htsTZXF9G*aqa>QO^>w5u;S7MhbXDsw|L~Du#gY~-t(>^bEIBK1YeTGg+k9Rl zAH>5q?7joXH*!M%<1UB^UcnK?g4o!PbCWbMs7P(KF5PC&$z>T);Xpye#j*0yXbI2q z7fWc|*11-dN_(7J20j3DVNGUeLzr`570ek6JPN5+A`rrpXf>n}%^R4DOif-CtoCt1 z!bA7oDGScZiHN(Hx4TGk>Ve}ziL-ue%C&ijk_T)$To za{KNvdFk9GnP098-~^-n=sPt1q3#Z;Ew4)VdX>Q~Q>47bj(Wpj&ze`sL!}73mpj z7hFW8F-0y+9~hmUr?~xzQK5w{N&M- zp>D=|b*(sW&Ugpzcz2Mod&GlTMdXPWRi4#hS_mp+WF%S!{lg>C8tB1J-Q(_Ej&p!B z0m>-y2Tz`GX?*By3g*)U%h#yBCvkNUBL54UuQHqf8jI1 zJ>>WLzWH0fO%5E`>-fEQR|K(s^(#*Y+PTNS65MAltIYS`8!zf>r?qVnnHW}Z3rg(J zF3tbrPag^L21ajk2LW9W^Q{Q#BA^TTziyzeH+h?|;w59hi0lNYix>6SbZ@#vwgc4l zRxQUINOC>P!GgMw?oD79OTT2j$)KHjHmso==Qul+H2LP>t~VOk1-a_=?K#I{9yfZH zeUBSk65ojH7Q^$lfan`dytkOd#^hz~FRm#!j(_bGH^E(6hHp5y3u2V%PI&#C<{AuT zZOFEZEWEv~B5O{0#u9Dd&UlnjZ%mR>0F$%fA#@r=`f(e%QFw$L8A+pP8Nt|4k6fBb zK{Odj0}mVuTLtF^f=zfV)e7mcro}fA$H_XK%Gwx>(rd>7B~WgZH_~3cPZ@Y?E8JjB z309Tfs2@tnE?}JEsyif(9d5g^KC@LhyF05=E3tq?J~?oU{+oFY^t8#`QtPs7cIXL( zm7M^I)t1+#+gKTD$OoHcLqKy6y)`Y?M{~-phqN~Z%9RU>8w{(PG&>HUBY*DPsH9&y zH&v6pBf4=FsToV3x&KRl`nPiLV;>GgZKXg)jg#vrrRd}$LP>>MfSul%J zU=0$a62bzB{iZ;+IHQ|oUB((i-CudmIhR$e46MCF563HkFAm87oWjp4tl*veeAEOS zKqX)*?>Gf!uVZ2rLQoX$y#mEnHnWAFCjc zE1z571kzzX;cjK6^U~?KVGdd-30sgA$_ck+mi^EM*q#W`VSkf@4p`pcgK;RyOA(d0 z67U2qidTfN(ulIh(sZ(CuK|!IA~TcIGIc&xEN6?x;jdLzux$hfy47l& zfMz!;A6|6m8_^6n`Ylo1W14nzn`9gUZ=>;d?1W&n@;}CG7g^np6Ewl zE#IvGxg{JLA^|P>SX+O2dD+f#Y(EY?e9kJqe*7x{9JWudXI4t>4eE))1p1T~x2xy* z4Ef7|LGZ`8!e6y5-4eF-(*R1TR1(D>3;x)O(vk&dQ4T)sxJExd=c!ogJsQAsrZKr2 zs2R~Hy})bD-Nb4FO+5I*LKwYhZIRTj{rEtBTMV<~I=}l4uXMs2Ye~Cc4y5zj!Y!~X zPe19`a}YEKPM?UoCEC05jfni4vEWOa2Kr(9o*V{48O&SuVZJP&)%L}h6Pe+s;k#t| z1iApc#UJ_`JO4_`C$rMWam;n!1r%%JjheKI21{Z97}a@eMJlLa#29sMYWiv*yRDNQxBm+q)^ko2iwN`@Y+Wi1gfA1t37V98s<(I?n%82L!@ zV$uNUYGv6d7??1mlk|=JIJ^M%JEV0&$_Ahrt+91enJ~$oS8ys|{UaW9Gd`aI^aKwy zB-hqseL1DqLdR4pxPcV;vV9ZABm2%YHM_8|uH$29=e``Uou2fu;h{Re1?K zY#)y}I=527!Cm<7yyO7BEiS8!6{8F)g;NZjbNz9Y3*TQE<$jz9#HAVBlj`pncYfjn_V&|Uuy0d}!I(ckVau&b^kv5_S z*oq*o?a0FN+PZYLS7n{1hP(t;4!h?b`WN)4O{yxJGB`1DHek1~R=mPrrw7h-cXmoG zyEtH@{6Xos)z9vSB0p!2ohc=EKyI61w-1z!l|H--*rY-F-xUc924EkU%q#f?5EsI1 z+P+Nl{d&yLw0#?7kmoyZK}<}`^U13ypYMX4W1)*`B8`9a{*_y)`WfO zFaDkqH9SA~-5+T11MA-YUg_!2_HrsZ*RW$W_u=NIJs^%ku{`-S^5kGu-mX#%@@`iSUV(Z9Z!IL8~1&)Q!(oV%Y$nVyANr@J9#N- z;G?13+h%;mu@}w0A$6KQtgAb4sS>3c-R$GmF8qr=LY zNX753xM)D_Gj02{#jX6Ek8xTGS*wbafVtM4H7r%SYildJ5D;tX49wMra}Fa5(gbL` zUX#wgWm#E>)}Demg~-d3v(npx!#4HhE;`5Or(Sqj?mV@YdAaqV#rk$?{rF7G`E;er`s3yGCVbSl66$ z)0d^IN0sv{^|};oZPGI|Dn+p(-QC@8o+Ohq^3`Ln1zB!Cuuon-eNnE=%t`;ipo|R- z;P#PF#0MtE9gu6Kvs1bYRh*lfyeK`rI^P-@^p-A)LONHMMLO00nIkXDBlq9y%H+iH zV{+)ehg|Ut_VcWykd6X#X1#o6U_|+}fv>Rw)RSG*He)V}II%Jv@^J~K#{hzRv&)>6^&G z_N!Cu{Q5`LN))(0`@Dk2dfOId-h;00d*{I*XuTk4tdMiB!3ta<{pK!*6Hh%Gq`m#n z{t$2U7IiQDg<6?Hz;iFfw)*-c*CZkry=A(bb}OE2X@xvv_l zRlCRIWnD8~>Fn&8xR#wXmy3S+)J%|fu&VovhjyvuK%`ap^)|}-iRX^UqxatfZ~d7H z$ma+qh}7<>{&tZQYd0Y@FG;&<#@Ns^L)`DRL0fSX#MO{wgNFz~TseP7nqbv+WdU9l`L;W7(rdwiCu{m|3-*%L!`MApspJt<8OeF7Sx60uhv@E8zA~yK1l$( ze)K>D$N$8)M&R>}S~%bR^NkiyH_FTE$9^m$xe4q-fn0B37t*|GwaYifOwY(n__DUT zldt(aGVUSlWU7{Tu2Yp?x@~E9%1wh3oa947gdHUGtP3Ik;t-j2n z2yc&R#w1a4@XE*?9j$NoUBj(U$uB)59vkkJOT3-a)A0r(M$7d;-7QWHH$0NM{F#3~ zJzZ52JQ=q(PCm^n;aetp<O70f3a4VUVnqr)?>Gh zQClsfHwOu}Du~wXWOhM2TPOuJtE&xIv<%LbhFcPELtt|d*VdWOEYzf<4WPZWe z#ojCo{>>DppwtLUMfS&oD(go#51+&5e`?aKls9rAcI^sC_PwZ6o77+ zmMVUR93+lB4W_R|JnZsszA(9&i!w&OlkviHw@SP4vhNnqfUq{xK{BlFH>NR3vp3{g zg=nPR;gzx>H|m`V>2BQc4HL=`xdkSj3@U+b1CR%4athM8JlCa;d^P zPHf`{r~FpY8*wc#DJUQ#z|T{>(>);X%(7874UIewms)d0av*G#|50A7NAf0{9Poj< z(7cf{ecCcWh~`bp*51VJ>c~&R5Q@6C?awM)Mr$8wTJ9~Y9F&*kL&XHp64*g5PT`$E zf~;L8O7r;M3?d)0!=j&WQp(O3*mStrO+!@yB2w) zm}HaZwbgi7&pzJC1|>@eNQhJ7)H{R}FSUj9d(t@|xFN8c; z!LxR16)IgC9#DlSx%DIV)s7vkBbhak0*az?Du5yU**1#Xx|bGWm`k%-^%ikrf5^Dj z3T4c{4>fCXlvO^)lLwx2SK@)J^@n@cp7b!vwM*X}#r$8&)}xeFImy`Ay-r|I9&8HVpF(WRZ2rCIUa)p3i;`%6-AI78G1(7nAuCfx}Mz zN@IUy!Nk5u9cf#CTcTi=%*COkV{VhdJjq&c0GOCRl!sN8o<*2X$ju6vF#xD9&C1Yt zRQjQ%P4ePY0PlHQB9IATXwO!@hVP9G9iLQ@+14fIICf08-xFBGeqURUwN#L|%Lo=N z|8V{^pm`Nsp zN1-MgE%&Q$VOl}#wnbq;4ZWuEd_TgybIDvb?-or()+x!84QmPDhSN@FIyX)n=5wMQ z%d!!*np;i-u+v;Zk;{iDi_g-1T_e7sQYQdhJM|-o ziz)DF)8pE~U4YaX*SeMl?#*0yMG#jWcPsC>+^H3yEeCOdcW!xeaYpyI`DFUt{auOG zR{GoZL~Ik$73jPJ>+6*@qcrVFX%V$FCJWyLrsF%6<}lvq9-flM2m_-j_!Q$$vbSO~ zV#jJHwohLH`u>H81SG-9j`i~(u8{wdJcO_f8~|{YMRx!(BRAM!P6;qq*&YHeUr{Sy zv0M-t2d33?|(VpiduNX_na^2c$r^F z&^x%FqOZOZ{C-J8l@vud2O)pdKlW1Gxl0xSYjUh_G5&Md#?B4ET(2LC^O9n{E|qX; z10@7A|A(=@z#MnYGx7<+>QjdJDwaB=@YbNnsp0A84ix|mycM&Ue{Er?^TyK|q^sc# zJj*=Xo-YSoAJ>bHymj`?$nu<8?R@&#=j70V1K~5c<(6BVd&=)Q-nxH}T%MkFm-}H3 zapc5lx$mxM1!z~F_PI{xLS(32#9ax=bx0xd>e-93=iqLsi_ZJseh`-%iFBH?qsq#% zNKdb<0t8!#bg%24C&cdPQY$o*S7xQ#pQZKn>3I9VJ$K2`BS++w)90kaS&Av71L^qu zj_n$f!e46k(RV*6S1z2Db4zQ|=FeGYE?p7vK%=&HAX!w#FPyj_@4i>d=;Eo@<;1y* za{K-XnZLxnqC&cje$JIE(=s>$a92eJca6z~MFp%}yfp10ULs#Tep0&n;`a?9A*K_x z5cw}(c($xIji1ky^YL!uMLs5iIs=V5M)n<)kKFZ+K-SS4+t#igTu`NL=ZU{pdG<~W zhw^;rJ?{+hmKOE$&)+|CEch+5-T|07uArM=`0wMs#r>H?n(;)^eYc*A!pfc%By zk=NQxJUe>nWd$a^?{EaQJ@%1zx%kM{r=L@RTYIf0Zgo?LoH-pWw4XGWIaU3)^fzC4 zCZzw9-|=<9eal|85_Iz1Wj3P_79F8bqgQa5Fy8?^VXT8$vOpOeA@r&p+Nw5+ZWFX_ zjo0YYj9)qBMPvDCqnNReE~m^>$lnpm`qAy4{)K)_;Rz3P8{VzJwBu%f@tD8(1aVf} zr=hX$fB0SQi~XX}59?l!WAmX2v>T0|MN*8Q*Pr4c8M zmB4-bM#xI0=Hi~x1G}`p9h`{Zx(B1xIP;~?G262HE`UEsjoeVDx4Nb#brojV{L<0o2tv@7~!`yF!bx zJCKY8cD1Hc;FIcKJdy<9;aCjTQ@maJw8~B54@L^|JBYF=r0!LPFOY+?4~nAj6vh z+|}Qsdo(*%_?~h5X2Dzb_Rp&o3Lu46hwEj0=a-hG-`pGoU{`y!9PCgQAAa*oYce{N z9-{PR;FtMS7qNlWD`)0qY&hN|4uavn^gWN%)lrd}zriRE<9l~@yCId17~a!ak>lr5 z;8uHfJ8phk?ow?n z*4CxnTO}&XBa}XhOu56RFk_JlPq zfVP_bnw4iWdivXgN&2;V;=o)tUSQ2g+b)%Ot>SUcV_=sKOzcP2jUrR7L}B}~sKlxq z36kJk2-ZOOQ|k^zu!3ThbxA{h(-#e(21@Pb@FfTRILl+cZUI8D8yn;oz72m1rAyDW z2fPFDWfV+IXstW| z3|ZxM2Vl}+O~GGmOxBWypVLB#mrC=w(*5$%iY$3+Jy1%vptG3(5{e~D7y0qsTBO5S zjGa!~e2|_8qEudCZKKW54O$Cm>gbB!3BrOh5|oEaZvACicwRIL;ZSV1z)b*9tfe>m zEqC{)w}e^iD{Nm(2W_3zfIQeTvgv`Ibc}1;rc+8cLn;+>P^P(ppRF(OQtKMZ6(E5N zuf<#Ttfd-Q60%C*RyiE8Ef5DFJewB+QjjOK$yR+`#f<$qP$MY8`$Dka34ksZ01Su6g@Z~|}nZu?#fqCmI>+kj_hTb%P+kRWJv+|ZWG@^EiZbTI8U zxoNl}l7K!k@ZaEA1Zq%T`<%Np8@`ns3}M?azah3k_V?uFfN#E^U(6N*79f(3jkZ4m zFWyEEci!*YJ`X}$`EpR4RUotAImEL-syv-sp8VaW6Xf$9)xxYEe1oU8{01dF3#LQI zMn!0670-+jh}+(i_EGTTF9)g8AI}D`jaTSJSU$#CfG)yWua+O(eNf;rKlEAbUvq13 z_WR4fH=8Efj~#;zd*{sC32&O`ll17@(??Go5-1wnv(fq2OGSnQ&u7CG;Ki zw*9c3!(rZ$^sfe-2*oPp?rd}YatO-h>R5?m(O`X6u@4vSnjO{ zTsaSgOy2_hBi0|lW3Y@G*8-fUvb-*iUS^*}_a?gFR*SApH+MZ!)QkmzTUEOm2O7pdRMxMUrLYmOI#T6OI_P9)N(*9EaoqTH{ z@J=TC2Jjvq?3Kx^U!)kzYlU>RtFj+%_20>#EphAKN}2$0U9TTNT&;ecMp??{$66Z2 z#Q;4e7QAV7A@;o{Ei!{%vlk$>w;O3W2jE!g$i4Mz=T3N(q?_7h)OnbqBXi$*WL+}q;sP8G=0bw7BwD{LtHS*(m114m zq$=6^rUcA|>r=$hd1kHzuvf>6Qt8j9t%5?FRjxLqlZAtA%MS=`NoQopZsRZG2g}#} z)3Q82>{9ybtFOzRu`yp4B5TX4tU=4fuU(pv{*Dgm>}Z#zvp^*^Gkzrq$r0AQ5@egSZ?ck_D~}9wDTq1O0DF)Zx)|zScm};GthgiMIx{ z6k<~(fy3EFoeLkm68G^|2E3)HLZm*R=Qa0@kA@npSEFQW{=EDjJ@y@eXLkh`Jn3)c z^%KGWuTJY6_1t9CqxkUK4~OvQ{odV+XQ$;ge<|Cyj>k69HXAPrA6-7@;kFGRlcWA6*$uhdRD|MsQk za}cHyB9%H)D!$F)oAodBD~*nIV8~C%b~92rU9g{567uFVBq|~YZoNJIW)US4`ZV<0 zS@IyRG+`3+siFI8=>=6GPDmA*Wf9>))`MUen z|Ant=pXnl)bKYWs;I%?7i(V{vaVcI{ch~LF`W&r0fyc?!(t_~vw0=Bvr?KMJnsi4( zEvT!p?d?dCTViU5TyD+VMiTjtRV3L0#9e2yW=4EU@cF z1a+bCuLjt4Ls!~$629%vf8#o(lqPfiPMFekH+sw4Su^@?e>`2^HKW^DsLAH4d-r6j`)p}hzG9`J&t*xv}uWQ$7UANkd zV%)MP_FH-GkcV#-#D(}g{GFdhf2D1Y2gtPWV-NWOF2Roq@K&+a`P&l@-;eNHvevsC z6Q?MimP@^^o5MIn?C#ZDmzWlBx6GAJ!HcpcmLhPwe|tK;tYymiltZ7Cw6PCN>HM3w zPC_dM?M)QA@>@JDFC6r-yy0(^4-zXpI5Gl%Ut9!8toZW6VJyoBe3~g>APkB?RxyU< zi?FrT^dJ!51&4!Nq20zq-2ArP5D~xz+yrba-0*vIvQELOifsp|hxqP*ZT>V1paTnp zARqxT$`oC!Ure*&@^9s*QV`_9H(?c-q112NQEVleCV?`DtK}7Cw_q96Ex}r#wLiqL zhrT%=!L=cOMrVOm-~q*NTW>SQx)i?)riHq+){CqnJ!$yF0XFjr<&Jq{{ibiYFOk>E zp6AiFZ}7%9$o#3?vAm$o#8ZtRV(;4@&XgV?r@u(RmmAR?8q(8IYY8n^$O8Xjw z^EWV(-eAG+oZ$&j1NCh{hP;iJ?T6qk7uS~^LAUvhA-4a`WpAZ~);|&t7m<$MP_NS3 zZ$rb<+alV{ytl{(ciU!y0uY!~L@cmOQ;Pqc1*7l^OJDqw)zboy3*5zuU?{TIRs>44 z_Sfx{$s>3-grWK)?mc+Z0nm{BS&NSx+Zk@HRp#RiY4C)yT>`+(@@2=3#n}Zr1O-40 z`PJNQzFIE0eV=Ut;r&DL@D%OHf}Gf{$cOEp?>Tsj{$)=)c32BSptZnC3+Quv%!iF* zS^F&y@1`X({XX6I;Ja9W;h`|yUTA@icGnfk=|Xce!+K;h%(AVbbq5DZIc z*7}y6=b(+R8f$;n0u$oec5LTWa1ZZ}$^sbUY`DEK9ZFbMc7V|d*cuuiOvZln>jdMQ zq6yAs^GOtUJ`U!6HTp1DEv7EXc+lK<4nF{op%}?IM518hl&7^FLtYz}Uw&ZA&sqUN z8eBghKE`LxfiU(vFrIHi;qinrOr>zQsE6+vU|nOK&??R{EltAzug8?o zzA%?jrR_>056Ur#Us2!~WPsAR>&Lz95RJe>r%>+ZL#pHge~ulX!#cysXyURj$2ud7 zIWD{qT|?PIu)R_0f30suq-$lhBk_ObSO2}>Z@<5pcW32oIM&kFNBtr$7o4=THbG}7MKt~prV;*TG?_H^`3 zp0O=+?V!PK9b^Ggo|n6=HSqPUib7TzZnN}6IW0O3Sfer)qZ5JHA*P-Um(?V}1`OMn zRi9uIfiFHRc4Q22&q~8ZluD2FU5ByS!$<%&>Dh)KPki37?^*^X{QiIV1M;)~^k*4; zTb=-O;dkHr-WK+o^D3|xcQ8@V^!9s8%C-;-J-bpKwm|?)J>bW0lLG42><@>K;9!b) zYI*8DiXrgHwAZx14k2N(pgf$v|99v89dhjXCf4TN+S;ZY-75r(**v>oFfMBt*59gu zsDGsjFb8L&OsA0bwKl1?*Bd#yBrH$H;ZudD!B8ir7MmwPTsj-~hbQ*!m&wVgubawGV9&T*nx2)zyZS>KhxU%i>5~dD zSi_iAh)gdm$}49sNPkCFE}09ide+xv$zQ;AaiI{}+*!wkroKo&_sq*Ov3rjkef6Yt z)@Ee4vvyd>+wQtu=BL@u7V^E1J|xHHaH);Rg`;0(ZOEPh-IM?RN20ZyYA5ziG=Udi zRm)a~4&NT)9C;xE9Nu|X1p9RM>sb4=u>ke9LoxjJKIQqBPep53ZFkGty&u<##PU8^7W$Bb6rQ_GbG%S5{ zxAK_j(=(ZbqkW;f5c$eA>e4lr<@$%TRkZQfja9VkFU1>|A^}~H;3lYRbMIp26CkXwFh2JHIe2bx@>wnJI| z`Ty|L4sqT*+vCfrp55kSD&^eU-oMo-aueL8MYa>*F1v%5RLrTD(UNW2V3}ILD}R?s(}m3n@H>H>>-oBA~qbQ6)=O43M=%{IYg6C}0eb?G)1vNjQA zQzWd5O%az7ZK3Rxv^>I4Uzf}n<=C>M=$Gkt(>r;dy}T&co<=1HW0KBX+c&^Bs%WLx#Hwm?^ zKv|r!g3ihSP(#(-s;C^GIBv@jKqOl5u?oSkMuj@0;&cwev!ExJ=6c+LhO)XHYx2Ax zeOj{`o}i_Jm_w@wKXqX`1lT;nGuDNczg3zKZOjVdIVm8~)R~bzB<3BcU#rNCL;eN@ zAWsXcB~);RS6)U|VcoVp&{_rmTtUa?%O@2cs2AMq$)75o#Xf|$=OG+*n((UN2Hr?p zcn~jWVQtI)*beBITf(6~p4Ng@p3ht%9P|X@VPlE4f&gRmTk zgmH&I3v8pGebSo1H+|@vmk73j{4|uZMb>1jHP!>K3$mTnNRZ#XMfP-NKj_}>~Rr#D{ z)mVqMilc~|_bJvYT|U+%-@c2h>%}j8GHvJJ`@V0FH<98!^b>{1=>9R;a~lqc^@kg_ z`O6iPZJR=yffWH(#f4Yn!8YPsU=HS8HgAcNv;*PB+b|K=T8Yf(EOs1q>kL1>po_ie#Lj)u|AjUND}!bq2J=&{AslOr3%-8@ z4+|1Qxh66rf|-lyYsfU&ZTWfa9JZX~RYy2;Wl4VFU;H!q_5bTvH_u~B8EhnO@M-Ya zyeKy*(-NpH*QNV9T6aoQFMn%wxlMVDE%cmj49}M*nb38!O<%AX2O~? z+RWb43fGR!*|ZcQ-!ojRW3Mt^veVI46kz8^s@PU3=zg;eGzWli_OJ8rgf9rT{)4vy< zd{G|!@H?E<>pZU*&v?FLlfyhhFL23YkO~urxUYrwt#h!H9{Uj%%;jPuD%OeX(Q1wQ zS7c^#T85kj8efo}9rh9IzP?-cvjF`lrZF_ao%i=AU@o1ffdb)WKjfuRDPXToI2`$a~-ah|Eq-2C2Kf?g?}# zkpHovJ~=ZvrN6sV+C7KaHIdG$NSC?j^r_QRa_^pDSzTL` zYG=E=esNm5x~eiV*dLbk9i0kBs`&kI0Hb)G3m_;A>72O`_sHM|?CEWL$K}aaw9l;7 z3+eINHxqmJh%95jM!&6-XD-Ubm|iY`q8S|MljWi+m!{`rmscd%KhiHN72OAH>+TU* z(7n;uPoI^3e^FcK%DhOI@);T4CHLKRNM3yIIXU~nGjhixRKzOeWAA%VUV2TzSohy^ zSf2TkTJ1`zq@j*7kL;Cktv5kjX}cq3i>GB0$Vxp!Xsa|3vnRXo&qQ?27oPfinOW2e zPFXJqc=g1wz`EO?O?>EW5s3DOPrn*iE!W=}+~4`0w>x*cvG8-^=u08|@T!8kcOSmP z`9a3HSv`Y-`|pmalJx_J_sPs@9Rv67;>BGeoo#U}-rKM3;?kvfhP5~wFIRiufxF!o z@Z^^PmeY7APip-m@%P*s_lTE$pYy@@J``j<{YnJRnPZ+1o;x;OwNPY2`&Rf@Kc#%gTaABD zV}tR=LELDR|CU$k($%@yDX@>7t$tVQRq3ckW%E3Z&AiXo>eAnx%F#M!BA2FDWNbJt zKsS?4PIKXMO?HpQGRnit-f!RAE62}W8&IjUttzy}wNXAP!{n8kjPKf-tc=Si4)W_8 zv>DQtJt6DT%DVJm$F=OY+02y0y@sd_+^nKoL*RCLlzD;4V1s#ig4CTOSYiLyM?17ZH%L!SIcg&1o&!o|(nDQzBx_WjAz)@BK8WgL`E1AM7YqZfC4)S7wdsOacO7-;!l!2dB;D=HL zm2;tdZsS_3805uttg5LFHq{>jz;sIW=K$V6=Vlr{o(*~mDhY}zeWkZx) z2Agk$TcwB`PypbQt*hJ;ioFrKmAq^R1Y1}OdA7XpSr3h+fIkbqLfzY+vz}o*Z2QBv zV!uU0=A2bCkU{C(g81@|G6!E;zE&w5ZO_(W4)ENnl1wi17ym*JB0l>4U!Me}z_>yz zSSxRH_MLq#ndRkKm}xX_xVKh?`iH5kr?G9m$&b&x@3pkKl`mUHXb;vR5R@V8FSp=i z<+tq$aa@1k#|_H^vgP$_75Z)8fOz$Kx-7EgX=Qh`<}itAKK{p#)7kJGA03y^|H%^q zaGA$SI2sE)f=3SQvWx~s(lyBH%4+C`K}YZw+_VfBzDG0G0+8YAjU8%McI)06BKX+) zw6f4`$2QvsBU~+DDWz5DgHJvVTPwhAZLnHN;k*J36Lil^U}sfP`;YW{5$Ve;^P#*s z|IB4@ik{#PaLMwTv+l!Wb6~Cl7#XUd_xKiFNULu!0s>=*x@IoLgLe4XGR)Jcwynz- z{_Kl63-_+$O)QtO?ACg#2sbL4%$y4!WBJ_V&nRfCt4>I+1Jy8t9rNL$Zhvlts z1Yd{*fRUHjg7$3S1Git}NzM=MH+{5>6+r3Q#^CNsC{8_7D@Uwlrox>mu?bYTD z{Siu+t#ZoDi7numY4M5g$69r`?Sb3;5Ttbl;5ZM57iSj3_YAef&My7lo!eMo#XIKY zyn!6~40H5Cfk|Nuj7`FcWb*_!#%~=fydq>FGJar;A~|4}sbW9=cv^6T1y}dP{F7x} zI4huTep1A_qwQ}2GI#L+@a;_dUGiZnwti7(Zd~^H%E6B|e=BRe5j`se&Z~T7(t;!B z;F=vD2j$sT4Qm+JKidL&#@i%LTE6YJvQeon=u5*uuQi&OI5&ULZw3 zJevVoE}o2YaZ3*XdAqZQVSP8}2AJ!8-=-HmRN8RiK#W(U+k7#=yK-w>fB8GnqCo?3 z3y)?XF1?VcMZ`@8*?kckC0J3lo^EYg{!L&HHQ!%ARGkCH{Zz8Ux^=BYtGSt#u4dM_ zz%PQ5$Q>6D{QvB|XOv{ebtZVTOjcEvH|-nk&<)ohKmY{5CO`lL2^!H$OL?wF((+K^ zoE>p@R(q$C=Mqy$$&h~rIibd{e1}WJg z|4pRi$h{}Y&EG~c4Pm)2jJOeJzFow_E|{<<&+mFOhpO@gX&lTEz3^B7BE*?%8~gFY zPkAs`BspijmrF1g=5#axd%e;dH@{bqUo^&oVhw!oMEBSU!Z)?;l4|;y(dl@ku85e41F7g}tg!#+DtebmDNBlv@d2u-wZpdU1J)cAXdH5v}BUs3mbqJ0Lar z7z;tRtuN*@d7i?pa97WZxGmGJ7dbBW>BTPq03ZNKL_t*R77@pSENe((Ql0K7&dx1T zp`+F8(V)Dcks(@~9F9{W|JI2(_+`Ab@cKfYee~b z2TssUmsziq$IgWHzHAyp`B>Fv_KWS&=aCF2lrDUANC#B z_qEg96#9s0$$N1ly5aJTG&hE|bwYRCzK`<8+nK!yUw**uHNH{2gH}4j-r=p+?l6S& z69EjgZqs_-w(f4*f0L)}9%9eNVID$$9N^yOizxsyPr)o114Yo)3fATh&tJNX)$-H1 z2D=aJuB?QjOetgx5hc)MJewB)xrf`zGrhYI5{@rea|K_7lNd*<-KR@$u1H z0`To5dnQhZuG?y#m-6%i@yXMk>w~d`v!$Q}_rQ;yvSlmYKsM}y&xN1w6Y!ua{ZsGFP&Ah~PTSy>$$tYkZJ=NdI2~bv4pkmX<+X*lRj77mQCfF6k0Sy*==g z2uj*rw!>goReKfcw65y+qUb`)C7eNnbaMy(Z>_WF)2;ir;%F_nv@EOq|yed&hJ zV$B&P?QQ?!XX#u2&u3L??Wp_)8Sd>Qc#PhEBCe6sOY(yFgUBbSz+9vrVKJdXJ}oEEtQLaeP=9x0AS@iNvU1~U@;SewEk|Y5N1WHlb=6*5m7sQMtFbRG zRVeSQlp9GALqaW-BW&cdqJu7NzPwD`H2_agERza@njeZ<;{y0t5Eg4dTUyFKY}2xI z9AK=xP-^FVeuh%AnB<(Uo%t4;FR2IfoFrQ2=+;E?5<-~(X{P=9dh#?gr<9x=VVV~( z1|Y(#P-jQ_RGD3uPy~LHj0YYQ zINM}E5M;2YCNt;ep!7d)l$N;;Z2cK=@N%CZuIn!q#I1~|qMb;Z5s`;RQC z>@Lek9@^@`ibNzmSV3u8-q&Eg+m3gsNF~8bkSo2nATAZ40S44R`HU@yXA?^F{pGf`oRwxgPzb?o3UDR+7fSPTJfk1@H@JR)BtV465a-M1B5t>}C@$M7`x{}YbOME8 z`BRulKG8NLnBQd`<$VEx1OZ_l%R7tmm_te5;&n{lP+#=!D5*JA zf*}E_l678Gio6<-C)Wsi4l2%s`-n26$G{kL8n2r$cCvnWk3h*c>nEQ@0E^`J4A0>m z4v-Sn0ZPuIzriQx>Tr(}!n(3ce0ypyar4SM+Tez8z^UtP<}#fq;wQ8g1B69Bk2c(gVe^a&k)_HcBc z@T^I&84i%8=P>|08|wGk;sVv7&EUq;`2tuCS&A*+6%mrkquBe^Uj&GhQxI zY*4&Ts`8M4eMIa7uJsSgaJk*IR`Nwxu9e73a?*Mrqobo|K8>$dT87M8EHaNlTry3E zdCa8&xtJD))=FwGJgaKJE~M=r>a`@xPP^h8RQ`J8dX@`zk6`#t28T_=ceUTkQeL_w z_&adq$OEv%qurKor+lHqh!x4+6Qijk*T<~Uv6m=UP_`9D`JU;7AhX67=^@CWP(y_D zK82NTL0kwMF2|aKhY|l1g(lcL#HYW&*O-=R!1aV8j8dHnvzIl1mD_U`b5H`=sc7Qjo> z@}4fQ^K`!68{zycZ(s5ohG}uthRFczdcFQMuuHZx$uPpG_dO&}T6o7Bb`bXD(|)s) z)z)FPfe+?0>E^k!4<853ezSNUMUalaq@Uf!74q@DBEQeMJ}~~^jb(5m_J#WjWWMiZ zMckY&_r?WFY7pa7?uj!|?{FW@8sG(|U?x+A)scnuN&n;I3l_OkiVA!StCiN|~(CvGI9=9>(&@iUDO^xz#Gt zBaUBXZkqCagM_sKyl;(-PEc3AjoRF~<#H<-zhrDQs;kSsldLX>EqlvwKS7m)_YL=- z7^jK(dFt)8w5BUM3bb)uC$%|ahtItD3T@r8i6+O#sNJo{`txmc+!-gEDV6-qfAikU z>7|nsbl~(D?c4^hvqYuVHtM7$Iz6*Mqs1jt$1^i!I(o*=U#5O;!{zYUENzBCyo6|E z!#bjIJBN0SY@+h%BSs#&W9PXl`Hmq?CKpsA?llt0(@g@eB}Ff zZS#g}tY<8g{~tbeZ(1|xU%um3lfJ1poSVG=*6Tg(sh1qsX!G{au4iBI`Li>wgjTd8 z_r^kefl+pp${?<6ia_pb!vVeq5)rbQBfZ_!CdT-(&_5e=8&r?{*ggwj-r5`H=dG97 z@p|v`VJ)-Moz;W(D-VQor(IXuvAcKkMmpt=LHF%(`@BT-%@>aPx)m4gy0)veohICw z=@wyGs#ToLeg6m6tJT|YyMfFsm=JyUh2UxRn%$v{r(d>Swr<}%KvbMIH{}t))v)7i2dB?7HI(!DAa_Gy;a=_I&@FpW~ppHUsQh z+;Hx|F4>mV+VRPsU41Qn|Klg4b~O`u&aXF`;kG;-Td!=Md5t*B$AbseH4^!niMbGf zU1;ptL;&*{1vpru*i8J|2}96(C|FY&LttA*x^ z3PiGskX@Vl>EJ2*(aCaFyV`Yk5Pa3PK6>$}uo?U4mQI$0Vf zTPQ74L3v=S5+XjL;@-EE)kpSK5~2hxBlK!S<|7)sSr8L9RrWChWY}`7 z1Xh5aWg1>5m;q$0RLV3G$ihm~5}+cLzro82>3lC3fDC|?RPdF3f_hAx4u>V&CcbLr zYEH+sIA4ss7eQ{MU@rz100&UK<)8KjWr4wV=EHrGeQuO_O_t4H?>4J(egMS_qkI9Y zn{92%W0v)vCS{>~z9+cn>=_E_c08ieInwp>-T`bCOfy)i2cRSQlj8yDD1*U=dJdGz z-=M|)UFVeB1F#B(CjPLH%K}IO);swpmBgijxslr*gVCk8G40JxD@X7%LsW5AO1VUP zW#wqZqyki;wE%NDuSgDBsQ{pr9A?A@K4^Ik(q$Mqs%=u~hUW*+;U~c>CPCa!SqAa~ z=)h1?n^*?(b8d60=RXN(gAJ}eVq zC@yw&hjFIso2FpHGpS`ULx#))piZ_&zE40a zm1yzI)bh$H$FHs{E6s7bEE8$0IDxPRc4{w?5_Bs8f#79;IF~a!5fr=DZ(GmF(RK9L z*(lBt3BrP>BKgzfu$JPpm_FdvjO3ixA`V~ySdwED@ z9B6v4X;_PNw3B|$F^*wXzt#`SoSE@if~O3Z^L@rxmrADa<|@}ye!c3BYc<$gu0>@1y06(rV*+%=ZQ!eUr@21D zT0pKr;a$tG?+i`2ljwUt?i_fE6~D`+McQ-Y<<)1vZVe1kXAYePcuV_xl zS+8_RpIwA^RH^8dqfQ6xMNb5Bf8!0kzuPe4i#-gLCB#Xy->IjnS-=CH1+7Q;SJW zOfO3>>xKP=bcQ-p7s^Y~{*7j9po*Hc={VL%wbn%toOy3ED%{@ILW}Ahm{vh3n6^Tx zRLYUzG^QG9Jb%`Du|s^yR!)^vfVlLp(W;?s%8|Dg8OKEd;T_D0?hUP?RzO12kutma zoHpGm-^a2rD+UI+@C)~V4Gx)P*7J8Bx)VRI>2j3BP09^#xGd7W0l|gEDi5I-v8n> z9`B}wPKFePHJ5)V7)*uzs5#dLLmYZbu9Y|yB*usUDq!eC3FiCMyp&y= z=z>=YHx>YR=P?CtNC{>6Hk*B-@LeaR7D2XFVa8|XTj)=+%ib8NGomsp(K1K>1V ztL6@wnG#NWwm}ws`>B1r6fq4aO^;5K-mm0x*>kQGif^B=wwF0;7sj`xoo9Hqu~P*+ ziis3Ih57pUOdFUU4~CXx?RxqxU_}d)d)bEG%}Fq>llId_tU#0cE#m6M`!T+nPH41$ z>@sor(x<+dR_v>umImgsbFQl#reEKPoY@D9*Laqocd&=#9urp_`|`%%pqJrtaun?= za3S~>#yY@|hku62f`oz~?teZb0}-=81{*hGI^^zo1JV9x!d_S<>7=$CbR58$P)}cc zUd8P|u6+}^fnq>KAvN?7bBL<}bEV4_R3a$LaLJ-5L1^k6)-;L;V(`jNe}&Ss&pc0W z*>?-E(Y^7hNg5jLHQ)BR)>fJuA2s_3@Q4dJV`F2qY2$h-yM2VDrQMvV@alGWsGlb0 zOEft(Lp>dNI(p1{(t-DL)C|83>xO7-a+X>blY`T&<|fcOq~EeI->4&>uqZH zmJ!;2#LDRH>!YcK5*6oXsjt_1U)`~39nF`DRLHl{RLP!~Rm$+f-a?D>v((;d8(vPr zxps&1yx9u<3Wu~lIx|n}VQjzvJ*;emZ@KPj+JDf3Jj#SR6=}=x08NYqFIOiH9iR@^ zzt8VK$W5RppL&+|-FTIe`Q0BsNAJEh0HaJ|jeqdQWxK-dxNzs0aySP95a!Hkfl+Q1 z87J_ynja}wU%AKcCGiu$B{N651e=Qg)%n#aki{Ub^xU}AEE>N@#g!A~Kl|7ZY11Z$ zs!NC-ee}nMO726?UlH_h3cVJ<)|(IGcQ6;uWuF=g-vQmNHvP_9uCX%BXleD0&pWTX zg*M*6AcBq#|Gs`80J8TM>^pIxJt(sFZ`j17bZFe3L3ea@(q)@BnDk>O!kD~spYyVn z5PjhX7C5uVdA$Phwki93p>p|S798|KOAlSP$$}q=g7Ge2=&FINJ5tS-My?J}Tulm@0pMO4P$DOw~D6_MXfZ@%4?l|?#GoG&psA2be>{$y= zz2%1M>8pT#}~yDoX{O1tCrrvcm*b^=oPj=dbLf23raq`BfE^>p#aHdEo#sQ%y5 z(h9Y=hYhTHIJ@#KR8(HM>fw_#u(GTVDjKUf(QL6oy!vbdDcK#!hRYKmHu%(VKX z3$CWDq*ynEp%72;(%MiJL_r&JUM4ZICV1z{W@Gf<3`N?DP& z#0noyxIDCG9^M!0atAD24^Bs1AM&BzMv>RG(YD7%piJwVj(s=wR)+RK0mymp;c^y4 z9ibR6mA(VO$5P7?X1#r}6bn!@F;_Sguo-~F{lZp~S!tHJ(JxGkv>1$s_i$(tlwahS zlb{FGU-p|l+z;<@U#{}Bg~PmjA@3BYZCS9Y%}QBZH?GBU#m(z3LGEcXc!b-=%00{r z;8Uo7P{IYh29aps7R$tSu@nw65cf*dj!1)pBrp0%-dncv2pZJSD{Ds}BijOaO_4vT zT<&+QL6Cz-rEsu^Bt1_{?^jSF@*p;N_2~<9hX#uo#b~M3C~mqQ-?|^<^L%1ITR4*~ z3SrqVNab;iFrF(vo>Dvji6Lt@+{MGga?<7>9&20+4I1!DWK1Bg7(d$LyU6yzxBueZ zRpW)Nfie-4=N`E?Sk*&1&n3MB!MY^Ur^lxJp#tg)OX>WRV+m>O2@zratZ1;11j-@I z^EMPoG_MAiK|arAx(+=xJOnA*0zm=aHHhz>i$)juUO+|!HWic$(?#l5>usLn#W3+4 zP^ghV{j8I)Sh(l_Ge7w14l4 zT3qL*W+RV}GEV|J5tic??fLdU1hCzmAGt%aMq#aZD?M#2FE54zwus9{^gP3BCFH`x zlmv-rubmRu1v=TDED+b7AGwnr{@lZ+a8|}t$@i-VAqn~1wBl?jC>Wa~*@Ony+d4yeGu#IY%43fN%-=I;=X8{3?zt-i zhtl0{{=qs2V<{*a=V(@VTZAn3T8d7FOd~fT0zm4_kr?c_VaEnHEE2+;3@{xxZS<%( z$W9WfuvaWsVf&s>{CozFcf78`yp<{8*Itj5(~rn2q5*4R2^@Jagx$g(wH$T;8qGT^~TzwIwNReamnulS5Ys*1L_5>&s6K4Xt64ZoIw@} z%Tb@3A=c#kwSlLu_Kb@xc*n##NqjQLHRJo?3PY3u+5EQRdz0nK#mHtkC^X>HMD1Kq z(pBe1DTdVGp%RLW9taubc>z)q9frDkAOlMk`8o;fFljWv?Pni_TK;vl^lp`0okw)EX@UDj?6We;R(v*#}6j65QAHMf(y(E z!y7s;EsnLXT%V@VydKi{JMi!`!9#;?m;Y8#8Tc+p`^ARH+@yo=9JL?D>w0*1$4^X8 zDk4gOx4k`EEUjm-0q=dzM17`U<`QjTXXUq(sKB~y!Jtya+)yOUFOm(Z={1v7B3y$3 z`&)Y76P);ti@;n&bk&}#Xy>+FLhx%F{O(u3M>pT?EM&`r09TEWWP8WIJMb=UZ*_pS zr0V(RTg?V$AkL;)IrCHVqQ66D^0%#};=V|zt0z7)XAbO}@_vv>bN@V;iwVtw1z@fo zdg+<)<^q_j)>;NNXjv}ON~_Q>z&pINOvwV2CsBa?S+88ECl~7SILd_PiWUZ5(;0G| zp|WkhPP77-m#{C5aCJWJAD1#z$Wy;Ct~ft6={;hB`{;?Yv}@;fsz9fqg(%@~1-Geu z@W@HJeA{MPS|I}D@znSfZ5y<-cVIeCWW$7g8304Wn%m|vh)c>HP&24vP1dT6$^Ky%Zx)DDkg3DIzO z7fsI=X{Cg9g*E8Z-I+J#Y~HYePL5g7%kK3(M!jU(=C^c82TMUd@hvG zViG_JdphkmPgno2p~Js%0x-=+d)$Z4OD`Ox6GyEvxvQO`B1o><1E7oj9UZrx%DTF_ zETUXj08!j^y;Z(To#u=H03ZNKL_t(L^i1#sx~B_efS#F zhS+;=3Eq!9tq%mcIFwFsO(9pak75}aF(;ZqTui0saZcCQt8cJg(U88o9OlWr@4Uy5 zKKZ#%dzNP&f5L~SiuPIg@a=D+cki;s;&Q?u>B*_^LHLoqR>Ai2H(bR-j(UdO^OX>7 z+ZYTfR%Y#ef8eQ?eOZT&Tfh(!?s-%2*j8{r>{0CLx}Myz-S#_2Ie#?!Kho`5F=$W(cw*Yi3wx1XdezU|^jr z*M;D%3w3X%Eth~@jokIuj`kP+BCN|%>iGh8Y4FxsjIm~( z7v1x}`}_Y+C#@R4ydxMJT9r7BV62+|m2&!?Ftcyna{kt;T!#zk8ovHAYIWl;y_=r+ z^w)fDTWgN=q5W!~C408?(EbzQX3fl3sIPm~qJ5bNOf4+ZfKXOMnk<(${~{(8*?(e| zP?vN0of==DO~c^>yB=Ak#e_PPSFS2PG^R!)0Q?%$)-|hy#0kanB6TUH&X}S)hVMoF zt*GO1&#N0zEpkm#ic2fhl>+vYV_>y{(v*)^<7p%x7PVnndwC^Yv7@Ec)wa%kyw%Fq zmZZx|LH=sI_2##>=4i39;w^?rzDD|9@^P3CG&p{~ueIBgovY_V*$&H<%`0gUhQ-gW z_8b-YUTT6hj!Pw1BD=XM55G{Hw(tn$QmN#X1DMM-5#t3vR;tJ0y*cc1^)`SQkR-9v zII^L1jRUi^p9TYz=Sw6#kwDQ}f)*fyE*5uQ+RAT1SvrI!Hk1IWaR zMaT;ZB>?*@QX;^7PzGNzM=!SI2n^W~Z%FxaFr)<72$FC=cnqMP^02yU?#bmM3(|VbNM5asg8I#~g0cd6 z>364A@&{02WUDgu^XP<14^d5`YEJhy+#1zCpjpXEIXs!$Gjv zOoV(M?+8n!cf>VsX(1dYYL7l#SH5cC7N_HiKGn~J%=hiVxDewTG+ARbO`ZfMfLD$u z#HI4K90SNReJIM#T3=v1x3=*CA~*qvubvNx|MlyZz@%GL_T-sh z!O&;AfV_`L(sc+H?s3o?z=-fxq#N@=WX*Qv%G9C!e1*OZ<@c=zZVErRw*APrRS{*M)=RkuBj} zqKN_c6%hp{LR zxBa^x-gsNvqP!k4N1`1@fy%va*=PgO@$Rtq)fR^Nh&@lRh4gM`^%wMVETRo)uc&6G z@-NmUX0GFh+<>sc-0a(ecTlA)_BAY^AM-Be_R5Oo;b#DS3No16)20!@-;*W>s8;QyxI_{4v& zNgI!+bX7`H<8o6u&Rud-5}IO4Z9vV$)M8Q-Yl<=8CALFSo3c8$iQ>GFbK&(uQUkRm z*Uk+B^KIAzOQ(hxu6loR&0H@}ExPI&Ri{XPV^B-%PjDW8hjTpb+QKiRv`nnuM1JjB zNCB3z#qAk|3D;@}^BgNVcutPii(DYT2OL9`97Te}DsLwti;I%4e~}vpu`a;-!*)Zc z$nxT{SwFWf!ES5O4zIEPxWwhdGbcc0 zqN2^0D`6bqDZp@?=pb6J{tgU+D)M{7zoASew$*k27ddpbM5u z4iqc0xH@t#0<2-KbQF#!h1C#nU5uAAPZSO!`CVbNLb}|mfS}L*=g)GL8oK_}&%K9E zo(^7HP|lzH+drYV-5%~?Jp#K6-E_;1x6lusfZ-%=RT`(w13*}wXW7)8F?eFm9TY3( zW!^J2w0NN>iJ8YSetp-04_PaTHMkXJz>DO9Gpyz^@NRJ3%7zD7m}IqO^6;>=RaGQP z!ZR6o5dyva0nD}BBEVem{!t)Wk=SIc+q#x$rNn%(3_C_S4{}3kTn?@))JiQW^91ye zTUyd&!mu5Kxuhf;#$F+8Fo3hKx0hyS1E^wt-Zr4cwH4=Y*oWZtXWxcRlq@ayszOG4 zj%dkw$~`h__tJ-)A;&AWZKC;NnTC40XkucPuD@azof@5>QU%^&YJq|uXSXw%RjCGG9h4Um}l{_fqlfoN)mj!w+d$+0Qgv~eR1 z^;!Va_Vt7Gy~m%U!L}S-w{ehO8J(tW>jr4B(n`;rvHL&8$yon^UmPoLyy1YOS|c+mC!Z9+eguzBiy+y z?B@*)1^uM<9=oqQ_~g@8Rzmc?8+UlQhl>_iH;gKETd+|t8*@yEHr%$)({6eGMH5~Y zYFA6nTNW~QU45;oMr6Y|)d<}FV6!JK9dYZq*165NY zvCmRHCpIPVf@5M(SH88K7MH_*{<&1Nb*(qw&ZRPS^1fQ2t~!gqXvr>ty3XINlfbS^ zpsw?GAI`O83GDjVd-pUfZY_W+64ZqXGy_yw-0;?@?w34vh3^t{%!TYdE4p#7QbYs0 zP|W!Ncj@N^^=K5_rJonbX!M!+-~Z>|s_N-xz+F{B8cf)o0uGbluHz?SovM1pzn%bK zfB3%ettUR~Lsx9s6I}d3F~}>iFo`}4=C2i(KUZ3z9%r$KSysEUf{&!rR$R4`LA$ZC zEIHzEcUKF|7qeUx#k5(m_O=`?@eZCNQq8Smy=q$@y?8WybXE~$B?!UIfH?rT$v2=_ zkX4OF(+iz#v{1_a;1bQs6b;wyT^(Wb%zrNnj(X%6a`~|<_)AL(bz)aH<5ym+P)9!X zk;vd6(#oyNE20gGYiT)0ZDwOzW`tIuZm6UFah)}AOVg$GSrtu20t0X|vYQrN=xm{d z(n_SPD$A$>RLIN*!rnSBHvbE)G_w#kXQi0lo;=OYrRSx2xnsc6TydFtx`IVADYJIC z`hGHfmf|_*H*=jWrnjwEDLAuitvHN>VW~jN%8dY?Kw-bwz+!L_dvMYR?NGdtycGc) zFq^aD(F@8VwkA^foE6)-jyOyNaEpJk45Yy;4l5$)gGc7!t5lv~MNe)Qs>hqi2umen z@I#T9y`3yARU%+S&=egQ4`JTdSHz@?QBpjafIS}59cy-<$KLmi|d zJ}aN`*phX?7?I<|c!OxmdqsFWPqB5{&~_+ONsyEt=i&YVB$SU7LbM`@Ue8H@l2*0= zuqn!~Vcl4^75$_^QDH8Dmy#H8!M9nr%k;MZ=pi2cFi!NsP!MQEA^rU5I?HEKwi_a4 z9^wg3svSb59hNmSei#$dxRwNwfmSEs!*m4ty{6k|`pwbmKGyf2J=cKTD?m72O&ck@ zI2v3qzYi%7KYCoS^>z7dvk3X@BTc`bq?ae;|Hf~B+yjN@*t?4phUfc#{69WPfAl+l zVp4AZX=_ask>v;=2C!MY7L@=+t?2?SuR$X#JH8u+UW5B#)4eAzQLU1<+x@_pc_Cv zrw>^R!~mnMyDV(B08AzU?dVe;W9ZLy4$$qVbhO7!NPg@&Js1NHba{{qMdHM1ilGnv zyH-tTP)>^GNvzL=atR9T9fAUhWh|TTD67(B#)nCEDo%-bcS%od2^sJe*8x|w&%bNI zhqaLVxI&&BdwL$hSY%nQ%e@yZ^dYaA&~IH76l@G_k{AG;skZM=c=rSld#OqnP_G5y znS(zHq=x|1De|V5i@m+tvbnbQs%}M``Kra%w$%USU;RtMUzeNnPfP?W$aOa%rAnN{ z*Sck`O1QejQxhfHG^Dh1u2xYPEPP@;PTDR21lyXz(7`%`| zeO{8fyV_~4m<={mQ~qmS$0Zm!s$jowmmV1faH3YzYpy?L(O|qNN2&4q+{& z*W<{OYYL{tRew)#eHZ}c_e3q8&3ov=JDK~K_eJ{F^_etVOP8DEh!yj#Y~}*!3m_Ga z%eHZvtZDF;=5sw*Nzw(8{vEHf1BeS5R$6gpfx7w%)Y%iivr#Md&?ReVM8e}|rNiID zP)yDN*ky{n*E7OnwUmc-w_bZ!2^I`f${+)mgl|-7D1c?aLzmu90T0%sa$U-Du&;)7 zP+A_-tmX9^e{(Q{V|k`{ovO2 zc3LWyC~0Yhb1VJm$q6c#m#Db3Ooc)h-F)pXDwbdv*Y3$~7`9;F zW1|xU02Y25hx%!BzHH84Yzv8Ii$%)k^8`JT6?aC^>DG1I)(;Wa`sG&+8^9U(#>0%cGBt5N!qo2BOO0AM%&g6(sJ2?4llp%I(p&$ zhm4Rj6EigAJe+mr^E6ko-|qQ*Cmj-o&c5;RWAubOFJ9~lPX&dl z9ec0iW>ZI3@UG<(MZLpH*5~qL8xn}~mJNyo7%6+)>V^ZgCFK<3Ma@R(SLhtt*6a za^RE$t-u(R1HN6kb(4{Wa{A5$ubtiPcHd=XCG1--mV=(f%THSaX7^77J+5P8$9=s9 zKWIH~Vb*%+Ti-J2_x+#0@AErLL2qD3f6&c&=#T|Db`_rWwAWv@(TAT}478Wue4`ng zWd|Y!Q5j%SoN=~?Z`O+d87x5xF`d||2 zS;1yNG+Nehe-Di-MK(>thozi8tpFeJe06#}Hd}>FxLUuNVucF%*fQ&C2lu*v7M2n! zD3Fo%z@SqT#u|Yn(|`2K<2(nqpg)THMd9uJ?RSarNtF0IAx|Z8MS*kjl-rf za4VZ4EeGvQ@4LCuGPTvxWJwdJ(?ny^lp2{l3&h3wX;*347=RDn8`6i!rV5Pu!D6p7 zAAwS!w8Gx0SiznTu^A|pR({n%ev;6#1M`619M(FfQ=S>YQ|JhQcweRSW{vUn?%lObCw zB;meFS&?F$X>S-$s=AT#``qMgbhv3~Ll>GT-!C(^RG#+SC6&JAy?`JCCKZ4s4cwCL z;WD}IS&Da@FW;LCK=R`y7oHKO=W9u=F*zOA8{cpv{n_vRnN0Fw)CULj5qL`-8tOXh zzVgBd-df^kW^h9QZjGOspyFJ}Pvl8Dln=!mAY~%lo{!(r#@e8`hgHgK;(exN1*IFE zQ$2U;xs=~GniF%1oI8-OpEvy;Vla)Vs_JtsU&r^K+)oAoU_d$H@Edfcg))8rM~@kn zw|roqS3W{QyV9zy0u^^ z`pFjRcdnG%-r_$uO|pD;XQ$?b!m8x5VGZ8m{?(K?STBkB9Qm>wNssl8uCE5Rk2&Qn z@L}GOil4epESo`GtSH3k@+!w8#+sCiaJguo#qWOUQOV}RANbApnK0HGb5r4)#{fpf zc$I4a9O47yD}NH8W$GY!0aoXq8DC=jaXMf1cb|No%sW!>V(x@j1^h6#$@u~IYBlhd z9P7O15nhhAf07I3Mf1u=kSC*zvLGGuYJG_Z_^r3hTbGGz~AXZrubW_bLS$%)^d9-pg^6 zE>D8fpn&N6&6jN(=H-iYJVPSt*QBm1ye#ASOst*cb7_qR*tNEi6?D{COqEhB?g6lC z^V4?x%l84VQBhw%zlln+!X$*_-bnx#-#hL&D39T1z;p_*W&w4sS9Wctu7lF*yeQDO z;Nl}qRyi`dY!qK*N^@bg)Ko%juL8tX>&M$#S@!_D04tm!FkXT%tVZ-{-uNy=@ zzE$F~LuQh);Tp!1Uu}3*Z@=%sL{5|ibKCZC8xVt0Avp+`4IZh}e@uZ~r*Tb0(kr%H zw-_1B;+tg?%zl9fzWGeIAd~U9CUSoRIno$IOnL4xc;@=2Z~RlHAb6IXrD}n!M_K`3=c*;4iy9J2&HSR+SMp-n;YwUthQncwQO6y^-%DnO7_P)o*>3 ze(&G^TW@3owD`8=pDgv@p@VeQ%~#TkKa8zKGi}=SQ~&8x^eeylEAFhwN`t3u1Llf4 zFK0Y9$vrH*FOwu^_Rp}dX~-iUJM}xeC{@LKQXjA+DjMaa zIV`j*w0WqHmRDBjl`~@mAj#y+9Q6s0MUdO>7Udgv?WEIBJx4tb=(J_aCR&&;Qg^rY zw2E#&IW|pOM*57mF7O^XW`Ur`&WsU&V_P?jki&V=nc^aK<mml7Ju zF#5@5)N?JLK4{3UZNomMy{F{^`#tN4f}Jm4Ib`XO@%+odyU*oYtug6uJz{}8$nS8* zV-Vi3!FuU|2dXE2@QjiB#v9&XuK1Vlw#s-Yxx`-6%E6P}yWVnxr~T7^e9(tEu(37J z{>q2nVUj=l=yRM+*WC6NKYtgV5A)Wv^Sm=U8+OHC5qroBMGFYoy<@kR#Q{0;#}{F| zh;za9@HSG?Nk8vY##|8UPnf(;f=we08$?u z3~Pt4b6&~J001BWNkl zI=x60LGY+3F^G%h>8qzth`x9#C}nE8RpYrFwYc}#ia4`bmG2@VU_ckDd?A3ks#ia+ zU1u_=t0Jw#zIMf5v?W~vb)COkCqZ4P#mq!70C4_lb*bcLdSESpUD`8NGr%ql!fFQC zrFpc>diqC$V>EcC9vK?gRS%D*(K7CTJe);q+S>78Q~`9)9jG>VRGYs#_hJTzX|G-9 z!($hE^pe-EcwA{<7joAE+;uSmyV`;hQQS$jV(slMw6qk1HEPkP<;~1jsIR-`$#xZ+ z|L}1+`PLO$Tvn&URa|kxi$|yFs>{L$Zhu!hO)rFvu$VeMHa=aX;l8Ycz;qs+nl3}P zFy?A&&5;Ik#T4l=SdHahj#{WuB>L1`g$8<7xmPW?)#!y{WQ zY3OeaqG5W4iKyBrVY=)LPZ0v4dqUb8hSHy{>d$^uBcE@lMdh)>S4GvcRfwompOqN4 z+4&{v?GBctysV4>fL~B%_Fxr92jx*dG(eJ8K9L?gBpqn6`P}L@mFzKwD%>UFkQ#@J z5-^Z55u9X&IjATGr&uk{K+;$QQ9l7 zIH1<}NxO-gcDO6$K&e0aCE-~>-{iytAj^z+Ttq6^YXBJfS}JsF1@jolBnKCIDv1<@ z+MogEZi+vEcfc**k1ijI)C;px$=vm0E@wbx(h-DF(6GgsGNqzBnkW@-0SJ@*p%rVS z0t9&FxM2Ve_o2LZNR!Wk_kzL1>Z*BVJ>Vfj{-mNl(v1SJ*!-1s?CFQHh3iCslZ0nG z@Ujv-%QyGLMF7f^N>fnuk{&L!f|;~3jC&=4X~UbtVFSdYUs(}=pAW8s^jd;62?hjs zK*}}uAUu9l=nvNX&}z&{@+bSIR-c1MgD5A@WFOjS#eUfrkR|V-E|&psJiaT7;qXG% z9pOj+DIJWV>8j%Ju;r}@+g$x@<5_s@D?g}W)d|1+Kl~CME`@_qb&7`t+w;{&G${(2^Pdb_XD4f%l?DE_=5 zBU?tIc_3b^Ce$YmX~A&npauWLQfy4Vdl2Ti1GyNFG0?g#vmbB&aQuA9vhXhV?_nG$ zr)ZDMa>2{bk*SBe*Lq%%>j==>cUATJ%gA!?eg?c*FJQL|O<@*EgWI4}EK6v+jVWitY~M zxi-`=fEaO14dByC1&Tg_0)SS;(Wl<4TF92gP7t3m$I25Yt2 zh)%FRD0x|ajJa~#JK7?>2>`*dhUayVT>HzhfU-x}ihn}HfJ#%RM1s_9L9>%{{&r%W z#EPZ{(3cR6IHPPw=*)F#@--&Hal`z~gEA4HpMywB2rE?M%y#NQPVB@J-M@?@ClWg1#7zpZ6nmGK*w zSqsGF`BnRTx(S3#{VmIMyl=;Gd85p}LJ(m{uvQGf`jDx;(@J@PDx}s5$@QtMkKT9W zZ5w#XmHXo?+wR3xKUY`}$~7U=SN8?ytljnD&pkqSegq1l@ej|+95g6R7=u#kU!I<q`BQ);7T%tHzVlHV2%ysh(Hyf#DKH!flx!)oB5`SXp&Cd72X{FTxHe1?>mV<{Ju(ucH4HQeh z$Fjs4Fq;G8SJR+8^nv`PrD3mG)7b%uGa$P)8R~9FYK}H<*g)jhpb1UQ%+f$V3{+WT zdT+dPhxcf8>cnZvb>t~$-F#8Ep-Tvc8zFgo)_SO#cV4YV$0ul@+nzhHjoIQX6xh(| zwl0;*BIWZP=1gdMYTC$|F52_4?ye4k>U~=ajO*C;pP8B^>CV2>B^Bl zI($0RQQlb&Z*|_dI9`3V6}0o3t87Gsw6yeysL66SINpC zuGF$r;)iaxU>3+Z{K6|f_uqf|dnWulKOOe23rX1D+%`PoX(x|ZMa^AT-{jMtefmXT zr9zigmVWLy&ZBLOf9g8Br-|72UpnOZ4jj4Pgr{4>JMo@7!LXQhmggq2o4r-{j1M}{ zp7uwtoblmqVVrzy>?zZG6K6;1`c2k2<e&-RwEPyhX=9AGseI(^i&BO$ta z=Vp69y91cdH?oPq`37{gz6M@y7}Rwk0J@sEMQg^wfG!9;pP;VjY-`P07YnMrn;6s9 z6O*7W(4Tn?JXFJ|2u+K+akKyVe45^M~(S$IUwL*GHZ?eNJ@%(5o348hEII ziS<$ zO@@@r$@xVZ?2avpr;tTS-CZp-FRYXxQ+|LJw#Y{ISLl`DhQCpRPGvXL%2HWn1v zys!oW0G0r})yR*ngEhjlRTld z*h`DygC6k?<-tM~(Nq+Q7x*nN$7M-j7{eHc&HP~eqfKm{7#Vugs~N$LM_^VWDK%?b zGqZ^YJu10&1Vu~5o?Hz8-fGoMD+$)z7Sj}Wnh^%ew8eN_u$Uiz>D%;{kG{)SK`PrK z5!UMS?&h#!3AY;u(zQO~*^)ivumU?5qz_#IMv+R=_K?d`ORyJGjH0qIDeVD8$jrqc z5~&c3YpHt_>egONG+&B z9(&=iQ7W&>!$Fh+L%5J0A9elR71z@xUMp{}4rn6p4xDIG9j~%2*fE(gc z;T>^3R#*yuiFX&Qv6+ixsz zn?@$ozkYz$Zx06rW5;kn$unQIA|8Y5z|M1>5rucQQu@Gn2dIGoTx+dRbN4UaZIty& z^YQvm_Io`5F0TKl{`k`-c;|l;6t<#yP+0f+?w9OgBJ(zSmE#k;UE zy3kcH;GMgF{w`CEW#Jjj&mj#|aAv|D5-us=T@^rOpeL3pwCp8tBqk!d_e-Dm3M0sa z5-2}2h?kXjHlDXxjs!@ywX{acArC3=74zup{h#_K9X@`Te(@8(ptCaLa(u%}lC%OZ zfk9e8t!Gu!)*Hw8d&>v+MF3Rr%J*r#vY0MSAu?9ZWJ)6Gh0B&3@^ol!dci8^x{OUb zH$@}>tjM1PXZLsZ6F@5blkbEqFx&@z^Zhim(H>T&fyU5I{OR{1-$Oi`08+|vCf7fj z&(tkUnFPz$`hCUq$8}yD#v(33VtB@?yv#Xf0DmMH2+xhNuI=*S%~IZf{R~P^Y6wg4 zGDPrvj=5;vW%1l|=$W9YcN_`T58Yn79@4AfnMsHwgBIm$T&K=!N!5E7eZk)Uy` z$wP@)r?vUHo!2{9_Zgam0zlG%u-ZHGe!bY)-DQ*wQ9ppo@Lq<;U0m^QWzU%ydN2%O zJh_TFK!d#ixa6Nv;0A!o&EaQ{SZlMah->drVywkOK6`{iept8KZwVfg401Dbc|w$T zmb)1gi8UvK8c`37Gb1+#rD6LHmunUANO85-^xD-P)>IQUjI3xcIcr)8DJ*Jm6p>Uk zt=831ricI#0plL&zij#G^snz!*&Druc7nl|pM>AZ@desE9E?PqOPl4sfRrQqR(@MZ znsW_foVU2|#)f5a1>F@OF8m4|d0G(fGAXwu7xq7yUFOU02AN)0I3XI|y^Y{4tKMH& zZ^X6XcaD`~cMw`za|94qwSut%kBbcl1Oeg-zmVAsh%3kmA^+VPM4QaG4S}B5D

  • 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%0DKy|YX9IbV5!N1qrmypMrxgV7PX1Igm$eh> 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%0AkR0)XI6-`8g<{mDY2RfWX79kD~Pc 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

    ^7Pn;$#KJhD`2eP28jNsse~9@@)eUd}f$il6 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

    KcRpY{qJ_ujXg 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

    q&1U7Tha$jn3y!CM^70DH~KE_#Kkk2;! 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

    =93|rA?i0$lu3q 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

    $gS@a4u+C)`;NNhOr zH>v_xEj5#IoQwI4u-i@08;F)pU#`1tH4Y{9`cB&A*%ez0WxKDqFa6LVxpAXtE54Uh zeXK0mmxdVQ>_}Wp=h;zoC1^J!q%4dWSRM!qkiH>Df!CLg@^D4#9LFk@sj zhy$4JC)U9u;q{RnBpyZPhm11Q+`cr5<_pUQS#qs8eVamw&>C;=-0fn%f>@wAhqk7l=Lf2N0?4wjBexyV#V2wzQE z%2&j0)E%hz`|+LmWD)_|IElCCr~}>?&WvAEx1Zaj0&qLP_e=!h78a3gVzC3t~Z`x zm*_J8UFs8=dH{D_EkDA{0JypAXLZl|`)>N+5&3Qrt(`A0GC0wSKEJl!v}8-IL-ik>ipOCP^tecAV}CxZ-7tyJ$|k2tTFkR zeI@k%zvxKG1CIVa#d}v{8}*^I9Z0!IEkAD&zf9p^RB7}1tsfU~6w+Zs0pbBxINP60 z?O2ZIl}j6#pWQ6%=&o8sp9n{BIKC%eUt+MOrJ-qfHp?M!08Z%yYBNH2P8Q`nKXQ2V zVeXW1jitP)J^Oyr>O{R$kQh@?U^Uk*aq=5`t5ziCPjvvd84+lTDqe|r_~muRJeIr` zg*2!BS7(Vvu<5L@LbR7tQDacz4ORx>k-3Sv#_3h+X&z_K*V)wuEOdQU29R#4F|^bB zq^{WLVL8Lg0^Gbg+5AHY`Tflz*E{2 zsuB^!Ir&>3vWLDBt7eTE8bI_@NReNqF2l!$ri0s>NQrA(t%f1Mo;T;5p7wamg&I5# z%JX=a=KKWuz`r&@+aBE6^wbdf#e0uAAkB|KV;kRdlYZoCo_Utq=~71iAOC7fe3oM_31>=tdAusD-V;9{&bR1D59u+PjV3^+8wpPnXb?o`F0 zJon7(=1xMFGIm6b8eTL7()&mh0`?`c5BX@eU|mixKKPRFwZelA4(opE=^te%Zrxn7 zeeT@GLvu#!MhP&QuRk-=!3tQy2oP@rkECZA|H8lpLyTvjQ}LVQMbKBC3M zrySQkJVd16wCvl%%We*ux~1mY`WWWh;y}ajDv=*9)C1^=4jV!u;hoY{&!_IYA4y}P*>xEYp!OW|rU0KcGtu#B7y1ALN zJ5l@D>G!A~^UF7ZZf~!8Sc!vBC&YSNRfXWMZ=HaaLijxPfNYJW5fExgDZP?f3gp*~ zCZkWJ0AeQBI8+1RJzjgY|8gP)W6LC?QYxK2fLMRd?Is6gSYV_`QY}vr-%Yx=7z4c3 zpX+2kF4@s4XH_NL$TQ!$>a{hA8eIA&8r&=)Lz*~)bDI`^wtoxtlWkj`%9(Gh&8b)$ znrGZTu51`%AtFj+Xp}=yDqoi{7NQNVbr>TA%2c8p2#|@C3cN+hxFf~wbt|VN)^9p_ zHE=HRoC5mW6d%OwgvnDJmd>*EGIr0!y^^$fmVsq@%GHJxX~MxYQDShS-}nHzXJ6w; z-2?#fHt|*LjJu8BT>C7Y!VIiGMUn+-5Wt4x5%tzi2$6ygh+`F=mOcZ*R*Dn;0iX@& zPs%rYu7?ibMW)%czlHt9(=Zp-g@AV`T9qH>niPaQ*9vl1FdRNI?`I(zD_4lthMe>> zr->>ohpX>KR&~E+^!B5Yh5(0hl@pv$;JW-DS-4V4!0nrgkq(S@t_khp9)4_DRni6a zpI2}l8_I?^Z0eY&io}lE`}?*hDT}QSr6Ex5v$*@G1#cocW#y%xBLAlah`ks)c{)Cx zbH7o!S;qXz4a2|$$AhF_&|x9b2n-q-tBM2~^gwCgg3Fy=URru`?`0v zZ((DL@`2 zqr;JOwxi&C=lq4rlnfS9G4hsk!7<4v_|oqT=iO?ala61xC2IOX5i;`eUN;QT1O zjfl?Eh`-eF6>ZDewg!1h?aEEdbF$MX)DC=H8b?0r+YI*~{Z~k|5gR7%c=fJV&+rf) zgu1OPmt|1s=Fk@5>Ak;@l!uVW7>$C$1h;3uIN8%$*h(4U784trpoBh`C>^F=2z`t^ zru@0$@@tsF2xFjaq-(%nFNz?Pvvs?Uiya(>UJY~EC4+#I-!0E-kpI#|CpJNN^}rNx zzZ&2VH?s@z7k0;I2TP=b1&eN~MuC>V#pi?I*lTbS@3>V)JK1}o7t^j9tilNxjm&{j zk|gG@L;UDX4?$^<$W7c;rXCZJZmNU23GIhw_RagiPfmQzzQMw0AJ;o$gqwnVz9#r? zUAt)s3m2+!R21kEBKuN1?p0szp!qD|rz^7(@8=sqS3u3lT{$3^7X!r-jv#}|Ac&F> z{vLL%u?Fv=b44q;&B%Saw1XzMW#%J_Ii*syw`Jb8%&w7}?fB&#qYt#&C93V5 z16n7QJxNasVJKhK4l-C~hS0v+u6KeQ96^La5%mtHKR!wy*@z)*TT>fYgeCVS*9*8@ zJeeO`PE+R{3xCO&qgjMcD4wR~JsNL(BG1g^_J5}e^jzue^z^*6NH(^9mLFk(_eNyX z3I8qv+djdtF|?_S<0I)^L6^Q}6$hf&WjmG%mlwXe8vN1%&GQfR4qwD;h1Br5D30SC zFDs&98YoF+!w+C%g>N5Bua>*J?{N#=c6RDh^jJG@v~QAz-e^i}Xbp->dMF+1epT3x7Qb56MHW~E zBFCRuSZe2euxB6beE(T*?fN!3(usbRS=@^MhI&a6MA{G+4AVo0sXPdIIn2B~>f;!{ z^Jd-@i@(KA#uC4!S!F+H?q0cQ50QC2@8w$KN&5+*si0L+CyNg2(&itBA9|V>@qN|p z$x_eJSx%93eI2{p8i|LHo!a;gv*`ovcZs`GdLteyl0ckO5*4ose3b*$P+$uF$G$yF z5|jZ^Lry1oh6^9Z9@aRM*q2T=sOqG{EN}L9sE1YcW;Shd7b@Z9bJmvxy;zQwV^w!L zHVQQY=d_ZnZpi}SymBk7xv-ySt};TVI{fdC1$$=mqqieQ+uj%Clr77On28HMCyl5- z>oYfvSE{vzqkr%_z6t+z+c<7R8DE|Rq@6C=?mV?TPqVBK7p9DlQle`6z!{bRUl6l;Opsw_FLNoSw{&wa#De?XaH6F0rwF^OfJK zY87xY=8WXm^XHe#L?*OdVde@&y0B?~Jbo>4@Sdo?(F|$U_ssdWo@tt4_Y&{Cq0CCU zN?e}fhju%OL+jXq$PNh4x>Dd{gVZNiu@TvYL-VYBHKAX*h6J-^SfugjmX%z|xIt*| zx*^Haoqu_fnk=6dA0H&mji5I;r`Tb%pjhSb!?73nbVy?7hbz}y!rn@qz!37SW3h;j zLEov?FdC#)Uv;!&jl2xJ-^TcMK}^SWZp?_qPADaB_dO9&UH_l}QpbPh5Lpm)VN#g9 zHNsEQ@sxeIZgIVAt=sG%p$&@yhz`ftRj}A4*&VItM9cy0pMI6H(w)lTga?@jnTG;u zc@0GKm%G}RXJXv`5I}(X_lvm)CVoFHJ*kSF?7iQ`uH%wzq3%y?YSQ233fEDGlUd4Z z$3dsB-As#v<~o>#{fy38;VfOprP)VN;&he@8gOJfI zs{GT%m;QsZCGNNEHiQE>I!a#gnOq`!X~t;{L$i*#O{q9e7buwbtJ%GmI3^NK`#-u7 zpp^=IhaVuSlpA+mF#CY(5}!!GSW~$a*Gk&?f|IdwfKl3Z=9%l=*hlL&EV>LLr*bSK zwU{u&B0sh0-pfZSY%ae~^-l-pMvKP=Y%2Ye_v*YX@L(-9zeXr>);2&ad9w7KsRue) zDiYoMKK^#gvMDD*6Q!Tv*@?k}qETXifRz?8nTvR#2wgtDY}Zb}&_DJe$$#yXCH`#o ziUej2>3>ntoM)?ivJNhu-tuTyFL9^gJ0%1ig*GpuJ0;lpai<+o#h$(U9*v9YlH4`4#h?**nyX{BEP_klG#`mIQhMCRsY_0)T|Fn>cm`bPQMNRw zCxPrAZE&+@M}yONy*Gp{N2PyeNdG79Y#T?`c|9K#i1Mrx3O09@hI-M4pfne#>HbD= zl$}tc+0VABe;4i^`{}z|+3h_RXpe;7d3L`q$bJ5NCmIFGlG}vR5}<0w3@>KI=0#>S z>*WP#n9n3o(q>CPYly@xe2SHtv+Hjh8!uSEjD9vh|>F=(39 zo`d1ki{+59C@C!XEfSx&U;G4i&zbBXQ$i<`%!!yqhv9aYyc)W0qgM+r2jK32kurQ3 z%|XDWewQ)je6^@EX;$2|D??%?@{YsscCdyV(~%P5M%Y8ljF2TQPom>I&M6YCu9sq# zh6n;Bn?G`%r~PJXFk1cKVILy2+NfVI>5(Nl1AXan&um|we^rCy_}TrlKK7nmpY4mi z7lix-MHZ{W&q*7)F}7+$V6oZ1C>!>De?w2NOKz#B8S{3&*sMLbGwfwtb))IR*eJLI zCePYHn8FR`fH?&ZNa)6z)fi}}xfKTXAx`(G&(mjqv(XS$- zg~$BoZ4oqWs{b#$gRJ0?t(bN4miNxg+(TD#Uh{^1o>5u%ipRp6c`_`?bhg_G(*eI@ z(q-00S`W!nqGs^uqZqdi26Ba~C2Bs7>Gu9lifYlIDG)Py{HOCS-OV2o|6$vGE|6fz zwWQ`{^=qLQuim`JGbZF=?U%uViKa>AZcrIj*W#@|8vF_US6V+rEG+e2-OrD&JFDlqx~{T{dVFoz$jo4J!pc@l=*-wOEU->%eE*oj zI(5FNS%whr?-h_pR9yS#MLdjlJ3(do1x4oRz~8C+lfUYO!3`0h@}}|ZV0-I$fSY^w z>jq}rQt9`eriIZxTP^%PkIE*;rIW#^;egJ-?Ze9JH-nvQRV!#1JBQ%Vf@K%KOhKiD)4C-eVX~(Nscc@>= z9ZCINk|d!KUizHEF+xndG3EL?znu7uY})KGz(SCsXVeb|t82z9UnS8_G$hfbO%-ba zxQGhi;sR3ih-O-eU^;=0^MOccqWGArZ7k~fs4$2Ve*&8yYW(_NERuYb?86O>!`l1J<6u%hmr3_FzdBz6;27i5j%XzSxl=2@2PR9nnmtjIvN?Oq4^sYaUb^3KH#lCL zm7F&^pbOc5O|(Y^VBaypE(hBw<8G9aRG4;~WdglfjJhDlO`5ZkPY>5k8cHI{ZE}`? z<^N`caq5|UI`5FMT}~Ja3G1&UDNc=fjGY6<_$Ze+qMh>xTO-K51GlrSHW?y}0{s=Q z=fN+}v8gDp^Y9`sGw~wQ^X~w_4STf7pyQ-x*<}0A6=!rco=iU!IysZe5zm!p=x1~X z=L`|WXhy%V)S$k{$Kra+%JUO`qt@kBqT71Fw>Z<*clUG0&Au*!JnTHgg&X<+h8fD!5EMEmta0DWl%lKYPH= zbo6e3YfX35()SU`YI5e4_nt&Z-93wM>(>&v|BE`nR2A9oyBU&sr>|3BFQ!FQfUY5r zE|%W5D?Wha>NA2$Vll5CBKgo>)|tx}kL}MvbGS?VEkJ zkh-O<_isoa{g;4yV^!QKHfSC%eHhJ&r5NZM>;*d|_`MyOZ9Ku4b;vV)86Wk&0mb>~ z^+0ipu}}b1Sc-Etw^~X^REo2#?vpXp?H$+afg&wXkpW#8zRM9tPjMeLbs@;WQ3hfa zec3!~zeT@Sh!6ukRVgqU^-%ORBK=tC3Bi{Im3#YAnaao{i0XHa=K zmUrt@DaiRYsU^`$(BePW{c?SSzlF&*vDJ1|&=hB-I_c3xMAEK1io zrovERO6ZxN1^k7p-lo)MHd=FvI-0;mG@{n~ic>3D2E=9l+u{dnTDR=PRR#JseWQY# z6heeSP+$q)-+Z8%YK;JKb`W5GbIjcea$DNzWB1LwJ3@|k()o?cSm|qe0E_LoMTcME z-~YDun1etzULY_W?Kv^Bz-Ngvv;DnX=+)ZtIORZ8=?v5ejN+514{lc2vQYmQ z`H^=QEA)P}m!s>1i2$-Ju1x)#GeG&o=h(X{g*yE6sU>$+`SZ78UK6XRq*&{M^z-Gw zB0t>cuyFm*MUsi_TVo~%?ADRYwp21)f`a z*Rrz;@sc5F)OHS-~jzrr0pW{D0G>5y)m(}w(tUU{&^VRkrKdtIpq zo>o2Ai#P-Tc+q$>#(F(8=j_#uXj_Vern#*j&PVd4lLlahq*R9#wN^S79u!vh|2I;q zL$XT=KY72@B)N8PI})>BUL7nEyzO0(V6$C1u&%KE@J1~>s%&YPPDj%o5^5(X=SneP zuIZFUZ@V4|{QS}`+%~O}V)*GiisrO&_=kD(&mE z726jxu>p*pSB}mDCDvva@S2ziKt@;&;OYoDKySCR8IUi=n&2%-lFrCe5y}L%!?i#pE4jWtJ zN3i1fBdqIwKI+#v7W_Y&zB-!j$N%3|R}32y)7>t!>F#c3v`>KLkBbm%oF~V$p z(ya7!=)1uUO*`dI6RLO8z5$)3nM^KYXC=vVf#zKXO+k$D`jB7@u!88Stbi0H2e=pa z#uau|Nb(j%{B!_1-O(-dInbDk>+Q{6Zj;Ao%O$7a_QCSJl~TQb2K-2_ZwpJf-et4- ztr;0DENXE=@7dO*$9We)Hux$;UZ>@)~`2C-1Mlg`M$`8hLd!qaLvpzSg6e?jxZX^VKY= zs4q1QncKeeYthL*z284iW?EYJ+fRR;DX*iBKitfq9^bdxQ^}SwmDuXK(%pU% zT9R@>yT;vB;l(W!!Yr+C)0JW1JuLWut=yDQ=$z2lqUk9^$T_()%dU}AB$@!F9pUj@0rKge$@5S~0(Ditf+8n$33Tz_OJ|O7ZAwr-9!E#qUfL+x5|xO`lTj6Ky3Ta!rK-Fh6Cp=}=QrI~y-U#^ zNG;C!203GM$U!ql)O#@kHy3*HT@>CBDS21X6&J`P+o2|>aoQP}N~i7c-96B|3?>7> zt!}`$Qg%7^5@*Mj4fqy>h3UA{tm8FOd9TtZm(nXY%Mb#aJrw|>PGau>>0fHQ3S$-} zLGatsKkJ$M_)-aKypx)x(apW*qKhx$e2*IBB0N!#4Wb^zeMRmljl5_q09$1`^XBy`<4Hy8JUoOHfrpHP6EU5;lcEMp`+`cc!O zVDrQ(L$h{O@OlL6-+NeYKfWuNQLaCa<^{q934*#HjSB zJg%;zbV(*=**XH#@!8Lytj5NorQ`|Uzu$*yxNyq0D~04(mdA)HV!{6__D7XZoONzL z*|+*$z1ky|7X{4x63e%{My)dV=SxQr$CFlkXOJlov|iJz1J7Z?OzY$LTNXmtV1el* zhfT)NeVQFHGgC3IR;WX70@^qnrOY~iQ#X-v7`vV`yWHaLc$Q;-B4&PIPv+O(-RT`zdDQ8D2 zX!13PjicAM!qt-yDAnaVlP`mdOyi>tv9}H}lm#D2*}4>Nx^P`NzHr$$8-5+$ROjyu zjHsw>XrDAd@F^Kv-Uu^5CT1_c_4ZJa_it})w%(JzCf^!vPj7WW1en#{##*i?+TGMX zF4Z;Cp>VeYeoy$R^!3EV%u48BlKu>s0r#I3d&xkY;-^L(zF$YZ&aP5hkuymcY!9-R zh9q@Xx_R4)+*dV?HwX>8x4m9`@-5@E3?6IsNFZ-Od;bx`RYznI_1xFQqEnDBeZhHj z-Mzn>@d8I=u>MOuq1g3h5BP{miWtA}9J@R9c)S61X`6J6_5X2_)2)hc{qpLJd% z%P5I``RgOkNBu$zf|u-d*lvk6Mwdo;h^U?mSuI73F{=>7o`=tXkl`$K0crn*N{w{1 z9Yi}G7t7MF_F?VOyUFw|{$|jgOUy%$Q}auq!xof;sGY%wsI1Z-QP;tH>C5PvI4eJF zeu0HqXVfAtZH{v~n2R~r8t04VdAJ{=XXUqp_MY-VI>=9Nerbh3C2*PVV0gbQnh86*O`|*oJ8}8UCkc)=vE@rkqdVp&ScU4MaN>0N>vN3y3fhhHp zoE?P+OcP%4bm9|1oP`2{&ygnI)wa>V{mtocdH7{APaeBtAryr^foUvC$VwPDH2_H< zZ?s33XvNL$W355R^QDKT7U3xpSs%BVg1lNi4_HleiwG)c&VP(p?ye2~BFON|F(s*a zUX&`h2h(;^@wrjWb1?mhv!#k+y*XZKhPljtYGpzer7!*at0Wn-9GYKw9m(zLy0cvk z?Mz$xaeGSl(3UV>{8*;5O2g&%50g{s0@sjJg6W0`hl1lBXv=!jKNo{qlKXI#r&mS> z9ctCvvA}iOC}&OeHc@*6L5GH5TiV|z4%Ey4)`ud5AF~lOW+B^16WJco`1mmG)uU%x zZ|L?bxv!nX%|@qGzvPJE!S$pIl1kQa4~?+mr09wJ)K)Nv-!L78x=my)Z3yz)VBw^R zq$t$0_q=aE6Fe{e2;v5jeMjB?E1e)q(vN@R$_IoOI}>J}a2x zTtQF%32?^#SDk&`*;?EVp7#|kY=GVCfeL@&LLW6ia`p2MQjMaoiwrLkV`GOoBf83k zBF~OZ1|o2H$vHNC=u&y}+Z_Oi%Upplm(C^2@-|NzhogDVX*Jh1_@l%5K4wC6i_3L@ zC*__k8ba7P`uP^wobYcJLQUIDzO(%oga5)K`J-z$Ws&)rb19wdiLZ)}U(vJt4ypY>1PSR1UPzZg zHn&o`@V(mNErKokyQpCt-slurNf`9-#Tc|sq@QHMS2d|a_|BM_)Fz=#IV=4rZhBm;l!o^nac^(& zTgEAxWX_0X3|)9N_oyGfvrI9L^f?$y*3t8L2TID}R<(R~kX*|DHLg~fU@Kpoq3d%9 z;`KY$jEbw5tF6{MLhWC|nsGKKfWTc4A$u%$DpC^Ktp+5<0 z%P9l zUNZ2sx?C)s(9h)F#VqoAA84#ti4e6rlfJzTpHZ%l`-w^IkM6zmEb+2S0vWY4IHio2 zw=Y8%;`#w)$j&Vx#8O(#qV83*hD=18eUr2tA4c9djG5N}ep{(Op8K4CSJYsWkK{=>r-68n&>|T})brQN_4Wryu&q9kie^?RqV(38Ti)dd`|u z;=DJESm)}MO{1^19>K<)4A}7cU*rrqC$sSWsey4j_irgCM=D#1cQS?E;<#Y;7>jQ5fjqo$~e)XWm$_Ew?XY} z=lKNGbO@!-ek4eivi0HF;Ft4460OKV+kz=ma}Dnzxm8i^II0!m^2o>Yn9PJ{=R+?+ zx*HNPry|JFKpcvMD{T&3pu;KFqDf42g)xO-C78cyVtW^Q_EF?llL_*Ys9)@b4-+*O z|NFYZhk$p~lI%Ir`vxutDrK(S9jqOdDN>2jA>w%*GS+?=k&P(ilpAV>iiCsu#a2@M zrgEw;UN?c;JPcZx$um?Bn7H;D;D8($234KqlQv`vfePGPo{!Z7+3WTFm~QnL8*8wP zKbTDm1TAyYtQIQ?aC$;?#8io1i(8^3^;kU>@Bk*qyK?d70R1bS=HAz{5UMX~>63V4 zR&MdT9u35VZq*HpsA_xYRl8Y0@jp#4B4tDj%bg|XCRXeEp=C2>NM+m@efd3-XAfg! zXNqV!-*xd2Kdxyhw)bb~godl7`$0@-BmCRMJsH=>MlDAMQ5@FwC%fm7n?@KPV8&l) z#k#IQjlbD!{tm|O0$6po#%HpOpXmpw%{D%~Y2uA9OD7cM!y1*b8~M6+f4?wt11fWW z+%QFp6PC=Itw^8o-`V5l3DA2=pWhZ}5T_TS+hm0zb727b;`o>#B@P$o+S&QFz^JOn z4fF@bOfuuwh^0;vA!~%q)5z^A0UPt@0K_7S@MGabcK^45yvT7uOZUXh4541KvU@$r z3{~{@f^GG-#-R|+?6%AmsuJi20nbxrYH;XML{^&Rc{Nenjl@U= zhyS>^E5|Z3LsG&ei+5HjN{5XtY!!Y3tzMa@i#=as*hF5q$o|Ll?J7S_AMPc~tWDJL zX~njb*>t#AUFOyBnD<_5x^DPph<_L`RH#P2#(xp@r7nPVsT@GDi3E$E9GqQsE@ezU z4BeX0p5JXOTWQpLF#yGMY8`&H>kE0-lnThlT*ls>U&as5ZETISx)x+-(L*#fEyTR# zz^!+CEeorr@fSq5mEeD%(j{nXSz6xpOQ#n{{xL$Wsb~Mq{DYpF<@m1GX2Zg*E;^OX zxUOG~9K_fr4sF^@+X;kK9e&=M%mTHX62w^b5#SmxZ*6%)p;K~xq+1i!-owfTWMg_j zCe09Q{sr`dF%RZ$mIijf5v^zdPMx7f`1%1xQ^-sV<>Hug@wX|lGTMox3;JY>wSU52 z3$mmLaMub??v<=Riofn#n<3L6owa}vPv%MAt4Cj&IgRmi#8T(=FMealDxGJO=|2?_ zoM+~HpLu%Ir#~Ka(w^1oYDN2$Z+4~HAH=0}=vlXYo2-0Z(k+pIrb`;4Mg3!#JmIL~ zy&Ss8rjQ!4xJGWb+3krko~_Ng-6YboHGfa(67-wHMdS^&xvDRA(=VQE&hb=49XWkz zw0Hh8^9s7G^rJIg*SU5Y)4RO%K7L{NTW4qkdlu#v*+8i>e5c|5(>aSmN#bl(Ah`-C zj%Rq~Kxm}-w50upwG|z&7?HPcE8bhn zA$8{ypHJ+gSE-sdhm-|fN`1MJeHh*NT&X3PE_a=Kr`D)nuPw7{CeB9rS_)Tq!fpC^ z-Gf&@%b4QkpG2RO>l{z=;%t1>XQD*sgd|H}A6wkrkYn~VpObgo?GW)k0CBz+s5~mj z4RKTVo>8M|#orK!l8lJpf8Rd?Dvlr1sRc5EfPD!&wRW;KGqpwce~Iu{iWbzoDltD?)+!UA?$& z^MLy8u?En)g+dF>viS_fWFXV&)ML~A0IEZm?)9HoZt7wzxC$-`~`q<7#)5X{gi=`;z-s68YLQxWpfAT(B5b#3i*!jdXnC? z^+GMlUV`tmzA;TTOC$Wc^rE}-K(+dAM^nAU-HsElkTM!*)7${6=u2J+5+ zud+-L^Z|PWe!8|@QE#@Z+n#r;{h>l=Yh#{7!15&X{l$h+3XX6FLrsi|A(nq#=@a+Y z9~d(R*;G>O+1DwSgFl4#gtAlBM1Ct+{%F|M);tlrR6c62%yel27gMDUHkZCpZ8n@r<%I*i&!s~~)$=SxzO@9gcT zpV)980&hSl2YSYEjg!ElMM!vzPXr1eb`_b|J8Ri$g6lFJRa9f_qn@9l?xT?yuD^F) zD)>EnOzO$N+^Ql;xT2KtA>^0iSXpktH!+wgf6wIBE8|KZX-Y{(=$yxkTMuj~;~lZF zoW<#zJ(PyC zD-EfC{J_iLy6v%hdlQNxcfh|k>wvaii{rIljV|eKUf^+ZO*~jzka`<=Q~vIFg`|1! zrh-1H`&ugtt@enrYexq?hI(v5K!(u=_cG?g-e0JT14g8ki`i-f>i614p)u+dVJK%i zXfwE^Vp=c%Na%l=Uh_w4CujL(N^ot6uo5i-6AVUYQK%NnxakmBG1v|GyQPLilhH*B zydgoF572~Tl<{jn4-;xTWpj3fde#Z6O^BtlKRao^^y6jOSESR{8Jl@>ZIV>0Vt2Z% zNayP)PQUmEL!3Q`?PwAFWZ(`n&bsKf{Y8i#3%xfp2Dh?bS~p|DVALTKkty58tC$j=L^x zlPG9SH$Yw~>*PoJVq{H7g*`(VdsA6ce#-RVXF!7Dr(XTae$L%2oM+LtP53Z~>f0q_ zUr{43Vd)?iLj5?cJR=K^Z$z)bI<594iR|#>>3LC%vO|n#OMNPSOzK{)4XG7s_s9xHdQm`hjo(n)4MI>)yKl=y6XS12|ig=blg%;-yB|IvN~qBR<{#M-71P zUs#oH`&7z_2mjxj%eTo0g$vvWcNow@Zs!g^lz+gAB}pB9-6mo=P`cb$Dp^G*ELR6X zV$C6q_ZG_6k);cj`2Q~Z(hb}TExG8)4V3xF!OmFsf$J?63KvKLx8YyWA6xz4q6NMy zcui8FIS7w~zp@9|@Y2gt{xWVb)rqucfcm}!QleSE4T3E4Wn4IUg8^sdCXg(tKF+zy zzi47t=sCy~QO{#H=4A;+mw4gG0*lV1eO-jmfO*R82 z6!5-_AMQrE9gW0>kQSB6drK9^gUXj|V;4P}2Z=prkiO|Ty5%}}?(Oo;f)6d(hOP%^ zp4vAsP3YEs%jWNgocaJZ?Ti1^daRlmgO`m_ZHNq8A}{g#Dm|#Ho>B64UNLp-vm<6e zvH!z59g1K295z!*Fn;kQCjoaWpF7ZQqQh-=q1vMsgKdFX`nzu}MhIf*M#A@Iur&RW zOvg$;j>-x9$9P4I>QhVdHS3cNDc3DN>+0JVmuhoL1I76=`wXfC({a`b6=}Z%)O2lB zE4g26N8EfN=5DF@?7I>9F;`y8Gz77;p0$|#Gy}ziBHE(#{`aylX!i(i`YEmF5HlO| z20Ho{z@%+fp6ag%zs=?~XW{uyJ7IO0S-KkkAaJ~ldLGq&i-tIVc7o}t953K)jg`R+ zWJlQ-1=mfynld8wZl)iA7=8xxa!Mp%VsD~RX<4G|IRjY=%g`{1(CQv7=*cWk&ejtRa#b9{##T309WBXENkM4XgCxUFkXpwQnP4IxVo$covMoVvk=0}+Mh}XDD(lM>2Vz8YwQ8hSKg_v14|s@y?G1zb ztw7wmTsPG%!4s*CCMMMZ2crk>go$DTlELR?uN+5K;{(x2Ri3B%Vndbe+(r607K>XT zZc>?8rs-$4)yci3S@~(;E09;t^Q)uSbXc_07s<>V+4u4>&6h~1J`KnOtkBvD4$jZk z^K8XVy3b!I^?fefK)^lWMX>whZ|o&T?p*?V`!}>V8*je>^!G+s0(4+JFXiO5HZC&X zdtoW*v_jmeoq6L2H%7@3`N{cRCdp{;UrRaV_-MaEDct9Mq1hPZOO*LGRAD5@&g`0I z?i8BBLYq!|)?fx7JKd?C@{cx6`m!fYFrAlD(Nw%@G@n^}9>1GIZ1rMtJ%2+hVbJog z0BVy3EC92b8C;MrY8Om2tFM`rh-0}=U=TcAGv^Fc|?_` z46CRx&;~k!p|(%FD90`~e!HH5ip;?@4!xdB<$kN>H3|C9TU$I75?6VC?=DvP4H>g} zRiWacZNd}(L-qe+CJgparJF4-V7VtkB8l!gNi?Kf5RsyeIy|FwzR(W7&n3l~6`ChLZy$5*U&Pd$;?I&n(nhiwQlSKvm)^E^^iewB; zy1<8EdDsY#(YE|3|@k z>BG4GnVwz&_21nE%`js>|Eh#`D<{ZT(h1&Zrg840*O`4Aq+{*68Y88l*rWsc51p^? z=@DjC-{&Cms^s_|t!-l_M{0B~JnbEJ$mm)` zLo?xp7SsOd{TfI&qn9Q3ognYSxMmn|mD@TFHxuJ5ZQ*UAqRjH=r`s|f^S*hJw_?Bc zBct0(fx-WXE^Av@1<#lKe1`0`+1l{v@V(F30;T`$?x9e8Kc%N{D#NQn3JDh-k0t6V z85%pj=Kq`~KWWL?`nrdyW(4LCPp>5B33*uK7JZ)R*=bqqo5C4l4Sti&tzS3MlLvtu zfXsnyNi(z=^rEbFuT@vX#a39zWniap!Vy?^^^xfJVT zT`xxGj!{Nd#g8^6Kq^3bjBb)0@P(5p4t>Y=bf9Q=A;YXR;PmfF_)hU(jc1(APO@@A z&UVGBNp?e3ns@2#`h+ei(jFR zf5OQf_~ZOzaTw=*&q(k?g@>t@Sru6^b=x&CIwtIYziJZE3|jR%p7>dZUOw;YJcUI_ z&Am;`PLiTP+EO1=IXNLm_>H{Ci}5t&7pKIs_8snv5tcrJ#Id-(u!=?55d_bQBGw$( zT-*>0{}P&!N{=u>%|tQsA6XLIckVhLP( zHJyS~JbsAmIy~mBf~zp^T_{T7a$D*s?GMnj|Mf&snFd|*o?N<(B34tg#BkkIoQ(9( zzO@sk6tWeng!nR>zY#v#+kDu+&pMA~9EsqaTK7A|l)R*Md025-iI~vqb;pJ0wzz}- z?Fl-o5;MhL;uG1rACza>WR73Rqs_m_r3ubas0xfYSb{0Yxy(cF0m zRg|qO(d|{tlf_HF%}A?~7T)Z}OJar%4-oYD5%+1o2x;|A7UpBkYc0wTt@X!#hL%dt z>x@>ri+Soe*75fZDF=C!Yt6%X?)T$0q9yU~j~p5M9c-}Q@p$(iTTI9-u{MmN7i2H~ z%%P2_t?c%Jn0s*;n1%8=J`jBgq>r$cAl~XPgfY2S2qV4myuaNj`5rB#IjFqhq-goq z#AUr2F=~0yJBt66=RxbBy4{k%|M+(wjpvEzb0RvdfwfNp*_d7SWuXW|G8mm1d3{ca z3w`e&4lo5%-zaFy3?#T|)aCx?&$%H^``%1YR3*@fqsR0mp`_*a3KmfdnhQ3*`D4 zgqRXO1db@_Nw}2-=37p^tQ!2NG)GjmhE~RYaWhS#kX9C>g7RFpEEd&p*)x4z)J;R) zd+$_mCWf^!vABdcHI3%#lI)fpoLu=cy~lPHW0RF^j+icE`bhf1 zz=8fzSiF+gq))zFz49-34>*8!UC^Mc-fB*=CBaZ&XXr4VVl{@TUC5!H9(>+;oKMh> z48K{Xh03AI}!IoSO}g~8QZ-^TCDLND5m!$a~oogUtxL8`eY5woSEDJ7}G zO|utTPpKCGYr(QDp%+8dmgKmleeUMcZ63rh%z>cRfuML1%atRbRcX)#Y4Uf65Fhsl2 z{80XXm^=a1m*_%w8OUQ>;q%3721kN9{p5oq?BpkqkxMV}#+;#P5>|)PPUbaCgmQ!z z|B%8##XQF#4Bzb&ZoPXhJ~5^nB0t4K=taGex6|dHx1&mBB(w=?WlJfo9GyZXs?K7z z{C!-85{)}=)v}&pxt2w*RTTfQInBq^KKJGLtH*bKQ)Rp?Q>K5Jx>=btQi?l zIo|$r#JAYD^koFl46Y)~OgVS)-6ZZzv;VCf!8>^`QDM68lzny@xRZ!qd;1i8nNR?! z=~u|X_Uog`mei1vpD^U6Mt1h|a) z@cI}<1N>E@I4*T)O9`gUoGdF0t7WV%&Mp663&0^|hNUVydLGc)r}+VTvT?#Ha}pQY z5&T@RZ;)`h#iV1PTO*;mI9MIsX5{JLRr8v+$f&IDj!k`{v<>mWk43OVo>c;yO*Y>5 zd-F~RS5Bvy;4*J|-Vg+>*M8@=l+M-D^KWj*q!2_K|#+xgQ+|DtR zPBrU(mxP4`v@vVatO+KHX|uqas6Ht{%G0l;uBv~<{Id#~5r%V~TVH<6vF-qZjuY@8p zbnMhw9==iPa*HO$(Uf5Sq;NV_)MHf^^7)qAJz-jqgnE!|#ntkcg%|6pC}zRPGN(xC zfFF}VIU{fLcmE3>?pDq`h+UqVIIYS3`ok!Qv+=6bc-)b z2M)S^(yU9A=UA+Ak}z8t+srlDZ~C5bnJfkb`Rt#Fp?DIw;`~t6vBlnh@J+dnlT{it zpkm^#U-zOXSjjhTj(Md%-9--agaDaKlPn)&)>#kNLmF#E>NnL2Ans%v40eALj^B?% zC!WNz=W!`lspLehvpx~=4n8B3uSIkRj_|Sfed+W}7n#;Pr1(Hl`=8>HayI1fvPlZ3 z>tei(>A^C202sFckY>XZD1zXYO;acA|M`HRhqSETgGa9d{g-$-_yQetn(~Q;=Cgx6 z%g%2d*AFKFgXKire!KMnm1RB#^p0EMEfJtGL8C^J{>Q@RQ&Pv!t@qBQy16DTEIwWM zazq=HJ|L6BsNb|;aoMeB=2W`cp+;vXY{({qmd+m@_%N1R!I&7=t(F)yjmHrWHG!$Q z<2J5HbV^50rkB_S*y0s_%4$x?byd;aBf0ZM(qYHrg(Xr_f9$$nE~>r%ec#5j`otQJ ziXXr*0X;IokC}d3rw)r0REPs4_C7!r1eQ zemVZMEKur2QjCsZ4&1tWl+x;-!a|#!Gs>-4)X@WQQL_0itz__dPOLAyFun2?5Cg(5--%yQkGepM=^b$>$O*BT~_`T#{(9{LyDJ{XnQoj4%C9=?E z&vG}jQ1jFdw+-=mzuKk}Arx!q&@r8HHR~!%boSCxwaOa{W6IZ=!~`xCXA_e!hT-Sa z0J7IgEHQF<9mEBL`Z_JhnkbFnSgM;SHg`I;eh_*|cIAcD*q>N7478dlt_$Hsgy*8q zQ%4DSm4d{F+r{su{LoT>F_?g3+kMufJJZ8waEr2UIMZ$zrRB1EKlJ0xbmp?bhY;1P z@~7Avx>g_m&J88&id;5k$#6(zM1K&la*8VbRF1CE%gXy!L&PY$v;)elxVK%wie{Ff z##L?ioN_B^Q;lW!UAUfX1uV;WwstyXsVAfSzJ91j+T^EiU-Gz6M=}xe)uSewiU!A( z6t@4vQRGf?NiY|BUjG%V%Z@wQ;Qc4=D)Qjy_rLr1#-5I`&C0X&M<>HdwAt0F1><0h zRStMxA2&$RTnTOx*O4F*REwfxT4DAP1XoL4e@)L4>9^4nx&gA)9|AaXCBEVJ4N#x3WP^QB`j>q_g$swI!|Fl3QlS zdtc7J;2O{x1;SDr(#p5-!|yNY7F{daZi}A&)O?j+EGeY0A<1c(jO@rIcDU^dG?(=y zX=%Xn-xT8?#YZ9!81LGYg5&>i+=Q7o8RFWyz=YU>L#WrKf)u@3@=s)S_BRCjK-jv@ zCaHH=cM#3*Cx4ihlM9*qgF2xvj3ePFWdA_8W(?bml&>~o0e)ayxn1PfO zFC|~=n_wo;w;U+C9E!|tK&btZ`i%g+mOK5UluP@ubK2c;$xHuR2gj|pCkaV4q_KrB zc3)K0ypy>$cE#8Y7Iz+nedMJ+Z%SZzk;B60ub&`)zbjvPyZa{ZuvoJ2O$(&;<#_$m z0)t-&=8h_zl92tNJ0)F7ZMgmAP*>xKl*e7!sKtHTRnuu*8FgB_5EH*yJ5EYpbUMZl z4N!DY8EzzKi?Ug707X=|;bw71k&xyVgkV^4td*h<5yV}3`z*lK0R%Vntt})hbWx#e zy83iC8PT)LA|hGlr_^1CY*ixLT)MgwJ+85L5{&k*_Qnwj<%s!9A|#DVh_{bUzgRBJ zp1K(;Gd)p9&YhcfuISTw<9>NApXr=W0#vdj-d*8S39?WG1<6y zY)3ZukH!8DRq;2^ZdvaP{-XR^Bb?+#NiEijAJmlxlzeT% zuUf?3?%zCjaQx3!l<`-tHGyYkreC;9)gKdD=tB7i&N1J;eCxke6>ZXa!MJ2?Z1P3z zsBFube9iWdM55=iwag?3?oM;gXNU6x2%B-#98RG5k4W%eJR(nyGb3w$_E||WJl8VcBD~nlFY*9&u(`{QzgTrEIJ}ybGPd{g{{A;0ba0gZ#+hYX z=;Vp|+=NNCk#FCA=M@~V;n4@Ga-cuz6qY_J2o-kKMk7pzaKCRA#z}}MR42|OI4M1x z#Y3`O`>m)x`w3<5FRTPd zFc`LOntEwnb;b2AP4Jj1U$U^9672oP_hpk126b{y)5NbWp4$XuqSc{iG82n5Q0h$L8jLbzOt6pv6l8&T~BS3lq^Psr6Ky1UxqJN!qZP0kY># zB0s^oG>+F*MD+O^X44%##3VQGW$E^xU1#cbR5gLlYB})isir%3qA1{=RBuJ-F75eN zT53o?J*>jGM@n@qO@-6m$qGvnO2a}pt(v=z}$zw0J>(harNV-zp^ z9pAPYzV4=Cv}a@ScxK|QcHZNNG`{gT4i7cQas0jw+pM~uT`Ouj7IlR8Ay@t2UP z!%YQCG^pu%GaDj5ix^sRd$m%!Mb&9yz#9ao2C7sRx8QJsw9`%Z&dL7vF^=s@O{yYp8e4kq|4w)Oz%q|c;4T-YQZPJ?i;TLU)JZ0bN51qSdK~) z7n6kOBbCJ~wnLL4{mHHJKSwj#;YcHehP-K0bi^;~nGjZZMcPN4LVnK`fyUKD8S$R@ zLm`FR9*thiwtsIZ63p%TsOhUX5csYF9x8J3K(fkCTrr6w#!&Ilua`mbd^rL|U)PMj z+6naA35<9a;5!D47OE|sF)oSzRH1VmnMy$kj$8@_03g`Za_eELosBtUk0UfPB4$EQ z6n$%AO2Xv`x2&nk>P*>5)gfwZaEinWYfHCWSzvDg(|c2Qb1LyI@!+sqra2_3h%4{I zV8MY?o;F{4d1#rT)p+XJ@L|@jWu3&_QerG_?iAQj0yzXMoPZ78L4x9}V9k@A#w0E>Q5P;U48(F{TA+V+pA!7- z>5fm<^UHWEL8z1j92tsSx@Xt%Tb~=*I5krS@hbo$2bv2_E)}^IiW^Oc1=HP+ETa#H zMv$hE**|5FO(*Rgv9ohZ9uK;E5>f*C<5%Vfq5ZFWJAjX@$uhRy5~A8Z6)$j{u}Jh;WwDb#YLoA zZS@y#My!6hH(KZv=~G}3cb%-wY{7itXQe*7v1Hg3#5R0J zJ1$cjb^JqHRu8%&q>&jG5L?9@800!9r%)rT=&BC&&%<1&D*0iW3V9zPUvReWL6HK} zL9gAZOF|3Z4Bf%FUkfjxWyVSE;S3WRfbg+*8mwSTuv5dt9|%-Lwoz!-Ho-#}JGXP} z)aWm0z*)?phZ0Rwp_nbY(!MRp3O`LNWfD}HobcZNHB8?PB(`K$G8kA~pZosfoNvdx zU?ophn_i@Ku_|B5C)YTmbAbz;&qS)%dpk)^+r4Mxu`vt*AfKfdo2sO@x6J00dS1*V zd(pf`Sc1U$)DUR72VkfI(hfN8f1{ZILWz7&7kUjS{h(t9@Ff};J}MjBrS-zw&`nhg z69=NSI3zsLcknO(02l63diu8~5iOCuCZ)2fveQ6Nw81FdVez@LrEyj2ok;>0{7U#A z2mE!eB_L~==v#yoMU(b*2NRbwPW~j7BjNHM)bkns*20#f>38aCNG7*%X^m8)JbTXv zkM~r2Mi&A(C$dRVzZS-r0}@|a*@jo?DME~weug!=6XZi=0l9pCyFrVS%Q4x7oc@t9 zfP%Y<0O79qCbr^$$!T*H4dQr*>0Q>(@;B{xXRH)%kkj;wEzrEiP<@-0>v&Oj#kn zX}M88!gW?02#K-Xl#UuUFv>oDbXG*^bnuotSg1nsDayAF_2e$YOM%oaKnjW#*wc-Y z`j;AhQ;_{H7@7@ouQ*PtvN=f#w5EGQPkuEt0fOie*x}n1e-w&4`h&OgD->S$=v)zansv+ozIQGlH)Ix9G3h^ z3zcff(Y0@VbTwtuSeU2WY2a_PE=N(3Ur5Yx^&Tx<<^bS&pajR70|SJURH(1puH~%k zKaTYb($#$x&%TF1X&+rt# zeIKvvZ*wd5UQ7|!+t!-Z5L~MejWolhHkS!YfiK-*dNa%$a?XP_%(*zS49>wRh3&if z!by$Ami((9$>!M3q`W}hH$?Jshu7lAI1b1)G%0jv9a$v>@IUQbG?pBSAG^5d^lfad zL8KK(zZEFQ8wrjT5-)#y z)w~~USTR=nEBGB6DY+1k&v8Bx$P^QEqW78o6Rh4kT&UOQhfsq&-SVS1Z9(+At^q3G zfBhj8Vw*{!8|}B-vLnMPb{Q4hP66XQS;B5&;XPdfMm!=_v!^74K@cXo>Z$Xk!V?lpMH3`C9tFw4Z*Y%%8lqv(uTkU6VHgI{QFQ$CB^P`&r(4*y!`-% zyRtv8ia|_O50gIyP(L4-G{SP(w}ip-?M(5SRyCj#=EB+_o{{T61jEnE?V)%h4J7pB z*Pjq>cSKNipB#O6$>vA&)e`5Bb+)xgAJ%_e1^c6CDF0a)86|ss5PGErvdt!Pvt~P@ zH5S2=6fHU8{4dMu(~ISXh)F5XO^aySw1Q^x2&r_3w4}uv>%hDYnuN-!ZO0>Z z28g~+|J5;}M9wjUy~XhU_3f}ZRj0wc;k-tJ;yy8^3&O;*=zq1je>u6q<@B50YdFLB z1Ka~hxy0&GJ9&9%YWdnJ1j(_@TV{L-QB+vj6bGl|u9av`a|i+<&rMX%Vp zv5aZRES`Nh_|^YZ&Nt%h(4vllq<}Rh&ng!q;}Eh$5y)_PXnfi+cyxwuB21G0S=+J0b0mm{47BEd>b4K>O&&U4 zp}KfCECaWMSub`wpSq^k*lr$|?hfr+gx@*-h(0iYygRM@E!lL9--FHn#?k5Q5@U_A z@l^5iSgJ7f;~wn0{l-67bU_tEL7l6WP|lLo=K9ai zD>WK>cKGX{Cv8D?WnM88@vg0cV-#Uu#r$;PvA0aoi2T;=uXtijBbJ}j^nA@CqI|2)jh#Ecy6M5t)m3)Yg)4%nH^FU05Oxcn28mTa%x<=fmn)7c>ceoAga7G9Na>{#FcJ)c% zCwkmfv_7I4p^FIMTDv-&{q5il1HxkqH77pee<^`$pw%3n1rorDJ(;x z@-56l#^+tW{#zq&YlA9!X|>na*Il@o%JRj9#GCrf^YmEKMIv9+v~S_nC=(4@5@h?* zFr1xEJ@o7Zn4K}Pzl)Oknu|8nY_Uko0zJ&SX5*Rq>jfq8>955%6A3LvAt`~!DU3iG z^*49T>qNmAr@gSBNVj4!MZ{melv)jgoXs2Q-2!}3L_SV192|d@B9Lc*sl|zsYibzv z4PikYazg#k2LGP>xA8=}@8{VevR5-`ZPZtm#Ja!D-3q=Mw=-BO;UXB7@D2VWvuK57>XlQd!s0nJzI>yqN^=Ln*n+=f(j|( zpxFYncwi$c8I^hG5hbHD4U^L8{{^Aoh$6@BtnyXF>KiFyvPX!P6t^JD6{vL6d%Sf~B&x6{!b1AC(Ds4lW-O{MwTxQZdTvQLyB&s&eZhs!f6O^b~>XwH6f^C*dY ztBt#)?nA;c#Y^qpD}`g}Pi%N>@l)vU)iygLq*DtQ|Ai*jLb3;`@h81fqy>|aHU;=FW=}AQ870A=k}?& z&Lu^pUD^TvgV^;xOC%`7Ksk9b(-+66S&9BXSXx6YYBPnatEdl$)#_UUn)_OW=ci7Y<^RQYb^-zreI;iPAO`%31+ul?Q@`U93RyZ#14BV%r4)2@plog6v>2+M`4&Fsi zr~d?J!$@eC;HP~vS6SVo9RD;;X;#siD_Uc?5XFrPCp9YDyETtt;o;4icV=B}iLDB^ zw7wV5t{#Y*9$GS8Eu#>Jz^#EN74z2O>UnAI7OTebH7-TAMY`SmrDRJ_e}Pr6I>9QS zyL|6wfnfsl<|I`0M%@IH?@>3jl3HvDik6pegaz;VGl(;7hf3cF(2@|pa;}SDlgY>x zval1eNva&Pr9!{oCY`+Q{oefKQ%^iV-Tq5Luc(6lfl&3&_gI?B83yS*oUrMvPv~91 zw3mxpUcV|pR8((LMbtYTZgJh0DT93P^%mU6+wSOBgT50fShRq%0xlS?G!QUGI{C7$ z^n+z(E;LsDm&_|otOS)p;LwIQawIh@@>#523O1QDxl)A!$BS*lFOkxj#C*9+s88k|I}y zBZA}~7mD-?31eCw>W;hvu-oB_IyBqLI1OYM8wn5m_kv`OET@2L9VGlWIxTc#QebKz z3|`heN_@7(JXyREELP~^Sah;#A6R_yt~?!WX02yiJLWz#T{RnAiYO<5WH$>y!U62p z3_M0j#y-5R?U-*(PV|wyls^g;*qG?PC+yc4JR%8F^sd8(SMB&-?c+M?i;aJL=5*aFZ2v@3w?j^8c_BY~|um zi>302>86nfX*t?aQN8RrVciiu!=J}qj()Q{+~nSNnd~k_ZVa-kdVg*Fngc2l>J!` z6i_W}bJqe;YFvq4(!z|IgZpBYVT+f10m!e{S-VlY-wytSRe~;l%eG4BAXJD_Dy*17 z{E}gQroa;7JrU--0V51Zjt~~}ziQ5G8_k|SxYf)#u5Vt#R#u|=FXQ*`=yTqA{`C#& zAK@qNmykBs|7cohEgu5Ddqccs=2x=q4>Ar!Y{mF9M9~tz6Y)J3=TeQ|+R5a2hpzSQ zVO3{YtpK$+(jIomf4s{Owwl9U@{JGNmbJHN<|?#VjA)xNYZ=e=_|0I^JrJX14GST3 z&TG)UBw(K`fDqM^2sgYs!!LTkHlk8@CU;pmmjl!GJhUk3#55k%tz|^BRWUrXwhHjc zUkhbR(9gu4 z&A$mR+lF$n4=4vYIiVlnvaL%hUwhWVxe_~oz=>^Y#ERMPvtlzQWjUdFA-D{X+7(8b z1Ylw|dtAB3&bhdYKZFY5nfc2FSn^uCXiRHO@kCy`I7mEJ=l5QF1?mtp_S85T&C6C@ z`^O8jSoWyV(h+1wpn{+iDQpSLS@Dz!n`E$I8unW!LL1SURfM1v zpgYHUmv=@e5TE;5#?WR-puJOP=8UjKdWVF=4^s7^<=&-VD{seytlaqald>N$whb$am6 zK)Xhp^Q^(lv)T%x(LiM?ZZ09ud!n`4h~QSG5*|$%w~V-Q&xS+tjk0c%wsz4TZL8Y} z?BNs+(ulAccc(|0*Gaqa&SZQem6R8JHsrpk0@wFSA+4Irf>gLywrtF(Wc6n2VHEzy`8QqS@hXL zYyitvJ*ZtGJ@DDy^mVE7-Oiu$hELp)p&&f%*tR;YQ$081dkh<(|E<$$ zalC^0?3Cq{;d0Tq=a%14@w?IBBMiG!Dv9v$W{JP~T>1ea&6F44Y#3d)UcwYzBb82G zf*x%R+us^!gq4<{yZo{Bzli)c5SS>G;}R5(vru*0_w4~%8ONNUD3-YEEtQK`D6j|(JKd*y4o8T9AF2q8 zBwQ^VzP)s6M+%dcw~Mt1V!H5b4D*#z>%~SQM*Uh8H0;s?zQ%T*FAd^qEQgX}Vg1CY zlEva|Ya$onnm16fVrWEnt>!iS7~DoZ8PVqdHbU6CwtEYIR+iQc|BFaiF3ZIm*>hAT z|KloIJ;vzgHFL%`&HlF+E3%n`U7Wjbt^_-^yIQU`UEO%EU+QjI)PB9O&VqknnPmB=@&tr0i^%ddRk~?WP*a;4`rk|gNCLja5=@yr_Bz%_&qBtfrTc3dlM;pDcR9+;NxaGE zm0U!8t(8^)XGJyyHo-sV^zbmu+9DFI*!{`dEB?9*)RyB!f5orK zm*&@Y(HgLdF1M_xsO9c9rkDWH_KE20_Z_!@pC!eju3|xJ-V=BIgtWoMVrdFr%#T9 ze1v@QC>N;~BMduZlcv9ATLlA)p9|-Mpu9`ao0wL(z_s@aP3{M_Asx^_$&NV{1 zNe<_8zvn&T+&Ra%(aXzdBO27kC-=y+Y=>IZsMe;~z011{;KuWbP3|<=CZI(j7W*Kz z$@6HxfJMsdwmv>vR>!BJsp<)(sM-FEg6rA6D$FI5%z7BtEN#v$7gNdNGH$Aaf6pW6 z_O-@mXFBU|+86%PEU8V7Q}0uAyS5;*e;aQr(Mb=7txzELXJpaUPxvhW;Cqnf1iJ15 z04!2H?_n5w@;kCOm)FHl5(#L0{J8Z)yO4?owL~nw*uWULFYUcKg)vT*!0|d~d*P;n z$Vx(lGpdj+39z9J)oE=&2FNc%kvg%Nw}cx zC|ruX9hoh~MMqXl|M2%TEikK)s8rw&r&5a0V4v8LQS;-Jtqc~L>pQU#$L^e!clJSG z?2+W^xcrNu(Gs zD!7p`vs&@x2Wlx+SFLfMV}Tw1Upjm;f)YM;FqoKdYuI|(y3WB~X3n^V_krKh^CV9f z!~~N?SxUipIFov1UIlF#0;I_tH4dTF8$1O6LdTKl9vNt!Vef(_@SDPGrDSP&JJolD ztrVfTzcJ`umrmh?>HS8XxCcXDUj@10ATjw&yhT!tzAZ5ng(2M~&@$A%oP~ieFPNbB zh_|Wnt!C={Y`F?DCXi#Px8|&+)!B>vd`?A+PcX@p8ZmXip8dS{;J$|bO!u$?*8;CS zOJ`>C8}&80Vf^5hg&?4(zExac!TNq*@NVMYHx(E&-m@hhtVvTYEg@$p zLuNNrM&SnNiB6|homfKMFUgwwDy`-xsRLD$#|2*7op{cqH`U|I#LKhZ749#`OJ|q& z5sFtws063083R$cqo0kk&|E0_I0z3mq3WIPdap21h<7&^n38&qmlctZ&ZBYdpqXCu z+5T8w^O9o9-gIaB(kP!!k0!-XolT4hF4FJ1lqO|LfPqYg&{|}I;O1Gr`@QhkTT`?b zFSlsgif>WX97I#bA-+7b|WM^`77cb@j&#Z1B^h%IM>JBK9^N z9D!#^1*0~&ZnBBFFR7P2fuH61(e6HIo+qp4+^VgU=m&qrD%E_D@TXI^-3CwG)Dr-> z0wrQQpbOvVca5rU(yf3;9;F3x*tNygzmlXQnOpfAL8x%0I?M5JgtD|le{&MVqw82~;GYGTu%hFV_HtiWgO zb$J_ofb6nV&97x1Y!8+aMx~06{maWZsQlEGwdkTkIUaEmyH*<4BShGs=+1r8g0{%K zY%$c!{k@N~cRvvAMVo_;q&PXjOZ1v^n<$e>FgIQU6}*v$Vb%Pc#VIdZ8bMFq_>BXoX*q*LVRr zkayH7ZWR>#=<>P(m#2+#SZk-gw!op;?6=v{MBBub&kH`z}wf9x6yBn`xC9*)q z-Cry2!YKTy!`ijU`w%U8-iG!r35wS3&QsPRV{A1|RUDA69~0L!iZl(ERDT0#ZdR%B zT*C$TyRiZ@8hA;6vIpCS+L?lFBa;i0gT@Nr9=1$&@wV60*oX|uAs@1#Pyz>|@s-mT zf3%pl6+b?|)iA0Y>{vkUx@Ui*aU8i+u;jwgxkVJ|=5}rIYGl@X9Hk6aqx!`6+o?k< z)>AB4k7y`ZB?rA7d8{&JL(-qD{L&|uXiF59yI?|?$*YDc9m#wLI5DG0d%F6LvW?cw z4&+4A*tFc=nTF24X!nHTbE;vb7DJ6THz~Z+@rFbv*wrPTdI-t4ukoP4Op6?KDO-QK zWjPti@i)96B4W@!_Oew!Cl8D@$255wV7LH$IoV1a9?d!QcPgy5W>}l<+&L#FF zcn!8>q6xj?+1c2h=Rw{zx21XSsds59CE@)RdKdy^MV-Y&1r1vw-4HZ&*}#;~0eGy@;Vf&$ISGW zgSXzX2DLvr$6~BBP?;FJGQBQp1J;20qshk8yi`jVbo*lc-?94S00G4*ZjV=_CQ9~$ z_%v#;Bryh)@&oZ5E>+kJT650vG3r{m^oLpSTZ-YunD1n7v8z(1`2xJF3auqrb|q)p zFk;<*z`4&)WOI|3-LMR=I0wz5ER)c1->8XIz?5=ja@%7s$*V6O6WJX&Pz>n;2E>zN z9_O*?$#)iTN0NmGEt6z(4}FlD*)FY2z(Rv)g-9-GHCNgwE%{R1(`#}F?D_Zx9oHrl zSp3=c*2Z^V0UJD{fCd2=Iv@<;?W1(Umy~Wl`+-&5-sx#V4hh49wyoUySeyB6%1F)j zICUU&hQ_u=S8eBLu0&6Y>9^dzR6)e^v?)H1HUl>?cLZ78;AlG3z?ZY8)jj0lXA@NDMLKOy85ZMi^J?r~%go_eEsr zUoW~6%O7~eFL{2Ht;iZ_ zOcZhjB^mu2^YS2IqjlVnncVXs1^?zwt5F2WFOL zfaF|5t7A@W;M+6SjI3vBxv<$y&uef$8Mz0Clv+FMpeXD7I7EyKrKgC?{QP@oLB=>A z$0$lg@I`edLbT9FgIydh+yHk~=f5r7&{_{&eV8x712rQ9linR=O%2jE#%FxM+y(i6 z0C9cLHD0MHKlfoeZ34NxP?P>RjIc5mg3eBYh1srrt&{qeAR@XqEVr*tC$?^_f8&g6P_?2`nl3ktysZ+mv3@Kt~KA_0(ij4s8qef@fY9u=?SMA z@L*_nuP0Wh`7m~50&kDMH@(TW$7GdY0B8*mCy-WKKN30vef7UOqtMuahFuIlp}byg zr>J=Bs-Q(BAl}XQERm2xj$Jmx`uDw!>FoL^lw$hmv;x`KI!bF?^J-fLGt4GC4UNn# z!_|pS4nBsDCP70tWD5M%24rL6p-mPWVm6Wez|(ehPOx`R_3y*8?@Lozpu<1_Cm5T) z$*5n7y#2{*km#PRf}N;65hpd!k;3a3_iRHvxOJN*jd#$qa8(ly`shZ>JA8xLW@bY4 z(X1!G3O*l{fl7RE9#l0fe!nISs}A~_$js&y@4$rH+rg3`OJKVz-c(fq;CJctSIxNz z=q>XONC9xnD`@c+*Wm)m7Qz7}2A{p6&ExJ$&H0OUtEAX^-u+{Ri#SY_*-w$K_h8&eSg$y>-N0RTSzAVd&LKuT{ALXp>!I61jjc1PjLCZucDt zX!Ng^W_?tZN)%B7kvHV>o@Bm`2ik^fDdV|sR$J@%3#2~nX530tXc%XgWGawiQ}!;i zdFiHfP|*!;-h`kJX5aO%Z!Bf7a-{2Lq?d(JVH55hh~+=r|HcUR=bP*FMb`CGCT|`i zNKW&noAO2xdu}HH^boHJ>R%`HF$mL}6i{W&QCo$#{PmJ|J}i0XN&_=7wEhYPRg% z=~oa|T9mZkgxOaqlrP9uf9z(UHdf;st7%$)hnWfPuKAK^g5joc6MREtfiYzxX!rEe zA#9VQ@-(X)p*yd7$08XTpt*2?!Fip_k0O+j)2mglw(l1{34*0`s5YmDR7ke@R`0Zt zS~mYX_zR_U^Z|co@tO!ssG7HKsOnNSe+l>nn3XI)c=nJo&=433=`#PRkPkv&MzUtc z->D*ZJeEICa!AcF+}+@x+Q`k1gyfcEelH(h5+sr{SU#OPpfiGSs{R852e0xay3vrP zGG-PWLy6Ue_-mT^uj2b(_HUy2<7z3?7GPYzoeZRCR~UG5&y^}#rlH29YuU8^+6H?~_e zm=j@2)z){pyy4Hmg)lH#ldLs0qQIi~KQ=xIEuJuSfe0mx>irxfalNjG7fWxshD<^^ z?6<_mzAT_SFT%KnEUuxJ-rYZd6C{>S%uvhwCJOo#4v6J}(1V;5*d(iwPig6mO^g!v zgGf9Ofiu@LToZTfPAI_lmbxKAGK_vPXxb<(@eJQH$=S?l&L+0vYkgqTip3)^6x(`_ktWnDD{lxV0DJz3c8K$>!o10K z2>6itd!X?yz4~fiythwiaaXWs$v%|5d#bgc;>WOHj^h2r_d7rTTA&rJ&>w4Bodgbt zAJLU7?!0%B@%sj&Ogc-1{qn)ycmf{<*e+yDe}20TH`u0EYjWWg60TdDIAV{ z*14hkK|EI zI}Ih&^!urc3J?}fLLMBTCwymmUOT;yl!%5$_4I^&=D5V`1!c?Q%rnPSiuu7CW)dd+ zHDTN`_&b;s=_ADox~o>Hc{A!`u-ANB6^RJv_qwn*No<>W5qFq_73XOyDBn9r z8u&^Fgf4@@xQ?t!+eie)maF;S;`dW(N;sl5a_m?5bxziwI@oLBP-#wYv%>Kk73`x= z|ID?5k`_6jTn`N)QxeSuGl-8bqmz7G~I0U;8ToYbJ#~a|gu>9Epd3Rxth8Pd{IACe2=76o2{W zq~^8)@=-!4YqQi&V10IN_!$X|nIC!b&6}n)MIPjWqf#^=Y5mBuZAHp?T-9 zP;MKWw=E1b+ zOiN_n#=qc;-wVQehxgjNJ{9=Ojlt9Gey)xG3to07Fzl8g-Jj*C8kkJ2)^-XwR%9Fc zm*Jm8yGgn7{#ipxF8*{R8ns^lx)Upb8Z!jY)kPWmo2kDp3tL!isr8LNkd$QL`2qnRJ`(2v+3Eyd^XefiECw@tb?>*t zAwtYx9<)raA(hhMr{_lW`i{(^H`mWKB5#{1FC)3utgU>S<a;fy@PO!X{0SS^Jp1ZprhhAFC7>-X2uaSD^!|>*Jju?Tq?^aP9XFCr1ilyt4A_V9#26i-vt6Siff)&`Y8q$0F{uwUN+|t zJ~VRAQ2!}5s3l@N;ft9&xV1ri^r=A-qixqDk0}#<3R1!2j=hk5Xoao^Fst$Lxs8Qp zOG!lj4s`6R1OLn}KjKbg4Wn)5#mL2T)|#Q9s@|XUs9NBJT9S--bPDk;k`EjzB2edA z46A>k%^7X_0z!%e<`s1SHCp#q`?;oA)+~GSod}m9n4L@DzFmmmw^rH$zD5LJWeXs` zCcC8~pK(}1WC*gj*%ZrZZ?9VYz26PBnrJ@Qk3&aD=01Z?>($+vV?D2>%rZ1^%K1-d z-g3s<0jV~l=5?8FH~xJsfBPQ>aDl>mQ%iIOe$#0gE_`gfBMR)Wj}T&a$&&d(wV59? z-zv;K@B53RSC+<5G_Y?yt7Ze{Cl5rQhx5)`&mtzEMjl5ny9x#fP8AN>99kW@WB$xz z{Uqa`+Wz%rjgVOe0S$-B54VU}^FPoKs~wFEyEdfS#-3Ji0CI!??S{?H3^{DKe;!`? zna&;`9)an}(T-2teNVB*u0IQTM61+GgDs*QZK{CJEMfZ5UVC4+1g;8)Xwcmj=V#sZ zCYkTUqP|#UPd5NMu86uU4r@A$OMm$2`MJ}!HqscbsvGB4ag9(fx@)c{yg4*@2L2q+ zmIDNu>GzXZVYix6@BJm)7ZX}S3^ek912964>z+X&2Qa zH=!bWbBbeHybzc2blUf|@Di8biMQd4FMi%79i8T6-!F_)gmU0ygig3P9c)PAZ6QHm zNJC)}o!<8{F4d~0fmgVabe(+PFFy+OY6x$%)U;YOCGfkLFDr}?2&sK*i}W|#}ibV7wX zEGW~sR>AzpCs|1Zv#a$OxjI}2cXzR6DV#nje9m*X*C^JX`X7AdMQte1c-1kEIDU`2 zEac=H#9-OWWnD@*l(|qSbvA>i$C4+D+Mwq+^b{2t219*}ERIw3FcVd>63p-}6xDc4 z#YBcG*P9r2>*veBs6Kf1l#A%&sfZWu;7ak(+P}Z?NXZ0j)>r?`^{xd9NJ5&!n%`0)!hNL|`$!M!c;xp-S&XP3PimVAl#1i@hk>cm( zg?a1iOW%utPU>DVzK!)<%$5_YKpwVL8R}fC6fzB_UA2nRNWI8WUmekHlGD1GhBGEi z(snz;jZD624&182H}hiVza#y_e5-;LCc9@Vx7*Efai4Co)PT&(wUdG4TS!7L^+gtU zr{S~cT)i%;(QmuMI7bsD6iw_enzFu|G|Do%{xYbt?m6YnVPl-ynD3|T=!1FYoWNLX z##pYPt&_JDbXQ9rDH1PnJHeMOlJ8=JwZ(&;kV~dObiv$?_5teBzO-|~K^=XHgS$aR zB{|T8!;S3b)YGweffIE#t+u~`epcRl|NJvJnI(Lg2va%>3#H}}OJb7v9a78F=u;-` zh;z&FTx=X1NCz$Nt;7+GQx_2Nr(L!WZJrAH(hWbC;fMCC&i0YRFsMnepDn4gvlo5oe5iH|X$*HzQAe zrO?Yd-Vcwl&}{jm-Aaf>>d(YOWT_uts=M$^_n$z*h?OrM2(3aptm*qefuvrwI2L+{kDZ15AH9__|17)Hp}WW?oAL)VanFEMZs|KY=N^xj zEUtR}RB=TdTRVidVtK&HLWYYc6`B4Mhx!8GoJ{^=9+Pj&pSlqSkZdZ zkdaV9vke z@Oka{J0!%xL-4oRGlXCi_3(!;8GdooXe9!g7H+a%{qFb)sgE5pG;Nn#;swpz&K{$p zaq6`RL|A&Z6GS8vk;AcF8h){IPYWUD1IMx6B)gkN(N~H6ou2m>?M?yX#&ST&GtTq1 zs1L>n{I>zYW`4cRdI}I>-3o=2GR<4hAr5+oVB)>{9_=)O&En|oBO}>%S>zLaN3Wc^ ze{i>V7g5dVQ6xaHS%vuh-8B%=#$^Z-?AH2Q@TSgD#~)D&b$#+(ZnM)x0^8{#&_*e` z0n{jXw3IYkAeS@k;QBH<)x=_9Fm3-GwQ~0-Vg~cC>U2cR&ZcIb4*1Pg9pn+2Nn!Qt zLIyibh~`>XaLYVvrM%K+!Y4sq^6BuxcZ|@cD z`$vi?p=GhAIVXqWC8kaxv+kc1cB*HCjVF1we?~*Tq$ix<_cB_kA1D4D_O^cnC24@#wcTq^JYPCBGLO?ooUbfnUV&D- zFHvP24CQHq`YBkMc2|+M`1hiUswnoMP7raz{$G>F+V9QWkAZ<9 zMeyvo9g+Vag#Z5iBUZBc^I29YVSo`j8zCoSsf?83(&IJ-%<5cDiB*H2c)T&XNqh%k zLMDbWP|L64y927Q!oGOLS-KQZq8B<5?E2Fl4vAHyA0t&oagk{W(nF_BFvOChxd_?| z17Ue}xE8az=Q9a^liVezU5gZ^@sEzwwz3^E^f>cFjSgXX4~K!V!#o|Oz4{%yH)D;6 zYLOz zaa)xJ{j&$?ysURBl}J==juIxStkuRRcAAn8i3Xj32;A`$L8ZQnebQl|^==2;d#^y4 z+lZKkB58;+D7zW>sZT8K4tJ(WA60JK{OGD)4v;uo8$DigDMID~t@IbmUh9Jpt^87C z>|~0U;1MQRm`&;XAyB7#!^=89doc4#J0}pxtpENziks;yP~4RJoR?=iH&xF1ykaEZ|Y9p6KDgY$sVXmFsH3Df5Ib zzN^=!%b;Sw!yhp$>^i)HDd4Q-BhbwN0V8cf=7l0XOjJ-(>sOY;zWYj7Pu;T%DGu9n z)5d~wze-!OMqykx&t9eH4+VIzs0TybwSlMD|3;brRF0q+2pW*egt+Nj5*c)7KH6@< zX^?EhE|fdeCUihL!LCkCqx$j9Kme3o{@#T0Lz3lKctekI{0CKCeGQdgl88gouGi|3 zwn-#~463DPqB1oom5#?fBkOQskc~cQIh}kQAg%5|I4`H(u|PIeEFz<^EV(?W`Q&2r z1&u)+?4Q_3ge7Z_V5RsP+MUC3v!yi4QGiGw8G;fOBiz{dsH3CUXL<$A?CvPe*RHFg z($7je)A{Pmj@)Yqf0TpHSc~_DbMnNEIGMKgN}aYY?L0)Nm$a%zL>1UYT-I;f#XpIl zmZGYGV8pCq$XM}+s7a}oFzuXfyv;zou()qYWcgCvVW>a8JLcZLsDXhy!{bU+=SOt& zNJRRkVv5)|>fP$awa}iZzdNzlx(kc_n<2NP%PWDpc%Vy>E(seMV8yr)0cBDI;$u3h zuNv>hs;@Hi%rQB5ILADU2^3E$;n<*>$F6th0Wf{N?kn(r*dqH*A8)&51}l~rda9Ze+!^_wMg&|p(EEMpq_*Vh{NH5=c7H_U*I2Wk1P8948cK7|y_0xP%qlnP zJ%3oj;yM$&pmFK;)LL_DLI2^nvw3y|F2_1Qx0w7A+#M3p;SyuyuP)|p7#633?~;bt zTX_)pDUGFQaoPTr66MR9KWC(6YbT+i$lv?&F(U`qKWROUN;y5>2)i*sd9I6@tXiuX z)~vbv!Zw6Xvi0w2??Ql^a4>xLt;By|XSJBBf(+- zI;u(zCMPy`{>wjS>4^`SGiB+6$)S;gFuj_|f7<|Oae1s3)QgGbyl{y&{s>`AGhVwq z+;Oi2;vno$Luk(u4jH~Xk|z$XbkNR*7T!m{Tm+MU*%3d2vQE?-;EcIINFb+(1N})u z`Ac^k>FP>`sAZ9xKt!i^kKuUEW?tD4;-K64;RH2HW51*^yf#9Ed`_!z?U{P*kvvD! z<#PRixyjphcmH4Wy4?EHZRvf)=Z6}DKWj4cUnvw(!z5s7B$q(wRP7Xhiaz*40N3L8 zCZ-3TJS%bOX1{9>MY}N%3V&Toj1v&qk;v(@XAF`tX?&{;1q@>wWz5<-cs!D|xFaIy z-18gFafymV&{~c{zHo@nkrQ}X!@tUw%`%`ClQVjtQ2asQvF{VQidpJe>_r>PMf$M5 z_tpiVF`Tv>!j&>PKOp2Y81Du{n6~h0aLO$+Ee&VjCS(t&_=hDu#U->_`|#)Ia@|0| zCB>gZ)E8BUaa*sSdgDv^*SMNYw7g9&)N(zUcPRd9n3IuX68kKu8SNL+EjTq{CAq%v zI=dL&hMx<_NyaEFol7|D9pb4*>F~`d_|wjrfA#*jEQ{t1s3Qv4mV?26by$Jq(RGwqA~MOuajA5}K+vOta6}j?;zO${aKnWzMTqY`Sh-Gku``JwaDbx_^5% zN&WrFi+|ey3#Ly-aqM@bK}NM?l~Nxs%_SQ0PRZL&#<_IbK}5Wk)Eiw|YgG~^7#mzQ z%cc_TYoJz9f+ONpVsx$S4vAdjs|pRI5;X4Q2NsnoWO08w@-_a#!@`Jm{79ZEK&ant zo=%6+>NxK7R_c`jYkQ@-_KpQlv{7@cdrhnb&c3>f%h%iUL{*c!-eI}?^e2xlU_e4N zvLMN>E#fRpdWGiJfIKKmF&)(WAIzu}{HKR#;kZ!vHw1GRL@qs9A$G*3(`kP}VU$Py zA%N_*ibb=N224wpg@8O3SOzJ-yB zzI0&_UE|$?4^KqzZ{{38=n!{`H;j(wb3%7C!hanMG-D0?R$|l>9cpIXzb;n^8~ARL z#S7I{d%Itx8^@$q>rr=lvHNZA_=Gksh)_WroRwL+Z0pq|tC4_UW3Gzd*bCrL5%EE* zZUaHS%HhI<4^!lgvGWkwYI|)KOTV48T!$KVF0W{J#9Rc4G+oyDyBQ<;-;}eKKZ2Ni z&`sV|ArNRd105=xW*?2&=!6!%y-L8&}2{fh7gQ7K}468&Y39Qu-t= z9>9C>${rmR^j&D414>#HW5#gr+0@!3&YlrvZ15B7JVDc(#GIjKw)7Yk0wf!;u{W-R z89RgsCN(0-BNP#;ltyy!;VKHbyM^zEXi9p7dqIJJ*6RaQD>fEC_PAl)soSN+ry3Lv znL>vwuq-?2>1G(>xpog#_c>UBd$doqvt6&dWfy^x0!9B5-|b}(V~;67XGO%hofciL zcYz*kGVDFy(e$cFr9l$ZXEXRdhcH>(F`FTET*#V8X?P2AmuNz}?5Dt6De8gNJoO#I zh6wvF3?8qSAi3NPkF%rD1}gb2%vJ}QviO|b>`8t;WViR-D$|fR{Iv3@W%wPP5i#40 zR=B?*H;%)C(=%*!=5(7cAg352^#tLoAu z=CDrevK8#zI@ZH{r>j&=W3!&IIcF7eA#f4rlv`k;r#`@iFx$uP^42*X+c0jLWKocx}>{n5hMhpr9--0LTbsSyCoNv4nd?r`nlhq z@ALbM8HSxoe1vU8w%|m48Xj z;YtM?IXCYE{-(-?W;)3gH(xNWQTq(pk|S801Uss+TcwM-a{rY`aQ90{|C<`Y75=hu zEOfamtW91T0Z!Gh#v~@Z#W)Iw5snLDT@FJB%JCkh*0TTvg&v|(X0`gskeNJ-f?V4f z_SWyV6VV<)eHxfelptun`$RfV8@HX`b$kR%?#XGxRSd3Z+PAA*@>Ku;5UPBfo-oGu zx8)tyBX8a`b?>1SKD#(8CU(jh;9_-gYd&$)qYx_ zclk-**SNLiWdqNmt+h4wHKpd@xeq{52*P(nvX_LBEg#6m96LHrZ9L+Z4zk~*+h zd6hq(5*}TYk`?&-?3L-RzQIVwRYOkKe!C>1Vze{=jh(-n9m#al@AF%-5j3$uFQFjz z2UkIfml8b_V&q>BsR;Q>T)ewQ2qv6UqtBi|E__AvshRu}|+|Q`^_^C?jth#3+WLC{f}*7TZsHb*Nqv^RUBIzyg3<})e)YfKw;d7Q%3EU zT8uws3NAw%NmsbcZCZCJ^wVJAew{`^9ri^#oBd6`#h)QeJe<9Z0sA9o##NCN6UCKTTt+Cl`Skfb}|M}-V^QT5+to-lrnsj#fue=m90@hfh?MCm$4LANV5LrOgED!0cwW^OS7{u&O%2#6`0}IQt^uY zj~`}h#s}_;H3J3Tvc(XwyRmFO*Ue*rRpPlgxJb3&^AQrODm%7PHA#~_LPZgVd0+Sf z(XByJ^!L-_>w|Bdlj)uKRi2o!46G)A&5t+H+I5cV?fU z32VAt7X?sqpi^$4%M`8$80UX82t0~N+!)eBfd$zo=znow3VXxLpg3sI%LYcfdD26G zlXH54h?oW_59M)_+aU>!>N0;i`5v6z{{qFB4Spl+I(~2eTc-hps?4ZYC{(%m2V;c5 zTv@`8^cy`~goacjP8%csGcO$*O_)l5q$cc6 zlW2PJC7_05bICft>7xacziZO>Ip$U+tMsTi@?Jo+aCo1$Z&l@+Vl+8yhyf#_cHu9# z_))a4KW@H^^ulA(yq{8WT;x5#V#^p663AMI4pu7y4`@Sf*?(=uF}(`s=dSQlOa2jm=HHGdN;{I3MIjD z_dP9B^ewrF}Q6!in>Y zDQIh=po&6{Y+I;p?XDpk=+cs!kja1UMf9l$Q!@A8w&!WGfP-<40Mb&*cjA$}^Ty!* zw#=}tn$f`UqPTLly>2=9I2?|9W+vR%yBrC~jEl4P=Kn7X02nCEe*gFU7Z|GBU-f}r z&SrH`yo9?<8H*WDSz|o%ky_p1~4~x;snfH=62uO)=ms+<%xT zyC+OvezTbK4`SM^<#MMgad59S>utU#ZKIJFm_uOf{b=IA9WqlR?r}9JneKVFooaBtP~`Y-knsLoj0In zPF6oIbZ@;N8IL))adigzLaL;LFm2!mla86Yl?sGIisZ0Vy%0JAB_AZ#GLn=b?v5F$ zNkDbv_XZhtsU z)DslqjfbX|cy`qu?qYilyOWuv+F%D1Tt4>OGS7e$3uAqNl!NWox2*C^uCv1?_NNZ1 zUXa+=c=_cC=fvV8|4<+dzI{pt1pxW4KSXMJOUmO`AWbN?6Z%K@VTL?QC)bb;S15Sv zSHs$OmGW^i%V$S3au8ca6Qg7*B$Q_i;WJ#(&Y z=ev6u%$?|iGjE0bZ{77I7$p8#VYGYk?6U)eJ0RNj4#mj}sd$1ShzKAP`(BrzvuWNstA* zman))2(wYo=~=yyhb^VMmQ3+bG-h)H;r16prWL-C8Hf1jX5udB|MFTHEb=n193C=p z+yR56w}C#*Uh1*H(BvMVBQAe@V$=xyLF{2f#tJELc})q(iumD}kRM?8Vq=sn=`OH# z5IELd3RpKg8A=e|*T;RRYfBhIS3H_?XV4g9rBua9Uwtqm)qLet?{Nl}kFPS_u% zHVy|&cBjty47nKnI-xPUZ0!v@(fl)R(d8=ajMu8PkWWnOGq&v;z2g|2?~41rq4mF@ z)FMcr%do-m!cDZ&=jZ~fp>npW2emkS6FWMtn5GGvgSN8p<6zBpU2ftu9EE1qV>A&fMuOf94Y2Sfdcn73-}rp~_#y2a3dM46300 z5Oe|I-hc|0!g8SBlo;_Qp%I^GcHLkgn{kdt3e$cq$n43j|FE-UQu+>IFfA2YfDGyg z8$N>tb~HbY_Pnr6`MGi9t=FZB>567G2*((r2WQi(zIAw$!8A#f%8OL`yzJrJ28m!) za_a8sFU9mv@Gcei*`eol0)9JDD}p%ybd}{lXk_(OuvatG^^M!l5s^SNWwvM zs6)G3`%DR<>5>XMfp2D~f0*y3+V@?ET^TnD0UIX|l+ zkIj!>^|-RJLOL;1!d~jb?TyW>UPYQjwWD7Oh!QkymK@%KYz*k>XUl9hcm%k?U*8AsV&)o%&UCWo?-$*q*Eg`bwt9Y<6Rbd9g$=E;)oV1$8Vyeoh1 zBVQb(IVT~<5R6i3F@l@0cC;&aAR2j#R# zRH@HKdInaG^pB0dGWeE7PQug%BqiMOR*j(7HbmNg`_n>={qU!6dx?cgXck?)>4-_{ z4)rCP@rQhn9-WHLB~F-a?!IbI$rN)RETI3UR!Xl^$8sj!p5Er(Ay(cV3@!UfXiu^H zK43VMr<2J_U>U@mraNyQS>H&lo)o-%H8kSrO`4Xt@>?zwN0y6qG6a0w)5F9a@?w&q z?WL+7^aDuZX z8r}_|-p@=^j#Xi$ZZRV2EBr_TZH+@M_%`rxD{^+me*CtNK2LI@8h77a)h8c!#J+1f zeoNcrWKk2wrgHZ4kzhUVIS7N-LC^`b?wxi2GPyb9<{aU@1d8`FO9-tBn;q3uANM8pj!9 z!D3lH4vex=aP7NUd6(*uk?DomhGVKZ`>MkeXP%$g#}aCy^`7}A*WYhN*v~3;I+Sq( zGK?%tcC{sW{_tg%)~wdwd2a3a-cGK}egR9^U{#=DczTt&ZO3)vF3!zgevV&e(fzS> zax@qpef%m|1-C7~@m_sLw_!L=E_?z15Ne3w-Wvj?b`ueTFtVn;%_7^iQvxuJCWbtF z-p2xLf|t=a68>1hXzQ>lIsil$QN7%w-;y&*O8Q&38b8=0Gho{`>7ENoiE`1fmq!!r!h?exUA4Ad&z==aR4@m zu!C>+Dt~YrWX$NCMO={YR8|KkqlUsd4Uh~<1`ZbDW7?fw*$cD<>oFt_zPwc96kl4= ztNh|@W6^J4y^~;Oh8CU(#^8)2-qYIb&f+%N)gz2RsRxTJi;qoY%4u|&djk!sgXc#^ zW^If!rcHJUa|XB1EDJ|pj{=%S8dYCqLl#=E7boT4{Hv3#S5TL&s$e2;e+80o(Tl2Z zs!38X7(E$Kdi+AacIgqDX_dtH8z-KF^^ z`-e@#?Dws!*(GOYyCaM5S*m?kXB;f!UuhuQ<&pRRP0{G04=TdQ{@q>y6UC8(@N*fV*C|xC&A>6n` z)H>$tPR45KrXNc8Jb#Xwz-!Am!S_6bPwkYi2kT<1X}3sbZ6rB_cinLp^ZTP`^b5ZY zQ~i{%o*nsxxcV7ASxv&xU{oN%mO+<@egvD9TmaosI+&$R% zrf)7;U}qfBxi6CooZ%$vE$E;0)b`)z$>Pq-lqWOb2^!eS7`U!?pQk53tZVd)QW04J z<=K>4g}ioR0u>qzou=y?mto46enrs}fPZ6QO5tAks|v}FP@8Z zz(#6N?^6!JVEGcvJn7qB4}yX&x;Gyi^?WvdQPTQdP3m_UVE@E+;Ut#ezRuf`?2=o8 z)9P>+^5O-koT<$37leWwaSQnee34=yereu~yXQSTE(+3G6mKQDJlmV_OZVe(Ehr_D zCqZndRHBmXR~Mdnhom9-YG84_^YhHZ;q{Bo%4T9g6aMu*CdP24g^Bp(nW{UJa)w(- zR@}Xi2YZ5G^+N#*M8(LPrGKQhp;zCSyWkc6SE!*DE?%D-YiVPXUSA=?n|$vBjS(gG z0kxn}Ydhk&xrk0!Jmfks$?*(!^`sgS*YPJ?W|uW`&zFnuTRC`ROc0}_kU4cTREI3) zu|Eo|i(Mf=FYmk@YJ&^YONB?Q|2#xcP~J4aY=)9@@ra#4J4Ly1Bv?1so*&SV1nZA$3e&&?PLjkiXw=BJfqW@gv&Lp8TNfCFbOSUcLz#8Z!5q6VVWXRL>It{u6yE zuosR-d|=qjkBRMq0(T&@vk{*r@B3uS^8~+*-Z|sM^Io2KXE9AW62fs<|9 zUbxav%s50w3kM(b>N3>=c`O6iYx4g!o$Nk6cxJQbx`5Yj%e3h>X&kr+oES|68m?_K z#b`4)jOac$3!F+l6J_-7ZVOT8#MnC^%&zqP<;+~Bd8G8;qtOA5^ z8C~QGLNJK(e6KJdfjxfiQ3F7@6XeaT{U|S-nXr!eyInOn7g*jq6Xq~S*g-8TM0-bR zHf(PgUjQ4xP9 z$ID0C^)Czhs`DwjP3Dw5f?LcxhJAy5o>i^h6Q<*#bEGnV)34VILFtKMcdL3rZ7iGXi05g;WUlP0 zER}*jk8s`Ud5|>8%fIz!m9tJ>n`ef+U+Smo5~XRzBM%bgB88 z@%aEdrB7xWFWTiC*?X(n>TBKM$I(LvOmyCFXxwT&Vut2d3S};dX#v zG(WIiDS++}aV6~^Ht<$b*;J9w@;3OcRiC}VLTId+w*Y~zxQxpqETj9gW3${;+ARi& z+k%khtaAC8_y#<(ihfV{&kx}x4%;)&Ua(-frDKbwWDYC_nq`BtDW4`gFkg}Wvzw{; z_9wx9|C@BDP251C+xp4EaD8mKWhr*KU-=t`;HOGqT~H41dPXWL0(YxJNq7@%sp_8A z3#}HX2qyKkbon3+oCgAb;axxYUC*tHUi$r*D=kdr?uBUwu1|Fd7WueDUAg{?l9zc? zOv6Y`3~y4e=p9y&U}afz!kRvxLT-Sc#Kcb?D!paJL5|DL;nMgH#$h8-n+1ZPH@tn zL0W?%&tTG`se)@`n?=CPOmj7h>>Sfy3GXbU5UD_>e*!b!%l@0v^OLIkthpz)dbzL? zC72v?(~C9T3AdB$s4j2wezx+)2zI=5HuB*-qe<7p&x^zdkvC0c+T3Dz$t)xNhKSk| z9tkJ=h-kU_IWJOJl@y9iyS8RYF#nQF4`l4?1>W-gae12={JCh_xzq=eX1}UwTp&L# zh5o!nU~Dh%YRAmJbwavJKW;%+B_%n=1z&8IG*$M==4!wo@1nkXT3JfLArlJ1KucZM`smz%tE^RPqaZx67oMU{2YaFzg?Dl30(f ztw5vipIk4^{%5P`H(@k=@;sTJ@#!*AUP=viq~a>dKOEM)S73M8w?Ne+{{W7NE763w zB0E#7Qo5swMWgSEIhueXi=5W;mVvgXLaVa82nC*R^ux z+-u&JL9EBAQb0SI9Tv2Hxr3n_3)RLxW)U&^&r${?GOOkw@nwmJ44OPhgAI5m`5OPH zSj48h8&-B!|B3d)$MsrB4}=Y<4uHdg*2&=23V%rZeMm;l18^sw7Ke#!Ex8%m!hZ}OMN*}%DHmZRCPm+ubNFy zA+|=c=E(YVpf9Czy@z3a7BdtFVN3@H3?2JW=*u4wEG-wk)`0!Ojal>UyiH!s^SKb^ zomo%yS&X}*_xl$*$MEqZJ{w;&Zr`stY8wgik+r>q=qm}4T*gYdy?IYG^4z;6!F&Aq z&1X|XfRP7Ke!sTFK^x!vxx+vTjPK0zMW&jLkHA0g3q^GIA>a4R@-*D_iK3q&9G#Xo z^W}?oo9h4Bftd*ngQJ;5te4w9R3zJl;lDRGvL_p)s<(cW_LjVfi}ne5+v8YB@!!V-`bEN7d~g-fLRT=42|khEI^= zDdN)8uEG$9G?5YDY@eKMa$KG(tr8e#uh*Up=||@mBkpDINs`1~aN4%FYM+aGL?o+| zi738Z`A8}gN+}EJ*%J%-gimOc;QRO!%}P_LmG4_w*p-M1Y*2|sU^py#%k0O?w zPasy4A~Llz=E6q_y^VeIOR<0QnS;kiE}Q<3q!I+=UhUd_*SQZ-QyVjacQktAIXY&k z!4Y!jRW(74;fODx-SoQ147@FnMwHt4OB{#F)MpPfw$yP$hx{^e%yc)2$E3%fwrquz zI=R8fq9EJmJto47el09P=@O*?;A&j=TXcexsj&lAsmk=IARM&$FeuBEu0+-==ogbnyxolgb7={E3HUD-{LQ z?CuftkRBw^TK;8h*;W6b#hIzQ`IE79a+O2gLyl}VfZ%-&&M~57%({HM4X@QxUAJ2mhUwJw+bw?lN{ABJphzZDSav&Ax`9` zqfD1p0a%_xtusP%=frM0CQIT(BCnsN7*P*cQNCh8{WnVpJj8$^qi!ZTR4y*7LY{pK zFnStC0kdUk^bbmC&bqGT)YzFd)fU)-KZ~{hHIQVvLWpkSvSGYDRSto383?o7q_S)k zRL{suIh+ivP>B2RI)yZoIA4ho6k0u9Cv=`svyy9eIr$_LvIX1|M}BTBRs9cL=Wzth zrMN@*-#VToTe7dWMA^>*;NEYY+^)Q|mfNiOi7oT(EADweq=ztRcGTruu+k)epNVAK1$UhlN1JU4}OSB)-8K z24w-7j*6epOS{Bq#^_C5VUfk%`fg45Y~};YdU4KBbdyGaP*JodD%VnAqpe&ad=3fw8&$Yk)@suCW_Vk>nU-VH*kh8-C-PJX7qQ_o3H!a zd-42ghz1xlF9Aya$9+>^$d1YbqWWlrIu&DCf^LHo0*jtniZpJT|6BJMURtGtQidJ8 zVC6HR)~5dERq>x^0{q3nye1F;i-V&{p&^x}evZfRL(zM0N<+lGyX`}G4ZO+Qy+fK9 zg`Nqu_05{Sh3Xp#xVjz&b=Cr$yfz!kTl#rlRW#>{8*`r>pD!5I?*Khi(W!690N6(R zPY1Q531Rgu36fnyHN6PN&=&Nxe&a#g6i4PT0;ocn^Y4iM!|{W6U<=bVT@sobts$El znD_$!AAkB00Iv9^V?+IQzBzlvZ22l*TGvIoXUd-ao%?a*68O#{U);AwxQ7SuWfxTZ>lej zHcG{ACVmZJ0-4>ut-4oXPn`n3EObvfy!}`GA-MLsTz>Ale4Jk9)%_wD8I5!H43B+M z*rSEnb%n%;#fx9^MvpxW%>?u)6C)XJhF80IXP>Z*((10Gr+p2b1yU;QyK8oXmeDlt%< zf{)C6=a|L`0+5zqQ)%G-0L}B!OQ~Y!nRu-99Oe^>rECKdaqaCY0Z<7J-_^bBD)}6< z3<>vS#WZM*I)qhOG9(Me)Aqttf$?bD@7$u>Spc*`4cju&1bJVUt!tYyoQc+Bj1WC_ zg%=KA0;fj&C%T2pO3Vom>Zd%?DZgKF7lgpGr8cw0uq@k4&EV?6H*@+jJEZRC0pp>& z*H^&>ulDE}%d5GwWf(@LPpPDnw+WF^(Q042WUu~Vc77%O?SRRlb)5bgsYc+FI-fXU z6zAJk%vmRBJQL`$ZmUZxAVYFHq2l>(7KPD}DM6s1sHO!18)DQ+f)v=!{5(8q3O0Uy zj%YkQ=&`qX!6B_Nno?anl$R1j+Vtd3)o45lZeoll%VV5?A74X&Z9qMM4Fh*t7siEu zWar(1V7*IF6IYbL1OEvDXGc2MlL$cBt<+*Sps<$gSRxCuJ- zj$inxGI*^ZKz5CjWprGv$rZ`uIm^qsWS@%R{HkAzHY5 zA+T6Jd8n7=)uS-%xm!pdmm$^2K{D11!G z>3@?Seh|(X$KQMn36cQP-NY6qKaJ7r;^H2`JOHqC^!Kq5DODuibM~F0*uA#c_?)w0 z{uW8<{r>hz&1W)V0USM#p|V8O#b*(WRnph^w3=a;IwCUe2)O&+*V6mAP(%acrf^~r zj)xf5rm!#vM)L<8;HNXr#0()&a*^qOB~`qTxhR1t5~fR!=aw$5qkOp?!03;OIa(<} z63_cazA(j9;KKQ5A5^68OYl-dn>)hZLyA>E?drT_X(hqohq@%kbgQQ0NxJ(Fkek@4 zvE3rg66fb;huSc|O>-sJq?QKN>87aHs8{dPCJ+B??a`$;nh1R{ER4!Ls`EXMGKBtQ z5c_tHQmB65>9=KwfQ}#ODZL1h&#FOgi9j%4B(nUKt`-qJzNL|QM&md2YDhi*1@T{C zB3Z}$amZ=p3O(?Py5aFDIHKJLB3mdNXB`11*=g1~RBBNFbLm>r)VH*wTS|Qw?aJ%;AC!50K-y9k;Sf zsbOuJGn07+k3=T=umpG=Grj6%py)TUpQbCO8rDe_+V*Z2XcO$Z82O`4%UH)?Q-=Zf zOJQiLyw~v1SP}^mvH|vN`YU?$9W4q_*Kx_0GRN~Y>uz`1UO)$A5^vAef4jFIpPITn z(3Q`Dp>lqGIH$T<-DdxEF!$-3rJpX&Wa znO~tKmW`O}9}K@$JuG5hW=Cf-ow5JGj!pGOMP%|sF%dU0p0qTu{qSwZ%`_ae_J62& zdV&LROj- z#_rPg(64TkyZ+xtM3}7RX5z1(mA<(-NxkC9BD!B78$q4e&ClZ$C{!srXJ0@g<3=;v zqb*h$Lg5M@F9YC5g@lmZA4daQlGfbjy!Y1F@9BI$!m5=2+9!Ng&T`3CG<^maf@Iyj z(yn{n5^m}TZj6BlO>-L#1rM~_&2&%Xau;b@%o|nhfT6n;F!XL3X9}xIMTg=N#E6+>R*v*Q$}Zp=DVmL*q^RoKp2d{An}*g zlu&Ba>mqghK?3Pc7v;!GTRX@1t z2Ca~hFFmQtKV7TrF)_sJ!`}6KAU$5~p;P6y_a=SL55mESm%yGXYRaXb+@f$})#$F> z`GR~WY*S}~Wi8`>G9UaZ7v@^>9q8#lH_2Pj90>2Ua9H8*GbrTfq;KkP?l}R z9H8$pT3%GArpo5SRKzaXJ^%Xf4{w#0J2h{~lA;B?r=;RcOSd}{&D0X89r?7&Aegfu zB6X-aGL8)6&Ml`pl_x{{L&MukQm+WnnzV7&?pNRm&L?M^u*)CNcguI94=1^<>z{W# zmr3qd&Ygp(K4*nvLulOx1}2#42h88gH;xGh4@+ltREMWL4p9)S%KLXth5SIv`YM|u zEy3bgab4G?V>fzZN;`O3R{l$TR;h(cclS%23XGjvupa&-#kM5-CGDR3+w07_U)jQV zJ!W^6P>YCW5C-@e@1=ZKAofVpq<>B_Q8OD`nrd5+KSfjhyNF9~h}D*Nl5b8bG7I^Y z7u-j>xBtb+Q6H(kZ?!3LCTQ+#Y+{d4rxQB;=l!0+7Sjm6pKYeti|g)4H=y()lf+$& zYF*eb2ADEfo03vg&chiT6X!ttR$>>CwebLx zfWj7@6W3vsxS|(J04j?B4S?l9$^ZoeTyn=do~m*$;aulpNjG>~|df9IuWBVDDkI*Jed@1cG3c{|e=mQK~NmsHuq=|O^E9@6wg^;hReZZUUHPULRU5~-nHNN40QR{

    $8zXxf`bmg!7>Zw-rD)de}|#@Lq$fDJy+8#dRQ>9QpQ1 zKA=7_J568F@b7=-RYP0%0)r)XDby$y*9bKmd92H{?l$9gat7~U0^mj<4yFc{2&Qo` zT51Uvl8H0w_szFStp4(7eZ=2riqF+O%xsH3lJ^f(e`#XOZ-9+&*?JwWsT_=aQof{z zjaWxxg*pN}OWKOKHxplOKO&3XC@h;eikEhoWK{7>jk4!?aJ; zP78G`5_peBQ24(#I!ZXNWL(-VJ_&QY@Djsx-n@74@7H)@kthn7e*fVo#t!Zu%>3K~ z#R+-Y1mFo*kpOS6j2?uV)hGwqocPv!IpdzO_5dOx0bjllG@~n^hwmD$PU$BTbDc~z zCup|a92@QZ#KjNVU&ALxi$t{{Q*Rj&bbTqzSz)CoVosiZGWVGos<*`n}3x$=m1?d@%;v&r#W9%1Je ztq2?SqnOLgdp$fpM62=eV$t~_Ff4$C-auZ}wVUQZ`b6%E5K|bIn6$cQ0rAy}0gs~^RtTrZk z^b}mpOGd6xpgHhn!kt9oFN4a*Z5)gV^duhn^?Fp22+~_{w{C%XAjMDY{W% zL!Mp3A?d!K@-~!op7z(CDeZh8FY_ZxdJto+2K%(}B7b4+5;$|-ylMqx5kq5&CsJdW z8JP4#sTjqxArf=2MiM>H>#Ws49r&9r3*3fjc8u1)0_wSM;8@-Sk;;?54dPA&e_-(n zTZg~)!CbX4oK#zw9)T)-FxyZUzyfpv9T^KEcz^Nx}vjaT@e!Vqh!g5PfOugBBhI z$a(Xtm-55E7`(skc>jsQ^?<)wXp6z-)VMqE`|L=hm>JTj4`7P_Yi$WF1#XU<>T!b;{Z&-if-k-jO{@R!SN!VKUi$i*)j zk`Y<&bSSj8ZrhfLk-fF{v>90E-d=-r^O(om)ifXhHgy*{K^9~DJ{4wEPJh7(cJ8!e z9>cH?F9_-oabUo!0f7T*Cw%|VlkINDPH1=U^Y9E79ZE(-jHJeB)_^E3{& zuO36jAtBpOuQt#&iOFkPKXpWT2WIpkg3u9$OAT#)qX_X+j7(F5QAwws*9a0>x4-!_{Po`&&RDkr_j;b-0bSbi;^=E{96eXwI(ztb6?;%H)hOepWLr#dyr{fT zmIo~62sf@Xm%el`X{x3406Gb0%gOTV!uf)%zRl8q|5frrLr~F=k#0j}rlUf`Wf=($ z=cPr6ew(NJpJ$%G;0eEb0IXgX^}#4j`a#a$8Pjplb=LR()X90J9Q}5fccwT|t%Yy+ z8#^kI-y$?77B6NYmBBwxi|mo9X?VEVwg-y@iKx@Z+3>%%vkc$pUQR- zW0Q?xb=>Uptn7MY97445uWv%e2PNbB$1vpBSNj~hpj8s3RdH>Ym-~6f1_M9B$K$_nbJA1{#!^V(0W6-M2 zvwzt3e)7N7Qc2s7CBxZTzQ1=?(KUtB z?YtT<685W~Lv-?8kdz*&GrxdNtQGO#;=BTG@&+DCn^k{NGqjH1WkI@z)nU??5?1HB zx2Wdy{|-D5X$9~4Rf0&QzIS7xE0Ntuv1uwoyCHPBd@dm>1KibAldb~5$Z8;qOE-BT;Ww&7IdQo0uvPE z)%x@_8=p=XtAhWcm3c2{q>3RNPk+YK!uHYyi^CrjkSv!9fzbpaB zw7qW2n20sC0d-F7A%=2pgb6Gg&i<{^jaQ!&4TxL%)Re3{g_fv)W4Ih~_?yGX{3V>< zr(*IJPSvosRE)zcjBPh|4#@n2cxPG9YApOC>bzbd`YV4hIaC2I}@!=eT#3)fJ9->YQ2eOjeeA@g;=0< z+qG#HQ5k=pV(O2MCj1$qGkGT6K?#Cnfq#Ts3Hx2-zffHh-``UW$L*f_M#m2_d+tgI z1I~;*hKnZA7hjgYrup=4?(-)gAx#8G9&t8guU`{zIBh4Rsljyq9OT+N6Nno7-n8mT z(&FKF0FgnNIlp6{im`$ckwX|;N(}zl)CNMAXnSaEQvOxP0xP{Dge)ijxVw_lX(q{i z9Mej58q^Ex&8FIENWSQ}>ZEvmHmXm);HnBpw*jwSULyiBlTBnzB@!EE)_$L64QvdOjbNIlZ zy6a~olxf@EUw>P8c13z=FRiNg)y$bCmLLgl&`QSZjq%dUb(zNo zd=96klWwyxsAS0ZnEKOc9#?+#19^f9y^797KmNrAZ{OT$`P5H{y3Jfd?q(VY)X0NxTLV~V#e>>=45Nn*4tY}~57~urH0*Yf#9W2$DV9Me$Z!hU`DIDEcK}L27;E@|# zPIQopd4bA>LcFtFT^2W)>jV?RMdu5pNeFx6!%Coj(ZX@tz{9w+p6BAi=TAPWY^a1( z-q=o&JS7dNBwfDyg^;the_$-^#q)sqY-sx4xL>gb*HAPH}EF(Fy{3mg)-CbiDp z4%?8j_a98BO-5D)Ls?@LpDz(zmDxEw7D39sG(@HXj)s1)DR5m~YU`<$X^Z6_IOcng=*~9&$VO1M}f^=`bGp88&`ll+^(@F(It*+ zNF+1{N{5hg?z(ecrkG#X20y1cqcAlHs+OGpwU^kv2h=NwXz`F~yZ2)!J4|gZH*&jp ztY)G=e-Fe1dcY1Iedm^JC3JcrJH*bCg4Fx}i2BO7rr$T}Z7@+k1J=Q>9w+IA)M zFA;*+PKJd4ck%{SrnzefHgO`g)>fReXROTXzey2kI>87*EDLqDnod*+=|2lL27}2t zO~+Sc&iXNEsetKW-NSJjP-3F;S-iE!;&#+^@>Bx%oQxsE^8rtPg2Zd-!uzd#Jf}LQ zv{F`Y{Yt0ePHnHpJ(Q%1nx*1y@O`DhX+L;tiS5P~!M46Qgg?*j)q8Tp`^_KT-schx z*m^-ud+l>s7pyJP<)39k`iDcO9gzWD7`~__@^BLA$~*oeiyeiyYwaGtsjmeh`YAUq zZIG${AI?}uzFnQ&KN;NncANVLzU++qQ=wUuh@zXMXcn8>u(`K+cg=mf&R8~Ohwu2h zhSYu3!GAe!#%;F+hI-T6e4q^5l)egbN#UIJ)x}f9|Gw-8n-Nv|ny(O1OE{;;aWF+P823&2U}5Bc`k}3FnG``sx-w!tD%PE>WJZu!(b`)L%7C`eAkVMVz>Q)pE1c zcW=4!-wqjn1l15}KnTB?uDFB2#QeKN%S%V7{gqLr}4BHacA=Yut9 zKpMZTGcjM3*lD`X-0A9g<0hbQ}_f{;Equ!+JIFblk<7+N7VDpYHu2`6Ze(WsYr+; zz2kEr>lo-&F(ywb%iG)sxX@-$CVPDg?f9?SjY$-(;^P1F0$}5SoldO7XZHG=neku2 z8U&DA%|HP$-M{Tm7X&ZsP94iIE=hrXkL%lrI$0Fn zr}E2po9NZy&!+VgO+5L2-79(bUN-!lgvepT6ybV5MfB||#v`6PJ&%u}_P)++rjbM0 zFa+;ZmfpeA0n;e!C`5tiu0oXCyr-&M{&__%gwg_T6UEKyH>1jqvMyo-fq_H?es%t- zCNmMT)vpW|s9$aJ#m}n71~Ojg+!EOQ0~uyIpF0m~F(%G+LM7$(c@w+d>)S2~z{PJFc*8WCL!NE+vS2fn=ve!|b)8pXJ?3lUm zLj8*Ow4o!PaZZq|w#a%Do-5%)%+mucE+om^YG@sC{C8n8UV^#3jByIvroBx- z{R|V@<8Rg8Zk50Z-2Sw221JdW-q#T#IMn123)A9PariiA;p##oHzBp+DT5Sn{#%6+ z_c}o`P9gms1gx#cOf3t!np!n$;*zR7c^L2EQ1Fp4)IdgdK%c(r@iZ7gF0k^QAIu+! z=nmM8gEZpCu2ZI#_Yxa0ab#DO4^RV!eIu8YCWQ}FigBR`#@YRk>w7OT0r*+ z@_q;=V__9cCO=G)gSGb)&U>JF8mQQ2m*xk9IRZU5c)a?7OC81&FUs*H&T{fqI^!0% zo?JP_k5R8|Ow{smxnLQ6@G5t1Fg~m}HQ&|@zDMWHi7r{PuTk{WQgWt*$#m)02;fjD&>E7TIx`g;sB+7Hep_nvt5q!+Bt==DJB)4M3P%v!T^R)gC}% zq)S0vX(5Mjud+dHM&hOGdBGWt#NctxYj$+O&=@<&Ew)XK@ zXyhTMIn%Ol^i2D>V&GsEmJw`j;PXc8`^%0{Su<%vvQLl}YyQveeXG=Vb)H+x**!xc zD1nrHKQ^A}{VSxT>1t}bv>(Uj&BH{Rwby_`1S4N*NC%+By$oWK0j!RjpdQ5`8iLRv z`%AnthkRs_;YJe9cuT`j5gcwu+%B)Y2XK>+opR3XUh1V`@5xfxl!)TVyf1K#sXUWQ zjgaFSZ|a(&o(V`jeFkgeCuVLi&uZ4|*!Zev@x3Bo8G&JDn4>f#hxk(gzX*Jgj$Y+f z!GTih>0c90+xFucK4+osmX~`p$8r9%MA&X`$8pEGkCB5FdFhg(YF*V3m+zjG80u9&Sm}3w#z&P9yy5_=$=4ZuXtw4N&K`qh}af;;qq9OUFhU2u=w^Y;uH_Q2(P+ z8DP%ok)ZD`U`~38#~YYC1srAHc<_>BXTv9*3aY zn)?GCUss_&1NdPLaFa>n*NAf^3zX*eI%_}Q9_f>kjI8~IBX?lT)=s@J8T$`qh}`o0 zPSkN~f7X2B?xS94Fa^UW2dNh--@E;+iHSfjEG)Fu?!GkJe;;F9ULg|GVnTaau)bL) zl_TPi!539xr~*zHz`hNDlABWfyYK(^ zf~nT65FNY#sKOcxGmVZO_fVFmWqml0j6+6z?LNlx#lyOV9NNom;}8yI7Nl;?b#>4s zce6MG?EVwLv#;lQUFM}WAhfXKmQSOq9icSi-vKaR`<-{FhWzugW>X8)BbF4=6A6e( zdt*oVhvZCjio)#tnWpBNz~_hJqUGB0(1S`HlaSbck;r`78f;H)4wL^fkxNaNtNEgv zZ)~+7#|^JvR`vIaUsd-EBXAwC{A`?Kf-%Ani?wfI1dJsRh5^quj+2jqgez@dr{;nT z{POlsckykgUVIEOYHISd0UD|mzz7*ZKLsfT3JR+W5?8f7s_VG>WTtCrH-f zVC2cZ8IT6N76;oor^t6UhY+$%Zb*s<+v4c_JJVmpX!))fh6hC3=PTn6S!SAdLUu(x z$psFOs~-|IsmnEH5-WATL$+pwDSv*st_g|hVEtfPFOJ`IYjgk1>{eG3%Q_-mh{)#) zJY$4#F>XB{NG;a3cBg}B5cE9_GUMNATPsrx@Oe3*`5SywTQrdeSTm+*S)H9b%ndP z*Qk?zy~q=*-t7%rE0xlJKA&ePcYLLIO9fNxkTfJ8UTV#7#%Vdm$C+r3BrR5@W^VBf zYL~^c2HObKM~`B2gB5L%+Z6i};NLw=1U6ozs}(|3cLEJp-kO$x@H-Q?9)j8YMS4L# zDpNwC6}0VyXcCoK>(vY@ekaLX69PSH{=Lzv5S;t|1(m%mL2?sv4}u;;#k_1nM}&)~ zJNa>3k~RYsXJWw`aBlUQM`39~Hj`Jvrzbv@ z&vo5i2Nd6ly!{LD6zrXPaGg_cR1V2f#46ps z-yFERiy!c%SUov`t{=uQm|LJXmx8?0UGOpPb+=+N`RlmXtye#s&pgUx^<_#;)#@NUwmb$o`6St>3rcS%pqhOOt`H2l)Lx>KPzODP;0u_NO4=p*#^FzW-8 z*2GYygb)qRrUzbT$F?Pq;B%r}tI2wz3boP0{!2+JoOPVeaZyN>)9xN*)s(75wchbw~#Y-QA4&Q+uIHK!ASgrV)NU zWYLUMR=?!B)&!I2OgSY(q~}x}JapiAQKooxOyoA?ZOo!?NjA))FD`P&>rp5`q-Ka< zy_O>>?;XQmc86;gQ&A!;Gb(EMrUjN=tcQQ&22|+Pg6G}??O*`wsZN=ja7k8V4iHJ#J2&qTg+ja9R_+v$*)vdJMF@SiM-M3GggwWWgK4CdBhb%pPN zFX$GXfVJcwYfiPz=>0M(EwCpP$#oegO1m`hOpv_z%?t%gf4AIqa+WKD(I=-h+dWJLy#c^o+9!$6Vl6QG1U4hBM{ub`U?kweTi5qu_w~IO`$n*_;j-_ z1jL!CG}0SNvzqP&Pqmvxg)tq<4gT|$(m9=UzmKMwQe@Op0at-`276LDEjwq2V*3cM zsrOqn0u0|6=lz+tX&J!zXWeLGDvN#5%H?@fFA&JwjQH|nM3&F(r0T7c972?Mbg^7N z%E4NR#`TYyg>_7n%0o>`-TBs6l`Uf1h>V2EcB0l3>3V!rk1 ziD6~h4iK}gs+O^38_X%K6X$GG<90f=K%)PZeUo*4i$)%I`-xnZ-QPMXcLl!6mQ^fq z7j;ege!Ke6Pxq{RevT;RJKoKm6TkE*i6`fx_~J|aa8@Och%QzR(fOtB;QGa60uQa< z5@3_|#rD@fe6$Y|B!}xT}w<_-;Ohf@W`BhozgiQxXz!XJRoQ~0wF}F zbEaqJuEc0U{g#tTn%J0MnUq3&$hRJdCqi3VN-r=8bmn!SCq5@29LP))m!;mRH;;=t zZvuHNYNm}yK(VJ2|D>x^rKOSzM2&R!@d7`&w9m8sPP|tbN!ApiYDE>w-zBwuSqrZ7 zB*abD&4%_q2$dg48b9yh2z<`?KmF0leUF({qj1k3=gyv;LBJAuFp8YNn?3=c)v`?pxgcrZ0aPHRma= zPpw+ck2gu&TtdxNS`6yPs#)NUPzw0dP;@J*X)OPqJs!j zmvh?#=x|XbsRMG)8a|)ba6BORJNeZTr4WwVPOg*tX zS*Jy&FcEwHdLLJK-6Cin1?&KQx!dr^bhHOUJnZc=1G=9`_Q`~YJIJOOL(-!?zK2vl zBG!CV_p;;F9I{`ZsRyn8nk)R~PG?G>&hO0jnAZK0;;qEn)7z!n4}DQaC87!XSYO+* zr|J!N_6tXKM+ay*V+$}*1Qy*NzTHB)N9-o#i*u4+TnA1?CiY-n(?U%s&9-Rvoa2kul-!%!q zqfSuJKzLhDqK*5sk}rGL^^j6Rjdt7`;#4 z0j$>W^_KD1jrrZo`0nYMJGgS>+TXX zknb~DLu612zA?3rNZzD3Sqhc|WTUA&OP^@wn<@R=f}3X*l8rI*pys39^T%RAMPlpe z49ym7T~1-8Mu1*F%{JvVZ&$sMue1OIY|)C^w=rW6{GG$4~N`S+t zF4x1148zVQ!1uC(uatny`{%nl6CXD}&v6<|9^cm!rO;$`>liV<2oDphyxu>TGY>BH zr$2GfsqK+0H^LEv5^gSGpWD|LKCBk3?Dzf9_@(gZje3?9&g+8b=o0^x}K`)Uwvl6Uh8LfZ9vEYLwSzZIDVKuQO=O0U4R zsNH3CgP63&uWp%;hu7Gj3rihusU`XbuHF1l)c-)@8y`wvv|G3IOHZnamb~`SrLB;2G zQ0f~P_59v%Y5&)*9;wBR_c7MIeO(Yu{D3qWG#zJtqejrY3>?nQ zn=$K)X+ORRuJK=rp7gB(K&$n^kpCkOl*RjQ!qZD-;e)ha)Jw0JMy9o@mM4enZ&m>J zo6~Y+wZcG>9D9@+Bri|+;aB2Xh=y%n`dlrW%B zIQRo&dLQ*4hpVY1KYNS^6YX6 z;8PeOE2^PI*U{elRDDF+;Ty(%#Pn0!pN6NWk$C`TS4d{>&qG&b4F2xto>T0bh8eC= zIOz6O+{gWwH9JL{9Ne4RL7--+o1~VG>DM)ABzDH(;i*EHij1o<{@&yv&o<{RLF$;L ziVN63H`s>=bh;CX1TQbMNn&GK;Lxe2qFXAN+uqiDU8w=b*6bzSx99D3Q1v#6kc-vu z`zH9L3*M8F9_1?3R#2|y=`^q({l--fXJJY?hP%~_aaIg;pCazrtO0n2BPgUmin6&9 zBBhV(yaUqX3~i-$QHpG3zLyg_=P>#D%K*g8Pnoe*g!n2H^qj4zK~m?e1=0Xrd(4GD zppBI^W2S@1EHoE4ydZlCNm>pvXCpfz9RKNU8$^qHaxw0=toCkxS8vc%<5&BE+wp!H zPqSZh34dX*zCK+E@4)F0AJ*RmyvFi%;&z1}C&=u2m9xTCPs*Z*UgY?R&l=6q z^&mcupY)|)bH&sJ_-DuBZ{CU*CXdH-PXv!Y`!>*1qZ1tUL6d_ydbN0SN0h^o`fbye z9vEqebjy*{Ag7b>DkA_W`i6jI@76A7K!0P9_42FdHKy@1DAd=QLL5H8i(KUib7jR; zl+unT=$lUQ=*~SO9DlH!l*>n;jf+Vo1041kOy9LM7w*hrG1Sgd=|>2Zr% z(WZ-iFx{%mfrT~8d8(8u0J~tPt`KU(EP1i3$s*;ZewMaPI1=KWl+xk6I}+RM+2%%WF!tI-%-jzd?z zqTm{>nX+rieH1O}zs~#n`fwF;*P}Cz$1vfRBef)xg?4n3Ahkp{KF0qMjz6O(5*8&74|J^L4e%Qb%=-}Dz+fCL-nN*ZN^Vm_~ zdQo?`w@!lY6ffkhorsSdiI0u28cGP|1he>+YuZ5`BiQAJPhhu z195?h*2~Y-EjZpM^)Ml){Ouq)^P`-Z-H}$qOgT#HN3DWjKJ>X8HfdcVmgf}&tvXZ3 z)wzT$p&tBDsTN~hO36B;{QS3CjG0qtGT)3R^NT7BPiX^5HetbgCNrs|ElALxxv~Uz z4oZh^q16RHl&sXE;iD56H$w^@QMWSC3B3o*0JplYJdxcrP6hU)~6%U>4oW! z-obFKF6;(s869TdO@ZCMe?;v{{g0xUxCSL#(xGB{Os3+j(K91zi!T%FOfwwJ+=9q* zvTDx@kBehsK8u*krrUzCmxyFDC!gtba8(*Jm5yHiQy$FY%^{ zq%(N!VPA*Z8FElg&A&~KPtmdoH_}pVla5~au&+}{nzzHr;;Z2P@!Ex!YUMAM$lT^| zX)nn~%7y{YN%Ovie#(z7WPgdDFj8~y^g&jIs+=aDC70Y%h3LS&j9Nj>FVYwI`^@re zeWUxmt&G*i*sl!XA8GUgJ+t^rTK<6hR+r9(^pS*6rELAV#Lg_xOhC%8YdzW7na76j zX)w!NYM{A(2#9N55B}!5Uea^M zwYdcT7p2B?;pqd$S+KWj!V!Pgg{;7v8phx0!cjH({0}z8_??UVj7$EiZaD zvXDuHBRhc4wrB=v{HZ-;+(I((bXTXgAvZharUzCSc!dqGMhRd+7VxvKt0n&I)s=AM z9r+j2ddiq<&+8=^$4;v6rlN{+e>i0|#lv9lIP!RFtlgz{{wd|MDT*Ri8;H=)J7d7vp@;LsH8 zPUO0|@!R52s7@%)rU2JczxB}O5s|AAOMZp~66Yn}kMh=U1tP)L%4?s*D)V!EPvU9r0HF?C-DnW~TP+F8{TqGy=_2VcIsPc)s#Q%|0K5ulwpyhaAOi!tkM zXYD7`Fk@S&1BbtV%R)rQ6d@M<{XmeX||?o zQ!%cc-=(zl-K~_Y5Q>hG&alO`R<_iVzbv%JMlPui(z0+Te#*fbI$8Ke{g43mc_`vf zqhYFpa5$pjiwLnNAezDm7lyqSXP|3FWbrB~YEeM@FTCf8PxsA`cv)nxj97I$d;O#B z8eC5&+^#$l^b963*Mo@eYzno^l=AgdWyz3^@6aq zD{Gmy<)ve-f)I-MUOUe?P4gIsdRv-&XTI;qvHD#Uafy7#H$awgM^ORs28d6%x)e(d zt4S`;TeL&mc^yf-rnlaBQ*`MfhO49;tn27s8EINy$~STI9}9K30Dd<@_^-2g%KSzf-6 zDv5DO-Gm%DKi+{6JA6QA0jIIRH}2PU{4jA__ZS|2@`KVOCtITV&a^CC_rpz;y<-uf!bUX!O9>xT zro|ExSyE=wUof$iC6CJcWQinkzR=Mylq_bnBiRVBkPQnps+^RQHaRP__$?^vWI4x4 z0R(mQP5a)9`$+!=tCck>J5&U6wU^rPun(s{Ed#gg2gAm<~o8C3Ief%ZT zx2vS!o4*@PDOvR&UQ9QR-u$qb6Wq7zh(8UiBMO<@#w^AaRem{RpcdUc`B8k6vCiG! ziE}&E+V;WNh0sc>YQfS7QwDKbW}TD#RYjESXVVh)sT3C4tD*7jU|31_hbRC&N zvSk=wjyze51!zG)3Hcy!^}#)AU$ceKNs7HVZ6eo8lvcLJifJ6-c*n!tyQwjtyU54h z&8x}CkoXfC1KcO#xc5I+=RjEoO)j{bzwhrAafh1zIw6JZ&g5^%-rK5C@VffL=2{?C zE+tNX@8ML!Q~utQq)#Q^K(GI3hFDrKEIyw74d08oecmk*L{aj|*{MBt#wW16=Qi1= zjsG27TQ^$+1r0+mzKV>2DEXNbx9A+edNJ@egv?$86LfZvIAE`3eUZF_9Q{E3?DjLH z!A_AG9l-Az9vXinp%B1m2))QN;eV~6J{{mSfC!*MP`@F>QiDESOy-xC^YQqZrEIP; zHe())_2b_-Lc}?}8(i)b^0*TF{kG_mM$U{HY#~XP0*d0|95wJ-3bJctkUwgdkt!a_ zr%3IAg{#FQ6h3dWx74`UW%*+0L2QcOoN>6jPwei`4s7DiQ=b#_WyMhZiAtn1jrb5ba?Yd`1k2q*4%nWL_#?=>_@#U01^ zB{EnhTvaabP)TFmniz6ny{@DpQ7Fcn@RqmfDbcH=YaSlMq>%Y=7wu*HT@$HAr}tQ? zPq;#azHXYTiRnDp3#}cmzna?hG7@=T%E;|Lp76XjRzvMPKXg1P8sOr6B=YtNq zy7J5QK!)bo7Gu0ultewWM}>-kVR}sx9em&7_&cPlsY82f3G%7`lkoKfuATo4(;o3H zsStawCky_ybcz|O1Hqj-E`nL5T_kc54Ao6ZPz1Zbv!~e z%lJu?o$(v%=+y z8EdpGq9GWS^&?-K_ek^_@57ehlX3@Xr%S%5UYoD}O)yNy=UUszhNFuio1>pK|5rf) zSWw1#=5JlSm;NJ-W`G-h=V?-&vkI3}bOVn#02o(?qQYl3dPDvXwclp4wS+X?rZS z@mHSkK-zPoV0U{^u(O zbDbuAK^ypypnzh0%tXL1Z``1{G3K)eo~@V7a)vl`bBX0+3cPwjo`ho6#wSaDzY}!= zz8I8-smHJNZ!QpfU>2*8YFA9>q4(a}yJ#IP9htb3<#BR2ufibr&WU7;2*jU7J8H>2 z_f?qVff&z9WFPz;CMM5akd8g=eUe<`U4Hkoh1ohD)7MM_j$=qKB(wCwYxkwF(3gvV zg3!p0!wG;S&>{6`ioHTzHP@#`KmCY5nz-T3e)37w?Bs6h&(ooG?kP|G9^akImZ$3( z2O;xjH=df2J=;ECU*08iO@Z}jQ^tHXg%(X|eU}>$4W0RX@AmADtLfHR&{NF4@&{(- zaF)GvYG2<&XWmSk(-=?R$7NDs;6YC1Cvg(dv(Z zRayR5X{h@`Pl@D@YM1Bu_2Rpi=lZ#QdlhM@Tcfw+2}jd-2tXq$DGyn|A+=El%G49; zWTxuJhF|K&o&0oum$z}U^sbhSlyn_gYdzM#BjM&n+4b-KHVO%gYIV_;&FL9+A>#Q^^2PgZFDWRB_wxoNfj zuId)Z-C^~2fi#R!0uZtZ{)G;EDVps-yfiFr5p)WCXt>5>ePnaU%&WdO2!=^itNq{t zEmh7jgDu-uP^P)ZT=1dSNGdPS7Qh%B^0%?RA528_R20f@nSIYl!v?&x0zMpXOImynREKr--F$y=Fnr{S!L@qd1=diaqwFjOi76#3*K(kNJe zTjw!g^t#B}2AE6SW~BJ9lMfy51S1|b4hr*H3HvX+#{aq8u$CoS73BEP5nJ5}_=7W+ zMPWaaZ04Jd`;lvBw&JZ$O)Q_sJhv_+l??%Eafk*~6+iFcV-Fx3VBpxVLxi;aIBMq~ zf-ss$Kh8Th0rCIMA{WYJHb{UoBPSG_y_Tc2hbwwU~8ejlzMU&2UEJL+@XWlhid zLP&9(RLLIo3=Q-iJ56(=NKvN}J>#(~SerL!yAqLIVT*Ves(+zPl^Hh{s80SB@Rz1* zv}tq_?5>p|VhQcX%IA498oMS992v8uWQ=|^N3n6+H>tj#t(H_myz(t7r12j>+(9zF zD`LH?1~CCvit@TYUJc6S#y%>jxlbba$rk5h{)0a6R~gJMUCd^V@wrU8PhNL1_`G^i zJX1BsVZiVW7Z$HVJDgg)uUbIJkY#bKQ~jwnR}lx)8-^- zdUW2RQ8BQ$^AIKjAFP!TaPy`vp)5f%UTb7((Z46dnG)_JOYF zMAn=vhiW1H$HyAT5T&3)M}2?ihU^nEQV?JkH|v_1^T zc%Xd1_KWgiFT|D*diSUY;vuJid`BbzpCbZ4I9uEJZT{Kxd*Cvcy|X&fY;=@|2p4-+ z$~3JVM3t=Xy6|*CLCvuJ{I)BOas?t`dg}lAZSm8j?8V1zoHDZfIx0f6m(fR!l0Kjx zj~*zu6kfPF7el1DW;UNE(w1Ooj#N8&v}vS!gHG7?CJK^JF7!A%0hto{wx|#a%m&|6 z4BEHX=q1(+a6RQEWlhH3ULg$aE^MC`a!y2 zz4e1)9c1fEJeuA;VY)D<_M(;A_(fXt^cdS{+REqp`?&|R z8LDS_mDOWk%I1sa%&?y6d;BetJ}-dTZ_E(&)o8J#?6g^AI|zp%j0TQz8-T~!zBvb2 zYawu7Z+M1;)6OaM+Ii0su>gj5`^<$<6mXjv=owvCXSrSS#Ub4E?D_h}T8-Cp%IuQy zQeW3L9fL{`N5*jn>17$}bx?PEmFkd?8aYID{HgSlQ}fPyfQ$>$5`VfjUfne@rdXdk zEfOUqLUZB%vQRY$y&R-s{3_@KSZZOfhPb9>GxW%~M&3~_D2#SOdI!x(o1SI02fV(k zMfR!|ngE=V7lUD}FChUiCbVOGsndgo^%!|a7PJ-QP+KFkm0rfpC82{5G_QaUHAG=j^?{^B`LbQx!e@!$ShE^RjWJt+ZLp(_Rv6oU`&s9fQzBa!aUt`o6 z33#-&L(zprn>D~s0ImTS#D362_@A2Fmk~})tf>3{Lx*F>6-Hsi7m>YB+m^u==NG=_ z&uFYRKogwTV}SRWDkUGDarZx^{ZwQCirTdWaOwDUq#}whzW16{!TtPEv&Xfa*0e!s zSw$Lgr8qX;wST;(^y?!l`>2hrOjYwVH5kn^rgFcvvTmi9FNcjMl$5Bb}IRA479nB}tdU5sN)SqYj;#^FrSgTs!+qKN*54WE8*Hf19CXT7O z+IqiD`jim^-5-9rue4IQXNjw_2IV2PQkdmO;K~4PZbRkW!R}5S;p8`X zOdrv-qc_Q4ARJj*on+Dkfg2taAz(XD{XNxkRez7hf(=A%P<{wV`m~wvh2G7{F3Cot z3)b6{lxJ67MVC2eA?fv-+I?h-Ev%3NvY^OfY68}RJ3qxSL`d|W9BL6|-)Hs>grH+U zQDjXPPh2-elTzb{+`s|egnhbjd~)SM?#2UI(L_HOjuRE7H{$m?epB+?REyD~j@sn@qk^aV`~a(%eh z2ZGBtu-6mRs@F?o#S-~ft&8og6ytlf*8%(XW?4A~orjRVLCLXPkR#)(jHi}F!xoH$ zuiw$uOjlRB&H6HpOc4$bDQHu3MP=&cF5I!bbZ<1kBPey7O2erZt16Czqg&L4hf7avT^A%RK^ z)g9U&;>WRFv+h?MkjBjkS|atbw0na|kNZ$XDSnW_OnA_E)q8WM?%RdozubfHTV8<@ z;;v3eb=K=ucU0DTAGCi{*0u82RV;!hB{1yDTjxh1S|hLCOYarL?D>1_r6`B){@CQh za8`(yPL4CcL79F!D|%X)@gIyJ2iJay<9Negn(H5q2PwU{-2LZO}KrZjl~ zi8!{Iqx|#juQIjHZxl;o0e)I>1J*AbdbXMzU!TXEw(Y0WDj2!-H;9YbW{v-DD01dFL*>^JXOOEUwxl#btMUi|Mov$`9ZYj0Kh1)K=lL3$^*xt^^=5dZ>LOg zO!S4jIxgN=z!}ykP$83xA{DA7**f>uCL#6SxlR%eE&Uq_uwvhrPc%lvaw?4<`+)P) z`D~?s@MHvU8tPRYTQ&d}Mu*X6#z{J;zILwcOx+^=PbJ?9kn|$TWji5YFg;4k1TrjX zi)q-y<12g2qn-oT9_aqd3~^so-;~y zntxjqS70b$3`=DW+E6=Lu`{k{H3Y+_uKPpXO|jreJOIeii6;kp#gf zho~2nMMH!-kRb_&)|?wQ!SHeJ;?%orw(hxNNC z0~a{p1ojqfcG&ce+5uD!wkQ}+-QU&P`p@2*IlVCqmRL8XfRWGoFM%o83{6*(Rri@I z_LN?EB9^JXFvXr%rsX6Q);D^mi<%GCe+}bl_hvfXDQqTVUv`SrM~N)rDP3^9Eugb~ z@zI*d1;1~Z2#ETg`uwg)oq=wZ$OBlZ|I^GUfTfRDVdw{W)_?ef7ay8zJT(%hL2RtL zBA=r9nD7I0$3yx`nw3|>zjR1!NjM*U@AkU_ zN_{jVcK5*D@o*)9lsZKj{|gKMj(tJbDT}_L#XFrYo$lhLXS7n6>yM$S6;ISv<}^ut z8CT>AfSk~-T>TLY|MX40v^ zEPmHl?hxmbpkcd#-6RNuzeAMHwpV*X0u6?O zsNde5@pm@uphWm(jOR<@H*xF@+v2_sKr`G+3II@By4xRx3AtF2Nx1czuC^gm-31Zt$cH^_lSFYFDZuSW8#og zyE4txT2pm54$+ZZlK+85Q>89-=-cmse^r>|;6lk)no4s#q&)#;h{`07UY^?&v!`A! zntqem2rBa%WmgqG{1CX*&h!4tEK|(@|5*B)L*zKm?gJPLZG%oKHtp#Lfd^kq;3eLt zc$Is(K|-0K0|Aszx?p|>--z3Jgg0)UvA~{ccuf;EIPvUxWvokED4$rYWb%A1o^N2m zB_jBgkzB_st3MhZqP5Je0W%q=>f$!GtwymzJ?|%aNu2ZceDfKseS_hM>4{-9)^0jp zo)Hg?1wzJ}OoI^q=`({f?3&nGULs-l_a^D`^CTNMKGMw_^jodIG^?rMJs|fLcxX4g?43yiE}+g%BC`>nGqcogFaHn?dgaN&=@b5oQ;`_>WyT37 zQOkxAy1FHds2b6l=j%oR=_3}XW4!t?l_zBdGiFXq^(dMsm8q0VyAYrC6pP23L5?`U zmG6>+DQ3GCEtb*_0=5rgMEyFOFIDsHRi<@`-JO0I?_alzBv6ZyGbg*(V2mv?kG~VH z0T58Du%Se3@Oa3#rp>rIWAl}Olf#Zv%w5$_?X_?FYlB~Bs5(HaEBK65h3iYV$0qo2 zAQCKXs<0S0A@m>`>!__Ydb1AWJ^Y!KZ@V| z1ZtnZ9 zfkgYpR2KLY+XfAWx@AfvWSTTIW)k>cTTA$d&LHkR(|`*XW<_i4FBcaH=s`zMTkp)VbR9uzhRMlr?)Jk*5@l)W+_k_kEzxA zm6*D@>c5qbXuC*GlnC*T)9#Sqs1GSmS+SCRUF^PCkBFBlj}P&Ja;0kE8O_g*x19Yh zSmB?eO-UQvPL`y{iN`sABhTJiAJ&S)%<_`0@_pLalz_rE$34$kh2&2HZ#?1Nd$t>a}`nHrB^`{M_TFo!?JH^vZ2c6j;>GX+m*PgoJiYP6p;8p z10<9nV{k8U@E#+~;(c93gcJ#<|9h#|1NiTU9<~ZrcNeOr<6KvTXtf3nuvN!ZD~d+g*3iwjnCH-_>AkdJoM&#Sx&m&#jF z3$1&8M^|H!VYy;6TY^T&iTLgA0ClBqOBZu8#Ka}FQY%EZQSX0xvT+*H%YOMCSw zK8dkwZU+HNd9)xoz*Af@b<0_gBDLNvc&5~ zbBBIDP@hlGI+*@B*MqYEB7M%#gDW*V+E~AVRUYx+6$uIAO^K06NVxHXc(UJ**Yw`E znpU&2ie0Y~X^|6|?ftt6K`K^+Wr!CVVTD#fU6=9l9xbBZI{jewWUcSrJ0$l?58aQ6 zefBPi+}uC!wYar+2*djfYfG)RY!Y#wM~X2k zYMHmVBdu3)li`Y;6>5dlecPx%7fP1puVJh_(yp2p`C)M|6ieNJAraP0_a_;#^F>5r z()HW)fDj^wUb?7ZS(ZLLm4(G122(D_+ZMJT)1TkWDWNQZ1vNR6LwxnU^C?#sxZALv zs$xN04b)HEqCYHj>!Z#-c=y_cmu>~*$A7mrz~IzG_2=oeza(BT=qF0tgqn%Vl9lLX;U4nu-&RX zH~w7CoF)d9TkbX?R$&}3##|P-_ZR_OCY*B}8$==QcqQO(*8^{TzW7qNi$41>2`jlv zc_PTjNX=}Ew2`v|&A6NAO{%#`(aT&?tJjyb6PAWTUs>fP)67opU@kxx)oBBce6Q^P z*68b1{_l>%??T?fo*~AQ@LLQd_K}$OwNftS)x8Eub_T7EN2Sf^jXap9?uKAKJ5tX1 zbjsWR^NceCFj3PH86c!mrrb}hP2i^xu?cm6B;B#i4!NE z)ut|Ie6JbZ`-^xi0%%i+*A)ax9xk-R7cMz$_IlUE#?(O!&z=$IB%cwMu@HgEzHEXC zbLmJ^>In@`__{$(@TG6S6-G1&JtSY2X)y>U-A1oP?$xI*Z_djp5Wb4o3+}?g!0KT zP}69$urUOzsM%4?$@gYJVOQb5>8QI##GU%+FVe@oS3Hw>5P&!U3>dFP7YzaiT&&}* z8su?y-bTbY3?J~(TcRnX6HrSnFn5f~tFk|?BD8I>rcxmv#&Ke@EPhcN@A zjH0aYiCIm<&BdQN{IPz8zN2~4UhjXr!}CZy`sUbUb4)JEy@U&#s;Nvp)bVc53txDS z`WpJl;2Gv+4#{D!QY-OoMP;!SFMQxhcsPFr zEYs|xgb;alOj@T`>dwvE^*lr49LQICCsD*CjwIL&A|A`BdVsaQ5mf@spahY?B0D;Ri1bh0rabRSlRs2#>GHtYH3`#3>8pxvEb3R%2a^0h)*Ak2HlmZt?nWbka*V{0@05lnhm`!cGA{G(xm?cLfM;KF?N<>T5u zf?uFFh6ff$KZh0>I7#0sVTT*)!pi`sIz`_Xs{E0`9mE+ccK9yFWE@u)Ft?n=X zz-81MW$5q0C--86Ko6qyd=gl>fw3uZ%hSD!34ur9+s22AGmFMlQ=Q^Y3LJj96 zmFKCcVQzh0jaty>uHt@ZV;Paq+x0wDh%UAFFGm;A{q%yC zxTpx4NMWZ7vWId|8)-|9gbwhYakm)|*6EOhKm)*VK<`OgV-7^(f3p>RGn_$&``UN^ zDVIpFn;R>18vZH6jmrdS0JFie!ROy%d+bqsgTB?uk4@Y4aPKAHc%Xco{8?@LyHCv?!!-{brqD3N0LnPw zpGI<83g`g$AUB5zlmrCuB7#^H_oT-eaQXSps|pn-8~X#xS7&2?3|y0-{}wI!w_Sv; z%qGbZbwF`6C#ig*dWGr9wK84Ob0NTYS1hg9e64WwYYtb;-OI2??VAH$JGV|ZX$h8+fmv%{)8oVNQSB5(zYbam zkAzgi&0_bL=o7<9JQDES2&sHSbF=>evr3FzN6{e*z&z--0J^1SuAc%F#$Z|<5S80v z#V(anshx!*MMq5H$-_!Q2~DZDqx{Fy?T5d_R=5Uf;7(@to@3Xt|AbKd|9Q%#A{%rv zxETH~elf>pJreBd<$U9bO|i1S=bUmmNf}AA&6!L^eauyC=LyR2%mzTl>SWNFsl&9^ z5zkqI&4|sQ*Ek@a*c2)yBSGJH+-udJtK3{DQ3(-EVZAz6moJIkl%8pRTm|CmZvcQ3 z;7rCEOgTxyF#l+Qi0+Gt3P&IAWZqQ68&X|w(Sf82L4ystYmHbvw=ZoBOBrz4sB&2( z_CsI9%Qe43YJA)bot%o^DVdeY>z#0>vMb1+gF0R0=Tl7BM-Fhu(Wi=|*Xt1i4qQ(~ z!vptUkyh)4gAh?}-L@o6aLf|04+#z$JxTe3Y{ zfdlIU$EQ4<>Q1+WHf~z#sJv2cZ^7>RvgxcGgqH_8g{4QapmiFx+I)@;3uE@3cx*Uv z8sU2Cy|N_SoxQzK|IIclr&Im_t+~-naq#L*^AAKaOvixSb{YbKBF~TWnSatW-`2vP zExexaIHiKbe^Ws}A`qQ^4ZI7!5OGqMUY4kVKIZ|Hi7)Vx?stkXt!%aIC+Up4EdzUXeJ@OM-5c zci%SYr!%(S?v5v67mivsG^8>CgV?=wsW9MQrXkPgtWAzA!*Jk=LIZb`iS+cnL zRft_Jbv3S6{`U=Honp8z2`?vaqZpQv&TYEK}!HeqfRu&3_L zL$2230JRaai@GOC+Oa|i=z4%?4TAKiiJF$A%UQYw0A0aIOhgc?%JT_e1x(SB9QUkq zE;PZp90p9;=KgV+_dUY^eBxE_H0K;t)eUGDeD3P^b`6_o7d&78qVB|tcGoXp00i+` zjK5{b-IJXi4MG8T!UPx-N!bb2A_InJV6=kZw1U(MSQQ*f`VX6Z9Csw1WPTY`wV=aX z3?(Q|_)Da3n#24{!VXynn+3WWItXltdo`MEHifng^wP``RRM1|!rF}-oGK;%%#FNy zvz;3q{C|lcYxe$Hp&y+YxOxqg9DO$%{Pi5PX@^^nd->XI4MZ$DVzx%28YD9~S3=Tw zFugP8etS@*6X(8HnU>o;fon}TvN?`qI5SK-6#6H`x!RekHsknybRD5JL7!J})x+2h zi2f+eAOF%HmN-m}mq3hq;F3TLKHL|;PN^b+7LP`+lzIoa8X}DW1|%s5c+e>(o_)^` zyXB4hlvW0J14K}+G5G9*^T_crD_~+CYlM6IA@-Qp(w9Agg>n2Hj0aDLuhi;#t5KIC z#nRbemgO?$dGF3AWf|w^=&eIz^X+XcR^RSYNb6QreYYuq5hbHo%9;7EJQ`#vE!;7z zbU3cQn~3(~z*;Czu1lz;oN)%wpp>&^t7clr!#k=kk73)8B7R6M_0;w_hO;z45c>fk zA|m?ulc22fVkdu3=dK@hc|4PjyvS5I_S@R(>NYvjfI)8WA+6bc+AAm~cEvFml#d+m zj1qxwAkFX%xb2_OQ^Ij`+SGdZ2TOG+GWNupwIc-Ik9R=y zzJ9W&7yv^^;#hirIX!0=W$|#P=IF>J^2^^@x3UZYyh%_S9}wRmlV_C(&{MXT*TL(h zsO>`S7)|{*Y{t{*2oKG?FMHMU%?waDm$}NSSX(y<*0Fv~u1hUT8qp_FVi^1TS`X6k zWs#v`>HA|l~`;C&!^!NX}ME+!^M0tLmyS5Rk)GNcyupYDywb(uBjox~^Nu!-#2h|$#9 zkFTz|1e^|&fTt_{x3?5Y+#6wA7`t)#Z(aZFKX@sgl?8Q|RMZh9>4T^_MhGcIBpYkR zznY0`q1c@T2)}eAIkHeE(1Umcas3{Zq2=DNGx4``uL$+Aemw~n-}zBYU*u9Sm**Y?d?ey1|RHlF@$M=C(!oNVhw<(^Re?0wtoxB|82CITTRT%{PCtrpBnq&>w zqvR|^dmCtpzQ{)1pVEJR{bw%y%U!gQWcIM;qMu$UEdWVDg1;145r!K&HtDc$e!>!IEVAf9zAE#2_Xb4KB>5r5kf zM^N7S6!aB08*VJ4WfT1-d^3zq4=YzI>E>^ zx=HPX+)R_Haa13eiUXn*2VO&1^D|JEzMDT zl6LCr;3{0VeRv;~&>yR!UFU9t7tH4=%w-SMoR#)Rxg75{j`Q6hXyPnj!&~*mRH+L$ zS@Gd(@KSqfZ>;LycCNU6%xVwGJf!*h{ikugJjtXDP4|1xqX>e`_r>qa5mY zT3Hq|?73NX{Lflo$M}aR%$g4&Y5HdR(K=nIGyPfSU;zh6<^XpELF~|XrkibwjjhQj z>Ksu3mjYm_hWu|qJ3#Es-|et0$<};`v%_4+Fzz0wS|LVVhT#}|V2~KKxD;^c9h$>% zoU&vHI$lNp7-e0Gs0T7coBhv_KX&_DWS!ZWcwR^d9e8| zxK#vVYLg=lo=mP28uF92UnRnFLvAgz&F}!ij+Wt_>ey|Fv)b4Z98jVC?L~Tv#9^%& zhY`)bJ|DU5ZKhcp6V827GyW=Srz^T0x@4Y8&In;gzENqaI#cF32uQ&qIU@ zfQf9k8G^ZN%M@n{w^z)L+l2P9%NSa$;-)+Jf!_G9zj`ubc$1Q4&S z>KXg-Jlhfvp|VrQexkWxB{Q8VmmBYleRTkuZve7lvF*2QmsNan_gVm8X_|PbN$@`h zn!L?G33ywxUHs^olH{h@)b+W#Na6W6Am#ir)41=B1cXx_r(qmtSyE09YbOYthT<>? z+61u7M7^<&8!b}gnP|$YGU}rwN^9FGfmi{jeMXx=W}dst`S;E%NE^ypFyx^j z`!eJ=dDWXtQ1yKpDZF|bOLLZ-*ovR2nwJzcO*p5HeXxY8S5Aw39!u*WPZEXWcc-!( zRU5t)EqIr@kgnw`+*E|L~I4LNk0uCVulslJudRWAJ#v#~eb{(P9k2nk#;@A-7& zk)J9J^2^^;O=>55E-V*$Ct*+Wy>?~qiDfRns8LlvhCg{)X_fipUH;InJ5(Lm&~FT( zjI)*K3(;%5-R=2a))E9qRWuWVJ^J^ar=SnDdpin5+h%RBhisuz5r*v7$Wryr6BUbv za*WzgiJ!PnfBOxkRSJRD2`~ zX3DRaU)naF*~Vyu3wDH`Cja8c9i}+`s;2RCjB~ApZ4S#H>JZU9uOz2J@**Fgm)Fe9 zk<9C_PYqB^%!)o)9@y+Khg1cp$1VlZB{N2uTN^@Fa;%MrB&pKgQfXi5axgm#I5yC& z4k>zN-~KY^BcjP&SdGmVR;Z+Hl99mhgVxe?y$Rp`yLw z%*^N1%*qm%l~^|`G7?Un6)uDpT`fog4aszh8&`BDpn%?>nRR6=@$-=1WC?nFY< zj6ApyJlxE89})!Q@Q~10;ZC;}4gYd2O#B6j&UkvdQ>Bvy7*iVRX{D1TtIO(4YIZGT z$2-fKYie8e-9?Ija71qLa~jyBzQ)U1fydc>V+29Ru(U#~{;EAIYQ}{H>*xMo{U^M_O0i9=|rmzGTqM)Ff>PkCx zVGQEF5otkAaqS%yyLW-pHi6NjM!^IStQD!{>N%>oT0i3G#!K+w+T8`n8*45i7s20a6?e~u0Ca|pF zFJC+-$U-<(^MH-NGyOb;{ikW;E&EYu<3+YR=s@h`jtl!>*)C48r7KrrVGYBjKYFf< zwD6I7hg{n$vRi~=G&&Xk*#3$!)6jmK75-FiiE^l8keCxgO)WmNG#bxYWZiNG_a?IIQ~HD9LfQWv!VR)4Kl8=wPAU zcoawV*5N;W*P;qvU==4r!?p9x2Ui_Lu%p|T{6~(%Axd87EWEel=T@6?X3mW4-m__J zIJXLqUE!k~k;dXgt!30U?vAV(0}G4hq=_X^X~B|mC%_GrxOw8io48mY^WM0b=>P$M=C1m4{uWO`?2xL#G8=c9v33IrIF^a}ECto4NSN zk@_smI5TgtC>M-(_^a@AmalX)43zG!i`?{{!9k5x7H%%j27{YuTO-S(Zn4UN{PvUT zHJ2?vt^vh{a}zmdnlJzHS@EGDE95i9Z$FBkET?)R5Ha5Wqf@1|Y{ z*2_GaCZ`^z#o3EslPcz_rr;wgo<<5rc$pz_YWAdVp|QbY)@-DBU$;L`R(`JpCh zsqB_)mh#2*aCdNbeuf}>3K=Z@SpOJCU=wJy#wNx zuF&+<(fGT5@%iC9ls#tYc`g!hrsK=)SeWmIpF%5(@jpA~r+L{x^;$!~jjOyZ7++6I61ju7lacX#a>j&g2F8{J$D_x0Z=b#t^Qr`^lOP24C zSuRKYOsMZ05ss_`&q>Qc>LL5)ycisa>-RseeHIjh%rv;r6yPE>Rk%A|M;3X&IDAQIukkzlkXQ9<1$t|@E1keMnfscC786v@o;Y8O5&Cffis}b7Tm|LFEA|LieBH{#b~3n6 z6ADP^Q+r(SgE2=+MmlQC$~0js_#UARVMpE;r609FdFcm(8!$rX;35fA4z6}EXrY`M z?i#L^8z6)LIe+7rSoj=Pl4P}8@p2#KH?^NJUE!Uydd;5-{=SxSz#HgW05wn>2^J?W zrJcMm>B%X#>I2tYp=kkqggkzRGf;oqb>-ct$kAKBVzFJNQRhRYec1TuSwLCRWL83` ziS+H;jRb#q&+xDX`g(X>hn&0$QbSy>a-*B{GZYre7GiN(=$_pl%b`0ObAtd zrQ{(s(VYY1P#bu82a6y&3g%ZJ+k!sV08KpynfEb(XEizZ}Fvb691Q1a?NH&?Sr z*jML|5aChEg6VX>gdJaeJ}1?oXz=+oh3%w*WnMV=|5|{kUae%on+tna?*B&gsd}27 z8tp=Lv^j;zRQ{21jR_<`5;WC50OVofxEwxY{(W^5$=uGb*CYnfCHJ$7F#wbq73!OV zTH)Qr4}?>=adsTEkOTJy`1Vt`xX6dn8Ll@cqmpggK@d|QA&KT1@qj!S)b2?!C>cHT z4A6k8b+}L4ccY9`GCl4)%OEWd7OuMCw3)_QvyhM9iPj7DO308il6b$iR}POh{`~q8 zz5?@ru@m@@CA~OmPiC;OO4ykkPmO4a6146a5GQuruW zT7QQR7i*`p|)dgsjk}jStPk(ra$p!Wyv$D@SRee zRK}EkON49*No!+&N>TPVcia+xRi+6e1P}vVcH;)pn%GLAO%*@Kd1LBV?k6y>L}W@T zFzV%f(VdFR9o5&`!@hK=!`i>VL2jqaZ{5-Q>TyRm~;6rWP)kb_nj?to= zyY$2ds5IObZ8MJ(ZiHpDxSmr6wHB^fDN`AME^;4RbsqKxBykEUz8P0tkb23Z4=AH5 zfDb&ZkJ8`L_F`Z+?8+Q){_GJ# z(YB6?QZu&G0={IJtz=^(Y!zf+vkWBz&hcjJI2Og&%=Oak%cJY`r9FQhNTz^Gr(kNfZ(5BXN^0;fh7dgHgYeXR%_E}iMjI-l!Ae5c|_q+U`{TY|0+q~y% z(oqQt_D;4lXAONiQJei^+stF2?H~n01G9^|hn^(6!pxzNX=A(IJ{fp~6lq8rT%Z1` zY+xL9o9L0r=P-9sFle`5!@Iusc=2pA+Tfa3>CawyC$X?Y8H@u?UOg#j#?u&Bnm*#{ zn2L%~x)ay3rWlhhw*LK+hQG3IvBJEOBR9cS`7{3hjg>*cGn#7??^khOys?`M+)-lI zZt0kfv&`NOnk2Ysoc*%E7mhyNf6E+!ntjLQdkP0Nhds~R@4ks%c9qen$1Nm9N^MW0 z9AZZp{Q#7F3tNHCnUpxG3E6iq+PLEX8iLiM{fR=m6Z022+A4WmgO4D?4{yr()0 zxMqXW)g*5;Vf&!$LTMlfrG#y+PMBW06&-60GT-khbpm$_%M3@G!x4z~a^m3DuT@|C zlT^jv0?Tm(uyAwZsQ6W+U0|IwTk|oUugF<+#%i3&A$ApFgCgdJBxJv(i#xT{IhA#5 z;8!YM?skGpIYyda4jFgfIKr!lyvL*~u4YWeUe08&5bx0tHJFax{Kb53q0g}mZF8)= zHvSnDjbzsp1pc>xD8R8j&vdrUoLxa6H>Y@8o>Vt&3yNU>^qAE#B0;I}y5IF_b2#1O z%{qjR71ap?=aeYwKZt2{>D)PUv9Nj(Z(gK!xuGoFPO-s6t|rn@s;i(* zM83@ssxkN&%w{>eF9jjr6oO4DDT(eU9WcV`A25kpk;;;f%Zw|23CBr2|H8qr!i3S2 zytHAg7JARtXd+YYwc|J9{_(x$SH8L@=fx$jIwy#?VyRZ@cLajO}$HUh!`|Sy5$}jqaj;8xFm# za?N_FNjzbAM0Ppkl95=b1;(<&8iHXcT$`IAVA~3S2eyIUM!&nSvMjcXdZ&X4L`9O_ zF!#-$ux_UBC%i+&HIBr2c0HjWy@AU-2{M1GdP?A9|9uTr7g9U$PkcIeYt}P(Xo%=i z+-opx}Y8U8=%VYoov;3Jx+~`C)Q}#64rXnCv+NYcfVW zkC7U$e87Fmhxxk7d@g@CR_@s z@G2QsKFs^yK>tr}aaT*9A<1Rrqo_)R;tOA192+!QJJu*{j@iXZU7$#Mr}9Ehlt zPU7heUS%UWtJB2Hwr=(QZoQBW;Jf3Vk&%!L(?eTd^c1vBu#(Vmd#qc{DfjYoV&FyPfOCo_#m<(Z)|N4p|a&cFlb3F02sY) z8p7I`PEHrB7N(RVGiM^2&ByrX9P;QnGP|dFvsSb1Y=$*uf8Iu4jy_bGesoL`T41hN zHriOcTe`K5PidN%^h6nrHi49||D6eM<}!l z>|RmsBp229En(4SAA-r}QgK2o*roAH8(NK#*g}I)hpZ|>%`&TkJk94*xbI& z52{Jt43o9hL4~7Qg58%mgOaIo#4(PbR54F8{5AJ#ovD1S_lfiQ@G2ggO-FW;xIkd=u9NMPs4h> zOoU1!JFiW9ARx8cX2Owo#16MUyl$Q$RG^vzHq$zmQ0qc#TN1;^gK>p&nZs+Y!NZZe zyxU{Nb7M8+F<1f#RFj{LQi%?0x>Km z?9A-%>A6FSk0{sQqA%1D(APE~g@m1}3_UFperS%zHbe`M1Y^jXjrdYdzHdi>Q zDkCIDtjm}z422I=($%xyHk48)U$-d*GNSx`?9-@2GOE7 zm(Er~*HdH_I~w)kySqQ- z?{pf8*Px(KK!`a36tgJC9Ur=S^aQRg-h8e}^^lchKS?Dz7{PEpbg75q6dDf@E`fjJ zS@2Hh_~sDlpgj|)3=+55{xrB$Ne6ETe2INfg+nlVCimTu&vpAM>)l#F^o%h14maC3 zT*S^~o-(CJ%DOdK*gd7vVcYyhv}(?gojz+_`c4$Fwf_5`17P>qNRnFZjREhL$ig)^ zP)Yxk4BNKh8q^@kEW=rsa6N*>@YIcnc$ z{b2Gln}J~lvyDbyq`A6WxKw%UiCI~a?rM)Qg`d_4%u1LUHW(nfAeQ_Y_|;)J9hb`S zyr0A86G*}n)LFcrs+?~qw1Xm#GH%*#9Z*}#CN)TEwo%}M00ibRT_itkY&{zRl>YHl zGNkHHG?|b!P&;_=fvam9^k?lG*FzhjZ!`Qp%or^L~M6GzkHD5 zn)&Fe4Kyt+{L!Fyw$12>Q8e?BjZ!q*_Pms|C`)>Kaf7)mz$8@w|CtK7t;hdl>R&g= z)A2&g(mOmCXIl%f4?L>hW#}Xb<7_EJR6ft_iMeMPQQC}~9wJ*bE}4GUn=AXUBFW@J z51vk&uX;0-48B4f2L<9*z9X6Atz`ZW+jD-lNA{FH0a{+b7j|o7#ffLP*+>AP zZywh6T`N9v`RkREa202&4R)smQ{;?;1bgwdgNU5Yr2=t#GrMJHi+RKt_R9sGB|oO~Rj# zS+06a!UT1*{$|mati))2=&HnETEtTOLs;h6Y)&pSd4O8vdlzu6h3qVUrt&)Z;7Aap zaT4y1WSp8Qj;h1_Nf4tOsqC}S?0_wrhnGD`+2uqEY^)VcQ0k?7pwqopKTKFh;yFUo zaHk3HC6cK1O7LrA-w$uBvS$ZSCjm!rj&W^*o#MHu;4}8tv%)DsbcQ5sryDZqxW} zY4T>!LeJJF)`te!CIAEZz$dYg2VBxR&KI7lD95$PZDlE4-`ckRYyHedFl?qxWoN|H z&71k#Vn&JQ%pU}D%U0rCSOZcNE-3if-4>0gZdxfd*V=Wjleio$T#Boa;Q zhySzyLl<3+%rb}td%d6=h!lNzxIPxpfJL0?&3N&b_Z6*`PMV>cg<(^?@n<&hAu5e&*CiTLa|LZ9kG zKy*JbhX4#qJTqt5peEJ^r-N54+f%rdAk`{sBafCn^UO_SEn!dV^!?9B$Q%GkXFjGM zW^+4aE!|^(ijF+8C?rgBC-~Ob2F~o3SNQmsR!5`DcX#6hljYSqW%V}N&d7_f^_3_^ zFz9#w5E0emvM5?y6AqJ@DD{#k@w^ago!wEMpc|AiMeo>l2QZ zt11d#b-|AFFW*1;!n>+FcX-@(#9$@=3}2p4!MWrO0kvmY8|j&_Ix+BU*137V;= zDee|lCc4=hJlc;mAAY_KY|v3`J_%OOoxK~f?wb|#C93;Jd&Cverq3?RU;2+2Z7mxW zr%P(j>o_)8Hc-1=yihaF3Bl`8v3MgBt!#71umijEsO)}AC1(GkT~LtZ)?C@Bv&rRW zD8c3ECK!3q>*)jNF;#p@xtd_c#}$9C0L_)=o=d&-$x}SypEP>2|6Z%XateI5cz5{J{)^`=RL-OT^#kyD(~SY=Qzw(4=AfU}YwhpGd+(x7T$N zA6l%LI)d?lU+0VDI^`dzo#K8FDjtD4nf0da@e97ba8D9}HK5Et{a`9}Ew8`0K|ycxAl z4&$rw`9^TiY~dx&uVW(kSgpYQW(jYB50bl7Ci0Tj(zqeE@8!zzL*DQ-rV$){#evt5 zMB8_RpSa-S)VcJjVtfv;V-SEEHox{p7Cnl(r+#8S4FQ7jL49 z5mNKz8n0?@lSuU2jS!`33}z2GlB~BU$#G2hY?7L#P))dK|!>TYP<>OBZ2Sd{p7zWfAoMzDnR)mczV&Hj`Gry z~Y6F1u`3EOxX5Q@p$ju6y|9sbOk7u|F{*}rrsezbvyC=8QES;vaKB(N$uvkpw}2P9A>~nrvk|Jo-Qu4jN zXJWptI6OPW?`G?@FN{!v2ceAh#-F*()_+vJB9BPR&?~I{3r|b3_X^-gvYUezn&qbc zdwI!5a+1+!V)-lIMera)SSHKDSFFR{otmPwDs9Y}qPD(UTiv6~&8Ip{5O0Y5I2;T& zA)3!{X!ez=W22MqF1rFMy%z70OF;;2>WUx76Fph-`zLhLz3@`U^^;SSzcDqzFgWs( z6bUN5yC}h3vQalL*17_iUSoyPx0sbJbItjmQCecsO@$qKkLta@^NY3&HhBX_cqY)C zIk{uy(;TTNj`p)sTRpPZndl&YBS3pA;`qCy1V}xI1%l%oaHGGSEyyl1F?r28oAEsl zKl9OK+1J#L>|u4!aN*hkauq`j@R><`K#H9U+si*T{aEe0u>!vLHrVoFs;hM(g7Ou% z?i%&L7iu=!hzUaiN<0TzdGwwWB+4885@;(LdAh!}PLH%bQ8f{`>ldZeE`=VRm9kBt zdI+KYj3hU6Ri)65J9g07E;trMXuF=c$_~^5@8R2@+I(blHO&^GQ6=45*wWXdTo67P z3>$bnvA0^G7X>>ocOwa#xFESiOF-s5Uy3f~sspvtDpxLrlygx^8LCl>s}bpw?XJes z-Ek5|nm<_KaV`WPwq3g??LAMU7(Xsi56_$Mi)YJc{=kVFj4@@8fLx8Bxw?xjlw(@k zx2~M4-#A=ZH!?b7H-1o_K}X+nJGY6M^&>t^P0I4)<)2Pz=2d?G%PQcDBsZHgX(BU! zzXp2pq4T!|_NKm8Usc26Zo;@r&1=Bn{pAcnVS`0#1mpbc27-e;JzM9IGWXw_9-OgG zQ2Xn|hn>^ZyvfZ51vbc*$unQMf%EJYPA8@R2LWn*+IJz_=cK>?v1IB#%nN!gbcc=h zyo^pQU(b#!xQOf+-{?~YoS}YRFZNaWT3NQd?@Gxb*xF8Q()12K{-HT`q{SjLvPO(~ z8i{{MwfBn^;gYj2mDl0hsfqG1uBb}UUnKK8ANMf>@3HuDij`9Y&mXp-tw*^H?<0|5 zb&l|X4{7!_R|4l|7#WZL$dQJDSY<3um8D$?IeGz-A9T3zk2LVo<$kGqUu{Sam41G< zIu)gjEyeVT(TpOz-vTR;mV0P9aEglV(Ta1__y;4pVqDL(>!;dovO9im6L};;*8aCr zpZhYyU0cyT_;NONn^^&`@BDoD{W1lk7x38Xh`oP&pym%L1xOJpwk?N@5fh_-@`{W84Hkye|a9zXTanTTJE zlQe_V$gC%ONT!&V-dZRVdDlGn`*~AzT-;QGPY{yDu!6imlJMKlT}3tblbF4S9qYB_cuHg)8u0lHg7myyezNm_AXjH1cN$WG4{GW(w|s*xr#)oN{3| z!}gJoS~mte9Wvj;c@vycN6pY9yrlD84r6WYl`4P-et1N7b;oo$)ON>kJE0#cJ{GbD zW-nkW>R|h05z^}R;--Z7->b5*^mamY3{R&~rvQM!QQLgr2R=WRZ2Zw|ta|UsGE}^M zQ|Zw4twIR7-AAwFG*=~td}rDj72EB`rE@vvhd-`M*P~T{oapfJ=%RpaXmR-A_b~@L z!d8D?|6eOSn_i{Nj_NeU@Srs&NA-1IbVv1nJhH1glX~d9Aq{KM|9!C92qzNw`Q#fxYMK#g z%Csk8n)vdfjl9(x-b;m#_{aZY;&oiMGvK^Jn+t(zN9DV~M9EQr#*~kAZ+BFR^azh6 z5JLRz{8IbPJh4EFWmv&8i2)2+yUVyn&wK+-o;~(G-cSvS)K6h4VhPE}OX4{fa#W)* z>}pG?Xt&|E<$vx5?)I`1n>)e8sruoe2_%sT>Lg5j0C%qNB=1Y+(NBayitbAuy)=X_ z`J>aVmw{`2WZ7d4myQT{@H~rpeEqYaA3A|eLH+>@3zIo|>pFZ>pp=Y(*!DB|gSz6* znsg)a>p?lXSM0#a0N97*km1Z)f9A}P2jXExHS@)FdPuVLY)2rZHON$Ji(LC>AU3yLKU))OD3NXUV2ZwVZ?@tI6oJJ zaYWj%Rv!!xbwrUV1HQ=gSs6S#+P zUnGii7sz~_lI!slr=K)7eYm(_R(zv1%76nptd4JFYUhE*5Me5Zp;D?fTk3t+g z>wR|J-ipc7>R{;NT4mI17s$a3c8?g8tV$r2dN0;g3}3<>uMSs=UHB^AG<8DIxRh|j z_*!|CV9e;J--bTsYt+`X@YX~U{zs}Kq8h~(($4AA$LF0))G%3*SVsqo8qF2UVE-Fo-t;_c2X{GCx4Ivh<6LwjJaJ8 zHuDxvv(FsDAC7{A9F#A*jJzv!8;cpAM|h(s0Qv{(xDPTxJ8O!n>E6PAkMGQ{;bmMN zX-pUQNVxF+z799Y0nT^_cSLX&tiTlOficEbEoS>xkANOjb>b^DpghbmsfWe!o)o;gL>5F6 zp5!5J5X?bXK?a>T*rK?_GOX$r_;1k1|2s%@|6unscR!0n*6}CIXbV!wMmd@7FuYM^ zPxe2o@6DPxBl2#n>K{j@PGiLzum)M0E*uo4YnJDj?m4^MF`k)uJT)ku%klZ83CBZV z{hLwFm9Qmv#K+-Rox*kk{CJ(%`vW0@&TN5Ih7y47NtXstE39Ri+Pl*?1v^w_iyR!X5^M*T1|<QCklK>n1X+KbX`5hZBgt5y>%#@Bs)Uwuhw8_YbT!}a{ zrpQ;HWGLaj=7dpX#JU61$E@q^UFEJXCue`H65Pn(L;`5rA1TZMpK~6Nxr54;$bn5Q zWkLvtUjz)=1y2KK>ptsoC9eTf`QuofaR!28I@(D!<~}z8&kv@(}O!h-U)&j~w2`r-S}mD}=Z+nf=LDKb;FYQx@xeFdS(Y zDxR>C0^hC!!x9GiouBePlJuH!)~uX^2yfbtd=_5tYe#-2-9^t^WJ)kNs@c?b+O*tw z;B-pck(4?fNelah-aR~VC;29BA8ugHJjtm)R=n!ItEvDI&H?=4lAZGx zZ~EBQdEJyI+x1LYtW+s)`GgIp)(pY|Hy4 zE8LjaG39GLWxaq)7+84ro~KHJ(dh=LIy0%rH2Guw53<;9|7Au-;}3A|9?vhX&7RqJ z1CI^Od8A#=YQZa6hA1{5&87rcaJ=f}QM25Gm9wEQX@A7D+CcKf> zPP2h?mX=jLu+OwO8h1Ho-S-b{7PKm~%5F&#p59)(P8oOjEWui4M9)sxx8f(c;&wRi z=AP`L6w`~Is<5#SUhIT$#}FoIS=0XRhV*@NFR8B_CBS^~&(cdM;>NbgrF*L*%b?-S zq4iMO@n}rQ+lpjk!`{~uro;8Ur`bLv6AewDQ5Pv}@tTa%6NYseT&cSgzoikz)Nv=<(roMFuUJ+`A)Bozmh4>!;DxARs4>@S0l2; zik)Sh@6tlY9dBYo)J8WLN-vdn$R70=HI*$$IXQUAC{+Ph%#Ixg_}vpmE>QgmRKB-A zVyas0Aci@rJ&D$^b3qBMg^^9cr$?%ovhz`o>MVw2S&#n^ zY`WbGCUE}1m=+b1c!;}R1~b8Q_$KzO`!U8wR;DwmZZFAshCe`}`9=n;C#v9O!H*~Q zz=SQdsz$murDJWd)QsILJ$JjyZ=R@u=dZ-*;1pCdn}MOTuuAHJWr_cxP$?{3I4f^d z7Fq0_2R|mS0oKD8srtZ9-des9E=Qx3%%p)y%ub}_e77#tGKb-JFqL7nnwL=VMWZr> zZ;MzvQ^uUu}Sr0~iysFjq6A4WGL$yG*IeNz|TQJ{^& zCqH~Zhnec7PYl-M8;QJHDXTu2)n58h^M1s6fUL&k>W;6tdTV5^i4A5n_3|Ng zj;NqwevW5W%o@%oW%o}4BM%2axm3aW#ReQvI4Qw4Ge`o|pkXj1?`k%-^nR>195@)= z$l)gE0Bn0fWXxZCU}^xsfmIgD#(7|xT_;@qqa}6z1Tp7%xf>?^iD}*d&R>Jpg7SF$ zMET)jjR4$U{IOy}w-Y{9d_>oq)=^8!`j#Z|D$6#134<4k^4Tzz{$9X}I{Q*sMSA*- zu^Nrntc0Kt9M+h3)9zH-n!0PhRbgqcz51WUm@{NK0B74fC;wDP{7xe)TluBCRD+xH zKUdNGKUeV_VG|I{%bQbi#%H6{&xXTziBg~=N^$A z)6b;;lh03k&>Y=d*m4`v&vxiwU6a0~Fbbn@9s{Gd9p(SjZk&Zm)EgEB2TlqyK)ASx zcv>W~`1nu2vzGWdHY}mlP$Nl`Dc4PQhLq6ipknL!uLV5o@f0^ctNP~gfh_3;eF`>w zQ{wjGV`lUXumBNRG@3a83k9NiRs#dT^(s_V^X)?J9eUz+=!aWgNSoHD z39s2JAU53?qLSO9gS*%Inok0x>t@>uF=y1IgzKms{;-giSl+wtx;w6HhZCo-bcPRE z+jf;a=hNjg%h5;Jy*xw_%*>tA3$xsm1=T*+z?6N9*o*(ioUYLdgP!#dFH!{Rj6bkk zSpVem4xe1?jK6|v0cpEdqy0B{^h}1Qs_9&kKy1e6i?88w3!P}4PP>r)(%ct7URFao z-ff@PBg}lVu%XD#iW6t;?2p*ke>BZzCIkFR6H~EZh?B`G0!8ddu|~&-1)eCiG}a9S zf?*VAHC^2=RSDD!7fjAmH+9X`r=d)#6bD5n9bZ@t+O1%@$l1IhM${>(wv;n;C6&!% zM7*4~F`o{ygCK&ZXEV!HQsD)ZnG4J$-$+?gM7Q7ZeTxApA4x|{_L~o67vr8ZBsdE( zAUFZt@-`!M+f&%1g{V458G6`5in38+4YIaZR)PrvbrVOt)I5-}LZERB5fAc$nj^l& z?EG?BFZK^1!LxjG3xW8_Wpj(V$0#8P4H-GX8t*3+Gq@X7s}#+}PdP-HV#4HPUI6<{ z2#jGXuay%@I1zP0__`aXN~ilyOKm(OFbnco_GUkKK>~SL)uxd$K9}V6UbrpbLZh=A z1%uM4H>G+;BoOvDH`{RFZ;%~nw-ALTKz3=$#NmR%u9C^jO4*gx71X}s7iVN#IuDV3k6l}87;VlMT7@mH4 zGF|D~d}%C}&c+mRgoIQ=S|iiNUh0rKZtruhn;M>&gTd+j!7q923EYqy zWQB6kUN&>!Smp(gA?>P4yvX3+lYsTf?qSt;rZWSXV9@H+g2J}&q9aPy3~pl#`q?@F zv+v#WFv>Fz<@yx$^Fib08XxkTIx(Ug>ioNft*~4d`A`bk&N`S3tZ5Kj@cgi6XKV>+qE&#p^$OXl@Y>?8cTj zvN8AVw^ytE|K_qa2DRDjchtzoNNH1K& zShx%bJI+wP9qP}>n<@fGy!>S9bgg^AF#=e3?_j1--Usx(Cz2WS*@No_*1hj`R%@xg ztum3R4?ix`Ib*8izOM2jT{xFicq1J+f*tuG6B4TET{h4p*ev1B{UPvf5&8XUpw6{w zhqlC-IQTkC8;A=1q7nEDDe0ogttRW!-z`5ANF$!QnCCpmcpqaB~>;ZeGhR?*1`hZ=q~R`@-?Rf_#?2!hbZmpHQ=!jQAsdSq@uo4f7of+e}mP+Q^p_Nj8SRc9|sQ*I>waG`_W6|h{at!V= z0ir@jEA*(DiabDNEM~?uZ)&nX0iyE~QLeP&k|NY5ZHwhN{|{V~lH+&AwiO?<3@7HB zm?2Ltty#gc<#6sj*Fe@ya+eC z(c5k}zvu1XoQ{5sxGVYaDUCC_d(jEBm<{Fvj_76jd_jQ#cczb}o`C!pfCn^#6o{ zX{~2l<9BUyV~jZKSEX99-)Jzqc~N#;gr1|h)}RXiW|qzFZw_sQaab>MX@9w9+aoGz||Q zg}3b(NU%v*bw5%MN-Onk?HG%_ImIKWzJuT`#H}rgzxoZp<8o3Aud3`5S82UZb`>!d z=fT^G&P4@bPP7a%v!9$ClwHu93eq|U;~d|Afl21Skma+^t==D=A!Yax@8(*5QewLf z^1sYc#MJ9qwt~`a$(Zy=SI;h54zpQofDjC6MDTfed1I{ipbV)U#|O|=U|B@_!8<3{ zb{h(wjNl@LxAaHR?4R{$fP_8p116SlZaKsJ*X`8r48 zkB|wu4uzhE(GC$y=qD|k2#hHKSqGI{X02*bQQFp*1iqf;14G@NXT1J6h0y#freGKL z@KA+_l{m%E<*znxs`b&DQP)KL@S96N>YA>H!aGNfRa}%~C*ngEj@2uNW|))|Vo>2_ zV+}|oVwDE^MZ}fU1rhfav6!^=h;1|&Kcy^IwP=-Sw%3IVNf8fTQXXzRIU_NB^2K95 z#uk=-b)Cpe*$`3_oszy@Qd7_>uYJ8CbjK$q=f z(GtFwu*qnl-R%VPA>Y01brY^~Zw_6i)TJ5MR;QGCHqt=zysaXXZGai)(GuQ|dD<^;wb47XCgVI4dJ^ z|Hi{|Hclx|@lSIAFcWWa0EUEvSUtVlgZ}l#c+m4N!KMQ9I2<^gpcXTy=-b@wM5x2j zx7OR5l23`3-(odR^I;YY0a@coX+w7nQC@bY-bQQFddz|i#A<*j@~(J7KW^acM1`kB zU4^fq-Ai8is*#{#TshLW@0%;tuD#Y~-WeA$FcO=Ya4(nT#ycKmw58HaxF~}e>3Pez z7?*Ci2lxN%*dsK#9;`sMc4n5q^Y8OLGq2p%eBA1Q!t+3b$Cs?N^4CLt${rtOh$z60 zlqw84`N{YfS*$g={)f2uGdf6%dfm7ANb`>;V@R5^sgcpZ_g?tID&a$U&unE5s% zQ#E$$Xr%FDheHm1DBb3x*o&3Z--nJ;tAxTQ*Z|V%fb-VAdf&DWU;bo&62W|)Gy3Lj zoQaorD0QQr8+k=c-f|AUt-5a!++W*FWx{!?73@`9Jw-of zy^VX<^U@^^$M(0=#}WM6_#H@f(Ts$4E!wHT&KA~O&+YKKo+A;0dp2bQrdD@~X}HAd5+H zr30OgI}RamRqd@Tz1M9!?b;p@qVo}1EBPnE9Dj=6hWUo`h4}GDTI*|2NDGGUF)yIh zRHw%Q0ihmt!*itg6FW-(x*O&EqvItaH5sn|GMRg6(fRpqR&JQVSK2n&c?U)Ck~0Mh zz9_&uAHh|Y&C6@;Qpp$z1DEOh*gjSm+AX$JdDA!kpp zw@(>RzWqDERrUn$oelnS%Q-J7rlxMUm@YV6el(HIF_=J$Z6)61B(7Wj+eCiqjSFYW z`9lGw$(2}9XL=wkHr4e*^j=cX<~~X5O0P8MsVN^&o`v7kqPCG|lTgrESecx3qZva(ehKgCyGh~lGN+bz(!N?xFBRlQ)|7te=R8idaiA(8)Xh8_VZclNnf9DT z#wR-Da3gbT5kGGcexpw+zjXc>m)!K1*G5inb>(!CXaH%OL;}M7LFr!shtxomnlglB zreD&@YI;38@rRc3KP;!cXew6Yy|7h$p{jty=WSkA#mJSIH>BO#Cxe8#IOkKg`0|^K zyW>@E*)?qpL>a1uiy(;W9~pMS_{KEUnx)ktnUs?Z?Y+p1f5mz$pnZYCG_+&|`4tcT zF&er|nd{q5cS?LA4)HLXzAoLLk!fTCBwuT7tY&|2Er({27>-q0g2&#mSd3w3PJlYB zVZM?u)-faR50i_8QGv|;Z*V_5#f_**B3zn!cBmoJrF4%ZLlC#-utH&{4Zy+l$t_SC z_>8(eD$-Y%OlPUXaJs?_#dH_Qa-x6zN;_WJJFMVYOOVnhL8Jo+n5K!lvR`1`X|iV_ znNx{%v*`m|3%_~DS4`Qgk>w2@GkXk>wPg&G9_R%lDjk<2RY!clb{y5~e zT~V6Jm?)5sKG0ooiG6rMV*feOhWdPie)M{M0Ob>ATBA(5z`F`S_C1s>+^GEvEAi!z za`&f2WT;mVL4;kN|5m3N<)or=-iSaA_E!Z)ys;csV|_US9=LD{3X4Tm_61ypW}6Cv zuUWb1<4&IAQZ?SnrX8=L6Or4jF9V+d0YPf!=5KD3ZSrHaF{_}^_1PUtaKR0;bBxcy zNgPj}JsaQZ6WqQtojHk{xp-5$-&sR~M1XG%}Yc+U*zloJS)%-v~s$sW<1;X9iD)Zs> z1f`1eN4A!&RGsaZQR?AyX{uKFIDoUx9=LOwS*vwbkpU|7LI8F{d$Y8~eDw6U&p#H}0UAR;mOL0oFIB9k1;>m`!*pO=z{p$8p6FKI@CdIiAHtGiPNt2Wo)c5_8MOI9Dy)I_Q^7l)lYpL_S8%wCb-5P{~xOE{NP z#CSyyt!ikM1OU~ZRoaLG)hDh34WMyDNraX&dD)->Z{3a$lUl`l=0jYi*}=D;V1b0C z?Ld;s#)L`nLQ#&}AdGVQ@f2zVvtC%Ky$5cu^vl=sLHtt<=M@le+G>}ciQTKzKginT zBlwuwYz<7&2X9j&jLhx zHMUwl^EP%3{v!2^8s=n~J*Dle&jD196?-83_z7qWvDj%?8f0U62{b{q>XOsYGA+FH!qqS zd4d@P1IiPO9zvZwzlqXo;ta1bHfv(`Y&-Te{w1-{x_Vf1j{XKJvb1R;Y~Y-x_}O2o z24aj!506wrfR(7`lm0~q4-yLlpMPw<(6PS!-&x9vP}p0qgQc^&cpkcOTCOG)bxlS% z+b^6AGOH9Q6rpbfSPdFl)=uu?|0Zm1yR!dmL0*}3;I$>6C;Z*%h4z~?IM4e2s2?jO zrekDj{j))wj#1{{w*h|c*7(ZDP(dv{C=6gV!_w9XcStiu4~TN;TF>PYP;1hA>U2*c zy0xVvNo=Z9SS{Ma{=e&UR;7LYdBd*G#PGU;Rcy6gL* z8FeZ%C$YRiJRI;qV|6#zn0~WqHr_~`D%j{95*ev`pELRWaVYO+&m(Uu_!HUhf2RlzQ@&^TrfKp@X#CZ% zCBRf|w#RD;E^=V7A=>1i;W7JR=?!|ZuVdQgv%wO#@x-|q@u(~i5Bo!B0&O`g7%4u( zmJcH#k68EO01QtAeKcLgK9*`Gq=l;T8}zQeT-y%*lBYr?mLPz_gV(_a3$V7V*lC@C z<+Y7bxM;Fxso4f=iv(7y6EE+^-)`x9WhM;(Gqv7hH{jsr9M3>tU!JPqxloK`*&S!J zPz*z1THt{bF14ll-{>A+-fN*U(6fZ)>jnF_2GtgBv(cAdRyc&uZ}*I?Gkx@3n_;Mn zDcV-0;OdSE606Q8kU?DCLSj9GauK%e!-8?kJ_#Q{v1dNR0}GMHf8ji5@-z)xea&$O z`%cx+QblUkG{87M8s1}cD?}I3qRN_b#Pe5J~8YV;R z7z~1|fKM%R#NbDAKyW00ge>?`O~ec7e|&*Rhs~vzAky?PUX~qzT;s0ORasn$L_%Uw zEixV>x&*SM97|!^8NWH(R~*oi@e=wO(6Uv(6hkRZa+imB>vQZ=gz z=wGISHBbwjQxzk>fESa)FWe1gaitNnj(_0>f$BO23Xf_05)hD`)VyrWN~3u+lEw31 z4ey@Pv=W&0atu5FBg>C?4-Xdn10kBR=)PPZas$tb4>?feZ}NUjJ?HHeG%N2d@1|?7 zQ*{dh%(;kdf3nI-b^cMtb@^(OukxfOBtyFca9Rc53R>2bsdTETSl5bOM`2vidp_Hd zBl?t%&*8?GQ(kCa!xW=7%9`}I#{Ce%q0IHw!3E`>@;n%S2P#VlT5&B)3m4&IH!H9G z|AWV~l#^UaL8)DyP8G@RH5M5q(ZM7$KKTN!Y+Ed4Lu+V`r#x+Q!Z^zl)0?c3cE5k? z`Y;ZOuB~%D0fs1uYNl$zr?g#Kq}>QqRWRjrUOr9-kNh?=0g*@l)auX7mw~RLM@TOV zS{R#c=YcOerT%2qss#-4iv@c*_?y;t<;aJ6Em`e7o4vLcxW2y`lho2#qrFWW+G_T-A?*xeS_Oe$^ZH&Um>xx6LFsm5c$WKW~3d(L+Jg zE1QEU-*~-Otc%NV_lGJR_&r@C>EEa8ptH#-bA(|cYH#n`>W-2^E&Cn7iow@<{;(d4Wn8_lyxwH!zCFdce zsXI%P#C^2gbPhF_kp16sVH{vOQsjgdS_7b?BtdWcqXPc8%9koj!K70;o1dDYVVqp4 zC^}PUxT^t|Llg8NAUKz?H?e|wIHha>n%Eoi*eJGnvrAmG&v_n>c_oq5!UvpWVkK0B zFj4&fi4^{lWvb1apQ-Or$q%69v42)AgW8Ayn9tb4dlZ&Ar1iUhCjebfIkCxtgk@ zQC-jRB`#^x3)v~&m-fqgDpq@c#Gyws@wE7u2$98jJ9pt+U&8Iw$N0u;{GDkua0Y&} zVR`a8(`=K!J{m4AzAOeXK3h;^VW*ya@gTQBA$dN2yTJ6AS^XB9KJiC^n;ENC<9e@( z5niBk4_vlUn&)UF5yZtE;HkGx2y}2<1jSFn(%di{kCCW$=mkqb<6!t6K4aXh@bKe$ zfj>lgS|1{wh$6FqcUZIXacbWWhJ9>0ZY(!e_&H>x?s=#J@)(t>IYliLNg$Mv!WGEH z`8&MmbhBoRi;?wH%q-Y&f zFfA>P9oh^ju}N_LVz0OUJ541TL zsmV_sluM6}Tt@3ERe@vv<`Z2J$4CFqarWg~Omj)~!vzYIi|(XHk+qwU2?;q`gYuI^ z-5|$BA(p6_2C$)4!ZA2lnZvO%UYecMU?Dyj+g9<|?2(RpD@XwPI}Nep-CRv_T5d== z(sipYzIf_j!EWab(dX<(H7&WD4(N4*<_cDKAM5VfXc}3;GGhYUtlM@($BQ7;(n*&o|`A4LF8I*ZNYbf=V~b@=MunI zY#4z2fHd+N%^JwS2UtAuVkLY7$R-AgM&*Mr8)&eWxz%>pX>f9G8XE<|`FnIgUGOR0 zL_zK2Q4aie3y@}Qa2 z-#ngZpTkei;Sb&zJ+Fq}>}1;aoK4Ai+3@}HBv%|2Bw?AdLv=Vpy9tUFbr4Y*EnuV0 zbf4$htKM_bADKI_l0l+F3Z_e&5%s9OBB)>C2B)Gps39Qq^!-6->Zh9q*VfrMaP}@( zB@r;30gT|IIh^AW_Ow5DAR3*C^~|=4t3;3jU!Oze7ZT7%C*`PF8mOYmkGk7((NDq3 zkN*+qm7vtBBvBQ%0%p!*PkGs-FLtZvUU;gMjE;rnRvBnE(;(Is^EGh@0J#{PJMs-3 zHr<>!2k{(RI1~1xd{Ya`<@l9FR2m274eQ_?hUZmYG)&EuSS%RJ=k{h$(NYi){JX%=R=?lrH#Rll7uFcF`E>_HeTkqfnYbhNe((zggO* z#S9`%1oKZW^z|YOWvQ#!U_^MQF-rNIxXAJgpai%vMxrdn8D(yPdjM~NZYJvsBm>~F zNK@r{LYrRYuM{)Il$CJhXd((O_}{{|3?Y_nM#V0UQ?tAizkz&JWP?E~uyoXQ`NP1s zr7+3gF~cU`YXJcSX*cikE3ETU8|GOGi4Oe+GHFEA)fkNPkvEy3o2rnIXvTi^4(Bq& zE{C$li!WkC=-A>Ph1I`jiwv5$d8^4Y>_M}I9o~sC-aF<@k5>sM=OqT)^!eqTD!J)p zYY61j0;Y4D*S^Nf1CYu)zb|j<-1*TDnA|Dc6sT+;^UG7EVrbFyxB>VaBA<;+?wAQHKMx8)2F8982m-I3bdqtS!=m{3UyvIU$%NG^m z%LHWdRhCoWT=p=@3DgX)Y$yr)gx#*dWZDXP1Aeh5DA1-hx&_~$V*8zTS+fjOlu_^I z9#vHZh!MfCLGAcBHfQI-=l3@L-hKO>j6RKpw;g+A1}Tg zm~89MnjvO5FP08$v{R1NoGdXVUGW%n+EsDVqq*`T6jSi zpAxKNqkW?Ay7?V_PjT%1_9s5xqvkv}@vo!5747eHRN@^OUQ@ycJSq0}d0^nbH@=%< zqq>V*r*7H49)fpjj`WI6!f-r&aPd5rM?Rl>y_!L4AVGNEx~lhE^Xq%t@dxir-pw(> zd|3-!M_U(yfKXvCNJ`~~nm-771c`&R$N33S^kE=*hJ&r@#AQma&S=gs>HMioa$rQ} zCM3DJZ=wasABWY!;arRdyWN6V_Mwjb^5nzeNi@f}9XX?5&@|e%=_zd2T z@*v&8mex&%Y?#rN(m+sR_T+UO}^W^kEm?_x`)MSna& zhja`h3?JX+f@O!->UgZXOV4EXo#MQ1wOf(x*4LXfg* z79DK+vP%tQ@pzIA3~bwSlxEhfr-49#%)ylo8F8C*%ZqE>4BUhKJlNqgSz}%C5xFQ*#(uy12Jwg_tA#xpawku_(YRXq2v|puI zyrVF1e!y|&ef_&l> z%sj#MOKWIj;?>;i4%f~yvCm&qYC${aMpY%={X&?T;YOZ_DfA_cJ(jW%@2S}vE0Hq` zfCT?)B8+nyT$u(xWZ5*7jo_uaTyp6JG4g2bjAt$(R?v_(>6X3FRx1A3hJfxU9Z8@P zZn&u-iYiN}E*V(JtXR6`w0V#ozISGsJee%Y31Q8a;r>k82y60VqU>`lF}%XLZcqpnR|H{fYKFn6IV)}+_=~T?#7s(FUK+07Ku$) zMVPLQ*y4~MPX9NVH|g;`M4YS`KG1@7`;eRe*+B&4t+uzVJL;MR$%}7@EGCyoif>l; zf0&sFJHYO4SYZ*~{5i@lyLp^!9^*Pi+KoJs|D7{-9zP~hJ|pn2S;{3rK`}TzLe?m2 ztiQyMQPR{pf7Vi;H1pt;4n7(K_3XMu=J#(fjqN(>IX4g@@)$(e&a*N5CrXUyEM4uB zCDcNI12C3i-i^e-Nk6)6yMG30RL$WIVe~>BE)xanW**Jpu`)U8+!DzX~aYw zoYP|yZ1f_G7#Y|lBo~XKCq-ehIucyFpwAe1RCk}#QOIE{s;-tEnLPUv*jyso`pI`V z;a;hhRIM@33GY0Sx=lpA^%IRj#YkGNfaE{j_p!G*;VdbB+ zK9ZNisjjZ$ZLRmz?T^9x?)tmQHvE)x1k2WUL%B@4**qX+rEt=S0>sft0UPVC-;7f+K9)d^d)*o za{jk17>IMdl7zTF;Yoi18c;wr##o4VS1Y4A#4?$e(7Yeg(lan zJ-=QKY&`G6F_7-~LeZi>`#27~f`d#?plE~zr90SZ7w z5|EY4#q$%fL`x-Oho?+bz-L2r6h`dE2v4qPfQ18q!MNymP1>PCIY}49^|=&54)e6D zT03=IyzFOP+1DX6*%zuC*Q8A9(Sc)oA%aO^mmL z*L^=Rzd;kIXVWw*uJ#M^2s14ggVdV1&QN&RfG*ZDBJRU}DFj1gtTQZeI_UGEIN2^`{1r;BQlC>;Mh8x$S;`3W5AUSAmQVjJ7mHg$mA$#rPT(rf21X@yI z*>QoG)mQirIe!}ze!#>C^l;55ObLZ`)~htxpz7*>`|=&)KEpbfI0xrxY1OXTn0-LunwoXUB;~2BcSs*E7(pckr67 zZ+@CwB`R}k*R}%3wR6liEyYxadO9mX;4;DEHgGn?4hzv7 zl8}P5lFtO@Q?^PEl(NTySiLxG(FlZ^qV3ddbGc_;Dl6l`-it)Z7+jsw1{Nl1CML5y z3=t=PnJ3ICux%8}$%~itl3Hh%#s4ceESt@xs*(T$4dd9obC-@bk(MT%t-f~6jBzR| zfc`J-MvOOT=6xP{lFHr5%qsfeMZlz)%v!#6pN#ubFH z$CKbq`X_pA9}yg#mg?;<@^f^yx7~LZP9G(U%~ph6=t-1FQR-K`Zb(*m3=Nc4}&mr+Y zt>*`srSQn$=Wk9lL)*NAHi`?|?||)Z`F&!Ec9|NTko0NC-XKV;fQub!$B9%dciM=E zD-l=6gAlcUZuH;5c|$#ZM@YG9Fn$_u( zmv4<+x6MLKSQypKPK5|xX&6(?>}1#Beg*W@AIWBq)xy*x)Db&QW*vo^ zzb^i_ZsEJBNBV|`i5J^lA?NSg!t&Pgazc4atNM@-?RdBzPGc@fG|!qbb_8yAvdzt& z=+hnI{w9_ICdGlmicB<3Ap;a=m5Y9-Z(JRC(MAy<<$(#yj6DDP6)aUvs%C|; z(NnLPyV@ zIky&v@JsspZdI}sG@6J(Hx`MOj}bCVR5I{-X;JLx6J}-9jAo+Zt3n~W4|I8@Sc$HQ zkDj3vaUpq$HjF{Yfpw2aOJ2}#>o%kmG>|~ zoyQzANC{OYu5}gNX8l*(t{)58>qEetNwVg%FG1o^>#!rqpiYL%!g4`>aULeW7N*T; zFI6ye79-;gQz1zoFJGj2o>IJ$M;?T0;Sf#%yZp787Ft7E$+hubT!v?acqM@lf^PMIhCt%WRpo{s0N%)4Pdb#qLO^@Nqh8 z`sHsE5b7Ip>+0$3MIxpAQZ7Tz-O5p)YBxK^f7s~98c~#kMR@Y+EQAT*o=ca~xi(_a zvJ3aWZyTySV2_u12XDrKUQ(||YaS01vDh2fDH)^yUjC%Le1|1br^W}4#=QuP&uOR6 z(q^f+ts}@Adlg&58+*G3s+BjJD#JR_yZ`oTZbl!Be*~1KiWxTuDYw;qYo}$vbg&ax z42Npd-?QMFJl^U5q&>y^d6i&;-)_oaxSWmK_p6bDm}rWPwSnS@wHH32$=OQ)2J*lw z;1%bkn~FJV$48p26-glED^R7&=fLXxur#*g;nse}vHo1I&+EP7cCzR|YDF5zX66|+ z=g$ZWsoNO%BDk@3d?NM${eJq3@g=XB*3)lc@1t)nP$XkPx$tlTQ*ukPsi)6rRI5+P zk;xY}Ft$6jzj^a#*xAC-f8>v^h?xgz)#WM7BxFHMZ^}Ms$}AhRvrpJ>IbV2E*Q-9e zl8p~qZa{i3s`DV;I{%H`E+h5n6wMm>ANU94z(f(-dSO8Amw{*%d(Puu3ux5MjT6J# z1Xk+Azlb<4oemJ|?UcO~#C>&v$y|LI!S&azz}+(AR?``&sI}=!P?Il+mG?9dhpMBo(ET<@Ke(VyOfng7C?se6`&Zf#KA1GyC^v|2q!ZGbV5W+#+j zW!0d36{)ZKlq0FtC68kgUdQ*Emn?@S7rGJfS^x0@c{7J(E?)uG^H<(LUr2iR(;$jt zN8q3K34d2z1}d4D9D4MS%Z@kd?f}=0;eWdxeyII)+@GENR3<)sP&BsH6S~T=J@$Yj z6un<5d7bW4~V9*XEYd2M3tDei51^>zxLz58Rx0p_2fw-Vx8Kvb` z#ey2wj87Vj=$!}5Sm(1=h#P{jfoiweb;9uQK8`0&Yx{vPM(|9tSr=yjm^p)YV%_9H^HL)St;Yr}P5YoKC(z(q1~z6UN5H{nkkw>35~ zA7synbGr8zp5#qAFN}d6WK$2^oY65SqKRDI2CeE+kF+m7uE(c(Q;#eI!=J6J&wCFD zac9vY_<4%(S8C1u{`ghDopLdqA6LQ`P`(=7RhZHH?+8ybVfBjFz7JHD3x9IEPj@HCnYFuhYav^!85?2lOD@Bi`#8dHG+sZ7<)U-8kE=?XcD6K{oxONJE2XYa2*Ar zo$ZfDjh9DzXdg;C(+>8g3n|y|cps{yUdY3s_oX&+{|c|hPRoQx#X=2+J0#5K2BsG%l(!Djo17*sgJy5QN&_8I=pgLfWbZ ze(Isjyg_V*4)Y9b)4@xrkgr>OMo(}^&oUy7ZE+l4kk2V&2c=Y`+Wqi7m$AA#Jb^D; z)*jlfV7WD|mm+(Yaksg*bQvI=zP;g|dtva_dm684Pg3?LvKPSW;*9O5)4O7)9qa{V z@8}(Oq{a)+JI53>H}-MgkpkEvxsrt^TW}Zek5Gxt>|Wd!@>I)0RreyfSJIpcN7C;W6$BZu#t)+ZNl(88mE@bd#?RA|U=jV|b= zTMHJL-2*X0Hnkw`QPneVj%+Z|DQnt?zIowtBLHX=%%aVTYYJSeQ*5I`z*C^KDb&xZ z#XWgvtn=M;orIByO4RYt3BzB{uZ{k12!eDU_HGXtGTLhAt@oWizCOtf!!@PKg6uC$f<|^5&XFQ^@sZDD6ll_VSX3e zm3W~laYF=eOy%e4&@g)Md6VP))4x;F!9Ko=d%44zNM@Z&M}a_qtAouCDDn;WNHTg; zb4C2A(^tn!9h1<=R@7ay#tXIi!{RF5UbQ^#t~reRc*IJxW|w;wdoHsJj*WbOwv1O! zpXea0pcG~GOkBj$Lc;>nq?1)jd$i^#6X;zPnhy2TgzVX%+wN_(nr*@~(s=+%=-a90 zlEI$O^g?dh4dYqiw)!@Jwa1LbhexzvuQp|xmpq8M%0TDGSi9gaePVJS?Sj>2F|(hO z6e!o!`pedC9c&*DEXP+iaB;#YmDf>2tfx9n07hD9#aBI+ zv>Fjr6DXzRXFqAzYtEBX%K(Y}n7=@POMboZRJa2}C69Qq1a9a1-&AqoVtGpnIH@8O zIQXJDd;M`qb&F|(ZwZp6%+9eX0MQCa+?DW-&)m%T*5X{P$=jrFOWkVkuCo7yEe4(= zcP#tSKNgTtps}D{{tImyTP<>H`yw_QboVS4X0D6mrP`&0R4Gspj6-}*u_T3bi-Qz; z(&)c1qA|*bOsd?`>VxFH{afT;HhD+f7Cl*XnC(eJCUc2>zXT-0>5%7rG=+E5;}zhQ zMx;Da92uUo4{cvCjWBo61k{F%THhSV$;GZweYuH!;{vP=n~Q{)%33$CkdwdP!6y?EQq;JzD*S{Z>!=6 z6m965=1A-P!9yWfur1YUODg>Grbd}7#0*&A(T7n_K?r2{SxHj5?2H{H$%+Mf-ZSZ}3Ye6@~-k25THz^Dj0hhmJcZ$s-dMtR~ zL*>jtJW-#`_`_3U@OcPOy*UG|H3zMAIE*BG>%W)V_#1I$krs0?XjqgXK?I$0h6l| zOA+{X057>jNrS*!13Ru_-y5QaN%$3Mfi?0>N$)+7E3ZO^B|%u{EB_lwwxvLwSRAFF z`00vm9QV;Z?{GxDiINBQ@Gz;e0crY!;1y+Sdt8Z(7!x`fIgDt}SE;^~tLk{pZF4Bz zpLlI8e!yke-eYcCes9A8S;!`8YkcE{)cpYMG@2WeOY@YPhk3oCZ_}LwkZU!?Na!ZA zSQn-u%YL=6m!t*Bm=F5Gpaf|7|4_dV1CdNn2I?xy>{HPwqv~qNO?fnAXVL3iYyrBQ z9GM4O-XCVL+)xTCkB$a1etEamv}FVdVY(gj4fZ{_tM4@%im}n~BDxe{>!T_X?9w?& zpUI_t>gV!T0@Zw${?r-@u=iE11UFtBn+#})*jK`$`@4)5%!eIN?OutoEpZ8Thya>` z=gxPRhJ=9b$AW`9zQFqFGwsS)pX)R`s>Gzfa6>FJ-aFKcpYO82bi8+(bbnM`Qjfhh z%*GtM?$ylZH|y9;e0@9)Q*5&sUuQK4xcoYLa?^bBB_wAsq0_@r-{93ugJ2Nv=yjiN z3inJPS|dMN|0@qqBNyN+Hd!Xp`Ko5!Gr9?!3FKfqKhlI_7UzW{smaA1|7t>jj@kl_ zsOzqCQBR|b4Q%V2gNwaXuz$0q?gn(_IV)>;%aL*!fAr*>m5mO713PCO_iq&;(U#dk z`~E_Ng5mf4L>?nm>n083YWLgH;}-Y)6-y$OVGTJfCD%^X(;d#5stlx03d)Jd-ew$+8!Y>`k*4k4KfaYyFSp+ZSnDXKf9QtMKim z5yx9D>JP%z+2U+8-=ZBhd{eBK-gn&Gv-%-c%adF|3jJ4G?lOZ!V8>SR(X1!PZr6lW zSlz3?M33v4f<&5O0jofc@xU%HIw++KJv#0&W_EKqD()}hX6;kO)aY;z-sDCBf?I9J z3imWv<9Pq?3!1(Ku*_=R4F_B%rh*xW>*mmFV{tIRdPcoo`$gm*ZMQUmHw?{xwQlyg`E~xsH%Nhd*es{}M=E8!Xs>b| zLC_1#X4%Ox_A_ZI*)+Na_-{q|^DejQ*f!qZthJtB>^;z4PO278y#sdJYW+^`{Q8yO zB~B#p()^O8Sfv_z8*}JS5z714nHi`;q1)4KPGf*-WOor5rboz?mq#id4#(MoFtdaL zBYcE@5`0x(Z&qMeO9WVbNDKHX7Pl#JwVpwu%tL`oeADaIst9*#cp=;!VyEBg93fv( zNqL3L?KHI%v2R5W{QjOdnGK?&j|W9z0!br%R^?Pdy2WKC=3?lw((%AF1|$D%41g1f z4Tib+1W-@`Fx+tWeIDRc(;V=xJxHXQ4GK@J5JE0_J8}$OwfLhtVB^1k_h`jqLzagY zF>bPT>WdjTSADgcYSR(sN=y)|U6w|Bq5~D237N>IZ}ypY|GS{+mIOZp+0vxEnZyKBBq%!L zY;7m4Lkno}!yzG~HG4_{-q|HcY3gX$L;y@TJDl&yAW8x!&rU-G6kH>3PvO=P?=QZ_ zBXtncKK?u4aC};~iit3dMG4b5&5&W$o)Go6U|wizGbgw4s>(K8IqmV&*f8dHO+W$- zI-k90IjhO^=lG)?PwKz#2J2~N8u`bL`IkyKPqEz{5H*(1n^|j@ubzh)bSUAWS4KSs zJRTnbP%vR9>U`sRswutVukqT9V@G4IwXrjjr9V4Qfi1{jwj#zyiM$NXSvHj~fx-1c z{Ty)Y$CZDj+mMH!9S{DQ8JvTt7UD?ZZi5K&i*FUGdx~-5mVCNoSrw72fo^o6SKzezu#@x7q`0#%nuV4F* zxbR%L_+FNLZgH7aPK~?ttJu^gbYNZb2(o&5x^CbNXn0)pNo|U796pbQvm?B4pE6?r z>C%{NBw}h;hh3%J^UW3Zx|xs2*y-Gu(cE(gn?EhI>HRKtwV}4{?)DY1*K%=ak9y1P z<*3GvPx@#SUy<>;DUM1E+SwKVDFw|Ah>%kqL<3a^w&K0+u`)&fTM zn){4yn~H9+xBu%XScoeauF?M07~{T; zfmP!0i2bittF4~WBU$*zX6C$iuEUPCP3M27@ON2??POESK+31%h6LG9XU6pve`Mv%{9>f;=GMyh?R z{{|nE0v0@`RN7e0oXL9f(V8D>JG6IZF-}vxw)=NzTr?svOSYm(V}d#-yKqr6$J5S- z4?<*d*Lew$PB$a$<)y1lWAw)wAvC|ZIzAVhnTO2f=J^eKKYOVZ4+-1$>u$yU47O5Q z3dn*aVYEK|Qp0-L#WzVOmtUtFprx!t!O5t3sdv#0f^&qoEB1I<$w>Bh!+R0p4ohx^ z;L&I4Ym{Pw*4%rvPVzTcOiKAb-9{;l?gk@fZ>BpQfK-jKFX9~5ofwh!?nt^kH|;mH zSx23CRo+GmU$fuJF+k!((1lHR^=W*?2K;hxR1G6%y}QNoH2c-W!cmAq-$Lj)o#$h; zx=G7#*FGSRvmW{*Vp#vqIosMS7Vo+cC-Cx~M$LnS&X3CB{J(Sf*H4pcl6tREQn@|f zDQqav@vBQT=a{yENXW9L_*R2b52XlhrI5VrjPTe~ML=t}HY}F%CXSqa=lyTeKURY7 zpRAG%YqO`13e5U5VX)(uk}xl^u{qkW0J92Ad9i4~_yTP&^46g0*Itgdb9kmWxXYnZ zn6aNnX#=38Ilt`-ONi=2_(Q=8Jejbcbb`dl$vEV>X$g4ZhARJ_57 z=M8qwtVSxlAf6#8oO}EJ;ptnkZC^D9k=O^`oX{qWtv)1){m*A#c#AI*hds2coKq_- z@MP%*`-sk0kmbG*CY?}9@e2Te?Zdqy zm#VF{Zp}ws7CyHaIqr20Q*9$0t@lAHSBM5~{=pqrqcywWBhRpgzaY8#IoQfdO}j_z zkFkHl8`DY6jvZj1!@f^it9e@JXFq-9;qB3L9Sj=I^W?3D-qEOy0I2nI^!wvcm%>{Y z)sd8>Aopxotpq0LMl;nqxx0@M5HFohQW3nJqGq4@zXKG zLu4{rgms*y&=D-BEFXV~e;&JY7D|>vI8-=bY@K5NX#~}oSHJ)4tT8Q~L!ewhlT&}I zlGL7$WjL#n6Y3{s7g+IVuCb&+_U6sWUw0cIGQ1u-%XVUXbVWSqiP_v(1XI+eK69%& zgCO?HI4_Rf)&u%waCQ%~JVUAu%^3W$s|A|lHdz{dGk=y)mFTP@?dmg#{&QV~3zNz;RJp!|${X+e|+gH4Dx`lCde>xL-_MVgMs$)c5O?VAQ+iVcozE zG3ax7Z=dHGu*vb`x9H=E%Duw@YCdB@c0tU=&}_k=8s+`noW7<}nkARE$E8gD(`&`Z z=)!xzACd6^gk|NPrQiN@6`EksjR?Lst=7X*3q1p}4G`|nF#4t$^274@A_RQ=z(BK$ z{Hk#^cK33RZ?ES+0QP8;v}28agnF$VPnCZldk67E$L@wb{wo75!Me~vq*-+J(^gAp ziyLAz7z60vUE0hYby&044o0jROrYA7O93P0yedcka?K<3zh*vOvfun$ib!h~Ia!37 zWY_rjtBMXZj(a=6`Jh$LIIfd70k7RA2cc{Mf>VNnmO{VF>iAsG^$|#_gj8{P^&gBz zT`uuY5j0t*oPVht@mN5kY*6D@n>@-lbf#g9_Af)oy>&;P zDvm{_a`#P+l=ZCPuVS(Agpd+6U7L0qq;r!oN9I1t-a(wa3uSp@rrR0Vf%kF&Qe^z#2NxZU;230pJ<7HgNT0n{>FN0 zyCQ{JFseBL0@Mc%o&w9&#TH&RL@JO8N+@Ag+ii z{8sA2eO8Kg_5jB9E@FOs#m(SYaAZP}KB9xv;g5UQFK>9$V7FF&DyZJCg*qbNs+x%P z%N*r>>WsbIjM7?4$#;f#c`{U^MORKw3)v5Qf*lS|G~_{479@H4_bfG&F6#zsm9EjR zG{Uekj9pN!*+p^{b@{Gaj!@1XcY8{|qFFpXV6OiXUlC0y=|)|byzHb@%3`(GC1D!f z_y19;nJ{Y2kDW3qeBlH}Z67EOSg;w_4?olLrS=Z_s*Z#LW*A<)U9W;%>=HzV^+}2I z&PMYR$2E?2%Kv0cnC1D)EkI(DgeCDMrehfAiudyG-JkHcO9iE8cUs5D-8`ya6nRKU zXSyQa!<~;0(kmPEwiKHIw zk)IlaXfDdP{`XHfPl)$Sj$e+o46^_a4`qwslL~S^fAYv&vWYq#a3KUHz@wmgV1`uR zmI>nZC_o}fap#mYsVS;S(@*tcNm#X}W3hQ8$p0%9A2}p@FpAdg(f6+6@7v=3Uf&q0 zZ?7|aygXEpFMN^ne$l?0upF8@1dBQQn=yJuo^*P+~qj$MA>EF~X~-vA8#&Ch!r@->9gRPl&UgOOp2OmoZ{$Ay^1uS2uH+GsRdALVg3~^CcXr7 zshUTuqDhW^`z0yNIOZXRqtwx+27i1J6TkQd=liSRQe#`rTQsF!>p)-3b9n4~XEmz) zW~vn3ockTE-b%_zPp%JKdtd_Voag}YcS2CiuF0`nvMxP0pl`CkYgszsyFlFEk4T2k zXib`yI1}|WV$dwrEwe07g@j?mVLS_loOFftt#Rm(SJWWltH&P6ymEY*hp-3C;`DoS zzmX_w?N+NX-@?U%-as3R9l}DH^ATloJ!Tk8K7~8xK&gOD?bi_>7D!eVy`%Z?)(`8Hs5wQOg`^kzt5?DstkcV4vv$3NB{NI12mx$X5Jw{n&l?LWdz@sato)HL9JRK~uZ7|Mfyyg}kSKP)njEIumd;4t`)^Gh=OaK5*>H?e2-mrOaXmx@=2z+H^{Vj% z*M}0}6jiW#p_N|pIasxXs5*81Ult&7OSQ=J9MX8h-Py>{Xe$XXM3ZV@E?n7%RbgYBp8k_m*)1!(=6+e zH)R=P)up<~L=lv&=PvWBNW5O9LK18VCKU1I(xoB*^oE9G7qC6`X#?4nv+%Xaj$4+n zd)?*J{nKm(jny@|GFcl~*huAy9U zn&QM~53#K`-|Lswz{?pbE(hK&=I?rX;aQWj5^TX|gW`g|KT{};CZJGsT(PdxhY?Dv zn-1>N_u0_*yhO8nnzXq$qm<|_Pi$FVV*i~hyiug%tP<}LL-r^=FWw@^A2;k=e0;If zau@WIT$&huk(?I1`TRuL7C60>+#J8CMwA$u8kwW1H{XdRlF(VS2l112Uo)C?$X{ni zhOReg14>;J5>q!tORvj;aTx1uTa+9rc%7~Cl>j_U|3Y9Zto*Xw;(N7W9Qn{rD;ky9 z*+!ntIAY&MJxWd#VT#-D=htDKsDyD-;*!EDNF_kwMBthW86&2!T%-n?T)OhRQj%q^ zW8;wC50-f#&Kwgq6AmR+pH0r>mFw&~T0`hwPzV@|;pU=;Z47ANvYPe08Zs}9F=sRb z!^9R5b`NyGU=6dF6J>qNc*e9+7`gSLaaF_$^et`_DbgnKarD7DR6gGV#*+eiY&_rN zuKUm7kzyG(72)+Y7LSU^p_rV~pI`0BqR{NeKM) zlPi!gnUN4vm{labrAGE(RanPlK?QoRN+ipNtA%JNSSZ~-Yc7f{TrF&B1+bMr4~vE? zQBZ_8uZDtEfY|q%TL5|nRMqziV0K;+(w8p2V(yvO`O zsT_Qty8Bx_Nk0$3MTj+q8ID_Sen_p-FZYwHR}+g{HJK%1CstOD+CWkY)St;!$C{r$ zixR&ghd0vu?e}$)3~{x)fX11gpnBzSGt4+X1d#=2-dOX(}W%` z1XMimi_eaejKz`($<`KQpQ7ZYODZ%5OEbb81&x3JZJrKq*54g>2OcA)KaWZKV}T{) zfZ)f#d#o4*9e1l5wgbB4`e1h`X14>!=)jQ`54EI{%pi$}AEEG8UQ!zprT`vN>#wSn z{wrSDi;%g3(iC0vVhLm!HPH_hmI@nD3OXz+!D6tt_|#E&XM*ZeEM~$aV@debRKb~c zpw=Lq*rJcC*S&jakyLaB#o|goAq!Ys9>)l-Iy8&2-3p9YfXVR2S0$;to3Ew*-Tu)| zb1tCIkOu1sHti19oIDpVj30 z83P50im(kkVr#xPK+Q_}Dy5|ojDfICzhULG<@}Iz{o;q;V~JwS(Q19~bJD4Sm2N!` zPqa+l1t@wcci}JMk{K)#5kY>aE_#VjqlJJq83XM}-;S@~x+PMkb5yCQq07F2%{>;7?g6nqap_X9t>W)`rI)oBD2J` z;T!3){fZT{?N_Hg4$i{3WgYc_!;6@Y-O=#Msy^O+L3>{-B0cBYR*=;(cVA|MEV+v+ zCf?KdMm$R;*5z*)tX|t-z0p`#wK^>5oW=F8cRd2E*X&8QTwh01v(LJbQ?(rFIyxQg+76T2 z$m+kL@iYjCCb{=F^|e!ek_0Cn9s_>++px<9zc&to2hh|n~LB?j-Rq394)?wm`FsWgorcJ(Kff} zBw}6j@Oe|iqcCG_xhIIUM~D^b^V8ENVD-6fcz}2pS%LF&wilPkUQS#9!qGbMfD7&A zRc~Bw5W|JF)%4oJTb^D;U0gz%5Uny=nngnjr{miq@a@SGwek_KUy^q9lY0SbcGN2; zExX<=qgEd`5zL~lXYb?5_reRBb06Q3Lunl4 zK@fpbSD) zn_7?W04K7i+`6e7l>j~x3QHpsNX|BO9a~1ZQ03GEP)QTsC_dniDR;uw%pkS<{<> z@s)MPoacIHLHwb-kPbc?GynQ?{JiGTauyQ9`G=jEx;9@~Y$RTZZC`w~*mKXeRCr2NAM%VuQjIVqY$V zgdjB`-|zZBxHMU0QSqfvP(eT%8_QDE!TfSmii^u$43JWfUp!4k$Nm)%l^wprEKLsKouqSbzcSim8k?0M(+mKHi0cwCaMwUJds!9&`npvhE5GJ5`l0Y3ENZk%61c-(j;yRXbk-ff3!au5tB!qW%S$uZ>qgrW61hhFswc28RtUL+Zn z(PgrTLoM;PXt(LQ%2eU(!@>N)WKj?vjWaF00tFj+oZfg%`e>w_U;C|7M4ZzDqvZLx!Dq-`N)`3 zhQ+4H4p(a7O?bz=DHJi0=|J}@GJ&lKgF#UtSBV*lizc^Vq{(QYL>rD=pb515%@QOL z@MC?~Kg5JCXM$*3BK%BKzM}6B!8Vw%@Dds0_mEuW9R3RDx2t=WVwq&&j?(U0{qSvD zULmI1_k@Z$qTWKN zz#C`f9G`liDy!n}!7rE$NDCEcy(XboO;}?4<-eHxlJ%+BBZa*%^3Geg8Z}jEW=ZHn zcL3rTD3(A@B04>}WOee{>lt$C{qHQ6BVTh&-bp*(;$e7&F%Au;1}W3EXh*!Ynl}+5 z6jmfEKn?M%)iNnZDd)jk`&6!Z)>|y*T!1qgJ#P!)lYGge**-5++xKKv?^|t* z@@e6U?V7cJ35tXuiDd@C!;8z!o&r&?V{OUL=G;9yQsnbIeJa>IwaXV?wMtVO0^kUk zuG=VtcFsBl4}WKEx$#Jr+91;$)wuZwD)Z9_}U27Zfx~#`68HN+Uw3)wrt04|4h3mqG0gtt>a&t*e!0C zb_7YB8z1NzEmEm)SQu@Os};KZ6x`^3^dJTn0i@Vo){k|hEneSx(n39bVAz-BTgMkR zxOTT}-LjDgG4aCXu<%)=BjbjRQnWYzUxFgK=jmIC%7HHLr2-#gZ)G$*bV+r4$6w7VjNSeD7wsxI%*mj#oT3Ex)sn@lSSlD zhDhjVgpg!2St9|~sl(Khf)mftF=J4=Mtb9Mnmc}N1cW4ujQYwIlX z<-SslhRcSU45&gL9QFM%=3W=83JO;E@?3~zg3`$$!vx7mMmeFGS&H!ZM4WW?(Rji} z^b4SkMgV=;6j04h!4wlSmLz|Pb;)_j4h5?BeDdxLtxhYk@0AAHs!N)=zt6+9Qg~R- zJEVXJglEl~EbJ@A(B|P1Fv)7-O-)Q?B&UFizRI4_X)X zmnwV{6`su6@T(mtY%g+gM}qur*$3y2>roGh=J|&ay9myc4%#vWhxyU_abWg6x3X31 zW58mb-)E#RPwN|6AkMA(Pg?-upZ!Sd!@pxwVnXqWTd56a53H080@q^H8h%hbtWQpg zy;OVWw-yEqqvoEypAp0s9_MuG?{gv4{p>OWa68S6bg}=?nXSXsSIIGJH%jJDm(XZx z($Cw?Fv3UBXu!-O?|(fp4)WdNch3Lb$;8adZi^S2qtdJ^I}tyq?XKUg2rjNFn#r;D z(t;bLx}tEst;fNi&6RsP^XKWo-paKs8qLxW%awd|8 zAj;_%<9?KI@uBCkE`ov|E-BKLF#m{w3>;ZZ6nlZ&=_gi5`m`IpU1T|bCsoSv_tt_;d}zZ6kR6X_tNp?VQfO* zQI43oLQ#rhLJ~(Q%{h_MBre_*auI(1BcJ8vUxVVZhjC`s$MiDkGaa*~fW%2ipYOZ& z1J>2;$A#Rz^{zmXV6(O96{>!M7HD^NM%Al1mUkc7;v*#pL=q$WEhdjxtD`YKTLH7P zI)Fh*mNJZkm^Lb&m3QK;|8T97cx7!pQCE)k{U%I5-2GGjG%^N%`|A|iSX(l29=4Dn zNBQvh=OSp`Uz^8C|45>l$2^7{>ayj%sk=?O?PQjFwt~+GZa<^+>HgFykWv;Afq2B6 zy>F|q5L%+@Iqp{I%?KG?lB`^^Lnj&;F8+KorHQ&xnYc>0oYM?#@(^`LX;R1tjV-eU zJ@P9XF-7vhz;-PiF%Xce9?$4Y7CK$%J0o4>&|BR#0SCoi=;k#aZOfPb;I>oO4|5tA zEIw-T3DH__GrrBXX{sxqR@roNz z=C;5bAKl0LA^lN0#j+uK4%d5{RkemN_#3Mo*-`V?P{ppX#o>C?a|Q>*8(mG}EKrYx8t zAZ55|5>?rqC1U_gSb=_~ZMDM++b}9~av)v5NK5jFEqgj&P~45?x$j)Q$pQLBF~l^x z6nCruq0g_Js)Y>Ud7cwmj%1xyu1wjh^~bLIWNu0nI~)0)DhUWn579i=cSDtZvU0$) z#(vK?65-XdQih~s*X{>&-f?K03`0sgYU)pxP0WVb>Rlwdp#xF^o8VJYM=dMMPIL66 z_Czbg_Um&fSIPU&34m zg`Iu=;M?7~n#K+h@x>Dp@zl7j=A(});%Y`+B6umUJEgZCP>HS;!=gP9BH~VSAnfQV zu>Rxl4f)=&{b~hA_F5=(Z_5*QgUGBbh?KrNw)YIX#;(hu5>dH8xOrvhLNvEcYunk` zLVN8lGq)6zufIiWKQM7Vgc$#aO$Jwrv1QqC5}Nqo0a`?Q#w>%T*yX@3Y&>A}e}NP0 z-0@Ee@bZS2kH+pDcBiZZn|7JwZskWG{e+f$pJNAv{R6!?v*PGd#<{ak{UPHmA8Dl7 zXiPf)d(z|bR=}^c*J9Av+A`wpMSk_xolCajjJU%Ef`Q)y#|-{M7v!}^s5e!ndyBqu zNZD(fBQFS)CwSip7DB9&`1Rqg<0Qb)**_vgfU(MTSPaQ<_W&V> z+GVe`7^cto)$vh_sia01*2%-|HW=!p)v7kz$Uy~DXhTJYW)Io^?@6?o2=lWR zKGRIvKq)ChOd$#40Y8jhHiDqT&m#l(Tn0|J4=*D}5Ssj&lu+-{B!y3&Oj1Ah=kl9z zQz|jl{m)N->6{pkrHR??)1=}w8h1zop2!;!6^u)6&7S_U*S*=zSUMYmlu(at8^f|25WL$2-S>bQ+c9&O%fWkAlG-uKk5o5L%|tZ^h@6 z%GskGqPr;VfgUrAbA<;%x%JTSSt6zc`Ss5vz-};j-jO{u(06X6MZ@&C7|2+>+$W6T zJpYKY6o2eF8YAkcVHhz?*Cj%zCjL%cl8mHELp50wZ()BHE&TMuR}Rt?SqX>$avx4c z9b*KNrjn`ksAs>F!7uuY>xNnib&4Zxg0R z!;sVH0Ey-3(HBw|a?vLZgqin$n37QB`=-TpHvRx0pL-^V3CFOynkS@Ryy=uMRA$jX z@cvP%IOJ(4r!8NhOKZ%qZ?3I1h9gTXH~)Qq4nIHz?@k`WfU9z_uD*nNwgU;ZoPcSX zFRaJ|9g8J3t(r)^U4d1Qwo9ah=@S}-*hmbiPkq!b?x*m#xk3;5`a<-e^vU}r1`-)e zRrSfCPKEC7%DJ6)BY=D)@^riQkPcl&=Hv^qVSF^-sR^2RRt7mzcZS>$U7+cJBbr5R zvmuvVHaUeY&f-JCE(LkI41KTF_>RlU+@#C&Tq5V&St5ZV-_cCj8-Ft)H+wf)`@z2X zUJo%39%?QJ>MV|DJazs_oDb8u-7z0o{>XDvhe2jPATprQNi|eQio~4tx?*mcVna9^ zpL)n*uRJc6AB7&>4sl>FqOVSm@)F*;SkE*Fs%SiY8Q4?F20SQlJzRV7Lh%>K) z6P1uwgi-&DN^%qBePjQlO7g<6Pc0$ewfd^ctV`v^g5tMmkJZ;v;78zg&GY9RJ4O?> zNi5f<%*?mdg8S&pw{WsL(D>mGpTx4XAxzMawG`j)@ ze{Z;i3w~yy=`=W5Js??U8T!N9w3A+EjlNX(e%R8gg$KtimNw;qX0eR=7{+Ak@vY1utdzplb)`Mjg;N|6K$R{+}*cL`Mu&{#tH1;Bo8}3H3yD zVx~?MeSizhjmc_xPbX z+u?+JY-yp@;6HKluaqkLwew1Tv}Ut^=89kSaQ`u*^~M$`2;j2t>%!o1*~ve1(Z3Qu z<4tXIxml$Gcw`QN5`qZiLEk*AIW)+-XY&3pMM)n0>k-D|su=uwupS{~YLD+xc~7>L z6*lo5KP>3Qm3;B$W7WYKf5Ufi!Hu}0&#kIoY zxbD>L^vnmEhx>@XJ=72z_mDrH>VR6`a)1mM%Jl#A7dC$C^4nw7Z~p1>2w55$JC}M3 z$OwR@JR>#fa%a1&A^_~>9{f0$HTSXE5f1zNB*u<<$5ea!BWP`NSD35?sj1ww$(^q_ z<$8Bd+UpBTxR8D{CP9Wco1d=L4D&eaDNZw!-}7SYJ4dLnU5K7nNK?0@hIilTzY0|gV_8N*E__lHDvDdZ6&EfJ8W7>k>6YN* zPO#{`6XauHEtkjBJg7GqHj93z&4(Nn!SKSd1`vLHD1#L}Gk=ISQdKWI=9=$yw z$I`s2*EGxWQ&r9C<$h1zPlwB_)RB|i)P6<3^tB1?WsAnPC7kE%rul%(4NE`X`vMEX zKm9Mr8W4K>3;k6FWc++pu*hJ~aQp`f_1hYTo1`F|o zGU6C18Non#qJeJv)YDY*>ED!R=a%b8kXM+kOT};Tz10J{Ma9;0Ei`nhN zQt*2H-m<)Zj|4xPQtDCyb#j50hsF?59TB=4tz4i}iXlTcc>nw14nr$EiNffUBncWu zL~tF8cux2kE^%Sr*1L5%@{lbK96Sqh3l=#Wg~wFrOP5T=9rzk(C8faaTgkG{Wc-kSEjZr~de(W7yBCw`Z z3ReCo^adC7Dl9&_1Zju}$NYg&gn<4HvD|J3hAh3sSK8>Q;i}+Pb;-+xbajSAq9wfu z7p^|1KMGh0DEgy+aM)3k^i1DH2}(=659EX=06}I#;hh}B`A8@cNErB_c5}R$M?$@v zfnTF>Ib^e&dcREt|1S#=D&|@r;_M3eQ>cZ(63xm`dfe;%&7N5cUQ*5`-l)aZfQP|g zj!JepuF+azKw)o1^eGTa~CRga4+6 zaBw!> zen2Gq!ZUyMdGHdjjdVjfX!#f*B$k5I1XdYa3Tv?5uPA$vZRhnZf;R{u=$9)H4CQlp zp|hi(y&LJ*Ipvf12m>enV3VEy6w#ndJg~AbAn%kP2FRA5_xFXvu%ld+-!>Utd2y>v zvUX}|lBP)BPT5;k^`koLfi|}v;O%?{HHbipqTP1Kc72m~t(6gf{ij{+yFuhP$2H!} zB~JCVYaXno>DMVc$6PrILwtzUnUTwLW?;e=wupo|w+gs?0RoWA$B&_%JH9Ye%2pyE z^hwv<5W8D9sDdf`H~hHM-{E~W+w1RC0Py|K^USK%JpifQ{xz?~WnuLw>x@rj#!*nq z8w7A6;)4LT#iM4cy0Yns)U0G{uet!;f6MkX=5G6&e>Zo7sc#T>A;zH@uCbX8Njnkj zM-2Ro)cCNlE25I|31`|t_WIdj|6yf$?7vaL#pJDKrv}9>%6?4tY~TB&z5ikDechEz z`hSk!Q*E52fPVQ># zeI`jWB0JgATx0(hErS?QKq!ya+2aAFRosGa_DOrC3HgL}Jvmss1`)9B8Uk)(6S*x> zIlYJiv1IRw%=KBl${h?>ahQJiSFN%9#0h^RAp%{w0XF%coPRj|kJlk)p%*6i&>QcT z_X2?ba217|7MfW5Z39*hGSz9WflaA3JoEST7Ar|B%9*}>zP6r(e)K9Gnoa)DG!YP~ z-7a^;o|^;Wf!4-rnoWYAlO1tFsOAqnUVWFoA>6)r9t^gnpg)^d=H@NM{jjF*BBZp< z?RKZVoxj_#B+A~*t--lGc_E#9M?Wl>fBhH11`#=!rk&00ug5pPk1l^U3g+-OV(cPf z--S=6xNe2ADrO_Wy0QoRY>*-yb)1Zn5Fw)p5h7#nM&J|UrQ=J-&OpXHXLkVEwk+d2 zlO!L_T@ni$ikvV7p@`7|=E@8DM1mfxa1Q=_NS-8T0&-+wvy^Gqwl!Nl^M9ZB`8FTU{01M+b?!^Ix8$c#6(S$0REA3mghlzaTbSyPX$P2i zW*FhS=_XE(ba>gpu;4|*^v9Q9^w$RcLfD=oBEr2Mc%I8;E_CTYqHu=Jp=&aIrCj;x|U~lkeE}b zQzw1Gi%n;}Ua&6tvuviB9eE*OCxcl@GwA<(9(5TWEtP$A79P~-TSDnOEbsMa5@Nq; zX$@^p%MEI}4&}^7Sm@lG^fw|FTy&(Bc%Fzayx;so&*Qm3xUWjKJHV=}gqbXzkXIoR z+q5aNx95V0o|+)kf~;J8c2WTlQJw@M!Ae3mWV#_%@L`P+Md5BIRdeCt{$h607t>To z9*fU2S~CgTp29YR0Sbhw20l+fId%uzYJ8#wNkll&ib$26%5=R88K9;l2=u^{#s;<1 zu;RhsysjTzaMQz#>V|oigvi4ZOBkPhqxXWAEoVT*l~LS|c?al3-XjMIz}!`HK+_Y~ z`$z#07n^_5W5&|^P*Tq>s2_+X&}G_)$%k1^l_HLAD-YJtaaJk%%P1>(0xFDA!?uuGWzyI?Z!3cTo>)PAXUP&7Elq5jz=kjjm0LgEr9UW zMB%~e_83{Ua%|9FfHT6ZC(iSelxa_#rF>-|oLYX^OU(jS7MbW>JN+)s4@)7nA0RnQ z(%8fejfK#y$T75))KLTtOa>81P_N zG&OvjNx5n`l=<*~ARFvhMkL8`Y;xmQ3>Y$p*6!OF}R-3sF>qx#CwM3~nr{P60T}JR%Ys6Tv&n@f>UO^Zsx>2P5uM zcypMlHIDj|wHac0jC*C&zN$FgvH2YxKrHhPY1fp^;A4UN%qHRJLlKxd>D(Grvk}}@ z_14`F>e*J{PuM?zjaYv4r>lt;Vb&vX32*Hbto9pLQwqJObnd+A)*G}x>bj|S;Xk<0 zBstgYfpp7XAaF9bocTkymkll0-#~W^czldMHFqnvZ!-~ZzdEm7KzL8IC_~f}=G*k9 zDUVA?e6NP!j2R9!brtRGG&mllm^?N5tA)z9Fxijn-WFX5r7?{l!$oi{ z2r8995XF}3L9UT0G&8VUd3$Vaw*&tizc0BpzhPZxa2)QUy%XZOdOFaH*Ywp}oKo82#wxl50<Z4j#M3kG^0ryWb+9zG1$-H?SVP!0nT4R}o2`ps=_J== z2ZN|kFP8rFm}J;%pJMg2i=@}lA26EJ!T2TQT1@kv)*8G3j^hy`!M~fj@6ZDatDm|r z){g28RA2ar!5{_*#MZwHJq53+L{=WJbf>b-+N~=nx@^$g#vI-GUfumWf=Gt4V4c|U zC%(Z9Za?H6S2Y+ZX*a6$YCCtv3MeB^V*eDF^RZy;i_HF<6Z|0@52C7HXLl!^y{5WQ@ zk)4EWi=s-}fJMx%=}n>Ia}9dkZ%H5lJ1PxEx$m&hEnCub*6&^G7Ic>l6>J`xsl@N} z-ij9t0k?!12RN%`!`9w!2rN*^(`OgC?_AwEX|Pj&6Ab}4#GZXFHhlq4sjtr-o0ak1 zM~aBWMiQp3#u#V_+UzjakyB6DJgRy_Tiq`Ud>35r;U9A!m1?~&56EW5hqa7WWpuHy z%!Ec2H&xj`ssM9RUh<+A>cP73{x|Ha@7!5)FWo1&b!NKji`)r)-;pYz+bj;LdtFF@ zn1f}#-;$Y;d`r;(G2EdiB6Cvfkk4 zv3Y9FLY^|3n%*kXeYi-oRr96~c#8#(|)b0;=8SZp+$dH_7_ZV8~eP4nUtr=z*~XqER$XolvEiT~B1Clo6YG^ai@ zd0`VyV7g5CQ<;>>mZJ)!Umpa3oo=i1N%HG*%y44IqlbzO|MOg`(KO#@_;=@P0e3v5 zm$d>N#f?!*-d)rciP-%^c%rX8`E1~?Q8+>O{u4qZhL?#9Ot;M?IJq^*lpi(p`f{n>wTEPXOZ-C^T`&KFpW zjgpy2J(|kn3bR(VrW;gdRAyU1#_o_wL$1atdu}KcFDRWB^ zLiFnn)N2!kP|<#)lJye1XsKYHWJ}fjNzy+RmoELjqLAXVOefnRj`4uwU$sl_t~b3T z3DGO(G!xBhz*M_1`=FYOU~aGf1wQx9YEI+I!~O@d=}kDN0~8LAci#jTpU%Be9g*Bm z`@;|R1noFS3ayWq5<1;2!}hTU_UE4MKR{r(T@ypdeA+_c1KpAIDOF*4a`gb{_x7?I zZC74J5z;|dN;_o$sYI!nVhM)Y8nxCtg2W)SK^&Q!R6wJ?8YOl=JJqf?!q==mkXB}~w_5X&A~dso%` zyV<@wr-|>H6bdA=a`P~k%HDTCZ1~s~DmkCpYP-!`>qjc!ARQPzdERl=dKTpm4Psm? zWu*9mza&_w&(B&#K@VaahQL(E;+dz4;O)+1)t^Mr!t*auP&21p8&RLZ-g1 z>h7k@vsUHKE_7f`tmX+sMug-d#_V&>xU36X?WH3sarzc?Kf0HX_)}kXJ(h~Q{ETgB z-fx5A>mE_(hB~ZqRd86oIVyga z4?>s(3XfhxWAopSQRqRK=RP0TUh&)D7)XBfWa`X9F|Rq(FXuz|?$|wmMWn{w&a|uW zJAXh-HEnI^8H!}My5}s1VpF^Je}rw34f&Vvi?0^FBFy;5kTw>S{Q^IOC6P1jp3Q>J z)*W_?r=Ng!+c`IA*U4TU2hg-jy6jb?XUa(hU62XI)yBZlWhJW@biFFdB)V zAXA~lt_>QvdVhdxUV84GMA+&1z`RZi%IV>&jN565PWif1Jd1)$X70TR4T*3sXGl z@F_tVrZoK`&-@mD#FC0&B;Chrbh9O=!ZJK^sv7k#)c6-$LDCRHEYU49QYniZxj zlt=b%V6x|<@!elju04`41wS;_`(pa*)I*O!3?fe6U~2eP6=ecBuO9S;T-(Y?i(rVzcm~*-lwR+d6tCxtdy*wGhuB9XhA#Tvsr2MoUY6DXv2(hBQYK4clv2 z*Nv^(Avs4yGjU;(muBSK|4=R`{%OUDcgWh{)><2{kZBft12BVaMpSkp`fA5ZCeBD`8JviKVTMO%PVOO#ZKQ) z-gc)jFpMy>|6+zlvGgX7R}PH8%89|+tTi4nQpO;MxWNvztup-CfEIT@R}5!Pttzs# z*HVaR6W_QzYhuQJxyjs78e*NaE;jWs)&S=)0tXwDD@`PDU_?D<*e1;%eIF?`!tPS843UH@%oe0$~8sW zS%2-cT{Ze9%;GqKEhM)h_xNfmVp@znboPxYl=a9?f>VIGD-IP6pp}|bLH?sCwEtWQ z7^mZsZDqi*q+{9(N*swxy-87O3a@~)={K>FM!GvflVL9!+l8^V`1kmOY|B-rp@r*M|ct-^V_-HCNu&h{&=zwj6z+HGE4lmUoyK^zW}S_44{TH##f4YjdwL^HgREfH1SpBztT=nas&8 z*rQrU&c)(98Nh(RWSb_x9s!Qcu0gBak03Vnam1Q4QMbV^IIC3NKNE7u_V^0w?c1MH z#kCJ3Ni24*8U2-Zb|n`MvU751YagW5p7p|>wbtzbB(7ar?FNL9`wBuEIFc9Xnt zfpWrYp12I{^tZuFK8Nwg6AX`2BKeY7&@a$`0d6+@*Map;MlJmU}1K()Kh$V7u81rfjkM^B)LZ*?mxb)6u_fd&2ZSZ$QXRUHee zf$oJ#Z3nkD$k(wP{g~d&6w&#)age>$jdim*F4)-c*xlK&u(6IAB7# zrcHSMJLiXS3i|}nAHuNT;k=K=*Pga@I_SejK7^yJh;^*k+L@wa3^GjRPns+m3(eon zH7?Vyy0tH}u9#U2d%SNheYhDK8`Oy0=>Myy|9IMrAi(-C^rZwYxkFMRTkFlgFSwlo z4ZPMG&!rL=V0R0e#cQ;Bj(j{C2*gEdW{y1amvRyw!$7t0?T>BW5qpjT&E2+O+83D` z5uAzi?(a6eHmuL|-asTvrr{2L)xn?*#>E%CLcJ`0yrHA}ADdc9-4u5Vbo+l|dY*bW z#!w-2?{p6RQU|AD3M)b77R>Rdk%N?2^ca#S5NRvT#9*-pBf(mggOBtw=gp7^nsd7? z7rAr3clS*~|HYFQiK%O4TUZBQfgLTi>rsmUp3vjw$0{ec=mTRE(%Vk>gZJh0w|{6C zX|<>fu-i(9)nB;D{^jnt074HDjhW&8{l>mlz(1e0W>6>ZfCkmQ`92G&T{e??HoMWL z-VRzR0=Ze**GMoW!ZUjx}w{K^yk zma+{U)=uLi?_w)D%#+UP4Ih#WHdm3SZ7$BcCdBc+!8rO(Cn~5du(w zMac)4V1@`OlgbX*k&O8(F>~q!IUsrTV$he*3HnM{7tx862Quhd2?kYEC45O_QZLpx zI%K+kzvPZ%E<@q6-#B*J@zL3~UMY{6Uz7NtC=*^Jg&`Z=zV> z$}lK?IAJ(kWIIC6U|JNGZaT1xShSe;HWS`f^ z+0tp=&kU1yRjXz?LG(1QPnb&7BdN|KH;98KCE(QX{ohfVC`sqszk|$-6&B%0VPcAa zdxRBB=E@TlLRk{^dc(z_V;IMJ-*Z0)eEw zG)h0(Ci)CbgGNk3ynnmmc(|z~5hbSC0S|6eBRL>Z;~*A#Lk&azpdrJl!dE76f>3?P zeTQJG1R&Wb{I9PuUUOricbCz;yylb~udZmzObAG2goH@KJV?O>@ zOOkmMMDtrsD%Hx7Vl84BbdAJm$Q?=8w^)&zc4Sb(gZOaOJ|Wuf7|!Ja|60o9n)zi8 zy{C<4gAS@hZ?h)Gz{cnG5)ZD^it#0|EGLX`ds{O|!~9{Z;?|q9eJ!n1ZLeLc-3Lf; z?F`$#3T{F@rH5<3!CS5 z?5)=$IKCw7UBdS*@M`*kh5E))d+t1sR z4nBVkR7)R?5HwrD?Q+v!Jpa!Nu;7k3@L%hk=vuBich538hhOXS#$|d7483cSZupTH0vZA zru!;gUq?`UiXgkUas2iYb?ZmlBGcCh_HMam5=ey7u2ZCDEgLo4+@}_Tfz`on9Sg3V zfmQbAPdJ)n4F>9O5-m<*KxUeaSfEw}F@fEV5Bz*JKLj9~NTf*Czh_5>hit_HxL)gp$mCmT!m?u$9UZo zPJOr|hjf*vV`|j+Z)Mk}0&KZQ77QLW?c?ROkz$!clSB>Py3Q_sl8G7BU?xPHBV;2~ z*ZQ?~Y@O8A5^2=9|4D|@&+b7W$tL8!Y(FO*Ie6?Gc9vdR($8f}rQt&0>H|$waJ;|f zt9@6hA?Pr!q;eXz?-W}KGxIPht*(mie%d?Wjmz}dyt(pMAND$`RNQq!=>sjfNEkOk z*<+d+<>Yc%YYd)U!5uR7-A`8)%yXkdZ%OrH$i}fX0CLJ96HUsS{YbyYT4#pKq%NS0ocqeH1@O&fR@0wQVuc7I~=(fpz zS@<=(*Y}xNQ;6K zRNGz`NLHyu*1|bIo}K1~h6#d}vN>D4!9|hM+sEJLxGY&Epr15@NKy!2FKW}8)X87b zOW>}v7ZF0D#1(apKihOllk|1B#Jd{a3?cMkffYkp2?*$sRsKfq86}HE0ZORQ@K5T- z&k4BDBZMCI`YdCPNrr(+n!u)ND&=I9C~B-A#{B$_h`#Y+KFIokphQBOTm!L-b5`Pj z=8)AB$|}L;n6Yx=DDR+qF|vg{jiN?6dIan${qjO@R?$0MwNyQReM$Fjq;}!IeJIjO z{*{rI8BnV5&9WL4FsN36HlL;MXK2j|MHJiA=x`g$!vveg=7NwRvYO0$WTB94F>jlKa-*m~W-v2XMmX6Xsot{D*t!dl^3B?Fr1Zk*v|0Bg2z zpmH*{I!?!As799RGKU48RDAh!pXVDwb%^ z#3e&ny#!3Ub45Y?cbjxYngW>*F4YHA>%=GFcHe3#2uN=AY1S3&XQW|A#S zs6Fb`kCP)uThiGOZ?aS~pBVXO6q#7yG0K=DS6B4k2;%H;3Rb`y?N7BmOW$MqiYtN8 zp;G3;*P%j7-%I+6EfH;XppQS&jh`v8;;-|H)J4o;z@RNmu**-ECS_tiwe?!5h&T=4 zFC^T&2Av@J;s}YD^H=&^aSb!>ObGG==wN4)ac?XOD0zYdvXo%IA{}!Y>WW|Nvu1E- zl#y2Cd)dP!Q;Ex@s>&2&Vii@$NX+5=@@EvyIV2XqRm++Tnf)p_Jpe*xqo=eq{G5RE zZ<2kV0l7fuIDf!t#KpcxCIJN)NDwb!X<#oBCj;58vMzS5HHdxFgFMT^c=po&&dBWO z|2cxjB-Qd{3LZ9e&_Raw|jOQbuZD zgL!LA=~u*xs*OyfE$h09MkYPTe6Dv-?2<_~y)ouu?18htiewFmqANnTU-}(4*XRW= zW{WJrC)iZ(FfDpEp6d0a;s}K=PxkBCibKT6VLyxl7lto-i$8=)mkrSAUFGk8>oG1N z#Mt6*-v&vV+g)*YWm1`ZU!4SiJV-W8eE28|+*|&BKbi@Dt;zB~Ki^HM_EVh4i-!qS z8nu9YMvG0Q;UV~N&jRxDw}%0tL{O!kp#$VF-ed3(*4e&G7ls$*=B6e$#aPyt7KoOs z|A^ZLwUz4OcdC2gr`vJ?Q#CgGKynEt!@8j?|E|+Dnu_qol6@zBT6>#ZYN&tyCh5QB zfVbt4&A)ShVw8v(!7$)-st5obq;N|Qm0m1;_+s(L8Tvk|O3S>|{1|Yj>KoL2a@ja; zQalnk5in?>aP~t|*?~a3_R$N}Lud`l(m3i2{^g;$-b{*Z7!;^#L@~Ur1+Yzj7Kqs# zWAK!3e!!Z=!s3354R8vD0yX`H45pNMik1`?qM);syA7A>;q|uWOh`3C17^5iiQ5y1 zIoE$No8tNS3Dm3)VWBa1WhhQ@x8f)H_Ck1Ow<5RhvL9&Io&>iT(-wRx#_^NCpqU08!@r8VOg194~|j^KGKAVRl8E`A^B067}kZbb^;{0=z)YWb+!e;?m?iYLHm$)?;wz^%Sr?Gwa?HKgc4zV z0`tQjBEJe&QzlR8+D`f-jtpjW*=n?}PA)^cCcgk}T}{^8hR^wonZq{7E4z)Rhx=u5 z7}nuk+HK`#S=&et>C4Lj_Mop&>I`d(VGP&kRdzXo#x-m{7yq~^hE{6%i&6Y6dlPNi zi;@4qptdMz-!?_ zyeR&DNmt5v*9mZkn}TpzEqPfmQ5Njm4Jw%ZckbDZFx9XaJD)U9Bl%b@ltQE@>a}I$ zyMywQ#QX-Enz`uFCI*!&4;R|fcYC5v=7#;B$pjg&uShJA^(PJXm86DH?vGk(NZ>;Cn`>l(} zTn|-1cRGycS`z$ino7Y6EF5Su!GE>HYuUdl6wh@`y6MYZ03BRP)~D2RWW<>422(S7 zv3rUSq1&pN>mP({Z+Xz^$Q&}T^rkACmh<NQ)FfWr~ zkAeHm(#@ibNjz_DfVBUYcs8A{;4S1v)o5zUZxtBF87P4$UD<=>-?w8oQ0P7Me4aVlu~s zJIne}>d$=XD|Q>Rr@`P8J2XNRRN?K7Rkp4r{@PDWkAYG6a)8$tXB8~IpoL+2QICh( z?G0-aUtRDx!g|WG7&JidAt`c!idS_SK|v_$UTq9J4JCmQFG91YJOX3`gnmX;R|aLl zRLvUuHwGO~V9rXXHWg^?jYmfeowvJkNC|x7VUrf1Pprm=A2Qht;ccI1FXBcSfF&hx z9spNX*L>zkx3H)&hegN~t2AayuadN!;>J?TcBqfEY(Q>K2_mHc2g}`A)LeYyE&gFgCT6OQ8vjJI z9t3b(HX1JBdfK?cpjhAb&u*WpH*{(RH|>d(vai*ANUrW5-Gel2=iHMQ>TI)k!~7Wy|EX8lvuo zO%ol=l#2^?9>2of4Q4dRi0k@ypO*=*BjCNbTn}IKKD338oAbWRw{oF4)UT(bu$vE_ zU1#U@EHnlOO{raYh4Co0mR^1DT&d&k{+uXoVAk@znT+MSl^6oC*xox#!~>gaEo&uy zV0#$Q8_z~K&vI+)U&ypXM}2>nJmpX3JBGXD>xSs`Y}qO*ye3o{kh>Rm1-C`sXYOsR z99Y?SJjyEx#_^=J&u zOx=jvIH|*ouqlOXG5l*E($+#8V^5(6jyt#6va>V1g{twv)EZY8CGo*r>R9o8GB{)7 zw!e^yh-SKfd)%^wYdq?_I!!6T**(QC)zcoU9Yb$JjnxkSMSjx3`#X$hHk@zZsZ94I zAM?vA|4n93lNcF-@AL~_frIsuhf+uR1V8pwxl=WXStpP=r7b&9vUl2Rkx3Lm^$fU7 zzHAEayLo#(J~uzxU#7au=4<+2Oy&v;1g+hmF0TY&>^r9{zgUB+P81Q^#YBn{jtH9u zVQK@6jM8i{_H`+)^7Yo>oa_BJ{D)spyAhmU825$A0WP6|psLY4R)V<@P^)hbvbkn@ zr=qf{AJSXklsEc;9wqBi4ODy9x7EO!uW8XL+vJ7+!UZX;%1uAtRgKM8_{MULL5 zF9te4h&jjP$Jvw0pbfb3b_Vfa#@C}>y2POGcyFD+CIKsbI-bsW&o=Nm0O4zywg}cG zhba<@Ktt}U$ey=%;+{yM8)VPlTsOq|R8Z3sX4<;!iU)YJQ4SIsu@ zjB7>%{x$M#9zXTy)gFzcXdCP#kuy?5~@l$LLb3*`3+_RtKChcU&Cs`_xdG@na@7wegPqjMBEpV6P|p( zpmJM9h%}~_2ma9y=i2QV>JBokX3CkPwK-1NvZzd=_PP8CRQu#psBvdPvP{l3N;CL? z>UkdZ&1HVbXO0pFp)Y-p&0u%AE2HKQ=t-wDUbfn`m`aH#0wZJ-zj}j{P86?ICxWt& zUK&x71-~LfiHKJ00B*pz(%N*Grp$nYoT^iENmgF|I~!h89}-;x%V7kKX?4sX&uNMm z`nTrt!v(&dRCxRLwra+a(V=2R>LZ7017HRwN2O`~?8L9KYT$48%k4D_bI(rLYB-$K zdG;2%`B9Dpsh$HIBGh5xvp|A{sWx?aK6=lSP%-5{NJ%4%32=y+Id9aDT6xjLTwYSY zO7=pUbC;#zSR#4gL*UjxNBHW_x-w`HX0lZDrcq22>kIS{IaVf3Cqf2mXwOnljdt!7eS za@+PrynBN7<cW`mfi)TApyiyMg`Oznt0Q2la?<4Wl4TP=Bso(QB z9)M{nxsa%fQZ?LnYfiy90749nSbVOfA*=?cJHb+Hb(wQ10bNsY#^xe@fI4yGoo9W} zAt)%sbUP4<%6D{dMdmY7Qg-`GOnV$YOZp>sO;N-!His2K>9$m+V@*5>KM*JHCsAtF zm>tNv<)3+QHj;Cke&y!zF7n#a-`}wH3WftT6cs;CLKCQXyYCb@41rnlZoK^5=bY)& zbx9X`Y{tVSVGIiRy1cPVcqso`Y7BMre;FcU2WEd@fP81Dt-&Oa{&CoZan2tiOZLzX zpv)GZ3t%!oT7H|a-vv?Ay8qon@|yp8&W76z1n(d>uMM=iiteixQ=b_&?&CCOn?D;N zkaT8t-bgbE1n0JPI|I(MU)SeeuFV>umLRUB<-W-ZhZkJ-|3E8FNHY3A&_fdn96yTL za~Y%kQG2g|i1#=At)b4`t1YrlC(x!5LI?jnGqw_TM}IkmEa+Y8@wblGYa!be&`;57 zy@o(#NAe2M;SWN-J&(($y_pUjIObfOe1h$Ur^swK53rDD^o_m#+1vHvQPvfSoKPuv zCUv$Z76d*F!N|FV22m;sUOb$A_wm~FXR4xZz@WL$HslZBcV!ql8h~_ItiiO!Xc*c< z_~rT;BsaIA8{QB;WixI7s7VrWfHMN1)!8i$tjR`q{ANXw*TUUo+PUVn<{@}8B6byK zU@8Wzfv~#C5IB70E%j&&&&-72+30^v@4=Pp|AJcnRZf$h@Y7vpt6oP!-PefmRIL&A zc+6)i2}otamHX6f^C*HXcoxH10KzxFwe?k3E|!}lAlsXQw%)XKG#-I9ZsX6F-HWF7 z>&TFa@6bsYb7?3ez5DZ1@u59}T)%H`q}h2Ax`EkUbRj(p=D zpSc-d{<#ZR2&wxZIDKr3^Yk>|wpfk*+Vx#IA^LOJdl*JL{Egi9gRRCPmX=( zR+qkS>n4OVKE5i&OjurVnsGx6B=trkZnBT*)x&FVA=xLMe^l~cKv z@Gzx(G*uI;NrcJB!}H?~2H9p^ZFrAE*^zXrBt}oJ#R3V|@Bl7u!63VhEf@CvoS7qb zWzFrH;Pz!1xCw*y6=w?;8;?$$!szwah-{%Ywy??9mh+(}BF@w`QxA!Yi0#n!4%}sm zk%KXPmYF`#*-kZ8HJXR*-C6uw?*?A=J}q8O;4cbR)}_$HzxW}}yIB3QB6ih%DC$nT z&T~-T;(e!81T69k@ux+kZ*AZoe?x=yauh#M7Kz^Jdc-vY-~9KM`Dq-@a{n&1%a=MA zU)y0_YvIGEzX*_R;-Me1w>{!)RchEpAN)?{VB>=>cb0#@|ES5l4*1u%)$hO|U!A-3 zep&%n$AM(Ee0!5DSJLyZtyxWH7X4M0;T`x@L|MJj?rl$RgsBJ+ERIZAfw&z%5ze|O zWV#In(uVRMtq`^pNzt5q|ei95JFN+hPc1oOjLe_3ETA{3Xf=ctt z4=S^Ny_@}L^D?j5|9AmL*%E@wZ3kafiWs4DW!TYs4)TvdHmaP1gIz+@;J=II6O1i3M6_bluqs>G_u z4N|LzICG9!PKfa+>f{{Oh9`Jn6>AiNTTip(%UeAfrP3nm@M6W(4H-R=RKl<366kfi z{K_^`+MaOuu5=ZN&}LI{Ru5zwm32dYZi<`22ZvGt0+cExqldogGfiJNHt&WKYJ!Pnz@F?uhRzCND3UQZKla=0Q-$@)02^pu`$2u!LvE?@&{t*(EpEiV#VP#y`A6$kt zw{ChEC17;cYjMiLO#GRpqQ?9P&GMk{vw4uJN@O!K{zqMvCqr!cqH!=N8hlVcfyTy1EYN~v!vN(`b-Y+<0xYuXPeMj~s(3UMrFELhiC1lQ znaznXng_};zCDp4+huUgS=FD`SXS?CO4cXnPuq7AdfFfrAL4P+w2U!jcCu{~IgK3W zR&#@DEpeAmF(lKqH3hc{@WiQw>TR%b{#){Eqzj^cZ!6z`1d!(L^=Q8Z9~M;)6jw2N z4}jRoM5E6ri8z>voBAsDbMlqb>Uj|8;PJ%W3}gS)0uN{LDvf#E7-Jvcjy&R4I^VVm z?tpVw;+Op}oS`=LWfUb$Cgu+jhiMXnQEN2eOy~dYkV(iuC~Jdv1EFH$yj@ zK`ooYQGYdj+kcv88-gQrKDwYi<9*|%b>KLE$}x}dDmeN<=Z`?(S*hU0Zc(`(;lhPc zuCd;Q*(FTB-p>=k)6O|)X3cK3(8@;Mo-N6XrG=@cbr1A%AE>1cH;6#) zhQHjlfHBa_2FL2<=xELcVf!?(s+O7mpXk{sMk=zge%^GUc^)nT;wRfK$ad!&zymne z>+AXX*-@C9KiOV5@wJLW{l^jppvI$l;9qSR-UL2xqP9@>lMgi8?+ZrQY~ZgWJ1t`P z(O~V?5qynbfoOUVAC8Gm&(;tL6L}ATH`x^|F9=PnXYpz_r5fzzuASmObA16Z9o1qc z*!;Z{=&I^=VSi-UGso%(3Fj$;0A%#!x}7z|h%Dw0F(rT)Yi-{5K1zwi=+P&U8aFD)xF%0lFvfZ8>Cue(l1%|{KB@nkKX!0BV?*X_IP%X| z2ytWV{>8&p?oZuNh8ut-dggN%pILWjCu!%LD3hDk(Yl^$-_RdqrnK?FE5}ER>miQ7 zAMLu|)}>mT71jwx4rW{NcnBv3QE|C~K_u)8I;{s+abY#%BFu+hhEXTn{{5gBT-Ymh z!&-46l}6smLPCyyX zpkZ&8j9+)KOp`?AS^8<_2DAf5c^z5eB;Q+Rj0vZVbzYb|lg;3N5%AXy1(H3~{+Dey z?vpjX=e`cFk52F%GC@Ke*Q$y7${+KJ5J27H0wMgcK%hZ zcQs36I{2^Nn~N``Ti+R~oeP(w=>yf=d95@+n%U|(fGM0?<-RK>lY0kMBDtNb9v@u- zeibb3dY6kQw=L)gsh}TfVbr5F#D*ON@0T8FulBpOVePlZ`pL(yKMlsM$!fimp<5Mo zSa+U;Utw82M&@4-Kj%XES{v(A9%X}FnMkz@e|NFyc|(#XI9*n#=qA4lTY9BnuPrLx zXt#-M#QQ<3W{U=l(OFS0M0I&2La(HbGmk6Wx|}R1-3r3DcYVqsyR*a+*gwmPD;J=$~XF z4p2=v7U_*N=Vh0aK8)Svm6S_G`y!y?p?x?KWY`x`EJq>(Cqo1+T=IUZ_-@sO@fG~h zi116sKc*pd>lbi_gP3M`ZTd9MV1CjSX{o6zY9>sZMa0oC%}mgVMJA)F`;HN?OFW@d zec7MS&`W7buK@fJXvM?y4pbQ)CmnaFChCi?E7I)1!NfNZoddY2ieSf7$|B}y(OQ@< zWGq^d2MYx1DkSm)#{gf|B~=We=lt#4bCi6FBmM?FMljV#P13-p z+AeI$z+RY|cq#N6U6$uW!PP)=YexT;DcoDJBkCSncdF&pE#m5q+qN09oCQQ4_3Pu_yd?nMFE>Ou2ZMfVJHq*o`1isw0 zMOj3Cm96t96|assSE@B_JdkkV-@VD2jGH(>AMS{M+Lfa=TP!q|p500UWyKW%XYHnF zPf@n)jCa4DaPR=NKiJvZpM8!)`aTM4|7Z!bw<7F3U4yoA7XhW=^sMTF1hSi2zSA97 z839M&dDO?1%;#;z3P_;Q-gb@;RhoKnbzlFL*18c&R;TA}eoO1o;`T9l`lOX)=&yUZ z)88B)V5);UbPt<;${&brV_dYRwd+XlqBi?dybnRk4u8|6yeAdGY2jV=#6Yt4*N^F- zw3XMaYCnt=Kl5ku%ZEMcBcE$82^ebztFn7$R{*jLs$#>*BZu~n>e<9;*LvXU&Oc2^`(L;J$&vln;MR2OtGcOefJuGZKU7j(mv@OIp8XO^b zijgHeCABTu8InO7JC}aEt|GUihi-oSCl=~A%uzBga_sAp1Dxur`u!7KH^knn{d1_A zj&^-YX2@Gzd>{u_IY4ASfKxr=R%5Ip*hv_6pE&!g;r><1RyO*YV%?|vmFaPX*vc&- zYVAX8J6v(cf(bT-f?|(i zm&p$LYi06X$u9hjh8q-3c5mwx?uREnTbo2%7gy!ZymBEy5ZHu}l?J`OLTG2zI$Pen zWzH}E1Q+!hd+-3xY;K4X&937-M760x$0<%E*1Q;rekV|W*XtwS@P8gN_QSZk^@HRu zZ_g)WuNaJgX_ZWWeqrR^oB8`haxti>or9glk38XU!pLQk$W4=?T5l0zPumM1{W5s~u#oKAqD50ww z?|X_tMAcJ1lEdfW5&lKg41}xtcPqT`#sx;Wnu}##^ai)MHcuc@eunz^_k^WD#_1WQ z`B!CRN?n=X#CPCS{mi5*_XY8~08YYxEYK#cWqLeEA?VAw!#$n%9|ohHm50Baw%IeK z)_n};;WEuvT>znOMBgc)FMb$1+;ClfvJ6|t-XA$C*Zl#y9FxyGNZXm`Z;WI+I^2AV z@wzgi2s21EQ1;sK0SMnP;TtXrPVvjACDO*rnX!&dyi3cR>HZwE%`FN4i+C|wUX%XZ z4(R@usG;}DqNPe(S#-~ey8YhX`=E$pg%g0$dj%siT#gDq!P3Bl{5+!dvMYDweXsxh z;dM9KE$~mm|Il<+QE@d)v&P-sH3WAH?gWRyWpH@We#ubM_M5bNu@y@y0M2EL6}Hsmp=&n+T_TXXAFsXHn-T;V*VF zf7OZeV&%Vi@I^+2Yj3#?Y2}ir8c`XKQRne^d?<%`6b>OS`2MErkS2yY!n&v>H5~ zR+=_912uItj9nO2jBQzj&abHSU?rDd0^Kv8W+6?Kb?Sl(TU5N#FmpoMD_$paewK8To;b$_<_lzt;z* zQK3ej#@Hs5%Gh*Mm>2GM0vlDQH{M~&9(BK&1$%|$5g$=T0W|u{ze!yw?|*3^1{j`a zdo{B2u+#Xt#I6Q}N>LfA;*W_&%`+I(f77L1J3?%jBDA9ohNv;Lu$5CGKiP{Cx$V_H zM~2wjt3^g&RnO#MVC1#ThUq&pZBW&RoKys`3^VxiaZsL z_Ai8JbP;b>3f}_5q(X+lsY*g+PHlu2OUoRuE_e{$to)*%lL6q59e}z7v%T&TX;)U6 zy_vs9@H@aVSkW_zK~gj)^vKf=BF=`t6^O0*kqW2q6dN~UnIDeRwu<=#QzRjNJ`w0Z z66FfLnL;V)omby9TX$sx^|5F%AdR_>uoN>OO}nR|Z+x||Walqpx{lV+=n%8cQq!4aKO%fY9TbbeL!G$3 zDM`-NS5FtizGSB%U`r8UpNA|mXG`d_EBrt5rc>C3txFLD^`3lPUrMQefFK0U24ZV-E%RK zY~Ej|M-lv?bk6NP`7<~jFgNs@m7-t>HO`^I$9z0@sVhVi14i_jlg#pkcE)43(KFk+ zfH0qUwc-F$wwaF}cwe>DiV%v^s@Bve)L#Jj^crjajo}-=27jss258lloPLz9-S+ z>s;I=Aj5q6j+k5e%>(~=SyU%S#NNi*-aq#N_x!7Fu@9COZ9CZs+bure|8{`}=D_Bz z85sWd&E!#9B7t^L;05@f9b8ux-YT;&+`?b_t;!E8rX3G&h25A<6UJIc#=`=!tbtiW z!_LO@t8l{U$n3pQ6L;q_5I@PJ>zSv%AIYN9@i~0^^*UF54Q>L~fR4v8*!e^F`Gb9a zz^sDQzku>REROMDeEDo>-nSt@3?OWvA-Z2j|AI&Q8tP}4=KA~j{MPfljpcF+@UAdn{&#sv1Gb2Im)Csmv6-=ik?!2EOET z18)G)b&;tXFHGTAkDJtHoc7}3^cR8h<04bGB3;JB*Ye?_PSu6`TQOInPo{sWNC~3y zX$G0m7d$ZYklD+u0ByF~VT5?Qy6!)o%|xEIaEEt-Dzd_*sY z<8Di&eSWP@Rl?;)zCt`lG;)L@u1xPUdHb>=8RYk(j?P%eLEWV>bDh$=}5O1V&Owxy)FNBm}p)OiFm43%^*dv&H;Bkei=*v+GRu*~WkXuwaaj)F( z5d2CNUg?eKF(XN4A?&Suu@BH>oCMTeNmAM&nHTWXn37&6^WTsj8;i7~hMWsY${3LL z=)Q|)vofnyeiI?mp}W%S0cqhWLO?j_bR*xXM8OiBKl1#(phMK7?BNVPSb%ehl%bgL zv1c~PGR-saIWi=_x8gZOg1ng`a0dM%Ze%e)puuz)?Ag;~_Z@U`K9n6)2zD+_YR}t7 z;trm{a2^e`gj^Vt%F|aR7&&e{1-nG0c!j7#lodAb)3#aPl(>eJL+U{LUuGf}bP`b3PHk#bdqzOt}~j4&NJ6rcI>D|KG~`3EcBI z{zjLWw2uOhKSlxpN^Mkj5A~|>29cdBcY}G3Eb-b3p3?ConZL^iGHHv`fH>Fy&q|W3r$6+AGgJT>X4!=h&MbmfcdTjOk zRVg&wq4AiUWF55YApGP;rnro}apEOYRY~NYwe7bZ#qIBnyJd!sT@{rRY!381h+T)A*Kc37zuPNF(ROT> zk8ugzHv@#LZztk!19azF3{m>-l&?>7fW|KUL8V-<*38=ez5ZHTx^~1rQcV7Ic(>J& z-5ieQi!1wHg>s|4d#(85trHJnUh!nCiNk)rL65mTOM_#5;87 z07ogA!r~!&mjxS$5#PBk*17IdLDF^BVgU3NiLQS-m=giGo$LQtSv>^%S)5Y;;fQ7IMX0rCY9&=zMOj`W8&p@_)e_-TfrrPN=19IzZQZ z1)RAnkwa=FkBQuzL3}y^7`N2%*ZvA%($7;fd8KjCfhXZ3mR85lgHn2v)KofRT|bA1 zNO{_??T=oIFhf28{OcV3jkj5sqiw=|+kkDtanmw28{yoz;7+rq*ihH%8K>k-i=PB_ z$5L}~f1^{@1m>dy{UE*@s~M`)7_|2m@ph}Hzq6-*@`_Nn0LfMR;yt*&Vx?{!)AEwo z2*LGM;jcOMwE*7Re;)g;--`+A?i%c6ehRfNv^4hM^gm7r$vAR_|6Dqec?Bjz6;eFd zI2l3Bp#$Kv>QX?3AZ6L=Li%k-;yo4h{kK*_#jnf`T!u&^fX}Y2z)C$H3kFxI#vYpu zhtxKj#ygV~l0S{h+l)_Bg<4Hj>qJ>rDmYqay5(EJ^|0zYz?P^{MTr!~~sIeH`* z66hniaR%|2y)df;9*oz%zfF^D_^gETcx0=%g%`?(@W*M;BKf?8LR;-U=Dzrr_evZ@ z4}XEcWHu+g9EZ6<1uP@E^aiWD4T^&i&91RSj#Ic#SE{z-|tX* z`4{fV&$*xyTa)eZ@qkM$bFZnd3$B7_0do-|cUsd`NgsPLyA%j{uV_Et_@#NZm<^l! zv=wAhb`5mGf50zKf6RBh{vw1N0A!Y^g8O_b-s=imJhV|r_R?!kTb=SU{h2{?8DztC-oiv2@RmPSS;FKxy<+Vr>yvWPCWocl2&M}TTSk(;rq^;$^jjMtY^8!x zQ7%ky{l#3u)ng9KU1K221e%DDRi5d`fU&1h+dd|E;RUO|83>sfK0DUmN7cyXsLD}$ zpJ^?c-98kTiz^^g8|?WwKvicbqu*hj{n-8_4!l{jW@pfyo@Zqzt99ZZ=>g zwl+ZYv-D;gQKCgf1YABipGr!A1|-B4#xk6!1oWYEYhujg{(z|?kzfwSMzT1j3uy+! z0*9jXmBZzbEb56T;I^bVr;1asDM=-tUPyYs!yN^{M%Q3vSY!|=_v`x>yZIp<>gar5 z;SbxJE-%R}qcR)?fk$(FFw*`(W0*40>QTkJq_8CniP=JPI%zf`dE%?&#mNAQ1cG)P&(#T9!povD^DV1hP(l%9GX!Z>E;FICOrZv!v z`W?E3Xg&o)9Db=gr+|RYJ32#+QAaMoL0&*rB1;DmOkClv_`_E@QdC?YO!d&LO_e`{ zTPu5~m-H4XF3j?sZ7(YFL!IEhN&ayNgJeKS=#3TbWhYVGusx7T$@ld{SC<)_S4Y>A z&qf@8gG*|RfCt7EiO)2Fodt%UjO*N$d++CNbYsS65=A;9cJinzXNux@s0SQ_$wlbKdlJEK1vuFm_Pew<^IN$ z6eCn*#_~SUf2IMTULPhKf(3MT3%xm9iNltUZecFqRiXJ)ad|N+IqN5<=Tl!Vp*0FVxwNl4%SN(`P0Y_K z`^$P1s@|5v!?rArgg*6v7{rHHQn))gc*nP8!MQQMDHZVJFh?c8?83A2|S?1IfZ!#n)mY?-9fRLKc1>> zv@Syt8t9WAzIu|~t5+`jSS(m+dan$d@2fGLD(2VKwT64gf9XHm-*t=H_7aQ#wR*HL z3aK+_zpGhAajA`?9)tYH=A!%`n+r^xfq)AOu-#o!0Wzxq-4qJNMnG`U#*24%CBd5La~ZsgSz~+WhoZBg?PzW2zm>}!EM}P zHE8=6oz0gbJU0=P4$7NAr~+X3TsF8m#lbQoz-}RWE&=#pYPgMsN-RQFTwv7;?1Pzi z-e`B$zFLNN6A9k~M)~;KQb>Z0Qn=lyJk9`+`9Xo;!U!V+zPXmJj{jRmI|hvN58IJl z`TO&K1zUO@;Zu}tdG2KY?WjBTbNH$+H&3(*``=EuP5AMUe%>2l0p*cna^?0BT0uAA zC|j{A(qUEmpyQfiq;ZWt4|oChL8JRrgG=gU5v{7*APk@sLU1Q&^8U}_t-j-bI993@ zpwUklFJnF6iVjzLI|2MgzTmrkY*N-)%kiS)fc=@FF<6gA6Sfpj<~-Dvz}4$CamqvI z@mlU)i>aZq#!2GpfG)z3@J-O*eULgmn+n;VjNC--q4kNs+mUy~xd-MxapeNpi zfqT)!IT`!`i^_A*WCXU4Z+97e7Dvqp)~wD0^-gqeTm*Dky5_|u7mZqZy(MIy57;h#*!JV#s)W{LXq`$kjny9QdrbRA%B+X!my%?dpv@m^GM2<Run_o>@3CU}EF`FCT1Byq557<>-g>eXe!X*h)P=deEwqM7F zt;x-H4uj~5#kbuX$T^KJ9r#yX5o`U6Uv9v7`G#*o%@r`yo>wT90oj5gbR(oz@O3g+cx-Z8seAaz z91vCtdhiKDt-v%WFSVWa0?~yq@NGke1KKDB4!l1@T~H+$vq zYmB%XS*p#uF{DY&An)NP*4rKj`qZk6Bg6l5hr&a$cAfb^Z?8u3gD0r+@s@Wmkhjtz zxt{Waxy;0t8H*BLR3y#s6!qQ#^GcRvvdY{?NmvqL^FSlruO;$WJij#IX=~(eB`s%A zJ^A2zkW)slNs6er3Z9bKEu$)!amMkT4M|=e(XJ^iEVp;&Wl+YyLvO8suH3ARz!}Sloy7MCidb(WtRR%WwH|_RZX6csk zv9DK@U7V#*td87Mnlsp1vp8{oxrPQi1^v=;UpIYE$5|oh&j7-~93P z&lU}~2a847sn)tKduP^;i}?nb=f`(UV_qNYdGu!=elqjoN8RQ~p*a_6<~!Eh1ZLle z>yJMCP~c98qR_(_b-0KTTVL^?Wrk-t}gWYOHzfPhXNWRS_d&P1gf`s;>}4 z2$qbg0d0pYW+y_pO31-46YBzOuT=JwGsej&^#$j&*ja}_tprxFa55=ZjyH3!jDJf4 zy~mw=^{ZMiE!+;uW935mSx0=h5jW7FF-N=OtpyCt>m<)40K1*M>tD56i7EL-$a~n{ zC;!FVEVe649DW!Ts5Tz=Yi-Oh{VLjJnhumr97>MCW(2P3&Yjg={5M~Ji})|tx_;}> zOrxV`e23yap6J(iD7@!CzChfy{#v&#w(Prh8Q4;5VDRMYz0A6rO{2qKjz&P>hY2KX z92?yKQ)E)^9i#f)_O{xkwT?am(j3Nn1&+=HE@JU08p7#tnAq2VPnGp+ZCXk8zyrk+ z&ra4u79s?EPSTv8?2i4a)PNHvw6?EbS?<Q97SW93B|kA<53Txi z2JwnWSJKyOn*d8xa;QPiI~o?TUby7K1WaYSTOUg0QJpKg^z=9o ziUzJ~x|G0>aYfsFvKoG2E^rAqPD6Z~wpA-? zcGbu}QRzA{aN^us>~{ul=Xh)-EsD>`owBg$$wiYC=i80mQ#_*u;_2(tPlDgH!LB(W zAG@FGj~a$!!{yR{iz8VvZum~`=i=a`@GrI>xfzy@#(z<(9SP-q$chns+WEYeaAHT^ z2N9gXFX&7a3U7>nmaIXDDhtg`PYM5%za7Dshzm36Q6a%#sEWS2&^fmqM}?c@fr3ts ze5LW1(+zd~(^Tji?baZ}6umPw#2asPfPe~vn224#u|GnNH0lRvM-eruU-mmYTlE)* zb*2m37DV;0lJHvHCHTLSu7Y2Re2eu)cGZT7qva%7tg#}?^_620@|IGJKJAo=yG?XQ zEqV7X)*cNqjZwmqf+SFt%V59j!d#&iiQ$C^E&Zn9g_7Zmy}&0Fuo_bTWwF(hH{>NP z$;``HqV`e5l)GaPDZ0!k>@N%24iy`duxp-Jp0;4Qd^bj^&ET&>tpnY=l3*+SjG+=! z<$krfh$pD!i9u`-z7mS`_bHPf+DT^qNFkT4cTcV*`#RL|aa2Oh`KAJ)%-|~l`*V9u zD;Sp~b*(Tn^_^xVOFC-eJ)MP@#fmgE8JS>7d%xQ4C?-pJ71E zmEl*n8$v97R5VP!-PkIGZp(u-qEOph0~?E1j}Z6shawJ1-4o_JkIrQKaDHpb9vd(U z#RvZ-1}q?x%KA`@Dd-dJxZwp|*^&%Go4N~c*p4zJLnjSqlh^%WK5^&oH9BSwV4f@) z<2S;Z<;0qH=+iv6lh;4P6JRc-3I@lkB^Eg|W=^2EG!$S9G;wg@j9B4HtVR}C9Xk8s z@a*z}h4GsA5_3ZdBg?c7%0z37%VYY8!Y5!;KcBwTJfkqWiC~q6%arhcc3mrrGvc#~Jer!&ovbUYac9i2g;ETUIKms}Z0A`LSSX|T zYuoDj&4)&UFU598iGRe%8}FxzcCJ+h7A|M>BOdl9=cz`CPLwQ?J@n)zQC~RTp|jdI)lUTJ+8No#`mEGg3yU~9vw~oyNk?OLfYDAR@a`7 z&i6~%-=CPg=o1Q0Lmg~NRx#XG<7!X#W>?`LPMO^Ish$67fI_Tdpu+u6GNYS7;;~An z^sT4<^QBkr@V$B=rOOZ^T9_z{bG5tJtxdu@XM{KF&aLo1 z&*uIJm7+NEwwkpcxuC1S+*ktGuqU8D!i~Q=%hCQ6QSeXGRDHZg#~1KD>`TM`yra;L zsi(gvFxhqu3{F08!CW&V#@Mi{HhA_TUYMmQp1+&Pt4v|IyDdHkk32c^cF!iLr=O!< zi6WL%YXz6Pzl?$pFld_wu0tF;3Cm8gBo{rW5HTMzx$f~=loC8)Z|F)GK3fsPxIXTA>uCXbpZ{dJtGK7J zmQXS?F74~NaCJ^QTFDe%~t2#-(Cxei_xF?x)fs*1y0+H57c8Z z^waBAK$h4FJ%QsAia+4t|D&VhP+mug%n|{5S_o)+Vuahd68Xze541n*`ga;?&v|uz z#hUx~yMk@C2T=gA8I}|X01adQuN5L07##oSpaFUNuh7X8&6i?w{90vi6>_4T$h@;M zX`3N&w_5*OV#;B^u?g*r4CJ?vDSqXI*ePRwb#MUpS#u0CaGaJsKwhKm>S9WK+5&B6i{QU zgSN}cuYmnJ#&arHNVON4LAa~c&*W7Z&jJ~!{50H~?hS$!YuIX_KO?cBxw(za{rq%i z=I5O8KWX(V2HM6_M|!{yajL0G5t!nCWdc411dm;Im!|j9YPNy8i?cbrI-VxWySFOj z>+Lj)YAiORyS$-3nPzR2+Wievw!{l%u#vu{6)aU&5O&IAKy=S)Qji&+(XcRn$X9tv z`Lh44ERgZQ{N=LQ)5zzVl3bZUbm+b_z7A7tgu>|B6SAGbxl4Tmq-wl z?Y!_>rtzfKK&@$gP?@a>PpG)c?x~j4#}hS+;Ho<&k!7ecy^NqKrkucn#`Q_07OR2F z{BS~wQkZ(;h_#z*!IXor!^oaa>7mXRD1jfjR7A4rAu+E-1^V29N;RR{W7lA2HBJQ{ zvlF%xA8a_9Py9y;Qf#pW`0XvGMQB^Jym;R@a>Kv!oCalxZ!^_w-AC_i?vhU(dOy3b|%1(7tC3sk_S0uSy2=nL)ewvG1snxWJ(x zwtZ@eGLzN3u(ME0ru*@C51dPkQ$%>#kC%tK0= zSIO07z!EcgVW(N((=||YR>%#7QDk5v6>qu3uV<@Dht>uwg93fvMvHYokgkY5T;`~| z#kcxv`kys9XH#R#uOlQ2!XR&n^nPkGYc_D^QJL2h8Vc6WZ@$G^Ka{)rt(};Xep|v z0Kz84GG`-iJHI>P*V9fA#tMyrp>jLE`I$Y;&QtvR-YNAyx%K^M^>fSJ6P{&2(g6Y* z`qMd1^V)w6Dz>els|+YOepo(q_j$E> zFW*6%C~bG1tg!})nF66&fbl}hxz;$Akd_Y*m{6CmL;oXcoh^|W!)LM5gnRU|UAN#A zJe;%)xf1|CK~;{u2;OHE=vA{*KlhI~scqyN@}as46lY*XGA2`Uok?Z=^%m@w@&6Q6 z?mptw7qobOc~lelZ?aFaE=`rx5jj;n-Tj_IqT~ zwz5Y4gFp{v({5R@{lqcNks&D(jklEPbXMBoiA-TA=xVQ$voD?wxF z11@aPAT1DBf|nYDRcZ#T;>lX#I!;HngyTry_L>)yTX?n@FiL(GxmPNE$Ln^2huD0b z@Nbnk+26_*^dEA(>j=7c5SxeR<7!RaKM zb+7v>NSPD@t_sr@CBGi}1CE`K-o{CSvr;ZwxPjb|*Xjg){Hd*78F$44lsbU86)2Lv z+%xio!3W(DSKs{eXYyGtfo?ToMH9aS&KV%PLtc^2Ro}le-Xzlz25mkE>nxflEM2PB z?PMq~{Ch=a>zL@yd*vKcl3sEuXu{k(sed$xgSl4pV9`l^+M>UGg1n!79wMFJ|NboY zK-l7WQ4{}qfkfVh?_>#|tp^%BBs;|!6t()!mMC28DgQ&}Q<9E1#6}lXPB#~-;0Q|_ZTy+i< z3tWg;A#E4Tnjj2T)%KME>fT=u=elT?bzvB#MQgM!yP3X=O?K$@TRYtMTUlT9Fp^HQ zkfM3r*3EI{mz~B)m-A+l-213-5L@+bYH@y&cK)`$X#-3q8`{c!sdwk}tD;=>C z4a&|h>iq7|Jx~IgG3}*?_>~y*p^$ik)EM*qN!~03cKxaCQ4a;Ji86f*-ANSj21jUc zvmI~%4w2BkyDZVRB%T*yIYbt8&wk*y>n@8G2elgGXDULY^AI!fOBFa?+3VTd;i@HQ|3iuo9 zrLw6U|502^y!YXK(I1yV{zu!$HMe)dU|U_?Sv}@$X%Stc+Fvw5n-E#V0V;8lWb+W{ zWK)x1ORq&(uVmBUfei90Ljr9AV`h$|N(@$Ky**dGwX?A| z&zjD;pA9UefBUBv%UF0=dOiW)Yfeu4>lpVO%{gDxraEcotqTnq4ppO13-3D`V7uU` z>_zI)STD5qei3H1rgm$%=3||H=c6CeQkcO{YVeO2ON+*yFLkm;FSK-sMtbqY%d~V? zumfVCzRMpUNB)j7?0!4VyfQhuYBoVnWw%npNGCAi_6kmFkng+v)or2(?O-4KoX>+a zud=&lF5XU;feEWJbzYaLs;DdK-lBZea)+-SGSf(HAuvO2>rl@3V*f?{jGWEkk0{)Z z+oS_u@H8?v{vQ=KO0D~>%f}u~WoKGfrw^m1{l|*lsq;emM-c_9CwC3s(Hs#pHGaL_ zVz}0huxlHv*#WJFlz$!k=TQb5^?-81G`~slsx?G%ov(H51}sb4l{Yhps7VMXEfYeA zGp_&0w0%uQIy5Nw&`RjUq6KM|9DHKr!#msE7u)?NnM7Ky6FaI!%ao#=`MP;yQ}Dj_ z7&JH%ckiBb)-mA9kL6h#?;cxO{#;=z%l~(#l2kGp(VUuK54~}8pWnTBR0!pQj^aG2 z{o47<$x&dCwkFQh5@h8J-t{xO@fYP64lG!jm=zTgdnd=n@>UMC#SD z1T)kr0~E85BtgD66A{5~;Rvfo-enVtPP0t4PLw@SS5hnM?E8rKIWvmkF25zHWxw+V z{N3HSdBVDsE-21JdbtTlr#Y{gy2{D_V&p!yMYMN=a+M*ve&kdixD${~2%FR*DQ34J z%GLN?=8#$e%wo*Y4)p$o$39kJ@U`BL-X{0)EAUnw<8S3VO63#|9~I_2Ge}f{q`?r7SfX4{3R z(Al!cZne??{Uirb(r>F2{3FXs3}dPF2xVz4+E0I){{rd(=bex6>m-#=Gm*&0p~knZ z-+JYEJ{b$0W$qihpNiTI&~i*JITzg}W&fgkS+d+V`I4YJkgd3i+*+@Yow*<6f8;ed zC+dQ+>Q6b+_-vlT39XH(AI=)x#53Az6Q^TXi~6FYPn_+y)p9v+ch-C>iO;;Z#eas# z1s&=X)TsQDQ6$6r8MfM!gYeZxx?I5PAI(Lx@*=zuCND1q{sXN&2wT43Z4z^H@%^y4 z6&2UTYn-xcAnYl!;NEQiR}aZZp{oQzAHQ^|)n&L=gXn{A#?Z2{`F(9 zOsN2|suk^lSf|6OI8wx2Dlu%Qtf)4_37kb<2WS}Ell*0s>*8ly+!1cc!C%J&ma;E4 z_#A3s2pF>!Lz>fUf&=D^;_!@41D52l-|#^N(6c2ir-dY`2%5=p%cRCm_s(t5 zL@5#1jC%AQS15M(qp8Ojd+CLtMC*)|do47%F)V2VGej=i(Sdx=H)7;udu3h6e?NAW zhWu!$K}`M7I}-tcA~T41o6_5kXudXVMM!0bHNrl^@sA?GG7^LTw9#84ZVP)!^&>po zYE$eqH#ibbT-b^5Hlbs4ol3y$7(@(}xQM$UQ})dzGK1blO=2%O8EGLgiV01kh_9P= zJ01t>Psm5OA+itoM=;i(#Cs~kEeyW9q;=cqo1n3tGA!Aj5-8Kj;rKhm$;QYR;33h7 zG=<5X0i8ImSXtdz}dXgd0-S)PAH zTwrVa!R&8x$%`6iTt+!%4-2G3+qT$hZ-Zd|+#UrIYp;@qq)v{}WUB9KND76Nzq6OF z2OPv&8ug?LPZk_1T<&kPI7t$OrRHYz|KP}gJKLz#O#)-`Z><&d;>INF*gY10syGW)rt4Aaxg6~Xe`aY8X>iG<8#KQ{~3lSh>ow65`$fV5$gA3EM`zDXAo;Rs)b zV^35-YrtPL+uiBrN zZYbU-EBmZAzbKmVC;V2<8Z~Y-Acy+`$5SD}Q*TMV2L1)`9LO=H^8}2 z$^#SX&X8DA^)Oz1;doNLFb7^o*nEtSo>=Bp4h6B^^H{3-u%&wT!@3)6#U@F{jx;~t z$RGiOqA9MlOW0pstOJhWz#@VZlZ+L%Aok&GeVGs2(stco@yoYf{k$RKa&O5$ahSXs z#!%9(m@t+C5dORAmkM#qYp(uJ-J`NGD+^%3d<~GhIps1>a~hmo&k{{~jT2MT_N4un zaX;60L}&<@ECYH2?+>NcCR0lFS|BL1BS>(({CD%@C!uY2A*Wl7&EWQ|XYTQTm~$!v+2%P<$(VPpljvNRq72_6nnzgJ8JezzinoNSdR@Wl|-H8Cj6F)tTHI1v*UZqWb$Mf9laM1O8D+s z_COiTXvheQ?IB_G(pzQr4yTBH54H# zVO@<&BWCw;z2%@M8$s!nK_2%R2nMXwJVdmVCPtBfvtj19%mnV>#qtsrWo2jL!xHw$ zTjvO3*BZ4ta8En;w$yt9ltCZe7X(U9gSn?!XpL@N;p?4s9C3^)U#1Xlo1iI|pv_acTHjo3coqKKK-d)8nvE^{EO=XV1aq&=r4%0KFujuV|U!(E0*z#-FW z8p*K#&jOr1w1jz{w9Md^Y&ZNU#&|D`B)3iOT_oHAdcyu7zV-KjAJO@@Nc(>=UgM@A z%-d!P=WO*x!WF%(n0tx5V6M>~Z9;lR4{EEEy$oZf1_o0$?HWkLrP z>Y*x6$hfG}i_CfZ@>5RS_xE)8#ft^v<2#{h>;;r=zjlZgA`=>(B1WFxmyI%0TgqwgjiOkLOmlV#PDpQSIZeVJq{cEVov+ ze}6VPv}D<-)a9Oui8x;e&NA64t^-7H#8{y{x^>JT<-+!Jza!kS7$tfEI!*&0mZ8|{*c|v@O;9uSEmo66LI@qE6(MTT7baaKvIQ`>}cs|1gCJGKfW=h^t<&>6Z2(;zhPuidN@*tap^-@4aA&jSKKPQENQW03Bx<2VOC!rG%afzL`~)qYx}k{3hO>o`WRhgS z_Q7#znuAEGqS3`|wSG8!v_Kn70tKjlmkgSC3#wZG&{aTd5H$O-A4i%7@mFOOP8Jlt zJ`^%+8)((09pMx&`Gc{7W`w@6QK)D$Orw1}x`ntAr$EWye@uNsG@o3`9z(x!u=H+r zZlyDssqOp8I-Ti01gLNc`iK zuRuXuOsiUg-LuQyH5z<)-BisfT86m0pCP9jwM_S~M8kK8mu7l@i_Zg}lAvx-*&eCA zNN=5meYRz#K6@FpUCM^8Ej6D{hg(6lXbe6;oxR>NiVjor&Fx5SgQ(k4%Y*>5IyEeC z^(mrtN%CW~dTFqYN+Gh-V;0R813v+59?JDfXzUW&n5m)iEc*TM5!ETM zI#^-}WCw$U?Gf|QZlbaQT@*)jE13-ITeV-f9w&l$Tu@mHbv@GjBUOl zFrO=8Y@rj2WsL}L!&tG)k=3KtG67979-W`Oyo}sKQ&|dZH_dEBQGOQJ z*|$)zq?VkdMg!=VxU#GZhYpYR@PsyB3{8b7B>brJVz5q0`ORev@HJYSNY9;Ln@M$+c@fSZ_#GaKCpKFXW9aZ5GU#C#x>Z#IL&p*%}sSR%)wEH?cPO4y>K3;y|1EDnFZf^=KjYLph4P{-MlP55Q}V+^anTBCM#yrwyER=J zVzprVS`z@Jqt`O#HB;&^cW89$130L9O)>Z?UgO=*d8pw+<~OWdX)Dw}@v=hv;say+ z0*&1rS%!bt^&0GmY4Y}1-mYBlub3WY|BQR(%jpQb2m!W%OUqCxl_9_j_xG?<-YyRj zID197Vz~`UZce~^EJNv7qlZyO3g<*JxNt^NqoNQy5wW+I>)TB1kCh#M`l8?YusgQe zxh_e)PIR<&u-aywW8}U5*jUxm_o5SG=r>G^(gm(&0ym6v1o7W4K~7fgE7SR5&kLO6$D3kLzGcQJ zDPE=K(#`0qRlk;AJqiPvQ`Z$j(ULQa$y=Iy{7G2m%W|=s@yv>3mI?gjgmne5nM(r> zjRCk!k(OmpUoL;9pV=MO*}sh`-cfwbiqAF=I*C|b zc@sz&KO24x8t{BR5e29kyAaBoMeUuVroaQe$xH_uaHq?E9xeqqys`;s8dEe_=8l+d zQ0rF^elwO<*Mx60(<9>*_mDtv{!MvH_{emeTj!r&e^^f{)u}FVVT3qsfbpdZ^`NDdk8^|^QyUWvsasWI0b8OgUI@S8%-(?6sL2p@mYBA(^Kuc0p0`a(rYkR5=Js;4M48HFOWaP*{ zt8n{W$F*$Z^Jy5r#l+k#ef}M5EQZ|veRrB8rb|Hk{Y{TZEy~HiIK(*%J|5Xa<|3Ev zT;UwwBmkuwQGh)!WE`2}KIU_9D)R#GMM-b!!9lo&O_RJ=*=1bg@YXu7JHHW+q|ySr}qaCbI_>u`z|cPZ}9aCdiickf`hjNvZB zr7&Q)oqi|zZNUaX{=U2wdEf6BKpzW#*!7cZ=5 z)ad?)z?Q-|RdBH(jbMB_Wo(8Q$A-KBFOtEP6R!wbN6R><4yPdqGsG6=g!A3hGbbvk zKsPM%STKJGj>&JkzqSY~j`r(1j8xntSxB`*yV7!L9L^FLfay-V-Uu4Sni4KJvP{xM9SZu>=KqDS*>A z7}?=ifxQFq_FU35Ha2R`6H-Eo==S2iIQ-G5e5>bTkQ6^$0yEd%1u2iF;5E?vYzABJ zu9tcgQ8Z)?hHU~&b+tKPFN{$+Y*+WG3N?)63CpI4^9#8??G{4nYrK`F=(i$SgTn;{Ol1>nWrwwq(O74rpy-aWbn3w*GMY^ z@xWpZ>bKu>J~cv;ilM2jT7hG+S1dMPpeeQNX;~!)@D18f1cXvnN5$14Q~4GlN(jni z&A^&*FYIF_CpXpxQrh8sa}_gUrD8HMOu5tie(r*Pl}}b|bH?xmI&YwF^_$J(T+tz) zAM#aH5SAXS;h`|13mcz0Q<%=PuW9BgR#*#gUY$Tt82;hhDmoCfc4h?|9NEg4B(6EK z;DykKcKliLP>i>Vg>A1z<7qB7#2D|nK!XWCN68-72D`VOm7D#FRGHm?&|y^j&YQMB|rf9`m3P50`0$_2C8VT*3Mz zS~gi5JRfgD!{CA9cqe`j=lPkhDT%a1a7XEIN0Dxx9`P5z(5X?Ltee+{SZw)4nIoyM zvyNAh$yy$1Adx*O4RQ@C%#s$)w_s}{Oii3vM8lZUy6(5&RfOMPc)%x%eDpkBkTZk1 ztK7k@E{3@S3a;m9G1C)LJ2!2lSwSAIifH2*jlb`*X;UJ$3k6 ze|nF9lDk(r6i(3}wsc^Nt{`>h(hC>`$1wG!!my_cNQJSuiOWNq6K=fvs+~ZHK{0n9 zM{YjtRW+x<0{a^Q;E63k{^sKv*Ig6nNo#G;hN{;PpRi7utLOR_gQt9A;n(gxoXQB3 z4r+EQ@gD3pGggkAZnK*LHp3*2h^M}G|4_KCqQ7cKoy#*n87M>3*?2|PakM)QBvLy` zB%yv!Cuk1ixVYyG_m4}P=SA4fMdS6>{caL7Zd}~tL<(Ad%@p6Q%wCS~>FwnV)Fv8^ z2{nMa+OwGQ$e}F@;a{-)Ee$@VY!3@$oFx=>C&ay!H+-<``UOg?+2AMdYQ}T{{nR@M zkUTn-5xSgB7h>d)*-gXgv`wWV=J~JCD0Q;54Qq~xcU@R^`x)X6`*YVPtV<$L1KJbF zdoZ`yb{{^{8q!C^UcY-2KPEh;i;A<(qNl<+lw3cYv`_z2s7#{zoVc3-*ZdRT{g^uB{|c6ROr zpmjyl*+YST9k0eGN0k_ow;vC$1PcIsPRM0EFz2yFAAF~}{kJ=EoP5gOeMtAJ?v0d6 zjqkS2>d(90Ri^SM+kfTa&Q4XDsf~PrlR80qzuaEW{P5ZIz9AbI47Y$wX{^^2#$8@brU*iTBWNR->0uV(ffZx zca0W)U-3(s7BU}7?U2Tfs;Y44-SW%UMy_OdRDZ6Obhupsn_g{k!S~EYohn%3!xTyL zby*_u;fCz!w)R+hi|wuY)NL{({_+Y19!0u_ExFFA)DeSW@v+8qlyQFzk7eAn`((oZ zDn`|RvnCGCCo1kDyVjUg6*+aX1yTFMiZxC=@c3pKCloD4h~+i zq+IT$B4h`nP?@ZD*f^FnnwPlFroq=VrqZqzP<_%A`T&nkmh{iH&mL4qQQDj-4w0|r z{++xK0`Ea#JfGS-yA)c$kV!y0a%Yc(a2GYtjU=3d z-$}zLn59d7%r=qu}qRib|o@k_i+eDdX)3#nxZm`OK7vnOYFKo)JHytlNI@i80 zdh+CcmOLF|_^n7Y)Seo|!gQL_d^fHYjF>fI7s(Un$1L8OO2#-|DrEMo1<`sO6CfPV zW~&UBxp=BY9Z^ISFJeW$qq%Uit~eJ~xl=SvpP0LKuhcr>%Dg#751H9t z{Dl`;p#ctrr}g9QE_zRy;5ziVz--dwEE1-eoP(2xu zqj%UT1P%yzvatHfK5!<+M zoxLRR4D#{x&ohjib+7a;6y=TZU?kQsewB9U_s%WmbUQ;vxyvc}uhbnn&($>Hr|AeiFQdSdyCP^L#dKUf|ze zSHqgki;`x~-<$nQ1z})dkxkeApEK9r+w_8cFqt(IJr~6rh7DB2lVo$Ur0fWXddMz9 zW{z{VV=kF7sGgrrXVxx1<%LY{b>mPH`(UY1h?p3l{W-qU+g*^Ei&wy!FlOhoB&Jb$ zxjjOGG^H%xGY)r^6axF2+iIjn@dv+5_4o{b2^@28<% zQd|g^$--sAS!%nBU~M$u9VU_ePy{=Cg4}AqZhoB67c9Tyy>`05H*^nZl+yafeNQP! z7);PL$`>?-Vz3?}s#A zYhGeIoJnrnC$5H!(?yne=EPcR12%A^CZw=bf8=4s4p~FhMLwer50w#t?P{_BpP;*3 zK;_?do|M9XS)1r3_;$*}Inm9RP>spo(-gPb(}jQ#-9TLLFiRqva&P#8rd*x=j zzK2$r+76Q(GPDt(jD+WrRYjI~G@IcPv{M{Ml%y%nkf@n^GbD~CzZIH3V=VSD1(jT` zn;RwPAcl>RIXU{83~PA2c=>8m!i$8V1Gq1L;wUBqWWvtn%<$4T{ zT5P2??LW^nEF?D(93UK*xFH;sT39YtYy0i|!~^T6CK_}RwYCg53eI#L#-)K@A!HtR zPJ@lMdda8%H`1#q>{jbPA-K@-Bm{3VlXIlO3MQ8-V)qtRZ6rJf;|%K8>tZz|#b0BY z^iDdHVp}h0$#s||ZX;I(jVsk{X1pfkwxEdEt|kdA5DeecNTdtm@-H4(M}r)3JnDWB z+$s-?oWloMpW_#(jv;lFcnn{d~sT=#z@{TX@^x9;ZzxtY_Zf*x1b;(`yJ+mKQy}kRLPyi&j@xut8wHjJMFNZ zyr=n(Neu?w)?xDJi*EVHSk-*%^d-LcW|*t_#{A4MTJv)^=ifzKiKoOIvg7Zm{*00S zfa9~#Z)U3hgN|nZVaX@9_}$xC#4HSb_Zzk+QYgw4EkBaV?pG;K7hXt@?tQdZ6EMov z`{?4M+~3~(HYc26CmvigQCtEFva37w<0xI{kX!ohMhSq$@I(LRcb`~~ps4I;lCUT}~zRYU;xqzbk)9-MV$Kv;`J2te`Cv=$wTG8w?90FJgN+K|xtSfATTv;o3Fjw{QgZkkY9b0fLC zXG|$S8T-Bf)BFlj*OI<4RC5H;{&y||@gEQOm-T16WAXN{r<>9axc+4|vWgb?rg^_^ z3CiS+LSbSDQV{fUouS|R#$nseYMEth7%%({3EFUXTY^8TtaZP!+j1YEL27^18*(96 z?7#9X+Uftpb;noRfao(XR2PI4|NB0V2Gf<mwA9QDuP*FVO31lz459b*!RNnq#Q`;c~#I{?0wI}uP~*yF(`bic zzXK(Fz&-11coz!W_%na?=1cuXje1p%qX`qA*v_Q5XR%n=q>z&iINr#A>FIeZL)Ujx zAR^NO>2Cr8w->{5rx+hq9qxGbd&tS>;@)r*Fz|WnnV6x^?VkPI)Zb>Oxr^AAwzHK6 zw0~-qsa>7D>Jih2N|lHJi2Eic?ao{EiA#n1og?l^^A#{Z_Q4RYl7uc%T0da8uUiw% zrwX+#;nZHKQc}Y%TCv!AU$Yto*|-al&mg2+VyU0ZRu<7PvD@+a3upNGq+%symeg5N zjjG7mY_T$8MXK9O`?DVtvUqqVPW+szJ7T2pw^yb1+oeN$;W`e(9}}Y-G+VlkHEOtT zTsi-KeVd_WR^~FAOsz`xpczVl{X`-Mg9u0{^jO5OE-n8l2uCzB&u>pxsNT#HZYgR8 zW)ceazSv;EH^)zU)Jd*d1Bz<|N3^A{I!BzEZltP@p_r=S&V0cavbGwD=V%oW*eZ!l zo{@+)|ICGEq0BY*gEdLxSZ!iI!PYk0B9g$g$&OjI+%%6{Mf2NQQK8C_9EW@#%GA6| zbeO5p=EBZLSQ6Wnth&wob8ot61%!&Rh(tn7tU|mMq`@&^u?Pb;QQmkzrZDb35?BuM z$~vcEjk2VC`J@f*_MW9HRfG$d`BHZ)+<$UTgDUfPYs04h3F!;^7hCM){!^b^ z0QvO7Y7_DPyfY<6v@rf$%?^#w=tH+{-_0ZX1{l>g)lq{B2x|2!@*~0*hHDW${sDp` zw0L+w=!!KvVq`Vubb+<8+M(29jlOQVH(kRDtel>pW5JJB(05f9p=Ms${%R9rlXh6o z1h;C?9Aza9;r3@l{{X_@7~;P+Rx&MIA=Jq}lc?T!Gr6kPd4;Tc=4+&{hs8Pvn!A>YWepv$ENj&!pfVtNm;JNx{yEdW6>nalJ9UVHzH0H@NPyXC zvE>;{#Mr&X|GWUiYpr(x*V(A=e^lx26VGjeF%QzWyp)3$Z?ID=t9eltf{)((N0RB zy-h-xCdA8P!=&r|i3els7Lizs5HCJ?L~e3Nj|n1Xf0>0*W&R{1hwp{OdcTdmFZ?}T z*JM7LTg0wkaS*&6XDD0eQm*QGK1e#QBy7Jgth!%t0FX)j`Rg8*$;O7i-@)7Xg+qUK z{fN*8-b}v(j|%)5KJNun`>yY{LCyGrc~G%wn4I7g4X(=%U2F~ekF*exz&64f6bGg_ zLsdfl`rIC%$9Si9R^v@DhG-aifr7?1#>6ml45a-#6k~?n_YVi85z%yhjHVyCRbtT2 z!nq&b&Dp;Tvs&`UPw5vO5v*=?ej?9l#BT0mfVS(r4t968!?IhUf;)Ds2%rag%hbVt z&k*VbRnSA+zwWax`07|TYmh7byd{lIZosN*K|Njwqn$?l5@+!U0BXw3Tz+uYSfu~Z z*?FA$jWNUPimhM&pO}B_(mhT0S(%);Xf+H{|1dq^f)-KUQwS4&=X$fo&xYdt`l|kO zSBmnEWeZ_vW;r&2Hy2F(0isCKAA5Coql2yKP9I{cFc@I$C#kTriO0w4VbbV<8K^N9 z1BM$-Z=-H}ibI!T5Zsq59Moto^aJFbM|F(yGJ1BysW%K{PF1cAq$00M2oj#w)SnhK5$ign4t(A0<~s7 z2FPkL9m%|eRyxP2N5xp6`m>{gjL4e`ZpeMGoy0O?ta$Dnemp(wj}XX1FCPdI8Zacd zo?6#A{fZ6Hx`&dtd)3_UTB(+ogHJSH`y5I%_e|HIroECn_^ZdiA+PKC zPxj;?W!Ma6sAy048x~3vxKXS=u{DBpWP03lMA!YIhX*5}rZ?sSbI5gDYmdB<-#2wNv96&E-&WM3KE`mAy7p8sPQs!iv3_+z&DI>g(Owz?0uLn|G3=g%CzvMM#Aie!V7yEY0 z1{2!Vxyg;>=eBh?THCV>*5<-4z2e1y8SKr+OKVCa>D0KU2EdiX%BV9V=Blg4lt##a zMmwWK)^l26iF?2XdvQFtqT}r*$xX8hKT_@3dGp`n9b3IgcHVQgZvywwd$4mJhzq`0 z+;tk8bcq=Hav*9?-5u|FK)h$ce4TothIh$!2$5b?>0jJb+)4E;ZdJD@!u&TjTS13NB(hLf*=PZ`^j55=V3l2FFXR8+9{2=VD@oaE4 zOIXUU7znwYxFg-OFggQD7Hd%+SHf}%g&G>z%#uEQlAkHb<*Mp3>7u=_*wk0K%s2P9192mfG9zwdJAeeS+4{Wd}Kw7b*}7 zj2hb_i$SVs2WCSJ7utcLc|RNM1{BWmwm+l#`wcT^kdn8|fO@ak(Qyu%+4*RuMqkv~ zTxrBT90;pgD&PxB^*fZyB0r@y5sp$ysN36FreMRXm&NB)Gc8yV&RJm2|D&;Zis)io zJXj+~o-z0QZl8afp2L+08MLpTj?5;9|zkb3L_b+N?ni=WL#0t~S@ZmzLX!Y?1;EIHAIlsGG+FLeL zaM-+WXf5>pQYnI-WVHD!N7dtM#yau6^D)C`Xtc5elsPHd--_8HkGxDXb`ZUWJ|}n| z@C;Qu*J4GNf92;b8$xpyEIoD+`l$OZ-q?uU%pt)3u#d~=z0x613@3g#LksbZ(q#4A zH5Zc%uar8RjJ?Btp~`F8Z1As-MAKTj`$q<$oK(;kpBM&fzIi<}boe`KW<~x}Qhr|Z zOzS2e*>83nToK>`9w>tQIozKXI;_!+0vk*@3O;U26hIRe)us{ule7u8@u?2Y})EGZD%IH0Ibl{PIk+1%e0KwE?ArCzm~{S$!BoI)Tc5Hkvm2E%^;P zGe+k~^d)i(N_6-a7EKKtU7znSBnLd8qbZLUn|i3?whI%pYuE5 zz{4~cd%8nr(RUWxE!OLMiC7zS9C+gPe6TR4yxf@w| z_k;4Yjs^d{t@Pi?JoJF}t#toK`Lf|R8-MwyYvO;pG<@INObBhziHs@RMx)Y(s-?{! z#KfA34NJA2&Hqp<{k{ON857hfG}^y4EZ|U!t+rVvy7gMrH@p3`sBwO$YoXjC68dEw zsjItA{Z6@Kefg;+@%hh_PIXUcFY#U9C5xgzRMot}fvTEYt`ifzx)%V^xs@D`W7$uB zm)*Ye&PV;8J2OU?{S!S`Tb!To`#3nzcw#+|rLWSVS_IbT)`IT)JPQj(*9HVvuEyE| zwwQ|Q=aIE2CAW7aG352E?QJH8V5xXT3C= zbEHdlA3mL<6pY)GNr^6jy}??oSvwj*4=Ew?F^JnFXsLyk_seI->=tSpQQEEVc!Sd`YuP6WaBe+uD#Jsd*2hb9cONVm_6H9 zkj}dDMy$i)gz!{-u_8*xCvSXq5wppBQ8&UX!CB#~`e1_?BD^u_ETvG(#AUonR%uZ~ z_#$eDaolyo+txM{d$0&}-I!{DkBGK{o9uPVa<}{2pD-AW(Bf-CX3%0{z5`XZCCU0W z<^HUeMKO$?B6;G7Dy?QOo{ogl8b8E1+H0^sMg?o3j_kLo0~N*LaIj(BUh%%Qm?(75 zrHFxm7jgiWK<+_d+&dQ13WSs+)bWtgsM*^FVvNFSXkzaX+2It9jneGn8PPl{<_RaI zN*dXcI!(e*;$bg(o-@QL4>s4T)hBBFt}H4VrD5E?qMFWjLhG>pEF-a4hZ31hic%y5 z_<&Nox6s`xX5F?~D<@&g24Btjp<=G&=ZBM)_JKAc7pW$Ro1e@;{}b==ST~~YW*eHc zk{%4w5M#_P4H?%$ZC})|)U@dcG3X*(x9eJH!u{&i7?YLIm{t>rj>!$$c>?2% z7xL>v*~Tby&seXeyOft`kYi|0CzBe8JK9KdV1o8IW{yFB2}iSvJBQLE@nEe|o@~nT>{x}({DAXxodtx z57h@3X%3&e!A(>W9@U7tbb#^U!PwCn5xR)x4c}htesM`W{_ zA$t!ThI+)Ho%3GJ09whPLkx@S=WRO1O+6pa42>-Co8BW3g9HohbgtYFe~Sb295^fr zC))>=?J(XS^pLuMHk5LEGtUqxR0vo?9k?@<08ZV;6pby~)d_6+YBbEpxLj!LF;6VW z1lRXdX{RB6gr?^OEZ|j(2nq^>}9vPk@xQZ@wN;$HR*N=%wYFIOG`yQ_Q z3-6(ke&T-lJ!bS~f9D5=R{z~BmF@kKh61j5@lOR2Tv@;ckIaslX#r}W_n!`)xqP#a z&~V7Wy;RrkJTtl<)G}Lsw9&9|eg0^8q1iP2AN0H$ssIBllAz6)hvcr%zPq|}y8*!Y z3FI>7u14IVZ6eH;X<%vIY8|O_DRxgk@~=AdNv(MT1@QPxv2SZ)D`Nbj@uG{bT^-Uq!2LqTy(# zS=|;lgIJvFIwqhBsA)Zvv~An!4(Va#NPV9{g9S+tOKW8bFfl_IsoBdfpOth|M^!s; z=-JEp6reS4fUKjFHgUQ2(>OEQBkKDFHD>6vS&{2HwZ(cQMEF(9Kl}t^XfJM`i#KlO zKgAP-$j82BnM$S2xC69^Z)wTjy!y|()zm(aFIL~CzFLy#izPYI#Hw=^*Z9jj-Qw?b zK|10#^is0z`3|f@d?Bp=wmON1M&kW0BV$a_{lhoWpi*WJp)vb*Pk*sbiT?3rdh^3m zSHw&(Mb{=A?CT%)Zmok&Z?#VG?F!;y-9!GP0Mq zZ}5%w|F~`%8V4-fF*LcRp$U>r2AZ1G%Ld$LDEUxxE}xs!ob$eC6!4BuEtvZCsnPv5 z;3UT15x!YGI){6;|73y%TIBI^=0eW>6Rz>&aef|LFb?-76x{VzR+$Qs3z9G5iI*ou zCGpP-aF`{_3%Rn6DYXN z{XA6(W3!XRKt+XXjvGLJDy$&QZNuwJ7Z~dKAZzu>(|v9U^l7RM{9?EBh|Er_-}+a} zFDGw%o6m~H?b`oxaQ^a5QokH}AR+L9@xEAisR#~H1aEhLn77_9?j>XLJO=hC%UO>; z^xL1E-sR0A-4#ucoP09A5DB0pQ>3D)422tuUl*Roq7XEj%+3Q9yZ6HSn=DqRa+w4x zxBBI3D?yLy-L<@wfRflEEFatLNcS!Sm2N&-C}%-QyCcSG8BuGHI#&A_LZWNTBP!5| z2Tjh5i#Nk|EJ8gEMm(`x#w(nhupT9YNu3FwzgKONX4dt$1V&Pj=IS^heDKdUiWAge ze+0KNRC&=Q#uN^GM~hU*yI<7}#2D^SH6W22qxYB3W!-|EWp%;)-Z z-W$LFd$iz57XsIODbLb`p*PmOjdYsF+<7}iDjLRfTF7y>M9P;*xd z`f|}SOf=$Yz}eu+30d1;z_nNIi&FS@`|MHt7*-RB_|tZP*wez*nTe{rc(bJ@ z2&|>2S&rhAt@NY;=@*(u;!CS9y*#uZI&bk*L=?5X6exdhWQ|*3EF@LYKJP5W(iu}Q zN^|8=g@3X|*R4;CWhsS2IUzjBxS1RNM-qBVjOcNbnw@?{X zmB*C|3WtbVJyAUeG1@o-r}ZcP-Fr3M+NYfdt!(1UE4v14iic^6O~OW_3R`f;$8E&I z6=cN-RP5;FaoC`1Mn|UwFMH{h&L+PuiK4=eBjGgVVrk+ZFV+2;{E*VLoo1&3$F^s9 zCcbWo+Lj$R5lN6LXa$L9VJk7Tq>@v!ayzxT*c7L0^z!o>JalAewzZBuPGvJ=fb`T! z$%)XRqG*nYfJTb-SzAdbzwF*Hl3DtV=)gon>rWtMC~m7CPFOi#UbTWc zg%u(2-T&#D?JKbX%Qkz>d!R&gC&=Zn)_)sQz&Xk&n>Aax@rXMW{39F`u}*uG8br6pAl}P68L6hmYR+ zm+SAywI^YsOg=l-9)JURW1W8%Ok`tkKlB{BLKwY%XMOu#KdcF{W`UNU%OAOFv?aq9 z#pu+GY@a!@hygA9n>twgj)q`5efBnDZvtWpCf9r_mHb?hEDq2Oz?wt_zx-)qMh$>~ z{N=punOA5m(gxGF7pj1E$XDVmKV|YSADj+{DJd1U6m)HCk}Em=2O+ucX*^!jrkzo} zMNO2UNHS~#IdilQ#w9GBt(EVe@60i=m9?m3J{vj9^}$X6DRZZmMSlYoNxfBK&G~B6 z7*?LcGSAqe_vI<;jU}akwmIw!5M#!)L+G16OSyj*R?Ynh%u*HaoZmj5*r(^k0vkjf`IUmTP)Bpe*W5qSdNN zuQvOHVwQfI=d85Jrte9y-E#E07EG6Q&1_d9PUhr2R$uJ}gQdB+eL_THLjFG~H80^) z@2kXqy@M|SYP;XJAlQvAb70`q7}DO#cAID+l@lM-IODcIEMq!K?Yj}*?ypLLXrKt4 zvUL(}M~^hRE%=&%kLJ8$Ook7{Wiv0$MMU$>mf0h zCmAzPSV)7tX&RSPRbLvsj>s*I+B^>&d-#74BdZ&~GxnVp#g!}C0rMB;aea@8H=^0%a#JyK zwYw-=Q(sujO5Pzh-!%zZ;V2wb)xE;%|AY=ZI%?G5N2n~Le%9$h(p(tNlp7# zz9&XFLnCUQ&bCv?tNsIZHegl_fu7j{$5{eC&Y8N~jz-xZqJXbASi@9BE1-qXzLy?_iSpAT1C*_I zN<-*{qI5!r$4O06t@z1LzMD)`=Oz>vx zSv;3iltV|3+%>wVV`6(A`cx@{sZ`_R6ygirjs-umD?g+wc(nA3$T9ZZNb5eACl#Jc zsUihBP06?62MV{cI~{VFXKA=^r}2B?XJ6|LdDPZoOECrMf9#8W|EJ(^K|jb0R|V2n zUPPw}UUZmemS|osKUwI=?Ji8`L%SH-d)%9ZC@j@@a86iIxDHwVfvMCl$AM&pji8yX zw1w+VZejCO$yyQ5Cv=uSmk<{j7!ft{rmvT2*oMM1l{+pFRE8gkeG{nfe0HVVvq)ck zD{LsYyYny$OC4GrVpA*MG}u;*Uzs@qZ&r1zah;5G8$VE`NRO@5zy9|4Z#ff-6gAyloO&@%hi6TC>d>ye9kE^Mi?$Z%lrlQJd zX~#ZRH+uhKWaS{)FMq+zQCsdgA(^e%XBK$-=YHUE^Ol1#b=?s3R7_bOE5JljNe0%UpJwOz&6>-q>D|8!1k-^+Qx%-(@8 zsikFviT*A9G~r%h=oLe~@Au>p1A%EaekYGE33jJX)03wzB{4hKK6=z04^Xq@b zHCc}_7iY3|4t=uFpk#ye(hL-?0W4U7EWg)&TfzYCni{@VyI=!9+M1zD0m<}Xq0?S9 zvC#f~RLV~^FH0;6j;RjySOVFH{7{f*S_Gbh{+Ey-){2P7?DE}h-ru_S@?iZu39?YZ&ks4)g#wtNKHa+qUvC-rS|cGerTufN(fhLW$-dQy+ctIF^5; z7O6PIAX1mFD^Of%y-LFFhVH$E()9I)7|xjs$T&u5n=*^t8CpvGly97B3uM(EdrjK) zbIrHlM_1dw_Lr+-txJ3c=mG&79dKj+!ApMhzWawm$H~*ZVYse|YmNPWvjl@seYd)T z^|JZqpuU0%YQvkpdo~4IlFRQgf7o1a`UKd~wGZ-))mBV;&Df(m#-{JtyBRSyB`&{M zT!GSk)9yE5{Zjb%t>6M4XO%1in~Sahp^dza8brg}?_6D%ulIo{uLCbZ1|wUju3Y;aN^lK{ zp06D%ZHO(%qm7rn2FGvzUV()TO_!oQjE`0hReO>^bF3Y4cBF`r3w)Jqw*ntoWP*Jy z;hYV?d&LOE^q985n}9=S7gNkD1ipth*MFp1kJO#8{OT`0|FwuCqC;XEE?nS`$|P$N zC&&*%^vo-=p}ub~F4Vo1>pN;aE8AcoLYI!L@~!nmI$?n!?1v|woWt*6zOPrCce!Gt zu)0m6EIX(_aA1jD)XaX!KJ;r1fpr^F_&h%$#y+sAsrl|Q|5bX18C1;UBqmJgByE(2 zNA6VEhBFaxzRp5dwHvdNoT&}DW_36(V!B@+*l?32v-ILuJl zDuGDN)~M$rWB!xI`2;meEOYyFPw$yVkCK5)|8C3Bo!($!s;CYT`|^y zG3k>cC73R#Bq?q$nL7Aasu*=sYYZ8o0c!(%n|>jNjWU*pQ=^3PEnTpW{oz9y6|58j zNtARKa}V9eVL4Z8HTn`7LIEodgO-qlWWmaBOWll7JpnB3i*O-=i0t&It_UqOYGvbP zfrC}n@&-bcF;z|9LWO~=p@Fc#EX2wvht}KV4enq$F)aEiOeqkni~A=61wU&ziX@Z+ zrldOsYLEm~-{Dc2k^HT?fr7{*2W)Ba7jzA2A6KyzG%G`eFU?1_CKJTDl%P>yw{8IbwK2?sldkqTrCE%Mv!b*Vkz|Ua2gwqd zs(Mc7p!HuY5dXLtGdoHN^`Xi@T?Tm)TD8AzGivP~)8{A!cXz--wpv1T>;hU_9jf|d z!=&PJgRvlieli@6FB+o1omxPcShraK3Q@mB@m3^@jRj$0xl&cazqy%@rg+gvh;lep z25FwykVg<5GZ%E6NJo4sY?z4C4Kh~3$%NVcK+1v8Z@=uzBe}1+3N^C$EvzYVD1IdD z)Z{3SEK|}4$cRPJn0e@3Q~6i9i;s9OMVzU?iT^2#``R@bfFsSJSWqDwJhKK)N@YuF z!YD>S(#AR*jict~?`p(ZY~goOn2&rkFc3f0h>rK#SW{UpqspEwq14|K%DFtY^!?>3 zMpBAN#>rZoSM|>Z-`0Py-g)X5TCB|i>+cVLZe-%+o{Z`C3@%caO9MNfJSW_Y`vk$7 z_GezA6{g5)XnQ1w3-fF3cAn-;B`aFv{=q>eZY2=fHWB-e9|J?e7LNWR&F5S8KN(mW z-5Pyz<6{L^^UMT1l4$w7&UF&iyASf@z`B9}iIa;;96;B;5Fkf788KvYl_>93wrxO5 zoL&1(4c=e~25MHF3}U~%`}j`eeeGnpdT6m!dh`CR82ey#4czlcCWce;&Y4=$|s(&u?gd;IRB3 zJUp}$0WkQ4d~z3w-h=N%3hT&BCEjuQS}c6M=zHvYavIV>vMmEszx8kP@qp)bz(J^I zS$RbGJ*R1#8OnO{pZ8SQ69!Fss+fxWWrL}Nqs4%FY2u6kBiFQ^6esJg34xEDU54e~ zPD6f@tPHEAtEPp0G)wU?En$sc-F$sMvxEmuX^+v=AA~h>WQW25sL_C|`qt2+5_aZ; z&^hrm&baYNc*1<&KGUm7$|LgHvv)?iV@m4(OK}FP?-^P+Qxs$Gd(*pmw2rgvgPwr) z$A#%qw0E6SYpa9o;z02LIvOjvfX?q@gk_LRj+Sa)t7+Fy%pS%>56HsTRkUaFWTMUHwOwRdUJp0d`ZRa^c{V?8`-pZ?J&^m5@XkD7yj0i!Z z3&g(U8L9-@gdXzzBXv!sT9zr`;kUgpe5c+c-ut`SY+qkCA=13{`T8@$J{kSb;m-~s zz%#oU0og9mQ1>eC0&ODxpI`R3hTQyaIxW0ck-8>WTb%EiZyVLUuK@`uL`*bb}?{5im9*Z`I~sS=5OEQ<|8 z5>?2Qw_`2nj;+}G7kwdtkYDB5NB)q#ob_;vsvD=Y$SHvx%7UWE^{80fep~VpF5rM1 zbbziJjH-(gc!pJ?W3d)iDY1Krc-`5u74FU{y&?{;{9_XA)cmmL-LzZ^cZXhiyDF{U zJuGYA>DUD?=mhSLs#YP#@iigz(xYl>AmE!zQQ9d2q|jX?-GfyM5FIw)aSmz5hT}Mi zJG9aMwtZ?gCSQ*Wv5jA_|7`R*Vn5?8eyL?u^An{RBZ)wQxFWA?w z`H6UqGKmfM*q2w~0el~^tkcBFRg?eag^|r!*^{fo0jV^QVx#Yu3n@t5H81etfIrI( z;2)DIt*>j?j?pnoe|02^+)^Q%$%+57p{}6V84DP(<3nWgaCV9^E28+fTZs?QfU=WX z@`|U6t1S5RZ605^>?TQzyAUR-bh}zD{HBJ>6^t>bepX&mv^1ug8A_c@F_|zii6HFD zJLF3F_>np%gI}@S3YE#HaOs;OEkHKM-4b+Wh78eGtmGYX#tCu+QQx+RT&14RK!iMz zG$|+)uyDnKi3}=jOrAdNsPv6mmgmzZfYWb5YJ+aSbwd64LXsJB74uQ{vOY(drnrEY zy}n!1BhNeA8f1YbL7Br<gfp^0PT>EI(O*`G@NN08puu_?7{^Z#f%tEe{EW(z|I z5ZtA>OK^8>kz&PyyOrYZ?k>flXiK5N-Q69EJH?A@aX9(@wayI}z9f2w{^R3;7jzHY)-!t!(|vhC7<98(tT2b zF#RQ}P^_#O>llHT<7uqKFRay}T~UkFUy zP-A;dCNg9rSvDWhrmpr?17I*X+ZeC@^4E zqd>v9ss>0_Gv(li4#%sGQM#uBydwz1upAe)ktMe;G2UY5i1lW_YZ{8xro~lh=j)!W z1Y|2iiqX~og3$Nk7U1--#g^Wn5p4T%hzQGvj(CUE?fz$XplDZM*WbFs5T5*Z@MXF3AuP7<+1om%i`O>BFn)+8^Y~3 z$d~Vyu`vdk5JLG!s!A#R=FG%tMA)soHj`=thEogSYzHNMKSAr(@LlcYZ)pW^JdUX`GIZR(}VscyZK#4y0L29;6oR*n~5w&ytHm$|N;0$0l zDN(lHAJA`&=dk$eI3gqsI)##_Ycs;pV267!kyFgg^l7hdz-FTJMw+mcXYxM}j3sQi z9584@L^xJdJyYKkP*6L(X51TVmLYm-J{2Dxka}r~eXqFz^4EefXb4cT<8imm;=?EX zBh#w_S(v*>uEue)hl+e{y(bqc<6u977GA^I3T-T@9lo&7<&lo%-geA*GO_7$Het9B z=!<+vX1S+juFd=<$hcPt*}olq@A#~6`0|-0$e>yOY+1UtgLj~yY^KBG(oO2ZHx&nnPqfN zQhtak;qSyQKQIpOwJ%Md3a%iZ`2<4P89x@j-oC{|pTA;iY{0JPG2aG0ghfs+g&$#w zjXqG>6Tv<%yZ}oaaLM}UuUj-1zY43v^2b!DUwP4TCj% zWXKY)i~B3T0&l16@8MrRy$rS~9~LimOr8YVB^uJbFdk?acvX$tiqV_Q=`$!BIh~+& zvsE?zdVO{tOPT(;*)rRT6SeKlI4)xygwH5CM# zIE%~xI+ev+y?HDhdAA7H@R|kbZ5ab@q;jgx+s76LY&~={W1ZV$yr@NmYUB4IUSDl-)crSH&*X5 zuj!e75V7(u+;0ddHeam28rQlvol~^wyo`n!jtBm;L;Hxt`c~ptlgy$cQzDD097H!2 zKbqdc6njb=ENX4zpeai;F2$*6yeIv}C72W*gw|x8Vb6kjRzR8-z5N|e-pFBduYsb5 z5^WZ+l^OJ`ov7O8jb4_>YI4HzIVsP&v8VVX7IzRmeiWq_1G_(d zQ%_UuN~0C#O*mP$EH!jLWKpiq%SbFo#s8z(l`1LXLk+V`1Y0 zpt3D^$Ny2QA=KU?f6Qxzf>I|#6H22mq8+Mch>KWsSWT{7zr^C-{g21L*iv(8&J3Y7 zJ?J38GLB5dGUt+nY#4Y&rpY#1Tyed&WN$QB$YtAgV}a0GSWudPKcG5+pWOXXb9e`a z@-ZnDlTq+u8BMO6JeF)XN3Zw{^fFBH4VDzJJGXMJ))ABbb})R5in$#vI9WS&R(F@F z)7u|8SU6QKDOGqo&OP@kyw$A@P+S8Z%>dwJXHl2;2=S@&nE>-0xN4s?BFp1fyJx5s zX=?JBl%#0ofZ)a&bi%orYV*&n7DG2TAJIJd!~+SypP!}*ipTY+It>b_OD1K5N<4<} zYw^lT*SX_wmSvb0|5>cXc<7P#|EA=sOsZt+$I~<#!?_k7LR%R*n~sR+Ul>O#%j>4@ zDT~u3G|^04^(gxw#wtt~UqS%C!&NJb#Fr&WddpT*LCZ=0hfWngxW$VhLhUSOX$ZD2 zM4&HaX(KK3;`klQR?5V!VBoDm{W+k8UY$x!t6WGmP1%N@tNUAeW3ssAX%+c6{VA1L ziXMHhV5AYYrDCvN!&(AuOILGEU+FBLzABITG@5d0mXH1=+t(WD5p%2|3Ws;ck&<*{ zWCO!Ra|sCTOw&fENUN3gEQ=`^yF@OfqVE^x7~*ffh2PTDRFq}xLOjZ2&NF$d4W37H zOMks%Qlg6RcPI^=7ES7YBo8%g62F|62o30lFd58qsH7x+4J`bd_Q7*P@M$Z{6wYuF zVc2~_a|y(KWyb9Cu(EAMy{iR_@kvkmCCWqan}W4SV9!1O*+`DSyrYb`NWXppE3$zNQ~rC zJIR6j2aj);)G4^OYrkl5(we@uX$spCYWv6PraolVu4#Gq9BFK=fZ-OIw%AsdVT$WJ zeZQR$tP3#oe8bt~znc0RR*h>k#bID=xW&%zzHJ!9PW$?xzf^fi|0YkGYy7_JqQOW2 zgRt9)>H5YH0FnLQqk!-3M6L3_MmwsRI3Rhtu#3mvY!-z$*V-@>Em+Rl=X1Vo zH_!L#={cf=V-9mj|6T~EzP~f`W=e)c(YdKT{U@?E7vAmNazR{Cbm_)2-xFL&uPVSC zqkcxQRN9Uc<70s0|KN49Pc2WXBb@mee%`ycs!`UkIr0|W8ABbp@NV(=-7YG5pR~Ph zaU#J3ihsV#+5JP&VY|bu>w0WuJA6OF(0A;dh>bSre%Y)s?CA>_b*F@2F#%?p;?r;b zZrXnA?hHdJJyd^I6NPLL5rvZi_rWn$`TB>~+nuCH`A=ss%C2qa-F(OEx_6qV^5l7J z%U#Dgcx;t(BQaxO{dnW)wfxR!x#fJ_M^|u@Oj@@Ye7+sqi@EdSr`B%i(0O-Z`3Ks* z!+}cr)#&i)dv60mEnzd0C{=UwqwaS@ier5zDF$ zj))eozqMd%BCaDI*Dt;eLn|d4C7D4k_drLdRk(! zzhl*`yfq~Yw3iV_eG?X({%|?_O3l3&e?%ee$)`Z3>YjdkRlz%$T->ml%~JPLnUjt{ zas6XRSvTNcT(MbNd2w_JA|b(|Fn{H}Kv5fb9Fq&KB4AGT3<&4@>q$}f=gZW2UfpZg zTar7eMpS}8MHez#c~X}_6kBDyr%6u$d)#8}t1)=rxh9@z%S4YVDV)$rD=2bNwP#!! zpFtENVm878WATKwbRHLo5z^y57b7Y<2?9vMx_B={0!?20-mq3)1U5j=5{aujchBYP zu`6-9{RxY!P7kCf6mJ`kTuMFUR{pUhbxxZb68-||Kzs#`C9G6T7*18<(RQJ+&e(Le z)0+%AVZr&eX%mw;2ap_!WkD@o%A0D_-=svY-V_S7=n&V z{E0N$rA63{0p8_?^WilH6Znu$dMye!k?`MulK``6JQvzC&NLK-k}Bwf{bV|A3g_h+ zuz}qD$F=fYDfb6er}BuKUNCO(yN1%gmRW|Ssm2q9IMmtGa62O!r8OjijKxaqF{e8yyjyAh!R235; z0moW&Go;Anw;#gH8JESu>HS=U+7$@pPx{{_COf{;UYSeA#!o)x+4tGJ{CJXZ?By`4tt%LNm)w3*crwvxyN+#FlBaC%I*g zp!S;^PyRF%b;NZu&oCz)~Dg7jKJz^_i#W%<-@0u7)!gGfvLX1ORCiNb_ z`9}|5e(jEn50{KbZM0ua__GU=bcW_?jLv~e;FwIyIK2K+3f0?h+^?jA$>Mc!E95-# zpDGGoSA?w9h!sDrOrA=z@h4i4$Y%swAPraUm!8HYP2f#7c$=$C?9b)dB*QDfV6N?j zY7#nf#|AMZt6euJr;lNwwI#T!VQg7Y>M0AkU`G59CMpdR z+?1{_OE}50Y|H=jhe~9_v$^Gg4hpaVXV+9Us`u}p{N{acZ-suu56@F_+MHrsJq37F zNAkBr(fmE8QXxID&~u5af%5G)&5t)afmOlnkM>mhA+?(2vFY6XcP9~@?Pfu$8klNF zMMY#y_$UEqU1oy^R09i?X`GXy7Vhf_E#6me+o>~utWR@ zR^L;@K;{qweT?lRJH8xvw|Ky=*}FOYz%4cx(qq=IVgbxO`m8lDy4_${r{h=HcJrB& zVZ$Hqs4r8niu;{7Yw|CVtudh`gwh-+6KK^j3FAp_?R`M>rILBmaD9G5)bSwRw{J4&0znTG z)E}hfi_I$Ajrmo_6!=?#1z0Z00!02ouT?NmC*3A@5F|Mc!Y0w-s_W|}9lN$#d8({D za#^&n>d)iYri3&(>{X19b{bY4caZwGa`SMvkG11mjyVdzRnmCH{$&C*$ILYm%O(RB zjnp>HjLslIv0sk)DhMP*7H!*{jpncpxvz}>EnlSjHnvmYbqaaXCOb~HSXRX3DZ6Rb zPoD=)W5$I3qYbkC?lvmP*@og2uiP5F6pv4sU*n(grO%uC6h_|ryMYEX$tr7)uY$Hl zZL{W2q0$hDK&*EBxr4O9OL5ce#KcC|=I%+=7}H>Zz2f)h*Z_` z;GtOmcKI9S%D+a4KyM;d<+BUh_rbIS*Ct7J$~%WZ(Y~R!lpWYVptK0u9j(d*pXWGQ zzz$M0Z?m+ES+8x2znvPvHl};leUN$g)b_->RBy}#$;$ZJbFs3=KPg2I>l=bTQ;uV@ z8%Ay12bSX98AK{+LW#*V+D0D%eL9~ev4l1otxttEiBv6>TgOSlPX~QG zjC?$8w5^myImV$ozD7EhCov0i$l+>M6=GA4^ABO*YuF2AQ)7KpZQQn3-T|=-kJr!B zl{S8m#ji+bM8wT~BgK9Q?c46b<|C|z9arNlq?Hv-E&(|y0F1Q6$w56zJmx5aKvL%> z{oGqS{9prgn|)6S`#$66G^`e^8Ipq6rZ->PyN&N_Y>pSf^a$UabH0m72BieR0_zit)d!77#4~AC} zzyCh9?E6Toj%?h5m08)=yvcu-pp0l>x(2NOVb__jV2gAw#~8%ONY?HyGrH7E32=?3 z;h@OyxMnO;cn#%%+jPrUoYEEvXJ!2w!U+cn`C)gN#WFe3%eHmzoRLR)|9P_VDSwUY z-0@!7?1|GPpg*@v?qsIV;65Qg%sYm30OKMVtED>d?r(>;yVl1<@w?dS3%N~z z!6*1$inV8zVlX%-$x#G%72`rPXf$1e*i=`Zy7U)zfr3VPa9l0#3K;#eG@EN&FXUba zfkK`$SlXjF-ib!KF_UV|IMm?_@Rr2wD@`W!{Q!v#SoWE{BurW`WRSHnSV?~?Y*gZ> zGCDZaXr9w>g;X-N7bH4^y&*{~yq9rFtRoKxW^KUB)C1O~Q)fC|glJC`nc-Z^SHD+Q z&1IBsOsAotnjOVnTMX-*mi1~yS>iv24yI|t0pO)*!xZ@3R&~;TZFM>yR>}^GyUaEy z*QH8o^eDtkgwV0V?<;C5dOZ)S}|4?W6+OTuJ9B6vNH>2de7+Ms6HxD9fQ$5Eb9B4JytmVG2HC)K7YeCR~fpDcfthgnThj%L z`S;z05C#FOh;iC!4oI9Vnue%SQ8G0cm6j%Azw<6Kww?MrWgEDp+2e<~f9`vP*zvvp zAejI&6M@liL`QJV>+mHG#i`7DnE3mavBRY!n#saBnt-8+lccK@kVo~@Z z%Q_~Va8ks*MUk3p8d>%{+5U;L_{-xqsLJ620NWE!!@+?{$`!sg)fzH%yUjH5cex~? zDm-Civ|fopY>-nXHbkf^B1kn<7I|g%(;>}!t0$o$8rPrpe`M?VzBT}*Sl+in?TrTZ zO`HVuQk$lwaBcT%R8L^O&|NO;yMA}7mNZ=fVN+iXPFC*aH$s)x=WtB~`X6#>HA+G{ z89Uknp@lJI1efXSb#n$DmKzWE_SR5iTu^&jFCf~l>Q|)0$v*bX45pDmO6?Y{$ndxA zTyD;6Xs{-O<%)@v5?|lvXbm5W8N6l-Z%Z`t4|j>H2kNKR2!D(D=2Uo-*nUJ&Skt`h z;)bCChxADR)kmrb>xmrHg82GOoLV@)HTJ0qs;5GI-cO$PnC!O34!njtlLF z^dbp47u2G5Lyl>KOMSDhQI4=wXuM2F-tM2)pZZm{pdyGZcD?W?bSmd1qcxQEB>dC! zl&>CN$^owNl9i_lHydqtK2ip((Yf^lrWtESFiwOnI^Lm=p;ToDz=?p_vBvC7)8AGA zrVP}9V7-QgZx+f;(a04y-i}PlR$IfbU)Hrg#3{cm8M0#;(#Di1h?McM%+;I6`)y}_ zIH(a@GJHW+86K6_N9qIvngTs^vunr`OgCaiD5O{ zHF}M?8^X)Z*$B;n`e?M~z-c?SzZ}Fat}oU;p1!!-y8BL#w~@NpB?v5b$#V~5oXWv1 z?*C>EX+Cogifv)G*~xKjcZTd6TJ+rxW+96tta*C%)%GtpT+gRQ{)3&Io@lT4Hxf}* za!)PeDsNSa{Hkq9u7Q* zp_($TnW1Lj>|@g1D(DMncSX;IHp$jDYubv~cI<)rU{%ZClT|NgG7*ER&MNny>F7Kg z+I4sJ+o|bfv^;okz|h@q3au<|y})ybrc1{5Ec97BSL4DpD72T{LL$!nNy_wKnW$pw z;GxiPzGVV>nYPTBl(ArchY9*Tdw%}M6G!uJ)4JKrIUI)sE!3b_K?iwZ^%M(uH{iz#rt@s?a-o3AFow0{w0ayY^o%Qd&<^z7vx3;rB0t<=$b#U7N8QW)3s2kXVx z;Nef#PVdTJV=UK~fvzLJ*LBJ|$&e0W?P^q#4$ehg_>zF5yKhe=8`}w36M)3g=TrzW zPd8S;@Aao5^KJ>z)5(sj=}#~1ZLebK>rHLfj50mPsX=y|9@y9r(vn>%VrKZx<8h>M znf$Ppa=j?{pX5s>!90XV2hIL0!5<3)Pitf4U@>4`=O~^pg`05d%jQ=C8waEM{4qO; zMgZ}vIM+K-DQ<_aPZ*y42yjLzu0nPpEde^LZ(qsY`sbex0)#I97_Xl=g0#VvrY8uF z@D6T4e?jmBg$xK50vguP^*Mx+BAMndLQSzX(%tyif~(b_I{>tyb9N z1tjscHY`+2U*8dj&?_?6ha;tGaL^F*;=xzIWfu8j+%9DzB5gA=1nH9qsw1#_2J7fz z_i?_C*>Y;O(U`tZVhBepFu^a4!cQX7JE6(mV|ZdO>I>`tQ8^?{S5-k%JIaqzWNuE# z8LN^g#o>lSR!-fqf_Q`)GmSp)5CYd@fxhm+EwroAhw!G8*0t<+`35+6x+$Hvec}vL!`%48k?CHzB~)gM_kH@Gs0*bn=Gbas)=0Q zl~zi!IG@jcK1E3}G$~c39#Z;SF$;2C)T-wuDEp{@cBDfdVd-j&*W-dj+a-0ooDkXy z@;pr}Fg~UcR159QqN3t#PNfm#LRweo@hF8swj;AK=}gIMN%5}6N{F~gd1yGlDQ1#Sl{|b&O3d$j|IlLfm@Zk)~k15uc3-!>TB+_f)_wEdm?i$#c zYBkadGF4hOv*v=b>dF=0O;?a&cCZN=2c><&+XaqXYJmM%^>IK4eJ;59XHt1BngwSJ z*n&h?Oq%$eMYJrjNG4-B0#t=wAS4qtCg_VY^^JeL^B}b*%lqGmb1osN>#?kAR8%@V z(yf^^bYv|_&EnMsIJpJA#v%7k7$Xh%@k4{t;;Yg-uMBf!X#-lU?H__zgf-v0G{zsQ z#ixv)2=ZM#vE`bQ#>Rn z^a@gU(u;}?M4yoD^6BPc^rL+{abI^_L;W+rh9|a9HlT#TEn-|sN2-<$*_~t*x(pG} zfz2>`gGtXCso`q=DKQ@&ZN~(3C1qm?S%Ta&}GiM);weg`9q z4n-omaNVy5wOnnboAwxZn_@9FDldq@x5`p2{w!)c;4tDyDznii(+cjyfrTa$dZN0W z67~<=K&u|~jqNwtV;Ejz3E__?gh!ct?xmqVYZzX!Usf@K%0L@tFnjTc5wEk6RYnuz(J`Y`?T6LZYbDsgaW<~E7eca(r>Fdh`v1i+{@kHz6%VtF{ z+cTQNpAZDu5<4vvG%nkAc|1*8n!%6|+Boe4F3gW4W?2JeINkHBy)jc`aC}V%G7JHd zPJPxxGCO?V*?l(h0{=V*;XCL|k$u}}9v0GXuMy*wSaFD4mQ|Nb%38o*r158rOs`t64SeTk1@mUkA`giQ1gB+-WPTo^ly#N>4FS zs}Ao5r~)AZUKpt74$Io%P^bfL70ISiP&4%3ZPDFd(?$QRyX$trGKYS0U^{+CzBX*H zaR%!Ew0&vmE8ErIdE`vSeqVH`y19kAQb2|zv7B$yAz9b&ODtwp-VKR4T;&;CZhVx* z*8W8O@7oze|A6(_9OTp0!l$y%p>xC}TcC4=_Vv${qQoM5mo-;4UhS0~H>Q$E&->&= zk@%aVtg^I_((Fm-)JhTGH-)UFL5(b-P5buqL#=t|avR+?OC>m${s;cBbqrb}dZy@Ciz?BfmeK^1wfrj-VPIXkbpG?~XurC`MNYjU}h%anz-;D8#8=c9In*jL=N zj1z5@^~;^IZaK?|n-D+ZJGsOb-!&>xHn`ami~Qc}>$8ogPw?8M*rq`eH1`%k-thgM zM^alET~jSjhm@^5DsSqDk^5tBBAzEOM3PdqQ8VHps(>kJS*Q8&i-^RZwYROlZgJ!! z6WLx|8A`u>vWq_Boi+cRs^*==j`_XdoYuG7E@ux)-yZV$rq-QRECk0daK=0cYgF~p z^w=mO$AC@ug_b9jUL7PI%V(tKdBnW*TEk@L3-7DUt4xHusTHFthU~m72jvS%EQ@MAIAEeUy zkAy0su@(%BZhoQU{0LBm|CK9UH>rh()&y*TTRz3Nu9>)0v{;Ly1ZWP?q)J8wAHkX$ zEg7jVy87-7C$csKgEUYEHjNq>jc7yC9m~X)X}T7OzQg zT0x~r5jH%esM1Px9hm(H0e)SI0|nyLR=<4EA7EgylBFjlpc2-r5We*R!AiWw2^~@fnpqa@Y_)=~ z-hJR>f+|$}(7GIlD#}o!&u-__FiI-_z~fxtxESg@%=c^s`#DsTay6Q-WJ`Gl`gFJ zpCx3_3S|#>*IZ1EtHxnITgeWtaq1HEs6h0ErG`_@gRe%x4p<4AIHV6=E4}IGrt_1d z8U@?6a0Ou}hwqaFL#9!4;A=Ih%aJ*OgD^mTP~6|`2a7P1e2rzAHC$;aoO|7m_8Zli zRGGi1+oaNJf07f0zVHzPa))dZ4qE4HIFl8)Gc(Plk!596vos3SwHHlv9BoM={vNk} zrt9I?FVUz8FFRz=nV$~B$dU^QPQm$2O8x=)xbZZH)IP|6im5cz{cz0w15j9(5_sGT zXV9kx3}%*d5M>spGEEWuzsKLm#&i=~OSi^GBVsaF4<5*Q%$~ykTp=Z>72HSCTfLO4%OB7* zp~FMMZmc!YJ{Vgk`y=V-3hbhE7IUnm(Gl&$$UVE!UK6! z*tjz*R=GcKPB*m@Dip_LBVuCBCA-*t83e76FkjD7Pg|9v=BBaJMKRckkOXxuxZ4?{ zx4&54IdCaOjS4n^vsgk$4eY0Qfx2j+~H(68B^*d zQf|gFH|rR;@Sf@S%0jt-rHZd-&#`BxvWGM+;l~^~Y<^R+xNXSU7*kp8LcCo`7pan5SNPWps41ZczGF&AoQ7lnP zEI+79^q1-2uD!=w;V9b6_9kV&Eyb6ePr^%d(Zb1)!L9#)vskIXza^9j3sZ z9$&j)R7CpFP;r~?9c*vtxTchn%ORYo*~~v$b!XSKdSmqW7;+#EO$fdN^v|!dBjsxQ zN2GaMX<>+PR9J40U2D%f0G;*W3&AnTZj09qOeRkI#$D>_U0+g{`huAbMT z4IzRyO^db7B90 z|CVtl)ii!~^-HFZdyC`s@b#t@pcwxwo>Evq;*>?RV5TzGP`Z{U$I3DAk&; z2b;x1I^{1uXlgW5=gO{NLB5y2izOpd$4c&KwSlLuOOoUxx0cdj6=iog&+z4QnrDlm*$B^ zl@07?hPymw8h-{b}=Bh%?Iec#_7HYy>&q+qz5ZA3n>vpl0Nt0m}A0F?;;Gf%V z+;~Vu(ZCTwea}e

    e!zC@9Zdby~&1wpkc7lFMb1UVS;p2Q61&53a>Zpbf z@2`so2PI*4=+R5*fRab`|DKKq8zhHx&P6PYJ|h1ihFZ^HE7YvRz!phchF9CDz2A!x zZcPxDb-~T^$(<{*ZmpQ_?_(cQo^h367i*F1>0+UCVQ46sm*G@l46BM!u@1`)jKzMR z1njeL2S2j?*w&0J8iC6`Qq#;V0_X6Z9m){Di~MOroK|XrEkL0DU6pYQA5Kl+{oted zR}cwLKDV2$OlcBlVkm4N2%*qWiXfN9fBM-^8r4c!Si5Vm+7kqvEHBEhU*^+hXslAf z8+X}hMl2;hCxNu$a`xzoNhZO4VR4W7qDLJfrI03;5ZuY8YMMm(B@5c4v}m$o2sF2A zvPb*2ELvk<$MllK`f!8#MYHm~oKSd!aM~&02W-kLi)7+CupUHhCHKcQcwlLKq_anH~TcuX*r^P)XRw zFVgVc5Mruq)T9Rd(#lL$+y0>=EvZ-qC&C!Zz~bZpn_xbpx;$OvFi#HmZ!5Yv(9e7p zL<Ll$oq+x@kd+F{T@ex_WIK)^TG^>HFvFFzy8LvgW9HG-=jGD30yJ9JHo!y+Xzc&&38r=;%%d64 zw;V+F>?IpzG(omz`ATvBd{+KEaB9YmmO2u^8^~M`*3Ij#qf*>_7Pv9qI_#oelsVEv zXt%GWV0N+xW7ccw=di(&+uy-gp2mC;X&!rGS+Q{YW0}QzNAZ|oNmU4=)QRFS0$FhEceU0nT`q+&frEE z_PXM4!*h?E%GMFE#O**MwC+vL_sE}#JCz%lFan@xiAzRHBF^ImlAo1DpSIq9yTj*SSWL@!^}BL)nQ$|j$MG~ z@kIo0&PCh6{cZmnI&3nR1BxZ@yUg#v=9)*BqwSvtpb3mGLO|!|je?x3mDc97C2qv-1v#LOV*F%i!B9^QFm`L#3YJ-YOJ$t2r?y_ zZqd0aglS>cpw8*TvRcQa7!h7T>LCPNETc8?5vM)6CEB=v1Z&>gD@c-PB2!V@r^0eI z36XR#6|!}Soru^;ECJ6-@xl-Qb(yiofb!r(p) z&cUiZgDZ)0AjV(Z>D1!bv@OYcd~6%E_wV1kv)O(q9*e?FfFS7=sp}%uanwU~l|y*^{>z*v6(uhJ?*))pfa$`rtsI5*TRM0> z3IKpobDB`WuvV}wX-p7f)jGTuPUJvf8=7mb69^KATb3j{-6!O6%JjAIizwXwD#P{2 zBQ2E_acGPhFw6Rf*gN>Jxv;YHi+WNM0QCBsz3x2NwHRYPiq+tK)lW9}Khgl{#YyT@ zmM8?|@j18wkK8X)v@P79y+8jJ1d5NB0_6Gk8Kg+Nu?uKOEK@_nyj+z>6}D(Z9KIst zxcU$Df>}^98KH#Xvo(;2BJDE5&tn?fX+97bnRbYo>qBHv(UBIEOmyVpb8%J0$DDDx zF1ku-dELv|{c zR8Y1Zgq94sRzFMQr|mn7CJV}Mkc|*Tbo*!Z$$<7ECK6NXoX=ma?ONSYHW5sI2hs%J zfNp0>XLmqf(S2y7<(;B!Ou`hu_^qb$1OEC(Xp%ZM;aUH)Y*aSlDA5{;zk4o29r{GF zsg+jG0qvEMGy5UHyFE0N{Oz+*F&0^BC*wodjSSl!xe|Ca{r0nV;TffzM*v1MoBw7a z-q%RUUesbroNn$gIE*1LWX_V46s7NRQ)KVIfO>vgyax1931#R=Mu$-ZiALUN6plE&shKP1G|I zfnY;#piDoScc3a?EN3)Ev3+BQ7Gd93u?VlUIY9O2iL24W07={X)5FNMD}Qm?P@ z3kKf)3W_xZaew9Gy^Q5o}Gjj$7SZeyZ-U>e!)bBB_T}_pupbMcDRcKRu-CE z-2=pnjHm)~T>*PtJcLaF(e}*wY=CD&x)3 z&;PmJAOeSr<)d)zee?UOTrIvpkvOaM2ZyHPj^CSQlcAdA$Yl;^5^m6ykTC~| zA?RS!hN|b^AK*9$0sEe>KfwS@BYZz2x>I0AA!QJ%V70?i5Nf!)$;{J~bnbf4_+L#P z|A*V3mLJ+?u7CTW&Bq5Bs)L?$KxRJ%(k8KV-9RVb#Yt8^U$OFVWS-Y$pK?l8+HjqZ zFXH9j^-qez5#PX1kt5e5U|B9uUWKqcnpndW^>~xY=da9q*OPaA>abumcF3xG*6n?} zU}TMKKG7Lfn`!w07HZDFj;&*lvzRji|2X%gx1xpysaNQr_N}MNjCkmp8wnNBev$d| zP{$v~x&e>>#@c`k-n)xW{7pz5I3xRYc}%h5l5HdAiCvoyEm(G~X`YwE$oT_`z?No? zC-Pb(H(kI(E>V!H=9zl8@sr-ci=i~{%Nhql;4_!!`9at6`qSxV>dsp((foSDwL06| zmPE4`h2I?cf%I0Z9ht-_Kc|GGNH3awJn7Vw{>D9r+375NhA^nw3P4(Yxr-^ujl=cwy@mcGfN)0 z{pLKRIMzKLCz80ipCItc=(%f*C26;WermUgc3xxZF0nIepjcI~9m@x3x>w$XH>K=C z>HK@eMvqAElxpO1TPndqdL)w`fvQcoV%|-$k8RR}z5o3ZE&-VcSZeYO%s>4FBu4Gd z0T&ucF0B@DeI%l3P>6zpS>s9O09X6h=%b%evBLb136ROYROt<5k$+ATOF(!%hfHaZL1g;n*@_ z@a>I!E%&?6r7P)==Z0t;-^o&p_8vwA2iR`Yp#|a%0em zPh4jAMZtaOG)As-{~^!{8lpji{El~=GAdLxPJc{t?r&1Vdb1M11xhnn0staK4m-{V zJ*F%z!-6#M#hI)U36x1(M%f`o&KP3|xj>08?IaodI!rH-quT%SB5C}EEgTCjUsN8U zE%tVT?+`^_1owt~y#L)_4g?<;(TvDjtTjQ7NpdvUcf>Lf%M+6Um@HKe%r7c9==k?@ zcmDKM6rDzCsmY1k`9{Jv*UjtsMoD9Bq)5{c#QGJKX$ZYvewWmcQGqSc1p{2{JNr5T za;{<6K#wtaVROKqZpgtVn*Gsv^kU4MnD1! zCNb`mVHv!^zD#0@L5r$Dsk4f**K3&83g!K^l9A=_`t)emXymc5TkL<#W~*U!Rc9^L z0+VoY;_;jLwYy1CwyrJ~_Q@PN!8{Cud|A0mC+;s$^esLZz%q6$51)-278+#s;lD(m zco`Y6feakctXjRUIjnX#P`+r>29y03gXybjsH(Ru zS(Gd54gO-1m0%$#w0foNP|u2epu`^N^6+)Zul&(80-8fAFl6*<19aKTnE!8t%79LF zKTpTlkBv9&hO6JMi*l6z=S^qnN{!iHyY`1~!*J#z=W(44{pzZHQf2HkN+5#KZtdVy z@`s=$kT%p{+;`^jrr?VCT1xftG;(0H9I`(k1ZcTZKxDcu{4JUkc_8+SGRIe;+oXd&F9p@tCy_Oc|EoCMPjFYy>C2?k=ZQ~RF$+tN zFZah{@Gc+CC<7i%^G_;<*xHKuSz}DtDVJKY;9LC+%U69PLld^07`uAxRky3K_a8go z1_u1h*G5W|C>j@!C{GQ+qT{5bZXnSt*JY;JGE`TdG5XMKUpg)$!{eqSvlWx&fcHh z8kdk7iKGBGd%MPIGln9m^|qh*06PG*_zs5$>%tC(=!9Pyd>4rZ@kwbigMfVf&JAcL zTE9^ZI36F7Q2E+t&zstuhw%iwlj4+}$wG8dksdbW#e#R8E}alu;|KM48?l7@b3pXC zjt_IPT7kL@;Ct^2Y#$?Qn~%X4@#S-|gVSihjl<@R)awVlM||&TJZg^fsODE|+~&ou zFSOw+J!N$R6R?O`Pq78m~drAiQ84(Fp8&BRVz{gRC|sS{Q776a2Y| zuT;DVw9=@J#zBnzVu*ciE(RZyH*jZ?(7soV51rh{3I4PPJ}t&3vd0!>wGi| zU#u;&*oQFZ*_E<}QC!gXPvQIg+P03uVC|NI{IV@BY_V;bJm~1Zh$_7h;dr2Tn`C+r z0f#*0Q5}qFg!c9p1r}Cj`kjXttGvrQsSlS1v?WaEfJxbwYZ7k#6e|1oFJiBT8Jfhs z3^IJ&$p+?Mk$6i{eyz+pmgmHv5Lz=wZq9MFy`K!R14V`%S@)_mR9I47m?rxzS*)fx zMx7!ne3_eIn0mnv71JMq`O)cRwO(M8A*|A5?6q2w&`c@He8d!ZnrxLY(PjhAzw3E% z`qU7I_SgLm^K+^9bbf=oN|4v>WGYeTQ%WY$t$KkPJ*n_WCuL+CjzDb%v<7{=nNNYq zV4Lmoz@MKIrX=yEdUKW)BT@(@IAloJDlLWZxV^9e@1T4RRsD}hyRH(nVT926W04vU){b`nGQ@c4lyd=zrJ$8l~|axk^|~Nu-}8=z?{pP-In7b}mV^ z^}#KC6i>Rx2#LLGbxOQ1#n29gKE#2kV*?FVzEP(e)r7DmF$)a;zXT z#*Va92V4CpwlDYuu_l)gl{*S66V{g8k1h=^FJ4MXId-Rq;J%$F_#@HjWDrej*^^AJ zkBMo*b8{+h7j4x-w=UX%>B%hBlUjbbs^doHyQo}kr}K^rIiJ?Ir$u#1*vzq-n*Qth zncY-Z%W@2cwK=8YcR8Cp6Q-(Up@<;Zi@hG}Cq&?}v zLGFWR0Om<0^TL)u{Ix$l*G)xNLjmjxC+u>)U1b;)-(NtQsglXB0Mo(BR%#Au2{7(T z9{3#tE-Am?MDO2b*56THU1$Nz*?}5TpxaPky4vnXD3I_;(;;f(?T9kr?4i7HQ)O>_ zLQizoO)(Hi>1ku5{=aiS2_}$x2}BZ6{-3r7sgQJMEo0p{lfwW)L`!^_o?eNVF~gFD zGatz11vF3e#KRo;{04A3L2*|$-(6BfLP017m8sA0{64o@Fd!|7ut*u*(gkZ*TX%=P z+HXaas<##I-M6cidvkzuCJ7Wce)(vmyeH03Jaf0nP37-)&?>Jx8=Nzxn$m^c(6mX-O8E` zPAewatt1Inc0_r-2Ii`<;QsVzUI)Y7V?JdRvHKXU$Q1VB-F%E_-+ahK-d(F<3U{hq zPx(Hd)z?y4h~Ag1Y6u+FPLaxcUzcdDMsQ^#SLcoXuMk@MHvZ>;s#|QCbogD}6L^sn z*s@O5uzulPd;e0A`Bc&K)isygwqpK-FqZt}Lti`dux_^u`?mS0|MrvXel3}w6lO@B zCP&cC<#rAeGGyhF5)ZVLM7?j_j9ce5J8&2L#{X3D_)>B804jo|7+^`8Y};3z*1aIu zWz0#9z!s{BaB1&GOJ~g*Z407Hr;oZ=O&9929q!LwO?Q`oFQ30~`?u6>FKwEDn$7Sw zE!qEOn!4@tl?>6q*gFv6>*Iw%$KlfBs&=AE!l(6gukg2fTgz zQ@@i%$AC0xi{tF_ze(io-MeQe$Jzas-IWub%~SV3>}*t%>|VO~tv9nrsQZqmBdIqi zklffL{R8sD-%~hN7~1O}N<(GG*A6;(yJ@G5|Fy0?K@xPkZ=gtIJ^U&cqho06(w4~MfN0!0GVJb8W$+O^xu}k*;&lT1pYP^rF)w#p)R1cm*8Gz*iBmMk)fI;{mPU zAg}nmx$prz4z^rmSA!lDw*r`tC~UmiIx52uS8^!Y3>+DyQG(fxjb2gdwhaCUTzhF+ zU}I9BBzj-mF;@Z79s_!wc+BU0^g|`9NB*Jpjyr3$4dZ-naXJBZwq;^%fElTc^crbMw81Ihd?8C3g5tqQ&H`P^z|&(WV)H;)5SMud+`2pD^~*@$@ej?jv1!B$9t^ApWET+ zd_#;m+GRm6t>@C%;*EhvM_@!+_c`rv~AE;N zTgQ1fOW$1$fD#vT>{J$Okv|t_yVC$aR?+EBxYd{oJ2J^Fznc+0`c$m0oI#NV0+I{7 zZH-d&dvVsZxyc;G@#wQ+e=*a*!QT`IhB3j(|LO-$44+=jX&_e$fP;yhouyS3n&%UxglNM5I1-#q z)ycz1B!`j))F*@ec7ugpq@epvF0>GM(sujQmyHhH0+t?z)u@YKC5zKaUVnzxW4ujX zXAI_MKzv$8=(4A3FRJI*Crm4`@QYl`bTkx-+?q`WjVyeG0gHgmlDrQI!#oWz$y|D$ znynW?es9TD)={#AbT1AoChQokCKhNrtQ8nBZVZ(w^!(c?i?*wfvurjQ^NgEntSMzx zgovpWE}lDRaY+B|Cem+%An5Gx0mvyuR5Q=*@zc!wA1)5Gk%UAt6WO(Os6MeHLzA@v z6viN>JYC93kbq+~=t~3ltB*6}k-ps^7*Lfr#nnAi%4IfLvZ_M6s3q4uCyPyz4~fhC z7_qw7Fw7G_GR})#rdSr(ECK`|VbjL-||$=WreeaHJ%&$UYV-K|jGs zHjm;_tkEpKk}Ux<@x6g6w6 zSalymh(GD-k}mR8M;hp&>{0jU1i^pMtk+%^HHq_!mNAZ-kxr@?;_}bumpj?ixOC-= z-gXGyTz6jiDO2i)2koj%8q)y8rk|XG(-y6mq2H|YC{ihYcBYVL#qQ*y2K8x#qH>Gr zw=f3lwRZH`BCGAjpe!b+D93(Oz$4OQ;Gi665BAs~(>KcXR~0|Dr_^6)9~3o>L2 z0hB8;Xkf~D4_H1!a8}R8JD!^T3=X^Jz}%HO)s-68 zl~Ys}GQ;tYp_!kM%fRi|m8*mWcu&+nb-`^FtWyM@=?AxZ-=%o;cuG)B-Pxx!5ptb$ zI{G;Yhl<&Eg&4_$frLq|mJKbFMYeNL=WH}Ol?pkp98aSZ&@~hf%;Bp4cXY7)ZK}Ne z@UnV&+zYJB&MZI{3N?vQF6A|2K(^nQ^!z%B+G(Y|&_mc;gvuaZ<0Sa@txM& zmIxdPO9sg?M3^_7Gn>7k$i(PZ9y-!y*z^ME$9rnn4A9WhjP{vPBOvn$`}@gMfOyN@vhE6BP~; z2x8BMN!BezO|l0FhcO%rR`#+~mY52gy}QQ^LZ%neZ~XVoAwAT%O^vra0*+2+Nd6jY zX7>r+t1E>}L|MX{y1oyE_jYtNL#D?+zAZD|mCFN=HghhVa+GWDK_9D_kl*@_uT-LU}n zbd1G~`51tmdu|=PHvcy3=LG#wn=SFW#xM|tx2ecnc(e5}rmrjI=#8|Ax-EJ4<8bzM zOvu_HUHnK9ch>jH=vX28+!+?!sMbag@wawDWE}vPY$&;g%JAcKakAVTy~}8|vE3?; zjBA#eEJIDEGn9@1u-?ovsTBRM7DmP-4DPurzCdWGWPkk1z8doC z3wK#LUU;-TLgY4o*!_XJPUX(4Zg&te}~#wN7-xUj<7H;i@ge*eb*% z#QN!HoSNX!C_-Aua51ZtzD3s%|LD*H3#zrZfj-n3ZGOVl%wJ($Im!fIxIn`3ExOfb z20Q_S$sod>(XJ4G0Tt1S)4 z$z*M5f`;)-9*WoI6u48T&8{RLcKwTHK_`6YAA1_eCKb<$+rp`P8 zL;@{^C?Y~NniZZ8%0K{dT@VlhsbOAiVNVUAx-HR&_V9AZ1eO3e1d>mS37}f*8!$Cs zcr$3C(0nCHTvCXR31^(KUVc$|!ZR2Mn;e7)j|hFuo_-c4Q+cN~1%2FfRbr2zIRu{j zV%%rM{QG&lcqA z!d2CElX!N2=>_?(#etpO^>x;nt5)fY8JEBH)!&5n))@h#Ag8ngu@5K}W88yqw*tYD zz1qybbbnD=J#gP%0{CH-&3dETy^UIn-7C{BVbUb6{?J{Kxm+0^q0alzC{qy(RL`%d zm^rVwxu{#aTJcgxE3ziNzj_gr_nafT$h&qwBhKgjyjW=S-h9a21|e&;ZZ7V5Grsyp z>_syZrwzGRKO2s_^)qTq?3V~f6sBVi?_tB#o3Ac;K!!L?;=4-wdm=S+sYmtPFsXki z9R}F@YZu!(o$w%KR%OGZ$L)Fb-%`+Y$$#n`o13Mi=hPvjV%E?<3VR*Ic6sMu_|L4} zcq*VZx8|-7Y+`IY6drT<((zoi0H`~9wC09|-0GQ%LbONAS{^-pW7G6cM>eSy^B;R@ z8C*%NBXN$(R^f~=U&^k{O}hTps{6#l_fu-CvS+Us->61n`_*5UdAa9v{o-bJjz1Q& zB{=Bo{ES&yzTOxch7VXul2jR%Dsl!W13@*KYTWCtD_I41PTLt3PENOd>pM#X5;Uc~ zoA)vXt3e$Q+wwML(xfBwp@4g?i^Ks{g~jYU&GJ|IBW3l@kCLD_nKHZ`4^dDa*MxuZ z+fV+tr!S_wfd0)v1CP<262Z^eFR-p7|EQ(%#2uU7xlNzKuhrb;P`NLPI4+S z>a57R7;!%M&Q;=UBz*NY2!M-=NI$l{WGTK2;dBVCq*L5OF{IXW{5+klarR`zfGIA9 z(gD5Tw)mL*TTe|nmK0?b@$if%Yu-4{Nusx55K6@ro;aVhb{GxAF&eNCUJ{*&5^3Np zAzEC`48HH@zw$^h87OXZCOix|`pP~`qKf{i0SJixG+#&4jsCcQp9G2P_ycc*$31J} z7vC$4stX=doQeW^qSp%d9tHfJkuH8R=RfYWVHY*R=OGYGHB3@Bt5#l{st=Uu&%-gF zi^Cx@gN{wJwJemLj>d&@Qc|>*ZK%KTTod$xQm(#4*`nQH*ZEGa23q32+jwiFdH|Wc zU0KArIhqDDdR%3YBRNNlHPl0hD?|aJ8dB0I+*V3#k?TIX0F0=viWwl*7Z=VT%Vi76 z1+G3b05;ObBgPg5rn#gHXAN`0k?bUn2u_|X;I7Y0z*c#1k9WVyJ>-xZ4vNRO;5)X4HC(5b z6vsql6HAD&7O(=@!h>P~_+o$7^(0-8P49?@T)0g&iJ;Q-&ctIl6ld?FlB>y1F6by5WWd^LyBraA_Ba zhW0jPALI>{da$A_MQ|kc16@tgYpLfFkAKV-dK^jD0z47P=M^a3h>2Xi3f5F5)1uk- z`d5NuLj@YcuueF{8Ydq;aKe6B-%LqGk5+&ZT17UGA=G{uzm|i2udAy;n_5B>;xi`~ z5l`Y$n=ZIHwS=;Ui^ixcGR`4hfx}d(k2L`@O1QE$%v!s$xt}T(=o~+>NRMWF7f}E+ z%y3A!HFeplVz9*>+|n{b8ROKM=b3a*V)C0(V`Ww3G$Ei+ow5|rb1JkA8N7{&Y)#Pf zH*DYu4BR0)I(M-)w3_nIVh_7~Sm=VsYz9_|I?iHGhBGT#DsEFdS3Q8W|=xS5=Ua z{~aP*!xc2^ms|Hhrnc7e<(b2y?v}6#g{4GnY?xVP)1j9m5=U1v?Dk~~eIrPd@SX}iWWW`78K5tDp8`)sn*Qzj8tU&+DtfowID^oLVr-{p zT0%{1cH?EbBK0`v$191-lh8G3A(Fh3MUfpAh|fLB&*P~*Q!Tt}_`v$?x12Kprso0K zbPC;ZDgE5CyRXPPc5v|x0J6RKTs@nIwrL?!O4Y=*w3PyCI0zx5akStau+!%ib6A{J zJOj{n7BhQ5ek0JDnbkHYP&=?H*uDmLj@tNY-V@bbUBw>;i-@AB{L{;y+_mwX`~_ zk$tAhe%)}M{kHQ{uyfDgG+y*^s*hIWY&zhzwvF;LSP;el?0r^nli!FXBPEc!_qp@( z6_OOP=LDRP+5aNI!yS7R=g4dC>g3+1F4kohcO$F3{a}ZLo3V4-jvt)C-ONxjDwYf` z?w|e#UmfArgY2kXyn`Ux@F4g?K)t;m{~Dt`f(N!NG=7CyKD;42WIsv8FD*(~1DbF$ z9NlkBAFNKJw#vIz&~R`b3y@G7iN#n+1}+(HHq>+AFOmPWORIkAIeRUs2^XM;&opsX zs+rVypp%x1VdCr@dc!cj!1e>ohb18PAi|rd^)~Wytty!$nwgk74^4#s?DfNi6*-KJ zc$csD@je6A3?%x+!Pyr(jnmAbu%9hrf4~Nj5imQ#a#;O9_7G)*nFHFY4;7ri{pU0~ zAx+uOHvsRB?XwBpw=DCO_{{=RHli+}E9*t>po+x~k-Z>sj(unN4oWqekug{x*-ESn zhGZ}JEw7{(cOBin0ABQ?7+3N|a+g=7WZXh~;2sQ7EpSbf2yi>vs`U0A!j_7kkd)1c zliIS?8)|Dw#e}GG^9q1MQ=-)utgidu?CgsLA+}z1tflmq<{=Tctg*s5N_=p2g5qg3eIaC=*Ewp

    jz$@;E4Wz;;Gkw8- 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 + +# Placeholder Types and Counts + +* **Rank Related:** 4 including aliases +* **Rankup Related:** 16 including aliases + + +* **Rank Ladder Related:** 4 including aliases **times** each ladder +* **Rankup Ladder Related:** 16 including aliases **times** each ladder + + +* **Player Balance Related:** 2 including aliases +* **Player Ladder Balance Related:** 2 including aliases **times** each ladder + + +* **Mine Related:** 28 including aliases **times** each mine +* **Mine Player Related:** 14 including aliases + + +**Total base Placeholders:** 86 including aliases + + +**Total if 26 Mines and 3 Ladders:** 836 placeholder including aliases (20 + 24*3 ladder + 2 + 28*26 mines + 14) + +


    @@ -31,16 +57,20 @@ There is always more than one way to do things, and the same goes for having mor # Placeholder Theory for Prison -There are two major types of placeholders in prison: Player based and Mine based. +There are two major types of placeholders in prison: Player based and Mine based. With the most recent releases of prison, there have been hybrids added that are a combination of the two. For example there are now ladder based placeholder that allow targeting ranks on a specific ladder, instead of all ladders. Also there are player mine placeholders that report on the mine stats for the mine in which the player is physically located in. The player mine placeholders have no value when the player is not in a mine, and they will change as the player goes from mine to mine. + +There are also different types of data that are returned in placeholders. Text, numbers, formatted numbers, and bar graphs. -The player based placeholders can only report on the player that is initiating the command, or request. These placeholders pertain to the player's attributes, such as rank or next rank. Internally, all of these requests must include the player's UUID, which is why you cannot just add them to a sign, since the sign does not know any player's UUID. +The player based placeholders can only report on the player that is initiating the command, or request. These placeholders pertain to the player's attributes, such as rank, next rank, their balance, how more they need before reaching the next rank, and etc. Internally, all of these requests must include the player's UUID, which is why you cannot just add them to a sign, since the sign does not know any player's UUID. -There are actually two kinds of player based placeholders. Rank placeholders that returns all of the player's current attributes for all active ladders they are associated with. For example, if they are active on four ladders, then they will have four active ranks on four ladders with possible values. So it may look something like this: `[mod][Zeus][+2][B]`, of which the ladders could be mod, donor, prestige, and default. The thing to remember about player rank placeholders is that they may return more than one value, and you cannot control the order of the values (yet). +There are actually two major kinds of player based placeholders; a third type is "related" more to mines and not specifically to the player's ranks. Rank placeholders that returns all of the player's current attributes for all active ladders they are associated with. For example, if they are active on four ladders, then they will have four active ranks on four ladders with possible values. So it may look something like this: `[mod][Zeus][+2][B]`, of which the ladders could be mod, donor, prestige, and default. The thing to remember about player rank placeholders is that they may return more than one value, and you cannot control the order of the values. -The other player based placeholders are similar to the player rank placeholders, but are specific to a single ladder. This allows you to get single placeholder, and control the order of placeholders, at the expense of having to specify multiple placeholders. +The other player based placeholders, which complements the Rank Placeholders, are the ladder placeholders that narrows the ranks down to a specific ladder. So with our example above, if you only want the ranks from the *default* ladder, that is now possible. Also you can control the order they appear by ordering the ladder placeholders in a specific sequence. The Mine based placeholders provide details about mines, and the mine name becomes part of the placeholder name. Out of all of the possible mine based placeholders, each one is duplicated for each mine. So, in rough terms, if there are different mine placeholders and you have 40 mines, then prison will generate about 400 place holders: 40 mines x 10 placeholders each = 400 placeholders for prison. +The same applies to the ladder placeholders as the mine placeholders; for every ladder, there will be a specific placeholder that represents each ladder. + Prison has integrations for direct use of providing placeholder values to to the other plugins. Some of those other plugins request placeholder values using partial placeholder names. Therefore to improve performance and to prevent having to always reconstructing the full placeholder names, prison precomputes the fragments for all placeholders. Therefore, with our example of 40 mines and 10 placeholders, the actual internal number of placeholder combinations that prison will respond to is 800: 40 mines x 10 placeholders per mine x 2 for aliases = 800 placeholders for prison. Off hand this may sound bad, but Prison utilizes enumerations for identifying placeholders, so they may be objects, but they are lightweight and helps ensure placeholders align with the code at compile time. This not only provides better performance, and less memory consumption, but programming errors and typos are caught at compile time and not runtime, so they also provide for a more stable and reliable Prison environment. @@ -54,7 +84,7 @@ Also, internally, prison only responds to the placeholder name without the escap # Rank Command Placeholders -The Rank Commands recognize only two placeholders, but they are not considered part of the standard placeholders. There are also only two placeholders that are recognized and both are case sensitive, and must also include curly braces too. +The Rank Commands recognize only two placeholders, but they are not considered part of the standard placeholders. There are also only two placeholders that are recognized and both are case sensitive (must be lower case), and must also include curly braces too. * {player} * {player_uid} @@ -78,8 +108,13 @@ There are a few commands within prison that will allow you list placeholders, se * **/prison placeholders search** * **/prison placeholders test** +* **/prison placeholders reload** + +NOTE: the `/prison placeholders reload` command only reloads and registers the placeholders with the placeholder integrations. This would be required to enable placeholders on a new mine or new ranks or a new ladder that were added since the last server restart. Also if you reload another plugin, such as papi, you will need to reload the plugins, which just re-registers them. -* **/prison version** Provides the same placeholder listing as /prison placeholders list. + + +* **/prison version** No longer provides a list of placeholders since it's become too large. @@ -93,26 +128,46 @@ Example of placeholder command listings

    Prison Placeholder Listings

    Prison Placeholder Listing +Prison Placeholder Listing -Example of the list of placeholders that is available through **/prison version** and **/prison placeholders list**. Please note that this list may evolve as new placeholders are added. Use these commands to get the current listing that is available on your server. +Example of the list of placeholders that is available through **/prison placeholders list**. Please note that this list may evolve as new placeholders are added. Use these commands to get the current listing that is available on your server. -

    Prison Placeholder Search with Two Search Patters

    +

    Prison Placeholder Search with Two Search Patterns

    Prison Placeholder Search -This is an example of searching for placeholders using two search patterns: *temp5* and *format*. The term temp5 is the name of a mine and is an example of a the dynamic construction of placeholders, and that you can still perform a search with them. The search patters can be any String fragment found in either the placeholder, or it's alias. +This is an example of searching for placeholders using a player's name plus two search patterns: *temp5* and *format*. The term temp5 is the name of a mine and is an example of a the dynamic construction of placeholders, and that you can still perform a search with them. The search patterns can be any String fragment found in either the placeholder, or it's alias. If more than one search pattern is provided, then all patters must hit on the same placeholder to be included in the results. They behave as a logical AND relationship. +A player's is provided, but results do not include any player, rank, or ladder entries. This shows that if a player's name is provide, it is recognized as a player and will not prevent valid hits. + + +The following example shows what the command is like when specifying the player's name, a page numer for the results, and three search parameters: + +``` +/prison placeholders search RoyalCoffeeBeans 1 rankup cost default +``` + +This example shows the current placeholder values for that player, including an example of a bar graph. + +Prison Placeholder Search

    Prison Placeholder Listings - All Placeholders

    -Prison Placeholder Listing +Prison Placeholder Listing In this contrived example, since all placeholders begin with "prison", this search returns a listing of all placeholders. In this example, using the current Prison v3.2.1-alpha.13 release, it has generated 65 pages of results, at 6 placeholders per page which includes the alias. +The following shows an example of all placeholders that are active with Prison_v3.2.2-alpha.10.jar. It includes a total of 1,294 placeholders, on 108 pages. This is based upon 4 ladders, 13 ranks, and 41 mines. + + +Prison Placeholder Listing + + +

    Prison Placeholder Listings

    @@ -251,6 +306,7 @@ temp5: - 'Welcome to Prison Mine: temp5' - 'Reset Interval: {slowest}%prison_mines_interval_temp5% - {slowest}%prison_mines_interval_formatted_temp5%' - 'Reset Time Left: {medium}%prison_mines_timeleft_temp5% - {fast}%prison_mtlf_temp5%' + - 'Reset Time Left: {slowest}%prison_mines_timeleft_bar_temp5%' - 'Reset Count: {medium}%prison_mines_reset_count_temp5%' - 'Mine Size: {slowest}%prison_mines_size_temp5%' - 'Blocks Remaining: {slowest}%prison_mr_temp5% {slowest}%prison_mp_temp5%%' @@ -259,6 +315,10 @@ temp5: Notice that the prison placeholders are wrapped in the % % escape characters. The prefixed placeholders such as {slowest} and {fast} are for the plugin HolographicExtensions and they control how frequently the placeholders are refreshed. +This is an example of the above settings, including the bar graph. Notice that the bar graph's properties can be adjusted for both the characters that are used, and the total number of characters (width). See the configuration within the file `/plugins/Prison/config.yml`. +Prison Holographic Displays + + Once you update and save the database.yml file, you can have HolographicDisaplys reload from the files: ``` From 04bf78cef9284751bdb87430eb5b3b613e34d75d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 14:06:31 -0400 Subject: [PATCH 150/243] Simplify the error message if a player does not have access to tp to a mine... they should not be seeing anything pertaining to perms. --- .../tech/mcprison/prison/mines/commands/MinesCommands.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index dd7133de4..fee876a76 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2504,8 +2504,7 @@ else if ( playerAlt != null && !player.getName().equalsIgnoreCase( playerAlt.get !sender.hasPermission("mines.tp") && !sender.hasPermission( minePermission ) ) { Output.get() - .sendError(sender, "You need the permission '%s' or '%s' to tp to this mine.", - "mines.tp", minePermission ); + .sendError(sender, "Sorry. You're unable to teleport there." ); return; } From 275418430612905773efbd38632fda2f0a157ad6 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 14:08:44 -0400 Subject: [PATCH 151/243] The gui was trying to pass null strings to this format function. If the parameter value is null, then just return an empty String, otherwise try to format it. --- .../src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index fb0574012..7f0effbe6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -268,7 +268,7 @@ public void setAutoFeatures( AutoManagerFeatures autoFeatures ) { public static String format(String format){ - return ChatColor.translateAlternateColorCodes('&', format); + return format == null ? "" : ChatColor.translateAlternateColorCodes('&', format); } private void initMetrics() { From 3a70e1d54564fc242900a196e3438f13c5aa215e Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 28 Oct 2020 19:35:08 +0100 Subject: [PATCH 152/243] Minor code improvements for the player GUI and this should also fix the null value. Changelogs: - Null value fix for Players GUI - Minor code improvements. If the null value still null, please try to delete the language file or there might be some kind of big bug to spot and fix... --- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 56 +++++++++---------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index fe95a1cfc..a722860a6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -1,7 +1,6 @@ package tech.mcprison.prison.spigot.gui.rank; import java.util.List; -import java.util.Objects; import java.util.Optional; import org.bukkit.Bukkit; @@ -36,6 +35,9 @@ public class SpigotPlayerRanksGUI extends SpigotGUIComponents { private PrisonRanks rankPlugin; private RankPlayer rankPlayer; + // Load config + private final Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); + private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); public SpigotPlayerRanksGUI(Player player) { this.player = player; @@ -44,20 +46,17 @@ public SpigotPlayerRanksGUI(Player player) { // SpigotPlayer sPlayer = new SpigotPlayer(p); Server server = SpigotPrison.getInstance().getServer(); - PrisonRanks rankPlugin; RankPlayer rPlayer; - ModuleManager modMan = Prison.get().getModuleManager(); Module module = modMan == null ? null : modMan.getModule( PrisonRanks.MODULE_NAME ).orElse( null ); + rankPlugin = (PrisonRanks) module; // Check if (!(checkRanks(player))){ return; } - rankPlugin = (PrisonRanks) module; - if (rankPlugin == null){ player.sendMessage(SpigotPrison.format("&cError: rankPlugin == null")); return; @@ -107,16 +106,12 @@ public void open() { return; } - // Load config - Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - LadderManager lm = getRankPlugin().getLadderManager(); - Optional ladder = lm.getLadder(GuiConfig.getString("Options.Ranks.Ladder")); + Optional ladder = lm.getLadder(guiConfig.getString("Options.Ranks.Ladder")); // Ensure ladder is present and that it has a rank: - if ( !ladder.isPresent() || !ladder.get().getLowestRank().isPresent() ){ - getPlayer().sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFoundHelp1") + GuiConfig.getString("Options.Ranks.Ladder") + messages.getString("Gui.Message.NoRanksFoundHelp2"))); + if (!ladder.isPresent() || !ladder.get().getLowestRank().isPresent()){ + getPlayer().sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFoundHelp1") + guiConfig.getString("Options.Ranks.Ladder") + messages.getString("Gui.Message.NoRanksFoundHelp2"))); getPlayer().closeInventory(); return; } @@ -130,26 +125,25 @@ public void open() { // Create the inventory and set up the owner, dimensions or number of slots, and title int dimension = (int) (Math.ceil(ladder.get().ranks.size() / 9D) * 9) + 9; - Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); - + // Create the inventory Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3" + "Ranks -> PlayerRanks")); + // Get many parameters RankLadder ladderData = ladder.get(); - Rank rank = ladderData.getLowestRank().get(); - Rank playerRank = getRankPlayer().getRank( ladderData ).orElse( null ); - if (guiBuilder(GuiConfig, dimension, guiConfig, inv, rank, playerRank)) return; + // Call the whole GUI and build it + if (guiBuilder(dimension, inv, rank, playerRank)) return; // Open the inventory getPlayer().openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(getPlayer()); } - private boolean guiBuilder(Configuration guiConfig, int dimension, Configuration guiConfig2, Inventory inv, Rank rank, Rank playerRank) { + private boolean guiBuilder( int dimension, Inventory inv, Rank rank, Rank playerRank) { try { - buttonsSetup(guiConfig, dimension, guiConfig2, inv, rank, playerRank); + buttonsSetup(dimension, inv, rank, playerRank); } catch (NullPointerException ex){ getPlayer().sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -158,41 +152,42 @@ private boolean guiBuilder(Configuration guiConfig, int dimension, Configuration return false; } - private void buttonsSetup(Configuration guiConfig, int dimension, Configuration guiConfig2, Inventory inv, Rank rank, Rank playerRank) { - - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + private void buttonsSetup(int dimension, Inventory inv, Rank rank, Rank playerRank) { // Not sure how you want to represent this: - Material materialHas; - materialHas = Material.getMaterial(Objects.requireNonNull(guiConfig.getString("Options.Ranks.Item_gotten_rank"))); - Material materialHasNot = Material.getMaterial(Objects.requireNonNull(guiConfig.getString("Options.Ranks.Item_not_gotten_rank"))); + Material materialHas = Material.getMaterial(guiConfig.getString("Options.Ranks.Item_gotten_rank")); + Material materialHasNot = Material.getMaterial(guiConfig.getString("Options.Ranks.Item_not_gotten_rank")); + // Variables boolean playerHasThisRank = true; int hackyCounterEnchant = 0; - int amount = 1; + while ( rank != null ) { List ranksLore = createLore( - guiConfig2.getString("Gui.Lore.Info"), - guiConfig2.getString("Gui.Lore.Price3") + rank.cost + messages.getString("Gui.Lore.Info"), + messages.getString("Gui.Lore.Price3") + rank.cost ); + ItemStack itemRank = createButton( (playerHasThisRank ? materialHas : materialHasNot), amount++, ranksLore, SpigotPrison.format(rank.tag)); + if (playerRank != null && playerRank.equals(rank)){ playerHasThisRank = false; } + if (!(playerHasThisRank)){ if (hackyCounterEnchant <= 0) { hackyCounterEnchant++; - if (Objects.requireNonNull(guiConfig2.getString("Options.Ranks.Enchantment_effect_current_rank")).equalsIgnoreCase("true")) { + if (guiConfig.getString("Options.Ranks.Enchantment_effect_current_rank").equalsIgnoreCase("true")) { itemRank.addUnsafeEnchantment(Enchantment.LUCK, 1); } } } - inv.addItem(itemRank); + inv.addItem(itemRank); rank = rank.rankNext; } @@ -204,5 +199,4 @@ private void buttonsSetup(Configuration guiConfig, int dimension, Configuration ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format(messages.getString("Gui.Lore.Rankup"))); inv.setItem(dimension - 5, rankupButton); } - } \ No newline at end of file From 5556f0471941af0045e482d232d272c25314eb45 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 28 Oct 2020 21:56:15 +0100 Subject: [PATCH 153/243] Fixed an NPE and also updated the Ranks Manager with newer Prison ranks methods (before it was using the Optional deprecated values). Changelogs: - Fixed NPE to PlayerRanksGUI. - Updated code and removed some deprecations. - Removed Objects from the ListenersPrisonManager class. --- .../spigot/gui/ListenersPrisonManager.java | 41 ++++++++----------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 518408cd6..1afa5eede 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -3,7 +3,6 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.Optional; import org.bukkit.Bukkit; @@ -72,7 +71,7 @@ public static ListenersPrisonManager get() { @EventHandler public void onGuiClosing(InventoryCloseEvent e){ - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ + if (!(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true"))){ return; } @@ -130,7 +129,7 @@ private void activeGuiEventCanceller(Player p, InventoryClickEvent e){ public void onClick(InventoryClickEvent e){ // Check if GUIs are enabled - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ + if (!(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true"))){ return; } @@ -688,7 +687,7 @@ private void SellAllAdminGUI(InventoryClickEvent e, Player p, String buttonNameM File file = new File(SpigotPrison.getInstance().getDataFolder() + "/SellAllConfig.yml"); FileConfiguration conf = YamlConfiguration.loadConfiguration(file); - SellAllPriceGUI gui = new SellAllPriceGUI(p,Double.parseDouble(Objects.requireNonNull(conf.getString("Items." + buttonNameMain + ".ITEM_VALUE"))), buttonNameMain); + SellAllPriceGUI gui = new SellAllPriceGUI(p,Double.parseDouble(conf.getString("Items." + buttonNameMain + ".ITEM_VALUE")), buttonNameMain); gui.open(); } @@ -776,17 +775,14 @@ private void LaddersGUI(InventoryClickEvent e, Player p, String buttonNameMain, private void RanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Get the rank - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRankOptional(buttonNameMain); + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(buttonNameMain); // Check if the rank exist - if (!rankOptional.isPresent()) { + if (rank == null) { p.sendMessage(SpigotPrison.format("&cThe rank " + buttonNameMain + " does not exist.")); return; } - // Get the rank - Rank rank = rankOptional.get(); - // Check clicks if (e.isShiftClick() && e.isRightClick()) { @@ -843,26 +839,23 @@ private void PrestigeConfirmationGUI(InventoryClickEvent e, Player p, String but private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { - // Output finally the buttonname and the minename explicit out of the array - String buttonname = parts[0]; + // Output finally the buttonName and the minename explicit out of the array + String buttonName = parts[0]; String rankName = parts[1]; // Get the rank - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRankOptional(rankName); + Rank rank = PrisonRanks.getInstance().getRankManager().getRank(rankName); // Check the button name and do the actions - if (buttonname.equalsIgnoreCase("RankupCommands")){ + if (buttonName.equalsIgnoreCase("RankupCommands")){ // Check if the rank exist - if (!rankOptional.isPresent()) { + if (rank == null) { // Send a message to the player p.sendMessage(SpigotPrison.format("&c[ERROR] The rank " + rankName + " does not exist.")); return; } - // Get the rank - Rank rank = rankOptional.get(); - // Check the rankupCommand of the Rank if (rank.rankUpCommands == null) { // Send a message to the player @@ -876,16 +869,16 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { } // Check the button name and do the actions - } else if (buttonname.equalsIgnoreCase("RankPrice")){ + } else if (buttonName.equalsIgnoreCase("RankPrice")){ // Check and open a GUI - if(rankOptional.isPresent()) { - SpigotRankPriceGUI gui = new SpigotRankPriceGUI(p, (int) rankOptional.get().cost, rankOptional.get().name); + if(rank != null) { + SpigotRankPriceGUI gui = new SpigotRankPriceGUI(p, (int) rank.cost, rank.name); gui.open(); } // Check the button name and do the actions - } else if (buttonname.equalsIgnoreCase("RankTag")){ + } else if (buttonName.equalsIgnoreCase("RankTag")){ Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); @@ -909,11 +902,11 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { private void PlayerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Load config - Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); + Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Check the buttonName and do the actions - if (buttonNameMain.equals(SpigotPrison.format(Objects.requireNonNull(GuiConfig.getString("Gui.Lore.Rankup")).substring(2)))){ - Bukkit.dispatchCommand(p, "rankup " + GuiConfig.getString("Options.Ranks.Ladder")); + if (buttonNameMain.equals(SpigotPrison.format(messages.getString("Gui.Lore.Rankup").substring(2)))){ + Bukkit.dispatchCommand(p, "rankup " + messages.getString("Options.Ranks.Ladder")); p.closeInventory(); } From 2c688fbbbafa4dbbb2e00224e14d6f9e333c81ff Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 28 Oct 2020 23:02:28 +0100 Subject: [PATCH 154/243] Fixed Rankup button Changelogs: - Fixed Rankup button listener --- .../mcprison/prison/spigot/gui/ListenersPrisonManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 1afa5eede..0e9ac76ea 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -903,10 +903,11 @@ private void PlayerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMa // Load config Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); // Check the buttonName and do the actions if (buttonNameMain.equals(SpigotPrison.format(messages.getString("Gui.Lore.Rankup").substring(2)))){ - Bukkit.dispatchCommand(p, "rankup " + messages.getString("Options.Ranks.Ladder")); + Bukkit.dispatchCommand(p, "rankup " + guiConfig.getString("Options.Ranks.Ladder")); p.closeInventory(); } From 3dc0758a05684f5c4c012f48fe24a0f063c74cab Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 21:31:17 -0400 Subject: [PATCH 155/243] Added three new patterns to the MineLinerBuilder. --- .../prison/mines/data/MineLinerBuilder.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index e83abc9c5..1beccedcb 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -34,7 +34,10 @@ public enum LinerPatterns { blackAndWhite, seaEchos, obby, + glowingPlanks, + darkOakPrismarine, beacon, + bricked, repair ; @@ -536,6 +539,44 @@ private void select2DPattern( Edges edge ) { break; + case glowingPlanks: + String[][] glowingPlanks = + { + { "dark_oak", "spruce", "acacia", "glowstone" }, // dsag + { "birch", "acacia", "jungle", "dark_oak" }, // bajd + { "acacia", "glowstone", "dark_oak", "spruce" }, // dsag + { "jungle", "dark_oak", "birch", "acacia" }, // bajd + + { "dark_oak", "birch", "acacia", "jungle" }, // dbaj + { "spruce", "acacia", "glowstone", "dark_oak" }, // sagd + { "acacia", "jungle", "dark_oak", "birch" }, // dbaj + { "glowstone", "dark_oak", "spruce", "acacia" } // sagd + }; + pattern2d = glowingPlanks; + break; + + + case darkOakPrismarine: + String[][] darkOakPrismarine = + { + { "prismarine_bricks", "dark_prismarine", "dark_oak", "prismarine" }, + { "dark_oak", "prismarine", "prismarine_bricks", "dark_prismarine" } + }; + pattern2d = darkOakPrismarine; + break; + + + case bricked: + String[][] bricked = + { + { "prismarine_bricks", "jungle", "brick_block" }, + { "mossy_stonebrick", "dark_prismarine", "dark_oak" }, + { "spruce", "nether_brick", "sea_lantern" } + }; + pattern2d = bricked; + break; + + case white: String[][] white = { From 46c71c538bfbbb6ca1fd73a618647a92fa08ef4b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 21:35:27 -0400 Subject: [PATCH 156/243] Enhance the ranks autoconfigure by adding support for GroupManager permission plugin. Also added the remove permisson of the next higher rank so as to support demotions. --- .../prison/ranks/commands/RanksCommands.java | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 4fd246e64..18d19fec4 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -235,24 +235,34 @@ public void autoConfigureRanks(CommandSender sender, Prison.get().getPrisonCommands().getRegisteredPluginData(); // - String permCmd = null; + String permCmdAdd = null; + String permCmdDel = null; String perm1 = "mines."; String perm2 = "mines.tp."; if ( plugins.containsKey("LuckPerms") ){ - permCmd = "lp user {player} permission set "; + permCmdAdd = "lp user {player} permission set "; + permCmdDel = "lp user {player} permission unset "; } else if ( plugins.containsKey("PermissionsEx") ){ - permCmd = "pex user {player} add "; + permCmdAdd = "pex user {player} add "; + permCmdDel = "pex user {player} add -"; } else if ( plugins.containsKey("UltraPermissions") ){ - permCmd = "upc addplayerpermission {player} "; + permCmdAdd = "upc addplayerpermission {player} "; + permCmdDel = "upc removeplayerpermission {player} "; + } + else if ( plugins.containsKey("GroupManager") ){ + permCmdAdd = "manuaddp {player} "; + permCmdDel = "manudelp {player} "; } else if ( plugins.containsKey("zPermissions") ){ - permCmd = "permissions player {player} set "; + permCmdAdd = "permissions player {player} set "; + permCmdDel = "permissions player {player} unset "; } else if ( plugins.containsKey("PowerfulPerms") ){ - permCmd = "pp user {player} add "; + permCmdAdd = "pp user {player} add "; + permCmdAdd = "pp user {player} remove "; } @@ -272,14 +282,23 @@ else if ( plugins.containsKey("PowerfulPerms") ){ String rankName = Character.toString( cRank ); String tag = "&7[&" + Integer.toHexString((colorID++ % 15) + 1) + rankName + "&7]&f"; + char cRankNext = (char) (cRank + 1); + String rankNameNext = Character.toString( cRankNext ); + if ( createRank(sender, rankName, price, "default", tag) ) { countRanks++; - if ( permCmd != null ) { - getRankCommandCommands().commandAdd( sender, rankName, permCmd + perm1 + rankName); + if ( permCmdAdd != null ) { + getRankCommandCommands().commandAdd( sender, rankName, permCmdAdd + perm1 + rankName); countRankCmds++; - getRankCommandCommands().commandAdd( sender, rankName, permCmd + perm2 + rankName); + getRankCommandCommands().commandAdd( sender, rankName, permCmdAdd + perm2 + rankName); countRankCmds++; + + if ( cRankNext <= 'Z' ) { + getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm1 + rankNameNext); + countRankCmds++; + } + } if ( mines ) { From 0544a47b7d6171ff0c954a1590c1dfc6951a594f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 22:43:03 -0400 Subject: [PATCH 157/243] Added a compatibility reference to help map it to XMaterials. --- .../src/main/java/tech/mcprison/prison/util/BlockType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 48819ca8e..c8ad3df97 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -137,7 +137,7 @@ public enum BlockType { OAK_WOOD( 17, "minecraft:log", 0, MaterialType.BLOCK ), SPRUCE_WOOD( 17, "minecraft:log", 1, MaterialType.BLOCK ), BIRCH_WOOD( 17, "minecraft:log", 2, MaterialType.BLOCK ), - JUNGLE_WOOD( 17, "minecraft:log", 3, MaterialType.BLOCK ), + JUNGLE_WOOD( 17, "minecraft:log", 3, MaterialType.BLOCK, "jungle_planks" ), OAK_LEAVES( 18, "minecraft:leaves", 0, MaterialType.BLOCK ), SPRUCE_LEAVES( 18, "minecraft:leaves", 1, MaterialType.BLOCK ), From 39795cd1ad6947e39b68bcaf6f0e7339f7bc5c01 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 22:51:58 -0400 Subject: [PATCH 158/243] Fixed the block names for the new liner patterns. I accidentally added them based upon actual block names and not what is mapped to the prison block names or the new block types which are keyed to XMaterials. This fixed them. --- .../prison/mines/data/MineLinerBuilder.java | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index 1beccedcb..c9c422ba1 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -482,7 +482,14 @@ private Block getRelativeBlock( Location location, Edges edge, int offset ) } - + /** + * The block names that are used in these 2D patterns much match both + * the BlockType enums (the old prison block names) and the Xmaterial names. + * If they don't match both, use the XMaterial names, then add that name to the + * BlockType enum as an XMaterial altName. + * + * @param edge + */ private void select2DPattern( Edges edge ) { String[][] pattern2d = null; @@ -542,15 +549,15 @@ private void select2DPattern( Edges edge ) { case glowingPlanks: String[][] glowingPlanks = { - { "dark_oak", "spruce", "acacia", "glowstone" }, // dsag - { "birch", "acacia", "jungle", "dark_oak" }, // bajd - { "acacia", "glowstone", "dark_oak", "spruce" }, // dsag - { "jungle", "dark_oak", "birch", "acacia" }, // bajd + { "dark_oak_planks", "spruce_planks", "acacia_planks", "glowstone" }, // dsag + { "birch_planks", "acacia_planks", "jungle_planks", "dark_oak_planks" }, // bajd + { "acacia_planks", "glowstone", "dark_oak_planks", "spruce_planks" }, // dsag + { "jungle_planks", "dark_oak_planks", "birch_planks", "acacia_planks" }, // bajd - { "dark_oak", "birch", "acacia", "jungle" }, // dbaj - { "spruce", "acacia", "glowstone", "dark_oak" }, // sagd - { "acacia", "jungle", "dark_oak", "birch" }, // dbaj - { "glowstone", "dark_oak", "spruce", "acacia" } // sagd + { "dark_oak", "birch_planks", "acacia_planks", "jungle_planks" }, // dbaj + { "spruce_planks", "acacia_planks", "glowstone", "dark_oak" }, // sagd + { "acacia_planks", "jungle_planks", "dark_oak_planks", "birch_planks" }, // dbaj + { "glowstone", "dark_oak_planks", "spruce_planks", "acacia_planks" } // sagd }; pattern2d = glowingPlanks; break; @@ -559,8 +566,8 @@ private void select2DPattern( Edges edge ) { case darkOakPrismarine: String[][] darkOakPrismarine = { - { "prismarine_bricks", "dark_prismarine", "dark_oak", "prismarine" }, - { "dark_oak", "prismarine", "prismarine_bricks", "dark_prismarine" } + { "prismarine_bricks", "dark_prismarine", "dark_oak_planks", "prismarine" }, + { "dark_oak_planks", "prismarine", "prismarine_bricks", "dark_prismarine" } }; pattern2d = darkOakPrismarine; break; @@ -569,9 +576,9 @@ private void select2DPattern( Edges edge ) { case bricked: String[][] bricked = { - { "prismarine_bricks", "jungle", "brick_block" }, - { "mossy_stonebrick", "dark_prismarine", "dark_oak" }, - { "spruce", "nether_brick", "sea_lantern" } + { "prismarine_bricks", "jungle_planks", "brick_block" }, + { "mossy_stone_bricks", "dark_prismarine", "dark_oak_planks" }, + { "spruce_planks", "nether_bricks", "sea_lantern" } }; pattern2d = bricked; break; From c869f6b81e9fac82abdc4d9d582882ca0eb41ab4 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 23:03:31 -0400 Subject: [PATCH 159/243] Added the ability to add the "force" option to the /mines set liner command. Normally the command only adds the liner if there is not air so that the mine's liner does not extend above the ground level, and it ends at ground level. Force is intended to cause the liner to work in a void area where all there is only air. Otherwise you would have to place blocks on the outside to "trick" the liner to work. --- .../prison/mines/commands/MinesCommands.java | 14 +++++++++-- .../prison/mines/data/MineLinerBuilder.java | 24 +++++++++++++++---- .../mcprison/prison/mines/data/MineMover.java | 6 ++--- .../mcprison/prison/mines/data/MineReset.java | 6 ++--- 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index fee876a76..a53d18d56 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2358,7 +2358,8 @@ public void setLinerCommand(CommandSender sender, @Arg(name = "mineName", description = "The name of the mine") String mineName, @Arg(name = "edge", description = "Edge to use [top, bottom, north, east, south, west, walls]", def = "walls") String edge, //@Arg(name = "adjustment", description = "How to adust the size [smaller, larger]", def = "larger") String adjustment, - @Arg(name = "pattern", description = "pattern to use [?]", def = "bright") String pattern + @Arg(name = "pattern", description = "pattern to use [?]", def = "bright") String pattern, + @Arg(name = "force", description = "Force liner if air [force no]", def = "no") String force ) { @@ -2385,6 +2386,15 @@ public void setLinerCommand(CommandSender sender, return; } + boolean isForced = false; + if ( force != null && !"force".equalsIgnoreCase( force ) && !"no".equalsIgnoreCase( force ) ) { + sender.sendMessage( + String.format( "&3The only valid values for &7force &3 is &7force&3 and &7no&3. " + + "Was &2[&7%s&2]", force ) ); + } + else if ( "force".equalsIgnoreCase( force ) ) { + isForced = true; + } PrisonMines pMines = PrisonMines.getInstance(); Mine mine = pMines.getMine(mineName); @@ -2395,7 +2405,7 @@ public void setLinerCommand(CommandSender sender, } - new MineLinerBuilder( mine, e, linerPattern ); + new MineLinerBuilder( mine, e, linerPattern, isForced ); // NOTE: The mine itself was not changed, so nothing to save: diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index c9c422ba1..8dc3febbd 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -23,6 +23,8 @@ public class MineLinerBuilder { private LinerPatterns pattern; + private boolean isForced = false; + private List>> pattern3d = null; @@ -83,7 +85,7 @@ protected MineLinerBuilder() { } - public MineLinerBuilder( Mine mine, Edges edge, LinerPatterns pattern ) { + public MineLinerBuilder( Mine mine, Edges edge, LinerPatterns pattern, boolean isForced ) { super(); this.pattern3d = new ArrayList<>(); @@ -98,6 +100,8 @@ public MineLinerBuilder( Mine mine, Edges edge, LinerPatterns pattern ) { this.pattern = pattern; + this.isForced = isForced; + if ( pattern != null ) { mine.enableTracer(); @@ -235,7 +239,7 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y } - for (int y = yMin; y <= yMax; y++) { + for (int y = yMin; y <= yMax + (isForced && yMin > yMax ? -1 : 0); y++) { for (int x = xMin; x <= xMax; x++) { @@ -293,7 +297,8 @@ private void generatePattern( Edges edge, World world, int xMin, int xMax, int y } } - else if ( !tBlock.isEmpty() || + else if ( isForced || + !tBlock.isEmpty() || isLadderBlock && !tBlockPlus1.isEmpty() ) { PrisonBlock nextBlockType = new PrisonBlock(nextBlockName); @@ -333,10 +338,14 @@ else if ( !tBlock.isEmpty() || } } - else if ( !tBlock.isEmpty() || + else if ( isForced || + !tBlock.isEmpty() || isLadderBlock && !tBlockPlus1.isEmpty() ) { BlockType nextBlockType = BlockType.fromString( nextBlockName ); +// if ( nextBlockType == null ) { +// nextBlockType = BlockType.fromString( nextBlockName ); +// } if ( isLadderBlock ) { @@ -759,5 +768,12 @@ public LinerPatterns getPattern() { public void setPattern( LinerPatterns pattern ) { this.pattern = pattern; } + + public boolean isForced() { + return isForced; + } + public void setForced( boolean isForced ) { + this.isForced = isForced; + } } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java index 358b8b60b..10898d3e3 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineMover.java @@ -15,9 +15,9 @@ public void moveMine( Mine mine, Edges edge, int amount ) { mine.clearMine( false ); - new MineLinerBuilder( mine, Edges.top, LinerPatterns.repair ); - new MineLinerBuilder( mine, Edges.bottom, LinerPatterns.repair ); - new MineLinerBuilder( mine, Edges.walls, LinerPatterns.repair ); + new MineLinerBuilder( mine, Edges.top, LinerPatterns.repair, false ); + new MineLinerBuilder( mine, Edges.bottom, LinerPatterns.repair, false ); + new MineLinerBuilder( mine, Edges.walls, LinerPatterns.repair, false ); while ( amount-- > 0 ) { diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java index 52b2c0af4..75aa7ba93 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineReset.java @@ -1334,16 +1334,16 @@ public void adjustSize( Edges edge, int amount ) { if ( amount < 0 ) { while ( amount++ < 0 ) { - new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair ); + new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair, false ); Bounds newBounds = new Bounds( getBounds(), edge, -1 ); setBounds( newBounds ); - new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair ); + new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair, false ); } } else { - new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair ); + new MineLinerBuilder( (Mine) this, edge, LinerPatterns.repair, false ); Bounds newBounds = new Bounds( getBounds(), edge, amount ); setBounds( newBounds ); From 8041c6b0f230e2efffdb294dc3ea1c560a3b49c1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 28 Oct 2020 23:24:39 -0400 Subject: [PATCH 160/243] update of the description --- .../java/tech/mcprison/prison/mines/commands/MinesCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index a53d18d56..ee0433536 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2389,7 +2389,7 @@ public void setLinerCommand(CommandSender sender, boolean isForced = false; if ( force != null && !"force".equalsIgnoreCase( force ) && !"no".equalsIgnoreCase( force ) ) { sender.sendMessage( - String.format( "&3The only valid values for &7force &3 is &7force&3 and &7no&3. " + + String.format( "&3The valid values for &7force &3 are &7force&3 and &7no&3. " + "Was &2[&7%s&2]", force ) ); } else if ( "force".equalsIgnoreCase( force ) ) { From bfda578ca78e92a873297f7adc577b647076b764 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:06:20 -0400 Subject: [PATCH 161/243] A few more tweaks to the block types. --- .../src/main/java/tech/mcprison/prison/util/BlockType.java | 2 +- .../java/tech/mcprison/prison/mines/data/MineLinerBuilder.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index c8ad3df97..1e4358898 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -123,7 +123,7 @@ public enum BlockType { FLOWING_WATER( 8, "minecraft:flowing_water", 0, MaterialType.BLOCK, "WATER" ), - STILL_WATER( 9, "minecraft:water", 0, MaterialType.BLOCK ), + STILL_WATER( 9, "minecraft:water", 0, MaterialType.BLOCK, "STATIONARY_WATER"), FLOWING_LAVA( 10, "minecraft:flowing_lava", 0, MaterialType.BLOCK, "LAVA" ), STILL_LAVA( 11, "minecraft:lava", 0, MaterialType.BLOCK ), diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index 8dc3febbd..7dea5d7ba 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -613,7 +613,7 @@ private void select2DPattern( Edges edge ) { { "iron_block", "end_stone" }, { "chiseled_quartz_block", "pillar_quartz_block" }, - { "glowstone", "quartz_stone" }, + { "glowstone", "quartz_block" }, { "chiseled_quartz_block", "pillar_quartz_block" } }; pattern2d = bright; From 1e93ed961b953e7253b2d4d4c8846cbe5d4951df Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:08:22 -0400 Subject: [PATCH 162/243] Reenable the compatibility cache on block mapping. This eliminates releated failures to map blocks, which will prevent wasted time continuosly looking them up. --- .../prison/spigot/compat/CompatibilityCache.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java index 47272d052..924d24955 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/CompatibilityCache.java @@ -42,11 +42,11 @@ public BlockType getCachedBlockType( Block spigotBlock, byte data ) { BlockType blockType = blockTypeCache.get( key ); - return blockType == BlockType.NULL_BLOCK ? null : blockType; + return blockType; //blockType == BlockType.NULL_BLOCK ? null : blockType; } public void putCachedBlockType( Block spigotBlock, byte data, BlockType blockType ) { if ( spigotBlock != null ) { - String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); + String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" + data); if ( !blockTypeCache.containsKey( key ) ) { blockTypeCache.put( key, blockType == null ? BlockType.NULL_BLOCK : blockType ); @@ -56,15 +56,15 @@ public void putCachedBlockType( Block spigotBlock, byte data, BlockType blockTyp public BlockType getCachedBlockType( ItemStack spigotStack, byte data ) { - String key = spigotStack.getType().name() + ( data <= 0 ? "" : ":" +data); + String key = spigotStack.getType().name() + ( data <= 0 ? "" : ":" + data); BlockType blockType = blockTypeCache.get( key ); - return blockType == BlockType.NULL_BLOCK ? null : blockType; + return blockType; // blockType == BlockType.NULL_BLOCK ? null : blockType; } public void putCachedBlockType( ItemStack spigotStack, byte data, BlockType blockType ) { if ( spigotStack != null ) { - String key = spigotStack.getType().name() + ( data <= 0 ? "" : ":" +data); + String key = spigotStack.getType().name() + ( data <= 0 ? "" : ":" + data); if ( !blockTypeCache.containsKey( key ) ) { blockTypeCache.put( key, blockType == null ? BlockType.NULL_BLOCK : blockType ); @@ -82,7 +82,7 @@ public XMaterial getCachedXMaterial( PrisonBlock prisonBlock ) XMaterial xMat = xMaterialCache.get( key ); // Using VOID_AIR as temp placeholder for null values: - return xMat == XMaterial.VOID_AIR ? null : xMat; + return xMat; // xMat == XMaterial.VOID_AIR ? null : xMat; } public void putCachedXMaterial( PrisonBlock prisonBlock, XMaterial xMat ) @@ -101,7 +101,7 @@ public XMaterial getCachedXMaterial( Block spigotBlock, byte data ) { XMaterial xMat = xMaterialCache.get( key ); // Using VOID_AIR as temp placeholder for null values: - return xMat == XMaterial.VOID_AIR ? null : xMat; + return xMat; // xMat == XMaterial.VOID_AIR ? null : xMat; } public void putCachedXMaterial( Block spigotBlock, byte data, XMaterial xMat ) { String key = spigotBlock.getType().name() + ( data <= 0 ? "" : ":" +data); @@ -118,7 +118,7 @@ public XMaterial getCachedXMaterial( BlockType blockType, byte data ) { XMaterial xMat = xMaterialCache.get( key ); // Using VOID_AIR as temp placeholder for null values: - return xMat == XMaterial.VOID_AIR ? null : xMat; + return xMat; // xMat == XMaterial.VOID_AIR ? null : xMat; } public void putCachedXMaterial( BlockType blockType, byte data, XMaterial xMat ) { String key = blockType.name() + ( data <= 0 ? "" : ":" +data); From 3f5189032cf751c2f3cbd99cbf48be8f65a23248 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:12:52 -0400 Subject: [PATCH 163/243] Fix the report on how many blocks are in a new mine. It was reporting on surface area and not block count. Fixed an issue with world being saved correctly. When a virtual mine was converted to a real mine, the world and world name were not always being updated. Fixed it by not only being more aggreesive when setting the Bounds, but also when saving the mine. --- .../mcprison/prison/mines/commands/MinesCommands.java | 2 +- .../java/tech/mcprison/prison/mines/data/Mine.java | 11 ++++++++++- .../tech/mcprison/prison/mines/data/MineData.java | 7 +++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index ee0433536..c49eeb94d 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2224,7 +2224,7 @@ public void redefineCommand(CommandSender sender, DecimalFormat dFmt = new DecimalFormat("#,##0"); String message = String.format( "&3The mine &7%s &3 is no longer a virutal mine " + "and has been enabled with an area of &7%s &3blocks.", - m.getName(), dFmt.format( m.getBounds().getArea() )); + m.getName(), dFmt.format( m.getBounds().getTotalBlockCount() )); sender.sendMessage( message ); Output.get().logInfo( message ); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java index bcd90d745..fc428ed3d 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/Mine.java @@ -426,7 +426,16 @@ else if (validateBlockNames.contains( blockTypeName ) ) { public Document toDocument() { Document ret = new Document(); - ret.put("world", getWorldName()); + + // If world name is not set, try to get it from the bounds: + String worldName = getWorldName(); + if ( worldName == null || worldName.trim().length() == 0 && + getBounds() != null && getBounds().getMin() != null && + getBounds().getMin().getWorld() != null ) { + worldName = getBounds().getMin().getWorld().getName(); + setWorldName( worldName ); + } + ret.put("world", worldName ); ret.put("name", getName()); ret.put( "isVirtual", isVirtual() ); diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 2c1a57574..185f8b8f8 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -314,8 +314,9 @@ public Bounds getBounds() { public void setBounds(Bounds bounds) { this.bounds = bounds; - if ( bounds != null && ( isVirtual() || !getWorld().isPresent()) ) { - // Move all this internal to the mines... + if ( bounds != null && ( isVirtual() || !getWorld().isPresent() || + getWorldName() == null || getWorldName().trim().length() == 0 ) ) { + World world = bounds.getMin().getWorld(); if ( world != null ) { @@ -324,6 +325,8 @@ public void setBounds(Bounds bounds) { setWorldName( world.getName() ); setVirtual( false ); setEnabled( true ); + + Output.get().logInfo( "Mine " + getName() + ": world has been set and is now enabled." ); } else { setEnabled( false ); From bee64926a82c5b79932b538006147682b54260b6 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:16:33 -0400 Subject: [PATCH 164/243] Added a new feature: can now set the area of a mine based upon location of your feet. This allows you to create a virtual mine, then set its location where you're standing or flying, then you can resize it. This bypasses the need of having to use a wand to create a mine or define it's size and location and allows it to be defined in mid air or in a void world where you cannot click on any blocks. --- .../prison/mines/commands/MinesCommands.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index c49eeb94d..3cd133fab 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2178,9 +2178,15 @@ public void setMineNoRankCommand(CommandSender sender, @Command(identifier = "mines set area", permissions = "mines.set", - description = "Set the area of a mine to your current selection.") + description = "Set the area of a mine to your current selection or a 1x1 mine under your feet.") public void redefineCommand(CommandSender sender, - @Arg(name = "mineName", description = "The name of the mine to edit.") String mineName) { + @Arg(name = "mineName", description = "The name of the mine to edit.") String mineName, + @Arg(name = "source", description = "&3The source to use for setting the area. The &7wand&3 " + + "uses the area defined by the wand. &7Feet&3 defines a 1x1 mine under your feet" + + "which is useful in void worlds or when flying and can be enlarged with " + + "&7/mines set size help&3 . &2[&7wand feet&2]", + def = "wand") String source + ) { if (!performCheckMineExists(sender, mineName)) { return; @@ -2189,12 +2195,25 @@ public void redefineCommand(CommandSender sender, PrisonMines pMines = PrisonMines.getInstance(); Mine m = pMines.getMine(mineName); + Player player = getPlayer( sender ); + // if ( !m.isEnabled() ) { // sender.sendMessage( "&cMine is disabled&7. Use &a/mines info &7for possible cause." ); // return; // } - Selection selection = Prison.get().getSelectionManager().getSelection((Player) sender); + Selection selection = null; + + if ( source != null && "feet".equalsIgnoreCase( source ) ) { + selection = new Selection( player.getLocation(), player.getLocation()); + } + else if ( source == null || "wand".equalsIgnoreCase( source ) ) { + selection = Prison.get().getSelectionManager().getSelection( player ); + } + else { + sender.sendMessage( "&3Valid values for &2source &3are &7wand&3 and &7feet&3." ); + return; + } if (!selection.isComplete()) { pMines.getMinesMessages().getLocalizable("select_bounds") @@ -2218,6 +2237,7 @@ public void redefineCommand(CommandSender sender, // Setting the bounds when it's virtual will configure all the internals: m.setBounds(selection.asBounds()); + if ( wasVirtual ) { From 097d11bb243ebcaca679838b6c212b651724376b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:17:41 -0400 Subject: [PATCH 165/243] Update change log with recent updates from today. --- changelog_v3.2.x.md | 48 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 94155d3ca..4e82cc851 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,53 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.10 - 2020-10-26 +## tag v3.2.2-alpha.10 - 2020-10-29 + + +* **Added a new feature: can now set the area of a mine based upon location of your feet.** +This allows you to create a virtual mine, then set its location where you're standing or flying, then you can resize it. This bypasses the need of having to use a wand to create a mine or define it's size and location and allows it to be defined in mid air or in a void world where you cannot click on any blocks. + + +* **Fix the report on how many blocks are in a new mine.** It was reporting on surface area and not block count. +Fixed an issue with world being saved correctly. When a virtual mine was converted to a real mine, the world and world name were not always being updated. Fixed it by not only being more aggressive when setting the Bounds, but also when saving the mine. + + +* **Reenable the compatibility cache on block mapping.** +This eliminates related failures to map blocks, which will prevent wasted time continuously looking them up. + + +* **A few more tweaks to the block types to fix missing block from a pattern.** + + +* **Added the ability to add the "force" option to the /mines set liner command.** +Normally the command only adds the liner if there is not air so that the mine's liner does not extend above the ground level, and it ends at ground level. +Force is intended to cause the liner to work in a void area where all there is only air. Otherwise you would have to place blocks on the outside to "trick" the liner to work. + + +* **Fixed the block names for the new liner patterns.** +I accidentally added them based upon actual block names and not what is mapped to the prison block names or the new block types which are keyed to XMaterials. This fixed them. + + +* **Added a compatibility reference to help map it to XMaterials.** +Jungle_planks + + +* **Enhance the ranks auto configure by adding support for GroupManager permission plugin.** +Also added the remove permission of the next higher rank so as to support demotions. + + +* **Added three new patterns to the MineLinerBuilder.** + + +* **Minor code improvements for the player GUI and this should also fix the null value.** + + +* **The gui was trying to pass null strings to this format function.** +If the parameter value is null, then just return an empty String, otherwise try to format it. + + +* **Simplify the error message if a player does not have access to tp to a mine** +they should not be seeing anything pertaining to perms. * **Hooking up more of the prison's mines commands to properly, and fully, use the new prison block model.** From fb1884d5de28c18caef318da774a6f3ff8f83a87 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:45:14 -0400 Subject: [PATCH 166/243] For /ranks autoConfigure: Almost forgot to add the removal of the mines.tp. when demoting a player. --- .../java/tech/mcprison/prison/ranks/commands/RanksCommands.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 18d19fec4..08e1161f4 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -297,6 +297,8 @@ else if ( plugins.containsKey("PowerfulPerms") ){ if ( cRankNext <= 'Z' ) { getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm1 + rankNameNext); countRankCmds++; + getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm2 + rankNameNext); + countRankCmds++; } } From 857cc80774dcedb07ed28814c9f7786b088f08f7 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:45:58 -0400 Subject: [PATCH 167/243] Bump the version to v3.2.2-alpha.11 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index ab20e2426..8bcc4f3c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.10 +version=3.2.2-alpha.11 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From db20b893a0fdbe0e0019e7a9bfb55a28e15e1584 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 29 Oct 2020 01:52:23 -0400 Subject: [PATCH 168/243] update change log --- changelog_v3.2.x.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 4e82cc851..946bdcbfe 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,13 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.10 - 2020-10-29 +## tag v3.2.2-alpha.11 - 2020-10-29 + + +* **v3.2.2-alpha.11 - 2020-10-29** + + +* **For /ranks autoConfigure: Almost forgot to add the removal of the mines.tp. when demoting a player.** * **Added a new feature: can now set the area of a mine based upon location of your feet.** From df5eea9f0effebb61e509c06a9501e5ebd0e4e47 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 31 Oct 2020 02:38:05 -0400 Subject: [PATCH 169/243] Had the wrong block name for dark_oak_planks (thought I fixed that already). --- .../tech/mcprison/prison/mines/data/MineLinerBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java index 7dea5d7ba..b92f5e580 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineLinerBuilder.java @@ -563,8 +563,8 @@ private void select2DPattern( Edges edge ) { { "acacia_planks", "glowstone", "dark_oak_planks", "spruce_planks" }, // dsag { "jungle_planks", "dark_oak_planks", "birch_planks", "acacia_planks" }, // bajd - { "dark_oak", "birch_planks", "acacia_planks", "jungle_planks" }, // dbaj - { "spruce_planks", "acacia_planks", "glowstone", "dark_oak" }, // sagd + { "dark_oak_planks", "birch_planks", "acacia_planks", "jungle_planks" }, // dbaj + { "spruce_planks", "acacia_planks", "glowstone", "dark_oak_planks" }, // sagd { "acacia_planks", "jungle_planks", "dark_oak_planks", "birch_planks" }, // dbaj { "glowstone", "dark_oak_planks", "spruce_planks", "acacia_planks" } // sagd }; From 10399f5a67df38de3326a97586a4efe8d34b1473 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 31 Oct 2020 02:39:27 -0400 Subject: [PATCH 170/243] Changed the perms to lower case, specfically the mine/rank name. Should have been lower case. --- .../mcprison/prison/ranks/commands/RanksCommands.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index 08e1161f4..a801569bd 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -289,15 +289,15 @@ else if ( plugins.containsKey("PowerfulPerms") ){ countRanks++; if ( permCmdAdd != null ) { - getRankCommandCommands().commandAdd( sender, rankName, permCmdAdd + perm1 + rankName); + getRankCommandCommands().commandAdd( sender, rankName, permCmdAdd + perm1 + rankName.toLowerCase()); countRankCmds++; - getRankCommandCommands().commandAdd( sender, rankName, permCmdAdd + perm2 + rankName); + getRankCommandCommands().commandAdd( sender, rankName, permCmdAdd + perm2 + rankName.toLowerCase()); countRankCmds++; if ( cRankNext <= 'Z' ) { - getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm1 + rankNameNext); + getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm1 + rankNameNext.toLowerCase()); countRankCmds++; - getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm2 + rankNameNext); + getRankCommandCommands().commandAdd( sender, rankName, permCmdDel + perm2 + rankNameNext.toLowerCase()); countRankCmds++; } From 4f7208193fa19bc18b189801682d183a66e95ef5 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 1 Nov 2020 17:41:13 -0500 Subject: [PATCH 171/243] Update some docs and added a few screen prints. --- changelog_v3.2.x.md | 7 ++- .../images/prison_docs_commands_01_01.png | Bin 0 -> 9083 bytes .../images/prison_docs_commands_03_01.png | Bin 0 -> 26070 bytes .../images/prison_docs_commands_05_01.png | Bin 0 -> 5186 bytes .../images/prison_docs_commands_05_02.png | Bin 0 -> 5665 bytes .../images/prison_docs_commands_06_01.png | Bin 0 -> 6063 bytes .../images/prison_docs_commands_09_01.png | Bin 0 -> 59273 bytes .../images/prison_docs_commands_09_02.png | Bin 0 -> 82880 bytes .../prison_docs_command_01_prison.md | 38 ++++++++++++++++ ...> prison_docs_command_02_prison_alerts.md} | 8 ++-- ...son_docs_command_03_prison_autofeatures.md | 34 +++++++++++++++ ...d => prison_docs_command_04_prison_gui.md} | 4 +- .../prison_docs_command_05_prison_modules.md | 37 ++++++++++++++++ ...son_docs_command_06_prison_placeholders.md | 41 ++++++++++++++++++ .../prison_docs_command_07_prison_reload.md | 32 ++++++++++++++ .../prison_docs_command_09_prison_version.md | 40 +++++++++++++++++ .../prison_docs_command_1_prison.md | 36 --------------- ...ison_docs_command_3_prison_autofeatures.md | 30 ------------- .../prison_docs_command_5_prison_modules.md | 25 ----------- ...ison_docs_command_6_prison_placeholders.md | 27 ------------ .../prison_docs_command_7_prison_reload.md | 26 ----------- .../prison_docs_command_9_prison_version.md | 24 ---------- docs/prison_docs_000_toc.md | 16 +++---- knownissues_v3.2.x.md | 16 +++++-- 24 files changed, 253 insertions(+), 188 deletions(-) create mode 100644 docs/docs-commands/images/prison_docs_commands_01_01.png create mode 100644 docs/docs-commands/images/prison_docs_commands_03_01.png create mode 100644 docs/docs-commands/images/prison_docs_commands_05_01.png create mode 100644 docs/docs-commands/images/prison_docs_commands_05_02.png create mode 100644 docs/docs-commands/images/prison_docs_commands_06_01.png create mode 100644 docs/docs-commands/images/prison_docs_commands_09_01.png create mode 100644 docs/docs-commands/images/prison_docs_commands_09_02.png create mode 100644 docs/docs-commands/prison_docs_command_01_prison.md rename docs/docs-commands/{prison_docs_command_2_prison_alerts.md => prison_docs_command_02_prison_alerts.md} (60%) create mode 100644 docs/docs-commands/prison_docs_command_03_prison_autofeatures.md rename docs/docs-commands/{prison_docs_command_4_prison_gui.md => prison_docs_command_04_prison_gui.md} (79%) create mode 100644 docs/docs-commands/prison_docs_command_05_prison_modules.md create mode 100644 docs/docs-commands/prison_docs_command_06_prison_placeholders.md create mode 100644 docs/docs-commands/prison_docs_command_07_prison_reload.md create mode 100644 docs/docs-commands/prison_docs_command_09_prison_version.md delete mode 100644 docs/docs-commands/prison_docs_command_1_prison.md delete mode 100644 docs/docs-commands/prison_docs_command_3_prison_autofeatures.md delete mode 100644 docs/docs-commands/prison_docs_command_5_prison_modules.md delete mode 100644 docs/docs-commands/prison_docs_command_6_prison_placeholders.md delete mode 100644 docs/docs-commands/prison_docs_command_7_prison_reload.md delete mode 100644 docs/docs-commands/prison_docs_command_9_prison_version.md diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 946bdcbfe..ab2a532cc 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,9 +8,14 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.11 - 2020-10-29 +## tag v3.2.2-alpha.11 - 2020-10-31 +* **Changed the perms to lower case, specfically the mine/rank name. Should have been lower case.** + + +* **Had the wrong block name for dark_oak_planks (thought I fixed that already).** + * **v3.2.2-alpha.11 - 2020-10-29** diff --git a/docs/docs-commands/images/prison_docs_commands_01_01.png b/docs/docs-commands/images/prison_docs_commands_01_01.png new file mode 100644 index 0000000000000000000000000000000000000000..152dcee5f650adaa579bd552b931a953ddf8f8d8 GIT binary patch literal 9083 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 bkdW`q>Ox=e*$zHb1Fc(%~g_5S|@+7&2F literal 0 HcmV?d00001 diff --git a/docs/docs-commands/images/prison_docs_commands_03_01.png b/docs/docs-commands/images/prison_docs_commands_03_01.png new file mode 100644 index 0000000000000000000000000000000000000000..a83dc12b5a847f8293a08c5bdcc98eaed43efafd GIT binary patch literal 26070 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 Ht%LpxwuL<5 literal 0 HcmV?d00001 diff --git a/docs/docs-commands/images/prison_docs_commands_05_01.png b/docs/docs-commands/images/prison_docs_commands_05_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f874dddc9c5a4c2794b48cf295cf4bda410f8d73 GIT binary patch literal 5186 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 literal 0 HcmV?d00001 diff --git a/docs/docs-commands/images/prison_docs_commands_05_02.png b/docs/docs-commands/images/prison_docs_commands_05_02.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e38ed96453b318fc93b6242146fcb7887ced2d GIT binary patch literal 5665 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 literal 0 HcmV?d00001 diff --git a/docs/docs-commands/images/prison_docs_commands_06_01.png b/docs/docs-commands/images/prison_docs_commands_06_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ca5f144657286a86e62f2f586936ec4c840d71 GIT binary patch literal 6063 zcmaJ_XH-*Lw>^krK?Oyy&_v||(iEjg0^y`URkBM$B3J_ocNP6NQ{Aj4aKS_O|U<{-;OtWn*BOGO2nQy2zrY1EInl<40>y9YymU<_MU83%wwBJWVZ%N;^!)YhyF zI$Y)Y^|h5AW&YGgF*Bc^q)eJp$P%-oRjZmUi+wEYMz?^dhb5YwTBI7k0gBIbB zCKiJjV;^bHPdf@m!O3B@OzP+-UisXaF}8tJz1{kc4UHVFN}{7~5%Q-zBF-jAOtYPF zr_HZOacOmha;-T_BvthM#l#81@zgL{e@=9CG%4{QHv?W8Y$gMd#-8eo^ND3|($I_` zFt_%1pkDQLc#5>9)gkR-zp@Ky+4 zh7Js#-9c!50C`^f*g;W1F6bjM*8fNVfYm|TB9<&6DT!bcE4?60qQ9O9RGNBR)?+N3 zAD<&FktzxRgBsn5;{2)Xv*<4sBC_fL@J*c7@lxnCvd)Lp@Tf=RXKP4P=;!;%Vfl?1*XnBk^V%#)05a5>4Ms^w~5 z;>hJf^5m`NhaQ!_YAt^`&Adv2HK~r2Fr&V<$R2yxJRbBYQD)iMvBA-ZV;sTe z!67PU^kOth)6D0@T%|#e>3Luh%OAUM`H=AVNV1DR5!0l6q57_T%Du9uE2L{K-(^y?m}dPyI(BXUfQy^ta6Hb4^0pLwL;a# z);XTgk}6yw1Ze_5im)jz`s+$Da!Pqy!tJ~s-u-Wi!cLfzh3<3rlGocIW-lCZ3~}>@ z+w8K zYkL#noy!9}IQb)6Gw|{#*1_7xRN^V!XOyXW8Eea5OD;M%C~TOxKe#Va=CMl%tSzm6n!xYvE_&bb(&lvbsEWMl!x5?8}2?dr~eX)1Sk2tkm7{WiaqVm_GJN+4^? zHH?ljB<_^|I`VqhAhzx8HnHGE5Y?pHhM=lI+;p4txp?q~O~oM)0p4J&|4$9ppAll(KF|3X=nX$fh%? z_EyS`L6$lmzi(hR33y
    +LO17|uVm7PDi^L~ZtNH8ltVn2w>2O)Ywm4o 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 literal 0 HcmV?d00001 diff --git a/docs/docs-commands/images/prison_docs_commands_09_01.png b/docs/docs-commands/images/prison_docs_commands_09_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f4179e60ccb46d3af236a031d8f2db4b5b4c5a5d GIT binary patch literal 59273 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 literal 0 HcmV?d00001 diff --git a/docs/docs-commands/images/prison_docs_commands_09_02.png b/docs/docs-commands/images/prison_docs_commands_09_02.png new file mode 100644 index 0000000000000000000000000000000000000000..41d4d8d8963cc92085f96cf291d01ee69a3ea1c7 GIT binary patch literal 82880 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 literal 0 HcmV?d00001 diff --git a/docs/docs-commands/prison_docs_command_01_prison.md b/docs/docs-commands/prison_docs_command_01_prison.md new file mode 100644 index 000000000..b71b7ba44 --- /dev/null +++ b/docs/docs-commands/prison_docs_command_01_prison.md @@ -0,0 +1,38 @@ +### Prison Documentation +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +`/prison`'s the Main core command, by executing it you'll get a list of all the subcommands. + +The command `/prison` also shows all of the other registered root commands that are used within prison, for example `/ranks` and `/mines`. + + +## Permission: + +- `prison.admin` + +## SubCommands: + +- [`/prison alerts`](prison_docs_command_02_prison_alerts.md) +- [`/prison autofeatures`](prison_docs_command_03_prison_autofeatures.md) +- [`/prison gui`](prison_docs_command_04_prison_gui.md) +- [`/prison modules`](prison_docs_command_05_prison_modules.md) +- [`/prison placeholders`](prison_docs_command_06_prison_placeholders.md) +- [`/prison reload`](prison_docs_command_07_prison_reload.md) +- [`/prison version`](prison_docs_command_09_prison_version.md) + +## How to use the command + +Execute: +`/prison` +and all the subcommands will be displayed, plus the other Prison root commands. + +Command Example + +### Command Format + +`/prison [Arguments]` + +**END of the command INFO** + diff --git a/docs/docs-commands/prison_docs_command_2_prison_alerts.md b/docs/docs-commands/prison_docs_command_02_prison_alerts.md similarity index 60% rename from docs/docs-commands/prison_docs_command_2_prison_alerts.md rename to docs/docs-commands/prison_docs_command_02_prison_alerts.md index 368eaad27..3e2b64b56 100644 --- a/docs/docs-commands/prison_docs_command_2_prison_alerts.md +++ b/docs/docs-commands/prison_docs_command_02_prison_alerts.md @@ -3,7 +3,7 @@ ## Description: -Prison Alerts, you can clear a Prison Alert or All of them +Prison Alerts: you can clear a Prison Alert or All of them. One of the most frequently seen alerts is the notification that an update is available. ## Permission: @@ -16,13 +16,11 @@ Prison Alerts, you can clear a Prison Alert or All of them ## How to use the command -Execute `/prison alerts` followed by the `argument` you want, such as `clearall` or `clear` to use the command +Execute `/prison alerts` followed by the *argument* you want, such as `clearall` or `clear` to use the command -**NOTE:** -You can't use this command from the console! ### Command Format -`/prison alerts ` +`/prison alerts ` **END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_03_prison_autofeatures.md b/docs/docs-commands/prison_docs_command_03_prison_autofeatures.md new file mode 100644 index 000000000..cab8fa9e2 --- /dev/null +++ b/docs/docs-commands/prison_docs_command_03_prison_autofeatures.md @@ -0,0 +1,34 @@ +### Prison Documentation +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +Show a description of the AutoFeatures and some info about them. This command only provides information about how to use autofeatures and does not provide any customizations. + +**NOTE:** You need to enable the autofeatures within in the **config.yml** file first, then you can edit them from the `/prison gui` or the `plugins/Prison/autoFeaturesConfig.yml`. + +## Permissions: + +- `prison.admin` +- `prison.automanager` +- `prison.automanager.pickup` *(configurable)* +- `prison.automanager.smelt` *(configurable)* +- `prison.automanager.block` *(configurable)* + +You can customize the permission plugins that are marked as *(configurable)* through modification of the `plugins/Prison/autoFeaturesConfig.yml` file. + +## SubCommands: + +- `none` + +## How to use the command + +Just execute the command `/prison autofeatures` + +### Command Format + +`/prison autofeatures` + +Command Example + +**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_4_prison_gui.md b/docs/docs-commands/prison_docs_command_04_prison_gui.md similarity index 79% rename from docs/docs-commands/prison_docs_command_4_prison_gui.md rename to docs/docs-commands/prison_docs_command_04_prison_gui.md index fbeffa9d6..30d5eef5e 100644 --- a/docs/docs-commands/prison_docs_command_4_prison_gui.md +++ b/docs/docs-commands/prison_docs_command_04_prison_gui.md @@ -3,7 +3,7 @@ ## Description: -This command will open the `/prison gui` where an admin can manage a lot of things about prison on a GUI. +This command will open the `/prison gui` where an admin can manage Prison features. ## Permission: @@ -16,7 +16,7 @@ This command will open the `/prison gui` where an admin can manage a lot of thin ## How to use the command -Just execute the command himself `/prison gui` +Just execute the command `/prison gui` ### Command Format diff --git a/docs/docs-commands/prison_docs_command_05_prison_modules.md b/docs/docs-commands/prison_docs_command_05_prison_modules.md new file mode 100644 index 000000000..2efd4a13e --- /dev/null +++ b/docs/docs-commands/prison_docs_command_05_prison_modules.md @@ -0,0 +1,37 @@ +### Prison Documentation +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +The Prison Modules command will list all modules and their current status. Modules cannot be enabled or disabled through this command. You would have to make manual changes to the configuration file `plugins/Prison/modules.yml`. + +## Permission: + +- `prison.modules` +- `prison.admin` + +## SubCommands: + +- `none` + +## How to use the command + +Just execute the command `/prison modules` + +### Command Format + +`/prison modules` + + +Example of `/prison modules` ran within the console: + +Command Example + + +Example of `plugins/Prison/modules.yml`: +Command Example + + + + +**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_06_prison_placeholders.md b/docs/docs-commands/prison_docs_command_06_prison_placeholders.md new file mode 100644 index 000000000..daa24b6e8 --- /dev/null +++ b/docs/docs-commands/prison_docs_command_06_prison_placeholders.md @@ -0,0 +1,41 @@ +### Prison Documentation +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +Show a list of Prison Placeholders available. + + +## Permission: + +- `prison.placeholder` + +## SubCommands: + +- `/prison placeholders list help` Shows a list of placeholders, including aliases. +- `/prison placeholders list` +- `/prison placeholders reload` Reload placeholders and register them. +- `/prison placeholders search help` Search for placeholders. +- `/prison placeholders search [playerName] [pageNumber] [patterns]` + - `playerName` is optional and is used for player related placeholders to fill in active details + - The search results can contain hundreds of results, so paging allows you to control what results are shown. + - The `patterns` can be multiple words or fragments. If more than one pattern is used, then all patterns must exist within a placeholder to be included in the result set. +- `/prison placeholders test help` Test a placeholder +- `/prison placeholders test [text]` + + +Command Example + + +## How to use the command + +Use the `/prison placeholders`. + + +### Command Format + +`/prison placeholders` + +See above subcommands for their use. + +**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_07_prison_reload.md b/docs/docs-commands/prison_docs_command_07_prison_reload.md new file mode 100644 index 000000000..b04b1125c --- /dev/null +++ b/docs/docs-commands/prison_docs_command_07_prison_reload.md @@ -0,0 +1,32 @@ +### Prison Documentation +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +Prison, on a whole, is unable to be reloaded. It is always safest to restart the server under most situations, otherwise corruption may occur. + +That said, placeholders are currently the only exception to that "rule". By issuing the command `\prison reload placeholders` it will regenerate the placeholder mappings and reregister with any of the active placeholder plugins that prison is integrated with, such as PlaceholderAPI. Reloading the placeholders is safe to run at any time. + +A couple of examples when you would need to use the reload command for placeholders: + * Added, changed the name of, or removed any mines or ranks + * Reloaded a placeholder plugin, which wipes out all of prison's registered plugins. + +## Permissions: + +- `prison.admin` +- `prison.reload` +- `prison.placeholder` + +## SubCommands: + +- `/prison reload placeholders` Regenerates all the placeholder mappings and reregisters them with the supported placeholder plugins. + +## How to use the command + +Use the command `/prison reload` for the list of subcommands. + +### Command Format + +`/prison reload` + +**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_09_prison_version.md b/docs/docs-commands/prison_docs_command_09_prison_version.md new file mode 100644 index 000000000..49fa7fdf6 --- /dev/null +++ b/docs/docs-commands/prison_docs_command_09_prison_version.md @@ -0,0 +1,40 @@ +### Prison Documentation +[Prison Documents - Table of Contents](../prison_docs_000_toc.md) + +## Description: + +Displays detailed information about Prison, especially about the versions of Prison, the platform (ie... Spigot, Paper, etc), and even the other plugins that are active. + +This view also includes detailed information on how prison is configured and what components and commands are active. + +This detailed information is very useful for debugging purposes if there are any issues with the environment. At server startup this information is included along with even more detailed information. If you are needing to get additional help with your prison environment, it is important to provide the other startup information too. + +## Permission: + +- `prison.admin` + +## SubCommands: + +- `none` + +## How to use the command + +Run the command: `/prison version` + +This is an example of the `/prison version` command. + +Command Example + +Upon startup of your server, there is additional important information that is displayed that could be very helpful in diagnosing any issues you may have with your server, or Prison itself. This is an example of what it could look like. + +Notice there are a few errors listed, since my test server has been setup with errors on purpose so as to ensure these error reporting features are functional. For example one rank has been setup with a currency that no longer exist, there are two ranks that are not associated with any ladders, and there is a block type that was detected that is not supported. + +Command Example + + + +### Command Format + +`/prison version` + +**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_1_prison.md b/docs/docs-commands/prison_docs_command_1_prison.md deleted file mode 100644 index 313bcdfd7..000000000 --- a/docs/docs-commands/prison_docs_command_1_prison.md +++ /dev/null @@ -1,36 +0,0 @@ -### Prison Documentation -[Prison Documents - Table of Contents](../prison_docs_000_toc.md) - -## Description: - -/Prison's the Main core command, by executing it you'll get a list of all the subcommands. - -**NOTE:** You can get some info about ALL subcommands or commands by adding the argument `help` at the end of it, for example `/prison help`. - -## Permission: - -- `prison.admin` - -## SubCommands: - -- [`/prison alerts`](prison_docs_command_2_prison_alerts.md) -- [`/prison autofeatures`](prison_docs_command_3_prison_autofeatures.md) -- [`/prison gui`](prison_docs_command_4_prison_gui.md) -- [`/prison modules`](prison_docs_command_5_prison_modules.md) -- [`/prison placeholders`](prison_docs_command_6_prison_placeholders.md) -- [`/prison reload`](prison_docs_command_7_prison_reload.md) -- [`/prison troubleshoot [name]`](prison_docs_command_8_troubleshoot.md) -- [`/prison version`](prison_docs_command_9_prison_version.md) - -## How to use the command - -Execute: -`/prison` -and all the subcommands will show up - -### Command Format - -`/prison [Arguments]` - -**END of the command INFO** - diff --git a/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md b/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md deleted file mode 100644 index 008131a66..000000000 --- a/docs/docs-commands/prison_docs_command_3_prison_autofeatures.md +++ /dev/null @@ -1,30 +0,0 @@ -### Prison Documentation -[Prison Documents - Table of Contents](../prison_docs_000_toc.md) - -## Description: - -Show a description of the AutoFeatures and some info about them. - -**NOTE:** You should enable in the **config.yml** the autofeatures first, then you can edit them from the `/prison gui` or the `autoFeaturesConfig.yml`. - -## Permissions: - -- `prison.admin` -- `prison.automanager` -- `prison.automanager.pickup` -- `prison.automanager.smelt` -- `prison.automanager.block` - -## SubCommands: - -- `none` - -## How to use the command - -Just execute the command himself `/prison autofeatures` - -### Command Format - -`/prison autofeatures` - -**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_5_prison_modules.md b/docs/docs-commands/prison_docs_command_5_prison_modules.md deleted file mode 100644 index 0eb3ac8b3..000000000 --- a/docs/docs-commands/prison_docs_command_5_prison_modules.md +++ /dev/null @@ -1,25 +0,0 @@ -### Prison Documentation -[Prison Documents - Table of Contents](../prison_docs_000_toc.md) - -## Description: - -Prison Modules command, will show a "status" for modules, like enabled or disabled. - -## Permission: - -- `prison.modules` -- `prison.admin` - -## SubCommands: - -- `none` - -## How to use the command - -Just execute the command himself `/prison modules` - -### Command Format - -`/prison modules` - -**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_6_prison_placeholders.md b/docs/docs-commands/prison_docs_command_6_prison_placeholders.md deleted file mode 100644 index bd6c71198..000000000 --- a/docs/docs-commands/prison_docs_command_6_prison_placeholders.md +++ /dev/null @@ -1,27 +0,0 @@ -### Prison Documentation -[Prison Documents - Table of Contents](../prison_docs_000_toc.md) - -## Description: - -Show a list of Prison Placeholders available at the moment you execute the command in the place you're. - -## Permission: - -- `prison.placeholder` - -## SubCommands: - -- `/prison placeholders list` Show a list of placeholders -- `/prison placeholders reload` Reload placeholders -- `/prison placeholders search [playerName] [pageNumber] [patterns]` Search placeholders for a player -- `/prison placeholders test [text]` Test a placeholder - -## How to use the command - -Execute `/prison placeholders` and add the `argument` you want at the end of it. - -### Command Format - -`/prison placeholders ` - -**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_7_prison_reload.md b/docs/docs-commands/prison_docs_command_7_prison_reload.md deleted file mode 100644 index d8bf06c6a..000000000 --- a/docs/docs-commands/prison_docs_command_7_prison_reload.md +++ /dev/null @@ -1,26 +0,0 @@ -### Prison Documentation -[Prison Documents - Table of Contents](../prison_docs_000_toc.md) - -## Description: - -Reload the Prison Plugin -> Show a list of reload commands for the plugin. - -## Permissions: - -- `prison.admin` -- `prison.reload` -- `prison.placeholder` - -## SubCommands: - -- `/prison reload placeholders` - -## How to use the command - -Execute `/prison reload` and add the argument you want at the end of it, for example `/prison reload placeholders` - -### Command Format - -`/prison reload ` - -**END of the command INFO** \ No newline at end of file diff --git a/docs/docs-commands/prison_docs_command_9_prison_version.md b/docs/docs-commands/prison_docs_command_9_prison_version.md deleted file mode 100644 index 3f2407ed1..000000000 --- a/docs/docs-commands/prison_docs_command_9_prison_version.md +++ /dev/null @@ -1,24 +0,0 @@ -### Prison Documentation -[Prison Documents - Table of Contents](../prison_docs_000_toc.md) - -## Description: - -Show many infos about prison and also some placeholders - -## Permission: - -- `prison.admin` - -## SubCommands: - -- `none` - -## How to use the command - -Run the command himself to use this, example: `/prison version` - -### Command Format - -`/prison version` - -**END of the command INFO** \ No newline at end of file diff --git a/docs/prison_docs_000_toc.md b/docs/prison_docs_000_toc.md index 9b4457d17..5df83e95c 100644 --- a/docs/prison_docs_000_toc.md +++ b/docs/prison_docs_000_toc.md @@ -41,14 +41,14 @@ **PRISON COMMANDS:** -- [/prison](docs-commands/prison_docs_command_1_prison.md) `prison.admin` -- [/prison alerts](docs-commands/prison_docs_command_2_prison_alerts.md) `prison.alerts` -- [/prison autofeatures](docs-commands/prison_docs_command_3_prison_autofeatures.md) `prison.admin` `prison.automanager` `prison.automanager.pickup` `prison.automanager.smelt` `prison.automanager.block` -- [/prison gui](docs-commands/prison_docs_command_4_prison_gui.md) `prison.gui` -- [/prison modules](docs-commands/prison_docs_command_5_prison_modules.md) `prison.modules` -- [/prison placeholders](docs-commands/prison_docs_command_6_prison_placeholders.md) `prison.placeholder` -- [/prison reload](docs-commands/prison_docs_command_7_prison_reload.md) `prison.reload` -- [/prison version](docs-commands/prison_docs_command_9_prison_version.md) `prison.admin` +- [/prison](docs-commands/prison_docs_command_01_prison.md) `prison.admin` +- [/prison alerts](docs-commands/prison_docs_command_02_prison_alerts.md) `prison.alerts` +- [/prison autofeatures](docs-commands/prison_docs_command_03_prison_autofeatures.md) `prison.admin` `prison.automanager` `prison.automanager.pickup` `prison.automanager.smelt` `prison.automanager.block` Plus custom permissions. +- [/prison gui](docs-commands/prison_docs_command_04_prison_gui.md) `prison.gui` +- [/prison modules](docs-commands/prison_docs_command_05_prison_modules.md) `prison.modules` +- [/prison placeholders](docs-commands/prison_docs_command_06_prison_placeholders.md) `prison.placeholder` +- [/prison reload](docs-commands/prison_docs_command_07_prison_reload.md) `prison.reload` +- [/prison version](docs-commands/prison_docs_command_09_prison_version.md) `prison.admin` **RANKS COMMANDS**: diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index bb5765496..040886c43 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -10,17 +10,25 @@ issues, and/or to serve as items that should be added, or fixed. # To Do Items - During Beta v3.2.2 -* **Add numeric abbreviations on rank costs** + + +* **Save the liner settings for each mine** +Currently is not saved and have to manually reissue each time. +Save all six faces and include pattern and if forced +Add command to regenerate, or reapply, the liners. +Add liner details to mines info + +* **DONE: Add numeric abbreviations on rank costs** K, M, B, T, Q, etc... New placeholder? Formatted? https://en.wikipedia.org/wiki/Metric_prefix Use Prefix Symbol column. * **ranks autoConfigure - Feature Ideas** -- Generate default blocks for all mines. -- Add perms for /mines tp - option for using EssentialsX warps instead: essentials.warps. -- Perm names: mines.tp., mines. +- DONE: Generate default blocks for all mines. +- DONE: Add perms for /mines tp +- DONE: Perm names: mines.tp., mines. * **Commands - Enhancement** From 21afe3d79a22b57ca0ba75fc3da4525fe190ff26 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 1 Nov 2020 17:49:56 -0500 Subject: [PATCH 172/243] Change the command /prison alerts so they can be ran from the console since it made no sense why the console was locked out from using them. Slight changed the information for /prison gui that shows that it could be preferred to configure the autofeatures. --- .../tech/mcprison/prison/PrisonCommand.java | 2 +- .../mcprison/prison/alerts/AlertCommands.java | 76 +++++++++++-------- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java b/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java index 1dcea36b7..117ea07e1 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/PrisonCommand.java @@ -649,7 +649,7 @@ public void autoFeaturesInformation(CommandSender sender) { display.text( "&7 Tool lore examples: Pickup, Pickup 7.13, Smelt 55, Block 75.123" ); display.text( "&a To configure modify plugin/Prison/autoFeaturesConfig.yml"); - display.text( "&a Or use &7/prison gui"); + display.text( "&a Or better yet, you can use the &7/prison gui"); List afs = AutoFeatures.permissions.getChildren(); StringBuilder sb = new StringBuilder(); diff --git a/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java b/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java index 66d6fa39f..3952ce63d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java +++ b/prison-core/src/main/java/tech/mcprison/prison/alerts/AlertCommands.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.alerts; +import java.util.ArrayList; import java.util.List; import tech.mcprison.prison.Prison; @@ -8,7 +9,6 @@ import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.output.BulletedListComponent; import tech.mcprison.prison.output.ChatDisplay; -import tech.mcprison.prison.output.LogLevel; import tech.mcprison.prison.output.Output; /** @@ -20,39 +20,53 @@ public AlertCommands() { Prison.get().getCommandHandler().registerCommands(this); } - @Command(identifier = "prison alerts", description = "Lists your alerts.", permissions = "prison.alerts") + @Command(identifier = "prison alerts", description = "Lists your alerts.", + permissions = "prison.alerts", onlyPlayers = false ) public void prisonAlertsCommand(CommandSender sender) { - if (!(sender instanceof Player)) { - Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, LogLevel.ERROR); - return; - } - Player player = (Player) sender; +// if (!(sender instanceof Player)) { +// Prison.get().getLocaleManager().getLocalizable("cantAsConsole") +// .sendTo(sender, LogLevel.ERROR); +// return; +// } + + List alerts = new ArrayList<>(); - ChatDisplay display = new ChatDisplay("Alerts"); + ChatDisplay display = new ChatDisplay("Alerts"); - List alerts = Alerts.getInstance().getAlertsFor(player.getUUID()); - if (alerts.size() == 0) { - Output.get().sendInfo(player, "You have no alerts."); - return; + BulletedListComponent.BulletedListBuilder builder = + new BulletedListComponent.BulletedListBuilder(); + + + if ((sender instanceof Player)) { + Player player = (Player) sender; + + alerts = Alerts.getInstance().getAlertsFor(player.getUUID()); } - BulletedListComponent.BulletedListBuilder builder = - new BulletedListComponent.BulletedListBuilder(); alerts.forEach(alert -> builder.add(alert.message)); display.addComponent(builder.build()); - display.text("&8Type /prison alerts clear to clear your alerts."); - display.text("&8Type /prison alerts clearall to clear everyone's alerts."); - - display.send(player); + if (alerts.size() == 0) { + Output.get().sendInfo(sender, "There are no alerts."); + } + else { + + display.text("&8Type /prison alerts clear to clear your alerts."); + display.text("&8Type /prison alerts clearall to clear everyone's alerts."); + + display.send(sender); + } } - @Command(identifier = "prison alerts clear", description = "Clears your alerts.", permissions = "prison.alerts.clear") + @Command(identifier = "prison alerts clear", description = "Clears your alerts.", + permissions = "prison.alerts.clear", onlyPlayers = false ) public void prisonAlertsClearCommand(CommandSender sender) { if (!(sender instanceof Player)) { - Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, LogLevel.ERROR); + + // If console, then clear all since there is no "Player" to use: + prisonAlertsClearAllCommand( sender ); +// Prison.get().getLocaleManager().getLocalizable("cantAsConsole") +// .sendTo(sender, LogLevel.ERROR); return; } Player player = (Player) sender; @@ -67,17 +81,19 @@ public void prisonAlertsClearCommand(CommandSender sender) { Output.get().sendInfo(player, "Your alerts have been cleared."); } - @Command(identifier = "prison alerts clearall", description = "Clears the alerts for the whole server.", permissions = "prison.alerts.clear.all") + @Command(identifier = "prison alerts clearall", + description = "Clears the alerts for the whole server.", + permissions = "prison.alerts.clear.all", onlyPlayers = false ) public void prisonAlertsClearAllCommand(CommandSender sender) { - if (!(sender instanceof Player)) { - Prison.get().getLocaleManager().getLocalizable("cantAsConsole") - .sendTo(sender, LogLevel.ERROR); - return; - } - Player player = (Player) sender; +// if (!(sender instanceof Player)) { +// Prison.get().getLocaleManager().getLocalizable("cantAsConsole") +// .sendTo(sender, LogLevel.ERROR); +// return; +// } +// Player player = (Player) sender; Alerts.getInstance().clearAll(); - Output.get().sendInfo(player, "All alerts have been cleared."); + Output.get().sendInfo(sender, "All alerts have been cleared."); } } From 5c55359e7a46cbc9e6253291312309bfa82969c5 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 1 Nov 2020 17:52:02 -0500 Subject: [PATCH 173/243] Updates to the IntegrationManager so the variable is more consistent and especially the message for WorldGuard integration is clear that it is not an error that it is not yet active. --- .../integration/IntegrationManager.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java index bfef8cbe0..bbf2e627a 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java @@ -593,12 +593,12 @@ public EconomyCurrencyIntegration getEconomyForCurrency(String currency) { return results; } - public String getIntegrationDetails( IntegrationType intType ) { + public String getIntegrationDetails( IntegrationType integrationType ) { StringBuilder sb = new StringBuilder(); Set keys = integrations.keySet(); for ( IntegrationType key : keys ) { - if ( key == intType ) { + if ( key == integrationType ) { sb.append( key.name() ); sb.append( ": [" ); @@ -642,23 +642,30 @@ public String getIntegrationDetails( IntegrationType intType ) { public List getIntegrationComponents() { List results = new ArrayList<>(); - for ( IntegrationType integType : IntegrationType.values() ) + for ( IntegrationType integrationType : IntegrationType.values() ) { - results.add( new TextComponent( String.format( "&7Integration Type: &3%s", integType.name() ) )); + results.add( new TextComponent( String.format( "&7Integration Type: &3%s", integrationType.name() ) )); // Generates the placeholder list for the /prison version command, printing // two placeholders per line. - if ( integType == IntegrationType.PLACEHOLDER ) { + if ( integrationType == IntegrationType.PLACEHOLDER ) { results.add( new TextComponent( " &7To list all or search for placeholders see: " + "&a/prison placeholders") ); // getPlaceholderTemplateList( results ); } - List plugins = getAllForType( integType ); + List plugins = getAllForType( integrationType ); - if ( plugins == null || plugins.size() == 0 ) { + if ( integrationType == IntegrationType.WORLDGUARD && + (plugins == null || plugins.size() == 0 ) ) { + results.add( new TextComponent( " &e&oWorldGuard integration has not been added " + + "to Prison yet.&3 WorldGuard can still be used normally since this " + + "is not an error." )); + } + else if ( plugins == null || plugins.size() == 0 ) { results.add( new TextComponent( " &e&onone" )); - } else { + } + else { for ( Integration plugin : plugins ) { String pluginUrl = plugin.getPluginSourceURL(); String msg = String.format( " &a%s &7<%s&7> %s", plugin.getDisplayName(), @@ -675,7 +682,7 @@ public List getIntegrationComponents() { results.add( new TextComponent( " " + altInfo )); } - if ( integType == IntegrationType.ECONOMY && + if ( integrationType == IntegrationType.ECONOMY && plugin instanceof EconomyCurrencyIntegration ) { EconomyCurrencyIntegration econ = (EconomyCurrencyIntegration) plugin; From 13b24f6057299adf485557f0c385125117ee9952 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 2 Nov 2020 01:06:22 -0500 Subject: [PATCH 174/243] Updates to a few documents to reflect some of the more recent updates to prison. --- changelog_v3.2.x.md | 11 +++ .../prison_docs_command_02_prison_alerts.md | 2 +- ...son_docs_command_42_ranks_autoconfigure.md | 25 +++++- .../prison_docs_101_setting_up_mines_04.png | Bin 27122 -> 29726 bytes docs/prison_docs_000_toc.md | 12 +++ docs/prison_docs_101_setting_up_mines.md | 83 +++++++++++++++++- docs/prison_docs_102_setting_up_ranks.md | 17 ++++ .../prison/mines/commands/MinesCommands.java | 7 +- .../mcprison/prison/mines/data/MineData.java | 2 +- 9 files changed, 149 insertions(+), 10 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index ab2a532cc..b513a922c 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,17 @@ that you need. ## tag v3.2.2-alpha.11 - 2020-10-31 +* **Update some docs and added a few screen prints.** +Updates to a few documents to reflect some of the more recent updates to prison. + + +* **Updates to the IntegrationManager** so the variable is more consistent and especially the message for WorldGuard integration is clear that it is not an error that it is not yet active. + + +* **Change the command /prison alerts so they can be ran from the console** since it made no sense why the console was locked out from using them. +Slight changed the information for /prison gui that shows that it could be preferred to configure the autofeatures. + + * **Changed the perms to lower case, specfically the mine/rank name. Should have been lower case.** diff --git a/docs/docs-commands/prison_docs_command_02_prison_alerts.md b/docs/docs-commands/prison_docs_command_02_prison_alerts.md index 3e2b64b56..5788ad6cd 100644 --- a/docs/docs-commands/prison_docs_command_02_prison_alerts.md +++ b/docs/docs-commands/prison_docs_command_02_prison_alerts.md @@ -12,7 +12,7 @@ Prison Alerts: you can clear a Prison Alert or All of them. One of the most freq ## SubCommands: - `/prison alerts clearall` clear all alerts -- `/prison alerts clear` clear an alert +- `/prison alerts clear` clear an alert that is specifically yours. ## How to use the command diff --git a/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md b/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md index 42507378e..293c2421e 100644 --- a/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md +++ b/docs/docs-commands/prison_docs_command_42_ranks_autoconfigure.md @@ -7,8 +7,29 @@ ## Description: -This command will execute a fast setup of the main Prison features, like Ranks from A to Z and virtual mines from A to Z -linked to their ranks, you'll need to setup their blocks and perimeters later with the /mines wand. +This command is only available when you first run Prison on your sever. It cannot be used if you already setup any ranks or mines because this could potentially cause conflicts. + +This new feature will provide a fast way to configure most of the core features of Prison, and it may be the preferred way to setup a new server. + + +Features provided: + - Setup all basic Ranks in the **default** ladder ranging from Rank **A** to Rank **Z**. + - Setup basic Rank Commands. Provides granting of permissions to that Rank (`mines.` and `mines.tp.`) and removing the ranks of the next higher rank so `/ranks demote` will work properly. + - Setup all mines, as virtual mines, from **A** to **Z**. + - Links all mines to the rank of the same name. + - Setup all blocks for all mines, using a list of blocks of increasing values. Mine A would have the lowest values of blocks, and mine Z would have the greatest value of blocks. All of these can be customized. + + +Once this command is ran, these setting can be used as is, or they can be farther customized to suite any need. + +The only requirement to creating a functional prison is to convert all of the virtual mines to physical mines. This is accomplished through the command `/mines set area `. + +Other simple tools to help customize the mines, are as follows: + + - `/mines set size ` This allows you to resize a mine without having to reselect it's area. + - `/mines set liner ` Wraps your mine with a patterned liner and inserts ladders along the edges. There are a number of different patterns to choose from, with more being added in the near future. + + ## SubCommands: diff --git a/docs/images/prison_docs_101_setting_up_mines_04.png b/docs/images/prison_docs_101_setting_up_mines_04.png index 86d70cec4060c7cd1e4fb80bcc617198b7d1c285..9ef30d619edf780b7100e5ebd3ce6d827cd67b7e 100644 GIT binary patch literal 29726 zcmeFZcUV*F_AVMl#ib&a2qMjn0U;{Vn=X|qprC-XpeP+;sG$Wch$Ix1UZYg$0@5K7 zAw)ok)Ci$SkX}OwB?NM2(6#s4zrFW8_x^X!^PE3;9x^jC=QqbUzA@hMj`y1(xAZi4 z_8i*-0)cq6G_M1^3AuHm z+kS1t_bQ}(Os z@tgC7jTQ$3Ums%o7JpcdRvFsp9&OPL$4_mF4k)ZN@ZvX@DkSEDrbSWqDF2}d{2DWA zEo)VU+$f3-$XN^UwR&hXrjKJjOI6ZB#EBFKXz2-W(65nXH*HVr6=vkq z^b?7ws?{&PhiUVquU}iSmi{xD>G$voJ@N#x0#QHdD{A`tGQiv*P+;J3!Zr}-&mhi+ z-O=w1l>L_^kT3UxKo@ptB7pC2K@9xH3IbLOGjtb^f#<(cJW>2?6dt*FV;SL7{TBB+ z8oWHt9>3>u3Yg5PcH6EGNu3ao$=0@lL8OeYwy@l=1@@S1Kz{d=<$o#fQ`^q>a!;O$<{h7 z3x3c1@`V1JpseZae&9JlpOdJFhUVcVFH-ujk~v{<$^||- z;~Q;_@B=@ABVl$Qs`4>lHZV(5C65J_PXSi4(`!w%DFerfMrD49YMSy zeE@!N`Gv5_Kka$MKnO6|onMAL@pnTTp!t2@(;CU&-b34O48-H_^MXL%jzohCovJQL zyOE!<@4o-ib@`HFvlEy*(Li@#xpaB%#NIC*yJQHGFGs=Q%!V&32-JH8BW~ma=4pfaie4rk3SZa`VV=nbr)(@v*a@F@9hw(e!X2-!? z_EpAT8?!04(>upQ@*XW`XUWc0YS=+gCPMatF{Ta8vS|8)ST#`3wu|5$iW9 zh_17*s36df5GEM9U-yuX3qGeY@yll@@9JgBa}TThoo2^S#4=Q2jkkGe($7d=@`{kp z9A;7PlLngTvy@RuEVW56RK{hT%X#N)VXJ&2auYC@-JiK&XyZ2rpNx`kO-`;=v>fS- zJCfPA=0LdhCT@1F6an*RGYwLuOEbwr5u4Q1mXb~)E_&)Q>K$w%w?@MUNzs2tOiXRz z>4^4?; zC3Wu7I!<%uNAaCKS}-&NaXc&h@yN~MXUZ(?s;FTDb7(->?N<~7WsxAZ)f`P_dd24` zh6@C8|1%9tK570?r&(?hvb5+%W0u%F*=X`xtNxsw#_-~r1ADQJ2r*RBS@CWqJ&_~a z(sZ&LOunr?1unLKE+DZ z1NI>TIJCMeO8^AA@}4u*pm%?wfk%D5heYrn9;rmu2f5ZX?E+mm^Mju>Q42FK`O>w* z3;g`Tkcg3z+%*!bFXild6m_NrkLl&rYNMsG|fG6O)nzM1~?lVSatDACsf8?r_ z>^uOv!UnD$2&++SAgycr$rQpBbq$u(&k*Q`77MYrT@0_U?UJycS3e8|)(}7O*~TVs5NLvTmB6)t5ghxu5lU#a7-(Dqa!uL}JaTA*+Q|R4N}D!S zD*aj76%>ei3adGniA5n+gaTuzi_bd1l}@oLgi@U}5t!c>sVg8*?GEW|uNU#R$(9!Y zL)|(-sC@5o^u%1q94PH~o!-`VR08 zuJ-m$uu)4G72C~`SZVB9n*q$f=vz0>74KIO8R@V;!i zeITzO%Cvy9cmg0 z@NX@L-|H7RLtUq^eW(4v@xcuSx1E^zl0(Lw<;;+Ew-NZGjY2;aT%=}zFP$`k4$(hz zJHKD+;gD;TKJdtPKltZMVf`1M!RHt%)}pX&kfJIVlV)_@Ue5?i$BGXm`;93T`{1J)<*`8E z6<;Oz&hnFu%O6E{Ybm1EtTU{6M*32d&Yw-ps`#M)hN4;+lh#;r%SF2fR+d>&?FUTq zFFVWf8LP72DDoLkULbTUI#s^s&Y{tViPX~ZouEJ=7PWR6LoqOq!UpBKr%+Q{rCnFt z5ThYi{LvKckxF^cmHjAMYMcm@APjLybb?1yZLvp2SK2#Wmp+%sEa<8kPeq2}NB?x+ zSam?#<_<0`>gb*YqSU1ekv`ngkpH=IcYNe5-5q=Mq&a!}@9E}93TFN3I5k;X+KrxN zELyE4v_45aRojR47@G^`UnwB>RSQE>YEqu4 zI5sP*;^X?e{nNalTYI-0s}{C-xg#n)-uGnl(X}-hvE_}`#6pc=0(M^cU{+L|oCx$` zdPwvXX?E&x#_HmqQF-uLA6ie)#QF9!VSg6vHf4l{GnJ;&qHpQAvzF!fAMK>N+H?wT zFa7FwUL*^t!Qckj{qkV{$grKAagYu>6q{cpQ7Ji0$<}7h5{Z}(Ugv|UsK8Y%XJWY1 zM^+Q(jq!u2s`s8eU^_(F=5i0-f}eeUW~W)Vn80CpO+U`1V6huKpSt<=E7z543z(HY z=->&hHyzlYO%H@Z3J!*u*+(5=x|I17$$31Piv`97H z7_6Y7?GM}G45oV&m1o)zB3X6s9?mrW!Yk~{hda%glvZm~_7~eV!jvrM_q%`lqW_5I z>+>Clie(1dMsytUi8qY|r>wPTUu|7-*7R#-xWTACW7!BIH^m5D>Ufv``$A@aO`3?b*^l!r0t1z-R zwX}LZuVyU$qQ7@u04MJ9!Ef>jS8ntZBw^vIY%9jLqSa5)TDS4IF-jw86jH#AU9 z;~(!ja3s2DbAE$>A3_3w&(&qaGiv4biFr7CKA(PjN#u|YZL%k5jXq)C?!{h69w=5t zB$q2^cZu=LSFj|90vIs1q>8%o@c<(tb?Ra?{t95^w>wZY5Q|DU%5>-Rm9eJH(2?iZ zWYIH!9LpFJlbVvI|H=)uo5`ogx<^JXdKtW}n2tYZ7_j!8{pEw&dfU)ZH8Q5OJ8P8% zrK3X}&;g$Q(z%B~Ao)*Fkx-a86 znzeWPoR8(YS4MTPtIV6@*s#4#bEY8BC&0sAv8Y-Go4wr8cUKdrDc% zBBTO=9`EOoqMWRT*L=kVG68b@8<@FnHLKE9akp%kf442EG2UUe5=m2D? zn;ad-uE=kau~?!rMu72P8>^AfjfGX_zSox_j2Ql8MCkdjn1U_2^qkovK*qkZ6L90Y zn*cmWIZmj(2Bf1vvF{oKKycg!`XndMDM@~pPruC}yaq9#X^ zWW)9{iW}So8_kYxJ+l@~?~AF;bl#Tlb~N5mEdMsH+Ib2mF`qp?^>I;(rZA~q*82j{ z1}4rIKoI!!<_VD143MO&Vg1OH@ou++HIAqttLygVio%CA>GFE&rODOvoreKkky&l0Xu4tbQCN_;X;>2b);cSTGAqFNAP#fReC{6*Iy^>ZN*L{r6)SsGq6P|%U+wP=# z$#n^U8iBY9tfm(V-ay!OGnTth>nXz*TYkjh+DE;Y@Z6j9*-UYPMrwvwoq%YbtVQUH zA&U>6c;4Fnvc~Gud&UsUT2FNc>}$tS;}&-{e&h94*+{IHH6x|tg%W(%QA54TAqxNv z23i6^{#<4-3Nc(!dMN{0wW^bRGIq8&tHRU13#c!rdjyW|z36Ajj4mDOIF) zshez>%+w@2(aGcKkcH^m5_RFXFsrkSwhPiz-P!hbJGqE1_Z5ZT!e3Db>!7OYPEfyk z&<8KUE4=pss1FSBkFQjLgd3}YVA%Ir4KH_2534dXS&FSjp2=@_PkcX4r= zNF4>s6)5IieuuhmO1bh`L(1gGt{(y{>MB8L0h2|%WAnpVgeDDhN~B`X_dNV!EIMFK z`$=~{038oIru;D5TgpW%J7GKRHQik3lh`T&^I!qvNR(T_@ZZfx)`e|Y=i{x_YfV4_ zo7riOdv$2VJI&B+?R)M5*pG|MXRoK2rAE*I+cQ5-*@h{8n)q~cN*E}4>OK{j#p!V` za1t-@5qQ>X->Z47c6^Aaf-YdV_oy!F0ckj}J@7xz`X}h1SwR(B!%NCJETB($xs#yb zK(=iC+RvKoCb}F7+dqeU^9#NCJbE+48vBkD4WKic?BHg*Cb$DbfI4ayiZ0ww>}H1`+6%q?TPP{!@O0^_bZA_(V` z*Bvc#6;9mOmWfw{+g?oDgi*eFF0DCJ7xq$LvhtI6$QNpv zvYi@LCqGqoN<7$np^5JWydklm!fih^7pu!{sIX9)B-D}+Dxb)J@ zu-`H~t*p`R<{Nndd7D3eru4c*7lwoN`JavkyM#NOAJjq<{WI>U+F!YB8E`k<|7gT# zV>r^8);fFds365rmxlElG{O1ET|w7JaY99f2EO8P?W&c0p^+Y?2zkw^{pe_&2hl4p zB$&@jST3|nCA~suWt=9!G^sfU6Syo^TXiyKq~21+*#%x-RB`Zc!xSEpNh$xh{3i{V zt>W74-+tb!KuaErlrbX0_)m|js?TLzApvOXX10R@T!pddft2R}J{z5(hoFIVqrjfK(;!%e3o;-zsn!ULggO^jBAWTtwb5eIavLV|AN#LHmJH~ z!;ZL%=HovoB6*^_vZIR)%`9{En33aD&>ryKiap<<%ZnmE;Ypn=~Vwr zn=3;4tGWN&`h_H+G!A@95Cg=y+24af+K;9sWht=lL@o}H2t3^DG>m>0oN_d&i9Q(? z+tQw!;Y(v#0@t8~Rz+(ZW3eU~t$S&S=`I`#q6`apuO`1@_boozrei2%O zW(&^xSJVKaFmT6zrU@?wp=ejnLz~AOxmFJ07V4Py%^5oa_XG686PTY}UkbURdjRxf zuV|iV<6V8w!~u@!i0bt9LvpL1iQT-+peZ0$Hxt>m0J~FRJK?>;Gi7h7v2+{bNBIIqh$a$kMvBpqX`N zzF}Z4t+#O;dOwR=cFHWPqWG!7>(O})?dD**b1 zqU)dq!bAN~7kW^+F752by`8X%Qqh?p!D)zb?Wik)AtBtuG1b+}SuYTFx7wMc9 z>EA`kL}tHAe_P^luuXLeG_v!*Ot3QwK~#t1rVpcym7;*rUICsRzzjR30vtz}A7?KP zId%=?7G4bA{^{tJ2kR($-+K)f^_Ku0zx8{*EX|u;p}jVJVWR-y&U5{IqkGr#v6eHv zqoloso_D_d%GpUvF_9#uy3Oa7L5EfRHY+R6k5?x6z5M3R;UkMGPW91wx@Cqug}%Eg z(M%p0&3IDb=fl~8pcfqf;pAZAc=)1{4lM&%B@cLYL-TX0x^{GfEpdiIY&plJlq+!@MSrmlQ369=jfOt&8@}=RAaSsf55^83s8!-ndw8F%Z*c3ZIa=bXyn` zp+cYqa9z>)Jt(-z(`B;}g8=SQM|^brcyr0m8Sj#`10Kb-Of%LH=z{t`Vt+H#lI>mT zN5saw_9-kYwo&3CG>?aaq0ujZ`!RRe7|j3RU(r1`e}9C%E3j>gQ0|vAjG_W2c)Rbf z8G97q3S9M@!hbG7G4^x}<){@GKsnn1h4(%dRaIbPnzwOUso0Qiv>g<>i?ix9>MATB z2$BfZLNywn0=z1GMaSG&8u4JfmJU&LoEI?US9<$&%})A)(vo1Og;2Bh-`bH__V z2|Vjf08+YC_HLe z&8|My{)>AA4HsU@C#ju8nB1?@M!c5%seGDxxe%BB!(slFH9}`2cLM}^`{Z}IlFxF8 zk7k~8JpVH{bn0`}lJ1i*YhSbxWvcf+TFh~m{#hNt79Ff6&()R&k;lS{> zp8j{(uG^rF1@(@?GI$@o>4+$hJbxszv2pzZ1>!^|`1ub&T&kqPH?tvGEbNQf`G#n! z^PI*uE5*8-Q_1!Vm~xAw7n?gi2cbZLrkaTPoAn~c2gbq>^d!i0&LIwMVK~Y^FHR`I ze=_75dYpJ?0^mJ&|L6R^9gl=payrwMA7wV}>EHGFMZF6LmwbLv$d?t7=IPNl6Bvos z>nK($S!q7l^5T_Wi4e&9Suf;k$5K{@$ygU8YXPF_M&E!TohH$xN4z`YOWL%oEEVQy}<~|N0t;qMs+% zT;|4mB1m$3K9(DQOgelhb19*6eVAY|ZEG9r(kCvJm-ljXG?y^ed)fnSKkoDpQrx~q z#JqKQm=Fc=xIY)!{qe7{>dX31M1Um587oL2|;@-2N6Ha-D_$AIN#mF6G?TZ z+?BkVvayEs!v)Xojn*69sjI8K z^6#Z)QD2Nit=Al;U+B~LX3M+o*(FCNd;H1W3(m zQal!&JtxT4GTRWoE0cwMqYg0BOS#=#@ay+ITSHC?hC)(^ewz#(ZSxTK2MT*ixTfis zy7$-M0~oT1)in*5%WW6-_qL*+j%xV1#TxjT=n z2e7@mEFZMlc-QNuBs$t8oY$AJRO6FcW^H)t)KQECaY#686~~xXWk;5eg|jx(^!->x z5BI1f`cC`{p{W^BN<~&hss8Cefv4i52X4`fEndW3xN4WEe-qA zP-OsQ1u}#*4~q67E_A8*Dw^x&k(snPO!gus_{O*OUU2&8lIG*#RD`nl(l1yZ*9AQ4ra% z&5FuN?|wiUZFd^-aE@34nqQrh2e||P*u@Fw7gvFDH*pM!7R0$2_%S(msr&0X`F<-j z6>Zwv|NX&{>hO`ULV$igwI6ht7id!)1^UA@9MGs;6vjO!Vv`PT4IkjWfNBPDQD96L zK&znL27Wt!@Qd;T|K3yv>;W`_t;OsD%6OJGnT zON?n~Y!6`0t|rJzyS0c4v+9W9?8(a5Kc@!cNq*xo7UP4DJuNyuaubRM_y_l7+k*@N znh?mbr)&dL;^Wsk`qfmA8|ly>(jG0MN#9xPg|%LlOm7xl1OMG^Obs=8zEZwodG!xH z+R}#`?>x?emJV-W;6{*&TQ{tBF$9z0r+d5M3iDaP$^e(HeOBebI%ujoXl;O$@*Lu2TH zrSMw-!~o1%GOWJ@+JEs%*V!kX2hiLTmvnWqZLX^iaA#Kfn4!fE3bM6Td==$xsV2+z zLmLN{_T42%uE>V9gku*YGlyTQ!s~~F{OTmkhRrB8)Bw_W_OWW3NsC>EiW7mNl zTQ$cBf4T6`J7~?C8{(a^w4QAQ<>vle;y5X~^XdotnOs$0*|s~5<;My188b@es_3|v zSnK${j;l3(map<%a%W8dHOY=`e=Vuj4Qd)K$e8?ouk$v~oA$k)Rl6u)i|98D`ziP3 z>ecR$R(SII_2S{1xGKpE`4@5J`J7kg(Wr4~Wqlb#}MUk$_Ls^MLYZ)1TNn)PK` zGUk}gLrh=!MNs;t z@~*$vzc7=w{{Y{A#<#$724qNrTO>nmdl|P$H!tYhRwcRBqd{)}jsMFv%;WcKjb9KV zmgn<=K3(1d^DrPZhvuh^q){&3yYI~QrqG8y%(kHtgkUi(TJi(K8h?2`7lVGsYS8b}{1Z^WKCLD>rX9N>?WI;z z;kYp~)1hld2#V&22ui;zC#L5i&fW`eQ`>ybp;t{dWt$Vt_}^fQOQtikDB-z0B3e0t}lCf zEGB`ukM8}wP`pZ)`j+5np3mGv6bP~WQh75-M>3{d>U#STi>Y&8J(K*H#WacDdebdV z_23z!kJwJ|5Q0_3?^Rnm@~P^3au#xFU=}Xbe3(EaHP(6BuUso*9&Ir;lk-E1mG7rj zQn@@+Zo$Dhu#05aSB+6~x0Ctm&g_@0O5Zorv12Q_*+XT&EDp2~fFQCAhPF|huHAD( z&s#(+UYmi1p-O#z@W?!W4rrO;NO+W1i0$j}t7!|WA4G@-ton6;hdnq>kLb5cx(#g( zG3dV|I*ajM8<*mJ?vseiuYAlDP;S)DxR2)T&ua6f2DMDO86NqgbT9&0^e4+ z`3e=e@(+}T+yGD-Qh5*TH%fyl)5@N#g%+GHJd5aGK1B_pHa)G}EYgV5yirpo6eaKQZHqmdE^nf)W!`NZ|d_hq$c z=NPdBZB+{3DQ@RQH~>sL7-FenoFO_V+XKr)mR$-MS$cpFwaQh4?B|5kU-T+`nqIK- zR4y?do>p6x5-`wymYgDl0ibL8p+}-o z#bzZ_!f>M#96Qu!V($u&*l)3%rrPCo0!1qBRVXcE{NT4?6F3z~fS?+fYi)4IuF0VDv6qoz`bp$?cDR$Li6aNCwJz7IK)(xmjK#zYHy|jlZXOH=+ zsjmE}H6x6T1f!NKPq&WX!<=%|A%j~DF=ZYAD*f1^=70*!9v$$A9!}br`PozN79mPu zs;p@~NHi_lYUYRK?%eiIW3TJ|Vp1i~_u*b;`{}tt(xK7dCP`{U}x&-8eS6je$ZX3tc5?gUS9m^3k zUgY>E&@xGJmRgB!&G1tzOQ1JT$Mr3WGnGdABkEv-#Q}gQokLszOcU)IDMM+b86TE8 z9$iMc6aHpUSTS5~wWU+nDshtQ4C}4~EXo!! z25?)XyJ@W?N0jS3t>);F)=gJnSeaZLcv!nmFiR$Hram7=dgQ;bI=>&(36y{=s^tci z0+6bnQX{mC(qlPzAm{~7g8t%xhc~FsB#D_d2c^LoXnA@?e!vdUmAEai3^>NZjxBbO zlW>-AbMWtfR^|Z8aKEJ&8pN{*i+fTgp@5q4-30}RlmIGTg#(`7-AYI1I)5b^Spb6t z9Z$Q=M=BrkF)DRgYO+p_hA-dUOJ8<#Sc~p~R2Pg^zt0RWT^w{C!2z;qSOfW=$S#S>Z9nF zJ~hr`%4;mZF|M8jZtD{cA!K~;J}ws(5aH1RCbzzuB=f42w=VmsBre;Y1QrQX@0kDt z<(*e8fN7!ZDLtVu8OmhVHm-RBg1OCaRvu>a$~`yMx-S6~`(1Xq^I0{lJ=w($7$j32 z(0u#TP0Y@8_Kj!2?rjVaZsP32d{BYDy~=>HrNWBa=-)(lTc-FI@pncPm5^xc0r$Hq zIn@GRb9B1a@vXc^!utH67YGz^$DpQo63xVw#;B`n#D`I>40Ez6xSn15e6L1%9J*FM z3(jD3dc@Rmc&XgmK4j$qK|TLUbLXe^@iEx??{ep{sPu{**5^Tiyi-uLy&VKRlL!>~4qHw##Xg-eJb64BOVtgY5L;Jmst=P1Atm`6_X6b5S$2 zTH^aV^YY$zgz|i)EVWPh52s9=B=EQ`B8UC}#K-FJgkG%S*x{MJ2G>?MgpT-8^`tN? zre*ajHb`)s@;@}<9p2rlMaijU0ZVh2^1JHS^#C2!%RVp^|6Ecl_Hb;^(O6q^NyipU zw%Lf(xnDZ*LjAHYQcCro<}tPq7uZ3goU#E}3f2w)R-|n|{P_WU-o$h}UpQL-^}TUc zCZLda1$e~|7JqQWr$DoC*qWo|`)}nm0Vpp>U;7s|xC0i7Mgn~1GF}x7e6_{7wG_C) zg*LK=7R9(h-vA<7z@LF>u^L?Do@8%K@cXv0h|mFUpk)Fw{H4i!Bo14vlBmoj{_U8p z4es(v1n zC3fUgIkviDw55GqG*9(7pJ>G;$P}6EM_H{@Cfp5RH218zD%h)xzV`8t8VN$KXvI_e z`s=y1DV?wou_j*-=ntS{3dpa!{BP}d_1dam#Y3EL@1RqYj-{qv>S5R7S62k#o8IPa z`9tB0s^UL4X4$nKs_4OM4o zOaGqbp<_cX^jp!gRZK8sk;l~@`B@gIylR8*r(X1G0qeW$#<7ZO?7UP8H>x`Zu2mk> zdPQmsdgvty0$Bkf4-kq*bw~Wa7W55z;VaMyo@;KS?gyNXt>=(Z!lb+V+-Owq<$PyD zRs{Vn@~`T2p|hFK*;ghD+h)O5dCOv8)f|Ll$#2TPTf8)63$V+y`3!fnRpg7{ZZ6>wTK zxfpQAB0)K2M{I-s#`Q#6#W0`#gQ; zT4zfZ@x_&=@u{SsxU!ue+wT8#QGEB+8$4INm;!A7Nj&0~bF!^zzd?f2djE?PwR3># zhRp2k%}6Xm@0E~v;JxNhurzi8(l>wU2L0%Els)heek=aP-wY)V*^~Dg=Eys zc?vLxy#2#wrxvO{0Vb`PMO7P-6hV|JHx9;(J)?w$v)A7k7oZCv?{{@qPw zA;!hFk{Y(uI4 zO$E8_@xN7&Z(I&KTo7CzPB=U{NgbL~emz*xFqEuf77u^b?YnvKAl9ya;idl$w`GQBOSLz-d70gSo71RyA z^kT6^n)?OQ&dar#RyL=ts#aC@_`_OBVu$F9qFN6u?;ENwIV}K3*zBG#=7`$swM;rB zBGy>bu~A6A$?HDgLGGUMl@`&#A-qqbJd1To?wD;C#x)fz*R8Ssz;d&)Wgzqs!}G4q zCZMk{zM?W{6!w!IUG60%c*^e!lY(=pw(NU+uQHroHX=DXG%)P(grnC6p%Bl+GIPO0 znQaL===iCzmKLB#?&7YCM@>{Zm#L-C@O?m?w5W_49eru<8(kf2pmtOh$ew?-8<2DV zTF9~|vi1(4>mw=+SYlYYn4#`a_h~Sccz=^oYCGmkdRJmU-dYm#Xq#%vw30!8KRX6Y zR)sc`_Xx~wd51CxUvXb=kYv)|-^~~4#E1iE?Mr&yFYJ;J3>n3bQNkEaEkzj~s*&*Z z8nLa~_c7mwBWi$lq)13~d1}&|ah+5BGB5Cv`|jos(&2-)NwIV3o89!j!q^OUGQ>q3 zkE%Qg*$;%a^*MgIg05+CLN2*Yb5`1w(?gsar#j$!Z5HV+d4q-tQ)zj_uL_T+KnJrl zjqRG(PLGd|Xd@IxO#RR1WLmK3{%)dDU(ed}XKWU~;(a%A+6339z{gP>!7}Q>g()o? z=E?yDLX2z0;*Up07xRiuYkz|7`#x4(2(6;kv{g$PvMIJ*!n0FTzgEWolLqxpH6(Z~60Up1*$D_DPSHhfKvy^+9^)q<1w3o1m>O96^ zfhwtakxWY4bd_b}W_eaczJ;(Qf7~HJ&tw}Xz?kZ~ycFDyhpKA()xdQ(G_U*F0nLGY#g$V3ArK)Vxugn+y zycoq5x^s(Y49+%-v*}0)%I2^Pc zT@gQ~l3yFXdAX;v79NnRApRt)zn%B0ck}Nb9-ijc&#w%!J|lxQqBu_LPnzTcLKQEI zTztNo@DE7&^0iwjuD`gJ)rU-ij@Par>DK3kN4D$PLld&Ob@@`ZQH8g*m7U{mta_v_F}^d(8Fzm><0oV zFsYG~{9au{vcc&$Nni#7*__MBo8>;$__4E0%uo(ovR0F8`S{-IZ`SVVOirx5gVtJv4*-h$KL-a*Y70hB42e0#2My4TOYUo$)4 z8oQjCWw#VXnVS4wIC%T6BieXIIH9X$g3dSU-_@O-$8c6!wkAc;rp|Rv1!zTurg}fo zWj+B1192B<(E*MkI6c1*FpXC%3?)cTpU7d%Tp$EhH7XhV+bzz=eSPp?@o5&sCBC3g zl`Ue8rcA+wFiOn(fj--JZ1GZnq2zjorud=CHW@yt*>+a$QSc&-UI(xbJ0%OVsP?DSUd~t#U|X z@InID4xZl*x#10~`9nCI;HZ_^-+6jsjXLyTW?=cY}91 zN4G?iLdQC={$0ZE#SuOfF#o81z=+i4dh+4pcK-!Wt`g21p5ceDD=Yawlwhten5_nE zS`55$x!{B$*Z6$nMivYmQJ&`(+@b+_4a-9=M3$-Cpp=dRaHfiGmnivlSL3wl(s1l3 z*@zT;)gu(5dZilZ9{>%A8ZJ#*`*B$5A&y+SX>cT69&l=2j#IA^7$JQ5D^5o{rh$!r zTbuH)*U!j zHg(lFH`X8VSP(5qpfJfi8}l`|Mo$l<#jpDd;a5w_Bt{#Ps4aW>jXY~grwL~KsR6~j zm{S?=5|@uiK5<&l;9n2RV!j$7pQ*+a5-Fj8hb_6m`ZiwWs|qtK9aX4W<-29#!Zuz} zZfVQjjpSA-9Hd9QG(VEo?eGN*pN7e;1U&G*XbID(UdX&A!SNy@G)1IS7cC|jf!WAy zFErwn7BWm)7=4R@1m|WC`2Tyv<|zG^BtS5>;=smTy?7xgs`Ri=L<@6O>4)8YDn_X0j-V1bu#oGYhn&8 z7abudY|3GT0RnRLgH55VCM%;N2_b`Qi2jHPz`^J0gL+TTdM0l4#{dfC&Ue`AN{xQN z{xbCO=J@zKD{phVb@m@9;~wWCy)R!Z6!WrBSF7?+A83~X2Dj(0epOa8w1DmKLuP8M zsPJ6VhZ|J}12Wef7j0t=02aM%V%#$w8H}166G3bMz~Ie7q-YG;##m*-l<{*Le{*BU zFqw1h#Py*RYMJM-ZgAPJKE2kN^J#Ww|B|(r9#7wzc>ZCN!4do)_1Or9^WXgA7nyrl z|A6H}8FC;vi5XGMsbT(I${-+4(13s10nl(s*_sHW5H8TC>jqo2WIboIePBpBz)A+4 zJk#lhRqmM^sa{kE)DSzKsHVBN$1;f4lIqkjfY#i-z21$cT$%QME|F*&+91dSCf6;^zKHu}}JRYNRMw9idJnkC&GEg@j=&G^r z@ro!F{q^YsmjtJn{FgoTf3GrsePN(Yd!YZZN)GpykHIK=ucXxLmN~pE^X{lMu&rKG z9Aeq)ex{c%|5i};!3Tg2`P_cljD)J$+-f0FM#$^=!WM_0g4NMMG?O!E5cZ4gP-Nn;Fzl{U>J0-$XwjPeu+*6hSD#G$?(k4D4GlcI*> zv4SrF;tXV(iM;s2s8eDkWR(4woDTQ4k=O5^M=jQ|9b&1v(<7fa{GZCP1yLWp*A+*V zvY7W}N`Tj(_~U&z^xrpe0v$4qG<2`L>XRgV+w$0N{*OJ|#)inb{IoRed(1f41CCh1 zsGSf0>BZMQPF>`Cmt*x$?hhElbvjt?sLse0J)&o0{6lW<)o6E!vq4QR^ZUQP0-_wJ z8J#kDo9M-ajI~~oP)Og z-ng*px0khObyL<2n>b_)b@|Bs42RsimujI63X}!qmn1Y4M5k?9bLZ#(DW)BHO<9*Dg>8c~>NHi#{vH zbY?It0R~T^Iy3LrT!!;s`Sy2?j{ViKEj@E};WPwi=!7okB{u1zeVzYt(wcVVlmE!m zDJV!k)*d=6=kmR-U)~`Y2j#o$4@e5qlTC2d^uH zx+?U#HcRgXF<3H-$4G5H#{zT}=mu}mbm{ey4pw*CpOp*V%wy7)2Of5-jCW%xF54a| z4I1I>0J5VQ@8uui^tKA-?{n?d&!u>0SnK?t(Cnp{5&2S%*dw*U=a<&QTVOyFJbY(E zo6lam!xkTwrkQ7_mIc9$ta?D_d>n~SJc^X`X%p3yA@e9PbObhxYo=o^*y)$tlA6eO4v5BPTBgDq>MoZbDYw~oy0VV0P2zmVFyZuLEr_JHB&rtcY$rEM}GPZ+<*vUNtmN8@NQ|J+fzUN7+S#_HD#_s zS<7)$gelbGwxXFbXLBAz@xn&x)l!c>|>kPFb`Y}vn^e7B*`20U&=HVQvg_J zy`u$N^ZQSt&9CVE+1|56M{8Q2XJyM*!S@k_R;ba@w&`<3#PaJf0%kF~?opKb7CI)F z$g16@6ji(~Fe=Z`=aKCa+b&6@dPx7Ty1qT0>GuC$x60iut%IV_>f^qXgi6S1I@~2i zLQ)MQog8K%%xNl>no|c+i4l_H5F3V(W_MId7{)L;&dji3Z2MiC?)!6p9=~t@viEhp z57+y3y95dOB9v!Mb*K9gYWf2De|8c4VM^C zG1N2=>g7gE9 z!O=uU`&-Bjx=X+`>1+O0*XrBmlhHu(4mFaUiD`nEBq~x(VDGzlZgyb_Ja2Tv*L*Cr zrh3W&Q~ZkKWwHewl;$rf*`O-US##yJCa_BYI&=5H+ium{cbxlKQf8Sdlgqg_rFnc~ z(?NsDIJ%(jY=qFi%%jW28=KpW03H2^cHEebpXP_Q((s89xeS{gXIx=n^j=CV3=KE? zhVKjKfEE`wI;vkO2$z-2e_=Wp*Vv~<U)l@?_gbIj6_lwwo3VyQQwt-O-}(G&P@PFIhx8AaRLgQ zkA|Ks)T89KWLb2>HZ==+r|uk1o(IGupzR1BTQdv?aly-B^jLDFPW6-81qMoT?T~t1 zAJ$}Hmr3o0psIm(Owk;9T9EBwYq*KiuFlv+i4}GlQ`kHd(;n)Kg@;X!E-q)xVx;sR z&~%G}VWW=KP*U2Q6}ElK4%pIpo&S9*4NnU#qghh!%V_`{)3lOaF_ zGfWW7YEjrQbQMPk6r@YqLJ=- zV#ETFllJhkjr(6>@}?SY@hjMh)hB%2X6pvRIp&fU93sqaRa0wcqHRr-wp6pWvF!@{ z@fs@g(ArANL`9A&Sh4^*dx{Zhb#7F*=1zH?yzpirPeYS2EI9ImVWp9pHakezTPXa{ zq&If2=Tum$UYa5#ycZ2{L%E*`Tjnn9sb&6IH6Rr|N!RV6dAW<-BXWeEe#P3Q}V+u!Mf%aj(uu!Hy=p_Kp=|3g>5EA zwyE;P^Y1d6InKT6CMR&@;u)J78nS-X)*lmshYwU%`(t+n-RbJKOwn~3jY6&oZEP8m zxL16_ZSMc~h+abSoNMQ5xayTM+BFAb@fjrG8m96#j2fY-%Umx>;AY^37FJtaep&w_ z!#0-6L_9zZTfv;v|NZ}Nj8cg;vb;+i$9h^QVO<$0M}tkhI;iwk5b*v1V*MpjefV@V zd<-=a!Q!2O*8FY(l|pFd`z?JRneBU%qV>*Xjf}diRBmXaBHVvC5FoT)KueXgyqLHO z2o1r1Bc*6qnCIwIT7?#fDuCtp|JUkEvV+-87UDN1q|vGKDB)%S?_D{q!uKv7v4zK6?=0M6;&}T^(5DBj(_5!~W}AE?@1A zium`K@2+A^M71%Zsdmjm71XzHY9XJWG93nEGQ{xnfenewL-Vb%nm&c`JG1hSMT54P zKO@$w`61JO`43=RNn~HO1!WL1e;;u7!t;gDV_3OCd&8L{!3}T^T2=dYh33D`spkIO z3JIF8Z+=6^ZBt$xM6xn^6s~a)z#zmzEcb}%Hs5Nki6IulY)OyXJXLg)u5zON9#iR@ z%@LO)bX@Xf*JjQsN_l)+Fz3 zo`ee`c5A{qVFA-Il{v6|)@>U{$5!sn+NCM9XB$51+3BQh{*g9GUs$@yQnQRbovs%Z zilN834{k{W@xITzm$t|+{!1iI&?Cs+dKw6x1>bM|+%DtwC*3%4Xc6WOK5|r{P(<5c zGk@n6!c-QBYk^rDa^7Gv0@4oQeFBliEMFsaYL%=6elG@!=>2_Sek8~o2Af*7*3VER%P8? zMJR}tT*=vIhiP?5hGV z-u&ml=FjW%5#2)EY7vJZe5iafwy?-AlqE<%Vp9>K;TC$>t)Tg#rcW`U6sfdCu>WzQ z@!AyG*$BA(;-`g=j0r=2QcHCq)EM+68r~0yUK-N;Zz?K{y_naJT#WtSxuo6G#na$a zsmxaiar1K>?GWd-Z~XK&1PoO;?5bI~)&E;VpUrQz8iz=Q2;BK4sP|kW*GV zBoj>>UYr;l8QN=Me#61W&D!@Zx!cwT?lGvZaMJPFrjgC8gV=cBfwDxt2MGaFB7n^P zBxaW$X{sz8-6|KOscmr6e`b#Q1{0W*vqfwxpgO8^t^S&8Hk$bqI~8w?qj)Xyl}- zUjz5;|CUsPMUGot)Unol)>Zfg>#O~kIj?gE=$WLVqTPA3a#p^J-Kn%wDtTX>z36ZImh#n+vMgJi^uq+4&fT1ix<)d7JQ7~!_*B=C)(is;M z!FK$;N*cTp72GUXmge|l19AEuZSZ*Errzkps0Tb3hKh=Ur|$2`C3N0V!1%z;?#R$^3s3eSUb4wblK&#H@0M`J1YjEd!P02)pOl^@&&9;v^!bF2 z1HQaq)c#-d$g|`Xui%1u&Mj(j+0Q?qyq2323!s0(IRQYI(F@w_#B$Tn_Wjo;Z2o=F zu-8KeTo4j#q2^GnRC)_XZ--pm#wk;$WO)7#>7sOAtnDE!-O?rNomr}`j;h|+4qVU^ zMWs&ln_U%9>7{5_)2!{BE@=$`>A<;A_Xx-WxPMD%_Lo&nik*q6Rl2ai~DMVJxL2*Pds zkzj|zt5N8;y(N+P-IWAKO`V)|Tl8&w!^ZmaKLio)m(2o!90(uo8DdSJ1qTR~`M5X} zEyreOS-ez?+9pkHZZ9%FjhP<|->oSEtmZ1?yN9pLg%~#mH48g@-bZ_6ul#mquC+k; zrNsH&D8i9|dyDRz78SoFjx4J3Gm~M`=hjv8s3859cNPwOdZ>|!;(BNm!;5#5H^)JKy6%8*KN)h9UtF4G~KnxYVf@FWG(ht zTctP*84aSgRDOO_vIm>w+mIBYHK_y^k0RH!!%4_-B2RQx(K_r+uj4B9DHIGnSZ(NR zz&>@Mlb1KcJloQ@NJ@VHg5ie1tu%O>4JdHh+YE^tol34NHwV6O$jfo>Sq9PswLx4t zRS|q1SO36~{vW$AsqoR%RicMn!_vEiB^G203%!y<((@uv4Xo5cnWxhZvUs2RY!?ql zwjSCIF_LPk+l#I+rK7Z{Da^4<;U4zggLS$tijfE>6WD4px=8>zi|e#^; zlDZXS-K$6~{4M3WY#+8jA?20!@N|KwNcG1;}iHmB-B5r8fGn32Czs;@1zbv1M5YfWiv$^K}@{!8A;pHDLNG z_T2&0B1s&|M&->WFHlq}7w#=@CX%4uf7}Q)tlxqfFTb$P8eR0wFW&f`_ILqgV7KZn_H$!iwrzzglyG{6D`TTsUvPcopaWlD0Ax z1vhU^{IZ{7Qt;nt!ow@oq7A{h7eGBvDtqsST{8PY#h9b8Bu~)-;Vm+J9yts`1Z8*= zKCoVqLy*p}RQRBQc}MiM>0rPa`f;ugomcea72x)ZyHlCKjKg*Jj~!z5>h$mt;L91Z zMsp&ihK>9s{UCNW9eUh%#AvCbwdZ$q4YdOT6mIE1_22^ZpugnOqME;Qla7FhDREEv zK7-`da0Gqo(0ihM4=Q5KQp_*ji`1M@3Hv@U7WK7M9yl#ZZ+rpIqYKrjY83!C3?3uU zC}-m`q9-507t-BGB_Y2d-OKODe^^t)emK*F0l`a-9ahm_BvDOWBllbp2J8A{AE7gq|)r&*!Z9Ir8Qvk2W0{^`(89 z*lxiwY`Rx|BErW$9xsw>o2zV1a9<9sD1(*;p1&e`%Kw~4b(Ht+M(GchdMe#qx6}%S zvj&d)R==5!jHmPzR=81_bAJJ{RQ|B5yD!lsuK2*;SqC4}E+{DfKz|)ro?0`HyD>PC z?Tn>2?Y$ijxFr`zQx(hI3a`GXk?)+Vkfg}?ni8nx>cL7?^o4_qD*>R*s zuoK!r4LZuj{ziAdZxG~I_~ZI2oEzuneEiJ@NQrZnVxyB{V#R{*({BKj{Kv!tNJESd zgx`OXfVqKm({wrJc5cFFcXnOC-oycseVv8$g>49FbU=+>m^mRX9W!({iYx<`9a54Lj$rE_0^`0_;ku7JUI$>4 zptGgUy8A8xSDpeW@ToIBh%OUG?kXlM&S21^4rfiG~7qGh@mpaM%ib3tH%7zELJsB(m{h=S|z9ORx>8H zE8pV!KU0KWHZ$ulH1cY7lNusGRnn^>qllq@VYX2$eJ7>D6gP?d+oa3ui9hkh+jVFX zTj-ic7FB#f2=)mG7LLs;g=Y(|28P9wtjINj2ITE(dRnM-d!g$3;Nu5~AJm#Hd6@)3 zM=c%6l7kD&aLEU1!f0Mddb;-UUg#9Mt7%jC(|wCnWFgRlz`cn}iMLRNqO7H+vSD69VPT%EZp8 zp$HWtGzlr(w!69LCwFPmM6nJA1`sOkYJS71QU-bl5r~A8xwj{QT#R|75h9)aT5s z*Tu)wDpyL&`KVL94D$&I5@QxaH0hqDkR&hVe<8!WgqZ!5sL4P;z(2NB6=~et#vk-) zD(7pUSZu(`lKGhz>LN3v?yE-ntgOp4Ko60ZTNNf1G@Ricq|=}IJNi55CchYa;0G#a z9umYoWyUp@5lo4f5X{eb^!X{fDnOXd@X(bWdNh>Pa#X3Ly8j5(MOd|z}uXf2Q zuP>xKU?JT&=_aJmtI2p-GDzr&dn?Mt(z=5Hv{-)-8x&0iA1t6qUVn#r?i@v4!zBP; z-5^X8X+LP}IY$?bW>)`#uc(IR^H3cwJxVp4`f9%xyNKyem80J7xDX9CGF0vIcH)D2 z-TUfO_`@kN4uoQ@a7L9miT9dL&qFAM)6&MpR~G1o)f0zDLRSnu4rL7|DjJG|Xj9~G z+ZQ%SQu87qv*h6oR%h%M+WD>3Qz&&CFQbTz?sbW?4XAJC&Sj2$`o!7DG7+Euf`tpI z`xcS^WMZSP7QM>Rrl&odVHrAo?Gdk)z3;VgX5BVoaC}>^$DD@>XLUEOOna=TdOqO1 z(ne0GC!vfV&#lZhS(fahfW!g(PY@BLEjCdrF_%_{blp@%zZ=N@G~YEqVIx!*@UB~yPgl2d)I$3-wdFGs)rgUq68@U*1CiPQKkwl+_KekQK%p?d7Qca@Oy`UzP?(37MlYAvZ{u0fThri0`-8AKz$2oV51dFY1y`K&VSB zt4?#LbWws*T*?-%3a}ZLmp+N8!jta@+Ux~;vp$s*QQd;cF#<&LfD!02Adi18&WzN+K zAN-APh=t4xvyGY)a}Z_)5`ko@>7JxcE9ye1be@d{`zcr)yvR5Ce-xtd#iGtJgM!B) z{jV62KGQitEiM*UyD)=jXKUwmDR^5H9Vc)!&9@~Axo0ez3q>A&JxyLydAOt|O-xqO zlUaC^_>@AyWa%-rm4F)=agB7-z3R>sW75@%vG7gQMX#UDt|ri|%M1^X<3O)q07yL| zwow*jH5paa+g~S;S@4wLHN_EKEjuWk7S-yY+wySI&a^{ViY&s<$*>i6W>vZLj{l|4 zuD~1=eoJhZatIC{{2%HI_?!gDXF{%#g0BM$Hvo;eUsV>j$p~fb|E_wS@@8X)0e^Ol z>1&Xdh`n01;n8{cHFyW2rEh?{(x#>%>5suPa?dc=WPCR^97__wcjIv_6jfxwL65+s0#8r`Ldwc!Q=(h04z5N!E6z z(5nc~QSsLNe_ctvyo+A(85n-RxE&U6GkohaZIKPsDjMJ-Ob>?Yq?(g$aM31KDV5IZ zJ_FQveQj$0zwXA5D(F{01Qo00c$lK-e%PoLU+WrK8wvanYc4P|Bbk1g+L19;p{^h6 zGE5lk0M>wWWI7*WWh8ASsIGM17xU6UFkOQ--%d&2F10SKceM%(dBpTN?t5*?=C`POYbtR=eo%ekEy-~ZL;EnAQCX8k`iM~y2120UhL+U9bQ z_ScRDZiO7DXO{ugeCBQQhyCW?-YP;GB~wcU+7Cf6Az_n?ke*Qqbinn(do#EdxRmY? z^aR%(PSyb49J?uzQxURD7Ja5@GMZ6%G0wtSZ#%-;6h|gsN3-s&)tFUX4-xgP*?z?^ z{t`!jMuSrSAX`86E%1a<_w5UD8l z>uvOIQ8PHOS1g)cvG67ceEekH9+4vM07oALl{+i`j}Ffw6MS`LtLof4;Kkd^TP9Ju z0VRF>OM=-zXqkD<^&s;bB+nH6NtqOBL!jeVGfGr8uI9R(>b7mt2LYNhu$r-T`1Wke z4U>22g7jW=DgEoc!Ff_LLHGArdoufMBgAm$T6s7EV1-muk9yQoJsxw&T{v z@XpNMN(z7Fv!j;)lj)O@tOStmS;skcIg}*tuTlrLkF2PBf9zzZI4;zk+Xk8_t0c*b z+<=ndR@BV>Afrt<7y_LKJSLwMAE^CHIu&S$vOE85Q%|jEDj9gubGJ_(>;?tPwbKLM zjvWr{?!t1){3JF+AVSs6QSzvCGv?PG%c_#}{sEa)HP_+hir`Zj>4nKp0`yw-YP=rc zW^knLI_DLVEBWy(&4FDa*C4*UCcpa7{M{M%nZBD+U)ir2W`Q2%r*129a-olt7~Po$B&-g8Oid|^&Dc%V687!vU76}9 zqYRD*_nV_+gDlN?rClBRHkj(XFbUesXKFH1(O`_F&Keja9P36eI{TKaJoB0#VxWnT z{c#3!lzM(NTw8w!r`$=;R#<<%)&C~)0XISR$MXWwy{P7#8$Yf|(a~g=3FAUDCJPPp z95TwF3k&8RS5o>+Q_o{?5uG^2jMM#r9XrTQg+~2myY-e5M#zjwIgPKCcyg`#% z$^ZXuzbT&rCn+fpFXPvb0FMgL#alueTW?Em$^Y?YfX~1Hug^0_=NZcHmyU?FFeAoPRcG!>(SfYYva8 zZ<5!aJ%M4eQ$i{IR>X{PpM*s6qaFpo>YukbjFr&78NmD*cBMcI(NW#kP_cpi&H-QM z0YAc0jrj`f_!bh(mig0iOplS|y+fT}%)b4!#;JQPe5lmhQ1F84ES5{}jEF~fB86!R z2iwjjFSvaP@ia@bWPi7ArVr|9XV3M_$B{2&Ox0r8_u7~`=~Wi#UDxfZq=*-IUv;}M zRLio5LoV0hp1Fm30|n2D&0|Md9mD3mdWO*JjuU@2g-#JGbP5FL#i-Lc_cB!7D#$q@ z-TEx6dh#Dt;{?nb?L!>7P;vz;Cn+Nfeff=Z!Q-l<<)>Foy?d3+7A2!J@&O5)w8n7s zc151DLM4lh-CC*^1$1nASPAm8=RL@mTwFQ~wj z@C==YQil30O;;zuVO=B7vwsEt*`;qjMl;<8;m4}0YU=hVwWO&Q41Lh{9zA~#xpsVl z*uT*Ef@!|+5?pFniR)B3E9g{|{Ki<>r5V8o)=XIE6+YM5nUXePkJx<7qx~UHbUPM4 z{NTp3&*!RuMUpfS(uP`&US6Fmesl((ba}Nl>MB;0qY_!!lp|=GZfGFhZ43+bIOaUB z;&ZWX^J`pzP1)zxMYD3;?rUPBzoxgYi&80UeBT73Y}fjgD$%sWUVcTnNaKYXu3P&l zXRFny%LOY7tfADT4n$^x68l1MU0Lhb)B%EWG`!Jwp=l6zD+DsOGn*aY(bhbuKlULn zIXkXB(S1xVk7{Ppbo&6=*V`szc%NkHoDNG>aOgq!&LkJ4He}0yUt5|dSeH#48{Alv zX)3SeS&2)%x*G;OqyDMcU7RyqtacD*ZmZyv3Phi$FW^aE5rv}7f5|e&rV&h z>XA&{wSO+B(F>65nsV;m zJ5_i0)jWKSuwaLCFApy7#G?^azez!-sL@Qe-{zRYfiXF}ZezT%-AhGIst8bm_MEt2 zwilElH)bMH$9?&>91vi|5urghe%bcx(PgcCM0)sz+FQ3zy!y2<{)^*qOkb4J`&k{b zgU{p9`OJ$gO`=hMbh6o)@h6#WTLA~a7JPB%{t2w?!80H#z1rgUdEgZxX1UBYFB@)Y zfnJ^p_!8pC6R3^$(E&vZ?>r^q(b&(%#2dmib_b9AxQ{LLY6UP z%{JM`He_FhF_syOG0%nXegE$JxBZ{z)&E5=8lU-G+j$=6c^>C+O{l4{?p~gQJP-(E zufE>p>k!DckKiB2u5I9x{Yz@85QtNe{^g72zCAN|jiB!CSj?Sr6rR_z>`!6ft zxP3)}Mb0GZO}mK*N=>}0eB^)hl&HuK#n9JU7yMUGFVtMA(FzRYYz#6u{E-X6^<4V+ z(KpP*2ghyH5Uu^(72E65s<%ge94Ma2ym8|}M@~-(Js*a}kSKV1=73dx+kjWrKo^PO zSu#Nw56$Ny-bd0*Fsp5BCWcLo#H{~0y>mDM^q%w=eff96eMV{j^`e^DJ!nI#_TJhJ6;yzj=fAZ8RFwD1t z=g*QzT=|5aL8^Y!Z3<>;D&_HPN2IvMxVk@%Fn2kN()_Hi=cwEBN;{tzU5ba#Bik-1 zM_A(w=VyyGSb>nbuti$y0^{SA(?W2+#@k1lXZlv@y{@v=65tT-9~>@!%o)rJl{k3t z5`_Z-nc}MgpC>n;cA@(9nXmF5Vv%{FY+)&J#^a%Ca(|4_!#Pd}#C%6hk|wf|n?+9~ z^cFuD@Ee9bA%V}^MQhes%mFlW2F0YyThXQ!G2WN-DB0;3zertr?F@kgT2+%ue5ija zgN<+mDlMJ8LOr45NFT?z`t??on+bL9y470#^Z9N?jcZ?~r}&(m`8`ZRmm?#-OwUU+ z5!2w048ndNlk{dCWfZ7qzJgxMlRf4I#=Y=ZB$u#WEJOb^qPRR7Wf?FTRc{|){qq@i zrov$T)+BpMe+*+3nk1{XE#vJaKVSEH`MtZ`u~r6(#UFBijes}260Di+FG-AJl}d^^ zu2UC0k@TeU_^{dRncY(GAxdoSS2ImN8N^!z_2tgeT*7fJsq~lMm9E_E(9{_DvVSq^ zJJ`Eq-xsze-schQVQel77Q2>cL6MjAJ~3WM7`gA+f`D1rW%|rnE=Q|xnExxGJJX%n zx`*7V1_uYld2^C)yOW`KE(k<=|1i76xgxe%b2___Ts%`DIKb** z8~a~S+>OJy-P0qdcU7!wg7u#kVNYj@)x11E>oIJC&v(4p^~LawhJQLga{Og^aVdTq z^cX$GjN!hL4Bbv#2Xhq&Y4LC3t%;EEBiCvLw6P-l-J3=~Htc{vJ}bRA&&CZJVwWet z%oyW}MZ@ZF?M>U*lUi8VwH7HuXZtgMmXtB&w`}DUn%O&W@cAf8W%@Z%D1fjR2c`~Q zGq5(M@`;pd!>-bPfGtT4vJU_T;9t2sjae>U!I~Y6V8#>HNds5cL=e0Xh^gaWyO*~t z(Vsa}$X-l`=~R=6cWaM5(m4jZanCzFHZECY%kkE3+}7L!IrUKg1U)n1-1&ZWrs_bHWv|BD;KT~ZjoQJ^ek~wJOK~d|k!W1tDWo+xziCU8~ zpIBp}<6qVle3w|die<#!>C@~oR z!sv}cmmJI~-?{ZpC^mYqR=*+(2}^p#r#>L4Uj4qPv#SyTok_SA2G4qt=&lz-`ch@r z^%$JF#Iq2*yhH4wQ9P?|ywNG|IKASggETYA-65m>%V@gnz+JPc{N(0k%NpQfef_MM^z z#BH_pr`mHl+MdMe;4(r@1iLb&uv0HJ_Rco1KOOM!4e3 z?s~GTo|D>^V~SNqBr45j4+|7I<^~KY$l@aDMSOHB2ju>aRBE&e+M5}>?$*hfQKhw} z;XiwA{$22JDndxDM?65wj#*lkDZ#$&e_n!lJaLHi&UpvRgMJ>@1--x9GwV>R@sj8h zM3oj==g4t-v)E%VzjRxF9B==@qEhw={TP7!+lLF)?by^_b{EVx|8roRroh$H4a+G~ zvtZMQPM7&Q9KB|FF{Z7+0+m5V`X)+coA_G`D?!&R~uaDFKXAh|* zd9vbM_syzQL2FQk@^tXDX&Z=dF2XE^297>>(>Y`Vro<6pto#pb@{;VnBu%kRn9zQ~ zGO^V>`y0QC3mOjy)?~ghd##DAR9*N{fE>tM`!XZ;V3I5fW&eqj?=AH1fAk7_2y($q zBs^DR?Cbt;F_I4ZzW>H;UXIjT`=gFo0I(>{FNp_3rHx} zZ8!#|Rw=Yb5i~Et;%^7wXanORNnd?~FZc5|Xb{>-2uTxD@fud`== zc2P54e(MaYtFL&CWp`(!=YE|M#blkAJ0;rYxl^>Puf4yOSPr$WtxuNthCd`m95ts~6*F`87B=6A_H49mCF z;H-}7VFG)H;;93IOq0dEBbT;80?qHr(6_;mRQEJSp3j}U*hSsab1;j`9SHVRv(j7S zN=lQv>z><9gJxlPO_$|)WNGH`um-L7@x?2r_E=NJz8JU%i9sNGAvBm`iF>o9qWbX2 z>E&)@`%^3)bKcODsJZ_D^(i9v-4n;Nc~sP2bxY&eZmw!_ua>H+02v`t#05g6-ecN= zy)5AjW3>sE=xRJm%k%k+h9O073g9(eeGIbS>o+im>PKn6lkkKtEv;-4c1ZmA)v|4W z6u4F61#)G)hqRdtN;fBDq?)wQGyM|F`uRyZQX;XW#26m+y^q z7G$+@XvPkn`9aW-P<`q8z~d|0B-%`Fn5oNRG8Vsxv<%hq3nHia?AFF~VzHk0=K^nk z$8Q6cs2AwA9<7AIIcQUdm{$&Y2?!P1bB0@k2rpKnuBDbTN{N&&{-d@=Y2e<7h4z)c z<80OO*HH2tP02WtAL%~qxE&2l*A)HY<$&hc+$#~Lm$M6qr;yK1FHl6!kTO4_CTi{& zymkm!Sn|Hp=WH=!@j=YJv|zV^t;BBsoq@KQ59}nVP6>^yy)fWsVVcaRjw~K@1fj0x zq#1M-mbqQ4uDa0nK=0=)<2AJN2s8>rs!jd^6$#fg&R(Df(7Pq+XUQD*!g+*2{RY_HD*OL-%T; z($Adwc{x)&)#j(0_P+LixP9y!shyT*j*{!)Z)bQol6fk&JYH6Dq%NiVnnSWPzhGzi zpZV2x!Z+ySHMI_#J~Nkbvd#?OTbeKD89$xN<8FhV!{2*#-i$)IM$fjZ@Ylz&s!SZk zbza=FOCa?cJnY@BH%+Eb*Jxgh+mn6Bm&_HTQqlg)L6TXksZ{*Se4_h<^7xg{{sW~k zEB(APNkhn^FA@~1hwqp69r@;ZiG)z~p3Sk5;|QGMfFZpkl?NT6H&4yQT(1(eD}7wO zC+&y7vM(H?f3PWJFuBRa6=Qj(cjytT!fTg~#-ElHxLubmof#ADekrXhyBuj19Wc{_ zeLY^fbH0gEnG^KscczNK8F%qLmhoL)rU4g|l7p+Y5butsewW_9HQ@0Msw1>V@_=X< z>o30yas^z%1pP`YpOi&MQP9vVCdUZ<;CwE5{L=M@Sgr(LzHn5|&yOx>weUX^c4+CH ziVhEUVmm|hM&sW8MyLurcYU|`Zsv1e8>lFN9wx98B8fpGciGi8`| z0>*?Gc0eAjaSd0f@Tc0M77$+L-RGcwZ%^&0dbKAIrJzIMQxoDyMnK8j`-;J?sdN zJub|AH$ESwQJwBF5UL2zMJW0zK$H0dj&A;)`bx#tHb>>B)?$4$ukBh)L-Hrv$EtXL zz5>JJ)@Q?-en|0soM_p*Yrbg22$@xVbI-2jCPRJN$P46reZ|QEnB}O4>nO<*pu#1q z?{ytpsKEb7XzmSb2Y>~;^1FSU(keTeDgBDWjv#$mBN~nxB`;+A^zBQf5rw)Yd+gC& zhrCvc7^5A@0W$`wdBi9~*nnwy#kH!CvFcEKc9pjk(y6}}-Ty;MIw~caQ_+$TZ3qX$ z7L8|+RdVgo4DFKi<@0O0&9Osn%67B+&l52uJ{9j-V?OP`GeKB`oRQb1Y&PvO zPJeK`knlj}i?iitkgbfnT5iKd-h9k(_^wZlZ)#mDI#-T%^caowWQCB-s<>S`ph}%tjW)>ov1%>1aO5kf5S?6;CR0%_@vLYg9)- zDG*&22J)+BJ=6^Q?wtbp!Imeh>W{xDW^M7rZKNxx2*vXv4bNz-p{ktOdm+rr;&TQEu3gPG`=(3G{e)s)7R#0^7mU z4Q98E1@JdGwh{2f5^L(!7N6E-6=KKA@ zn3>vwRrEp`Cg721A6$Yrp{6kZ{9lChdYKp+D|MZP^tX6%k2V|{hWFxDL@#`3Fi}(X zEkD&mw&8L=2u<$0j^uzG*(($yJvVYlHRCpbo``^OyA)d z2UZ!gRTAb~)_Q>Bg8lCh)RVU5O|RX1w<9Wsq(WY3bJcwNH2`GJ30ezE3s#YKZId?b zrxfmyAJGQW%&;geW{F3uky!ldeq`Vu!^en7EP&S=m(r@rd>`VlayzSJ#be4rC19#{ z7C``WXZKEBbQOidkZTmBr97Y6lIaKU9_mOR*|L;@v8Y%&b@a#jH%k zI=E@HS6y&E_Mp;9xTSd@Y}O)yVbGp-POyw(b2spzE+pfo*B2C9Wyq2 zu8p9^3O_h!^e(?&E;my5CZSKQO5)bLsElfPG`;A`A4kP!?a6LZYAwnc9!j0o_J|y@ zrEDL6{quQU9sEI7l-_tBFJn^6x7z`EGFf9L9qsenSPC;aejxTP?;oB{D63&bEe0Utbm}j0p_Q^&*A?Z`EL*~9CuWFVl7rS-EY`4{T$=f z8ut1=$rJs?|I+8`^&u@Y`|1}G3#myrt&QYix1$x~3~-Dqoa8Qs{z-+t4y4(zf2dBVj(hmUypPZk>t z_-B)*r$a*vo+4aB{ijpot~^y>#sb%*c=ngDfqI@L zASU;C%;i}IVo~}m%AK;TQkO@_I>yG{GQMiRLHWnEhO)>hM@F@Z<>;N$4PspJVh?dD zTwF6B+A?dk^1ILhlt%Ikuy1>|ma^gMqqIC?Z0V6lwg*&OsmxAUv<_NfyO-u^5LePv zb}O2_3`d=SU7?JQoJ0HFqyz;s6Y?H=w>%~{-;lDA>#PmKe?u2}ZLNk`4`!BsZGC(* z_dnHmks`~9rg!WFb%56%G~Ip&jF~Cv?6USgux}YMxL<&oU5G&sX=C?(+FoGE-rc9JN?)e1w&G`5(qdUw10LFRCzo=;)^ClH2a>cfe81q{ zBNx4TrsH<}1y3lgKez65ogS1sp*6dF!N-Xq8=)L%FQK{;ZJ6$&wN$gre3OZXRBnGs za>b9eu?zf72`{K<(G5%(KKepVVG!kJXztp4lgR_gyG?wY zTp_oayGN#A|M99dO2=!kU5~MN2WzP^v`zwUeQ~+laoRC=BKTIx2i9<=Zw~2wbsWeu z<2Z0!dcZ??=JJR&L@jAL`C@hHQZ13PzyQW@AWWF~>V4R^CdvV1pxjnm1i_3esriw{ zeIJFZ*D-5J_z$PR)KmpaJm)ByqWiQk9IVb+HM1ZHx=n2^nZskxuypOxqiyv{_w zuET<3eF%beI&E~=tJNt0DK}I)t!bZ398G^FvZg09$1^LrHo1E`*r1vlB3bP_HQvS6wKS0cB_f#W zlVex?`psi>P7j*E|ALvHG=@mabe<_&iJciy(ppty(^(^1KreZ8WlmCJZBn*__u1Bq z9Q3=g{bFgfjr{O1jJYi*t9g5ZYua(1^~D~v9!cRB=G^-c7t8VO1CLe0RXLJBiV)T+ z#_46=gYWotdH3S)^bHJ{UUdmrqu>EhLxt1Fic>TXh)K=R{_;!yWFr&$1conwy4TO_ zDtLG->xEhKOm1B;_F4kO^!nfB`tt7qG$Sr}+@ut7?b_Bfi%Sw319d+;&|hD>^WkB| za@zyuk#>b9@1S;aAnv8*?TK)mnvHEBF|Gzr#54NZxFQqh+YU&b1)&01NgdIy>qthm zT|V?JgAuqf{vsmxg&D}xgcTGv_NM03G%>*A5#h-Csab2qAxA2JnG6Ma4sJ)d8ZpHDIn!rRGsI2H z0Dlz(Y|0fQ=C|p(<0@z?9IrXTvOV5p@)t;UoNsN`9pi@qr2_HVx7mIe|LO?0cpi^M zT`k66uMLV+hXe*&QM$;T1)dFAyxC;A&GO>j(2GF++NgrsuiiT#bEe^}FzX(RS&iR$ zp7`<&EB)|mWYP#Aaq_Kp1UpO2QS-EFJF9#c&}1Orp37s*x_^%KY+%-}3U(H93%#6k zns;v@Mb&k#ox8&IXMq&?9YmD`7H5}VLJiHGOmUjlqP-B=&2*OCQ>qFn+-$8^v z>5chlJ%BOaG44ze4Jb4>uE5(N2nX2sw@wvC8SObOC*RsmXd`o?_BBxej16>kz^~(K zYsDc`V$Vo~;yZ&a@jXahDDK{*)h1xq$KQC0MUffNOOA^4FDuuUr!(N1{Q}H)oc^1M+D9yEoe{K@ZuBSc?`;&e z@tU-7yG-WvH$4T8=3qb{2SlSC0mF=amtq{UqW4)mCdGm>({QgA;GZS#<6v{Ev(N!$ zSMu79CwKC|+I50GWjYiDItgy!~)qWx=w|Q_m zJ56^*3&)9!kc!;@Ey+7Gr;47CE!ykubm0}#e9{B!(RWj;zWMurV_Kh2HF<6JhqD>W zhPBt*cwI(iYUo<0V&OipF_N2;)zxKprFHOE%@=0vxmJ@juGifmcxMkOhsAf$ zrN*9<@q^qiNz7TlqFic}xlLV;zmZacFw=1{;h0(sIUv(rbRf4@0C__rMbUq$K}!?t zjr6bUlpSa~d2}wX%Ts4g_s!?^<@p=O=`o*W17=miMb9ht%QR`;DY)8yP9eQ}wp)|n z>yto&`6qot`~40iaR$D5QLVKmgQi#Z675_$5Qq zDj?;%5>j$wOqpoXMwyJ)E8xP8l$;(_nkypeQ5gI7$}n2&afNnpvMQnwLHkp;>ZmD0GSBm=Dt*gzI9ydFu*rd zbN7Xki3_gdnfwYu(|4-vwvu#!I?8#$Pb!FI*Wa?wGu=T#8OT>vb_PT|8DM}S&tHiV zHbS6VE2yQoK`jNL4f=yR$n?L$%Uqt~ff_)rJ`iNtsvMF-we1;h9PXJ#5$E#?T)(8b zoYh*dRI)B`eK~Wq#HlNER;I+e{dybZup$Wd<;1cff!|8cY1K6t>@ojsQ`36$b$7mW z{iEYy9Ryc(T~QN47Lv?QKUz|m8lE@`QQc^O0J7KM+67|395xB?{TGt5L)TRZYZfL) zHNC5lRSSMQx2Mc6our@8MXx)iM{KqczIfI_UWqPu%YtO%?ua9NC&u5p%cMs*G|cC2O4rl;#`8 zm|Xs2AsHT5NH_5QKeOu@iH7ft#QFuk)V^$!5slD2saW-3K^(`MefQ8V#jtncXIRHM_hHmBUF@ScXr$-uV+h$vJtIYF9Ozf;O2~7>*G8f}e!xcu8R`u){1#p$;3c^$WZ{KIiU-wj z;a1v}=baLz^PPLhIi?8&(pxf|$b8urL+*!PD}&}(2uHHlg-5vk|DwQJgxjRZAs_c} zNpK|Z`I{)Yx<=6n1+VWNPq{H+9^N{8;ZObw?r5eE)6yp?rLTe4IR<&!T4@<*4ia>H zBQ3oG5~R@Tr|Nb+zdel#x}op#h@W2x(yq37N?Nior2Wbs*5n-rI$0v1NBo}k|I|RS zJAczhh01ukl%(Vj@!GkSbk-B?EVZ;T{%LZ4%{$vH<+nB&olfISZ@R%F zoN=V|+^j+o6PkVShdmSLO_rbrCK>*}k{nbwKyr}FhYEnxVUJwZ&U>aD5V*>T%iROg z+W%lCB}Zx$WkGle`6sK9`#*ak7bI{Vq#BToETKnYaAgN15cs&AEhv=IHlRaVY|H%L zwi30-g?3gpZkCr3_31CUAh&#Yo{9P>8uzBNX2}Ay z@I=$Ok%zyZ`6$RdOM^i6m;hte1%YgGjdI8T@IxgY}gq<&`+t$}B&k@N@;nAp$%2%%f?l$5uz zf5MGijtZ-u)Ay!3E->zxxsu}tS{eT{MS}us0=uXrl@()!81N;U5SC0^lVq$YFWVf^ z4tCQm57ZLF57z8x5>t>U^_0#5okb z&v5Vn67t!0)BEvtKZ$nZ+E9$G_%)o0!VjnWhHzKyX{XfcoMz(|GP+b`BEOmhUm!L$ z=(yyt*O3WtPPp72H#2joRq4%j@7-QNQYrf_^S-9fss523g*A_8`ox`A5I?#^lb(*X z4kmG4(BI+*Z?1IL<}Y4mB#jyQQ3bPj8|SVN&!lpIYbmDVw^J1Ggp_W&aYF1K$9%+2CE3 zXnDf^I7V)~95dI7qByH`!=iEGG;As^AFw+77AtQu1dy(02T>^O$DyCLcok)|1-xy~ zc=fud=6Fa%nhG}4riL+ny4p_AWFp*-)tjbunF5NIzhUJIp!F_Lh0(WFncY&br$@~GrcJH+_(N zDg0*Sd8u+bP)h1shGPEbH+WJn8O;xY!OeTEtYME{E`T7DZ zY^R)yY~>?*9zfDFpiA`p55;k#cm2F?8IV>WGna<_8x`>PzEd_UvuFE%nH`ORW!|5F zLIMFlxIwDfZx961O3U3@4=MqCnx}(q)C)r7f#(9<_oKC|Ca+bUv)uG!*r9U2pnhpO0O=wJt?lbnzsL37(ygx+e-7ku>uv zn>;`2U9-LA`&zwk>Bk8Urn!*&+B^Ux*us= z6c#NibtxjF2fk5sCc)gt^yKIf7kw|z-cDl}naI#@@3vx0M-=9`Q(=W&GD|_rYY|fR9V@j6z=XbQ*pejdvGViaGC=yz$>7-rp7ER`_d25aJLIp!NTv^eSXP~lm16wVKLMLs&(OOXOkH=@YlyZN3u>%{~4J) zpyZ?uDLBty(z|D}$S;>q zr8?I}0e)j$=h?va!lZJgRhQ>lwri(z{K?PGT+1*$S58vMJc{!v_ZNXAYXCC7B`410 zkS}w+TK3tP;=j7-u&D@`sqivTwW2HrGxhyzAt#u(9#68I_)SXJPV2QQS zD=ErBgpaO06kRQ!#D^!un$PFX$8$HyMOz6PxIkN}%c7YsuMQZ!g9aH;bbWk6J8Md2 z+^%Zjc>O6Sl@&9u?`SNo6t}nY+0^tp7Y-=2be_AWSMc+-{esOcWBmi)R<7lIdHRO0 zCjCHT2LLmRaoO8qM>gddL(2+bHkVTxpC1t$9bto$c+Sa#8|Y;&$GcM2a_tGMUz&_i z(xl~I9hcZ*^mu(a`gKk6_0n|Nm8$gsM+hHZig}dYf6+AdOvGPvB3`Blx}XbQJ{G;# zd)bUW78X%{SbOroAos_$j8dMX1mljEN$$+%x>ln0$b#G}%gcSyA46W1?9?$%a_9@@ zfSi3=z5aV}nlrKy4R0G^uMu_n3CsCsTZl{-eDCzm=m%ll=p!Dos_2H79 zWw%dpox8J1))J7h-*?)aCnX*OzS|WpPaXVh zeY&YW*-kFnz;6({!dcXF%}5lZlL@u)T1M5fy56K;K8O>3tmLLHY=wEspD6Az$C!kT zA1d&0Oz%H9w{#57EUiacAw8MtPQX}jPKNEMGeb{e@*2=}zc0_Iu z1II*tndN%b`{33Rkc>qHlAs3zW(s)&+U}{Mn%OHC+oWJhu7B>oz7Dh%##V^|WuqPR z5abC(DZW)DpEGJ{UGkLLWd45>N(SDO*(PmA5ftM{i|fvEwV2zFxEeR)NN=9d_9L~~ z)~M*hGj-4q$fI2$tmckFLcY%e(^z$u2G?T6<8{|Z*1bNM;w-PO@*n!LP^E46k~cd{ zcDiL|GHkKU|9~uL)EHi2m^=*8eCe8j4Dt+-E6y_=Ny5*EmVBww>KQkfpB)IE+JXs2 zybH5@`bxhk2u_#vDDb~dvEG^KLeb;M;&Iq2laaJM%l7I6yB#|LWlUKL?%CFVGWeta4}u;p5`Jx0C?1J6vWxZU zNfT!N&VJp%bR9FaO8#=0h8{fTO!!rM?862OO}EPZ0c8OHHUxW79OE;jOH>;ot|M;M zCI!dvt}PS36T7uv3*^1P(o2tk=RCF{2*?ISJM<#c6~9yqTc4bJBTS|ZzUSDW%Dz>A zRHnO*>aXjvwns*1Lkbq?`}N0$e*516ZX=}^?9Nkpp%nR`grV6$>?y;=%qG%k(4_8f zs0UqpxmJF0Km`6X)tPGmVk1FUVtAcuEt`&CT!7aKUjgywx%_<`+|97JK9S2mCI=8% zmRKzQ82MOIB>(a~KM-tgkpN=C`&FkyD^g~;B>sNl|0ks-;Aj8ItS;RB4YG>sXnMp^ ziCt5u(hU_A>TXua+!FGB>X-bZ-`pRKjAOi~CS||)*9_d>x4Y4R9*K1DjLP_(r<3JX zq?LmHr<$tjPPK-6nLuO~&4P6d^KB)EtN#olV!Ojjj)`szNuj?WI zxmYp4ncbLnq&C&T>oV>n#i3?V4{qODwJ!Mme#oDaH0K?7dMdN6%&*l2dG>H@p~IZ_ zv!S)>PmAmRWY>h#7pb$k(gVDfS>d%9_HMgdM^DnR6JmAGKr)zN8p29wuo~!N)`-=V zbh`N61c_!gn(p$D{$@R-YpgcxvlRv2@AuqY5%&G&?8_rxL<4{}x^^!d{ofG^pd#eH z7Q)I>-zkC5z%%9!gvaCvf-}zge^O-nixSdV^RWXca|UMvkS*SrbW}VR{^8%*gq}PG zqo+1qkZD#L^z@hI;XX+Y$EYFYYU6-=Y;d;(5?BgC-g;JgJOb)*ffvT)0bRGQntn+i zcIpkz!iTVe8;gcqi#AUh2G{3(2hWyeH&v`^-Y~|!phB0Z18sST%i&NHb4s?MFD+i! z7Tuar!TG#}&I2s;Fb6QdfsRn~VHUYhD&%_%; z-!fSHp$SD3ZP}^WmYn^OM)>otXn3V6D^+vBm_L-ql1D|a!TeFeX6yM-?^ZIF>Jw7^PqNBiXOAIw;l{MPH#%zZn}vEo$3cyV~ou zvG*RtOMkqI`8(eKInV2N;EJWiC4Jtm>Q5*B5%SfwS6(Q?Uq|8YQone~4(m3+`|T9QFAh6d3iR(+R$+l16<$o72azOSC4s ztgBxiAG1bSZG(t!f-#QZ7!Bdd@h2L4Tw=OvH>h}9Ap~Y}u)4Y4BiZ&e+$|;pzs$08 z_7NM)zJ>fVS|(C?r3SWqM;dZvD^to*BvJYCks$+~Fa0z8|cd~=2_a+ zz1Gf4Z3MR?PJVe@Il7dA8NIQ8#VgZg@ojIB&$W{6_8R01Ms^2U{Gh7+sx#iN@2=El zv>i%Q6aTOPf5nwi%($bF@^4(jy1fc!{&DE73E3klZ(#ZBL;qhaL)AZ7h8$m9p{_`0 zKE>t0H?%DC&(j;TqhCy}BhO;pdA}ynn&X8H9VS z{R8j3?Y-dt4SZ)~QFklK&5pS}6L!7zT3aT^ZZEkD{^p9(QPq2Sy}bj`jRmSUm=T4i z!`zYkSo6iR-v$c5yp57ZscP6F7x3^961>lGJz7}FzcJF^!8uy_>b=X&Vtakz15z13 z9$8Y2USd1C&Q|*2Fjt7@KirvYN8FYV_7en^!O3dt?sGQPI>$}gCDxP|H?H{=B{o+6b(;mnd#~q;^ zNsU!#ir}B1m#sVj^FfOn%~R?f2J^3e-ou48Nth+O;^+$gXcweluSqdO_5^5Z6iSHy zc(1J9Cug&9pX48XjlKWc*I54&Q(+d4GF8Us=HBf4*n5na?ZvxzKSJ*9P~*iHq%0;J z+`MA2R<)xAe71J?@AP{9;2+>K7ylcXYHD$PWzy`Kvh%C0B8PN`X;Uqs#VTjp@o-7d zxJ5f)pJ*eBJC_OgtIKDEIo5| z0sG@J<%l8=4(oAqIvzRTTj|@?Bd@p{bj(_bb}Lo37T~&)hom2as=cH;{bC?5mT6Ro z8uUta`7DfAEOI`DD9HQI z!&lZ%TK*}Qx%wPnhdF^_ z_TiwZvt^d$=g-FKuN6<%^efu4r>pI{a`sSn@3C%gSk|10C9KV+7DN9!@%4xN-fFqw zbWPV?qaW9Z-LX;EHPVgOMjr};ClMHSN1G9jh`hkd1Ly$%w1Ue=f;}x^Hl;yg(rEy!~^vbM!0v zSzj80`pJH;#&E<97aWk{-u>sK)+hxf2egV^!+(+nog(42ravZ0GsHhB%>slpFWzjx3hJyAsAFr5ePjnX)( z&i2BSvRK19>m#TKBLUwH*uILTrdNJ$8{+!R_m8$Il--*Na?`GJ-GyCl@}8+P9ZTuM z?E){&n$w_R@Gk7>&((Ir+PP~6dY?y3qSq&izLzxUI^XO5<2x~0WjE8HHG0KXLv%H_ zR=O~Xr)yT|$h1#D1ZukNSJp?*g1yB8t1eo1qOBDWyvqMMB?jV=2*3|=?i#pZ(ofdy zD?Db$8Hq6vcGO!=EXcCRoQLK~$0L(stq8fl^6UFyspE%QQj{tTr;{u{vi&Ff78>V^ zPf-}^@VLGl^HuYWP5n=~^k%2N7_i>1C6{^K)i{Y!$_Of%{V3tQZDB0tIMT+JMdOGy z1>~;fa;mFP4$0bMHR-hVCl|3;ew}>95@QNfQ&F3}w5LjI;_NUA)iiXXpNw(gMI>8# z+~vRpzXwUqzwi?q0s=d~y!(L31yZ`axm2$M?L>;s?3am$Zi$Rx#l|0>A8sPf&WB;$ zpGOlv*#3cHy&ZBt9(16mcruXb7XGMC&7A@7eYB*$CZC>3dRo3=S7Cz z>?Zp*+_FzNs#240;<3|2{REP)D%BG~@VTc~6e;nwUK##(^Y%kctgUNwd+*(d_;*jNts>A7=Z>peQ7t9VKt`{5#f`j2OFVfoGPcr# zM>UvZcL+4u;J@V3K>T!YE-%>kegi^TKHo(-oTS~9vLCeP_GtKRMj1?nVN=2((;XaPQ zo|^nbQs-I({+s*>1gs}n3jHS|9_^a|>ZuDxsY1*ZrF6}r@!#LZ3oO($z*Evf`6Q?> ziV;bDuj0DCts)8aY0!~+3h@0=>49%ElJHX^u|-zhL5{iNpf9u`_}V2@$j!W{zm#x^ z_&`SX{%H3tG;=YfbthQP>Gyoz z^zE3ktbrQEjC(!HfwtCgn>vEl1elUP9f&5yVC{Au=F{VJUZ9n05fvJF=uf!;y^)Xt zgjm4_xGtk`uXUOMbk)Xqxh2Oh(f*0biXcqhg|sR;0?mDK1hgo-UG0PkT~~C-$Qv+$ z{ZbbaUuSG#kJiuow7keF>~B{)y9}N^m*=ZRhcE8u&$OT%tC2s_tCEH(-8EJdyF)pb zfV>)k%Dt*@OSwd&@^d_}%KdqqwXqG7hB#2MB4a_Nc#=hlrqwPt1;ct|nkdSS${*Yu zr0JKmnr4eipEi!kyYD=A66$YBQATcW!LRUy;T6!}M#(2APY8c9DELze`I3~?91gC{6{*dnQP-O%UYs*OF{KSvq+i1@+`~~WSIAQDJ!ytwD@Puv z>%i&`(@#A-O(v}jsYj?Ocx>t5PA=wkRp-+4cpn;e6TNGiDbKv)4BdeuBW=G+0#$?rv-L$;&ZpfPi4lxhdMD?71L>lTx8WzDVV zy})>FUZi8@GET=X?%__|xI+pQtNTrsG=NBSk0ad=*R|4L%XRq?$FWLPj;TGv-PTg< zm8z^rts+sJqLlLMy*p3tLgXG>47jDo%nJkicFL}Jd@%@f-)Rlum_UjWgB=6@_tf0P zWliMFua`i5uk$GPV%$jj^2Y1#FoW(eRZz*3^~{$HiEIJTa@e>IC-0Mlo-2Q?n{6F@6NYu=x4s*ONpQ-2LN7dspP3_ipZBSKj2fhV@kGh<_*{byNY$4oSyfeWY` z(Ndh*o!~d|( zxNYn5%H*cBM{w!3TRff5$)rVCk?!)IbT)K^=hMgZ*>DWxh^uef*P-lWlJIW@kphtt ze-+++Yhy%XR)bF&l?7~1l9s0^QB|g)N=ypnpcw=w0s*8hh2!X^4xri0=g6w8LE4CoGVwDX~?DMZIM(N z**I#LQ+TC$SXQ!Y!SXA9&K)k-w@X)w-ZEWNXxPHWF)X{cQk%^dEYR}VZE|;5>OVW8 z|5~NAj+Qe#>PnhVH|TbY4l}>B({f0%tU-oR(KTU{=jb^<)bz|&MN*;klbbZZb7AV~ zPiz0YIh!Y!t_jM}>!+XhNMf$_vkNLB=hth#%VsgRZCujbXwm@PkJ$+^Tw&C&a8b=M zUCq3L=Z&Lpj|w;G5KOMS9Vw~&clo*B+Mv;9;edFJp4+k98O%H)5@=&5{G5dzmyPO; zHh|w_DSc6LYnaTJ4;qbg4`h~hl*3+G1?XuNzK_WOy2H^@to61}YJ}EN` z>cuTk1$Fsc;>oR^>Qo$N@t*?q IW=gbqWusPm&OKklLfaghJ;dYd6JARU!!|a^ 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 pMzm(}M!dxrzXCRkXHVgT$SPvjW7 +# New! Prison Fast Start + +Prison now has a new set of features that can help you get up and running faster than ever! `/ranks autoConfigure`. It can auto create your ranks and virtual mines, A through Z, it will link the mines to the ranks, setup the basic rank commands to provide basic access permissions for your players, and assign blocks of increasing values to all mines. All you need to do is to use the command `/mines set area` on all mines to make them physical mines. Plus there are a new features to help provide the finishing touches in almost no time. + - `/ranks autoConfigure` + - `/mines set area help` + - `/mines set tracer help` + - `/mines set size help` + - `/mines set liner help` + + Documentation pertaining to the use of the auto configuration will be coming soon. + +
    # Table of Contents for this Document diff --git a/docs/prison_docs_101_setting_up_mines.md b/docs/prison_docs_101_setting_up_mines.md index acd380626..f1cddb4ef 100644 --- a/docs/prison_docs_101_setting_up_mines.md +++ b/docs/prison_docs_101_setting_up_mines.md @@ -4,7 +4,7 @@ ## Prison - Setting Up Mines -This document provides some highlights to how to setup mines. It is a work in progress so check back for more information. Initially it will cover the basics, but hopefully will expand to more advanced topics. +This document provides some highlights to how to setup mines. It is a work in progress so check back for more information.
    @@ -19,6 +19,22 @@ Items to add to this document: * Use of **/mines list** * Use of **/mines reset** provide a little information about how it works in relationship to the other settings and commands. There are some internal things that happen and this will help clarify how the other settings are impacted. +
    + +# New! Prison Fast Start + +Prison now has a new set of features that can help you get up and running faster than ever! `/ranks autoConfigure`. It can auto create your ranks and virtual mines, A through Z, it will link the mines to the ranks, setup the basic rank commands to provide basic access permissions for your players, and assign blocks of increasing values to all mines. All you need to do is to use the command `/mines set area` on all mines to make them physical mines. Plus there are a new features to help provide the finishing touches in almost no time. + - `/ranks autoConfigure` + - `/mines set area help` + - `/mines set tracer help` + - `/mines set size help` + - `/mines set liner help` + +Documentation pertaining to the use of the auto configuration will be coming soon. + +Keep in mind that in order to use the command `/ranks autoConfigure` you cannot have any mines or ranks defined yet. So before you create a test mine, go ahead and run the auto configure so at least that is complete. + +
    @@ -125,23 +141,37 @@ Some of the highlights of these commands are as follows: * `/mines delete` : Deletes a mine. You can always undelete a mine by going in to the server file system and rename the deleted mine, then restart the server. * `/mines info` : Very useful in viewing all information related to the mine. * `/mines list` : Displays all mines on your server. +* `/mines playerInventory` : Shows your current inventory in the console. Intended strictly for admins. +* `/mines rename` : Renames a mine. * `/mines reset` : Resets the mine. Forces a regeneration of all the blocks, even if the mine is in skip reset mode. * `/mines stats` : Toggles the display of stats that pertain to how long it takes to reset the mines. View /mines info or /mines list to see the stats. Use this command again to turn it off. * `/mines tp` : tp to a mine's spawn point, or the center of the mine if no spawn has been set. If players are given the permissions, they too can use this command. Use `/mines tp help` for a list of the perms. +* `/mines wand` : Gives you a Prison selection wand for defining you mine's area. Use prior to using the commands `/mines create` and `/mines set area`. The wand is no longer the only way to set a physical location, you can now use `/mines set area feet` to set a 1 x 1 x 1 region under your feet, which is great for when you're flying. You can then use `/mines set size` to increase the size. * `/mines whereami` : Shows you what mine you are in, or how far away you are from other mines in the area. If you have a lot of mines, it's easy to lose track of where you are, and this may help get your bearings. -* `/mines block add` : Add a new block type to a mine. It's easier to start off with block search and have it fill in the commands for you. +* `/mines block add` : Add a new block type to a mine. It's easier to start off with `/mines block search` and have it fill in the commands for you. * `/mines block remove` : Remove a block type from a mine. * `/mines block search` : Search for a block type based up on a search string. * `/mines block set` : Edit the block's percentage within the mine. A percent of zero will remove. If the block does not already exist, it will be added. (Can replace add and remove). -* `/mines set area` : Redefine the area of the mine. Careful, this can wipe out builds if set incorrectly. +* `/mines set area` : Redefine the area of the mine. Careful, this can wipe out builds if set incorrectly. This is a required command to set the area of the mine. A new feature is to use the current location of your feet to define a 1 x 1 x 1 region with `/mines set area feet`. Then you can use `/mines set size` to make it any size you want. +* `/mines set liner` : A quick way to wrap your mine with a 2D Pattern in 3D space. This command also will `repair` the area around a mine, and will effectively erase a liner. There are six directions that can be specified for change: `north`, `south`, `east`, `west`, `top`, and `bottom`. `walls` also is a shortcut for `north`, `south`, `east`, and `west`. The patterns available are listed by the command. There is even a `force` setting that will allow the mine to be wrapped when in air, since the wrappings normally needs blocks in contact with the mine so it is able to conform to the terrain. +* `/mines set move` is a new command that is not yet enabled. It is still in development, but will be active soon. This command will move a whole mine as a single unit, be it a few blocks or many (not recommended). +* `/mines set norank` : Disconnect the mine from a rank. +* `/mines set notificationPerm` : Enables or Disables notifications pertaining to mine resets to be seen only by players who have permission to that mine. The permissions used are `mines.notification.[mineName]` in all lower case. * `/mines set notification` : Can turn off the notifications on a per-mine basis. Or set the notification radius, or only notify players within the mine. This command cannot change the message. +* `/mines set rank` : Links a mine to a rank, otherwise there is no way within prison to identify which mines should be associated with a given rank. This is not yet needed, but it will be used in the near future with new features, or enhancements to existing features. +* `/mines set resetThreshold` : This allows you to set a percent remaining in the mine to use as a threshold for resets. For example if you set it to 20.5% then the mine will reset when it reaches 25.5% blocks remaining. When the mine resets, it will initiate the `zeroBlockResetDelay` functionality, of which it's not exactly "zero blocks" anymore. * `/mines set resetTime` : Changes the time between resets, as expressed in seconds. Applies to each mine independently. +* `/mines set resetPaging` : This is an advanced feature that can eliminate lag that might be experienced with the resetting of enormous large mines. A mine could be millions of blocks in size and without this setting it may take a few seconds, or longer to reset, and it could cause the ticks to fall far behind, even to the point of forcing a shutdown. This command instead will breakdown the mine's reset in to very small chunks that will prevent the TPS from slowing down, and it will allow other critical tasks to continue to run. The total length of time for the rest may be increased, but it will not hurt the server. Prison does not use async resets due to eventual corruption of the bukkit and spigot components. +* `/mines set size` : Allows you to resize a mine without redefining it with the prison selection wand. Just specify which direction to increase or decrease. It also uses the `/mines set liner repair` feature to fill in voids when reducing an edge. * `/mines set skipReset` : When enabled, can prevent a mine from resetting if it has no activity. Can set a threshold before the mine is reset, such as 80% will require 20% of the blocks be mined before being reset. Can also set a bypassLimit so that if the reset is skipped X number of times, it will force a reset anyway. +* `/mines set sortOrder` : Mines can be sorted for view within `/mines list` or the GUI. Setting the sortOrder allows you manually set the order in which the mines are listed. There is even the option to suppress (hide) mines from that list too by setting the sort order to a -1. * `/mines set spawn` : Sets the mines spawn point. Whatever you are looking at is what the players will be looking at when they tp to that spot. +* `/mines set tag` : Set a mine tag value that can be used with placeholders. +* `/mines set tracer` : Removes all blocks in a mine and replaces them with air, with the exception of the corners, of which are replace with pink_stained_glass. This function allows for easy viewing of the full mine without the blocks getting in the way. It also helps when setting the liner of the mine. Using `/mines reset` returns the mine to normal functionality, or it will reset on its own. * `/mines set zeroBlockResetDelay` : If the mine runs out of blocks, when enabled, it will force a manual reset after the specified delay. The delay can be zero for instant reset. Adding the term `help` to the end of any of the above listed commands will display additional information that is available for each command, including the parameters and also all permissions that are associated with the commands. @@ -211,6 +241,27 @@ Example of a mine reset including a sealantern. Notice that there is still 19.5 +
    + + +# Adjusting the Mine's Size and Setting the Liner + + +A few new features have been added to Prison to help make some adjustments to your mine. They are the following: + +``` +/mines set tracer help +/mines set size help +/mines set liner help +/mines set move help + +``` + +These three new commands are used together in various ways. The command `/mines set tracer` is used within the `/mines set size` and the `/mines set liner` commands. The `/mines set liner repair` is used within the `/mines set size` command to repair the areas that left as voids when resizing the mine. + +Note: The new command `/mines set move` is not yet enabled. It is still in development, but will be active soon. This command will move a whole mine as a single unit, be it a few blocks or many (not recommended). + +
    @@ -245,6 +296,13 @@ In the example above, the notifications for that mine was set to only provide th ``` +

    Notification Permissions Explained

    + +The command `/mines set notificationPerm` is able to control who is able to see the notification messages that are generated from a mine based upon permissions. This setting worked in conjunction with the other notification settings to fine tune the behavior even more so. + +This works by enabling the permission `mines.notification.[mineName]` to be checked when generating mine notification messages. To use this feature, enable the setting and then give the players that permission as they rankup. + +

    Skip Reset Explained

    @@ -268,6 +326,13 @@ If the reset delay is non-zero, the value is measured in seconds, with a valid v The bottom line is that this feature can force an earlier reset of the mine when it becomes totally empty of blocks. A delay may be needed, or desired, to reach your perfection for the mine. +

    Reset Threshold Percentage Explained

    + +By using the command `/mines set resetThreshold` it is effectively able to shift when the mine resets. It does not delay when the mine resets, but instead it provides way to trigger a reset based upon a percentage of the mine that remains. It works in conjunction with Zero Block Reset Delay too, where instead of waiting until zero blocks remain, it then applies a percentage to change the reset level. + + + +
    @@ -363,7 +428,17 @@ When you successfully delete a mine, it will remove it from memory and from load
    -# The Mine Data Files +# Renaming Mines + +Mines can be renamed with the `/mines rename [mineName] [newName]` command. + +The ability to rename a mine will properly update all references to the mine. + + +
    + + +# The Mine Data Files - A Warning The mine data files (and also the ranks and ladders) are stored on the server's file system as a way to store each mine's configurations. These files are intended for internal use only and should never be manually modified. When undeleting mines, you may have to rename the files so they are used the next time the server is started, but you should not change the contents. diff --git a/docs/prison_docs_102_setting_up_ranks.md b/docs/prison_docs_102_setting_up_ranks.md index 573eec30c..4dfb58053 100644 --- a/docs/prison_docs_102_setting_up_ranks.md +++ b/docs/prison_docs_102_setting_up_ranks.md @@ -32,6 +32,23 @@ Prison also provides a number of Admin based commands to manage ranks and ladder
    +# New! Prison Fast Start + +Prison now has a new set of features that can help you get up and running faster than ever! `/ranks autoConfigure`. It can auto create your ranks and virtual mines, A through Z, it will link the mines to the ranks, setup the basic rank commands to provide basic access permissions for your players, and assign blocks of increasing values to all mines. All you need to do is to use the command `/mines set area` on all mines to make them physical mines. Plus there are a new features to help provide the finishing touches in almost no time. + - `/ranks autoConfigure` + - `/mines set area help` + - `/mines set tracer help` + - `/mines set size help` + - `/mines set liner help` + +Documentation pertaining to the use of the auto configuration will be coming soon. + +Keep in mind that in order to use the command `/ranks autoConfigure` you cannot have any ranks or mines defined yet. So before you create a test rank, go ahead and run the auto configure so at least that is complete. + + +
    + + #Ranks There are many different ways you can setup your Prison server and ranks is just one small part of how you can customize everything. diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index 3cd133fab..f17dbe3ad 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2061,7 +2061,8 @@ public void setNotificationCommand(CommandSender sender, @Command(identifier = "mines set notificationPerm", permissions = "mines.notification", description = "Enable or disable a mine's notification permission. If enabled, then players " + "must have the mine's permission to get messages for reset. This filter " + - "can be combined with the other notification settings.") + "can be combined with the other notification settings.", + altPermissions = "mines.notification.[mineName]") public void setNotificationPermissionCommand(CommandSender sender, @Arg(name = "mineName", description = "The name of the mine to edit.") String mineName, @Arg(name = "action", def="enable", description = "Enable or disable the permission filtering: [enable, disable]") @@ -2086,7 +2087,9 @@ public void setNotificationPermissionCommand(CommandSender sender, } if ( action.equalsIgnoreCase( "enable" ) && !m.isUseNotificationPermission() ) { - sender.sendMessage( "&7Notification Permission filter has been enabled." ); + sender.sendMessage( + String.format( "&7Notification Permission filter has been enabled. Using permission %s", + m.getMineNotificationPermissionName() ) ); m.setUseNotificationPermission( true ); pMines.getMineManager().saveMine( m ); } diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java index 185f8b8f8..eb1788be5 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/data/MineData.java @@ -498,7 +498,7 @@ public void setUseNotificationPermission( boolean useNotificationPermission ) { } public String getMineNotificationPermissionName() { - return MINE_NOTIFICATION_PERMISSION_PREFIX + getName(); + return MINE_NOTIFICATION_PERMISSION_PREFIX + getName().toLowerCase(); } /** From 995e925af32740712e0d03de0a33881d4f484865 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 2 Nov 2020 20:50:39 -0500 Subject: [PATCH 175/243] It was realized that dropItemsIfInventoryIsFull was not hooked up. Hooked it up. --- .../autofeatures/AutoManagerFeatures.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java index 785151224..9999c2f3b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java @@ -511,14 +511,29 @@ private int itemCount(XMaterial source, Player player) { private void dropExtra( HashMap extra, Player player, Block block ) { if ( extra != null && extra.size() > 0 ) { for ( ItemStack itemStack : extra.values() ) { - player.getWorld().dropItem( player.getLocation(), itemStack ); - notifyPlayerThatInventoryIsFull( player, block ); + if ( !isBoolean( AutoFeatures.dropItemsIfInventoryIsFull ) ) { + player.getWorld().dropItem( player.getLocation(), itemStack ); + notifyPlayerThatInventoryIsFull( player, block ); + } + else { + notifyPlayerThatInventoryIsFullLosingItems( player, block ); + } + } } } private void notifyPlayerThatInventoryIsFull( Player player, Block block ) { + notifyPlayerWithSound( player, block, AutoFeatures.inventoryIsFull ); + } + + private void notifyPlayerThatInventoryIsFullLosingItems( Player player, Block block ) { + notifyPlayerWithSound( player, block, AutoFeatures.inventoryIsFullLosingItems ); + + } + + private void notifyPlayerWithSound( Player player, Block block, AutoFeatures messageId ) { String message = autoFeaturesConfig.getFeatureMessage( AutoFeatures.inventoryIsFull ); From bfd5d2f01fe65d35730af83c61acaecd846c6461 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 3 Nov 2020 00:27:27 -0500 Subject: [PATCH 176/243] Added XP calculations to the block break (auto pickup) function which can be disabled. Give the option to drop the xp as orbs (default) or give it directly to the player with no orbs. --- changelog_v3.2.x.md | 10 ++- .../autofeatures/AutoFeaturesFileConfig.java | 3 + .../autofeatures/AutoManagerFeatures.java | 88 ++++++++++++++++++- 3 files changed, 99 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index b513a922c..abdc9862d 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,14 @@ that you need. ## tag v3.2.2-alpha.11 - 2020-10-31 +* **New Feature: Added XP calculations to the block break (auto pickup) function** +which can be disabled. Give the option to drop the xp as orbs (default) or give it directly to the player with no orbs. + + +* **It was realized that dropItemsIfInventoryIsFull was not hooked up.** +Hooked it up. + + * **Update some docs and added a few screen prints.** Updates to a few documents to reflect some of the more recent updates to prison. @@ -22,7 +30,7 @@ Updates to a few documents to reflect some of the more recent updates to prison. Slight changed the information for /prison gui that shows that it could be preferred to configure the autofeatures. -* **Changed the perms to lower case, specfically the mine/rank name. Should have been lower case.** +* **Changed the perms to lower case, specifically the mine/rank name. Should have been lower case.** * **Had the wrong block name for dark_oak_planks (thought I fixed that already).** diff --git a/prison-core/src/main/java/tech/mcprison/prison/autofeatures/AutoFeaturesFileConfig.java b/prison-core/src/main/java/tech/mcprison/prison/autofeatures/AutoFeaturesFileConfig.java index 6fb90d89a..67b8cd2a1 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/autofeatures/AutoFeaturesFileConfig.java +++ b/prison-core/src/main/java/tech/mcprison/prison/autofeatures/AutoFeaturesFileConfig.java @@ -38,6 +38,9 @@ public enum AutoFeatures { isCalculateFortuneEnabled(general, true), isCalculateSilkEnabled(general, true), + isCalculateXPEnabled(general, true), + givePlayerXPAsOrbDrops(general, true), + dropItemsIfInventoryIsFull(general, true), playSoundIfInventoryIsFull(general, true), hologramIfInventoryIsFull(general, false), diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java index 9999c2f3b..39a3e1d54 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java @@ -8,12 +8,14 @@ import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.ArmorStand; import org.bukkit.entity.EntityType; +import org.bukkit.entity.ExperienceOrb; import org.bukkit.entity.Player; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; @@ -747,11 +749,15 @@ protected int autoFeaturePickup( BlockBreakEvent e, Player p ) { default: count += autoPickup( isBoolean( AutoFeatures.autoPickupAllBlocks ), p, itemInHand, e ); break; - } + } } + // Calculate XP on block break if enabled: + calculateXP( p, blockName, count ); + + // Output.get().logInfo( "In mine: %s blockName= [%s] %s drops= %s count= %s dropNumber= %s ", // mine.getName(), blockName, Integer.toString( dropNumber ), // (e.getBlock().getDrops(itemInHand) != null ? e.getBlock().getDrops(itemInHand).size() : "-=null=-"), @@ -1076,6 +1082,86 @@ else if ( durabilityResistance > 0 ) { } } + private void calculateXP( Player player, String blockName, int count ) { + + if ( isBoolean( AutoFeatures.isCalculateXPEnabled )) { + + int xp = 0; + for ( int i = 0; i < count; i++ ) { + xp += calculateXP( blockName ); + } + + if ( xp > 0 ) { + + if ( isBoolean( AutoFeatures.givePlayerXPAsOrbDrops )) { + + Location dropPoint = player.getLocation().add( player.getLocation().getDirection()); + + ((ExperienceOrb) player.getWorld().spawn(dropPoint, ExperienceOrb.class)).setExperience(xp); + } + else { + + player.giveExp( xp ); + } + + } + } + } + /** + *

    This calculate xp based upon the block that is broken. + * Fortune does not increase XP that a block drops. + *

    + * + *
      + *
    • Coal Ore: 0 - 2
    • + *
    • Nether Gold Ore: 0 - 1
    • + *
    • Diamond Ore, Emerald Ore: 3 - 7
    • + *
    • Lapis Luzuli Ore, Nether Quartz Ore: 2 - 5
    • + *
    • Redstone Ore: 1 - 5
    • + *
    • Monster Spawner: 15 - 43
    • + *
    + * + * @param Block + * @return + */ + private int calculateXP( String blockName ) { + int xp = 0; + + switch ( blockName.toLowerCase() ) + { + case "coal_ore": + xp = getRandom().nextInt( 2 ); + break; + + case "nether_gold_ore": + xp = getRandom().nextInt( 1 ); + break; + + case "diamond_ore": + case "emerald_ore": + xp = getRandom().nextInt( 4 ) + 3; + break; + + case "lapis_ore": + case "nether_quartz_ore": + xp = getRandom().nextInt( 3 ) + 2; + break; + + case "redstone_ore": + xp = getRandom().nextInt( 4 ) + 1; + break; + + case "spawn": + xp = getRandom().nextInt( 28 ) + 15; + break; + + default: + break; + } + + return xp; + } + /** *

    This function is based upon the following wiki page. *

    From 3b8f9d192298cd49d070863b67c188609a7ee60b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 3 Nov 2020 08:38:08 -0500 Subject: [PATCH 177/243] Fixed an index out of range issue. Was 45 when should have been 44. --- .../tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index fa2f1cb86..b7c6f0907 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -165,7 +165,7 @@ private void buttonsSetup(Inventory inv) { inv.setItem(33, mineRename); // Position of the button - inv.setItem(45, closeGUI); + inv.setItem(44, closeGUI); } } From 7e1c38bf6cd111159bd87a3ce80878bd1493ac58 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 3 Nov 2020 08:58:47 -0500 Subject: [PATCH 178/243] Fixed issue with dropping of inventory. Had a ! where it shouldn't have been and forgot to hookup the new messageId variable so the warning can change. I'm not so sure about messaging this way, using the action bar, but don't want to flood chat with a ton of messags either. Would have to put a limiter on the chat messages? --- .../spigot/autofeatures/AutoManagerFeatures.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java index 39a3e1d54..e7950c53e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/autofeatures/AutoManagerFeatures.java @@ -514,8 +514,11 @@ private void dropExtra( HashMap extra, Player player, Block if ( extra != null && extra.size() > 0 ) { for ( ItemStack itemStack : extra.values() ) { - if ( !isBoolean( AutoFeatures.dropItemsIfInventoryIsFull ) ) { - player.getWorld().dropItem( player.getLocation(), itemStack ); + if ( isBoolean( AutoFeatures.dropItemsIfInventoryIsFull ) ) { + + Location dropPoint = player.getLocation().add( player.getLocation().getDirection()); + + player.getWorld().dropItem( dropPoint, itemStack ); notifyPlayerThatInventoryIsFull( player, block ); } else { @@ -530,6 +533,11 @@ private void notifyPlayerThatInventoryIsFull( Player player, Block block ) { notifyPlayerWithSound( player, block, AutoFeatures.inventoryIsFull ); } + @SuppressWarnings( "unused" ) + private void notifyPlayerThatInventoryIsFullDroppingItems( Player player, Block block ) { + notifyPlayerWithSound( player, block, AutoFeatures.inventoryIsFullDroppingItems ); + } + private void notifyPlayerThatInventoryIsFullLosingItems( Player player, Block block ) { notifyPlayerWithSound( player, block, AutoFeatures.inventoryIsFullLosingItems ); @@ -537,7 +545,7 @@ private void notifyPlayerThatInventoryIsFullLosingItems( Player player, Block bl private void notifyPlayerWithSound( Player player, Block block, AutoFeatures messageId ) { - String message = autoFeaturesConfig.getFeatureMessage( AutoFeatures.inventoryIsFull ); + String message = autoFeaturesConfig.getFeatureMessage( messageId ); // Play sound when full if ( isBoolean( AutoFeatures.playSoundIfInventoryIsFull ) ) { From b5595e75714eda293dfa710e46352078b2bf3cc8 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 4 Nov 2020 03:17:40 -0500 Subject: [PATCH 179/243] Added an unregister all for the commands and hooked it up on the plugin's onDisable. --- .../prison/internal/platform/Platform.java | 6 +++++- .../java/tech/mcprison/prison/TestPlatform.java | 8 +++++++- .../mcprison/prison/spigot/SpigotPlatform.java | 14 ++++++++++++++ .../tech/mcprison/prison/spigot/SpigotPrison.java | 5 ++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 2bccc85d3..1a8a8153c 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -112,8 +112,12 @@ public interface Platform { * * @param command The command to unregister, without the preceding '/'. */ - void unregisterCommand(String command); + public void unregisterCommand(String command); + + public void unregisterAllCommands(); + + /** * Returns a list of all registered commands. */ diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 9cf484aee..3e150b209 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -110,8 +110,14 @@ public boolean shouldShowAlerts() { } - @Override public void unregisterCommand(String command) { + @Override + public void unregisterCommand(String command) { + } + + @Override + public void unregisterAllCommands() { + } @Override public List getCommands() { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 3273ab3d6..929e1bb3b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -377,6 +377,20 @@ public void unregisterCommand(String command) { } } + + @Override + public void unregisterAllCommands() { + List cmds = new ArrayList<>(); + for ( PluginCommand pluginCommand : commands ) { + cmds.add( pluginCommand.getLabel() ); + } + + for ( String lable : cmds ) { + unregisterCommand( lable ); + } + } + + @Override public List getCommands() { return commands; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 7f0effbe6..9776c25f4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -233,7 +233,10 @@ public void onDisable() { if (this.scheduler != null ) { this.scheduler.cancelAll(); } - Prison.get().deinit(); + + Prison.get().getPlatform().unregisterAllCommands(); + + Prison.get().deinit(); } public FileConfiguration getGuiConfig() { From f07b60a13d6a9a3454aa8667d3c5c1c0ba1748d6 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:54:53 -0500 Subject: [PATCH 180/243] Fix typo: In the /mines command add function, a & was placed one character to the right of where it should have been. --- .../java/tech/mcprison/prison/mines/commands/MinesCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index f17dbe3ad..cbdac5738 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2800,7 +2800,7 @@ public void commandAdd(CommandSender sender, if ( state == null || !state.equalsIgnoreCase( "before" ) && !state.equalsIgnoreCase( "after" )) { sender.sendMessage( - String.format("&7Please provide a valid state: b&before&7 or &bafter&7. Was state=[&b%s&7]", + String.format("&7Please provide a valid state: &bbefore&7 or &bafter&7. Was state=[&b%s&7]", state )); return; } From f6a718a4ca6a1bac74e77b86e35a9865cca92019 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:58:35 -0500 Subject: [PATCH 181/243] Clarify the role of a CommandHandler field that is used in a situation of when there is a command collision. --- .../java/tech/mcprison/prison/commands/CommandHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index f8576f318..b7010c7e8 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -44,6 +44,8 @@ public class CommandHandler { + public static final String COMMAND_PRIMARY_ROOT_COMMAND = "prison"; + // TODO unregisterCommands method, to fix argument duplication on module re-enable private Prison plugin; @@ -166,7 +168,8 @@ public String[] getHelpMessage(RegisteredCommand command) { } } - if ( command.getLabel().equalsIgnoreCase( "prison" ) && rootCommands.size() > 1 ) { + if ( command.getLabel().equalsIgnoreCase( COMMAND_PRIMARY_ROOT_COMMAND ) && + rootCommands.size() > 1 ) { message.add(ChatColor.DARK_AQUA + "Prison Root Commands:"); // Force a sorting by use of a TreeSet. Collections.sort() would not work. TreeSet rootCommandSet = new TreeSet<>(); From 197fec15179f8763818bc1d7294f7cc19ff6ad83 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 4 Nov 2020 19:07:32 -0500 Subject: [PATCH 182/243] Bug Fix: Found a bug in the command registration code that could result in failing to properly register commands. This would have been an issue if there were upper case letters in a command, since all commands are converted to lowercase when added, but when checking to see if a subcommand was already processed (ie... the "set" in the following two commands: /mines set tag, /mines set resetTime). The symptoms would be missing commands at runtime. I actually have seen this failure in the past, and realized that all commands should be entered as lowercase due to this error. Now it should work correctly. --- .../prison/commands/RegisteredCommand.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index bf04113dd..021deaf8d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -62,13 +62,25 @@ public class RegisteredCommand { this.parent = parent; } + /** + * The suffix is converted to all lowercase before adding to the map. + * + * @param suffix + * @param command + */ void addSuffixCommand(String suffix, RegisteredCommand command) { - suffixesByName.put(suffix.toLowerCase(), command); + suffixesByName.put( suffix.toLowerCase(), command); suffixes.add(command); } - + + /** + * The suffix is converted to all lowercase before checking to see if it exists in the map. + * + * @param suffix + * @return if the suffix exists + */ boolean doesSuffixCommandExist(String suffix) { - return suffixesByName.get(suffix) != null; + return suffixesByName.containsKey( suffix.toLowerCase() ); } public String getCompleteLabel() { From 000b867e8b34356353444e6b2d7b97e66cda4eb4 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 4 Nov 2020 19:08:27 -0500 Subject: [PATCH 183/243] update docs --- changelog_v3.2.x.md | 24 ++++++++++++++++++- .../prison/spigot/SpigotPlatform.java | 3 ++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index abdc9862d..128abffc2 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,28 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.11 - 2020-10-31 +## tag v3.2.2-alpha.11 - 2020-11-04 + + +* **Bug Fix: Found a bug in the command registration code** that could result in failing to properly register commands. This would have been an issue if there were upper case letters in a command, since all commands are converted to lowercase when added, but when checking to see if a subcommand was already processed (ie... the "set" in the following two commands: /mines set tag, /mines set resetTime). The symptoms would be missing commands at runtime. I actually have seen this failure in the past, and realized that all commands should be entered as lowercase due to this error. Now it should work correctly. + + +* **Clarify the role of a CommandHandler field that is used in a situation of when there is a command collision.** + + +* **Fix typo: In the /mines command add function, a & was placed one character to the right of where it should have been.** + + +* **Added an unregister all for the commands and hooked it up on the plugin's onDisable.** + + +* **Fixed issue with dropping of inventory.** +Had a ! where it shouldn't have been and forgot to hook up the new messageId variable so the warning can change. +I'm not so sure about messaging this way, using the action bar, but don't want to flood chat with a ton of messages either. Would have to put a limiter on the chat messages? + + +* **Fixed an index out of range issue in the gui.** +Was 45 when should have been 44. * **New Feature: Added XP calculations to the block break (auto pickup) function** @@ -35,6 +56,7 @@ Slight changed the information for /prison gui that shows that it could be prefe * **Had the wrong block name for dark_oak_planks (thought I fixed that already).** + * **v3.2.2-alpha.11 - 2020-10-29** diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 929e1bb3b..eb426bce0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -464,7 +464,8 @@ public void logCore( String message ) File file = new File(plugin.getDataFolder().getParent(), "Prison.old"); if (!file.exists()) { return Output.get().format( - "I could not find a 'Prison.old' folder to convert. You probably haven't had Prison 2 installed before, so you don't need to convert :)", + "Could not find a 'Prison.old' folder to convert. Prison 2 may not have been installed " + + "before, so there is nothing that can be converted :)", LogLevel.WARNING); } From 0e0f01e5344a5ad9a1a78d27fcec22fcff06a64b Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Fri, 6 Nov 2020 22:39:31 +0100 Subject: [PATCH 184/243] Mines Blocks GUI Fix Changelogs: - Fixed a very stupid error I've made while setting up the only static item of the inventory. --- .../mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 6625fc8e0..768fda5e8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -56,7 +56,7 @@ public void open(){ ); ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, addBlockLore, SpigotPrison.format("&a" + "Add")); - inv.setItem(56, addBlockButton); + inv.setItem(dimension - 1, addBlockButton); if ( useNewBlockModel ) { From 226183be40bd6e4a91da30c00e529ee9f8930006 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 6 Nov 2020 16:46:13 -0500 Subject: [PATCH 185/243] Bug fix: If the player was standing in a mine and there are no other mines around, it used to show the mine they are in, plus say there are no other mines within 150 blocks. Now it will not show the "no other mines in 150 blocks" message. --- .../tech/mcprison/prison/mines/commands/MinesCommands.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index cbdac5738..d81675ffa 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2626,7 +2626,8 @@ else if ( !mine.isVirtual() && mine.getBounds().within( player.getLocation(), M } } - } else { + } + else if ( inMine.size() == 0 ) { // you are not near any mines: sender.sendMessage( "&3Sorry, you are not within " + MineData.MINE_RESET__BROADCAST_RADIUS_BLOCKS + " blocks from any mine." ); From b14b8c6bf359e921285ed2a45cb0602775608137 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 8 Nov 2020 02:10:10 -0500 Subject: [PATCH 186/243] For the 1.8.x material types in prison, there exists different states with the data value that could result in block types that are unknown. Some of it may be orientation or degree of flowing water, or even wetness of soil. I've seen it with leaves of different shades, or even with logs. The idea here to fix this issue is not so much that we don't know the block type as much as it shouldn't matter the slight variations in the data field. Therefore if we fail to match on the id and data, then go off of the material name. That's a good fallback. --- .../tech/mcprison/prison/util/BlockType.java | 13 +++++++++++++ .../prison/spigot/compat/Spigot18Blocks.java | 16 +++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java index 1e4358898..a64284978 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java +++ b/prison-core/src/main/java/tech/mcprison/prison/util/BlockType.java @@ -124,6 +124,19 @@ public enum BlockType { FLOWING_WATER( 8, "minecraft:flowing_water", 0, MaterialType.BLOCK, "WATER" ), STILL_WATER( 9, "minecraft:water", 0, MaterialType.BLOCK, "STATIONARY_WATER"), + + STATIONARY_WATER_01( 9, "minecraft:water", 1, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_02( 9, "minecraft:water", 2, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_03( 9, "minecraft:water", 3, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_04( 9, "minecraft:water", 4, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_05( 9, "minecraft:water", 5, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_06( 9, "minecraft:water", 6, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_07( 9, "minecraft:water", 7, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_08( 9, "minecraft:water", 8, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_09( 9, "minecraft:water", 9, MaterialType.BLOCK, "STATIONARY_WATER"), + STATIONARY_WATER_10( 9, "minecraft:water", 10, MaterialType.BLOCK, "STATIONARY_WATER"), + + FLOWING_LAVA( 10, "minecraft:flowing_lava", 0, MaterialType.BLOCK, "LAVA" ), STILL_LAVA( 11, "minecraft:lava", 0, MaterialType.BLOCK ), diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index 00275aaf4..f152453ca 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -55,12 +55,18 @@ public BlockType getBlockType(Block spigotBlock) { results = BlockType.getBlock(id, data); if ( results == null ) { - Output.get().logWarn( "Spigot1.8Blocks.getBlockType() : " + - "Spigot block cannot be mapped to a prison BlockType : " + - spigotBlock.getType().name() + - " id = " + id + " data = " + data + - " BlockType = " + ( results == null ? "null" : results.name())); + results = BlockType.getBlock( spigotBlock.getType().name() ); + + if ( results == null ) { + + Output.get().logWarn( "Spigot1.8Blocks.getBlockType() : " + + "Spigot block cannot be mapped to a prison BlockType : " + + spigotBlock.getType().name() + + " id = " + id + " data = " + data + + " BlockType = " + ( results == null ? "null" : results.name())); + + } } putCachedBlockType( spigotBlock, (byte) data, results ); From 43ee78576394c06ddd6c396a41377f3d813a9d61 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 8 Nov 2020 14:24:13 -0500 Subject: [PATCH 187/243] Now provides the capture of the actual label that a command is registered with Bukkit when there is a conflict. It now uses the registered label when displaying any of the sub commands or list of all registered root commands. This will allow the users to know what commands they actually have to enter to get them to work, instead of guessing when there is a conflict. --- changelog_v3.2.x.md | 18 ++++- .../prison/commands/CommandHandler.java | 78 ++++++++++++++----- .../prison/commands/PluginCommand.java | 16 +++- .../prison/commands/RegisteredCommand.java | 2 +- .../prison/spigot/SpigotPlatform.java | 72 +++++++++-------- 5 files changed, 130 insertions(+), 56 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 128abffc2..4d066fc0d 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,23 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.11 - 2020-11-04 +## tag v3.2.2-alpha.11 - 2020-11-08 + + +* **New Feature: Now provides the capture of the actual label that a command is registered with Bukkit when there is a conflict.** The prison Command Handler now uses the registered label when displaying any of the sub commands or list of all registered root commands. This will allow the users to know what commands they actually have to enter to get them to work, instead of guessing when there is a conflict. + + +* **Improve block matching for pre mc v1.13.0** +For the 1.8.x material types in prison, there exists different states with the data value that could result in block types that are unknown. Some of it may be orientation or degree of flowing water, or even wetness of soil. I've seen it with leaves of different shades, or even with logs. +The idea here to fix this issue is not so much that we don't know the block type as much as it shouldn't matter the slight variations in the data field. Therefore if we fail to match on the id and data, then go off of the material name. That's a good fallback. + + +* **Bug fix: Fix incorrect display of no other mines near for /mines whereami** +If the player was standing in a mine and there are no other mines around, it used to show the mine they are in, plus say there are no other mines within 150 blocks. +Now it will not show the "no other mines in 150 blocks" message. + + +* **Mines Blocks GUI Fix** * **Bug Fix: Found a bug in the command registration code** that could result in failing to properly register commands. This would have been an issue if there were upper case letters in a command, since all commands are converted to lowercase when added, but when checking to see if a subcommand was already processed (ie... the "set" in the following two commands: /mines set tag, /mines set resetTime). The symptoms would be missing commands at runtime. I actually have seen this failure in the past, and realized that all commands should be entered as lowercase due to this error. Now it should work correctly. diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index b7010c7e8..0f2293536 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -25,6 +25,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.TreeMap; import java.util.TreeSet; import tech.mcprison.prison.Prison; @@ -45,8 +46,11 @@ public class CommandHandler { public static final String COMMAND_PRIMARY_ROOT_COMMAND = "prison"; + public static final String COMMAND_FALLBACK_PREFIX = "prison"; + public static final String COMMAND_HELP_TEXT = "help"; + - // TODO unregisterCommands method, to fix argument duplication on module re-enable + private Map registeredCommands; private Prison plugin; private Map, ArgumentHandler> argumentHandlers = @@ -54,6 +58,7 @@ public class CommandHandler { private Map rootCommands = new HashMap<>(); + private PermissionHandler permissionHandler = (sender, permissions) -> { for (String perm : permissions) { if (!sender.hasPermission(perm)) { @@ -193,13 +198,39 @@ public String[] getHelpMessage(RegisteredCommand command) { return message.toArray(new String[0]); } - @Override public String getUsage(RegisteredCommand command) { + /** + *

    If the registration of this command was not successful as the original + * label, it would have had the fallback prefix added until the command + * was unique. Therefore, use that registered label instead so the users + * will know what command they need to enter. + *

    + * + * @param label + * @param command + * @return + */ + private String getRootCommandRegisteredLabel( String label, RegisteredCommand command ) { + String commandLabel = command.getLabel(); + if ( command instanceof RootCommand ) { + RootCommand rootCommand = (RootCommand) command; + if ( rootCommand.getBukkitCommand().getLabelRegistered() != null ) { + commandLabel = rootCommand.getBukkitCommand().getLabelRegistered(); + } + } + return commandLabel; + } + + @Override + public String getUsage(RegisteredCommand command) { StringBuilder usage = new StringBuilder(); - usage.append(command.getLabel()); + + String cmdLabel = getRootCommandRegisteredLabel( command.getLabel(), command ); + usage.append(cmdLabel); RegisteredCommand parent = command.getParent(); while (parent != null) { - usage.insert(0, parent.getLabel() + " "); + String label = getRootCommandRegisteredLabel( parent.getLabel(), parent ); + usage.insert(0, label + " "); parent = parent.getParent(); } @@ -233,11 +264,13 @@ public String[] getHelpMessage(RegisteredCommand command) { } }; - private String helpSuffix = "help"; +// private String helpSuffix = "help"; public CommandHandler() { this.plugin = Prison.get(); + this.registeredCommands = new TreeMap<>(); + registerArgumentHandler(String.class, new StringArgumentHandler()); registerArgumentHandler(int.class, new IntegerArgumentHandler()); registerArgumentHandler(double.class, new DoubleArgumentHandler()); @@ -271,7 +304,7 @@ public void registerArgumentHandler(Class clazz, ArgumentHandler argHandler) { if (argumentHandlers.get(clazz) != null) { throw new IllegalArgumentException( - "The is already a ArgumentHandler bound to the class " + clazz.getName() + "."); + "There is already a ArgumentHandler bound to the class " + clazz.getName() + "."); } argHandler.handler = this; @@ -279,7 +312,12 @@ public void registerArgumentHandler(Class clazz, } public void registerCommands(Object commands) { - for (Method method : commands.getClass().getDeclaredMethods()) { + + // Keep a reference to the registered command object so it can be + // accessed in the future if needed for other uses. + getRegisteredCommands().put( commands.getClass().getSimpleName(), commands ); + + for (Method method : commands.getClass().getDeclaredMethods()) { Command commandAnno = method.getAnnotation(Command.class); if (commandAnno == null) { continue; @@ -325,10 +363,11 @@ public void registerCommands(Object commands) { if ( !cmdSender.getSimpleName().equalsIgnoreCase( "CommandSender") ) { Output.get().logWarn( String.format( - "Possible issue has been detected with a prison command where " + + "Possible issue has been detected with " + + "registering a command where " + "the first parameter is not a CommandSender: " + - "class = [%s] method = [%s] first parameter type = [%s]" - , method.getDeclaringClass().getSimpleName(), method.getName(), + "class = [%s] method = [%s] first parameter type = [%s]", + method.getDeclaringClass().getSimpleName(), method.getName(), cmdSender.getSimpleName() )); } @@ -339,16 +378,10 @@ public void registerCommands(Object commands) { } } - public String getHelpSuffix() { - return helpSuffix; - } - - public void setHelpSuffix(String suffix) { - this.helpSuffix = suffix; - } public boolean onCommand(CommandSender sender, PluginCommand command, String label, - String[] args) { + String[] args) { + RootCommand rootCommand = rootCommands.get(command); if (rootCommand == null) { return false; @@ -368,7 +401,14 @@ public boolean onCommand(CommandSender sender, PluginCommand command, String lab return true; } - + + public Map getRegisteredCommands() { + return registeredCommands; + } + public void setRegisteredCommands( Map registeredCommands ) { + this.registeredCommands = registeredCommands; + } + /* * ###Tab-Complete### * diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java index a559cad56..be2374eca 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java @@ -23,10 +23,15 @@ */ public class PluginCommand { - private String label, description, usage; + private String label; + private String labelRegistered; + + private String description, usage; public PluginCommand(String label, String description, String usage) { this.label = label; + this.labelRegistered = null; + this.description = description; this.usage = usage; } @@ -35,6 +40,13 @@ public String getLabel() { return label; } + public String getLabelRegistered() { + return labelRegistered; + } + public void setLabelRegistered( String labelRegistered ) { + this.labelRegistered = labelRegistered; + } + public String getDescription() { return description; } @@ -44,7 +56,7 @@ public void setDescription(String description) { } public String getUsage() { - return usage; + return getLabelRegistered() == null ? usage : "/" + getLabelRegistered(); } public void setUsage(String usage) { diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index 021deaf8d..15884179a 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -104,7 +104,7 @@ void execute(CommandSender sender, String[] args) { if (args.length > 0) { String suffixLabel = args[0].toLowerCase(); - if (suffixLabel.equals(handler.getHelpSuffix())) { + if (suffixLabel.equals( CommandHandler.COMMAND_HELP_TEXT )) { sendHelpMessage(sender); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index eb426bce0..41a381a27 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -311,42 +311,43 @@ private Optional getOfflinePlayer(String name, UUID uuid) { Command cmd = new Command(command.getLabel(), command.getDescription(), command.getUsage(), Collections.emptyList()) { - @Override public boolean execute(CommandSender sender, String commandLabel, - String[] args) { - if (sender instanceof org.bukkit.entity.Player) { - return Prison.get().getCommandHandler() - .onCommand(new SpigotPlayer((org.bukkit.entity.Player) sender), - command, commandLabel, args); - } + @Override + public boolean execute(CommandSender sender, String commandLabel, + String[] args) { + if (sender instanceof org.bukkit.entity.Player) { return Prison.get().getCommandHandler() - .onCommand(new SpigotCommandSender(sender), command, commandLabel, - args); + .onCommand(new SpigotPlayer((org.bukkit.entity.Player) sender), + command, commandLabel, args); + } + return Prison.get().getCommandHandler() + .onCommand(new SpigotCommandSender(sender), command, commandLabel, + args); - /* - * ###Tab-Complete### - * - * Disabled for now until a full solution can be implemented for tab complete. - * - // Output.get().logInfo( "SpigotPlatform.registerCommand: Command: %s :: %s", - // command.getLabel(), command.getUsage() ); - @Override - public List tabComplete( CommandSender sender, String[] args ) - { - Output.get().logInfo( "SpigotPlatform.registerCommand: Command.tabComplete 1" ); - // TODO Auto-generated method stub - return super.tabComplete( sender, args ); - } + /* + * ###Tab-Complete### + * + * Disabled for now until a full solution can be implemented for tab complete. + * +// Output.get().logInfo( "SpigotPlatform.registerCommand: Command: %s :: %s", +// command.getLabel(), command.getUsage() ); + @Override + public List tabComplete( CommandSender sender, String[] args ) + { + Output.get().logInfo( "SpigotPlatform.registerCommand: Command.tabComplete 1" ); + // TODO Auto-generated method stub + return super.tabComplete( sender, args ); + } - @Override - public List tabComplete( CommandSender sender, String alias, String[] args ) - throws IllegalArgumentException - { - Output.get().logInfo( "SpigotPlatform.registerCommand: Command.tabComplete 2" ); - // TODO Auto-generated method stub - return super.tabComplete( sender, alias, args ); - } - */ - } + @Override + public List tabComplete( CommandSender sender, String alias, String[] args ) + throws IllegalArgumentException + { + Output.get().logInfo( "SpigotPlatform.registerCommand: Command.tabComplete 2" ); + // TODO Auto-generated method stub + return super.tabComplete( sender, alias, args ); + } + */ + } }; @SuppressWarnings( "unused" ) @@ -354,6 +355,11 @@ public List tabComplete( CommandSender sender, String alias, String[] ar ((SimpleCommandMap) plugin.commandMap.get(Bukkit.getServer())) .register(command.getLabel(), "prison", cmd ); + // Always record the registered label: + if ( cmd != null ) { + command.setLabelRegistered( cmd.getLabel() ); + } + commands.add(command); // if ( !success ) { From ccb69f2bd94e2488fa91282daf5b28696dd2e587 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Mon, 9 Nov 2020 18:03:37 -0500 Subject: [PATCH 188/243] removed the trailing &f from the rank tag since it was causing display failures with EssentialsX chat. --- .../java/tech/mcprison/prison/ranks/commands/RanksCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index a801569bd..ebf6f114e 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -280,7 +280,7 @@ else if ( plugins.containsKey("PowerfulPerms") ){ for ( char cRank = 'A'; cRank <= 'Z'; cRank++) { String rankName = Character.toString( cRank ); - String tag = "&7[&" + Integer.toHexString((colorID++ % 15) + 1) + rankName + "&7]&f"; + String tag = "&7[&" + Integer.toHexString((colorID++ % 15) + 1) + rankName + "&7]"; char cRankNext = (char) (cRank + 1); String rankNameNext = Character.toString( cRankNext ); From 9e99fa2cb490d0f35e61c012da1eeefe50b54cc5 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 10 Nov 2020 13:16:24 -0500 Subject: [PATCH 189/243] Bump to v3.2.1-alpha.12 due to major additions being added. --- changelog_v3.2.x.md | 10 +++++++++- gradle.properties | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 4d066fc0d..0bfcf758a 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,15 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.11 - 2020-11-08 +## tag v3.2.2-alpha.12 - 2020-11-10 + + + +* **v3.2.2-alpha.12 - 2020-11-10** + + +* **removed the trailing &f from the rank tag** +This was within the new feature /ranks autoConfigure. It was reported that there were issues within the plugin Scoreboard-r by RienBijl that data was being truncated and lost. Looking in to the issue it was found that there was a stray &f at the end of a tag. It had no impact, but it was removed anyway since it does nothing. It was determined that the scoreboard-r plugin is buggy and was causing errors. * **New Feature: Now provides the capture of the actual label that a command is registered with Bukkit when there is a conflict.** The prison Command Handler now uses the registered label when displaying any of the sub commands or list of all registered root commands. This will allow the users to know what commands they actually have to enter to get them to work, instead of guessing when there is a conflict. diff --git a/gradle.properties b/gradle.properties index 8bcc4f3c2..293938f4b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.11 +version=3.2.2-alpha.12 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From 22cf18dddfff26a8c34b5f0ff6d36f3cdbd19600 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 10 Nov 2020 13:18:13 -0500 Subject: [PATCH 190/243] Add the complexities of supporting aliases in the prison command handler. Each command can have one or more aliases mapped to almost any level of paths. This also includes a rich support of the sub-command and help listsing to better identify which commands are aliases and also what aliases are available. There is room for enhancements that will be added soon. --- changelog_v3.2.x.md | 4 + .../mcprison/prison/commands/Command.java | 25 +- .../prison/commands/CommandHandler.java | 317 +++++++++++++++--- .../prison/commands/PluginCommand.java | 47 ++- .../prison/commands/RegisteredCommand.java | 113 ++++++- .../prison/spigot/SpigotPlatform.java | 24 +- .../commands/PrisonShortcutCommands.java | 1 + 7 files changed, 455 insertions(+), 76 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 0bfcf758a..104dda541 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,10 @@ that you need. ## tag v3.2.2-alpha.12 - 2020-11-10 +* **New Feature! Command Aliases!** +Add the complexities of supporting aliases in the prison command handler. Each command can have one or more aliases mapped to almost any level of paths. +This also includes a rich support of the sub-command and help listings to better identify which commands are aliases and also what aliases are available. There is room for enhancements that will be added soon. + * **v3.2.2-alpha.12 - 2020-11-10** diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/Command.java b/prison-core/src/main/java/tech/mcprison/prison/commands/Command.java index 42174d4fa..2e0554598 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/Command.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/Command.java @@ -25,13 +25,15 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) public @interface Command { /** * The description of this command */ - String description() default ""; + public String description() default ""; /** * The identifier describes what command definition this will bind to. Spliced by spaces, you can @@ -41,21 +43,21 @@ * command by writing (if the root command does not choose an alias instead):
    {@code /root * sub1 sub2}
    */ - String identifier(); + public String identifier(); /** * If this command can only be executed by players (default true).
    If you turn this to false, * the first parameter in the method must be the {@link CommandSender} to avoid {@link * ClassCastException} */ - boolean onlyPlayers() default true; + public boolean onlyPlayers() default true; /** * The permissions to check if the user have before execution. If it is empty the command does not * require any permission.

    If the user don't have one of the permissions, they will get an * error message stating that they do not have permission to use the command. */ - String[] permissions() default {}; + public String[] permissions() default {}; /** @@ -77,5 +79,16 @@ * was not available before. * */ - String[] altPermissions() default {}; + public String[] altPermissions() default {}; + + + /** + * The aliases field provides the ability to define one or more aliases to register a given + * command with Bukkit. + * + * @return + */ + public String[] aliases() default {}; + + } diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index 0f2293536..6f4d7507d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -23,7 +23,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; @@ -52,13 +51,42 @@ public class CommandHandler { private Map registeredCommands; + private TreeSet allRegisteredCommands; + private Prison plugin; private Map, ArgumentHandler> argumentHandlers = new HashMap, ArgumentHandler>(); private Map rootCommands = new HashMap<>(); - + +// private List commands = new ArrayList<>(); + + +// private TabCompleaterData tabCompleaterData; + +// private String helpSuffix = "help"; + + public CommandHandler() { + this.plugin = Prison.get(); + + this.registeredCommands = new TreeMap<>(); + this.allRegisteredCommands = new TreeSet<>(); + + //this.tabCompleaterData = new TabCompleaterData(); + + + registerArgumentHandler(String.class, new StringArgumentHandler()); + registerArgumentHandler(int.class, new IntegerArgumentHandler()); + registerArgumentHandler(double.class, new DoubleArgumentHandler()); + registerArgumentHandler(Player.class, new PlayerArgumentHandler()); + registerArgumentHandler(World.class, new WorldArgumentHandler()); + registerArgumentHandler(BlockType.class, new BlockArgumentHandler()); + } + + + + private PermissionHandler permissionHandler = (sender, permissions) -> { for (String perm : permissions) { if (!sender.hasPermission(perm)) { @@ -151,6 +179,29 @@ public String[] getHelpMessage(RegisteredCommand command) { } } + if ( command.getAliases() != null && command.getAliases().length > 0 ) { + + StringBuilder sb = new StringBuilder(); + + if ( command.getAliases() != null && command.getAliases().length > 0 ) { + for ( String perm : command.getAliases() ) { + if ( sb.length() > 0 ) { + sb.append( " " ); + } + sb.append( ChatColor.DARK_BLUE ).append( "[" ) + .append( ChatColor.AQUA ).append( perm ) + .append( ChatColor.DARK_BLUE ).append( "]" ); + } + } + + if ( sb.length() > 0 ) { + message.add(ChatColor.DARK_AQUA + "Aliases:"); + + sb.insert( 0, " " ); + message.add( sb.toString() ); + } + + } } List subcommands = command.getSuffixes(); @@ -162,10 +213,13 @@ public String[] getHelpMessage(RegisteredCommand command) { String subCmd = scommand.getUsage(); int subCmdSubCnt = scommand.getSuffixes().size(); + String subCommands = (subCmdSubCnt <= 1 ? "" : + ChatColor.DARK_AQUA + "(" + subCmdSubCnt + " Subcommands)"); + + String isAlias = scommand.isAlias() ? ChatColor.DARK_AQUA + " Alias" : ""; - subCommandSet.add(subCmd + (subCmdSubCnt <= 1 ? "" : - ChatColor.DARK_AQUA + " (" + subCmdSubCnt + - " Subcommands)")); + subCommandSet.add( + String.format( "%s %s %s", subCmd, subCommands, isAlias )); } for (String subCmd : subCommandSet) { @@ -175,27 +229,133 @@ public String[] getHelpMessage(RegisteredCommand command) { if ( command.getLabel().equalsIgnoreCase( COMMAND_PRIMARY_ROOT_COMMAND ) && rootCommands.size() > 1 ) { - message.add(ChatColor.DARK_AQUA + "Prison Root Commands:"); + + ArrayList rootCommandsMessages = buildHelpRootCommands(); + if ( rootCommandsMessages.size() > 1 ) { + message.addAll( rootCommandsMessages ); + } + + ArrayList aliasesMessages = buildHelpAliases(); + if ( aliasesMessages.size() > 1 ) { + message.addAll( aliasesMessages ); + } + } + + + return message.toArray(new String[0]); + } + + private ArrayList buildHelpRootCommands() { + ArrayList message = new ArrayList<>(); + + message.add(ChatColor.DARK_AQUA + "Root Commands:"); // Force a sorting by use of a TreeSet. Collections.sort() would not work. TreeSet rootCommandSet = new TreeSet<>(); // Try adding in all other root commands: - Set rootKeys = rootCommands.keySet(); + Set rootKeys = getRootCommands().keySet(); for ( PluginCommand rootKey : rootKeys ) { - String rootCmd = rootKey.getUsage(); + StringBuilder sbAliases = new StringBuilder(); + + // Do not list aliases: + if ( !(rootKey.getRegisteredCommand().isAlias() && rootKey.getRegisteredCommand().getParentOfAlias() != null) ) { +// String isAlias = rootKey.getRegisteredCommand().isAlias() ? ChatColor.DARK_AQUA + " Alias" : ""; +// if ( rootKey.getRegisteredCommand().getRegisteredAliases().size() > 0 ) { +// for ( RegisteredCommand alias : rootKey.getRegisteredCommand().getRegisteredAliases() ) { +// +// sbAliases.append( ChatColor.DARK_BLUE ).append( "[" ).append( ChatColor.AQUA ).append( "/" ) +// .append( getRootCommandRegisteredLabel(alias) ) +// .append( ChatColor.DARK_BLUE ).append( "] " ); +// } +// sbAliases.insert( 0, +// new StringBuilder().append( ChatColor.DARK_AQUA ). +// append( "Aliases: " ).append( ChatColor.AQUA )); +// } + String rootCmd = + String.format( "%s %s", + rootKey.getUsage(), sbAliases.toString() ); + rootCommandSet.add( rootCmd ); + } + } for (String rootCmd : rootCommandSet) { message.add(rootCmd); } + + return message; } + /** + * This builds a list of all the aliases that exist. + * + * @return + */ + private ArrayList buildHelpAliases() { + ArrayList message = new ArrayList<>(); + + message.add(ChatColor.DARK_AQUA + "Aliases:"); - return message.toArray(new String[0]); + // Force a sorting by use of a TreeSet. Collections.sort() would not work. + TreeSet aliasesSet = new TreeSet<>(); + + + for ( RegisteredCommand regCmd : getAllRegisteredCommands() ) { + buildHelpAliasMessage( regCmd, aliasesSet ); +// plugin.logDebug( "### CommandHandler.buildHelpAliases ### test: %s ", regCmd.toString() ); + } + + +// // Try adding in all other root commands: +// Set rootKeys = getRootCommands().keySet(); +// for ( PluginCommand rootKey : rootKeys ) { +// +// plugin.logDebug( "### CommandHandler.buildHelpAliases ### rootCommands: %s ", rootKey.toString() ); +// RegisteredCommand registeredCommand = rootKey.getRegisteredCommand(); +// +// buildHelpAliases( registeredCommand, aliasesSet ); +// } + + // Sorted results, add to the List: + for (String rootCmd : aliasesSet) { + message.add(rootCmd); + } + + return message; + } + +// private void buildHelpAliases( RegisteredCommand registeredCommand, TreeSet aliasesSet ) { +// buildHelpAliasMessage( registeredCommand, aliasesSet ); +// +// plugin.logDebug( "### CommandHandler.buildHelpAliases ### : %s ", registeredCommand.toString() ); +// +// for ( RegisteredCommand suffixRegCmd : registeredCommand.getSuffixes() ) { +// +// buildHelpAliases( suffixRegCmd, aliasesSet ); +// } +// +// } + + private void buildHelpAliasMessage( RegisteredCommand registeredCommand, TreeSet aliasesSet ) { + if ( registeredCommand.isAlias() && registeredCommand.getParentOfAlias() != null) { + + StringBuilder sbAliases = new StringBuilder(); + + sbAliases.append( ChatColor.DARK_BLUE ).append( "(" ).append( ChatColor.AQUA ) + .append( registeredCommand.getParentOfAlias().getUsage() ) + .append( ChatColor.DARK_BLUE ).append( ")" ); + + String rootCmd = + String.format( "%s %s", + registeredCommand.getUsage(), + sbAliases.toString() ); + + aliasesSet.add( rootCmd ); + } } /** @@ -209,7 +369,7 @@ public String[] getHelpMessage(RegisteredCommand command) { * @param command * @return */ - private String getRootCommandRegisteredLabel( String label, RegisteredCommand command ) { + private String getRootCommandRegisteredLabel(RegisteredCommand command ) { String commandLabel = command.getLabel(); if ( command instanceof RootCommand ) { RootCommand rootCommand = (RootCommand) command; @@ -224,12 +384,12 @@ private String getRootCommandRegisteredLabel( String label, RegisteredCommand co public String getUsage(RegisteredCommand command) { StringBuilder usage = new StringBuilder(); - String cmdLabel = getRootCommandRegisteredLabel( command.getLabel(), command ); + String cmdLabel = getRootCommandRegisteredLabel( command ); usage.append(cmdLabel); RegisteredCommand parent = command.getParent(); while (parent != null) { - String label = getRootCommandRegisteredLabel( parent.getLabel(), parent ); + String label = getRootCommandRegisteredLabel( parent ); usage.insert(0, label + " "); parent = parent.getParent(); } @@ -264,20 +424,6 @@ public String getUsage(RegisteredCommand command) { } }; -// private String helpSuffix = "help"; - - public CommandHandler() { - this.plugin = Prison.get(); - - this.registeredCommands = new TreeMap<>(); - - registerArgumentHandler(String.class, new StringArgumentHandler()); - registerArgumentHandler(int.class, new IntegerArgumentHandler()); - registerArgumentHandler(double.class, new DoubleArgumentHandler()); - registerArgumentHandler(Player.class, new PlayerArgumentHandler()); - registerArgumentHandler(World.class, new WorldArgumentHandler()); - registerArgumentHandler(BlockType.class, new BlockArgumentHandler()); - } @SuppressWarnings("unchecked") public ArgumentHandler getArgumentHandler(Class clazz) { @@ -311,53 +457,103 @@ public void registerArgumentHandler(Class clazz, argumentHandlers.put(clazz, argHandler); } - public void registerCommands(Object commands) { + public void registerCommands(Object methodInstance) { // Keep a reference to the registered command object so it can be // accessed in the future if needed for other uses. - getRegisteredCommands().put( commands.getClass().getSimpleName(), commands ); + getRegisteredCommands().put( methodInstance.getClass().getSimpleName(), methodInstance ); - for (Method method : commands.getClass().getDeclaredMethods()) { + for (Method method : methodInstance.getClass().getDeclaredMethods()) { Command commandAnno = method.getAnnotation(Command.class); if (commandAnno == null) { continue; } - String[] identifiers = commandAnno.identifier().split(" "); + RegisteredCommand mainCommand = commandRegisterConfig( method, commandAnno, methodInstance ); + + if ( commandAnno.aliases() != null && commandAnno.aliases().length > 0 ) { + + for ( String alias : commandAnno.aliases() ) + { + RegisteredCommand aliasCommand = commandRegisterConfig( method, commandAnno, methodInstance, alias ); + + // Add the alias to the primary RegisteredCommand to track it's own aliases: + mainCommand.getRegisteredAliases().add( aliasCommand ); + aliasCommand.setParentOfAlias( mainCommand ); + } + + } + + } + } + + private RegisteredCommand commandRegisterConfig( Method method, Command commandAnno, Object methodInstance ) { + return commandRegisterConfig( method, commandAnno, methodInstance, null ); + } + + private RegisteredCommand commandRegisterConfig( Method method, Command commandAnno, Object methodInstance, String alias ) { + String[] identifiers = ( alias == null ? commandAnno.identifier() : alias).split(" "); + if (identifiers.length == 0) { throw new RegisterCommandMethodException(method, "Invalid identifiers"); } - Optional rootPcommandOptional = - plugin.getPlatform().getCommand(identifiers[0]); - PluginCommand rootPcommand; + String label = identifiers[0]; - if (!rootPcommandOptional.isPresent()) { - rootPcommand = new PluginCommand(identifiers[0], commandAnno.description(), - "/" + identifiers[0]); - plugin.getPlatform().registerCommand(rootPcommand); - } else { - rootPcommand = rootPcommandOptional.get(); - } + PluginCommand rootPluginCommand = plugin.getPlatform().getCommand(label).orElse( null ); + + if ( rootPluginCommand == null ) { + rootPluginCommand = new PluginCommand(label, + commandAnno.description(), + "/" + label, + commandAnno.aliases() ); + plugin.getPlatform().registerCommand(rootPluginCommand); + } - RegisteredCommand mainCommand = rootCommands - .computeIfAbsent(rootPcommand, k -> new RootCommand(rootPcommand, this)); + // If getRootCommands() does not contain the rootPCommand then add it: + if ( !getRootCommands().containsKey( rootPluginCommand ) ) { + RootCommand rootRegisteredCommand = new RootCommand( rootPluginCommand, this ); + rootRegisteredCommand.setAlias( alias != null ); + + // Must add all new RegisteredCommand objects to both getAllRegisteredCommands() and + // getTabCompleterData(). + getAllRegisteredCommands().add( rootRegisteredCommand ); +// getTabCompleaterData().add( rootRegisteredCommand ); + + getRootCommands().put( rootPluginCommand, rootRegisteredCommand ); + } + + RegisteredCommand mainCommand = getRootCommands().get( rootPluginCommand ); + for (int i = 1; i < identifiers.length; i++) { String suffix = identifiers[i]; if (mainCommand.doesSuffixCommandExist(suffix)) { mainCommand = mainCommand.getSuffixCommand(suffix); } else { RegisteredCommand newCommand = new RegisteredCommand(suffix, this, mainCommand); + newCommand.setAlias( alias != null ); mainCommand.addSuffixCommand(suffix, newCommand); + + // Must add all new RegisteredCommand objects to both getAllRegisteredCommands() and + // getTabCompleterData(). + getAllRegisteredCommands().add( newCommand ); +// getTabCompleaterData().add( newCommand ); + mainCommand = newCommand; } } + // Associate the last RegisteredCommand (mainCommand) with the rootPCommand since that is + // the leaf-node that will be tied to the registered command, especially with aliases: + rootPluginCommand.setRegisteredCommand( mainCommand ); + + // Validate that the first parameter, if it exists, is actually a CommandSender: if ( method.getParameterCount() > 0 ) { - // The first parameter "should" be CommandSender: + // The first parameter "should" always be CommandSender or there will be difficult + // to trace failures at runtime: Class cmdSender = method.getParameterTypes()[0]; if ( !cmdSender.getSimpleName().equalsIgnoreCase( "CommandSender") ) { @@ -374,9 +570,9 @@ public void registerCommands(Object commands) { } - mainCommand.set(commands, method); - } - } + mainCommand.set(methodInstance, method); + return mainCommand; + } public boolean onCommand(CommandSender sender, PluginCommand command, String label, @@ -384,6 +580,8 @@ public boolean onCommand(CommandSender sender, PluginCommand command, String lab RootCommand rootCommand = rootCommands.get(command); if (rootCommand == null) { + Output.get().logError( "CommandHandler.onCommand(): " + command.getLabel() + + " : No root command found. " ); return false; } @@ -393,11 +591,11 @@ public boolean onCommand(CommandSender sender, PluginCommand command, String lab return true; } -// Output.get().logError( "### #### CommandHandler.onCommand : 1 " + -// "label = " + label + " args.length = " + -// (args == null ? "null" : args.length) ); + else { - rootCommand.execute(sender, args); + rootCommand.execute(sender, args); + } + return true; } @@ -409,6 +607,25 @@ public void setRegisteredCommands( Map registeredCommands ) { this.registeredCommands = registeredCommands; } + public TreeSet getAllRegisteredCommands() { + return allRegisteredCommands; + } + + public Map getRootCommands() { + return rootCommands; + } + public void setRootCommands( Map rootCommands ) { + this.rootCommands = rootCommands; + } + +// private List getCommands() { +// return commands; +// } + +// public TabCompleaterData getTabCompleaterData() { +// return tabCompleaterData; +// } + /* * ###Tab-Complete### * diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java index be2374eca..69a7f7a50 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/PluginCommand.java @@ -18,6 +18,9 @@ package tech.mcprison.prison.commands; +import java.util.ArrayList; +import java.util.List; + /** * @author Faizaan A. Datoo */ @@ -26,16 +29,44 @@ public class PluginCommand { private String label; private String labelRegistered; - private String description, usage; + private String description; + private String usage; + + private List aliases; + + private RegisteredCommand registeredCommand; - public PluginCommand(String label, String description, String usage) { + public PluginCommand(String label, String description, String usage, String[] aliases) { this.label = label; this.labelRegistered = null; this.description = description; this.usage = usage; + + this.aliases = new ArrayList<>(); + if ( aliases != null && aliases.length > 0 ) { + for ( String alyez : aliases ) { + this.aliases.add( alyez ); + } + } } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append( getUsage() ) + .append( " alias: " ).append( getAliases().size() ) + .append( " hasRegCmd: " ).append( getRegisteredCommand() != null ); + + if ( getRegisteredCommand() != null ) { + sb.append( " (" ).append( getRegisteredCommand().getUsage() ).append( ")" ); + } + + return sb.toString(); + } + public String getLabel() { return label; } @@ -62,4 +93,16 @@ public String getUsage() { public void setUsage(String usage) { this.usage = usage; } + + public List getAliases() { + return aliases; + } + + public RegisteredCommand getRegisteredCommand() { + return registeredCommand; + } + public void setRegisteredCommand( RegisteredCommand registeredCommand ) { + this.registeredCommand = registeredCommand; + } + } diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index 15884179a..63fd2c3cf 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -33,35 +33,84 @@ import tech.mcprison.prison.output.Output; -public class RegisteredCommand { +public class RegisteredCommand + implements Comparable { private String label; + private CommandHandler handler; private RegisteredCommand parent; + private boolean alias = false; + private String description; private String[] permissions; private String[] altPermissions; + private String[] aliases; + private List registeredAliases; + private RegisteredCommand parentOfAlias; + private boolean onlyPlayers; private Method method; private Object methodInstance; - private CommandHandler handler; private boolean set = false; private ArrayList methodArguments = new ArrayList(); private ArrayList arguments = new ArrayList(); - private ArrayList suffixes = new ArrayList(); - private ArrayList flags = new ArrayList(); + private WildcardArgument wildcard; + + private ArrayList flags = new ArrayList(); private Map flagsByName = new LinkedHashMap(); - private Map suffixesByName = - new HashMap(); - RegisteredCommand(String label, CommandHandler handler, RegisteredCommand parent) { + private ArrayList suffixes = new ArrayList(); + private Map suffixesByName = new HashMap(); + + + public RegisteredCommand(String label, CommandHandler handler, RegisteredCommand parent) { this.label = label; this.handler = handler; this.parent = parent; + + this.registeredAliases = new ArrayList<>(); } +// /** +// * For JUnit testing ONLY! Never use for anything else! +// */ +// private RegisteredCommand( String jUnitUsage ) { +// +// this.junitTest = jUnitUsage; +// +// this.label = "junitTest"; +// this.handler = null; +// this.parent = null; +// +// this.registeredAliases = new ArrayList<>(); +// } +// +// protected static RegisteredCommand junitTest( String jUnitUsage ) { +// RegisteredCommand results = new RegisteredCommand( jUnitUsage ); +// +// return results; +// } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append( getUsage() ) + .append( " isRoot: " ).append( this instanceof RootCommand ) + .append( " isAlias: " ).append( isAlias() ) + .append( " suffixCnt: " ).append( getSuffixes().size() ) + .append( " hasAliasParent: " ).append( getParentOfAlias() != null ); + + if ( getParentOfAlias() != null ) { + sb.append( " (" ).append( getParentOfAlias().getUsage() ).append( ")" ); + } + + return sb.toString(); + } + /** * The suffix is converted to all lowercase before adding to the map. * @@ -160,7 +209,7 @@ private void executeMethod(CommandSender sender, String[] args) { try { try { - method.invoke(methodInstance, resultArgs.toArray()); + method.invoke(getMethodInstance(), resultArgs.toArray()); } catch ( IllegalArgumentException | InvocationTargetException e) { if (e.getCause() instanceof CommandError) { @@ -175,16 +224,16 @@ private void executeMethod(CommandSender sender, String[] args) { for ( Object arg : resultArgs ) { sb.append( "[" ); - sb.append( arg ); + sb.append( arg.toString() ); sb.append( "] " ); } String message = "RegisteredCommand.executeMethod(): Invoke error: [" + e.getMessage() + "] cause: [" + (e.getCause() == null ? "" : e.getCause().getMessage()) + "] " + - " target instance: [" + - method.getName() + " " + method.getParameterCount() + " " + - methodInstance.getClass().getCanonicalName() + "] " + + " target instance: [methodName= " + + method.getName() + " parmCnt=" + method.getParameterCount() + " methodInstance=" + + getMethodInstance().getClass().getCanonicalName() + "] " + "command arguments: " + sb.toString() ; Output.get().sendError( sender, message ); @@ -236,6 +285,13 @@ public RegisteredCommand getParent() { return parent; } + public boolean isAlias() { + return alias; + } + public void setAlias( boolean alias ) { + this.alias = alias; + } + public String[] getPermissions() { return permissions; } @@ -244,6 +300,25 @@ public String[] getAltPermissions() { return altPermissions; } + public String[] getAliases() { + return aliases; + } + + public List getRegisteredAliases() { + return registeredAliases; + } + + public RegisteredCommand getParentOfAlias() { + return parentOfAlias; + } + public void setParentOfAlias( RegisteredCommand parentOfAlias ) { + this.parentOfAlias = parentOfAlias; + } + + private Object getMethodInstance() { + return methodInstance; + } + public RegisteredCommand getSuffixCommand(String suffix) { return suffixesByName.get(suffix); } @@ -253,7 +328,10 @@ public List getSuffixes() { } public String getUsage() { - return handler.getHelpHandler().getUsage(this); + return +// junitTest == null ? + handler.getHelpHandler().getUsage(this); // : +// junitTest; } public WildcardArgument getWildcard() { @@ -285,6 +363,8 @@ void set(Object methodInstance, Method method) { this.description = command.description(); this.permissions = command.permissions(); this.altPermissions = command.altPermissions(); + this.aliases = command.aliases(); + this.onlyPlayers = command.onlyPlayers(); Class[] methodParameters = method.getParameterTypes(); @@ -411,4 +491,11 @@ public boolean testPermission(CommandSender sender) { return handler.getPermissionHandler().hasPermission(sender, permissions); } + + @Override + public int compareTo( RegisteredCommand arg0 ) + { + return getUsage().compareTo( arg0.getUsage() ); + } + } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 41a381a27..90cb1d303 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -308,8 +308,11 @@ private Optional getOfflinePlayer(String name, UUID uuid) { @Override public void registerCommand(PluginCommand command) { try { - Command cmd = new Command(command.getLabel(), command.getDescription(), command.getUsage(), - Collections.emptyList()) { + Command cmd = new Command( + command.getLabel(), + command.getDescription(), + command.getUsage(), + Collections.emptyList() ) { @Override public boolean execute(CommandSender sender, String commandLabel, @@ -360,7 +363,7 @@ public List tabComplete( CommandSender sender, String alias, String[] ar command.setLabelRegistered( cmd.getLabel() ); } - commands.add(command); + getCommands().add(command); // if ( !success ) { // Output.get().logInfo( "SpigotPlatform.registerCommand: %s " + @@ -377,7 +380,7 @@ public void unregisterCommand(String command) { try { ((Map) plugin.knownCommands .get(plugin.commandMap.get(Bukkit.getServer()))).remove(command); - this.commands.removeIf(pluginCommand -> pluginCommand.getLabel().equals(command)); + getCommands().removeIf(pluginCommand -> pluginCommand.getLabel().equals(command)); } catch (IllegalAccessException e) { e.printStackTrace(); // This should only happen if something's wrong up there. } @@ -387,7 +390,7 @@ public void unregisterCommand(String command) { @Override public void unregisterAllCommands() { List cmds = new ArrayList<>(); - for ( PluginCommand pluginCommand : commands ) { + for ( PluginCommand pluginCommand : getCommands() ) { cmds.add( pluginCommand.getLabel() ); } @@ -396,6 +399,17 @@ public void unregisterAllCommands() { } } + public PluginCommand findCommand( String label ) { + PluginCommand results = null; + + for ( PluginCommand command : getCommands() ) { + if (command.getLabel().equalsIgnoreCase(label)) { + results = command; + break; + } + } + return results; + } @Override public List getCommands() { return commands; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java index 3e520c8a6..c966338c6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java @@ -32,6 +32,7 @@ public class PrisonShortcutCommands implements Listener { */ @Command(identifier = "prison gui", description = "Opens the Prison GUI menus.", + aliases = "gui", permissions = "prison.gui", onlyPlayers = true) public void prisonGui(CommandSender sender) { From dce0cd16324b88f01c9ed131b42d1f47496c7f84 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 10 Nov 2020 14:47:28 -0500 Subject: [PATCH 191/243] New Feature! Tab complete is now functional with prison's command handler. When typing in prison related commands, you can now press tab to complete the typing for you if there was only one option available, or it will fill in common letters until you need to make a choice. Also typing in a command pressing space then tab shows all available options. In game is slightly different that in console, where in game show a ghosting of the command where you are typing so tabbing will select that option. Works on spigot 1.8 through 1.16.x. Also works in console. Functional with aliases too. --- changelog_v3.2.x.md | 5 + .../prison/commands/CommandHandler.java | 14 +- .../prison/commands/RegisteredCommand.java | 46 ++-- .../prison/commands/TabCompleaterData.java | 205 ++++++++++++++++++ .../prison/commands/TabCompleterDataTest.java | 121 +++++++++++ .../prison/spigot/SpigotPlatform.java | 68 +++--- 6 files changed, 401 insertions(+), 58 deletions(-) create mode 100644 prison-core/src/main/java/tech/mcprison/prison/commands/TabCompleaterData.java create mode 100644 prison-core/src/test/java/tech/mcprison/prison/commands/TabCompleterDataTest.java diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 104dda541..a68e5fa05 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,11 @@ that you need. ## tag v3.2.2-alpha.12 - 2020-11-10 +* **New Feature! Tab complete is now functional with prison's command handler.** +When typing in prison related commands, you can now press tab to complete the typing for you if there was only one option available, or it will fill in common letters until you need to make a choice. Also typing in a command pressing space then tab shows all available options. In game is slightly different that in console, where in game show a ghosting of the command where you are typing so tabbing will select that option. +Works on spigot 1.8 through 1.16.x. Also works in console. Functional with aliases too. + + * **New Feature! Command Aliases!** Add the complexities of supporting aliases in the prison command handler. Each command can have one or more aliases mapped to almost any level of paths. This also includes a rich support of the sub-command and help listings to better identify which commands are aliases and also what aliases are available. There is room for enhancements that will be added soon. diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java index 6f4d7507d..8185b00a0 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/CommandHandler.java @@ -63,7 +63,7 @@ public class CommandHandler { // private List commands = new ArrayList<>(); -// private TabCompleaterData tabCompleaterData; + private TabCompleaterData tabCompleaterData; // private String helpSuffix = "help"; @@ -73,7 +73,7 @@ public CommandHandler() { this.registeredCommands = new TreeMap<>(); this.allRegisteredCommands = new TreeSet<>(); - //this.tabCompleaterData = new TabCompleaterData(); + this.tabCompleaterData = new TabCompleaterData(); registerArgumentHandler(String.class, new StringArgumentHandler()); @@ -519,7 +519,7 @@ private RegisteredCommand commandRegisterConfig( Method method, Command commandA // Must add all new RegisteredCommand objects to both getAllRegisteredCommands() and // getTabCompleterData(). getAllRegisteredCommands().add( rootRegisteredCommand ); -// getTabCompleaterData().add( rootRegisteredCommand ); + getTabCompleaterData().add( rootRegisteredCommand ); getRootCommands().put( rootPluginCommand, rootRegisteredCommand ); } @@ -538,7 +538,7 @@ private RegisteredCommand commandRegisterConfig( Method method, Command commandA // Must add all new RegisteredCommand objects to both getAllRegisteredCommands() and // getTabCompleterData(). getAllRegisteredCommands().add( newCommand ); -// getTabCompleaterData().add( newCommand ); + getTabCompleaterData().add( newCommand ); mainCommand = newCommand; } @@ -622,9 +622,9 @@ public void setRootCommands( Map rootCommands ) { // return commands; // } -// public TabCompleaterData getTabCompleaterData() { -// return tabCompleaterData; -// } + public TabCompleaterData getTabCompleaterData() { + return tabCompleaterData; + } /* * ###Tab-Complete### diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java index 63fd2c3cf..524f13d30 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/RegisteredCommand.java @@ -41,6 +41,8 @@ public class RegisteredCommand private RegisteredCommand parent; private boolean alias = false; + private String junitTest = null; + private String description; private String[] permissions; private String[] altPermissions; @@ -74,25 +76,25 @@ public RegisteredCommand(String label, CommandHandler handler, RegisteredCommand this.registeredAliases = new ArrayList<>(); } -// /** -// * For JUnit testing ONLY! Never use for anything else! -// */ -// private RegisteredCommand( String jUnitUsage ) { -// -// this.junitTest = jUnitUsage; -// -// this.label = "junitTest"; -// this.handler = null; -// this.parent = null; -// -// this.registeredAliases = new ArrayList<>(); -// } -// -// protected static RegisteredCommand junitTest( String jUnitUsage ) { -// RegisteredCommand results = new RegisteredCommand( jUnitUsage ); -// -// return results; -// } + /** + * For JUnit testing ONLY! Never use for anything else! + */ + private RegisteredCommand( String jUnitUsage ) { + + this.junitTest = jUnitUsage; + + this.label = "junitTest"; + this.handler = null; + this.parent = null; + + this.registeredAliases = new ArrayList<>(); + } + + protected static RegisteredCommand junitTest( String jUnitUsage ) { + RegisteredCommand results = new RegisteredCommand( jUnitUsage ); + + return results; + } @Override public String toString() { @@ -329,9 +331,9 @@ public List getSuffixes() { public String getUsage() { return -// junitTest == null ? - handler.getHelpHandler().getUsage(this); // : -// junitTest; + junitTest == null ? + handler.getHelpHandler().getUsage(this) : + junitTest; } public WildcardArgument getWildcard() { diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/TabCompleaterData.java b/prison-core/src/main/java/tech/mcprison/prison/commands/TabCompleaterData.java new file mode 100644 index 000000000..18a85a134 --- /dev/null +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/TabCompleaterData.java @@ -0,0 +1,205 @@ +package tech.mcprison.prison.commands; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.TreeMap; + +public class TabCompleaterData +{ + private String name; + private TreeMap data; + + private boolean leafNode; + + public TabCompleaterData() { + this( "", null ); + + setLeafNode( false ); + } + private TabCompleaterData( String name, String[] args ) { + super(); + + this.name = name; + this.data = new TreeMap<>(); + + this.leafNode = ( args == null || args.length == 0 ); + + if ( !this.leafNode ) { + add( args ); + } + } + + /** + *

    This must only be used internally to this class to ensure that the + * structure will be built correctly. + *

    + * + *

    This will add the given usage String array to the current TabCompleterData + * object, creating a new node for ever array element in usage, or add to + * any existing one that is found. + *

    + * + *

    If this function is to be called iteratively, then the first element of + * usage must be removed so it does not go in to an endless loop. The + * size of usage must decrease by one every time it is called. + *

    + * + * @param usage + */ + private void add( String... usage ) { + + if ( usage.length > 0 ) { + String name = usage[0]; + String key = name.toLowerCase(); + + String[] subArray = Arrays.copyOfRange( usage, 1, usage.length ); + + if ( !getData().containsKey( key ) ) { + TabCompleaterData tcd = new TabCompleaterData( name, subArray ); + getData().put( key, tcd ); + } + else { + getData().get( key ).add( subArray ); + } + } + + + } + + /** + *

    Every time a RegisteredCommand is added to the allRegisteredCommands + * collection, it should also be added here too. This function will take the data + * that is within it and parse it out and store it in a hierarchical structure + * using b-trees. + *

    + * + *

    Do not indirectly add any aliases to this function. Through the full and + * normal process, aliases will be assigned their own RegisteredCommand objects + * so you never have to artificially feed them to this function. + *

    + * + */ + public void add( RegisteredCommand registeredCommand ) { + String usageStr = registeredCommand.getUsage().replace( "/", "" ); + + String[] usage = usageStr.split( " " ); + + add( usage ); + +// if ( usage.length > 0 ) { +// String key = usage[0]; +// +// String[] subArray = Arrays.copyOfRange( usage, 1, usage.length ); +// +// if ( !getData().containsKey( key ) ) { +// TabCompleterData tcd = new TabCompleterData( key, subArray ); +// getData().put( key, tcd ); +// } +// else { +// getData().get( key ).add( subArray ); +// } +// } + + } + + /** + *

    This function is to be used within the org.bukkit.command.Command.tabComplete() + * function to add lookup auto complete items to return. The alias and args should + * be unmodified from what bukkit supplies. This function will iteratively traverse + * all nodes and return the results. This should provide the best performance. + *

    + * + * @param alias + * @param args + * @return + */ + public List check( String alias, String... args ) { + List results = new ArrayList<>(); + + if ( alias != null ) { + if ( getData().containsKey( alias ) ) { + results.addAll( getData().get( alias.toLowerCase() ).check( args ) ); + } + + } + + + return results; + } + + + private List check( String... args ) { + List results = new ArrayList<>(); + + if ( args == null || args.length == 0 || + args.length == 1 && args[0].length() == 0 ) { + + // usage length of zero means return all children for this node. + // Must get each child's name: + Set keys = getData().keySet(); + for ( String key : keys ) { + results.add( getData().get( key ).getName() ); + } + + } + else if ( args.length > 1 +// || args.length == 1 && getData().containsKey( args[0] ) + ) { + + // if length is greater than 1 then that means that we need to + // traverse to the next level of depth if we have a hit for + // one of the data elements: + + String key = args[0].toLowerCase(); + + if ( getData().containsKey( key )) { + + String[] subArray = Arrays.copyOfRange( args, 1, args.length ); + + results.addAll( getData().get( key ).check( subArray ) ); + } + } + else { + // args length is one. See if anything either matches it, or + // begins with it. + + String prefix = args[0].toLowerCase(); + + Set keys = getData().keySet(); + for ( String key : keys ) { + if ( key.startsWith( prefix )) { + + results.add( getData().get( key ).getName() ); + } + } + } + + return results; + + } + + + public String getName() { + return name; + } + public void setName( String name ) { + this.name = name; + } + + public TreeMap getData() { + return data; + } + public void setData( TreeMap data ) { + this.data = data; + } + + public boolean isLeafNode() { + return leafNode; + } + public void setLeafNode( boolean leafNode ) { + this.leafNode = leafNode; + } + +} diff --git a/prison-core/src/test/java/tech/mcprison/prison/commands/TabCompleterDataTest.java b/prison-core/src/test/java/tech/mcprison/prison/commands/TabCompleterDataTest.java new file mode 100644 index 000000000..7fffbb3b7 --- /dev/null +++ b/prison-core/src/test/java/tech/mcprison/prison/commands/TabCompleterDataTest.java @@ -0,0 +1,121 @@ +package tech.mcprison.prison.commands; + +import static org.junit.Assert.assertEquals; + +import java.util.List; + +import org.junit.Test; + +public class TabCompleterDataTest + extends + TabCompleaterData +{ + + @Test + public void test() + { + String testA = "/cmd a"; + String testB = "/cmd b"; + String testC = "/cmd mid c"; + String testD = "/cmd mid d"; + String testE = "/e"; + String testF = "/f"; + String testG = "/e g"; + + TabCompleaterData tcd = new TabCompleaterData(); + + assertEquals( 0, tcd.getData().size() ); + + RegisteredCommand testRCA = RegisteredCommand.junitTest( testA ); + assertEquals( "/cmd a", testRCA.getUsage() ); + + assertEquals( 0, tcd.getData().size() ); + + RegisteredCommand testRCB = RegisteredCommand.junitTest( testB ); + RegisteredCommand testRCC = RegisteredCommand.junitTest( testC ); + RegisteredCommand testRCD = RegisteredCommand.junitTest( testD ); + RegisteredCommand testRCE = RegisteredCommand.junitTest( testE ); + RegisteredCommand testRCF = RegisteredCommand.junitTest( testF ); + RegisteredCommand testRCG = RegisteredCommand.junitTest( testG ); + + tcd.add( testRCA ); + + assertEquals( 1, tcd.getData().size() ); + assertEquals( 1, tcd.getData().get( "cmd" ).getData().size() ); + + tcd.add( testRCB ); + + assertEquals( 1, tcd.getData().size() ); + assertEquals( 2, tcd.getData().get( "cmd" ).getData().size() ); + + tcd.add( testRCC ); + + assertEquals( 1, tcd.getData().size() ); + assertEquals( 3, tcd.getData().get( "cmd" ).getData().size() ); + assertEquals( 1, tcd.getData().get( "cmd" ).getData().get( "mid" ).getData().size() ); + + tcd.add( testRCD ); + + assertEquals( 1, tcd.getData().size() ); + assertEquals( 3, tcd.getData().get( "cmd" ).getData().size() ); + assertEquals( 2, tcd.getData().get( "cmd" ).getData().get( "mid" ).getData().size() ); + + tcd.add( testRCE ); + + assertEquals( 2, tcd.getData().size() ); + + tcd.add( testRCF ); + + assertEquals( 3, tcd.getData().size() ); + + tcd.add( testRCG ); + + assertEquals( 3, tcd.getData().size() ); + assertEquals( 1, tcd.getData().get( "e" ).getData().size() ); + + + // Structure should be "good": + + // Now test pulling out results: + List results1 = tcd.check( "cmd", "" ); + + assertEquals( 3, results1.size() ); + assertEquals( "a", results1.get(0) ); + assertEquals( "b", results1.get(1) ); + assertEquals( "mid", results1.get(2) ); + + List results2 = tcd.check( "cmd", "m" ); + + assertEquals( 1, results2.size() ); + + + List results3 = tcd.check( "cmd", "mi" ); + + assertEquals( 1, results3.size() ); + + List results4 = tcd.check( "cmd", "mid" ); + + assertEquals( 1, results4.size() ); + + + List results5 = tcd.check( "cmd", "mid", "" ); + + assertEquals( 2, results5.size() ); + assertEquals( "c", results5.get(0) ); + assertEquals( "d", results5.get(1) ); + + List results6 = tcd.check( "cmd", "mid", "c" ); + + assertEquals( 1, results6.size() ); + assertEquals( "c", results6.get(0) ); + + + List results7 = tcd.check( "cmd", "mid", "x" ); + + assertEquals( 0, results7.size() ); + + + + } + +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 90cb1d303..981f5ef6b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -315,42 +315,52 @@ private Optional getOfflinePlayer(String name, UUID uuid) { Collections.emptyList() ) { @Override - public boolean execute(CommandSender sender, String commandLabel, - String[] args) { + public boolean execute(CommandSender sender, String commandLabel, String[] args) { if (sender instanceof org.bukkit.entity.Player) { return Prison.get().getCommandHandler() .onCommand(new SpigotPlayer((org.bukkit.entity.Player) sender), command, commandLabel, args); } + return Prison.get().getCommandHandler() - .onCommand(new SpigotCommandSender(sender), command, commandLabel, - args); - - /* - * ###Tab-Complete### - * - * Disabled for now until a full solution can be implemented for tab complete. - * -// Output.get().logInfo( "SpigotPlatform.registerCommand: Command: %s :: %s", -// command.getLabel(), command.getUsage() ); - @Override - public List tabComplete( CommandSender sender, String[] args ) - { - Output.get().logInfo( "SpigotPlatform.registerCommand: Command.tabComplete 1" ); - // TODO Auto-generated method stub - return super.tabComplete( sender, args ); - } + .onCommand(new SpigotCommandSender(sender), command, commandLabel, args); + } + + + @Override + public List tabComplete( CommandSender sender, String alias, String[] args ) + throws IllegalArgumentException + { + + List results = Prison.get().getCommandHandler().getTabCompleaterData().check( alias, args ); + + +// StringBuilder sb = new StringBuilder(); +// for ( String arg : args ) { +// sb.append( "[" ).append( arg ).append( "] " ); +// } +// +// StringBuilder sbR = new StringBuilder(); +// for ( String result : results ) { +// sbR.append( "[" ).append( result ).append( "] " ); +// } +// +// plugin.logDebug( "### registerCommand: Command.tabComplete() : alias= %s args= %s results= %s", +// alias, sb.toString(), sbR.toString() ); + + + return results; + } + + + @Override + public List tabComplete( CommandSender sender, String alias, String[] args, + org.bukkit.Location location ) + throws IllegalArgumentException + { + return tabComplete( sender, alias, args ); + } - @Override - public List tabComplete( CommandSender sender, String alias, String[] args ) - throws IllegalArgumentException - { - Output.get().logInfo( "SpigotPlatform.registerCommand: Command.tabComplete 2" ); - // TODO Auto-generated method stub - return super.tabComplete( sender, alias, args ); - } - */ - } }; @SuppressWarnings( "unused" ) From 3df06f63e495d43d2b332d0c3987d195d1d48ce9 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Tue, 10 Nov 2020 21:50:12 +0100 Subject: [PATCH 192/243] Code changes Changelogs: - New config system, it can be improved for sure but I haven't made a project - Many code changes - Deleted the GuiListener.java class, only SpigotPlatform was using it so nothing should break NOTE: I see there're ton of "reflection" or whatever mean that there're classes from spigot clones, with small changes or anyway things, but this add load and weight to the overall plugin, and I must verify if spigot load all the plugins into RAM once enabled, 1 o 2MB aren't a big deal, but for sure it'd be neat to use directly spigot. --- .../mcprison/prison/spigot/SpigotPrison.java | 4 +- .../prison/spigot/gui/GUIListener.java | 63 ------------------- .../mcprison/prison/spigot/gui/GuiConfig.java | 40 ++++-------- .../spigot/gui/ListenersPrisonManager.java | 12 ++-- .../prison/spigot/gui/PrisonSetupGUI.java | 6 +- .../mcprison/prison/spigot/gui/SpigotGUI.java | 2 +- .../spigot/gui/SpigotGUIComponents.java | 16 ++++- .../prison/spigot/gui/SpigotPrisonGUI.java | 26 +------- .../gui/autofeatures/SpigotAutoBlockGUI.java | 17 ++--- .../autofeatures/SpigotAutoFeaturesGUI.java | 31 ++------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 15 ++--- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 18 ++---- .../spigot/gui/mine/SpigotBlocksListGUI.java | 7 +-- .../mine/SpigotMineBlockPercentageGUI.java | 23 +------ .../spigot/gui/mine/SpigotMineInfoGUI.java | 42 ++----------- .../mine/SpigotMineNotificationRadiusGUI.java | 22 +------ .../gui/mine/SpigotMineNotificationsGUI.java | 20 +----- .../gui/mine/SpigotMineResetTimeGUI.java | 18 +----- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 10 +-- .../gui/mine/SpigotMinesConfirmGUI.java | 9 +-- .../spigot/gui/mine/SpigotMinesGUI.java | 5 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 8 +-- .../gui/rank/SpigotConfirmPrestigeGUI.java | 7 +-- .../spigot/gui/rank/SpigotLaddersGUI.java | 5 +- .../gui/rank/SpigotPlayerPrestigesGUI.java | 13 ++-- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 7 +-- .../spigot/gui/rank/SpigotRankManagerGUI.java | 17 ++--- .../spigot/gui/rank/SpigotRankPriceGUI.java | 22 +------ .../gui/rank/SpigotRankUPCommandsGUI.java | 8 +-- .../spigot/gui/rank/SpigotRanksGUI.java | 17 +---- .../spigot/gui/sellall/SellAllAdminGUI.java | 17 +++-- .../spigot/gui/sellall/SellAllPlayerGUI.java | 18 +++--- .../spigot/gui/sellall/SellAllPriceGUI.java | 23 +------ .../spigot/languages/MessagesConfig.java | 14 ++--- 34 files changed, 119 insertions(+), 463 deletions(-) delete mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GUIListener.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 9776c25f4..d79b78e7d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -64,7 +64,6 @@ import tech.mcprison.prison.spigot.economies.GemsEconomy; import tech.mcprison.prison.spigot.economies.SaneEconomy; import tech.mcprison.prison.spigot.economies.VaultEconomy; -import tech.mcprison.prison.spigot.gui.GUIListener; import tech.mcprison.prison.spigot.gui.GuiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.languages.MessagesConfig; @@ -160,7 +159,6 @@ public void onEnable() { new GuiConfig(); - GUIListener.get().init(this); Bukkit.getPluginManager().registerEvents(new ListenersPrisonManager(),this); Bukkit.getPluginManager().registerEvents(new PrisonSpigotCommands(), this); @@ -482,7 +480,7 @@ private void linkMinesAndRanks() { String rankName = rParts[1]; if ( meType == ModuleElementType.RANK ) { - Rank rank = rm.getRankOptional( rankName ).orElse( null ); + Rank rank = rm.getRank( rankName ); if ( rank != null ) { mine.setRank( rank ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GUIListener.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GUIListener.java deleted file mode 100644 index f0645e7f1..000000000 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GUIListener.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Prison is a Minecraft plugin for the prison game mode. - * Copyright (C) 2017-2020 The Prison Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package tech.mcprison.prison.spigot.gui; - -import org.bukkit.Bukkit; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryCloseEvent; -import tech.mcprison.prison.gui.GUI; -import tech.mcprison.prison.spigot.SpigotPrison; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Faizaan A. Datoo - */ -// From GABRYCA, I don't know if this's still needed, I won't remove it for now, but might be in the future -public class GUIListener implements Listener { - - private static GUIListener instance; - private List inventories = new ArrayList<>(); - - public static GUIListener get() { - if (instance == null) { - instance = new GUIListener(); - } - return instance; - } - - public void init(SpigotPrison prison) { - Bukkit.getServer().getPluginManager().registerEvents(this, prison); - } - - public void registerInventory(GUI inv) { - inventories.add(inv); - } - - @EventHandler public void closeInventory(InventoryCloseEvent e) { - // Remove it if found - inventories.removeIf(gui -> gui.getTitle().equals( - SpigotPrison.getInstance().getCompatibility().getGUITitle( e ) - )); -// inventories.removeIf(gui -> gui.getTitle().equals(e.getInventory().getTitle())); - } - -} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java index a28bda3cd..ca55f15e1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java @@ -15,34 +15,26 @@ */ public class GuiConfig { + // Declaring parameters and variables private FileConfiguration conf; - - - private File file; private int changeCount = 0; - - + // Check if the GuiConfig's enabled public GuiConfig() { - - if ( Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ + if (Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true")){ initialize(); } - - } - public void initialize() { // Filepath - file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); + File file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); - if( !file.exists() ) { + if(!file.exists()) { try { File parentDir = file.getParentFile(); parentDir.mkdirs(); - file.createNewFile(); } catch (IOException e) { @@ -55,33 +47,27 @@ public void initialize() { // Everything's here (not anymore...) values(); - if ( changeCount > 0 ) { + if (changeCount > 0) { try { conf.save(file); - - Output.get().logInfo( "&aThere were &b%d &anew values added to the GuiConfig.yml file located at &b%s", - changeCount, file.getAbsoluteFile() ); + Output.get().logInfo("&aThere were &b%d &anew values added to the GuiConfig.yml file located at &b%s", + changeCount, file.getAbsoluteFile()); } - catch ( IOException e ) { - - Output.get().logInfo( "&4Failed to save &b%d &4new values to the GuiConfig.yml file located at &b%s&4. " + - "&a %s", - changeCount, file.getAbsoluteFile(), e.getMessage() ); - + catch (IOException e) { + Output.get().logInfo("&4Failed to save &b%d &4new values to the GuiConfig.yml file located at " + + "&b%s&4. " + "&a %s", changeCount, file.getAbsoluteFile(), e.getMessage()); } } } private void dataConfig(String key, String value){ - if (conf.getString(key) == null) { conf.set(key, value); changeCount++; } } - - + // All the strings of the config should be here private void values(){ dataConfig("Options.Ranks.GUI_Enabled","true"); dataConfig("Options.Ranks.Permission_GUI_Enabled","false"); @@ -101,8 +87,8 @@ private void values(){ dataConfig("Options.Setup.EnabledGUI", "true"); } + // Return method to call the config, you can use this or the global one in the main class public FileConfiguration getFileGuiConfig(){ return conf; } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 0e9ac76ea..f9eb7d21a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -29,7 +29,6 @@ import tech.mcprison.prison.ranks.data.Rank; import tech.mcprison.prison.ranks.data.RankLadder; import tech.mcprison.prison.spigot.SpigotPrison; -import tech.mcprison.prison.spigot.block.SpigotBlock; import tech.mcprison.prison.spigot.compat.Compatibility; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoBlockGUI; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoFeaturesGUI; @@ -57,10 +56,10 @@ public class ListenersPrisonManager implements Listener { public int id; public String rankNameOfChat = null; public String mineNameOfChat = null; + boolean guiNotEnabled = !(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true")); public ListenersPrisonManager(){} - public static ListenersPrisonManager get() { if (instance == null) { instance = new ListenersPrisonManager(); @@ -71,16 +70,20 @@ public static ListenersPrisonManager get() { @EventHandler public void onGuiClosing(InventoryCloseEvent e){ - if (!(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true"))){ + if (guiNotEnabled){ return; } Player p = (Player) e.getPlayer(); - activeGui.remove(p.getName()); } public void addToGUIBlocker(Player p){ + + if (guiNotEnabled){ + return; + } + if(!activeGui.contains(p.getName())) activeGui.add(p.getName()); } @@ -123,7 +126,6 @@ private void activeGuiEventCanceller(Player p, InventoryClickEvent e){ } } - // InventoryClickEvent @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onClick(InventoryClickEvent e){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java index 555445007..82453c00a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -13,6 +13,7 @@ public class PrisonSetupGUI extends SpigotGUIComponents{ private final Player p; + private final Configuration messages = configs("messages"); public PrisonSetupGUI(Player p) { this.p = p; @@ -44,7 +45,6 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Blocks of the mine List confirmLore = createLore( @@ -66,14 +66,10 @@ private void buttonsSetup(Inventory inv) { // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmLore, SpigotPrison.format("&3" + "Confirm: Setup")); - - // Create the button, set up the material, amount, lore and name ItemStack cancel = createButton(Material.REDSTONE_BLOCK, 1, cancelLore, SpigotPrison.format("&3" + "Cancel: Setup")); // Position of the button inv.setItem(2, confirm); - - // Position of the button inv.setItem(6, cancel); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java index 515496635..c4fdfa2e9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java @@ -55,7 +55,7 @@ public SpigotGUI(String title, int numSlots) { org.bukkit.entity.Player bPlayer = Bukkit.getServer().getPlayer(player.getName()); bPlayer.openInventory(bukkitInventory); } - GUIListener.get().registerInventory(this); + // GUIListener.get().registerInventory(this); } @Override public GUI build() { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index 45f70bb88..ba366c68a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -4,6 +4,7 @@ import java.util.List; import org.bukkit.Material; +import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; @@ -53,5 +54,18 @@ protected boolean checkRanks(Player p){ return module instanceof PrisonRanks; } - + /** + * There're 3 configs available for now: messages, guiconfig and sellall + * */ + protected static Configuration configs(String type){ + if (type.equalsIgnoreCase("messages")) { + return SpigotPrison.getInstance().getMessagesConfig(); + } else if (type.equalsIgnoreCase("sellall")){ + return SpigotPrison.getSellAllConfig(); + } else if (type.equalsIgnoreCase("guiconfig")){ + return SpigotPrison.getInstance().getGuiConfig(); + } else { + return null; + } + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index 534fe9f5e..a67bbdf34 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -21,6 +21,7 @@ public class SpigotPrisonGUI extends SpigotGUIComponents { private final Player p; + private final Configuration messages = configs("messages"); public SpigotPrisonGUI(Player p){ this.p = p; @@ -52,28 +53,18 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - // Lore of the button List ranksLore = createLore( messages.getString("Gui.Lore.RanksButton"), messages.getString("Gui.Lore.ClickToOpen")); - - // Lore of the button List prisonTasksLore = createLore( messages.getString("Gui.Lore.PrisonTasksButton"), messages.getString("Gui.Lore.ClickToOpen")); - - // Lore of the button List minesLore = createLore( messages.getString("Gui.Lore.MinesButton"), messages.getString("Gui.Lore.ClickToOpen")); - - // Lore of the button List sellAllLore = createLore( messages.getString("Gui.Lore.ClickToOpen")); - - // Lore of the button List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); @@ -82,30 +73,15 @@ private void buttonsSetup(Inventory inv) { // Create the button, set up the material, amount, lore and name ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, ranksLore, SpigotPrison.format("&3" + "Ranks")); - - // Create the button, set up the material, amount, lore and name ItemStack prisontasks = createButton(Material.IRON_PICKAXE, 1, prisonTasksLore, SpigotPrison.format("&3" + "AutoManager")); - - // Create the button, set up the material, amount, lore and name ItemStack mines = createButton(Material.DIAMOND_ORE, 1, minesLore, SpigotPrison.format("&3" + "Mines")); - - // Create the button, set up the material, amount, lore and name ItemStack sellall = createButton(Material.CHEST, 1 , sellAllLore, SpigotPrison.format("&3" + "SellAll")); // Position of the button inv.setItem(10, ranks); - - // Position of the button inv.setItem(12, prisontasks); - - // Position of the button inv.setItem(14, mines); - - // Position of the button inv.setItem(16, sellall); - - // Position of the button inv.setItem(26, closeGUI); } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 07f064800..0a1b9c3e3 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -22,6 +22,8 @@ public class SpigotAutoBlockGUI extends SpigotGUIComponents { private final Player p; + private final Configuration messages = configs("messages"); + private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); public SpigotAutoBlockGUI(Player p){ this.p = p; @@ -33,18 +35,15 @@ public void open() { int dimension = 36; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoBlock")); - // Config - AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - - if (guiBuilder(inv, afConfig)) return; + if (guiBuilder(inv)) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, afConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -53,18 +52,15 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { return false; } - private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") ); - List disabledLore = createLore( messages.getString("Gui.Lore.RightClickToEnable") ); - List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); @@ -168,5 +164,4 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { inv.addItem(Disabled); } } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index f53bb3b36..245023f02 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -22,6 +22,8 @@ public class SpigotAutoFeaturesGUI extends SpigotGUIComponents { private final Player p; + private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); + private final Configuration messages = configs("messages"); public SpigotAutoFeaturesGUI(Player p){ this.p = p; @@ -33,19 +35,17 @@ public void open() { int dimension = 54; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3PrisonManager -> AutoFeatures")); - // Config - AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - if (guiBuilder(inv, afConfig)) return; + if (guiBuilder(inv)) return; // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, afConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -54,9 +54,8 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { return false; } - private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Declare buttons ItemStack autoPickup; @@ -173,31 +172,13 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { // Position of the button inv.setItem(11, playSound); - - // Position of the button inv.setItem(15, hologram); - - // Position of the button inv.setItem(28, autoPickup); - - // Position of the button inv.setItem(31, autoSmelt); - - // Position of the button inv.setItem(34, autoBlock); - - // Position of the button inv.setItem(37, enabledOrDisabled); - - // Position of the button inv.setItem(40, enabledOrDisabled); - - // Position of the button inv.setItem(43, enabledOrDisabled); - - // Position of the button inv.setItem(53, closeGUI); } - - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 58c709eec..f7f4b9d29 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -22,6 +22,8 @@ public class SpigotAutoPickupGUI extends SpigotGUIComponents { private final Player p; + private final Configuration messages = configs("messages"); + private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); public SpigotAutoPickupGUI(Player p){ this.p = p; @@ -33,18 +35,15 @@ public void open() { int dimension = 36; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoPickup")); - // Config - AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - - if (guiBuilder(inv, afConfig)) return; + if (guiBuilder(inv)) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, afConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -53,9 +52,8 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { return false; } - private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { + private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") @@ -184,5 +182,4 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { inv.addItem(Disabled); } } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 853e7bc16..40740fcfa 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -22,6 +22,8 @@ public class SpigotAutoSmeltGUI extends SpigotGUIComponents { private final Player p; + private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); + private final Configuration messages = configs("messages"); public SpigotAutoSmeltGUI(Player p){ this.p = p; @@ -33,18 +35,15 @@ public void open() { int dimension = 36; Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3AutoFeatures -> AutoSmelt")); - // Config - AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - - if (guiBuilder(inv, afConfig)) return; + if (guiBuilder(inv)) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { + private boolean guiBuilder(Inventory inv) { try { - buttonsSetup(inv, afConfig); + buttonsSetup(inv); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -53,18 +52,14 @@ private boolean guiBuilder(Inventory inv, AutoFeaturesFileConfig afConfig) { return false; } - private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { - - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + private void buttonsSetup(Inventory inv) { List enabledLore = createLore( messages.getString("Gui.Lore.ShiftAndRightClickToDisable") ); - List disabledLore = createLore( messages.getString("Gui.Lore.RightClickToEnable") ); - List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); @@ -96,5 +91,4 @@ private void buttonsSetup(Inventory inv, AutoFeaturesFileConfig afConfig) { inv.addItem(Disabled); } } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index 72cc8610f..4ea8165c0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -6,9 +6,6 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; -import tech.mcprison.prison.Prison; -import tech.mcprison.prison.internal.block.PrisonBlock; -import tech.mcprison.prison.mines.data.Block; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -22,7 +19,7 @@ public class SpigotBlocksListGUI extends SpigotGUIComponents { private final String mineName; private int counter; - private Configuration messages = null; + private Configuration messages = configs("messages"); public SpigotBlocksListGUI(Player p, String mineName, int counter){ this.p = p; @@ -38,8 +35,6 @@ public void open(){ // Create the inventory Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Mines -> BlocksList")); - messages = SpigotPrison.getInstance().getMessagesConfig(); - // Lore of block setup List blockLoreSetup = createLore( messages.getString("Gui.Lore.ClickToStartBlockSetup") diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index d51bd3560..110245312 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -21,6 +21,7 @@ public class SpigotMineBlockPercentageGUI extends SpigotGUIComponents { private final String mineName; private final Double val; private final String blockName; + private final Configuration messages = configs("messages"); public SpigotMineBlockPercentageGUI(Player p, Double val, String mineName, String blockName){ this.p = p; @@ -55,21 +56,16 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToDecrease") ); - - // Create a new lore List confirmButtonLore = createLore( messages.getString("Gui.Lore.LeftClickToConfirm"), messages.getString("Gui.Lore.Percentage") + val, messages.getString("Gui.Lore.RightClickToCancel") ); - - // Create a new lore List changeIncreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToIncrease") ); @@ -78,20 +74,12 @@ private void buttonsSetup(Inventory inv) { // Decrease button ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 1" )); inv.setItem(1, decreaseOf1); - - // Decrease button ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 5, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 5")); inv.setItem(10, decreaseOf5); - - // Decrease button ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 10")); inv.setItem(19, decreaseOf10); - - // Decrease button ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 50, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 50")); inv.setItem(28, decreaseOf50); - - // Decrease button ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 100")); inv.setItem(37, decreaseOf100); @@ -110,22 +98,13 @@ private void buttonsSetup(Inventory inv) { // Increase button ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 1" )); inv.setItem(7, increseOf1); - - // Increase button ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 5, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 5")); inv.setItem(16, increaseOf5); - - // Increase button ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 10")); inv.setItem(25, increaseOf10); - - // Increase button ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 50, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 50")); inv.setItem(34, increaseOf50); - - // Increase button ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 100")); inv.setItem(43, increaseOf100); } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index b7c6f0907..438ebed68 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -23,6 +23,7 @@ public class SpigotMineInfoGUI extends SpigotGUIComponents { private final Player p; private final Mine mine; private final String mineName; + private final Configuration messages = configs("messages"); public SpigotMineInfoGUI(Player p, Mine mine, String mineName){ this.p = p; @@ -55,10 +56,9 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // The Reset Mine button and lore - List resetminelore = createLore( + List resetMineLore = createLore( messages.getString("Gui.Lore.LeftClickToReset"), "", messages.getString("Gui.Lore.RightClickToToggle"), @@ -71,55 +71,37 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Message.ZeroBlocksReset2"), messages.getString("Gui.Message.ZeroBlocksReset3") ); - - // Set the Mine spawn at your location - List MineSpawnlore = createLore( + List MineSpawnLore = createLore( messages.getString("Gui.Lore.ClickToUse"), messages.getString("Gui.Lore.SpawnPoint2") ); - - // Lore and button List MinesNotificationsLore = createLore( messages.getString("Gui.Lore.ClickToOpen"), messages.getString("Gui.Lore.Notifications") ); - - // Lore and button List MinesTpLore = createLore( messages.getString("Gui.Lore.ClickToTeleport"), messages.getString("Gui.Lore.Tp") ); - - // Blocks of the mine button and lore List blocksOfTheMineLore = createLore( messages.getString("Gui.Lore.ClickToOpen"), messages.getString("Gui.Lore.Blocks2")); - - // Blocks of the mine button and lore List mineResetTimeLore = createLore( messages.getString("Gui.Lore.ClickToOpen"), messages.getString("Gui.Lore.ManageResetTime"), messages.getString("Gui.Lore.ResetTime") + mine.getResetTime()); - List mineRenameLore = createLore( messages.getString("Gui.Lore.ClickToRename"), messages.getString("Gui.Lore.MineName") + mineName ); - List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); // Create the button, set the material, amount, lore and name ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); - - // Create the button, set up the material, amount, lore and name - ItemStack resetMine = createButton(Material.EMERALD_BLOCK, 1, resetminelore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); - - // Create the button - ItemStack MineSpawn = createButton(Material.COMPASS, 1, MineSpawnlore, SpigotPrison.format("&3" + "Mine_Spawn: " + mineName)); - - // Create the button + ItemStack resetMine = createButton(Material.EMERALD_BLOCK, 1, resetMineLore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); + ItemStack MineSpawn = createButton(Material.COMPASS, 1, MineSpawnLore, SpigotPrison.format("&3" + "Mine_Spawn: " + mineName)); ItemStack MinesNotifications = createButton(Material.SIGN, 1, MinesNotificationsLore, SpigotPrison.format("&3" + "Mine_notifications: " + mineName)); // Create the button @@ -145,26 +127,12 @@ private void buttonsSetup(Inventory inv) { // Position of the button inv.setItem(10, resetMine); - - // Position of the button inv.setItem(12, MineSpawn); - - // Position of the button inv.setItem(14, MinesNotifications); - - // Position of the button inv.setItem(16, MinesTP); - - // Position of the button inv.setItem(29, blocksOfTheMine); - - // Position of the button inv.setItem(31, mineResetTime); - - // Position of the button inv.setItem(33, mineRename); - - // Position of the button inv.setItem(44, closeGUI); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index e78409cec..596321fc7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -21,6 +21,7 @@ public class SpigotMineNotificationRadiusGUI extends SpigotGUIComponents { private final String mineName; private final long val; private final String typeNotification; + private final Configuration messages = configs("messages"); public SpigotMineNotificationRadiusGUI(Player p, Long val, String typeNotification, String mineName){ this.p = p; @@ -55,21 +56,16 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create new lore List changeDecreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToDecrease") ); - - // Create a new lore List confirmButtonLore = createLore( messages.getString("Gui.Lore.LeftClickToConfirm"), messages.getString("Gui.Lore.Radius") + val, messages.getString("Gui.Lore.RightClickToCancel") ); - - // Create a new lore List changeIncreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToIncrease") ); @@ -77,20 +73,12 @@ private void buttonsSetup(Inventory inv) { // Decrease buttons ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 1 " + typeNotification )); inv.setItem(1, decreaseOf1); - - // Decrease buttons ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 5, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 5 " + typeNotification)); inv.setItem(10, decreaseOf5); - - // Decrease buttons ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 10 " + typeNotification)); inv.setItem(19, decreaseOf10); - - // Decrease buttons ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 50, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 50 " + typeNotification)); inv.setItem(28, decreaseOf50); - - // Decrease buttons ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 100 " + typeNotification)); inv.setItem(37, decreaseOf100); @@ -109,20 +97,12 @@ private void buttonsSetup(Inventory inv) { // Increase buttons ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 1 " + typeNotification)); inv.setItem(7, increseOf1); - - // Increase buttons ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 5, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 5 " + typeNotification)); inv.setItem(16, increaseOf5); - - // Increase buttons ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 10 " + typeNotification)); inv.setItem(25, increaseOf10); - - // Increase buttons ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 50, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 50 " + typeNotification)); inv.setItem(34, increaseOf50); - - // Increase buttons ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 100 " + typeNotification)); inv.setItem(43, increaseOf100); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index a027d77b9..2ea9c48d0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -23,6 +23,7 @@ public class SpigotMineNotificationsGUI extends SpigotGUIComponents { private final Player p; private final String mineName; + private final Configuration messages = configs("messages"); public SpigotMineNotificationsGUI(Player p, String mineName){ this.p = p; @@ -60,23 +61,17 @@ private boolean guiBuilder(Inventory inv, String enabledOrDisabled) { private void buttonsSetup(Inventory inv, String enabledOrDisabled) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List modeWithinLore = createLore( messages.getString("Gui.Lore.ClickToChoose"), messages.getString("Gui.Lore.ActivateWithinMode")); - - // Create a new lore List modeRadiusLore = createLore( messages.getString("Gui.Lore.ClickToChoose"), messages.getString("Gui.Lore.ActivateRadiusMode")); - - // Create a new lore List disabledModeLore = createLore( messages.getString("Gui.Lore.ClickToChoose"), messages.getString("Gui.Lore.DisableNotifications")); - List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); @@ -120,11 +115,8 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { // Add a button to the inventory inv.setItem( 11, modeWithin); - - // Add a button to the inventory inv.setItem(13, radiusMode); - - // Add a button to the inventory + // Add an enchantment effect to the button disabledMode.addUnsafeEnchantment(Enchantment.LUCK, 1); inv.setItem(15, disabledMode); @@ -134,11 +126,7 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { // Add a button to the inventory modeWithin.addUnsafeEnchantment(Enchantment.LUCK, 1); inv.setItem(11, modeWithin); - - // Add a button to the inventory inv.setItem(13, radiusMode); - - // Add a button to the inventory inv.setItem(15, disabledMode); // Check which buttons should be added, based on the mode already in use of the Mine Notifications @@ -146,12 +134,8 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { // Add a button to the inventory inv.setItem( 11, modeWithin); - - // Add a button to the inventory radiusMode.addUnsafeEnchantment(Enchantment.LUCK, 1); inv.setItem( 13, radiusMode); - - // Add a button to the inventory inv.setItem(15, disabledMode); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index 557b18bf4..25a494040 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -20,6 +20,7 @@ public class SpigotMineResetTimeGUI extends SpigotGUIComponents { private final Player p; private final String mineName; private final Integer val; + private final Configuration messages = configs("messages"); public SpigotMineResetTimeGUI(Player p, Integer val, String mineName){ this.p = p; @@ -53,7 +54,6 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( @@ -76,20 +76,12 @@ private void buttonsSetup(Inventory inv) { // Decrease button ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 1" )); inv.setItem(1, decreaseOf1); - - // Decrease button ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 5, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 5")); inv.setItem(10, decreaseOf5); - - // Decrease button ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 10")); inv.setItem(19, decreaseOf10); - - // Decrease button ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 50, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 50")); inv.setItem(28, decreaseOf50); - - // Decrease button ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 100")); inv.setItem(37, decreaseOf100); @@ -108,20 +100,12 @@ private void buttonsSetup(Inventory inv) { // Increase button ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 1" )); inv.setItem(7, increseOf1); - - // Increase button ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 5, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 5")); inv.setItem(16, increaseOf5); - - // Increase button ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 10")); inv.setItem(25, increaseOf10); - - // Increase button ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 50, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 50")); inv.setItem(34, increaseOf50); - - // Increase button ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 100")); inv.setItem(43, increaseOf100); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 768fda5e8..34355ed6f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -26,8 +26,7 @@ public class SpigotMinesBlocksGUI extends SpigotGUIComponents { private final Player p; private final String mineName; - - private Configuration messages = null; + private final Configuration messages = configs("messages"); public SpigotMinesBlocksGUI(Player p, String mineName){ this.p = p; @@ -45,9 +44,6 @@ public void open(){ boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); - // Load config - this.messages = SpigotPrison.getInstance().getMessagesConfig(); - // Create the inventory Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineInfo -> Blocks")); @@ -155,8 +151,6 @@ private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial // Add a lore blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.Chance") + block.getChance() + "%")); - - // Add a lore blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.BlockType") + blockmaterial)); // Make the item @@ -191,8 +185,6 @@ private void buttonsSetup(Inventory inv, Block block, String blockmaterial, Stri // Add a lore blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.Chance") + block.getChance() + "%")); - - // Add a lore blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.BlockType") + blockmaterial)); // Make the item diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index facb34078..ab4103c32 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -19,6 +19,7 @@ public class SpigotMinesConfirmGUI extends SpigotGUIComponents { private final Player p; private final String mineName; + private final Configuration messages = configs("messages"); public SpigotMinesConfirmGUI(Player p, String mineName) { this.p = p; @@ -51,27 +52,19 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Blocks of the mine List confirmlore = createLore( messages.getString("Gui.Lore.ClickToConfirm")); - - // Blocks of the mine List cancelore = createLore( messages.getString("Gui.Lore.ClickToCancel")); // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmlore, SpigotPrison.format("&3" + "Confirm: " + mineName)); - - // Create the button, set up the material, amount, lore and name ItemStack cancel = createButton(Material.REDSTONE_BLOCK, 1, cancelore, SpigotPrison.format("&3" + "Cancel: " + mineName)); // Position of the button inv.setItem(2, confirm); - - // Position of the button inv.setItem(6, cancel); } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 1cd49c776..00f414254 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -30,7 +30,7 @@ public class SpigotMinesGUI extends SpigotGUIComponents { private final Player p; - private Configuration messages = null; + private final Configuration messages = configs("messages"); public SpigotMinesGUI(Player p) { this.p = p; @@ -49,9 +49,6 @@ public void open(){ // Get the dimensions and if needed increases them int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; - // Load config - this.messages = SpigotPrison.getInstance().getMessagesConfig(); - // If the inventory is empty if (dimension == 0){ p.closeInventory(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index ab1734f51..f18d85670 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -24,8 +24,8 @@ public class SpigotPlayerMinesGUI extends SpigotGUIComponents { private final Player p; - - private Configuration messages = null; + private final Configuration messages = configs("messages"); + private final Configuration GuiConfig = configs("guiconfig"); public SpigotPlayerMinesGUI(Player p) { this.p = p; @@ -45,8 +45,6 @@ public void open(){ int dimension = (int) Math.ceil(mines.getSortedList().size() / 9D) * 9; // Load config - Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); - this.messages = SpigotPrison.getInstance().getMessagesConfig(); // If the inventory is empty if (dimension == 0){ @@ -73,7 +71,6 @@ public void open(){ ); if (guiBuilder(GuiConfig, inv, m, minesLore)) return; - } // Open the inventory @@ -139,5 +136,4 @@ private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m, List confirmLore = createLore( messages.getString("Gui.Lore.ClickToConfirm"), @@ -62,14 +61,10 @@ private void buttonsSetup(Inventory inv) { // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmLore, SpigotPrison.format("&3" + "Confirm: Prestige")); - - // Create the button, set up the material, amount, lore and name ItemStack cancel = createButton(Material.REDSTONE_BLOCK, 1, cancelLore, SpigotPrison.format("&3" + "Cancel: Don't Prestige")); // Position of the button inv.setItem(2, confirm); - - // Position of the button inv.setItem(6, cancel); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 32d37bab5..da6198ca2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -22,8 +22,7 @@ public class SpigotLaddersGUI extends SpigotGUIComponents { private final Player p; - - private Configuration messages = null; + private final Configuration messages = configs("messages"); public SpigotLaddersGUI(Player p){ this.p = p; @@ -45,8 +44,6 @@ public void open(){ // Get the dimensions and if needed increases them int dimension = (int) Math.ceil(lm.getLadders().size() / 9D) * 9; - this.messages = SpigotPrison.getInstance().getMessagesConfig(); - // If the inventory is empty if (dimension == 0){ p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoLadders"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index e00683089..ab0485ac6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -32,9 +32,10 @@ public class SpigotPlayerPrestigesGUI extends SpigotGUIComponents { private final Player player; - private PrisonRanks rankPlugin; private RankPlayer rankPlayer; + private final Configuration guiConfig = configs("guiconfig"); + private final Configuration messages = configs("messages"); public SpigotPlayerPrestigesGUI(Player player) { this.player = player; @@ -113,7 +114,6 @@ public void open() { } // Load config - Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); LadderManager lm = getRankPlugin().getLadderManager(); Optional ladder = lm.getLadder("prestiges"); @@ -131,16 +131,16 @@ public void open() { Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3" + "Prestiges -> PlayerPrestiges")); // guiBuilder and validation - if (guiBuilder(GuiConfig, ladder, dimension, inv)) return; + if (guiBuilder(ladder, dimension, inv)) return; // Open the inventory getPlayer().openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(getPlayer()); } - private boolean guiBuilder(Configuration guiConfig, Optional ladder, int dimension, Inventory inv) { + private boolean guiBuilder(Optional ladder, int dimension, Inventory inv) { try { - buttonsSetup(guiConfig, ladder, dimension, inv); + buttonsSetup(ladder, dimension, inv); } catch (NullPointerException ex){ getPlayer().sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -149,9 +149,8 @@ private boolean guiBuilder(Configuration guiConfig, Optional ladder, return false; } - private void buttonsSetup(Configuration guiConfig, Optional ladder, int dimension, Inventory inv) { + private void buttonsSetup(Optional ladder, int dimension, Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); if (!ladder.isPresent()){ player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.LadderPrestigesNotFound"))); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index a722860a6..160158db8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -36,8 +36,8 @@ public class SpigotPlayerRanksGUI extends SpigotGUIComponents { private PrisonRanks rankPlugin; private RankPlayer rankPlayer; // Load config - private final Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); - private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + private final Configuration guiConfig = configs("guiconfig"); + private final Configuration messages = configs("messages"); public SpigotPlayerRanksGUI(Player player) { this.player = player; @@ -68,10 +68,9 @@ public SpigotPlayerRanksGUI(Player player) { } PlayerManager playerManager = rankPlugin.getPlayerManager(); - rPlayer = playerManager.getPlayer( player.getUniqueId(), player.getName() ).orElse( null ); - Plugin plugin = server.getPluginManager().getPlugin( PrisonRanks.MODULE_NAME ); + if (plugin instanceof PrisonRanks) { rankPlugin = (PrisonRanks) plugin; Optional oPlayer = rankPlugin.getPlayerManager(). diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 1dde4e483..1ca1dc703 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -21,6 +21,7 @@ public class SpigotRankManagerGUI extends SpigotGUIComponents { private final Player p; private final Rank rank; + private final Configuration messages = configs("messages"); public SpigotRankManagerGUI(Player p, Rank rank) { this.p = p; @@ -58,7 +59,6 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create the lore List rankupCommandsLore = createLore( @@ -76,8 +76,6 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.Info"), messages.getString("Gui.Lore.Price") + rank.cost ); - - // Create the lore List editTagLore = createLore( messages.getString("Gui.Lore.ClickToOpen"), "", @@ -95,25 +93,18 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); - inv.setItem(26, closeGUI); - - ItemStack rankupCommands = createButton(commandMinecart, 1, rankupCommandsLore, SpigotPrison.format("&3" + "RankupCommands" + " " + rank.name)); // Create the button + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack rankupCommands = createButton(commandMinecart, 1, rankupCommandsLore, SpigotPrison.format("&3" + "RankupCommands" + " " + rank.name)); ItemStack rankPrice = createButton(Material.GOLD_NUGGET, 1, editPriceLore, SpigotPrison.format("&3" + "RankPrice" + " " + rank.name)); - - // Create the button ItemStack rankTag = createButton(Material.NAME_TAG, 1, editTagLore, SpigotPrison.format("&3" + "RankTag" + " " + rank.name)); // Set the position and add it to the inventory inv.setItem(10, rankupCommands); - - // Set the position and add it to the inventory inv.setItem(13, rankPrice); - - // Set the position and add it to the inventory inv.setItem(16, rankTag); + inv.setItem(26, closeGUI); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 5269ffe65..dea863194 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -20,6 +20,7 @@ public class SpigotRankPriceGUI extends SpigotGUIComponents { private final Player p; private final String rankName; private final Integer val; + Configuration messages = configs("messages"); public SpigotRankPriceGUI(Player p, Integer val, String rankname){ this.p = p; @@ -58,22 +59,17 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); // Create a new lore List changeDecreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToDecrease") ); - - // Create a new lore List confirmButtonLore; confirmButtonLore = createLore( messages.getString("Gui.Lore.LeftClickToConfirm"), messages.getString("Gui.Lore.Price2") + val, messages.getString("Gui.Lore.RightClickToCancel") ); - - // Create a new lore List changeIncreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToIncrease") ); @@ -81,20 +77,12 @@ private void buttonsSetup(Inventory inv) { // Decrease button ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " - 1" )); inv.setItem(1, decreaseOf1); - - // Decrease button ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " - 10")); inv.setItem(10, decreaseOf5); - - // Decrease button ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " - 100")); inv.setItem(19, decreaseOf10); - - // Decrease button ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " - 1000")); inv.setItem(28, decreaseOf50); - - // Decrease button ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " - 10000")); inv.setItem(37, decreaseOf100); @@ -107,20 +95,12 @@ private void buttonsSetup(Inventory inv) { // Increase button ItemStack increaseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " + 1" )); inv.setItem(7, increaseOf1); - - // Increase button ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " + 10")); inv.setItem(16, increaseOf5); - - // Increase button ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " + 100")); inv.setItem(25, increaseOf10); - - // Increase button ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " + 1000")); inv.setItem(34, increaseOf50); - - // Increase button ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + rankName + " " + val + " + 10000")); inv.setItem(43, increaseOf100); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index e2dee2182..96b2a1f88 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -21,8 +21,7 @@ public class SpigotRankUPCommandsGUI extends SpigotGUIComponents { private final Player p; private final Rank rank; - - private Configuration messages = null; + private final Configuration messages = configs("messages"); public SpigotRankUPCommandsGUI(Player p, Rank rank) { this.p = p; @@ -39,9 +38,6 @@ public void open() { return; } - // Load config - this.messages = SpigotPrison.getInstance().getMessagesConfig(); - if (rank.rankUpCommands.size() == 0){ p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRankupCommands"))); return; @@ -102,8 +98,6 @@ private void buttonsSetup(Inventory inv, String command) { messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), "", messages.getString("Gui.Lore.Info")); - - // Adding a lore commandsLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Command") + command)); // Make the button with materials, amount, lore and name diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index cede79b89..eec5cba2e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -4,6 +4,7 @@ import java.util.Optional; import java.util.stream.Collectors; +import com.earth2me.essentials.EssentialsConf; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -28,8 +29,7 @@ public class SpigotRanksGUI extends SpigotGUIComponents { private final Player p; private final Optional ladder; - - private Configuration messages = null; + private static final Configuration messages = configs("messages"); public SpigotRanksGUI(Player p, Optional ladder) { this.p = p; @@ -48,9 +48,6 @@ public void open() { return; } - // Load config - this.messages = SpigotPrison.getInstance().getMessagesConfig(); - // Get the dimensions and if needed increases them if (ladder.isPresent() && !(ladder.get().ranks.size() == 0)) { dimension = (int) Math.ceil(ladder.get().ranks.size() / 9D) * 9; @@ -128,14 +125,8 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { // Add the RankID Lore ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Id") + rank.id)); - - // Add the RankName lore ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Name") + rank.name)); - - // Add the Rank Tag lore ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Tag2") + ChatColor.translateAlternateColorCodes('&', rank.tag))); - - // Add the Price lore ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Price3") + rank.cost)); // Init a variable @@ -146,8 +137,6 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { // Add the number of players with this rank ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.PlayersWithTheRank") + players.size())); - - // RankUpCommands info lore ranksLore.add(""); getCommands(ranksLore, rank); @@ -160,8 +149,6 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { static void getCommands(List ranksLore, Rank rank) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ContainsTheRank") + rank.name + messages.getString("Gui.Lore.ContainsNoCommands"))); } else { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index e3bf07d7e..b3491444c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -21,6 +21,8 @@ public class SellAllAdminGUI extends SpigotGUIComponents { private final Player p; + private final Configuration conf = configs("sellall"); + private final Configuration messages = configs("messages"); public SellAllAdminGUI(Player p){ this.p = p; @@ -28,27 +30,24 @@ public SellAllAdminGUI(Player p){ public void open() { - // Load configs - Configuration conf = SpigotPrison.getSellAllConfig(); - Inventory inv; - if (guiBuilder(conf)) return; + if (guiBuilder()) return; - inv = buttonsSetup(conf); + inv = buttonsSetup(); if (inv == null) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private Inventory buttonsSetup(Configuration conf) { + private Inventory buttonsSetup() { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); boolean emptyInv = false; try { + assert conf != null; if (conf.getConfigurationSection("Items") == null) { emptyInv = true; } @@ -87,9 +86,9 @@ private Inventory buttonsSetup(Configuration conf) { return inv; } - private boolean guiBuilder(Configuration conf) { + private boolean guiBuilder() { try { - buttonsSetup(conf); + buttonsSetup(); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 13ec98e1f..02e647b27 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -20,6 +20,8 @@ public class SellAllPlayerGUI extends SpigotGUIComponents { private final Player p; + private final Configuration messages = configs("messages"); + private final Configuration conf = configs("sellall"); public SellAllPlayerGUI(Player p){ this.p = p; @@ -27,26 +29,20 @@ public SellAllPlayerGUI(Player p){ public void open() { - // Load configs - Configuration conf = SpigotPrison.getSellAllConfig(); - Inventory inv; - if (guiBuilder(conf)) return; + if (guiBuilder()) return; - inv = buttonsSetup(conf); + inv = buttonsSetup(); if (inv == null) return; this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); } - private Inventory buttonsSetup(Configuration conf) { - - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + private Inventory buttonsSetup() { Inventory inv; - boolean emptyInv = false; try { @@ -86,9 +82,9 @@ private Inventory buttonsSetup(Configuration conf) { return inv; } - private boolean guiBuilder(Configuration conf) { + private boolean guiBuilder() { try { - buttonsSetup(conf); + buttonsSetup(); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index f9f8fb460..75f06a4d2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -20,6 +20,7 @@ public class SellAllPriceGUI extends SpigotGUIComponents { private final Player p; private final String itemID; private final Double val; + private final Configuration messages = configs("messages"); public SellAllPriceGUI(Player p, Double val, String itemID){ this.p = p; @@ -53,22 +54,16 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - // Create a new lore List changeDecreaseValueLore; changeDecreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToDecrease") ); - - // Create a new lore List confirmButtonLore = createLore( messages.getString("Gui.Lore.LeftClickToConfirm"), messages.getString("Gui.Lore.Price2") + val, messages.getString("Gui.Lore.RightClickToCancel") ); - - // Create a new lore List changeIncreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToIncrease") ); @@ -77,20 +72,12 @@ private void buttonsSetup(Inventory inv) { // Decrease button ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " - 1" )); inv.setItem(1, decreaseOf1); - - // Decrease button ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " - 10")); inv.setItem(10, decreaseOf5); - - // Decrease button ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " - 100")); inv.setItem(19, decreaseOf10); - - // Decrease button ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " - 1000")); inv.setItem(28, decreaseOf50); - - // Decrease button ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " - 10000")); inv.setItem(37, decreaseOf100); @@ -103,20 +90,12 @@ private void buttonsSetup(Inventory inv) { // Increase button ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " + 1" )); inv.setItem(7, increseOf1); - - // Increase button ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " + 10")); inv.setItem(16, increaseOf5); - - // Increase button ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " + 100")); inv.setItem(25, increaseOf10); - - // Increase button ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " + 1000")); inv.setItem(34, increaseOf50); - - // Increase button ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + itemID + " " + val + " + 10000")); inv.setItem(43, increaseOf100); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index 9d6b73b49..f1cf3e8c6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -15,11 +15,9 @@ public class MessagesConfig { + // Initialize parameters and variables private FileConfiguration conf; - - private File file; private int changeCount = 0; - public MessagesConfig() { @@ -29,8 +27,8 @@ public MessagesConfig() { public void initialize() { // Filepath - this.file = new File(SpigotPrison.getInstance().getDataFolder() + - "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + File file = new File(SpigotPrison.getInstance().getDataFolder() + + "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); if( !file.exists() ) { try { @@ -61,21 +59,19 @@ public void initialize() { Output.get().logInfo( "&4Failed to save &b%d &4new values for the language files " + "used by the GuiConfig.yml file located at &b%s&4. " + - "&a %s", - changeCount, file.getAbsoluteFile(), e.getMessage() ); - + "&a %s", changeCount, file.getAbsoluteFile(), e.getMessage() ); } } } private void dataConfig(String key, String value){ - if (conf.getString(key) == null) { conf.set(key, value); changeCount++; } } + // All the strings should be here private void values(){ dataConfig("Gui.Lore.ActivateWithinMode","&8Activate Within mode."); dataConfig("Gui.Lore.ActivateRadiusMode","&8Activate Radius mode."); From 582efd95b361a5281b77fd0605a201e1f3661e27 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Tue, 10 Nov 2020 23:51:06 +0100 Subject: [PATCH 193/243] Code changes Changelogs: - Deleted a class --- .../prison/internal/platform/Platform.java | 2 - .../tech/mcprison/prison/TestPlatform.java | 6 - .../prison/spigot/SpigotPlatform.java | 11 +- .../mcprison/prison/spigot/gui/SpigotGUI.java | 106 ------------------ 4 files changed, 5 insertions(+), 120 deletions(-) delete mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 1a8a8153c..fa50efc6c 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -148,9 +148,7 @@ public interface Platform { * * @param title The title of the GUI. * @param numRows The number of rows in the GUI; must be divisible by 9. - * @return The {@link GUI}, ready for use. */ - GUI createGUI(String title, int numRows); /** * If an iron door is open, this method closes it. diff --git a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java index 3e150b209..3f0d1ad53 100644 --- a/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java +++ b/prison-core/src/test/java/tech/mcprison/prison/TestPlatform.java @@ -31,7 +31,6 @@ import tech.mcprison.prison.commands.PluginCommand; import tech.mcprison.prison.file.FileStorage; import tech.mcprison.prison.file.YamlFileIO; -import tech.mcprison.prison.gui.GUI; import tech.mcprison.prison.integration.IntegrationManager.PlaceHolderFlags; import tech.mcprison.prison.integration.Placeholders; import tech.mcprison.prison.internal.CommandSender; @@ -135,12 +134,7 @@ public void dispatchCommand( CommandSender sender, String cmd ) { return new TestScheduler(); } - @Override public GUI createGUI(String title, int numRows) { - return null; - } - @Override public void toggleDoor(Location doorLocation) { - } @Override public void log(String message, Object... format) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 981f5ef6b..fa1aab244 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -52,7 +52,6 @@ import tech.mcprison.prison.convert.ConversionResult; import tech.mcprison.prison.file.FileStorage; import tech.mcprison.prison.file.YamlFileIO; -import tech.mcprison.prison.gui.GUI; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.Scheduler; import tech.mcprison.prison.internal.World; @@ -77,7 +76,6 @@ import tech.mcprison.prison.spigot.game.SpigotOfflinePlayer; import tech.mcprison.prison.spigot.game.SpigotPlayer; import tech.mcprison.prison.spigot.game.SpigotWorld; -import tech.mcprison.prison.spigot.gui.SpigotGUI; import tech.mcprison.prison.spigot.placeholder.SpigotPlaceholders; import tech.mcprison.prison.spigot.scoreboard.SpigotScoreboardManager; import tech.mcprison.prison.spigot.util.ActionBarUtil; @@ -353,7 +351,7 @@ public List tabComplete( CommandSender sender, String alias, String[] ar } - @Override + //@Override public List tabComplete( CommandSender sender, String alias, String[] args, org.bukkit.Location location ) throws IllegalArgumentException @@ -437,9 +435,10 @@ public PluginCommand findCommand( String label ) { return plugin.scheduler; } - @Override public GUI createGUI(String title, int numRows) { - return new SpigotGUI(title, numRows); - } + // Old method removed + // @Override public GUI createGUI(String title, int numRows) { + // return new SpigotGUI(title, numRows); + // } // @SuppressWarnings( "deprecation" ) public void toggleDoor(Location doorLocation) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java deleted file mode 100644 index c4fdfa2e9..000000000 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUI.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Prison is a Minecraft plugin for the prison game mode. - * Copyright (C) 2017-2020 The Prison Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package tech.mcprison.prison.spigot.gui; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import tech.mcprison.prison.gui.Button; -import tech.mcprison.prison.gui.GUI; -import tech.mcprison.prison.internal.Player; -import tech.mcprison.prison.spigot.SpigotUtil; -import tech.mcprison.prison.spigot.inventory.SpigotInventory; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author Faizaan A. Datoo - */ -// From GABRYCA, I don't know if this's still needed, I won't remove it for now, but might be in the future -public class SpigotGUI implements GUI { - - private Map buttons; - private String title; - private int numSlots; - - private Inventory bukkitInventory; - - public SpigotGUI(String title, int numSlots) { - this.buttons = new HashMap<>(); - this.title = title; - this.numSlots = numSlots; - } - - @Override public void show(Player... players) { - for (Player player : players) { - org.bukkit.entity.Player bPlayer = Bukkit.getServer().getPlayer(player.getName()); - bPlayer.openInventory(bukkitInventory); - } - // GUIListener.get().registerInventory(this); - } - - @Override public GUI build() { - bukkitInventory = Bukkit.getServer() - .createInventory(null, numSlots, ChatColor.translateAlternateColorCodes('&', title)); - for (Map.Entry button : buttons.entrySet()) { - bukkitInventory.setItem(button.getKey(), buttonToItemStack(button.getValue())); - } - - return this; - } - - private ItemStack buttonToItemStack(Button button) { - ItemStack stack = SpigotUtil.getItemStack( button.getItem(), 1 ); -// new ItemStack(button.getItem().getLegacyId(), 1, button.getItem().getData()); - ItemMeta meta = stack.getItemMeta(); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&r" + button.getName())); - meta.setLore(button.getLore()); - stack.setItemMeta(meta); - return stack; - } - - @Override public String getTitle() { - return title; - } - - @Override public int getNumRows() { - return numSlots / 9; - } - - @Override public Map getButtons() { - return buttons; - } - - @Override public GUI addButton(int slot, Button button) { - buttons.put(slot, button); - return this; - } - - @Override public tech.mcprison.prison.internal.inventory.Inventory getInventory() { - return new SpigotInventory(bukkitInventory); - } - - public Inventory getWrapper() { - return bukkitInventory; - } - -} From fa0b23ebf13ecff6f0a03ba21b7511d84a919511 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Tue, 10 Nov 2020 23:56:58 +0100 Subject: [PATCH 194/243] Code changes Changelogs: - Just a small parameter --- .../tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index ba366c68a..b550d7160 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -56,6 +56,8 @@ protected boolean checkRanks(Player p){ /** * There're 3 configs available for now: messages, guiconfig and sellall + * @param type + * @return * */ protected static Configuration configs(String type){ if (type.equalsIgnoreCase("messages")) { From 499ec9583bd69fdb20890d612b8858603129cce7 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 10 Nov 2020 23:45:34 -0500 Subject: [PATCH 195/243] Added /mtp as an alias to /mines tp. --- .../java/tech/mcprison/prison/mines/commands/MinesCommands.java | 1 + 1 file changed, 1 insertion(+) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index d81675ffa..f03197994 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -2478,6 +2478,7 @@ else if ( "enable".equalsIgnoreCase( paging ) && !m.isUsePagingOnReset() ) { @Command(identifier = "mines tp", description = "TP to the mine.", + aliases = "mtp", altPermissions = {"mines.tp", "mines.tp.[mineName]"}) public void mineTp(CommandSender sender, @Arg(name = "mineName", description = "The name of the mine to teleport to.") String mineName, From 9dead3fd8fe39acc7ec563044e5b709bd849209e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 10 Nov 2020 23:52:55 -0500 Subject: [PATCH 196/243] New feature! Hooked the prison GUI up to the new prison command manager. Assigned aliases so as to preserve backwards compatibility with admins who are used to the prisonmanager command. The /prisonmanager command has been replaced with just /gui. Tested and appears to be working well. Can do /gui mines, /gui ranks, /gui prestige, /gui prestiges. --- .../mcprison/prison/spigot/SpigotPrison.java | 11 +- .../commands/PrisonShortcutCommands.java | 108 ----- .../commands/PrisonSpigotBaseCommands.java | 63 +++ .../spigot/commands/PrisonSpigotCommands.java | 400 ++++++++++-------- prison-spigot/src/main/resources/config.yml | 8 +- prison-spigot/src/main/resources/plugin.yml | 6 +- 6 files changed, 303 insertions(+), 293 deletions(-) delete mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index d79b78e7d..5db95c133 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -54,7 +54,6 @@ import tech.mcprison.prison.spigot.autofeatures.AutoManager; import tech.mcprison.prison.spigot.autofeatures.AutoManagerFeatures; import tech.mcprison.prison.spigot.block.OnBlockBreakEventListener; -import tech.mcprison.prison.spigot.commands.PrisonShortcutCommands; import tech.mcprison.prison.spigot.commands.PrisonSpigotCommands; import tech.mcprison.prison.spigot.compat.Compatibility; import tech.mcprison.prison.spigot.compat.Spigot113; @@ -160,13 +159,17 @@ public void onEnable() { new GuiConfig(); Bukkit.getPluginManager().registerEvents(new ListenersPrisonManager(),this); - Bukkit.getPluginManager().registerEvents(new PrisonSpigotCommands(), this); Bukkit.getPluginManager().registerEvents(new AutoManager(), this); Bukkit.getPluginManager().registerEvents(new OnBlockBreakEventListener(), this); Bukkit.getPluginManager().registerEvents(new SlimeBlockFunEventListener(), this); - getCommand("prisonmanager").setExecutor(new PrisonSpigotCommands()); + + PrisonSpigotCommands spigotCommands = new PrisonSpigotCommands(); + + Bukkit.getPluginManager().registerEvents( spigotCommands, this); + Prison.get().getCommandHandler().registerCommands( spigotCommands ); + sellAllConfig optionsSellAll = new sellAllConfig(); @@ -182,7 +185,7 @@ public void onEnable() { new SpigotListener().init(); - Prison.get().getCommandHandler().registerCommands(new PrisonShortcutCommands()); +// Prison.get().getCommandHandler().registerCommands(new PrisonShortcutCommands()); initIntegrations(); initModules(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java deleted file mode 100644 index c966338c6..000000000 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonShortcutCommands.java +++ /dev/null @@ -1,108 +0,0 @@ -package tech.mcprison.prison.spigot.commands; - -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.event.Listener; -import tech.mcprison.prison.Prison; -import tech.mcprison.prison.commands.Arg; -import tech.mcprison.prison.commands.Command; -import tech.mcprison.prison.internal.CommandSender; -import tech.mcprison.prison.spigot.SpigotPrison; - -import java.util.Objects; - -/** - * @author RoyalBlueRanger - * @author GABRYCA - */ -public class PrisonShortcutCommands implements Listener { - - /** - *

    This command, /Prison gui and many others are more of convenience commands which - * allows access to the gui from the base /prison commands. This will allow - * the players to find it easier, and it will also be easier to recall. - *

    - * - *

    The actual gui command, which is /prisonmanager gui is not able to - * be integrated in to the main prison command sets due to the requirement of - * the gui being native spigot. Cannot mix the two. But can have /prison gui - * internally call /prisonmanger gui to give the illusion they are connected. - *

    - * - * @param sender - */ - - @Command(identifier = "prison gui", description = "Opens the Prison GUI menus.", - aliases = "gui", - permissions = "prison.gui", onlyPlayers = true) - public void prisonGui(CommandSender sender) { - - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ - sender.sendMessage(SpigotPrison.format("&cThe GUI's disabled, if you want to use it, edit the config.yml!")); - return; - } - - - String formatted = "prisonmanager gui"; - Prison.get().getPlatform().dispatchCommand(sender, formatted); - } - - @Command(identifier = "mines", onlyPlayers = false, - altPermissions = {"-none-", "mines.admin"}) - public void minesGUICommand(CommandSender sender) { - if (!sender.hasPermission("mines.admin") && - SpigotPrison.getInstance().getConfig().getString("mines-gui-enabled") != null && - SpigotPrison.getInstance().getConfig().getString("mines-gui-enabled").equalsIgnoreCase("true")) { - sender.dispatchCommand("prisonmanager mines"); - } else { - sender.dispatchCommand("mines help"); - } - } - - @Command(identifier = "ranks", onlyPlayers = false, - altPermissions = {"-none-", "ranks.admin"}) - public void ranksGUICommand(CommandSender sender, - @Arg(name = "ladder", def = "default", - description = "If player has no permission to /ranks then /ranks list will be ran instead.") - String ladderName) { - if (!sender.hasPermission("ranks.admin")) { - FileConfiguration pConfig = SpigotPrison.getInstance().getConfig(); - if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && - pConfig.getString("ranks-gui-enabled") != null && - pConfig.getString("ranks-gui-enabled").equalsIgnoreCase("true")){ - sender.dispatchCommand("prisonmanager ranks"); - } - else if (ladderName.equalsIgnoreCase("prestiges") && - pConfig.getString("ranks-gui-prestiges-enabled") != null && - pConfig.getString("ranks-gui-prestiges-enabled").equalsIgnoreCase("true")){ - sender.dispatchCommand("prisonmanager prestiges"); - } else { - sender.dispatchCommand("ranks list " + ladderName); - } - } else { - sender.dispatchCommand("ranks help"); - } - } - - @Command(identifier = "prestiges", onlyPlayers = true, altPermissions = {"-none-", "prison.admin"}) - public void prestigesGUICommand(CommandSender sender){ - - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prestiges")).equalsIgnoreCase("true"))) { - sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled by default, please edit it in your config.yml!")); - return; - } - - if (Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prestiges-gui-enabled")).equalsIgnoreCase("true")) { - sender.dispatchCommand( "prisonmanager prestiges"); - } else { - sender.dispatchCommand( "ranks list prestiges"); - } - } - - @Command(identifier = "prestige", onlyPlayers = true, altPermissions = "-none-") - public void prestigesPrestigeCommand(CommandSender sender) { - if (Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prestiges")).equalsIgnoreCase("true")) { - sender.dispatchCommand("prisonmanager prestige"); - } - } - -} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java new file mode 100644 index 000000000..0c0587015 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java @@ -0,0 +1,63 @@ +package tech.mcprison.prison.spigot.commands; + +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; + +import tech.mcprison.prison.internal.CommandSender; +import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.game.SpigotCommandSender; + +public class PrisonSpigotBaseCommands { + + + protected boolean isConfig( String configId ) { + + String config = getConfig().getString( configId ); + boolean results = config != null && config.equalsIgnoreCase( "true" ); + + return results; + } + + protected boolean isPrisonConfig( String configId ) { + + String config = SpigotPrison.getInstance().getConfig().getString( configId ); + boolean results = config != null && config.equalsIgnoreCase( "true" ); + + return results; + } + + protected String getConfig( String configId ) { + + String config = getConfig().getString( configId ); + + return config == null ? "" : config; + } + + + protected String getPrisonConfig( String configId ) { + + String config = SpigotPrison.getInstance().getConfig().getString( configId ); + + return config; + } + + protected Configuration getConfig() { + Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); + return guiConfig; + } + + protected Player getSpigotPlayer( CommandSender sender ) { + Player player = null; + + if ( sender instanceof SpigotCommandSender ) { + SpigotCommandSender cmdSender = (SpigotCommandSender) sender; + + if (cmdSender.getWrapper() instanceof Player) { + player = (Player) cmdSender.getWrapper(); + } + } + return player; + } + + +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 274778beb..45b602fe1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -1,17 +1,16 @@ package tech.mcprison.prison.spigot.commands; import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; - import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; + import tech.mcprison.prison.Prison; +import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.Command; +import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.modules.Module; import tech.mcprison.prison.modules.ModuleManager; import tech.mcprison.prison.ranks.PrisonRanks; @@ -23,18 +22,18 @@ import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerPrestigesGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerRanksGUI; -import java.util.Objects; - /** * @author GABRYCA * @author RoyalBlueRanger */ -public class PrisonSpigotCommands implements CommandExecutor, Listener { +public class PrisonSpigotCommands + extends PrisonSpigotBaseCommands + implements Listener { - boolean isChatEventActive; - int id; - String mode; - CommandSender senderOfCommand; + private boolean isChatEventActive; + private int id; + private String mode; +// CommandSender senderOfCommand; @EventHandler(priority = EventPriority.LOWEST) public void onChat(AsyncPlayerChatEvent e) { @@ -56,77 +55,80 @@ public void onChat(AsyncPlayerChatEvent e) { } } - public boolean haveGuiRequirements(CommandSender sender){ - - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ - sender.sendMessage(SpigotPrison.format("&cThe GUI's disabled, if you want to use it, edit the config.yml!")); - return false; - } - - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled")).equalsIgnoreCase("true"))){ - sender.sendMessage(SpigotPrison.format("&cThe GUI's disabled, if you want to use it, edit the config.yml!")); - return true; - } - - return false; - } - - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - - Player p = null; - if (sender instanceof Player) { - p = (Player) sender; - } - - // Load config - Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); -// Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - - if (args.length == 0) { - sender.sendMessage(SpigotPrison.format("&cIncorrect usage, the command should be /prisonmanager -gui-ranks-mines-prestiges-prestige-setup")); - return true; - } - - if (args[0].equalsIgnoreCase("ranks")){ - - if (haveGuiRequirements(sender)){ - return true; - } - return prisonManagerRanks(sender, p, guiConfig); - - } else if (args[0].equalsIgnoreCase("mines")){ - - if (haveGuiRequirements(sender)){ - return true; - } - return prisonManagerMines(sender, p, guiConfig); - - } else if (args[0].equalsIgnoreCase("prestiges")) { - - if (haveGuiRequirements(sender)){ - return true; - } - return prisonManagerPrestiges(sender, p, guiConfig); - - } else if (args[0].equalsIgnoreCase("prestige")){ - - return prisonManagerPrestige(sender, p); - - } else if (args[0].equalsIgnoreCase("gui")){ - - if (haveGuiRequirements(sender)){ - return true; - } - return prisonManagerGUI(sender, p); - - } - return true; - } - - private boolean prisonManagerPrestige(CommandSender sender, Player p) { - if (SpigotPrison.getInstance().getConfig().getBoolean("prestiges")) { + @Command(identifier = "mines", onlyPlayers = false, + altPermissions = {"-none-", "mines.admin"}) + public void minesGUICommand(CommandSender sender) { + if (!sender.hasPermission("mines.admin") && isPrisonConfig("mines-gui-enabled") ) { + + sender.dispatchCommand("gui mines"); + } + else { + sender.dispatchCommand("mines help"); + } + } + + + @Command(identifier = "ranks", onlyPlayers = false, + altPermissions = {"-none-", "ranks.admin"}) + public void ranksGUICommand(CommandSender sender, + @Arg(name = "ladder", def = "default", + description = "If player has no permission to /ranks then /ranks list will be ran instead.") + String ladderName) { + if (!sender.hasPermission("ranks.admin")) { + + if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && + isPrisonConfig("ranks-gui-enabled") ) { + + sender.dispatchCommand("gui ranks"); + } + else if (ladderName.equalsIgnoreCase("prestiges") && + isPrisonConfig( "ranks-gui-prestiges-enabled") ) { + + sender.dispatchCommand("gui prestiges"); + } + else { + sender.dispatchCommand("ranks list " + ladderName); + } + } + else { + sender.dispatchCommand("ranks help"); + } + } + + + @Command(identifier = "prestiges", onlyPlayers = true, altPermissions = {"-none-", "prison.admin"}) + public void prestigesGUICommand(CommandSender sender) { + + if ( !isPrisonConfig( "prestiges") ) { + sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled by default, please edit it in your config.yml!")); + return; + } + + if ( isConfig( "prestiges-gui-enabled") ) { + sender.dispatchCommand( "gui prestiges"); + } + else { + sender.dispatchCommand( "ranks list prestiges"); + } + } + + + @Command(identifier = "prestige", onlyPlayers = true, altPermissions = "-none-") + public void prestigesPrestigeCommand(CommandSender sender) { + + if ( isPrisonConfig( "prestiges" ) ) { + sender.dispatchCommand("gui prestige"); + } + } + + + + @Command( identifier = "gui prestige", description = "GUI Prestige", + aliases = {"prisonmanager prestige"} ) + public void prisonManagerPrestige(CommandSender sender ) { + + if ( isPrisonConfig("prestiges") ) { if (!(PrisonRanks.getInstance().getLadderManager().getLadder("prestiges").isPresent())) { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ranks ladder create prestiges"); @@ -137,127 +139,177 @@ private boolean prisonManagerPrestige(CommandSender sender, Player p) { ModuleManager modMan = Prison.get().getModuleManager(); Module module = modMan == null ? null : modMan.getModule( PrisonRanks.MODULE_NAME ).orElse( null ); - rankPlugin = (PrisonRanks) module; - - LadderManager lm = null; - if (rankPlugin != null) { - lm = rankPlugin.getLadderManager(); - } - - if (lm != null && (!(lm.getLadder("default").isPresent()) || - !(lm.getLadder("default").get().getLowestRank().isPresent()) || - lm.getLadder("default").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format("&cThere aren't ranks in the default ladder")); - return true; - } - - if (lm != null && (!(lm.getLadder("prestiges").isPresent()) || - !(lm.getLadder("prestiges").get().getLowestRank().isPresent()) || - lm.getLadder("prestiges").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format("&cThere aren't prestiges in the prestige ladder")); - return true; + if ( module != null ) { + + rankPlugin = (PrisonRanks) module; + + LadderManager lm = null; + if (rankPlugin != null) { + lm = rankPlugin.getLadderManager(); + } + + if (lm != null && (!(lm.getLadder("default").isPresent()) || + !(lm.getLadder("default").get().getLowestRank().isPresent()) || + lm.getLadder("default").get().getLowestRank().get().name == null)) { + sender.sendMessage(SpigotPrison.format("&cError: The default ladder has no rank.")); + return; + } + + if (lm != null && (!(lm.getLadder("prestiges").isPresent()) || + !(lm.getLadder("prestiges").get().getLowestRank().isPresent()) || + lm.getLadder("prestiges").get().getLowestRank().get().name == null)) { + sender.sendMessage(SpigotPrison.format("&cError: The prestige ladder has no prestiges")); + return; + } + + if ( isPrisonConfig( "prestige-confirm-gui") ) { + try { + + Player player = getSpigotPlayer( sender ); + + SpigotConfirmPrestigeGUI gui = new SpigotConfirmPrestigeGUI( player ); + gui.open(); + } catch (Exception ex) { + prestigeByChat( sender ); + } + } + else { + prestigeByChat( sender ); + } + } - - if (Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prestige-confirm-gui")).equalsIgnoreCase("true")) { - try { - SpigotConfirmPrestigeGUI gui = new SpigotConfirmPrestigeGUI(p); - gui.open(); - } catch (Exception ex) { - prestigeByChat(sender, p); - } - } else { - prestigeByChat(sender, p); - } - } - return true; } - private void prestigeByChat(CommandSender sender, Player p) { + private void prestigeByChat(CommandSender sender) { isChatEventActive = true; - sender.sendMessage(SpigotPrison.format(SpigotPrison.getInstance().getGuiConfig().getString("Gui.Lore.PrestigeWarning") + - SpigotPrison.getInstance().getGuiConfig().getString("Gui.Lore.PrestigeWarning2") + - SpigotPrison.getInstance().getGuiConfig().getString("Gui.Lore.PrestigeWarning3"))); + + sender.sendMessage(SpigotPrison.format(getPrisonConfig("Gui.Lore.PrestigeWarning") + + getPrisonConfig("Gui.Lore.PrestigeWarning2") + + getPrisonConfig("Gui.Lore.PrestigeWarning3"))); sender.sendMessage(SpigotPrison.format("&aConfirm&3: Type the word &aconfirm &3 to confirm")); - sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 15 seconds!")); - Player finalP = p; + sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 30 seconds.")); + + final Player player = getSpigotPlayer( sender ); + mode = "prestige"; id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (isChatEventActive) { isChatEventActive = false; - finalP.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); + player.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); } - }, 20L * 15); + }, 20L * 30); } - private boolean prisonManagerPrestiges(CommandSender sender, Player p, Configuration guiConfig) { - if (!(Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("prestiges")).equalsIgnoreCase("true"))) { - sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled by default, please edit it in your config.yml!")); - return true; + + @Command( identifier = "gui prestiges", description = "GUI Prestiges", + aliases = {"prisonmanager prestiges"}, + onlyPlayers = true ) + private void prisonManagerPrestiges( CommandSender sender ) { + + if ( !isPrisonConfig("prestiges") ) { + sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled. Check config.yml")); + return; } - if (!(Objects.requireNonNull(guiConfig.getString("Options.Prestiges.GUI_Enabled")).equalsIgnoreCase("true"))) { - sender.sendMessage(SpigotPrison.format("&cSorry, but this GUI's disabled in your GuiConfig.yml")); - return true; + + + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Prestiges.GUI_Enabled") ){ + sender.sendMessage(SpigotPrison.format("&cGUI and/or GUI Prestiges is not enabled. Check GuiConfig.yml")); + return; } - if (Objects.requireNonNull(guiConfig.getString("Options.Prestiges.Permission_GUI_Enabled")).equalsIgnoreCase("true")) { - if (!(sender.hasPermission(Objects.requireNonNull(guiConfig.getString("Options.Prestiges.Permission_GUI"))))){ - sender.sendMessage(SpigotPrison.format("&cSorry, but you're missing the permission to open this GUI [" + guiConfig.getString("Options.Prestiges.Permission_GUI") + "]")); - return true; + + if ( isConfig("Options.Prestiges.Permission_GUI_Enabled") ){ + String perm = getConfig( "Options.Prestiges.Permission_GUI"); + + if ( !sender.hasPermission( perm ) ){ + sender.sendMessage(SpigotPrison.format("&cYou lack the permissions to use GUI prestiges [" + + perm + "]")); + return; } - SpigotPlayerPrestigesGUI gui = new SpigotPlayerPrestigesGUI(p); - gui.open(); - } else { - SpigotPlayerPrestigesGUI gui = new SpigotPlayerPrestigesGUI(p); - gui.open(); } - return true; + + Player player = getSpigotPlayer( sender ); + SpigotPlayerPrestigesGUI gui = new SpigotPlayerPrestigesGUI( player ); + gui.open(); } - private boolean prisonManagerMines(CommandSender sender, Player p, Configuration guiConfig) { - if (!(Objects.requireNonNull(guiConfig.getString("Options.Mines.GUI_Enabled")).equalsIgnoreCase("true"))){ - sender.sendMessage(SpigotPrison.format("&cSorry, but this GUI's disabled in your GuiConfig.yml")); - return true; + + @Command( identifier = "gui mines", description = "GUI Mines", + aliases = {"prisonmanager mines"}, + onlyPlayers = true ) + private void prisonManagerMines(CommandSender sender) { + + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Mines.GUI_Enabled") ){ + sender.sendMessage(SpigotPrison.format("&cGUI and/or GUI Mines is not enabled. Check GuiConfig.yml")); + return; } - if (Objects.requireNonNull(guiConfig.getString("Options.Mines.Permission_GUI_Enabled")).equalsIgnoreCase("true")){ - if (!(sender.hasPermission(Objects.requireNonNull(guiConfig.getString("Options.Mines.Permission_GUI"))))){ - sender.sendMessage(SpigotPrison.format("&cSorry, but you're missing the permission to open this GUI [" + guiConfig.getString("Options.Mines.Permission_GUI") + "]")); - return true; + + + if ( isConfig("Options.Mines.Permission_GUI_Enabled") ){ + String perm = getConfig( "Options.Mines.Permission_GUI"); + + if ( !sender.hasPermission( perm ) ){ + sender.sendMessage(SpigotPrison.format("&cYou lack the permissions to use GUI mines [" + + perm + "]")); + return; } - SpigotPlayerMinesGUI gui = new SpigotPlayerMinesGUI(p); - gui.open(); - } else { - SpigotPlayerMinesGUI gui = new SpigotPlayerMinesGUI(p); - gui.open(); } - return true; + + Player player = getSpigotPlayer( sender ); + SpigotPlayerMinesGUI gui = new SpigotPlayerMinesGUI( player ); + gui.open(); } - private boolean prisonManagerRanks(CommandSender sender, Player p, Configuration guiConfig) { - if (!(Objects.requireNonNull(guiConfig.getString("Options.Ranks.GUI_Enabled")).equalsIgnoreCase("true"))) { - sender.sendMessage(SpigotPrison.format("&cSorry, but this GUI's disabled in your GuiConfig.yml")); - return true; + + @Command( identifier = "gui ranks", description = "GUI Ranks", + aliases = {"prisonmanager ranks"}, + onlyPlayers = true ) + private void prisonManagerRanks(CommandSender sender) { + + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled") ) { + sender.sendMessage(SpigotPrison.format( + String.format( "&cGUI and/or GUI ranks is not enabled. Check GuiConfig.yml (%s %s)", + getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); + return; } - if (Objects.requireNonNull(guiConfig.getString("Options.Ranks.Permission_GUI_Enabled")).equalsIgnoreCase("true")) { - if (!(sender.hasPermission(Objects.requireNonNull(guiConfig.getString("Options.Ranks.Permission_GUI"))))) { - sender.sendMessage(SpigotPrison.format("&cSorry, but you're missing the permission to open this GUI [" + guiConfig.getString("Options.Ranks.Permission_GUI") + "]")); - return true; - } - SpigotPlayerRanksGUI gui = new SpigotPlayerRanksGUI(p); - gui.open(); - } else { - SpigotPlayerRanksGUI gui = new SpigotPlayerRanksGUI(p); - gui.open(); + + if ( isConfig("Options.Ranks.Permission_GUI_Enabled") ) { + String perm = getConfig( "Options.Ranks.Permission_GUI"); + if (!sender.hasPermission( perm ) ) { + + sender.sendMessage(SpigotPrison.format("&cYou lack the permissions to use GUI ranks [" + + perm + "]")); + return; + } } - return true; + + Player player = getSpigotPlayer( sender ); + SpigotPlayerRanksGUI gui = new SpigotPlayerRanksGUI( player ); + gui.open(); } - private boolean prisonManagerGUI(CommandSender sender, Player p) { - if ((sender.hasPermission("prison.admin") || sender.hasPermission("prison.prisonmanagergui"))){ - SpigotPrisonGUI gui = new SpigotPrisonGUI(p); - gui.open(); - return true; + + /** + * NOTE: onlyPlayers needs to be false so players can use /gui help on the command, even from console. + * + * @param sender + */ + @Command( identifier = "gui", description = "The GUI", + aliases = {"prisonmanager", "prisonmanager gui", "gui admin"}, + permissions = {"prison.admin", "prison.prisonmanagergui"}, + onlyPlayers = false + ) + private void prisonManagerGUI(CommandSender sender) { + + Player player = getSpigotPlayer( sender ); + + if ( player == null ) { + sender.sendMessage( SpigotPrison.format( "You cannot run the GUI from the console." ) ); + return; } - return false; + + SpigotPrisonGUI gui = new SpigotPrisonGUI( player ); + gui.open(); } } diff --git a/prison-spigot/src/main/resources/config.yml b/prison-spigot/src/main/resources/config.yml index d4218e193..b5c504266 100644 --- a/prison-spigot/src/main/resources/config.yml +++ b/prison-spigot/src/main/resources/config.yml @@ -50,20 +50,20 @@ prison-gui-enabled: true # NEW: Enable or disable /mines to open the GUI to players (This won't works # with OPs or admins who have the permission mines.admin or prison.admin) -# This command's only a shortcut of /prisonmanager mines +# This command's only a shortcut of /gui mines mines-gui-enabled: true # NEW: Enable or disable /ranks to open the GUI to players (This won't # works with OPs or admins who have the permission ranks.admin or prison.admin) -# This command's only a shortcut of /prisonmanager ranks +# This command's only a shortcut of /gui ranks ranks-gui-enabled: true -# NEW: /ranks prestiges's a shortcut of /prisonmanager prestiges and the same +# NEW: /ranks prestiges's a shortcut of /gui prestiges and the same # as the /prestiges shortcut ranks-gui-prestiges-enabled: true # NEW: /prestiges command which opens the Prestiges GUI, this's basically a -# shortcut of the /prisonmanager prestiges +# shortcut of the /gui prestiges prestiges-gui-enabled: true # NEW: /prestige will open a confirmation GUI if this's on true, if on false diff --git a/prison-spigot/src/main/resources/plugin.yml b/prison-spigot/src/main/resources/plugin.yml index deba98fed..b510ff218 100644 --- a/prison-spigot/src/main/resources/plugin.yml +++ b/prison-spigot/src/main/resources/plugin.yml @@ -12,9 +12,9 @@ api-version: 1.13 # New commands compatible only with spigot # ====================================================== commands: - prisonmanager: - description: Call a fancy GUI where manage the ranks and mines - usage: / gui + #prisonmanager: + #description: Call a fancy GUI where manage the ranks and mines + #usage: / gui sellall: description: SellAll Command and SubCommands usage: / From f11ddfc179ee6f9f86dc7e0263fa41f2b32a5904 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Tue, 10 Nov 2020 23:54:32 -0500 Subject: [PATCH 197/243] cleaned up unused imports in the gui code; were causing compile warnings. --- .../tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java | 8 +++----- .../spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java | 8 ++++---- .../mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java | 1 - 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index a67bbdf34..1c82aa703 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -2,18 +2,16 @@ import java.util.List; -import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; -import tech.mcprison.prison.internal.block.Block; -import tech.mcprison.prison.internal.block.PrisonBlock; -import tech.mcprison.prison.internal.block.PrisonBlockTypes; + +import com.cryptomorin.xseries.XMaterial; + import tech.mcprison.prison.spigot.SpigotPrison; -import tech.mcprison.prison.util.BlockType; /** * @author GABRYCA diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index 245023f02..b6f02c3b4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -1,21 +1,21 @@ package tech.mcprison.prison.spigot.gui.autofeatures; -import com.cryptomorin.xseries.XMaterial; +import java.util.List; + import org.bukkit.Bukkit; -import org.bukkit.Material; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import com.cryptomorin.xseries.XMaterial; + import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig; import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig.AutoFeatures; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; -import java.util.List; - /** * @author GABRYCA */ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index eec5cba2e..8f3c1055f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -4,7 +4,6 @@ import java.util.Optional; import java.util.stream.Collectors; -import com.earth2me.essentials.EssentialsConf; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; From cb40228dc6f4db1733ffde12e0770a78d025143e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 11 Nov 2020 00:02:23 -0500 Subject: [PATCH 198/243] Compile error with the removal of the prison core gui... forgot to remove this code. Not sure how that passed the compiler before committing to git? --- .../src/main/java/tech/mcprison/prison/PrisonAPI.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java b/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java index 6b0246396..74a09e64d 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java +++ b/prison-core/src/main/java/tech/mcprison/prison/PrisonAPI.java @@ -11,7 +11,6 @@ import tech.mcprison.prison.commands.CommandHandler; import tech.mcprison.prison.commands.PluginCommand; -import tech.mcprison.prison.gui.GUI; import tech.mcprison.prison.integration.IntegrationManager; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.internal.Scheduler; @@ -96,9 +95,9 @@ public static Scheduler getScheduler() { return Prison.get().getPlatform().getScheduler(); } - public static GUI createGUI(String title, int numRows) { - return Prison.get().getPlatform().createGUI(title, numRows); - } +// public static GUI createGUI(String title, int numRows) { +// return Prison.get().getPlatform().createGUI(title, numRows); +// } @Deprecated public static void toggleDoor(Location doorLocation) { Prison.get().getPlatform().toggleDoor(doorLocation); From 2e42958e1920b32b7fddc0a14d283bb3e62606d4 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 11 Nov 2020 00:21:25 -0500 Subject: [PATCH 199/243] Found function names that started with capital letters and changed them to lowercase. Function names should never be capitolized since that would imply they are classes, or similar objects, and not functions. --- .../spigot/gui/ListenersPrisonManager.java | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index f9eb7d21a..aabe551b5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -212,7 +212,7 @@ public void onClick(InventoryClickEvent e){ case "PrisonManager": // Call the method - PrisonManagerGUI(e, p, buttonNameMain); + prisonManagerGUI(e, p, buttonNameMain); break; @@ -220,7 +220,7 @@ public void onClick(InventoryClickEvent e){ case "RanksManager -> Ladders": { // Call the method - LaddersGUI(e, p, buttonNameMain, module); + laddersGUI(e, p, buttonNameMain, module); break; } @@ -229,7 +229,7 @@ public void onClick(InventoryClickEvent e){ case "Ladders -> Ranks": { // Call the method - RanksGUI(e, p, buttonNameMain); + ranksGUI(e, p, buttonNameMain); break; } @@ -237,7 +237,7 @@ public void onClick(InventoryClickEvent e){ case "Prestiges -> PlayerPrestiges": { // Call the method - PlayerPrestigesGUI(e, p, buttonNameMain); + playerPrestigesGUI(e, p, buttonNameMain); break; } @@ -245,7 +245,7 @@ public void onClick(InventoryClickEvent e){ case "Prestige -> Confirmation": { // Call the method - PrestigeConfirmationGUI(e, p, buttonNameMain); + prestigeConfirmationGUI(e, p, buttonNameMain); break; } @@ -253,7 +253,7 @@ public void onClick(InventoryClickEvent e){ case "Ranks -> RankManager": { // Call the method - RankManagerGUI(e, p, parts); + rankManagerGUI(e, p, parts); break; } @@ -261,7 +261,7 @@ public void onClick(InventoryClickEvent e){ case "Ranks -> PlayerRanks":{ // Call the method - PlayerRanksGUI(e, p, buttonNameMain); + playerRanksGUI(e, p, buttonNameMain); break; } @@ -269,7 +269,7 @@ public void onClick(InventoryClickEvent e){ case "RankManager -> RankUPCommands": { // Call the method - RankUPCommandsGUI(e, p, buttonNameMain); + rankUPCommandsGUI(e, p, buttonNameMain); break; } @@ -277,7 +277,7 @@ public void onClick(InventoryClickEvent e){ case "RankManager -> RankPrice": { // Call the method - RankPriceGUI(e, p, parts); + rankPriceGUI(e, p, parts); break; } @@ -285,7 +285,7 @@ public void onClick(InventoryClickEvent e){ case "MinesManager -> Mines": { // Call the method - MinesGUI(e, p, buttonNameMain); + minesGUI(e, p, buttonNameMain); break; } @@ -293,14 +293,14 @@ public void onClick(InventoryClickEvent e){ case "Mines -> PlayerMines": { // Call the method - PlayerMinesGUI(p, buttonNameMain); + playerMinesGUI(p, buttonNameMain); break; } case "Mines -> MineInfo": { // Call the method - MineInfoGUI(e, p, parts); + mineInfoGUI(e, p, parts); break; } @@ -309,7 +309,7 @@ public void onClick(InventoryClickEvent e){ case "Mines -> Delete": { // Call the method - MinesDeleteGUI(p, parts); + minesDeleteGUI(p, parts); break; } @@ -318,7 +318,7 @@ public void onClick(InventoryClickEvent e){ case "MineInfo -> Blocks": { // Call the method - BlocksGUI(e, p, parts); + blocksGUI(e, p, parts); break; } @@ -348,7 +348,7 @@ public void onClick(InventoryClickEvent e){ case "MineInfo -> ResetTime": { // Call the method - ResetTimeGUI(e, p, parts); + resetTimeGUI(e, p, parts); break; } @@ -357,7 +357,7 @@ public void onClick(InventoryClickEvent e){ case "MineInfo -> MineNotifications": { // Call the method - MineNotificationsGUI(e, p, parts); + mineNotificationsGUI(e, p, parts); break; } @@ -373,7 +373,7 @@ public void onClick(InventoryClickEvent e){ case "MineNotifications -> Radius": { // Call the method - RadiusGUI(e, p, parts); + radiusGUI(e, p, parts); break; } @@ -381,7 +381,7 @@ public void onClick(InventoryClickEvent e){ case "PrisonManager -> AutoFeatures": { // Call the method - AutoFeaturesGUI(e, p, parts); + autoFeaturesGUI(e, p, parts); break; } @@ -390,7 +390,7 @@ public void onClick(InventoryClickEvent e){ case "AutoFeatures -> AutoPickup":{ // Call the method - AutoPickupGUI(e, p, parts); + autoPickupGUI(e, p, parts); break; } @@ -399,7 +399,7 @@ public void onClick(InventoryClickEvent e){ case "AutoFeatures -> AutoSmelt":{ // Call the method - AutoSmeltGUI(e, p, parts); + autoSmeltGUI(e, p, parts); break; } @@ -408,7 +408,7 @@ public void onClick(InventoryClickEvent e){ case "AutoFeatures -> AutoBlock":{ // Call the method - AutoBlockGUI(e, p, parts); + autoBlockGUI(e, p, parts); break; } @@ -416,7 +416,7 @@ public void onClick(InventoryClickEvent e){ // Check the title and do the actions case "PrisonManager -> SellAll-Admin":{ - SellAllAdminGUI(e, p, buttonNameMain); + sellAllAdminGUI(e, p, buttonNameMain); break; } @@ -424,7 +424,7 @@ public void onClick(InventoryClickEvent e){ // Check the title and do the actions case "SellAll -> ItemValue":{ - SellAllItemValue(e, p, parts); + sellAllItemValue(e, p, parts); break; } @@ -573,7 +573,7 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts } } - private void SellAllItemValue(InventoryClickEvent e, Player p, String[] parts) { + private void sellAllItemValue(InventoryClickEvent e, Player p, String[] parts) { // Rename the parts String part1 = parts[0]; @@ -677,7 +677,7 @@ private void SellAllItemValue(InventoryClickEvent e, Player p, String[] parts) { } } - private void SellAllAdminGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void sellAllAdminGUI(InventoryClickEvent e, Player p, String buttonNameMain) { if (e.isRightClick()){ @@ -697,7 +697,7 @@ private void SellAllAdminGUI(InventoryClickEvent e, Player p, String buttonNameM e.setCancelled(true); } - private void PrisonManagerGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void prisonManagerGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Check the Item display name and do open the right GUI switch (buttonNameMain) { @@ -733,7 +733,7 @@ private void PrisonManagerGUI(InventoryClickEvent e, Player p, String buttonName e.setCancelled(true); } - private void LaddersGUI(InventoryClickEvent e, Player p, String buttonNameMain, Module module) { + private void laddersGUI(InventoryClickEvent e, Player p, String buttonNameMain, Module module) { // Check if the Ranks module's loaded if(!(module instanceof PrisonRanks)){ @@ -774,7 +774,7 @@ private void LaddersGUI(InventoryClickEvent e, Player p, String buttonNameMain, e.setCancelled(true); } - private void RanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void ranksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Get the rank Rank rank = PrisonRanks.getInstance().getRankManager().getRank(buttonNameMain); @@ -806,7 +806,7 @@ private void RanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { e.setCancelled(true); } - private void PlayerPrestigesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void playerPrestigesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Check the button name and do the actions if (buttonNameMain.equalsIgnoreCase("Prestige")){ @@ -820,7 +820,7 @@ private void PlayerPrestigesGUI(InventoryClickEvent e, Player p, String buttonNa e.setCancelled(true); } - private void PrestigeConfirmationGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void prestigeConfirmationGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Check the button name and do the actions if (buttonNameMain.equalsIgnoreCase("Confirm: Prestige")){ @@ -839,7 +839,7 @@ private void PrestigeConfirmationGUI(InventoryClickEvent e, Player p, String but e.setCancelled(true); } - private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { + private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { // Output finally the buttonName and the minename explicit out of the array String buttonName = parts[0]; @@ -901,7 +901,7 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { e.setCancelled(true); } - private void PlayerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void playerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Load config Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); @@ -917,7 +917,7 @@ private void PlayerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMa e.setCancelled(true); } - private void RankUPCommandsGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void rankUPCommandsGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Check the clickType if (e.isShiftClick() && e.isRightClick()) { @@ -936,7 +936,7 @@ private void RankUPCommandsGUI(InventoryClickEvent e, Player p, String buttonNam e.setCancelled(true); } - private void RankPriceGUI(InventoryClickEvent e, Player p, String[] parts) { + private void rankPriceGUI(InventoryClickEvent e, Player p, String[] parts) { // Rename the parts String part1 = parts[0]; @@ -1040,7 +1040,7 @@ private void RankPriceGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void MinesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { + private void minesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Variables PrisonMines pMines = PrisonMines.getInstance(); @@ -1068,7 +1068,7 @@ private void MinesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { e.setCancelled(true); } - private void PlayerMinesGUI(Player p, String buttonNameMain) { + private void playerMinesGUI(Player p, String buttonNameMain) { // Load config Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); @@ -1079,7 +1079,7 @@ private void PlayerMinesGUI(Player p, String buttonNameMain) { } } - private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { + private void mineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { // Output finally the buttonName and the mineName explicit out of the array String buttonName = parts[0]; @@ -1179,7 +1179,7 @@ private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void MinesDeleteGUI(Player p, String[] parts) { + private void minesDeleteGUI(Player p, String[] parts) { // Output finally the buttonname and the minename explicit out of the array String buttonname = parts[0]; @@ -1206,7 +1206,7 @@ private void MinesDeleteGUI(Player p, String[] parts) { } } - private void BlocksGUI(InventoryClickEvent e, Player p, String[] parts) { + private void blocksGUI(InventoryClickEvent e, Player p, String[] parts) { // Output finally the buttonname and the minename explicit out of the array String buttonname = parts[0]; @@ -1245,7 +1245,7 @@ private void BlocksGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void ResetTimeGUI(InventoryClickEvent e, Player p, String[] parts) { + private void resetTimeGUI(InventoryClickEvent e, Player p, String[] parts) { // Rename the parts String part1 = parts[0]; @@ -1363,7 +1363,7 @@ private void ResetTimeGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void MineNotificationsGUI(InventoryClickEvent e, Player p, String[] parts) { + private void mineNotificationsGUI(InventoryClickEvent e, Player p, String[] parts) { // Output finally the buttonname and the minename explicit out of the array String buttonname = parts[0]; @@ -1417,7 +1417,7 @@ private void MineNotificationsGUI(InventoryClickEvent e, Player p, String[] part } } - private void RadiusGUI(InventoryClickEvent e, Player p, String[] parts) { + private void radiusGUI(InventoryClickEvent e, Player p, String[] parts) { // Rename the variables String part1 = parts[0]; @@ -1538,7 +1538,7 @@ private void RadiusGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void AutoFeaturesGUI(InventoryClickEvent e, Player p, String[] parts) { + private void autoFeaturesGUI(InventoryClickEvent e, Player p, String[] parts) { // Get the config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); @@ -1604,7 +1604,7 @@ private void AutoFeaturesGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void AutoPickupGUI(InventoryClickEvent e, Player p, String[] parts) { + private void autoPickupGUI(InventoryClickEvent e, Player p, String[] parts) { // Get the config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); @@ -1686,7 +1686,7 @@ private void AutoPickupGUI(InventoryClickEvent e, Player p, String[] parts) { } - private void AutoSmeltGUI(InventoryClickEvent e, Player p, String[] parts) { + private void autoSmeltGUI(InventoryClickEvent e, Player p, String[] parts) { // Get the config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); @@ -1719,7 +1719,7 @@ private void AutoSmeltGUI(InventoryClickEvent e, Player p, String[] parts) { } } - private void AutoBlockGUI(InventoryClickEvent e, Player p, String[] parts) { + private void autoBlockGUI(InventoryClickEvent e, Player p, String[] parts) { // Get the config AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); From e2768a627bde286f3be122b0142b73ffff46c54c Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Wed, 11 Nov 2020 00:22:49 -0500 Subject: [PATCH 200/243] Update changelog. --- changelog_v3.2.x.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index a68e5fa05..49da11344 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,30 @@ that you need. ## tag v3.2.2-alpha.12 - 2020-11-10 +* **Found function names that started with capital letters and changed them to lower case.** +Function names should never be capitalized since that would imply they are classes, or similar objects, and not functions. + + +* **Compile error with the removal of the prison core gui...** +Removal of this code was forgotten when removing the prison core gui code. Not sure how that passed the compiler before committing to git? + + +* **cleaned up unused imports in the gui code; were causing compile warnings.** + + +* **New feature! Hooked the prison GUI up to the new prison command manager.** +Assigned aliases so as to preserve backwards compatibility with admins who are used to the prisonmanager command. +The /prisonmanager command has been replaced with just /gui. Tested and appears to be working well. Can do /gui mines, /gui ranks, /gui prestige, /gui prestiges. + + +* **Added /mtp as an alias to /mines tp.** + + +* **New GUI config system** +- It's an improvement. Has many code changes +- Deleted the GuiListener.java class, only SpigotPlatform was using it so nothing should break. + + * **New Feature! Tab complete is now functional with prison's command handler.** When typing in prison related commands, you can now press tab to complete the typing for you if there was only one option available, or it will fill in common letters until you need to make a choice. Also typing in a command pressing space then tab shows all available options. In game is slightly different that in console, where in game show a ghosting of the command where you are typing so tabbing will select that option. Works on spigot 1.8 through 1.16.x. Also works in console. Functional with aliases too. From 5c201b65c61e6ee4a5fec81f5b83c6d3cac27b73 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 21:57:28 +0100 Subject: [PATCH 201/243] Code changes Changelogs: - Fixed a critical issue of the confirm or close chat event while "prestiging", renaming a Rank or a Mine. --- .../spigot/commands/PrisonSpigotCommands.java | 33 ++++++--- .../spigot/gui/ListenersPrisonManager.java | 72 ++++++++++++------- 2 files changed, 69 insertions(+), 36 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 274778beb..ea498d365 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -17,6 +17,7 @@ import tech.mcprison.prison.ranks.PrisonRanks; import tech.mcprison.prison.ranks.managers.LadderManager; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotPrisonGUI; import tech.mcprison.prison.spigot.gui.mine.SpigotPlayerMinesGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotConfirmPrestigeGUI; @@ -40,18 +41,26 @@ public class PrisonSpigotCommands implements CommandExecutor, Listener { public void onChat(AsyncPlayerChatEvent e) { if (isChatEventActive) { Player p = e.getPlayer(); - String message = e.getMessage(); - Bukkit.getScheduler().cancelTask(id); - if (mode.equalsIgnoreCase("prestige")){ - if (message.equalsIgnoreCase("cancel")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); - e.setCancelled(true); - } else if (message.equalsIgnoreCase("confirm")) { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); - e.setCancelled(true); - isChatEventActive = false; + ListenersPrisonManager.get(); + if (ListenersPrisonManager.chatEventPlayer.contains(p.getName())){ + String message = e.getMessage(); + Bukkit.getScheduler().cancelTask(id); + if (mode.equalsIgnoreCase("prestige")) { + if (message.equalsIgnoreCase("cancel")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); + e.setCancelled(true); + } else if (message.equalsIgnoreCase("confirm")) { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); + e.setCancelled(true); + isChatEventActive = false; + } else { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cPrestige cancelled, you didn't type the word: confirm")); + e.setCancelled(true); + } } + ListenersPrisonManager.get().removeChatEventPlayer(p); } } } @@ -183,9 +192,11 @@ private void prestigeByChat(CommandSender sender, Player p) { sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 15 seconds!")); Player finalP = p; mode = "prestige"; + ListenersPrisonManager.get().addChatEventPlayer(p); id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (isChatEventActive) { isChatEventActive = false; + ListenersPrisonManager.get().removeChatEventPlayer(p); finalP.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); } }, 20L * 15); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index f9eb7d21a..a671979ea 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -43,7 +43,6 @@ import tech.mcprison.prison.spigot.gui.sellall.SellAllAdminGUI; import tech.mcprison.prison.spigot.gui.sellall.SellAllPriceGUI; - /** * @author GABRYCA * @author RoyalBlueRanger @@ -52,6 +51,7 @@ public class ListenersPrisonManager implements Listener { private static ListenersPrisonManager instance; public static List activeGui = new ArrayList<>(); + public static List chatEventPlayer = new ArrayList<>(); public boolean isChatEventActive = false; public int id; public String rankNameOfChat = null; @@ -67,6 +67,21 @@ public static ListenersPrisonManager get() { return instance; } + public void addChatEventPlayer(Player p){ + + if (!isChatEventActive){ + return; + } + + if (!chatEventPlayer.contains(p.getName())){ + chatEventPlayer.add(p.getName()); + } + } + + public void removeChatEventPlayer(Player p){ + chatEventPlayer.remove(p.getName()); + } + @EventHandler public void onGuiClosing(InventoryCloseEvent e){ @@ -84,37 +99,41 @@ public void addToGUIBlocker(Player p){ return; } - if(!activeGui.contains(p.getName())) + if(!activeGui.contains(p.getName())) { activeGui.add(p.getName()); + } } // On chat event to rename the a Rank Tag @EventHandler (priority = EventPriority.LOWEST) public void onChat(AsyncPlayerChatEvent e) { - if (isChatEventActive){ + if (isChatEventActive) { Player p = e.getPlayer(); - String message = e.getMessage(); - Bukkit.getScheduler().cancelTask(id); - if (rankNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; - } - } else if (mineNameOfChat != null){ - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename mine closed, nothing got changed")); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; + if (chatEventPlayer.contains(p.getName())){ + String message = e.getMessage(); + Bukkit.getScheduler().cancelTask(id); + if (rankNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } + } else if (mineNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRename mine closed, nothing got changed")); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } } + removeChatEventPlayer(p); } } } @@ -890,8 +909,10 @@ private void RankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { // Start the async task isChatEventActive = true; rankNameOfChat = rankName; + addChatEventPlayer(p); id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { isChatEventActive = false; + removeChatEventPlayer(p); p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); }, 20L * 30); p.closeInventory(); @@ -1168,12 +1189,13 @@ private void MineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { // Start the async task isChatEventActive = true; mineNameOfChat = mineName; + addChatEventPlayer(p); id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { isChatEventActive = false; + removeChatEventPlayer(p); p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); }, 20L * 30); p.closeInventory(); - break; } } From 08b123b8bf8f693802e0afd0e71be5a5d966c3d7 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 22:03:31 +0100 Subject: [PATCH 202/243] Code changes Changelogs: - Fixed a critical issue of the confirm or close chat event while "prestiging", renaming a Rank or a Mine. --- .../prison/spigot/commands/PrisonSpigotCommands.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index bf08be60f..51070ea2b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -203,13 +203,12 @@ private void prestigeByChat(CommandSender sender) { final Player player = getSpigotPlayer( sender ); mode = "prestige"; - ListenersPrisonManager.get().addChatEventPlayer(p); + ListenersPrisonManager.get().addChatEventPlayer(player); id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (isChatEventActive) { isChatEventActive = false; player.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); - ListenersPrisonManager.get().removeChatEventPlayer(p); - finalP.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); + ListenersPrisonManager.get().removeChatEventPlayer(player); } }, 20L * 30); } From 59f4505de9a53d9998be96585b00141beb0b357f Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 22:55:42 +0100 Subject: [PATCH 203/243] Code changes Changelogs: - Code changes to GUI configs management --- .../prison/spigot/gui/PrisonSetupGUI.java | 2 +- .../spigot/gui/SpigotGUIComponents.java | 33 ++++++++++--------- .../prison/spigot/gui/SpigotPrisonGUI.java | 2 +- .../gui/autofeatures/SpigotAutoBlockGUI.java | 4 +-- .../autofeatures/SpigotAutoFeaturesGUI.java | 4 +-- .../gui/autofeatures/SpigotAutoPickupGUI.java | 4 +-- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 4 +-- .../spigot/gui/mine/SpigotBlocksListGUI.java | 5 +-- .../mine/SpigotMineBlockPercentageGUI.java | 2 +- .../spigot/gui/mine/SpigotMineInfoGUI.java | 2 +- .../mine/SpigotMineNotificationRadiusGUI.java | 2 +- .../gui/mine/SpigotMineNotificationsGUI.java | 2 +- .../gui/mine/SpigotMineResetTimeGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 2 +- .../gui/mine/SpigotMinesConfirmGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesGUI.java | 2 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 16 ++++----- .../gui/rank/SpigotConfirmPrestigeGUI.java | 2 +- .../spigot/gui/rank/SpigotLaddersGUI.java | 2 +- .../gui/rank/SpigotPlayerPrestigesGUI.java | 4 +-- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 4 +-- .../spigot/gui/rank/SpigotRankManagerGUI.java | 2 +- .../spigot/gui/rank/SpigotRankPriceGUI.java | 2 +- .../gui/rank/SpigotRankUPCommandsGUI.java | 2 +- .../spigot/gui/rank/SpigotRanksGUI.java | 2 +- .../spigot/gui/sellall/SellAllAdminGUI.java | 4 +-- .../spigot/gui/sellall/SellAllPlayerGUI.java | 4 +-- .../spigot/gui/sellall/SellAllPriceGUI.java | 2 +- 28 files changed, 60 insertions(+), 60 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java index 82453c00a..05e0baf72 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -13,7 +13,7 @@ public class PrisonSetupGUI extends SpigotGUIComponents{ private final Player p; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public PrisonSetupGUI(Player p) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index b550d7160..d62722179 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -10,6 +10,7 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import tech.mcprison.prison.Prison; +import tech.mcprison.prison.autofeatures.AutoFeaturesFileConfig; import tech.mcprison.prison.modules.Module; import tech.mcprison.prison.ranks.PrisonRanks; import tech.mcprison.prison.spigot.SpigotPrison; @@ -54,20 +55,22 @@ protected boolean checkRanks(Player p){ return module instanceof PrisonRanks; } - /** - * There're 3 configs available for now: messages, guiconfig and sellall - * @param type - * @return - * */ - protected static Configuration configs(String type){ - if (type.equalsIgnoreCase("messages")) { - return SpigotPrison.getInstance().getMessagesConfig(); - } else if (type.equalsIgnoreCase("sellall")){ - return SpigotPrison.getSellAllConfig(); - } else if (type.equalsIgnoreCase("guiconfig")){ - return SpigotPrison.getInstance().getGuiConfig(); - } else { - return null; - } + + protected static Configuration messages(){ + return SpigotPrison.getInstance().getMessagesConfig(); + } + + protected static Configuration sellAll(){ + return SpigotPrison.getSellAllConfig(); + } + + protected static Configuration guiConfig(){ + return SpigotPrison.getInstance().getGuiConfig(); + } + + protected static AutoFeaturesFileConfig AutoFeaturesFileConfig() { + return SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); } + + } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index 1c82aa703..5167f876f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -19,7 +19,7 @@ public class SpigotPrisonGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotPrisonGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 0a1b9c3e3..4869e055f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -22,8 +22,8 @@ public class SpigotAutoBlockGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); - private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); + private final Configuration messages = messages(); + private final AutoFeaturesFileConfig afConfig = AutoFeaturesFileConfig(); public SpigotAutoBlockGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index b6f02c3b4..d646fbf27 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -22,8 +22,8 @@ public class SpigotAutoFeaturesGUI extends SpigotGUIComponents { private final Player p; - private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - private final Configuration messages = configs("messages"); + private final AutoFeaturesFileConfig afConfig = AutoFeaturesFileConfig(); + private final Configuration messages = messages(); public SpigotAutoFeaturesGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index f7f4b9d29..816ddec02 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -22,8 +22,8 @@ public class SpigotAutoPickupGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); - private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); + private final Configuration messages = messages(); + private final AutoFeaturesFileConfig afConfig = AutoFeaturesFileConfig(); public SpigotAutoPickupGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 40740fcfa..9e633b40d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -22,8 +22,8 @@ public class SpigotAutoSmeltGUI extends SpigotGUIComponents { private final Player p; - private final AutoFeaturesFileConfig afConfig = SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); - private final Configuration messages = configs("messages"); + private final AutoFeaturesFileConfig afConfig = AutoFeaturesFileConfig(); + private final Configuration messages = messages(); public SpigotAutoSmeltGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index 4ea8165c0..37454591c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -19,7 +19,7 @@ public class SpigotBlocksListGUI extends SpigotGUIComponents { private final String mineName; private int counter; - private Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotBlocksListGUI(Player p, String mineName, int counter){ this.p = p; @@ -64,9 +64,6 @@ public void open(){ } - // Load config - this.messages = SpigotPrison.getInstance().getMessagesConfig(); - // Open the inventory this.p.openInventory(inv); ListenersPrisonManager.get().addToGUIBlocker(p); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index 110245312..b50f92ef7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -21,7 +21,7 @@ public class SpigotMineBlockPercentageGUI extends SpigotGUIComponents { private final String mineName; private final Double val; private final String blockName; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMineBlockPercentageGUI(Player p, Double val, String mineName, String blockName){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index 438ebed68..bb7aee22b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -23,7 +23,7 @@ public class SpigotMineInfoGUI extends SpigotGUIComponents { private final Player p; private final Mine mine; private final String mineName; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMineInfoGUI(Player p, Mine mine, String mineName){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index 596321fc7..566936580 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -21,7 +21,7 @@ public class SpigotMineNotificationRadiusGUI extends SpigotGUIComponents { private final String mineName; private final long val; private final String typeNotification; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMineNotificationRadiusGUI(Player p, Long val, String typeNotification, String mineName){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index 2ea9c48d0..cbee83dec 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -23,7 +23,7 @@ public class SpigotMineNotificationsGUI extends SpigotGUIComponents { private final Player p; private final String mineName; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMineNotificationsGUI(Player p, String mineName){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index 25a494040..cfc39f89f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -20,7 +20,7 @@ public class SpigotMineResetTimeGUI extends SpigotGUIComponents { private final Player p; private final String mineName; private final Integer val; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMineResetTimeGUI(Player p, Integer val, String mineName){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 34355ed6f..577ce8e92 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -26,7 +26,7 @@ public class SpigotMinesBlocksGUI extends SpigotGUIComponents { private final Player p; private final String mineName; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMinesBlocksGUI(Player p, String mineName){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index ab4103c32..0e836a9c7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -19,7 +19,7 @@ public class SpigotMinesConfirmGUI extends SpigotGUIComponents { private final Player p; private final String mineName; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMinesConfirmGUI(Player p, String mineName) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 00f414254..ddda61884 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -30,7 +30,7 @@ public class SpigotMinesGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotMinesGUI(Player p) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index f18d85670..67a75f3e2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -24,8 +24,8 @@ public class SpigotPlayerMinesGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); - private final Configuration GuiConfig = configs("guiconfig"); + private final Configuration messages = messages(); + private final Configuration GuiConfig = guiConfig(); public SpigotPlayerMinesGUI(Player p) { this.p = p; @@ -70,7 +70,7 @@ public void open(){ List minesLore = createLore( ); - if (guiBuilder(GuiConfig, inv, m, minesLore)) return; + if (guiBuilder(inv, m, minesLore)) return; } // Open the inventory @@ -78,9 +78,9 @@ public void open(){ ListenersPrisonManager.get().addToGUIBlocker(p); } - private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m, List minesLore) { + private boolean guiBuilder(Inventory inv, Mine m, List minesLore) { try { - buttonsSetup(guiConfig, inv, m, minesLore); + buttonsSetup(inv, m, minesLore); } catch (NullPointerException ex){ p.sendMessage(SpigotPrison.format("&cThere's a null value in the GuiConfig.yml [broken]")); ex.printStackTrace(); @@ -89,21 +89,21 @@ private boolean guiBuilder(Configuration guiConfig, Inventory inv, Mine m, List< return false; } - private void buttonsSetup(Configuration guiConfig, Inventory inv, Mine m, List minesLore) { + private void buttonsSetup(Inventory inv, Mine m, List minesLore) { // Don't load this every time a button is created.... making it a class variable: // Configuration messages = SpigotPrison.getGuiMessagesConfig(); ItemStack itemMines; Material material; - String permission = SpigotPrison.format(guiConfig.getString("Options.Mines.PermissionWarpPlugin")); + String permission = SpigotPrison.format(GuiConfig.getString("Options.Mines.PermissionWarpPlugin")); /** * The valid names to use for Options.Mines.MaterialType. must be * based upon the XMaterial enumeration name, or supported past names. */ Material mineMaterial = null; - String materialTypeStr = guiConfig.getString("Options.Mines.MaterialType." + m.getName()); + String materialTypeStr = GuiConfig.getString("Options.Mines.MaterialType." + m.getName()); if ( materialTypeStr != null && materialTypeStr.trim().length() > 0 ) { XMaterial mineXMaterial = SpigotUtil.getXMaterial( materialTypeStr ); if ( mineXMaterial != null ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index 5fbae76d9..aec3a2b58 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -15,7 +15,7 @@ public class SpigotConfirmPrestigeGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotConfirmPrestigeGUI(Player p) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index da6198ca2..25c0b990e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -22,7 +22,7 @@ public class SpigotLaddersGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotLaddersGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index ab0485ac6..8db77b29a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -34,8 +34,8 @@ public class SpigotPlayerPrestigesGUI extends SpigotGUIComponents { private final Player player; private PrisonRanks rankPlugin; private RankPlayer rankPlayer; - private final Configuration guiConfig = configs("guiconfig"); - private final Configuration messages = configs("messages"); + private final Configuration guiConfig = guiConfig(); + private final Configuration messages = messages(); public SpigotPlayerPrestigesGUI(Player player) { this.player = player; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index 160158db8..40ac9ea85 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -36,8 +36,8 @@ public class SpigotPlayerRanksGUI extends SpigotGUIComponents { private PrisonRanks rankPlugin; private RankPlayer rankPlayer; // Load config - private final Configuration guiConfig = configs("guiconfig"); - private final Configuration messages = configs("messages"); + private final Configuration guiConfig = guiConfig(); + private final Configuration messages = messages(); public SpigotPlayerRanksGUI(Player player) { this.player = player; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 1ca1dc703..6b75bdbbd 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -21,7 +21,7 @@ public class SpigotRankManagerGUI extends SpigotGUIComponents { private final Player p; private final Rank rank; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotRankManagerGUI(Player p, Rank rank) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index dea863194..6b96064c1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -20,7 +20,7 @@ public class SpigotRankPriceGUI extends SpigotGUIComponents { private final Player p; private final String rankName; private final Integer val; - Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotRankPriceGUI(Player p, Integer val, String rankname){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 96b2a1f88..bb1fda919 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -21,7 +21,7 @@ public class SpigotRankUPCommandsGUI extends SpigotGUIComponents { private final Player p; private final Rank rank; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SpigotRankUPCommandsGUI(Player p, Rank rank) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index 8f3c1055f..ecb958e25 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -28,7 +28,7 @@ public class SpigotRanksGUI extends SpigotGUIComponents { private final Player p; private final Optional ladder; - private static final Configuration messages = configs("messages"); + private static final Configuration messages = messages(); public SpigotRanksGUI(Player p, Optional ladder) { this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index b3491444c..e6fad4ac6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -21,8 +21,8 @@ public class SellAllAdminGUI extends SpigotGUIComponents { private final Player p; - private final Configuration conf = configs("sellall"); - private final Configuration messages = configs("messages"); + private final Configuration conf = sellAll(); + private final Configuration messages = messages(); public SellAllAdminGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 02e647b27..7e9949783 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -20,8 +20,8 @@ public class SellAllPlayerGUI extends SpigotGUIComponents { private final Player p; - private final Configuration messages = configs("messages"); - private final Configuration conf = configs("sellall"); + private final Configuration messages = messages(); + private final Configuration conf = sellAll(); public SellAllPlayerGUI(Player p){ this.p = p; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index 75f06a4d2..974451cc1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -20,7 +20,7 @@ public class SellAllPriceGUI extends SpigotGUIComponents { private final Player p; private final String itemID; private final Double val; - private final Configuration messages = configs("messages"); + private final Configuration messages = messages(); public SellAllPriceGUI(Player p, Double val, String itemID){ this.p = p; From 1866f96044dfe21d1572ce9b6f32d702b21e82a4 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 23:25:46 +0100 Subject: [PATCH 204/243] Code changes Changelogs: - Minor code changes --- .../spigot/gui/mine/SpigotMineResetTimeGUI.java | 8 -------- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 17 ++++------------- .../prison/spigot/gui/mine/SpigotMinesGUI.java | 16 ++-------------- 3 files changed, 6 insertions(+), 35 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index cfc39f89f..3bc8827af 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -59,20 +59,15 @@ private void buttonsSetup(Inventory inv) { List changeDecreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToDecrease") ); - - // Create a new lore List confirmButtonLore = createLore( messages.getString("Gui.Lore.LeftClickToConfirm"), messages.getString("Gui.Lore.Time") + val, messages.getString("Gui.Lore.RightClickToCancel") ); - - // Create a new lore List changeIncreaseValueLore = createLore( messages.getString("Gui.Lore.ClickToIncrease") ); - // Decrease button ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 1" )); inv.setItem(1, decreaseOf1); @@ -85,7 +80,6 @@ private void buttonsSetup(Inventory inv) { ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " - 100")); inv.setItem(37, decreaseOf100); - // Create a button and set the position Material watch = Material.matchMaterial( "watch" ); if ( watch == null ) { @@ -96,7 +90,6 @@ private void buttonsSetup(Inventory inv) { ItemStack confirmButton = createButton(watch, 1, confirmButtonLore, SpigotPrison.format("&3" + "Confirm: " + mineName + " " + val)); inv.setItem(22, confirmButton); - // Increase button ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 1" )); inv.setItem(7, increseOf1); @@ -109,5 +102,4 @@ private void buttonsSetup(Inventory inv) { ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + val + " + 100")); inv.setItem(43, increaseOf100); } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 577ce8e92..0dbb30241 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -51,18 +51,17 @@ public void open(){ messages.getString("Gui.Lore.ClickToAddBlock") ); + // Add the button to the inventory ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, addBlockLore, SpigotPrison.format("&a" + "Add")); inv.setItem(dimension - 1, addBlockButton); - if ( useNewBlockModel ) { + if (useNewBlockModel) { // For every block makes a button for (PrisonBlock block : m.getPrisonBlocks()) { - // Get the block material as a string + // Get the block material as a string and displayname String blockmaterial = block.getBlockName(); - - // Display title of the item String blockmaterialdisplay = blockmaterial; // Check if a block's air and changed the item of it to BARRIER @@ -72,7 +71,6 @@ public void open(){ } if (guiBuilder(inv, block, blockmaterial, blockmaterialdisplay)) return; - } } else { @@ -80,10 +78,8 @@ public void open(){ // For every block makes a button for (Block block : m.getBlocks()) { - // Get the block material as a string + // Get the block material as a string and displayname String blockmaterial = block.getType().name(); - - // Display title of the item String blockmaterialdisplay = blockmaterial; // Check if a block's air and changed the item of it to BARRIER @@ -93,10 +89,8 @@ public void open(){ } if (guiBuilder(inv, block, blockmaterial, blockmaterialdisplay)) return; - } } - // Open the inventory this.p.openInventory(inv); @@ -155,8 +149,6 @@ private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial // Make the item ItemStack block1 = createButton(Material.valueOf(blockmaterial), 1, blockslore, SpigotPrison.format("&3" + blockmaterialdisplay + " " + mineName + " " + block.getChance())); - - // Add the item to the inventory inv.addItem(block1); } @@ -171,7 +163,6 @@ private void buttonsSetup(Inventory inv, Block block, String blockmaterial, Stri "", messages.getString("Gui.Lore.Info")); - boolean isEnum = true; try { Material.valueOf(blockmaterial); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index ddda61884..9cdfada3a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -69,9 +69,7 @@ public void open(){ // Make the buttons for every Mine with info for (Mine m : mines.getSortedList() ) { - if (guiBuilder(inv, m)) return; - } // Open the inventory @@ -105,19 +103,13 @@ private void buttonsSetup(Inventory inv, Mine m) { // Add a lore minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.World") + m.getWorldName())); - - // Init a variable and add it to the lore String spawnPoint = m.getSpawn() != null ? m.getSpawn().toBlockCoordinates() : "&cnot set"; minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SpawnPoint") + spawnPoint)); - - // Add a lore minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ResetTime") + m.getResetTime())); if (!m.isVirtual()) { // Add a lore minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SizeOfMine") + m.getBounds().getDimensions())); - - // Add a lore minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Volume") + m.getBounds().getTotalBlockCount())); } @@ -130,7 +122,7 @@ private void buttonsSetup(Inventory inv, Mine m) { boolean useNewBlockModel = Prison.get().getPlatform().getConfigBooleanFalse( "use-new-prison-block-model" ); - if ( useNewBlockModel ) { + if (useNewBlockModel) { for (PrisonBlock block : m.getPrisonBlocks()) { double chance = Math.round(block.getChance() * 100.0d) / 100.0d; @@ -142,17 +134,15 @@ private void buttonsSetup(Inventory inv, Mine m) { } } else { - + for (Block block : m.getBlocks()) { double chance = Math.round(block.getChance() * 100.0d) / 100.0d; totalChance += chance; - String blockName = StringUtils.capitalize(block.getType().name().replaceAll("_", " ").toLowerCase()); minesLore.add(SpigotPrison.format("&7" + chance + "% - " + block.getType().name() + " (" + blockName + ")")); } } - if (totalChance < 100.0d) { minesLore.add(SpigotPrison.format("&e " + dFmt.format(100.0d - totalChance) + "% - Air")); @@ -160,8 +150,6 @@ private void buttonsSetup(Inventory inv, Mine m) { // Create the button itemMines = createButton(Material.COAL_ORE, 1, minesLore, SpigotPrison.format("&3" + m.getName())); - - // Add the button to the inventory inv.addItem(itemMines); } From aca528d4113be8b57e77aa257fe2d4d50081f437 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 23:34:56 +0100 Subject: [PATCH 205/243] Code changes Changelogs: - First fix to mines blocks GUI --- .../mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 0dbb30241..e1c67360b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -52,7 +52,7 @@ public void open(){ ); // Add the button to the inventory - ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, addBlockLore, SpigotPrison.format("&a" + "Add")); + ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, addBlockLore, SpigotPrison.format("&a" + "Add" + " " + mineName)); inv.setItem(dimension - 1, addBlockButton); if (useNewBlockModel) { From 9d085de5a5e7483d6344c72187488263f62c413a Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 23:41:16 +0100 Subject: [PATCH 206/243] Code changes Changelogs: - Second fix to mines blocks GUI --- .../tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index b692e5df0..b3b245b1e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -1233,7 +1233,6 @@ private void blocksGUI(InventoryClickEvent e, Player p, String[] parts) { // Output finally the buttonname and the minename explicit out of the array String buttonname = parts[0]; String mineName = parts[1]; - double percentage = Double.parseDouble(parts[2]); if (buttonname.equalsIgnoreCase("Add")){ SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, mineName, 0); @@ -1261,6 +1260,7 @@ private void blocksGUI(InventoryClickEvent e, Player p, String[] parts) { gui.open(); } else { + double percentage = Double.parseDouble(parts[2]); SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, percentage, mineName, buttonname); gui.open(); From 24381f99f87af410fec7593f7c2fd25bbe3d8059 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Wed, 11 Nov 2020 23:55:41 +0100 Subject: [PATCH 207/243] Code changes Changelogs: - This won't fix the error I think --- .../prison/spigot/gui/mine/SpigotBlocksListGUI.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index 37454591c..b2f60deda 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -1,5 +1,6 @@ package tech.mcprison.prison.spigot.gui.mine; +import com.cryptomorin.xseries.XMaterial; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; @@ -42,9 +43,11 @@ public void open(){ for (BlockType block : BlockType.values()){ - if (secondCounter >= counter) { - ItemStack button = createButton(Material.valueOf(block.getXMaterialName().toUpperCase()), 1, blockLoreSetup, SpigotPrison.format("&a" + block.getXMaterialName().toUpperCase())); - inv.setItem(inventorySlot, button); + if (!block.getXMaterialName().equalsIgnoreCase("ignore")) { + if (secondCounter >= counter) { + ItemStack button = createButton(Material.valueOf(block.getXMaterialName()), 1, blockLoreSetup, SpigotPrison.format("&a" + block.getXMaterialName().toUpperCase())); + inv.setItem(inventorySlot, button); + } } secondCounter++; From 7c5afc64565d077c41bffb9e758bcc1f90a140ed Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 12 Nov 2020 00:09:00 +0100 Subject: [PATCH 208/243] Code changes Changelogs: - This won't fix the error I think (again) Note: This's a bad way to fix an error but I'm still unable to fix the building failure into my system for the gradle project --- .../mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index b2f60deda..ad62b180f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -43,7 +43,7 @@ public void open(){ for (BlockType block : BlockType.values()){ - if (!block.getXMaterialName().equalsIgnoreCase("ignore")) { + if (!block.getXMaterialName().equalsIgnoreCase("ignore") || !block.getXMaterialName().equalsIgnoreCase("null_block")) { if (secondCounter >= counter) { ItemStack button = createButton(Material.valueOf(block.getXMaterialName()), 1, blockLoreSetup, SpigotPrison.format("&a" + block.getXMaterialName().toUpperCase())); inv.setItem(inventorySlot, button); From af2595a24257dd92e2fb58b7e60e6a1f381c77a7 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 12 Nov 2020 19:27:05 +0100 Subject: [PATCH 209/243] Code changes Changelogs: - Fix #4 or 5 --- .../prison/spigot/gui/mine/SpigotBlocksListGUI.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index ad62b180f..15c17d6a9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -8,6 +8,7 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.SpigotUtil; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; import tech.mcprison.prison.util.BlockType; @@ -43,11 +44,9 @@ public void open(){ for (BlockType block : BlockType.values()){ - if (!block.getXMaterialName().equalsIgnoreCase("ignore") || !block.getXMaterialName().equalsIgnoreCase("null_block")) { - if (secondCounter >= counter) { - ItemStack button = createButton(Material.valueOf(block.getXMaterialName()), 1, blockLoreSetup, SpigotPrison.format("&a" + block.getXMaterialName().toUpperCase())); - inv.setItem(inventorySlot, button); - } + if (secondCounter >= counter) { + ItemStack button = createButton(SpigotUtil.getMaterial(block), 1, blockLoreSetup, SpigotPrison.format("&a" + SpigotUtil.getMaterial(block).getData().getName().toUpperCase() + " " + mineName)); + inv.setItem(inventorySlot, button); } secondCounter++; From 0f2188bbdad34552767759a58dc1192f020c40a5 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 12 Nov 2020 19:38:34 +0100 Subject: [PATCH 210/243] Code changes Changelogs: - Fix #6 --- .../prison/spigot/gui/mine/SpigotBlocksListGUI.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index 15c17d6a9..ee47743c0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -44,14 +44,15 @@ public void open(){ for (BlockType block : BlockType.values()){ - if (secondCounter >= counter) { - ItemStack button = createButton(SpigotUtil.getMaterial(block), 1, blockLoreSetup, SpigotPrison.format("&a" + SpigotUtil.getMaterial(block).getData().getName().toUpperCase() + " " + mineName)); - inv.setItem(inventorySlot, button); - } + try { + if (secondCounter >= counter) { + ItemStack button = createButton(SpigotUtil.getMaterial(block), 1, blockLoreSetup, SpigotPrison.format("&a" + SpigotUtil.getMaterial(block).getData().getName().toUpperCase() + " " + mineName)); + inv.addItem(button); + } + } catch (NullPointerException ignored){} secondCounter++; counter++; - inventorySlot++; if (counter >= counter + 44){ From 1d88b56a4f1975a0bb395d9a0b8d20579ca068cc Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 12 Nov 2020 22:32:34 +0100 Subject: [PATCH 211/243] Code changes Changelogs: - Fix #8, this will work but you'll see in the preview always the same material --- .../mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index ee47743c0..275307dde 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -46,7 +46,7 @@ public void open(){ try { if (secondCounter >= counter) { - ItemStack button = createButton(SpigotUtil.getMaterial(block), 1, blockLoreSetup, SpigotPrison.format("&a" + SpigotUtil.getMaterial(block).getData().getName().toUpperCase() + " " + mineName)); + ItemStack button = createButton(Material.COAL_ORE, 1, blockLoreSetup, SpigotPrison.format("&a" + block.name().toUpperCase() + " " + mineName)); inv.addItem(button); } } catch (NullPointerException ignored){} From 4dbc02f203446b810ce3cdeb52ba21891f5a17b6 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Thu, 12 Nov 2020 23:41:36 +0100 Subject: [PATCH 212/243] Code changes Changelogs: - Fixed double message --- .../tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java | 1 - 1 file changed, 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index e6fad4ac6..0cac7c545 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -56,7 +56,6 @@ private Inventory buttonsSetup() { } if (emptyInv){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoSellAllItems"))); p.closeInventory(); return null; } From d7a61a1bce0a415d22fe52a8e7e31bf6057ac9c1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 00:42:18 -0500 Subject: [PATCH 213/243] Additons to PrisonBlock handlers to provide more untility functions and to solve a few complex challenges. Removed NULL_BLOCK from the valid block lists. --- .../prison/internal/block/PrisonBlock.java | 46 ++++++++++++++++++- .../internal/block/PrisonBlockTypes.java | 8 +--- .../mcprison/prison/spigot/SpigotUtil.java | 44 ++++++++++++++++-- .../prison/spigot/compat/Spigot18Blocks.java | 5 +- 4 files changed, 87 insertions(+), 16 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java index 80159c964..d00ac9c7c 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlock.java @@ -1,5 +1,7 @@ package tech.mcprison.prison.internal.block; +import tech.mcprison.prison.internal.block.PrisonBlockTypes.InternalBlockTypes; + /** *

    This class embodies the nature of the block and different behaviors, if * they exist. The block name should be based upon the XMaterial name if @@ -7,7 +9,12 @@ *

    * */ -public class PrisonBlock { +public class PrisonBlock + implements Comparable { + + public static PrisonBlock IGNORE; + public static PrisonBlock NULL_BLOCK; + private String blockName; private double chance; @@ -17,6 +24,10 @@ public class PrisonBlock { private boolean legacyBlock = false; + static { + IGNORE = new PrisonBlock( InternalBlockTypes.IGNORE.name(), false ); + NULL_BLOCK = new PrisonBlock( InternalBlockTypes.NULL_BLOCK.name(), false ); + } /** * The name of this block should be based upon the XMaterial name in all @@ -27,9 +38,13 @@ public class PrisonBlock { public PrisonBlock( String blockName ) { this( blockName, 0); } + public PrisonBlock( String blockName, boolean block ) { + this( blockName, 0); + this.block = block; + } /** - * The block name will be set to all lower case for consistancy when searching and mapping. + * The block name will be set to all lower case for consistency when searching and mapping. * * @param blockName * @param chance @@ -41,6 +56,7 @@ public PrisonBlock( String blockName, double chance ) { this.chance = chance; } + @Override public String toString() { return getBlockName() + " " + Double.toString( getChance() ); @@ -98,5 +114,31 @@ public boolean isLegacyBlock() { public void setLegacyBlock( boolean legacyBlock ) { this.legacyBlock = legacyBlock; } + + @Override + public boolean equals( Object block ) { + boolean results = false; + + if ( block != null && block instanceof PrisonBlock) { + results = getBlockName().equalsIgnoreCase( ((PrisonBlock) block).getBlockName() ); + } + + return results; + } + + @Override + public int compareTo( PrisonBlock block ) + { + int results = 0; + + if ( block == null ) { + results = 1; + } + else { + results = getBlockName().compareToIgnoreCase( block.getBlockName() ); + } + + return results; + } } diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java index 8f6528c98..8e632784f 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/block/PrisonBlockTypes.java @@ -36,13 +36,7 @@ public void loadServerBlockTypes() { // First clear the blockTypes: getBlockTypes().clear(); - // Add in the internal block types and mark them as not mineable. - for ( InternalBlockTypes iBlockType : InternalBlockTypes.values() ) { - PrisonBlock block = new PrisonBlock( iBlockType.name() ); - block.setBlock( false ); - - getBlockTypes().add( block ); - } + getBlockTypes().add( PrisonBlock.IGNORE ); // Next using the server's platform, load all of the available blockTypes. Prison.get().getPlatform().getAllPlatformBlockTypes( getBlockTypes() ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java index 16b59deae..a0f593e53 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotUtil.java @@ -83,6 +83,13 @@ public static XMaterial getXMaterial( BlockType prisonBlockType ) { return xMat; } + public static XMaterial getXMaterial( PrisonBlock prisonBlock ) { + + XMaterial xMat = getXMaterial( prisonBlock.getBlockName()); + + return xMat; + } + public static Material getMaterial( BlockType prisonBlockType ) { XMaterial xMat = getXMaterial( prisonBlockType ); @@ -108,6 +115,13 @@ public static BlockType blockToBlockType( Block spigotBlock ) { return results; } + + public static BlockType prisonBlockToBlockType( PrisonBlock prisonBlock ) { + + BlockType results = BlockType.getBlock( prisonBlock.getBlockName() ); + + return results; + } /** *

    Returns a stack of BlockType or a stack of air. @@ -145,23 +159,45 @@ public static ItemStack getItemStack( XMaterial xMaterial, int amount ) { return bukkitStack; } + /** + * Note that XMaterial.parseMaterial() may work well for v1.13.x and higher, + * but it does not represent the correct block types in lower versions, + * such as with 1.8.x. This has everything to do with magic numbers. + * Instead convert it to an ItemStack. + * + * @param blockTypes + */ public static void getAllPlatformBlockTypes( List blockTypes ) { for ( XMaterial xMat : XMaterial.values() ) { if ( xMat.isSupported() ) { - Material mat = xMat.parseMaterial(); - if ( mat != null ) { - if ( mat.isBlock() ) { + ItemStack itemStack = xMat.parseItem(); + if ( itemStack != null ) { + + if ( itemStack.getType().isBlock() ) { PrisonBlock block = new PrisonBlock( xMat.name().toLowerCase() ); block.setValid( true ); - block.setBlock( mat.isBlock() ); + block.setBlock( itemStack.getType().isBlock() ); blockTypes.add( block ); } } + +// Material mat = xMat.parseMaterial(); +// if ( mat != null ) { +// if ( mat.isBlock() ) { +// +// PrisonBlock block = new PrisonBlock( xMat.name().toLowerCase() ); +// +// block.setValid( true ); +// block.setBlock( mat.isBlock() ); +// +// blockTypes.add( block ); +// } +// } else { Output.get().logWarn( "### SpigotUtil.testAllPrisonBlockTypes: " + "Possible XMaterial FAIL: XMaterial " + xMat.name() + diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java index f152453ca..f2cf461b5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/compat/Spigot18Blocks.java @@ -9,7 +9,6 @@ import tech.mcprison.prison.internal.block.BlockFace; import tech.mcprison.prison.internal.block.PrisonBlock; -import tech.mcprison.prison.internal.block.PrisonBlockTypes.InternalBlockTypes; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.util.BlockType; @@ -253,7 +252,7 @@ public void updateSpigotBlock( BlockType blockType, Block spigotBlock ) { public void updateSpigotBlock( PrisonBlock prisonBlock, Block spigotBlock ) { if ( prisonBlock != null && - !prisonBlock.getBlockName().equalsIgnoreCase( InternalBlockTypes.IGNORE.name() ) && + !prisonBlock.equals( PrisonBlock.IGNORE ) && spigotBlock != null ) { XMaterial xMat = getXMaterial( prisonBlock ); @@ -275,7 +274,7 @@ public void updateSpigotBlock( XMaterial xMat, Block spigotBlock ) { BlockState bState = spigotBlock.getState(); // Set the block state with the new type and rawData: - bState.setType( newType );; + bState.setType( newType ); bState.setRawData( xMat.getData() ); // Force the update but don't apply the physics: From c2c83926870af9a4135cdee4ba6986f246909e60 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 00:49:21 -0500 Subject: [PATCH 214/243] Added a SpigotPrison function to strip all colors from text. Needed in the GUI to hide extra parameters. With the use of magic numbers with Minecraft versions less than 1.13 the use of Materail to create ItemStacks fails to get the correct type if magic numbers are involved. Created a new createButton function to work directly with item stacks so the proper blocks can be used with mc v1.8 through v1.12. --- changelog_v3.2.x.md | 14 +++++++++- .../prison/internal/platform/Platform.java | 1 - .../mcprison/prison/spigot/SpigotPrison.java | 8 +++++- .../spigot/gui/SpigotGUIComponents.java | 28 +++++++++++++++---- 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 49da11344..39ee41182 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,19 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.12 - 2020-11-10 +## tag v3.2.2-alpha.12 - 2020-11-13 + + +* **Added a SpigotPrison function to strip all colors from text.** +Needed in the GUI to hide extra parameters. + + +* **GUI direct support for ItemStacks when creating buttons for mc v1.8 through mc v1.12. ** +With the use of magic numbers with Minecraft versions less than 1.13 the use of Materail to create ItemStacks fails to get the correct type if magic numbers are involved. Created a new createButton function to work directly with item stacks so the proper blocks can be used with mc v1.8 through v1.12. + + +* **Additions to PrisonBlock handlers to provide more utility functions** +and to solve a few complex challenges. Removed NULL_BLOCK from the valid block lists. * **Found function names that started with capital letters and changed them to lower case.** diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index fa50efc6c..4a01d8bf7 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -26,7 +26,6 @@ import tech.mcprison.prison.commands.PluginCommand; import tech.mcprison.prison.file.YamlFileIO; -import tech.mcprison.prison.gui.GUI; import tech.mcprison.prison.integration.Placeholders; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 5db95c133..29133d74f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -270,11 +270,17 @@ public void setAutoFeatures( AutoManagerFeatures autoFeatures ) { - + public static String format(String format){ return format == null ? "" : ChatColor.translateAlternateColorCodes('&', format); } + public static String stripColor(String format){ + format = format(format); + + return format == null ? null : ChatColor.stripColor( format ); + } + private void initMetrics() { if (!getConfig().getBoolean("send-metrics", true)) { return; // Don't check if they don't want it diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index d62722179..e9d513352 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -26,15 +26,31 @@ protected ItemStack createButton(Material id, int amount, List lore, Str ItemStack item = new ItemStack(id, amount); ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(SpigotPrison.format(display)); - try { - meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); - } catch (NoClassDefFoundError ignored){} - meta.setLore(lore); - item.setItemMeta(meta); + if ( meta != null ) { + meta.setDisplayName(SpigotPrison.format(display)); + try { + meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); + } catch (NoClassDefFoundError ignored){} + meta.setLore(lore); + item.setItemMeta(meta); + } return item; } + protected ItemStack createButton(ItemStack item, List lore, String display) { + + ItemMeta meta = item.getItemMeta(); + if ( meta != null ) { + meta.setDisplayName(SpigotPrison.format(display)); + try { + meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); + } catch (NoClassDefFoundError ignored){} + meta.setLore(lore); + item.setItemMeta(meta); + } + + return item; + } // createLore method (create a lore for the button) protected List createLore( String... lores ) { From 5bfc6785455fdbedcfdc38fe8fcf4eb3635cf93e Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 00:55:16 -0500 Subject: [PATCH 215/243] Fix issue with GUI not being able to display red or lime stained glass panes due to use of material instead of ItemStacks. This applies to mc v1.8 through mc v1.12 and they display as plain glass panes (no colors). --- .../prison/spigot/gui/SpigotPrisonGUI.java | 2 +- .../gui/autofeatures/SpigotAutoBlockGUI.java | 6 ++--- .../autofeatures/SpigotAutoFeaturesGUI.java | 26 +++++++++---------- .../gui/autofeatures/SpigotAutoPickupGUI.java | 6 ++--- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 6 ++--- .../spigot/gui/mine/SpigotMineInfoGUI.java | 2 +- .../gui/mine/SpigotMineNotificationsGUI.java | 2 +- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 2 +- .../spigot/gui/rank/SpigotRankManagerGUI.java | 2 +- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index 5167f876f..fd4aecfa8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -67,7 +67,7 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); // Create the button, set up the material, amount, lore and name ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, ranksLore, SpigotPrison.format("&3" + "Ranks")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 4869e055f..935ab32a4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -65,14 +65,14 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(35, closeGUI); if ( afConfig.isFeatureBoolean( AutoFeatures.autoBlockAllBlocks ) ) { - ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); + ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); + ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index d646fbf27..92a9a074c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -69,21 +69,21 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); if ( afConfig.isFeatureBoolean( AutoFeatures.playSoundIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - playSound = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); + playSound = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullSoundDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - playSound = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); + playSound = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); } @@ -92,14 +92,14 @@ private void buttonsSetup(Inventory inv) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramEnabled"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - hologram = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); + hologram = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.FullHologramDisabled"), messages.getString("Gui.Lore.RightClickToEnable")); - hologram = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); + hologram = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); } @@ -108,14 +108,14 @@ private void buttonsSetup(Inventory inv) { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.EnabledAll"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); - enabledOrDisabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); + enabledOrDisabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); } else { List EnabledOrDisabledLore = createLore( messages.getString("Gui.Lore.DisabledAll"), messages.getString("Gui.Lore.RightClickToEnable")); - enabledOrDisabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); + enabledOrDisabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); } @@ -125,14 +125,14 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); + autoPickup = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); } else { // Lore of the button List autoPickupLore = createLore( messages.getString("Gui.Lore.AutoPickupGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoPickup = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); + autoPickup = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); } @@ -142,14 +142,14 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); + autoSmelt = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); } else { // Lore of the button List autoSmeltLore = createLore( messages.getString("Gui.Lore.AutoSmeltGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoSmelt = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); + autoSmelt = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); } @@ -159,7 +159,7 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); + autoBlock = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); } else { // Lore of the button @@ -167,7 +167,7 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.AutoBlockGuiManager"), messages.getString("Gui.Lore.RightClickToEnable"), messages.getString("Gui.Lore.LeftClickToOpen")); - autoBlock = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); + autoBlock = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } // Position of the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 816ddec02..37dfc2ee7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -67,14 +67,14 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(35, closeGUI); if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupAllBlocks ) ) { - ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); + ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), enabledLore, SpigotPrison.format("&a" + "All_Blocks Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); + ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), disabledLore, SpigotPrison.format("&c" + "All_Blocks Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 9e633b40d..7dc74bda6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -64,14 +64,14 @@ private void buttonsSetup(Inventory inv) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(35, closeGUI); if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltAllBlocks ) ) { - ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); + ItemStack Enabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), enabledLore, SpigotPrison.format("&a" + "All_Ores Enabled")); inv.addItem(Enabled); } else { - ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); + ItemStack Disabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), disabledLore, SpigotPrison.format("&c" + "All_Ores Disabled")); inv.addItem(Disabled); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index bb7aee22b..1cb26290b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -99,7 +99,7 @@ private void buttonsSetup(Inventory inv) { ); // Create the button, set the material, amount, lore and name - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); ItemStack resetMine = createButton(Material.EMERALD_BLOCK, 1, resetMineLore, SpigotPrison.format("&3" + "Reset_Mine: " + mineName)); ItemStack MineSpawn = createButton(Material.COMPASS, 1, MineSpawnLore, SpigotPrison.format("&3" + "Mine_Spawn: " + mineName)); ItemStack MinesNotifications = createButton(Material.SIGN, 1, MinesNotificationsLore, SpigotPrison.format("&3" + "Mine_notifications: " + mineName)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index cbee83dec..08ed14383 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -76,7 +76,7 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { messages.getString("Gui.Lore.ClickToClose") ); - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); inv.setItem(26, closeGUI); // Add the selected lore to the mode used diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index e1c67360b..3f91011f0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -52,7 +52,7 @@ public void open(){ ); // Add the button to the inventory - ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseMaterial(), 1, addBlockLore, SpigotPrison.format("&a" + "Add" + " " + mineName)); + ItemStack addBlockButton = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), addBlockLore, SpigotPrison.format("&a" + "Add" + " " + mineName)); inv.setItem(dimension - 1, addBlockButton); if (useNewBlockModel) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 6b75bdbbd..4134f4158 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -95,7 +95,7 @@ private void buttonsSetup(Inventory inv) { // Create the button - ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseMaterial(), 1, closeGUILore, SpigotPrison.format("&c" + "Close")); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); ItemStack rankupCommands = createButton(commandMinecart, 1, rankupCommandsLore, SpigotPrison.format("&3" + "RankupCommands" + " " + rank.name)); ItemStack rankPrice = createButton(Material.GOLD_NUGGET, 1, editPriceLore, SpigotPrison.format("&3" + "RankPrice" + " " + rank.name)); ItemStack rankTag = createButton(Material.NAME_TAG, 1, editTagLore, SpigotPrison.format("&3" + "RankTag" + " " + rank.name)); From 55659dcfb5f786ed76d8f1f769bbb8578353fd2a Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 01:02:56 -0500 Subject: [PATCH 216/243] Fixed issue with GUI block list. Using a combination of XMaterial and ItemStacks, its able to display the viewable blocks. Added Prior button to go back to prior page. Got the Next page button working (it was incorrectly just blindly deleting the first two characters of the button name; changed it to strip color so it is not destructive. Setup this page to be able to return to it from other pages. Confirmed that this works with spigot v1.8.8 and spigot v1.16.3. --- .../spigot/gui/ListenersPrisonManager.java | 35 ++++-- .../spigot/gui/mine/SpigotBlocksListGUI.java | 105 +++++++++++++----- .../spigot/languages/MessagesConfig.java | 1 + 3 files changed, 104 insertions(+), 37 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index b3b245b1e..dfb226fff 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -34,7 +34,15 @@ import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoFeaturesGUI; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoPickupGUI; import tech.mcprison.prison.spigot.gui.autofeatures.SpigotAutoSmeltGUI; -import tech.mcprison.prison.spigot.gui.mine.*; +import tech.mcprison.prison.spigot.gui.mine.SpigotBlocksListGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMineBlockPercentageGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMineInfoGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMineNotificationRadiusGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMineNotificationsGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMineResetTimeGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMinesBlocksGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMinesConfirmGUI; +import tech.mcprison.prison.spigot.gui.mine.SpigotMinesGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotLaddersGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotRankManagerGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotRankPriceGUI; @@ -202,9 +210,12 @@ public void onClick(InventoryClickEvent e){ String buttonNameMain = e.getCurrentItem().getItemMeta().getDisplayName(); // If the buttonmain have a name longer than 2 characters (should be with colors), it won't take care about the color ids - if ( buttonNameMain.length() > 2 ) { - buttonNameMain = buttonNameMain.substring(2); - } + // the following is buggy. What we really want is to remove any color codes. If it doesn't + // have color codes, then it corrupts the button name. +// if ( buttonNameMain.length() > 2 ) { +// buttonNameMain = buttonNameMain.substring(2); +// } + buttonNameMain = SpigotPrison.stripColor( buttonNameMain ); // Split the button name in parts String[] parts = buttonNameMain.split(" "); @@ -344,15 +355,23 @@ public void onClick(InventoryClickEvent e){ // Check the inventory name and do the actions case "Mines -> BlocksList":{ - - if (parts[0].equalsIgnoreCase("Next")){ - SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, parts[1], Integer.parseInt(parts[2])); + + String positionStr = ( parts.length > 2 ? parts[2] : "0" ); + int position = 0; + try { + position = Integer.parseInt( positionStr ); + } + catch( NumberFormatException nfe ) {} + + if (parts[0].equalsIgnoreCase("Next") || parts[0].equalsIgnoreCase("Prior")){ + + SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, parts[1], position); p.closeInventory(); gui.open(); } else { - SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, 0.00, parts[1], parts[0]); + SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, 0.00, parts[1], parts[0], position); p.closeInventory(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index 275307dde..56fccaed7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -1,19 +1,22 @@ package tech.mcprison.prison.spigot.gui.mine; -import com.cryptomorin.xseries.XMaterial; +import java.util.List; + import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; + +import com.cryptomorin.xseries.XMaterial; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.SpigotUtil; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; -import tech.mcprison.prison.util.BlockType; - -import java.util.List; public class SpigotBlocksListGUI extends SpigotGUIComponents { @@ -32,8 +35,9 @@ public SpigotBlocksListGUI(Player p, String mineName, int counter){ public void open(){ // Get the dimensions and if needed increases them - int dimension = 54, inventorySlot = 0, secondCounter = 0; - + int dimension = 54; // , inventorySlot = 0, secondCounter = 0; + int pageSize = 45; + // Create the inventory Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3Mines -> BlocksList")); @@ -42,30 +46,73 @@ public void open(){ messages.getString("Gui.Lore.ClickToStartBlockSetup") ); - for (BlockType block : BlockType.values()){ - - try { - if (secondCounter >= counter) { - ItemStack button = createButton(Material.COAL_ORE, 1, blockLoreSetup, SpigotPrison.format("&a" + block.name().toUpperCase() + " " + mineName)); - inv.addItem(button); - } - } catch (NullPointerException ignored){} - - secondCounter++; - counter++; - - if (counter >= counter + 44){ - - List nextPageLore = createLore( - messages.getString("Gui.Lore.ClickToNextPage") - ); - - ItemStack nextPageButton = createButton(Material.BOOK, 1, nextPageLore, "Next " + mineName + " " + counter); - inv.setItem(53, nextPageButton); - - } - + // This will skip all BlockTypes that are invalid for the versions of MC that the server is running: + List blockTypes = Prison.get().getPrisonBlockTypes().getBlockTypes(); + + // Only loop over the blocks that we need to show: + int i = counter; + for ( ; i < blockTypes.size() && i < counter + pageSize; i++ ) { + PrisonBlock prisonBlock = blockTypes.get( i ); + + XMaterial xMat = SpigotUtil.getXMaterial( prisonBlock ); + + if ( PrisonBlock.IGNORE.equals( prisonBlock )) { + xMat = XMaterial.BARRIER; + } + if ( xMat == null ) { + xMat = XMaterial.STONE; + } + + ItemStack button = createButton( xMat.parseItem(), blockLoreSetup, SpigotPrison.format("&a" + + prisonBlock.getBlockName().toUpperCase() + " &0" + mineName + " " + counter)); + inv.addItem(button); + } + if ( i < blockTypes.size() ) { + List nextPageLore = createLore( messages.getString("Gui.Lore.ClickToNextPage") ); + + ItemStack nextPageButton = createButton(Material.BOOK, 1, nextPageLore, "&7Next &0" + mineName + " " + (i + 1) ); + inv.setItem(53, nextPageButton); + } + if ( i >= (pageSize * 2) ) { + List priorPageLore = createLore( messages.getString("Gui.Lore.ClickToPriorPage") ); + + ItemStack priorPageButton = createButton(Material.BOOK, 1, priorPageLore, + "&7Prior &0" + mineName + " " + (i - (pageSize * 2) - 1) ); + inv.setItem(51, priorPageButton); } + + +// for (PrisonBlock prisonBlock : blockTypes){ +// +// BlockType block = SpigotUtil.prisonBlockToBlockType( prisonBlock ); +// +// try { +// if (secondCounter >= counter) { +// Material material = ( block == BlockType.IGNORE ? +// Material.BARRIER : SpigotUtil.getXMaterial( block ).parseMaterial() ); +// if ( material == null ) { +// material = XMaterial.STONE.parseMaterial(); +// } +// ItemStack button = createButton(material, 1, blockLoreSetup, SpigotPrison.format("&a" + block.name().toUpperCase() + " " + mineName)); +// inv.addItem(button); +// } +// } catch (NullPointerException ignored){} +// +// secondCounter++; +// counter++; +// +// if (counter >= counter + 44){ +// +// List nextPageLore = createLore( +// messages.getString("Gui.Lore.ClickToNextPage") +// ); +// +// ItemStack nextPageButton = createButton(Material.BOOK, 1, nextPageLore, "Next " + mineName + " " + counter); +// inv.setItem(53, nextPageButton); +// +// } +// +// } // Open the inventory this.p.openInventory(inv); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java index f1cf3e8c6..075b56955 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java @@ -95,6 +95,7 @@ private void values(){ dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); dataConfig("Gui.Lore.ClickToEditBlock", "&8Click to edit percentage."); dataConfig("Gui.Lore.ClickToClose", "&cClick to close the GUI."); + dataConfig("Gui.Lore.ClickToPriorPage", "&aClick to see the prior page."); dataConfig("Gui.Lore.ClickToNextPage", "&aClick to see the next page."); dataConfig("Gui.Lore.ClickToStartBlockSetup", "&aClick to setup block."); dataConfig("Gui.Lore.ClickToAddBlock", "&aClick to add a block."); From 4611b8d5ac6933434349494344c11eb4fef1164a Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 01:05:54 -0500 Subject: [PATCH 217/243] Updated the SpigotMineBlockPercentageGUI to include a Close button and to show the selected block top and center. Also provided links back to the block list gui. Setup the parameters to return back by setting the font color to black so it is visible that they exist as the players hover. --- .../spigot/gui/ListenersPrisonManager.java | 45 +++++++++++++++-- .../mine/SpigotMineBlockPercentageGUI.java | 48 ++++++++++++++----- 2 files changed, 77 insertions(+), 16 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index dfb226fff..4046db3e1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -499,16 +499,41 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts String part1 = parts[0]; String part2 = parts[1]; String part3 = parts[2]; + + // If Close, part 4 won't be defined so handle the close first. + if (part1.equalsIgnoreCase( "Close" )) { + int pos = 0; + try { + pos = Integer.parseInt( part3 ); + } + catch( NumberFormatException nfe ) {} + + SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, part2, pos); + + p.closeInventory(); + + gui.open(); + return; + } + String part4 = parts[3]; // Initialize the variable double decreaseOrIncreaseValue = 0; // If there're enough parts init another variable - if (parts.length == 5){ + if (parts.length > 4 ){ decreaseOrIncreaseValue = Double.parseDouble(parts[4]); } + + String positionStr = ( parts.length > 5 ? parts[5] : "0" ); + int position = 0; + try { + position = Integer.parseInt( positionStr ); + } + catch( NumberFormatException nfe ) {} + // Check the button name and do the actions if (part1.equalsIgnoreCase("Confirm:")) { @@ -521,8 +546,13 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts // Cancel the event e.setCancelled(true); + + SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, part2, position); + // Close the inventory p.closeInventory(); + + gui.open(); return; @@ -575,7 +605,7 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts } // Open an updated GUI after the value changed - SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, val, part1, part2); + SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, val, part1, part2, position); gui.open(); // Check the calculator symbol @@ -603,7 +633,7 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts } // Open a new updated GUI with new values - SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, val, part1, part2); + SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, val, part1, part2, position); gui.open(); // Cancel the event @@ -1278,9 +1308,16 @@ private void blocksGUI(InventoryClickEvent e, Player p, String[] parts) { SpigotMinesBlocksGUI gui = new SpigotMinesBlocksGUI(p, mineName); gui.open(); } else { + + String positionStr = ( parts.length > 2 ? parts[2] : "0" ); + int position = 0; + try { + position = Integer.parseInt( positionStr ); + } + catch( NumberFormatException nfe ) {} double percentage = Double.parseDouble(parts[2]); - SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, percentage, mineName, buttonname); + SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, percentage, mineName, buttonname, position); gui.open(); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index b50f92ef7..b870da6c8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -6,7 +6,12 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; + +import com.cryptomorin.xseries.XMaterial; + +import tech.mcprison.prison.internal.block.PrisonBlock; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.SpigotUtil; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; @@ -22,12 +27,14 @@ public class SpigotMineBlockPercentageGUI extends SpigotGUIComponents { private final Double val; private final String blockName; private final Configuration messages = messages(); + private int counter; - public SpigotMineBlockPercentageGUI(Player p, Double val, String mineName, String blockName){ + public SpigotMineBlockPercentageGUI(Player p, Double val, String mineName, String blockName, int counter){ this.p = p; this.val = val; this.mineName = mineName; this.blockName = blockName; + this.counter = counter; } public void open() { @@ -72,15 +79,15 @@ private void buttonsSetup(Inventory inv) { // Decrease button - ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 1" )); + ItemStack decreaseOf1 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 1" + " &0" + counter)); inv.setItem(1, decreaseOf1); - ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 5, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 5")); + ItemStack decreaseOf5 = createButton(Material.REDSTONE_BLOCK, 5, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 5" + " &0" + counter)); inv.setItem(10, decreaseOf5); - ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 10")); + ItemStack decreaseOf10 = createButton(Material.REDSTONE_BLOCK, 10, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 10" + " &0" + counter)); inv.setItem(19, decreaseOf10); - ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 50, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 50")); + ItemStack decreaseOf50 = createButton(Material.REDSTONE_BLOCK, 50, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 50" + " &0" + counter)); inv.setItem(28, decreaseOf50); - ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 100")); + ItemStack decreaseOf100 = createButton(Material.REDSTONE_BLOCK, 1, changeDecreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " - 100" + " &0" + counter)); inv.setItem(37, decreaseOf100); @@ -91,20 +98,37 @@ private void buttonsSetup(Inventory inv) { } if ( watch == null ) { watch = Material.matchMaterial( "clock" ); } - ItemStack confirmButton = createButton(watch, 1, confirmButtonLore, SpigotPrison.format("&3" + "Confirm: " + mineName + " " + blockName + " " + val)); + ItemStack confirmButton = createButton(watch, 1, confirmButtonLore, SpigotPrison.format("&3" + "Confirm: " + mineName + " " + blockName + " " + val + " &0" + counter)); inv.setItem(22, confirmButton); // Increase button - ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 1" )); + ItemStack increseOf1 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 1" + " &0" + counter )); inv.setItem(7, increseOf1); - ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 5, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 5")); + ItemStack increaseOf5 = createButton(Material.EMERALD_BLOCK, 5, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 5" + " &0" + counter)); inv.setItem(16, increaseOf5); - ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 10")); + ItemStack increaseOf10 = createButton(Material.EMERALD_BLOCK, 10, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 10" + " &0" + counter)); inv.setItem(25, increaseOf10); - ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 50, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 50")); + ItemStack increaseOf50 = createButton(Material.EMERALD_BLOCK, 50, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 50" + " &0" + counter)); inv.setItem(34, increaseOf50); - ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 100")); + ItemStack increaseOf100 = createButton(Material.EMERALD_BLOCK, 1, changeIncreaseValueLore, SpigotPrison.format("&3" + mineName + " " + blockName + " " + val + " + 100" + " &0" + counter)); inv.setItem(43, increaseOf100); + + // Return to prior screen: + List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); + ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close" + " &0" + mineName + " " + counter)); + inv.setItem(40, closeGUI); + + + // Show the selected block at the top center position: + XMaterial xMat = SpigotUtil.getXMaterial( blockName ); + if ( PrisonBlock.IGNORE.getBlockName().equalsIgnoreCase( blockName )) { + xMat = XMaterial.BARRIER; + } + if ( xMat == null ) { + xMat = XMaterial.STONE; + } + inv.setItem(4, xMat.parseItem()); + } } From 708252e60d3647438874cb5228dbb31bfc1575cb Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 01:06:32 -0500 Subject: [PATCH 218/243] Update docs. --- changelog_v3.2.x.md | 12 ++++++++++++ knownissues_v3.2.x.md | 25 ++++++++++++++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 39ee41182..34a59cb41 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -11,6 +11,18 @@ that you need. ## tag v3.2.2-alpha.12 - 2020-11-13 +* **Updated the SpigotMineBlockPercentageGUI to include a Close button and to show the selected block top and center.** +Also provided links back to the block list gui. Setup the parameters to return back by setting the font color to black so it is visible that they exist as the players hover. + + +* **Fixed issue with GUI block list.** +Using a combination of XMaterial and ItemStacks, its able to display the viewable blocks. Added Prior button to go back to prior page. Got the Next page button working (it was incorrectly just blindly deleting the first two characters of the button name; changed it to strip color so it is not destructive. Setup this page to be able to return to it from other pages. Confirmed that this works with spigot v1.8.8 and spigot v1.16.3. + + +* **Fix issue with GUI not being able to display red or lime stained glass panes** +due to use of material instead of ItemStacks. This applies to mc v1.8 through mc v1.12 and they display as plain glass panes (no colors). + + * **Added a SpigotPrison function to strip all colors from text.** Needed in the GUI to hide extra parameters. diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index 040886c43..3daebb06d 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -7,9 +7,26 @@ a short list of To Do's. This list is intended to help work through known issues, and/or to serve as items that should be added, or fixed. -# To Do Items - During Beta v3.2.2 +# To Do Items - During Alpha v3.2.2 +* **Combine a few commands & Other short Notes:** + - Combine `/mines set rank` and `/mines set norank` + - Combine `/mines set notificationPerm` with `/mines set notification`. Add an option to enable perms. Allow the perm to be changed? Maybe even use as a default the same permission that is used in `/ranks autoConfigure`. + - Combine `/mines set zeroBlockResetDelay` with `/mines set resetThreshold` + + - Store the permission a mine uses so it can reused elsewhere (know what it is so it can be used). + - move `/mines playerinventory` to `/prison player showInventory` + - Add alias `/prison player info` on `/ranks player` + - Add alias `/prison player list` on `/ranks players` + + + +* **Value estimates for a mine** +We know what blocks are in the mine and the percentages. If people equally mine all blocks (some only go for the more valuable ones if they can) then we can produce a formula that can tell you how many estimated inventory fulls it would take to reach the rankup cost. That could be a really awesome "validation" tool to make sure one or two ranks are not messed up with either being too easy or too difficult. Will need hooks in to auto manager tools to calculate fortune and what results from block breaks. Could be complex. +`/mines value info` show breakdown of a mine's defined ores and what it would take to reach /rankup +`/mines value list` show a listing of all mines with the key details: value per inventory full, how many inventory fulls to rankup. + * **Save the liner settings for each mine** @@ -18,6 +35,8 @@ Save all six faces and include pattern and if forced Add command to regenerate, or reapply, the liners. Add liner details to mines info + + * **DONE: Add numeric abbreviations on rank costs** K, M, B, T, Q, etc... New placeholder? Formatted? @@ -35,7 +54,7 @@ Add liner details to mines info Be able to select rank and mine commands for edit and deletion, or even moving, with line numbers. -* **EX with auto pickup** +* **DONE: EXP with auto pickup** For certain blocks such as coal, diamonds, other... provide xp... @@ -54,7 +73,7 @@ Implement and have a fully functional new block handling mechanism that operate -* **Rework commands within the spigot module so all user facing commands are routed through Prison's Command Interface** +* **DONE? Rework commands within the spigot module so all user facing commands are routed through Prison's Command Interface** Blue should work on this. From 444a43cec4bfbf5a6fc514c5f7baa48574a43a87 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 01:25:47 -0500 Subject: [PATCH 219/243] Bump to v3.2.2-alpha.13 --- changelog_v3.2.x.md | 5 ++++- gradle.properties | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index 34a59cb41..a8213c7b7 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,10 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.12 - 2020-11-13 +## tag v3.2.2-alpha.13 - 2020-11-13 + + +* **v3.2.2-alpha.13 - 2020-11-13** * **Updated the SpigotMineBlockPercentageGUI to include a Close button and to show the selected block top and center.** diff --git a/gradle.properties b/gradle.properties index 293938f4b..46accd0e4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.12 +version=3.2.2-alpha.13 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all From e99a229b84765f02f1cad45218918d9196212af1 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Fri, 13 Nov 2020 11:45:35 +0100 Subject: [PATCH 220/243] Code changes Changelogs: - Refactoring and moved many configs into a new directory, so they're all in the same place now ready to become one... maybe --- .../java/tech/mcprison/prison/localization/Localizable.java | 2 +- .../main/java/tech/mcprison/prison/spigot/SpigotPrison.java | 6 +++--- .../mcprison/prison/spigot/{gui => configs}/GuiConfig.java | 2 +- .../spigot/{languages => configs}/MessagesConfig.java | 4 ++-- .../prison/spigot/{sellall => configs}/sellAllConfig.java | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/{gui => configs}/GuiConfig.java (98%) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/{languages => configs}/MessagesConfig.java (98%) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/{sellall => configs}/sellAllConfig.java (98%) diff --git a/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java b/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java index 3334dbab1..de59b1491 100755 --- a/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java +++ b/prison-core/src/main/java/tech/mcprison/prison/localization/Localizable.java @@ -45,7 +45,7 @@ /** * Represents an object which has the potential to be localized in one of - * multiple languages and returned as a string. + * multiple configs and returned as a string. *

    *

    In the event that a {@link Localizable} cannot be localized with the given * parameters or in its parent {@link LocaleManager}'s default locale, it will diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 29133d74f..08d5cb594 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -63,9 +63,9 @@ import tech.mcprison.prison.spigot.economies.GemsEconomy; import tech.mcprison.prison.spigot.economies.SaneEconomy; import tech.mcprison.prison.spigot.economies.VaultEconomy; -import tech.mcprison.prison.spigot.gui.GuiConfig; +import tech.mcprison.prison.spigot.configs.GuiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; -import tech.mcprison.prison.spigot.languages.MessagesConfig; +import tech.mcprison.prison.spigot.configs.MessagesConfig; import tech.mcprison.prison.spigot.permissions.LuckPermissions; import tech.mcprison.prison.spigot.permissions.LuckPerms5; import tech.mcprison.prison.spigot.permissions.VaultPermissions; @@ -73,7 +73,7 @@ import tech.mcprison.prison.spigot.placeholder.PlaceHolderAPIIntegration; import tech.mcprison.prison.spigot.player.SlimeBlockFunEventListener; import tech.mcprison.prison.spigot.sellall.SellAllCommands; -import tech.mcprison.prison.spigot.sellall.sellAllConfig; +import tech.mcprison.prison.spigot.configs.sellAllConfig; import tech.mcprison.prison.spigot.spiget.BluesSpigetSemVerComparator; /** diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java similarity index 98% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java index ca55f15e1..ed81cf9cd 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java @@ -1,4 +1,4 @@ -package tech.mcprison.prison.spigot.gui; +package tech.mcprison.prison.spigot.configs; import java.io.File; import java.io.IOException; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java similarity index 98% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java index 075b56955..93997a7e5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/languages/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java @@ -1,4 +1,4 @@ -package tech.mcprison.prison.spigot.languages; +package tech.mcprison.prison.spigot.configs; import java.io.File; import java.io.IOException; @@ -28,7 +28,7 @@ public void initialize() { // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + - "/languages/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + "/configs/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); if( !file.exists() ) { try { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/sellAllConfig.java similarity index 98% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/sellAllConfig.java index 44b85489e..aede74187 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/sellAllConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/sellAllConfig.java @@ -1,4 +1,4 @@ -package tech.mcprison.prison.spigot.sellall; +package tech.mcprison.prison.spigot.configs; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; From 5c1588a1c73198eda1a1991dd63308ba28af1dc8 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Fri, 13 Nov 2020 12:10:44 +0100 Subject: [PATCH 221/243] Code changes Changelogs: - Refactoring and moved the eventhandler for chat to a single class --- .../mcprison/prison/spigot/SpigotPrison.java | 1 - .../spigot/commands/PrisonSpigotCommands.java | 51 ++++---------- .../spigot/gui/ListenersPrisonManager.java | 66 +++++++++++++++---- 3 files changed, 63 insertions(+), 55 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 08d5cb594..c399c1a18 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -167,7 +167,6 @@ public void onEnable() { PrisonSpigotCommands spigotCommands = new PrisonSpigotCommands(); - Bukkit.getPluginManager().registerEvents( spigotCommands, this); Prison.get().getCommandHandler().registerCommands( spigotCommands ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 51070ea2b..ac4f0fd6d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -31,39 +31,7 @@ public class PrisonSpigotCommands extends PrisonSpigotBaseCommands implements Listener { - private boolean isChatEventActive; - private int id; - private String mode; -// CommandSender senderOfCommand; - - @EventHandler(priority = EventPriority.LOWEST) - public void onChat(AsyncPlayerChatEvent e) { - if (isChatEventActive) { - Player p = e.getPlayer(); - ListenersPrisonManager.get(); - if (ListenersPrisonManager.chatEventPlayer.contains(p.getName())){ - String message = e.getMessage(); - Bukkit.getScheduler().cancelTask(id); - if (mode.equalsIgnoreCase("prestige")) { - if (message.equalsIgnoreCase("cancel")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); - e.setCancelled(true); - } else if (message.equalsIgnoreCase("confirm")) { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); - e.setCancelled(true); - isChatEventActive = false; - } else { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cPrestige cancelled, you didn't type the word: confirm")); - e.setCancelled(true); - } - } - ListenersPrisonManager.get().removeChatEventPlayer(p); - } - } - } - + // CommandSender senderOfCommand; @Command(identifier = "mines", onlyPlayers = false, altPermissions = {"-none-", "mines.admin"}) @@ -191,7 +159,9 @@ public void prisonManagerPrestige(CommandSender sender ) { } private void prestigeByChat(CommandSender sender) { - isChatEventActive = true; + + ListenersPrisonManager listenersPrisonManager = ListenersPrisonManager.get(); + listenersPrisonManager.chatEventActivator(); sender.sendMessage(SpigotPrison.format(getPrisonConfig("Gui.Lore.PrestigeWarning") + getPrisonConfig("Gui.Lore.PrestigeWarning2") + @@ -202,13 +172,14 @@ private void prestigeByChat(CommandSender sender) { final Player player = getSpigotPlayer( sender ); - mode = "prestige"; - ListenersPrisonManager.get().addChatEventPlayer(player); - id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { - if (isChatEventActive) { - isChatEventActive = false; + listenersPrisonManager.addMode("prestige"); + listenersPrisonManager.addChatEventPlayer(player); + listenersPrisonManager.id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { + if (listenersPrisonManager.chatEventCheck()) { + listenersPrisonManager.chatEventDeactivator(); player.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); - ListenersPrisonManager.get().removeChatEventPlayer(player); + listenersPrisonManager.removeChatEventPlayer(player); + listenersPrisonManager.removeMode(); } }, 20L * 30); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 4046db3e1..2503a0411 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -65,6 +65,7 @@ public class ListenersPrisonManager implements Listener { public String rankNameOfChat = null; public String mineNameOfChat = null; boolean guiNotEnabled = !(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true")); + public String mode; public ListenersPrisonManager(){} @@ -75,6 +76,26 @@ public static ListenersPrisonManager get() { return instance; } + public void chatEventActivator(){ + isChatEventActive = true; + } + + public void chatEventDeactivator(){ + isChatEventActive = false; + } + + public boolean chatEventCheck(){ + return isChatEventActive; + } + + public void addMode(String modex){ + mode = modex; + } + + public void removeMode(){ + mode = null; + } + public void addChatEventPlayer(Player p){ if (!isChatEventActive){ @@ -120,28 +141,45 @@ public void onChat(AsyncPlayerChatEvent e) { if (chatEventPlayer.contains(p.getName())){ String message = e.getMessage(); Bukkit.getScheduler().cancelTask(id); - if (rankNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { + if (mode == null) { + if (rankNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } + } else if (mineNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cRename mine closed, nothing got changed")); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } + } + } else if (mode.equalsIgnoreCase("prestige")){ + if (message.equalsIgnoreCase("cancel")) { isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); + p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); + } else if (message.equalsIgnoreCase("confirm")) { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); e.setCancelled(true); isChatEventActive = false; - } - } else if (mineNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename mine closed, nothing got changed")); - e.setCancelled(true); } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); - e.setCancelled(true); isChatEventActive = false; + p.sendMessage(SpigotPrison.format("&cPrestige cancelled, you didn't type the word: confirm")); + e.setCancelled(true); } } removeChatEventPlayer(p); + removeMode(); } } } @@ -1228,7 +1266,7 @@ private void mineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { gui2.open(); break; - case "Mine_Name": { + case "Mine_Name:": { Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); From 96adbde2563254ae9d1fe1cadd60a91add186e8c Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Fri, 13 Nov 2020 21:35:05 +0100 Subject: [PATCH 222/243] Fixes Changelogs: - Many fixes to GUIs --- .../spigot/gui/ListenersPrisonManager.java | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 2503a0411..130175052 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -66,6 +66,7 @@ public class ListenersPrisonManager implements Listener { public String mineNameOfChat = null; boolean guiNotEnabled = !(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true")); public String mode; + private Optional ladder; public ListenersPrisonManager(){} @@ -393,30 +394,9 @@ public void onClick(InventoryClickEvent e){ // Check the inventory name and do the actions case "Mines -> BlocksList":{ - - String positionStr = ( parts.length > 2 ? parts[2] : "0" ); - int position = 0; - try { - position = Integer.parseInt( positionStr ); - } - catch( NumberFormatException nfe ) {} - if (parts[0].equalsIgnoreCase("Next") || parts[0].equalsIgnoreCase("Prior")){ - - SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, parts[1], position); + BlocksListGUI(e, p, parts); - p.closeInventory(); - - gui.open(); - } else { - SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, 0.00, parts[1], parts[0], position); - - p.closeInventory(); - - gui.open(); - } - - e.setCancelled(true); break; } @@ -531,6 +511,32 @@ public void onClick(InventoryClickEvent e){ } } + private void BlocksListGUI(InventoryClickEvent e, Player p, String[] parts) { + String positionStr = ( parts.length > 2 ? parts[2] : "0" ); + int position = 0; + try { + position = Integer.parseInt( positionStr ); + } + catch( NumberFormatException nfe ) {} + + if (parts[0].equalsIgnoreCase("Next") || parts[0].equalsIgnoreCase("Prior")){ + + SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, parts[1], position); + + p.closeInventory(); + + gui.open(); + } else { + SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, 0.00, parts[1], parts[0], position); + + p.closeInventory(); + + gui.open(); + } + + e.setCancelled(true); + } + private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts) { // Rename the parts @@ -584,13 +590,8 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts // Cancel the event e.setCancelled(true); - - SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, part2, position); - // Close the inventory p.closeInventory(); - - gui.open(); return; @@ -850,7 +851,7 @@ private void laddersGUI(InventoryClickEvent e, Player p, String buttonNameMain, } // Get the ladder by the name of the button got before - Optional ladder = PrisonRanks.getInstance().getLadderManager().getLadder(buttonNameMain); + ladder = PrisonRanks.getInstance().getLadderManager().getLadder(buttonNameMain); // Check if the ladder exist, everything can happen but this shouldn't if (!ladder.isPresent()) { @@ -898,6 +899,8 @@ private void ranksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { Bukkit.dispatchCommand(p, "ranks delete " + buttonNameMain); e.setCancelled(true); p.closeInventory(); + SpigotRanksGUI gui = new SpigotRanksGUI(p, ladder); + gui.open(); return; } else { From 33149647e580d1029b861feb4a0b7229c692769f Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 19:49:06 -0500 Subject: [PATCH 223/243] Fixed a problem with bukkit on a paper v1.16.4 server where the Bukkit.getOfflinePlayers() was returning either a null player, or a player had a name that was null. --- .../tech/mcprison/prison/spigot/SpigotPlatform.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index fa1aab244..0f7869fa1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -262,11 +262,20 @@ private Optional getOfflinePlayer(String name, UUID uuid) { // No hits on uuid so only compare names: for ( OfflinePlayer oPlayer : Bukkit.getOfflinePlayers() ) { - if ( oPlayer.getName().equalsIgnoreCase( name.trim() ) ) { + if ( oPlayer != null && oPlayer.getName() != null && + oPlayer.getName().equalsIgnoreCase( name.trim() ) ) { player = new SpigotOfflinePlayer( oPlayer ); break; } + else if ( oPlayer == null || oPlayer.getName() == null ) { + Output.get().logWarn( "SpigotPlatform.getOfflinePlayer: Bukkit return a " + + "bad player: OfflinePlayer == null? " + (oPlayer == null) + + ( oPlayer == null ? "" : + " name= " + (oPlayer.getName() == null ? "null" : + oPlayer.getName()))); + + } } } From 78ae412c39efd8c237e3800531f44a29890c7279 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Fri, 13 Nov 2020 20:13:18 -0500 Subject: [PATCH 224/243] Bug fix: It was reported that modifying a block's chance was not updating correctly and it was failing with total mine chance greater than 100 percent when it really wasn't. This was due to how the total chances were being calculated in different ways in different parts of the code. This fixes it by using the same process in all locations so its consistent. --- .../prison/mines/commands/MinesCommands.java | 153 ++++++++++++++---- 1 file changed, 122 insertions(+), 31 deletions(-) diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index f03197994..dc0edaaca 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -435,9 +435,10 @@ public void addBlockCommand(CommandSender sender, else { BlockType blockType = BlockType.getBlock(block); + if (blockType == null || blockType.getMaterialType() != MaterialType.BLOCK ) { pMines.getMinesMessages().getLocalizable("not_a_block") - .withReplacements(block).sendTo(sender); + .withReplacements(block).sendTo(sender); return; } @@ -452,16 +453,29 @@ public void addBlockCommand(CommandSender sender, return; } - final double[] totalComp = {chance}; - m.getBlocks().forEach(block1 -> totalComp[0] += block1.getChance()); - if (totalComp[0] > 100.0d) { + BlockPercentTotal percentTotal = calculatePercentage( chance, blockType, m ); + + if ( percentTotal.getTotalChance() > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full") .sendTo(sender, LogLevel.ERROR); return; } - m.getBlocks().add(new Block(blockType, chance)); + // This is an add block function so if we get this far, add it: + if ( percentTotal.getOldBlock() == null ) { + // add the block since it does not exist in the mine: + m.getBlocks().add( new Block( blockType, chance) ); + } + else if ( chance <= 0 ) { + // block exists in mine, but chance is set to zero so remove it: + m.getBlocks().remove( percentTotal.getOldBlock() ); + } + else { + // update the block chance. The block in percentTotal comes from this mine + // so just update the chance: + percentTotal.getOldBlock().setChance( chance ); + } pMines.getMineManager().saveMine( m ); @@ -476,39 +490,45 @@ public void addBlockCommand(CommandSender sender, private void updateMinePrisonBlock( CommandSender sender, Mine m, PrisonBlock prisonBlock, double chance, PrisonMines pMines ) { - PrisonBlock preexistingPrisonBlock = m.getPrisonBlock( prisonBlock ); + PrisonBlock existingPrisonBlock = m.getPrisonBlock( prisonBlock ); if ( chance <= 0 ) { - if ( preexistingPrisonBlock == null ) { + if ( existingPrisonBlock == null ) { sender.sendMessage( "The percent chance must have a value greater than zero." ); } else { // Delete the block since it exists and the chance was set to zero: - deleteBlock( sender, pMines, m, preexistingPrisonBlock ); + deleteBlock( sender, pMines, m, existingPrisonBlock ); } return; } - // if block already exists, back out it's chance since the new block will replace it: - final double[] totalComp = { - ( chance + (preexistingPrisonBlock == null ? 0 : - preexistingPrisonBlock.getChance()) )}; - m.getPrisonBlocks().forEach(block1 -> totalComp[0] += block1.getChance()); - if (totalComp[0] > 100.0d) { + BlockPercentTotal percentTotal = calculatePercentage( chance, prisonBlock, m ); + + if ( percentTotal.getTotalChance() > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full"). sendTo(sender, LogLevel.ERROR); return; } - if ( preexistingPrisonBlock != null ) { - preexistingPrisonBlock.setChance( chance ); + if ( existingPrisonBlock != null ) { + + if ( chance <= 0 ) { + // remove the block since it has zero chance + m.getPrisonBlocks().remove( existingPrisonBlock ); + } + else { + // update chance for the prisonBlock. This block is + // still in the mine, so just update the chance. + existingPrisonBlock.setChance( chance ); + } pMines.getMineManager().saveMine( m ); pMines.getMinesMessages().getLocalizable("block_set") - .withReplacements(preexistingPrisonBlock.getBlockName(), m.getName()).sendTo(sender); + .withReplacements( existingPrisonBlock.getBlockName(), m.getName()).sendTo(sender); } else { prisonBlock.setChance( chance ); @@ -634,7 +654,7 @@ public void setBlockCommand(CommandSender sender, return; } - // If it's 0, just delete it! + // If it's 0, just delete it! If the block is not in the mine, then nothing will happen. if (chance <= 0.0d) { deleteBlock( sender, pMines, m, blockType ); // delBlockCommand(sender, mine, block); @@ -642,25 +662,19 @@ public void setBlockCommand(CommandSender sender, } - double totalChance = chance; - Block blockToUpdate = null; - for ( Block blk : m.getBlocks() ) { - if ( blk.getType() == blockType ) { - totalChance -= blk.getChance(); - blockToUpdate = blk; - } - else { - totalChance += blk.getChance(); - } - } + BlockPercentTotal percentTotal = calculatePercentage( chance, blockType, m ); + - if (totalChance > 100.0d) { + if ( percentTotal.getTotalChance() > 100.0d) { pMines.getMinesMessages().getLocalizable("mine_full"). sendTo(sender, LogLevel.ERROR); return; } - blockToUpdate.setChance( chance ); + // Block would have been added or deleted above, so if it gets here, then + // just update the block that's in the mine, which is stored in the percentTotal + // result object: + percentTotal.getOldBlock().setChance( chance ); pMines.getMineManager().saveMine( m ); @@ -675,6 +689,83 @@ public void setBlockCommand(CommandSender sender, //pMines.getMineManager().clearCache(); } + + + private BlockPercentTotal calculatePercentage( double chance, BlockType blockType, Mine m ) { + BlockPercentTotal results = new BlockPercentTotal(); + results.addChance( chance ); + + for ( Block block : m.getBlocks() ) { + if ( block.getType() == blockType ) { + // do not replace the block's chance since this may fail + results.setOldBlock( block ); + } + else { + results.addChance( block.getChance() ); + } + } + + if ( results.getOldBlock() == null ) { + results.setOldBlock( new Block(blockType, chance) ); + } + return results; + } + + private BlockPercentTotal calculatePercentage( double chance, PrisonBlock prisonBlock, Mine m ) { + BlockPercentTotal results = new BlockPercentTotal(); + results.addChance( chance ); + + for ( PrisonBlock block : m.getPrisonBlocks() ) { + if ( block.equals( prisonBlock ) ) { + // do not replace the block's chance since this may fail + results.setPrisonBlock( block ); + } + else { + results.addChance( block.getChance() ); + } + } + + if ( results.getPrisonBlock() == null ) { + prisonBlock.setChance( chance ); + results.setPrisonBlock( prisonBlock ); + } + return results; + } + + protected class BlockPercentTotal { + private double totalChance = 0d; + private Block oldBlock = null; + private PrisonBlock prisonBlock = null; + + public BlockPercentTotal() { + } + + public void addChance( double chance ) { + this.totalChance += chance; + } + public double getTotalChance() { + return totalChance; + } + public void setTotalChance( double totalChance ) { + this.totalChance = totalChance; + } + + public Block getOldBlock() { + return oldBlock; + } + public void setOldBlock( Block oldBlock ) { + this.oldBlock = oldBlock; + } + + public PrisonBlock getPrisonBlock() { + return prisonBlock; + } + public void setPrisonBlock( PrisonBlock prisonBlock ) { + this.prisonBlock = prisonBlock; + } + + } + @Command(identifier = "mines block remove", permissions = "mines.block", onlyPlayers = false, description = "Deletes a block from a mine.") public void delBlockCommand(CommandSender sender, From 0087df65e9ef287b9feac65b9920ff41ab329643 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 15 Nov 2020 13:19:39 +0100 Subject: [PATCH 225/243] Added messages Changelogs: - Added many new messages to the MessagesConfig (messages config). --- .../spigot/commands/PrisonSpigotCommands.java | 49 ++++---- .../prison/spigot/configs/MessagesConfig.java | 19 +++ .../spigot/gui/ListenersPrisonManager.java | 109 ++++++++++-------- 3 files changed, 106 insertions(+), 71 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index ac4f0fd6d..98bfd8d47 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -1,6 +1,7 @@ package tech.mcprison.prison.spigot.commands; import org.bukkit.Bukkit; +import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -31,7 +32,9 @@ public class PrisonSpigotCommands extends PrisonSpigotBaseCommands implements Listener { - // CommandSender senderOfCommand; + private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + + // CommandSender senderOfCommand; @Command(identifier = "mines", onlyPlayers = false, altPermissions = {"-none-", "mines.admin"}) @@ -78,7 +81,7 @@ else if (ladderName.equalsIgnoreCase("prestiges") && public void prestigesGUICommand(CommandSender sender) { if ( !isPrisonConfig( "prestiges") ) { - sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled by default, please edit it in your config.yml!")); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesDisabledDefault"))); return; } @@ -128,14 +131,14 @@ public void prisonManagerPrestige(CommandSender sender ) { if (lm != null && (!(lm.getLadder("default").isPresent()) || !(lm.getLadder("default").get().getLowestRank().isPresent()) || lm.getLadder("default").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format("&cError: The default ladder has no rank.")); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.DefaultLadderEmpty"))); return; } if (lm != null && (!(lm.getLadder("prestiges").isPresent()) || !(lm.getLadder("prestiges").get().getLowestRank().isPresent()) || lm.getLadder("prestiges").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format("&cError: The prestige ladder has no prestiges")); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CantFindPrestiges"))); return; } @@ -167,8 +170,8 @@ private void prestigeByChat(CommandSender sender) { getPrisonConfig("Gui.Lore.PrestigeWarning2") + getPrisonConfig("Gui.Lore.PrestigeWarning3"))); - sender.sendMessage(SpigotPrison.format("&aConfirm&3: Type the word &aconfirm &3 to confirm")); - sender.sendMessage(SpigotPrison.format("&cCancel&3: Type the word &ccancel &3to cancel, &cyou've 30 seconds.")); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.ConfirmPrestige"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CancelPrestige"))); final Player player = getSpigotPlayer( sender ); @@ -177,7 +180,7 @@ private void prestigeByChat(CommandSender sender) { listenersPrisonManager.id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (listenersPrisonManager.chatEventCheck()) { listenersPrisonManager.chatEventDeactivator(); - player.sendMessage(SpigotPrison.format("&cYou ran out of time, prestige cancelled.")); + player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeRanOutOfTime"))); listenersPrisonManager.removeChatEventPlayer(player); listenersPrisonManager.removeMode(); } @@ -191,13 +194,13 @@ private void prestigeByChat(CommandSender sender) { private void prisonManagerPrestiges( CommandSender sender ) { if ( !isPrisonConfig("prestiges") ) { - sender.sendMessage(SpigotPrison.format("&cPrestiges are disabled. Check config.yml")); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesAreDisabled"))); return; } - if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Prestiges.GUI_Enabled") ){ - sender.sendMessage(SpigotPrison.format("&cGUI and/or GUI Prestiges is not enabled. Check GuiConfig.yml")); + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Prestiges.GUI_Enabled")){ + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.GuiOrPrestigesDisabled"))); return; } @@ -205,7 +208,7 @@ private void prisonManagerPrestiges( CommandSender sender ) { String perm = getConfig( "Options.Prestiges.Permission_GUI"); if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(SpigotPrison.format("&cYou lack the permissions to use GUI prestiges [" + + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.missingGuiPrestigesPermission") + " [" + perm + "]")); return; } @@ -223,7 +226,7 @@ private void prisonManagerPrestiges( CommandSender sender ) { private void prisonManagerMines(CommandSender sender) { if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Mines.GUI_Enabled") ){ - sender.sendMessage(SpigotPrison.format("&cGUI and/or GUI Mines is not enabled. Check GuiConfig.yml")); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineOrGuiDisabled"))); return; } @@ -232,7 +235,7 @@ private void prisonManagerMines(CommandSender sender) { String perm = getConfig( "Options.Mines.Permission_GUI"); if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(SpigotPrison.format("&cYou lack the permissions to use GUI mines [" + + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineMissingGuiPermission") + " [" + perm + "]")); return; } @@ -249,18 +252,16 @@ private void prisonManagerMines(CommandSender sender) { onlyPlayers = true ) private void prisonManagerRanks(CommandSender sender) { - if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled") ) { - sender.sendMessage(SpigotPrison.format( - String.format( "&cGUI and/or GUI ranks is not enabled. Check GuiConfig.yml (%s %s)", - getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); + if (!isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled")) { + sender.sendMessage(SpigotPrison.format(String.format( messages.getString("Gui.Message.rankGuiDisabledOrAllGuiDisabled"), getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); return; } - if ( isConfig("Options.Ranks.Permission_GUI_Enabled") ) { + if (isConfig("Options.Ranks.Permission_GUI_Enabled")) { String perm = getConfig( "Options.Ranks.Permission_GUI"); - if (!sender.hasPermission( perm ) ) { + if (!sender.hasPermission(perm)) { - sender.sendMessage(SpigotPrison.format("&cYou lack the permissions to use GUI ranks [" + + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankGuiMissingPermission") + " [" + perm + "]")); return; } @@ -284,14 +285,14 @@ private void prisonManagerRanks(CommandSender sender) { ) private void prisonManagerGUI(CommandSender sender) { - Player player = getSpigotPlayer( sender ); + Player player = getSpigotPlayer(sender); - if ( player == null ) { - sender.sendMessage( SpigotPrison.format( "You cannot run the GUI from the console." ) ); + if (player == null) { + sender.sendMessage( SpigotPrison.format(messages.getString("Gui.Message.CantRunGUIFromConsole"))); return; } - SpigotPrisonGUI gui = new SpigotPrisonGUI( player ); + SpigotPrisonGUI gui = new SpigotPrisonGUI(player); gui.open(); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java index 93997a7e5..e9a35f5b4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java @@ -171,6 +171,8 @@ private void values(){ dataConfig("Gui.Lore.noRanksFoundSetup7", "&3Please replace the X with the starting price and"); dataConfig("Gui.Lore.noRanksFoundSetup8", "&3multiplier, default price = 50000, multiplier = 1.5."); dataConfig("Gui.Message.CantGetRanksAdmin", "&3[PRISON WARN] &cCan't get Ranks, there might be no ranks or the Ranks module's disabled."); + dataConfig("Gui.Message.CantRunGUIFromConsole", "&7[&3Info&7] You cannot run the GUI from the console."); + dataConfig("Gui.Message.DefaultLadderEmpty", "&7[&cError&7] &cThe default ladder has no rank."); dataConfig("Gui.Message.NoSellAllItems", "&cSorry but there aren't SellAll Items to show."); dataConfig("Gui.Message.EmptyGui","&cSorry, the GUI looks empty."); dataConfig("Gui.Message.NoBlocksMine","&cSorry but there aren't blocks inside this Mine."); @@ -194,14 +196,31 @@ private void values(){ dataConfig("Gui.Message.ZeroBlocksReset3","&8reaches zero blocks."); dataConfig("Gui.Message.mineNameRename", "&7[&3Info&7] &3Please write the &6mineName &3you'd like to use and &6submit&3."); dataConfig("Gui.Message.mineNameRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); + dataConfig("Gui.Message.mineNameRenameClosed", "&7[&3Info&7] &cRename mine closed, nothing got changed!"); + dataConfig("Gui.Message.mineOrGuiDisabled", "&7[&3Info&7] &cGUI and/or GUI Mines is not enabled. Check GuiConfig.yml."); + dataConfig("Gui.Message.mineMissingGuiPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI mines"); dataConfig("Gui.Message.OutOfTimeNoChanges", "&cYou ran out of time, nothing changed."); + dataConfig("Gui.Message.PrestigeCancelled", "&7[&3Info&7] &cPrestige cancelled!"); + dataConfig("Gui.Message.PrestigeCancelledWrongKeyword", "&7[&3Info&7] &cPrestige cancelled, you didn't type the word: confirm"); + dataConfig("Gui.Message.PrestigeRanOutOfTime", "&7[&3Info&7] &cYou ran out of time, prestige cancelled."); + dataConfig("Gui.Message.PrestigesDisabledDefault", "&7[&3Info&7] &cPrestiges are disabled by default, please edit it in your config.yml!"); + dataConfig("Gui.Message.ConfirmPrestige", "&7[&3Info&7] &aConfirm&3: Type the word &aconfirm &3 to confirm"); + dataConfig("Gui.Message.CancelPrestige", "&7[&3Info&7] &cCancel&3: Type the word &ccancel &3to cancel, &cyou've 30 seconds."); + dataConfig("Gui.Message.PrestigesAreDisabled", "&7[&3Info&7] &cPrestiges are disabled. Check config.yml."); + dataConfig("Gui.Message.GuiOrPrestigesDisabled", "&7[&3Info&7] &cGUI and/or GUI Prestiges is not enabled. Check GuiConfig.yml."); + dataConfig("Gui.Message.CantFindPrestiges", "&7[&cError&7] &cThe prestige ladder has no prestiges!"); + dataConfig("Gui.Message.missingGuiPrestigesPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI prestiges"); dataConfig("Gui.Message.rankTagRename", "&7[&3Info&7] &3Please write the &6tag &3you'd like to use and &6submit&3."); dataConfig("Gui.Message.rankTagRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); + dataConfig("Gui.Message.rankTagRenameClosed", "&7[&3Info&7] &cRename tag closed, nothing got changed!"); + dataConfig("Gui.Message.rankGuiDisabledOrAllGuiDisabled", "&7[&3Info&7] &cGUI and/or GUI ranks is not enabled. Check GuiConfig.yml (%s %s)"); + dataConfig("Gui.Message.rankGuiMissingPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI ranks"); dataConfig("Setup.Message.MissingPermission", "&7[&cError&7] &cSorry but you don't have the permission [-prison.setup- or -prison.admin-]!"); dataConfig("Setup.Message.WrongFormat", "&7[&cError&7] &cYou're missing the last argument -mines- or -ranks-, / setup -mines- or -ranks- !"); dataConfig("Setup.Message.WelcomeToRanksSetup", "&7[&3Info&7] &3Hi and welcome to the ranks setup, please wait until it'll be completed!"); dataConfig("Setup.Message.SuccessRanksSetup", "&7[&3Info&7] &3The ranks setup got completed with &asuccess&3 and the ranks got added to the default ladder,\n please check the logs if something's missing!"); dataConfig("Setup.Message.Aborted", "&7[&3Info&7] &3Prison Setup Cancelled."); + } public FileConfiguration getFileGuiMessagesConfig(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 130175052..cd4b6852a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -64,10 +64,15 @@ public class ListenersPrisonManager implements Listener { public int id; public String rankNameOfChat = null; public String mineNameOfChat = null; - boolean guiNotEnabled = !(SpigotPrison.getInstance().getConfig().getString("prison-gui-enabled").equalsIgnoreCase("true")); + private final Configuration config = SpigotPrison.getInstance().getConfig(); + private final Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); + private final Configuration sellAllConfig = SpigotPrison.getSellAllConfig(); + private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + boolean guiNotEnabled = !(config.getString("prison-gui-enabled").equalsIgnoreCase("true")); public String mode; private Optional ladder; + public ListenersPrisonManager(){} public static ListenersPrisonManager get() { @@ -140,49 +145,55 @@ public void onChat(AsyncPlayerChatEvent e) { if (isChatEventActive) { Player p = e.getPlayer(); if (chatEventPlayer.contains(p.getName())){ - String message = e.getMessage(); - Bukkit.getScheduler().cancelTask(id); - if (mode == null) { - if (rankNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename tag closed, nothing got changed")); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; - } - } else if (mineNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cRename mine closed, nothing got changed")); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; - } - } - } else if (mode.equalsIgnoreCase("prestige")){ - if (message.equalsIgnoreCase("cancel")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cPrestige cancelled")); - e.setCancelled(true); - } else if (message.equalsIgnoreCase("confirm")) { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); - e.setCancelled(true); - isChatEventActive = false; - } else { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format("&cPrestige cancelled, you didn't type the word: confirm")); - e.setCancelled(true); - } + chatActions(e, p); + } + } + } + + private void chatActions(AsyncPlayerChatEvent e, Player p) { + String message = e.getMessage(); + Bukkit.getScheduler().cancelTask(id); + if (mode == null) { + if (rankNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClosed"))); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; + } + rankNameOfChat = null; + } else if (mineNameOfChat != null) { + if (message.equalsIgnoreCase("close")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClosed"))); + e.setCancelled(true); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); + e.setCancelled(true); + isChatEventActive = false; } - removeChatEventPlayer(p); - removeMode(); + } + mineNameOfChat = null; + } else if (mode.equalsIgnoreCase("prestige")){ + if (message.equalsIgnoreCase("cancel")) { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelled"))); + e.setCancelled(true); + } else if (message.equalsIgnoreCase("confirm")) { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); + e.setCancelled(true); + isChatEventActive = false; + } else { + isChatEventActive = false; + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelledWrongKeyword"))); + e.setCancelled(true); } } + removeChatEventPlayer(p); + removeMode(); } // Cancel the events of the active GUI opened from the player @@ -1001,9 +1012,11 @@ private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { rankNameOfChat = rankName; addChatEventPlayer(p); id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { - isChatEventActive = false; - removeChatEventPlayer(p); - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + if (isChatEventActive) { + removeChatEventPlayer(p); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + isChatEventActive = false; + } }, 20L * 30); p.closeInventory(); } @@ -1281,9 +1294,11 @@ private void mineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { mineNameOfChat = mineName; addChatEventPlayer(p); id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { - isChatEventActive = false; - removeChatEventPlayer(p); - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + if (isChatEventActive) { + removeChatEventPlayer(p); + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + isChatEventActive = false; + } }, 20L * 30); p.closeInventory(); break; From 2d6bd7d4028e0eb36f1ba2fe2a7786d2b27e9422 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 15 Nov 2020 13:40:55 +0100 Subject: [PATCH 226/243] Some refactoring Changelogs: - Some code refactoring. - Added some comments. --- .../spigot/commands/PrisonSpigotCommands.java | 5 +- .../spigot/gui/ListenersPrisonManager.java | 128 ++++++++++-------- 2 files changed, 75 insertions(+), 58 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 98bfd8d47..fc3484eaa 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -3,10 +3,7 @@ import org.bukkit.Bukkit; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; import tech.mcprison.prison.Prison; import tech.mcprison.prison.commands.Arg; @@ -179,7 +176,7 @@ private void prestigeByChat(CommandSender sender) { listenersPrisonManager.addChatEventPlayer(player); listenersPrisonManager.id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (listenersPrisonManager.chatEventCheck()) { - listenersPrisonManager.chatEventDeactivator(); + listenersPrisonManager.chatEventDeactivate(); player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeRanOutOfTime"))); listenersPrisonManager.removeChatEventPlayer(player); listenersPrisonManager.removeMode(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index cd4b6852a..8099375b5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -86,7 +86,7 @@ public void chatEventActivator(){ isChatEventActive = true; } - public void chatEventDeactivator(){ + public void chatEventDeactivate(){ isChatEventActive = false; } @@ -120,20 +120,24 @@ public void removeChatEventPlayer(Player p){ @EventHandler public void onGuiClosing(InventoryCloseEvent e){ + // If the GUI's disabled then return if (guiNotEnabled){ return; } + // Get the player and remove him from the list Player p = (Player) e.getPlayer(); activeGui.remove(p.getName()); } public void addToGUIBlocker(Player p){ + // If the GUI's disabled then return if (guiNotEnabled){ return; } + // If the player isn't already added to the list, then add him if(!activeGui.contains(p.getName())) { activeGui.add(p.getName()); } @@ -142,8 +146,12 @@ public void addToGUIBlocker(Player p){ // On chat event to rename the a Rank Tag @EventHandler (priority = EventPriority.LOWEST) public void onChat(AsyncPlayerChatEvent e) { + + // Check if the boolean is true, this's set manually if (isChatEventActive) { + // Get the player Player p = e.getPlayer(); + // Check if the player's in the list to not use another one for mistake/conflicting if (chatEventPlayer.contains(p.getName())){ chatActions(e, p); } @@ -151,49 +159,73 @@ public void onChat(AsyncPlayerChatEvent e) { } private void chatActions(AsyncPlayerChatEvent e, Player p) { + // Get the chat message String message = e.getMessage(); + // Cancel the task, this has been added before manually Bukkit.getScheduler().cancelTask(id); + modeAction(e, p, message); + removeChatEventPlayer(p); + removeMode(); + } + + private void modeAction(AsyncPlayerChatEvent e, Player p, String message) { + + // Check the mode if (mode == null) { + + // Check which one to use if (rankNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClosed"))); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; - } + rankAction(e, p, message); rankNameOfChat = null; } else if (mineNameOfChat != null) { - if (message.equalsIgnoreCase("close")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClosed"))); - e.setCancelled(true); - } else { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); - e.setCancelled(true); - isChatEventActive = false; - } + mineAction(e, p, message); + mineNameOfChat = null; } - mineNameOfChat = null; + // If the mode's prestige will execute this } else if (mode.equalsIgnoreCase("prestige")){ - if (message.equalsIgnoreCase("cancel")) { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelled"))); - e.setCancelled(true); - } else if (message.equalsIgnoreCase("confirm")) { - Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); - e.setCancelled(true); - isChatEventActive = false; - } else { - isChatEventActive = false; - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelledWrongKeyword"))); - e.setCancelled(true); - } + prestigeAction(e, p, message); } - removeChatEventPlayer(p); - removeMode(); + } + + private void prestigeAction(AsyncPlayerChatEvent e, Player p, String message) { + + // Check the chat message and do the actions + if (message.equalsIgnoreCase("cancel")) { + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelled"))); + } else if (message.equalsIgnoreCase("confirm")) { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); + } else { + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelledWrongKeyword"))); + } + // Cancel the event + e.setCancelled(true); + // Set the event to false, because it got deactivated + isChatEventActive = false; + } + + private void mineAction(AsyncPlayerChatEvent e, Player p, String message) { + + // Check the chat message and do the action + if (message.equalsIgnoreCase("close")) { + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClosed"))); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); + } + // Cancel the event and deactivate the chat event, set boolean to false + e.setCancelled(true); + isChatEventActive = false; + } + + private void rankAction(AsyncPlayerChatEvent e, Player p, String message) { + // Check the chat message and do the action + if (message.equalsIgnoreCase("close")) { + p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClosed"))); + } else { + Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); + } + // Cancel the event and set the boolean to false, so it can be deactivated + e.setCancelled(true); + isChatEventActive = false; } // Cancel the events of the active GUI opened from the player @@ -259,7 +291,7 @@ public void onClick(InventoryClickEvent e){ // Get the button name String buttonNameMain = e.getCurrentItem().getItemMeta().getDisplayName(); - // If the buttonmain have a name longer than 2 characters (should be with colors), it won't take care about the color ids + // If the buttonMain have a name longer than 2 characters (should be with colors), it won't take care about the color ids // the following is buggy. What we really want is to remove any color codes. If it doesn't // have color codes, then it corrupts the button name. // if ( buttonNameMain.length() > 2 ) { @@ -507,8 +539,6 @@ public void onClick(InventoryClickEvent e){ // Check the title and do the actions case "Prison Setup -> Confirmation":{ - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - if (parts[0].equalsIgnoreCase("Confirm:")){ Bukkit.dispatchCommand(p, "ranks autoConfigure"); } else if (parts[0].equalsIgnoreCase("Cancel:")){ @@ -528,7 +558,7 @@ private void BlocksListGUI(InventoryClickEvent e, Player p, String[] parts) { try { position = Integer.parseInt( positionStr ); } - catch( NumberFormatException nfe ) {} + catch(NumberFormatException ignored) {} if (parts[0].equalsIgnoreCase("Next") || parts[0].equalsIgnoreCase("Prior")){ @@ -561,7 +591,7 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts try { pos = Integer.parseInt( part3 ); } - catch( NumberFormatException nfe ) {} + catch(NumberFormatException ignored) {} SpigotBlocksListGUI gui = new SpigotBlocksListGUI(p, part2, pos); @@ -586,7 +616,7 @@ private void mineBlockPercentage(InventoryClickEvent e, Player p, String[] parts try { position = Integer.parseInt( positionStr ); } - catch( NumberFormatException nfe ) {} + catch(NumberFormatException ignored) {} // Check the button name and do the actions @@ -1002,8 +1032,6 @@ private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { // Check the button name and do the actions } else if (buttonName.equalsIgnoreCase("RankTag")){ - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - // Send messages to the player p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRename"))); p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClose"))); @@ -1027,10 +1055,6 @@ private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { private void playerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { - // Load config - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); - // Check the buttonName and do the actions if (buttonNameMain.equals(SpigotPrison.format(messages.getString("Gui.Lore.Rankup").substring(2)))){ Bukkit.dispatchCommand(p, "rankup " + guiConfig.getString("Options.Ranks.Ladder")); @@ -1194,12 +1218,10 @@ private void minesGUI(InventoryClickEvent e, Player p, String buttonNameMain) { private void playerMinesGUI(Player p, String buttonNameMain) { - // Load config - Configuration GuiConfig = SpigotPrison.getInstance().getGuiConfig(); - String permission = SpigotPrison.format(GuiConfig.getString("Options.Mines.PermissionWarpPlugin")); + String permission = SpigotPrison.format(guiConfig.getString("Options.Mines.PermissionWarpPlugin")); if (p.hasPermission(permission + buttonNameMain) || p.hasPermission(permission.substring(0, permission.length() - 1))){ - Bukkit.dispatchCommand(p, SpigotPrison.format(GuiConfig.getString("Options.Mines.CommandWarpPlugin") + " " + buttonNameMain)); + Bukkit.dispatchCommand(p, SpigotPrison.format(guiConfig.getString("Options.Mines.CommandWarpPlugin") + " " + buttonNameMain)); } } @@ -1284,8 +1306,6 @@ private void mineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { break; case "Mine_Name:": { - Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - // Send messages to the player p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRename"))); p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClose"))); @@ -1370,7 +1390,7 @@ private void blocksGUI(InventoryClickEvent e, Player p, String[] parts) { try { position = Integer.parseInt( positionStr ); } - catch( NumberFormatException nfe ) {} + catch(NumberFormatException ignored) {} double percentage = Double.parseDouble(parts[2]); SpigotMineBlockPercentageGUI gui = new SpigotMineBlockPercentageGUI(p, percentage, mineName, buttonname, position); From 92e57222bb1e5ae95317165a8488c9f9e6bd7d5c Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 15 Nov 2020 13:44:48 +0100 Subject: [PATCH 227/243] Stop all actions Changelogs: - All the actions while a GUI's enabled will call an activeGuiEventCanceller method --- .../prison/spigot/gui/ListenersPrisonManager.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 8099375b5..24db0a4a2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -264,16 +264,7 @@ public void onClick(InventoryClickEvent e){ // If an action equals one of these, and the inventory is open from the player equals // one of the Prison Title, it'll cancel the event - if (action.equals(InventoryAction.MOVE_TO_OTHER_INVENTORY) || action.equals(InventoryAction.HOTBAR_SWAP) || - action.equals(InventoryAction.HOTBAR_MOVE_AND_READD) || action.equals(InventoryAction.NOTHING) || - action.equals(InventoryAction.CLONE_STACK) || action.equals(InventoryAction.COLLECT_TO_CURSOR) || - action.equals(InventoryAction.DROP_ONE_SLOT) || action.equals(InventoryAction.DROP_ONE_CURSOR) || - action.equals(InventoryAction.DROP_ALL_SLOT) || action.equals(InventoryAction.DROP_ALL_CURSOR) || - action.equals(InventoryAction.PICKUP_ALL) || action.equals(InventoryAction.PICKUP_HALF) || - action.equals(InventoryAction.PICKUP_ONE) || action.equals(InventoryAction.PICKUP_SOME) || - action.equals(InventoryAction.PLACE_ALL) || action.equals(InventoryAction.PLACE_ONE) || - action.equals(InventoryAction.PLACE_SOME) || action.equals(InventoryAction.SWAP_WITH_CURSOR) || - action.equals(InventoryAction.UNKNOWN)) { + if (action != null) { activeGuiEventCanceller(p, e); } From 79eb5d8008e6717eaa0235788e5e6975e90c06c1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 15 Nov 2020 10:55:37 -0500 Subject: [PATCH 228/243] Clean up and removal of dead code. --- .../mcprison/prison/spigot/SpigotPrison.java | 71 ++----------------- 1 file changed, 6 insertions(+), 65 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index c399c1a18..4884d8c38 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -191,8 +191,6 @@ public void onEnable() { applyDeferredIntegrationInitializations(); - extractCommandsForAutoComplete(); - initMetrics(); // if (doAlertAboutConvert) { @@ -535,69 +533,12 @@ File getDataDirectory() { return dataDirectory; } + public boolean isPrisonConfig( String configId ) { - /** - *

    This function will register any missing "command" and will - * set the usable onTabComplete to the one within this class, - * that follows this function. - *

    - * - */ - private void extractCommandsForAutoComplete() { -/* - * ###Tab-Complete### (search for other occurrences of this tag) - * - * The following works up to a certain point, but is disabled until - * a full solution can be implemented. - * - List commandKeys = Prison.get().getCommandHandler().getRootCommandKeys(); - - registeredCommands.clear(); - registeredCommands.addAll( commandKeys ); - - // commands are already broken down to elements with roots: Keep the following - // just in case we need to expand with other uses: - for ( String cmdKey : commandKeys ) { - - Output.get().logInfo( "SpigotPrison.extractCommandsForAutoComplete: Command: %s", cmdKey ); - - Optional registeredCommand = Prison.get().getPlatform().getCommand(cmdKey); - if ( !registeredCommand.isPresent() ) { - tech.mcprison.prison.commands.PluginCommand rootPcommand = new tech.mcprison.prison.commands.PluginCommand(cmdKey, "--", "/" + cmdKey); - Prison.get().getPlatform().registerCommand(rootPcommand); - } - - PluginCommand pCommand = this.getCommand(cmdKey); - if ( pCommand != null ) { - pCommand.setTabCompleter(this); - } else { - Output.get().logInfo( "SpigotPrison.extractCommandsForAutoComplete: " + - "## Error not found ## Command: %s ", cmdKey ); - } - } - */ + String config = SpigotPrison.getInstance().getConfig().getString( configId ); + boolean results = config != null && config.equalsIgnoreCase( "true" ); - } -/* - * ###Tab-Complete### - * - * This function is disabled until tab complete can be fully implemented. - * - * @see org.bukkit.plugin.java.JavaPlugin#onTabComplete(org.bukkit.command.CommandSender, org.bukkit.command.Command, java.lang.String, java.lang.String[]) - * - * // Not being used... - @Override - public List onTabComplete( CommandSender sender, Command command, String alias, String[] args ) - { - List results = new ArrayList<>(); - Output.get().logInfo( "SpigotPrison.onTabComplete: Command: %s :: %s", command.getLabel(), command.getName() ); - - // Map> cmds = getDescription().getCommands(); - -// registeredCommands - - return results; - } - */ - + return results; + } + } From c24e0a0e6fe4002c32228be3009919dc10f1c01b Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 15 Nov 2020 10:57:47 -0500 Subject: [PATCH 229/243] Remove the use of deprecated functions. --- .../tech/mcprison/prison/spigot/sellall/SellAllCommands.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java index f651fedf9..ef30f06a1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java @@ -173,14 +173,14 @@ private boolean sellAllMultipliers(CommandSender sender, String[] args, File fil return true; } - boolean isARank = rankPlugin.getRankManager().getRankOptional(args[1]).isPresent(); + boolean isARank = rankPlugin.getRankManager().getRank(args[1]) != null; if (!isARank) { sender.sendMessage(SpigotPrison.format("&3[PRISON WARN] &cCan't find the Prestige/Rank: " + args[2])); return true; } - boolean isInPrestigeLadder = rankPlugin.getLadderManager().getLadder("prestiges").get().containsRank(rankPlugin.getRankManager().getRankOptional(args[1]).get().id); + boolean isInPrestigeLadder = rankPlugin.getLadderManager().getLadder("prestiges").get().containsRank(rankPlugin.getRankManager().getRank(args[1]).id); if (!isInPrestigeLadder) { sender.sendMessage(SpigotPrison.format("&3[PRISON WARN] &cThe -prestiges- ladder doesn't contains the Rank: " + args[2])); From f3cb2a03fea1131c53eab2070b8a5cb54c4869c5 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 15 Nov 2020 17:02:31 +0100 Subject: [PATCH 230/243] Some refactoring and new method to open the Prison GUI Changelogs: - Some refactoring - New method to open the prison gui /gui, this's still experimental and I don't know if it'll work, someone test it please! --- .../spigot/gui/ListenersPrisonManager.java | 118 ++++++++---------- .../spigot/gui/SpigotGUIComponents.java | 7 ++ .../prison/spigot/gui/SpigotPrisonGUI.java | 5 +- 3 files changed, 61 insertions(+), 69 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 24db0a4a2..ef9b92fe6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -85,23 +85,18 @@ public static ListenersPrisonManager get() { public void chatEventActivator(){ isChatEventActive = true; } - public void chatEventDeactivate(){ isChatEventActive = false; } - public boolean chatEventCheck(){ return isChatEventActive; } - public void addMode(String modex){ mode = modex; } - public void removeMode(){ mode = null; } - public void addChatEventPlayer(Player p){ if (!isChatEventActive){ @@ -247,65 +242,24 @@ public void onClick(InventoryClickEvent e){ // Get the player Player p = (Player) e.getWhoClicked(); - - // If you click an empty slot, this should avoid the error. - // Also if there is no button that was clicked, then it may not be a Prison GUI on click event? - if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || - e.getCurrentItem().getItemMeta() == null || !e.getCurrentItem().hasItemMeta() || - e.getCurrentItem().getItemMeta().getDisplayName() == null) { - activeGuiEventCanceller(p, e); - return; - } else { - e.getCurrentItem().getItemMeta().getDisplayName(); - } - - // Get action of the Inventory from the event - InventoryAction action = e.getAction(); + // GUIs must have the good conditions to work + if (guiConditions(e, p)) return; - // If an action equals one of these, and the inventory is open from the player equals - // one of the Prison Title, it'll cancel the event - if (action != null) { - activeGuiEventCanceller(p, e); - } - - // ensure the item has itemMeta and a display name - if (!e.getCurrentItem().hasItemMeta()){ - return; - } -// WARNING DO NOT USE Objects.requireNonNull() since it will throw a NullPointerException!! -// NEVER should we want that to happen. If displayName is null then this is not our event -// and we should not be screwing with it! -// else { -// Objects.requireNonNull(e.getCurrentItem().getItemMeta()).getDisplayName(); -// } - - // Get the button name + // Get parameters String buttonNameMain = e.getCurrentItem().getItemMeta().getDisplayName(); - - // If the buttonMain have a name longer than 2 characters (should be with colors), it won't take care about the color ids - // the following is buggy. What we really want is to remove any color codes. If it doesn't - // have color codes, then it corrupts the button name. -// if ( buttonNameMain.length() > 2 ) { -// buttonNameMain = buttonNameMain.substring(2); -// } - buttonNameMain = SpigotPrison.stripColor( buttonNameMain ); - - // Split the button name in parts + buttonNameMain = SpigotPrison.stripColor(buttonNameMain); String[] parts = buttonNameMain.split(" "); - - // Get ranks module Module module = Prison.get().getModuleManager().getModule( PrisonRanks.MODULE_NAME ).orElse( null ); - - // Get compat Compatibility compat = SpigotPrison.getInstance().getCompatibility(); - - // Get title String title = compat.getGUITitle(e).substring(2); - if (buttonNameMain.equalsIgnoreCase("Close")){ - p.closeInventory(); - e.setCancelled(true); - return; + if (activeGui.contains(p.getName())) { + // Close GUI button globally + if (buttonNameMain.equalsIgnoreCase("Close")) { + p.closeInventory(); + e.setCancelled(true); + return; + } } // Check if the GUI have the right title and do the actions @@ -429,7 +383,7 @@ public void onClick(InventoryClickEvent e){ // Check the inventory name and do the actions case "Mines -> BlocksList":{ - BlocksListGUI(e, p, parts); + blocksListGUI(e, p, parts); break; } @@ -530,20 +484,52 @@ public void onClick(InventoryClickEvent e){ // Check the title and do the actions case "Prison Setup -> Confirmation":{ - if (parts[0].equalsIgnoreCase("Confirm:")){ - Bukkit.dispatchCommand(p, "ranks autoConfigure"); - } else if (parts[0].equalsIgnoreCase("Cancel:")){ - p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.Aborted"))); - } - p.closeInventory(); - e.setCancelled(true); + prisonSetupConfirmGUI(e, p, parts); break; } } } - private void BlocksListGUI(InventoryClickEvent e, Player p, String[] parts) { + private boolean guiConditions(InventoryClickEvent e, Player p) { + + // If you click an empty slot, this should avoid the error. + // Also if there is no button that was clicked, then it may not be a Prison GUI on click event? + if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || + e.getCurrentItem().getItemMeta() == null || !e.getCurrentItem().hasItemMeta() || + e.getCurrentItem().getItemMeta().getDisplayName() == null) { + activeGuiEventCanceller(p, e); + return true; + } + + // Get action of the Inventory from the event + InventoryAction action = e.getAction(); + + // If an action equals one of these, and the inventory is open from the player equals + // one of the Prison Title, it'll cancel the event + if (action != null) { + activeGuiEventCanceller(p, e); + } + + // ensure the item has itemMeta and a display name + if (!e.getCurrentItem().hasItemMeta()){ + return true; + } + return false; + } + + private void prisonSetupConfirmGUI(InventoryClickEvent e, Player p, String[] parts) { + + if (parts[0].equalsIgnoreCase("Confirm:")){ + Bukkit.dispatchCommand(p, "ranks autoConfigure"); + } else if (parts[0].equalsIgnoreCase("Cancel:")){ + p.sendMessage(SpigotPrison.format(messages.getString("Setup.Message.Aborted"))); + } + p.closeInventory(); + e.setCancelled(true); + } + + private void blocksListGUI(InventoryClickEvent e, Player p, String[] parts) { String positionStr = ( parts.length > 2 ? parts[2] : "0" ); int position = 0; try { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index e9d513352..360f59508 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -6,6 +6,7 @@ import org.bukkit.Material; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -88,5 +89,11 @@ protected static AutoFeaturesFileConfig AutoFeaturesFileConfig() { return SpigotPrison.getInstance().getAutoFeatures().getAutoFeaturesConfig(); } + protected void openGUI(Player p, Inventory inv){ + + // Open the inventory + p.openInventory(inv); + ListenersPrisonManager.get().addToGUIBlocker(p); + } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index fd4aecfa8..a527d6a1b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -33,9 +33,8 @@ public void open() { if (guiBuilder(inv)) return; - // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + // Open the inventory, I don't remember why I did add the this.p + openGUI(p,inv); } private boolean guiBuilder(Inventory inv) { From bcb673a9a8179069015fca9fe382d9d31913b8b1 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 15 Nov 2020 11:08:24 -0500 Subject: [PATCH 231/243] Preparing for a change to all classes that contain commands. --- .../mcprison/prison/commands/BaseCommands.java | 17 +++++++++++++++++ .../prison/mines/commands/MinesCommands.java | 8 +++++++- .../mines/commands/PowertoolCommands.java | 8 +++++++- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java b/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java new file mode 100644 index 000000000..1b219eacf --- /dev/null +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java @@ -0,0 +1,17 @@ +package tech.mcprison.prison.commands; + +public abstract class BaseCommands +{ + private String cmdGroup; + + public BaseCommands( String cmdGroup ) { + this.cmdGroup = cmdGroup; + } + + public String getCmdGroup() { + return cmdGroup; + } + public void setCmdGroup( String cmdGroup ) { + this.cmdGroup = cmdGroup; + } +} diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java index dc0edaaca..9e19a58b9 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/MinesCommands.java @@ -31,6 +31,7 @@ import tech.mcprison.prison.Prison; import tech.mcprison.prison.chat.FancyMessage; import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.BaseCommands; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.commands.CommandPagedData; import tech.mcprison.prison.commands.Wildcard; @@ -64,7 +65,12 @@ /** * @author Dylan M. Perks */ -public class MinesCommands { +public class MinesCommands + extends BaseCommands { + + public MinesCommands() { + super( "MinesCommands" ); + } private Long confirmTimestamp; diff --git a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/PowertoolCommands.java b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/PowertoolCommands.java index f31f6843a..62844427e 100644 --- a/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/PowertoolCommands.java +++ b/prison-mines/src/main/java/tech/mcprison/prison/mines/commands/PowertoolCommands.java @@ -1,11 +1,17 @@ package tech.mcprison.prison.mines.commands; +import tech.mcprison.prison.commands.BaseCommands; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.mines.PrisonMines; -public class PowertoolCommands { +public class PowertoolCommands + extends BaseCommands { + + public PowertoolCommands() { + super("PowertoolCommands"); + } @Command(identifier = "autosmelt", description = "Enables/disables the autosmelt tool.", permissions = "mines.autosmelt") public void autosmeltCommand(CommandSender sender) { From 6a944cfe6232bed82f6d881e6b1b15c127ef0b8c Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 15 Nov 2020 11:10:45 -0500 Subject: [PATCH 232/243] To prevent prestige related commands from being registered with bukkit, pulled prestige related commands in to their own command class and then conditionally register them if prestiges are enabled. --- .../mcprison/prison/spigot/SpigotPrison.java | 14 +- .../commands/PrisonSpigotBaseCommands.java | 5 +- .../spigot/commands/PrisonSpigotCommands.java | 152 ---------------- .../PrisonSpigotPrestigeCommands.java | 167 ++++++++++++++++++ 4 files changed, 178 insertions(+), 160 deletions(-) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index 4884d8c38..f72a6b9b2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -55,17 +55,19 @@ import tech.mcprison.prison.spigot.autofeatures.AutoManagerFeatures; import tech.mcprison.prison.spigot.block.OnBlockBreakEventListener; import tech.mcprison.prison.spigot.commands.PrisonSpigotCommands; +import tech.mcprison.prison.spigot.commands.PrisonSpigotPrestigeCommands; import tech.mcprison.prison.spigot.compat.Compatibility; import tech.mcprison.prison.spigot.compat.Spigot113; import tech.mcprison.prison.spigot.compat.Spigot18; import tech.mcprison.prison.spigot.compat.Spigot19; +import tech.mcprison.prison.spigot.configs.GuiConfig; +import tech.mcprison.prison.spigot.configs.MessagesConfig; +import tech.mcprison.prison.spigot.configs.sellAllConfig; import tech.mcprison.prison.spigot.economies.EssentialsEconomy; import tech.mcprison.prison.spigot.economies.GemsEconomy; import tech.mcprison.prison.spigot.economies.SaneEconomy; import tech.mcprison.prison.spigot.economies.VaultEconomy; -import tech.mcprison.prison.spigot.configs.GuiConfig; import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; -import tech.mcprison.prison.spigot.configs.MessagesConfig; import tech.mcprison.prison.spigot.permissions.LuckPermissions; import tech.mcprison.prison.spigot.permissions.LuckPerms5; import tech.mcprison.prison.spigot.permissions.VaultPermissions; @@ -73,7 +75,6 @@ import tech.mcprison.prison.spigot.placeholder.PlaceHolderAPIIntegration; import tech.mcprison.prison.spigot.player.SlimeBlockFunEventListener; import tech.mcprison.prison.spigot.sellall.SellAllCommands; -import tech.mcprison.prison.spigot.configs.sellAllConfig; import tech.mcprison.prison.spigot.spiget.BluesSpigetSemVerComparator; /** @@ -168,7 +169,12 @@ public void onEnable() { PrisonSpigotCommands spigotCommands = new PrisonSpigotCommands(); Prison.get().getCommandHandler().registerCommands( spigotCommands ); - + + if ( !isPrisonConfig( "prestiges") ) { + // Enable the setup of the prestige related commands only if prestiges is enabled: + Prison.get().getCommandHandler().registerCommands( new PrisonSpigotPrestigeCommands() ); + } + sellAllConfig optionsSellAll = new sellAllConfig(); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java index 0c0587015..a65d086a4 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java @@ -20,10 +20,7 @@ protected boolean isConfig( String configId ) { protected boolean isPrisonConfig( String configId ) { - String config = SpigotPrison.getInstance().getConfig().getString( configId ); - boolean results = config != null && config.equalsIgnoreCase( "true" ); - - return results; + return SpigotPrison.getInstance().isPrisonConfig( configId ); } protected String getConfig( String configId ) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index fc3484eaa..fd29da30e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -1,24 +1,15 @@ package tech.mcprison.prison.spigot.commands; -import org.bukkit.Bukkit; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.event.Listener; -import tech.mcprison.prison.Prison; import tech.mcprison.prison.commands.Arg; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.internal.CommandSender; -import tech.mcprison.prison.modules.Module; -import tech.mcprison.prison.modules.ModuleManager; -import tech.mcprison.prison.ranks.PrisonRanks; -import tech.mcprison.prison.ranks.managers.LadderManager; import tech.mcprison.prison.spigot.SpigotPrison; -import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotPrisonGUI; import tech.mcprison.prison.spigot.gui.mine.SpigotPlayerMinesGUI; -import tech.mcprison.prison.spigot.gui.rank.SpigotConfirmPrestigeGUI; -import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerPrestigesGUI; import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerRanksGUI; /** @@ -74,149 +65,6 @@ else if (ladderName.equalsIgnoreCase("prestiges") && } - @Command(identifier = "prestiges", onlyPlayers = true, altPermissions = {"-none-", "prison.admin"}) - public void prestigesGUICommand(CommandSender sender) { - - if ( !isPrisonConfig( "prestiges") ) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesDisabledDefault"))); - return; - } - - if ( isConfig( "prestiges-gui-enabled") ) { - sender.dispatchCommand( "gui prestiges"); - } - else { - sender.dispatchCommand( "ranks list prestiges"); - } - } - - - @Command(identifier = "prestige", onlyPlayers = true, altPermissions = "-none-") - public void prestigesPrestigeCommand(CommandSender sender) { - - if ( isPrisonConfig( "prestiges" ) ) { - sender.dispatchCommand("gui prestige"); - } - } - - - - @Command( identifier = "gui prestige", description = "GUI Prestige", - aliases = {"prisonmanager prestige"} ) - public void prisonManagerPrestige(CommandSender sender ) { - - if ( isPrisonConfig("prestiges") ) { - - if (!(PrisonRanks.getInstance().getLadderManager().getLadder("prestiges").isPresent())) { - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ranks ladder create prestiges"); - } - - PrisonRanks rankPlugin; - - ModuleManager modMan = Prison.get().getModuleManager(); - Module module = modMan == null ? null : modMan.getModule( PrisonRanks.MODULE_NAME ).orElse( null ); - - if ( module != null ) { - - rankPlugin = (PrisonRanks) module; - - LadderManager lm = null; - if (rankPlugin != null) { - lm = rankPlugin.getLadderManager(); - } - - if (lm != null && (!(lm.getLadder("default").isPresent()) || - !(lm.getLadder("default").get().getLowestRank().isPresent()) || - lm.getLadder("default").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.DefaultLadderEmpty"))); - return; - } - - if (lm != null && (!(lm.getLadder("prestiges").isPresent()) || - !(lm.getLadder("prestiges").get().getLowestRank().isPresent()) || - lm.getLadder("prestiges").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CantFindPrestiges"))); - return; - } - - if ( isPrisonConfig( "prestige-confirm-gui") ) { - try { - - Player player = getSpigotPlayer( sender ); - - SpigotConfirmPrestigeGUI gui = new SpigotConfirmPrestigeGUI( player ); - gui.open(); - } catch (Exception ex) { - prestigeByChat( sender ); - } - } - else { - prestigeByChat( sender ); - } - - } - } - } - - private void prestigeByChat(CommandSender sender) { - - ListenersPrisonManager listenersPrisonManager = ListenersPrisonManager.get(); - listenersPrisonManager.chatEventActivator(); - - sender.sendMessage(SpigotPrison.format(getPrisonConfig("Gui.Lore.PrestigeWarning") + - getPrisonConfig("Gui.Lore.PrestigeWarning2") + - getPrisonConfig("Gui.Lore.PrestigeWarning3"))); - - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.ConfirmPrestige"))); - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CancelPrestige"))); - - final Player player = getSpigotPlayer( sender ); - - listenersPrisonManager.addMode("prestige"); - listenersPrisonManager.addChatEventPlayer(player); - listenersPrisonManager.id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { - if (listenersPrisonManager.chatEventCheck()) { - listenersPrisonManager.chatEventDeactivate(); - player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeRanOutOfTime"))); - listenersPrisonManager.removeChatEventPlayer(player); - listenersPrisonManager.removeMode(); - } - }, 20L * 30); - } - - - @Command( identifier = "gui prestiges", description = "GUI Prestiges", - aliases = {"prisonmanager prestiges"}, - onlyPlayers = true ) - private void prisonManagerPrestiges( CommandSender sender ) { - - if ( !isPrisonConfig("prestiges") ) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesAreDisabled"))); - return; - } - - - if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Prestiges.GUI_Enabled")){ - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.GuiOrPrestigesDisabled"))); - return; - } - - if ( isConfig("Options.Prestiges.Permission_GUI_Enabled") ){ - String perm = getConfig( "Options.Prestiges.Permission_GUI"); - - if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.missingGuiPrestigesPermission") + " [" + - perm + "]")); - return; - } - } - - Player player = getSpigotPlayer( sender ); - SpigotPlayerPrestigesGUI gui = new SpigotPlayerPrestigesGUI( player ); - gui.open(); - } - - @Command( identifier = "gui mines", description = "GUI Mines", aliases = {"prisonmanager mines"}, onlyPlayers = true ) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java new file mode 100644 index 000000000..2948b67a0 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java @@ -0,0 +1,167 @@ +package tech.mcprison.prison.spigot.commands; + +import org.bukkit.Bukkit; +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.commands.Command; +import tech.mcprison.prison.internal.CommandSender; +import tech.mcprison.prison.modules.Module; +import tech.mcprison.prison.modules.ModuleManager; +import tech.mcprison.prison.ranks.PrisonRanks; +import tech.mcprison.prison.ranks.managers.LadderManager; +import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; +import tech.mcprison.prison.spigot.gui.rank.SpigotConfirmPrestigeGUI; +import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerPrestigesGUI; + +public class PrisonSpigotPrestigeCommands + extends PrisonSpigotBaseCommands { + + private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + + @Command(identifier = "prestiges", onlyPlayers = true, altPermissions = {"-none-", "prison.admin"}) + public void prestigesGUICommand(CommandSender sender) { + + if ( !isPrisonConfig( "prestiges") ) { + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesDisabledDefault"))); + return; + } + + if ( isConfig( "prestiges-gui-enabled") ) { + sender.dispatchCommand( "gui prestiges"); + } + else { + sender.dispatchCommand( "ranks list prestiges"); + } + } + + + @Command(identifier = "prestige", onlyPlayers = true, altPermissions = "-none-") + public void prestigesPrestigeCommand(CommandSender sender) { + + if ( isPrisonConfig( "prestiges" ) ) { + sender.dispatchCommand("gui prestige"); + } + } + + + + @Command( identifier = "gui prestige", description = "GUI Prestige", + aliases = {"prisonmanager prestige"} ) + public void prisonManagerPrestige(CommandSender sender ) { + + if ( isPrisonConfig("prestiges") ) { + + if (!(PrisonRanks.getInstance().getLadderManager().getLadder("prestiges").isPresent())) { + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ranks ladder create prestiges"); + } + + PrisonRanks rankPlugin; + + ModuleManager modMan = Prison.get().getModuleManager(); + Module module = modMan == null ? null : modMan.getModule( PrisonRanks.MODULE_NAME ).orElse( null ); + + if ( module != null ) { + + rankPlugin = (PrisonRanks) module; + + LadderManager lm = null; + if (rankPlugin != null) { + lm = rankPlugin.getLadderManager(); + } + + if (lm != null && (!(lm.getLadder("default").isPresent()) || + !(lm.getLadder("default").get().getLowestRank().isPresent()) || + lm.getLadder("default").get().getLowestRank().get().name == null)) { + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.DefaultLadderEmpty"))); + return; + } + + if (lm != null && (!(lm.getLadder("prestiges").isPresent()) || + !(lm.getLadder("prestiges").get().getLowestRank().isPresent()) || + lm.getLadder("prestiges").get().getLowestRank().get().name == null)) { + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CantFindPrestiges"))); + return; + } + + if ( isPrisonConfig( "prestige-confirm-gui") ) { + try { + + Player player = getSpigotPlayer( sender ); + + SpigotConfirmPrestigeGUI gui = new SpigotConfirmPrestigeGUI( player ); + gui.open(); + } catch (Exception ex) { + prestigeByChat( sender ); + } + } + else { + prestigeByChat( sender ); + } + + } + } + } + + private void prestigeByChat(CommandSender sender) { + + ListenersPrisonManager listenersPrisonManager = ListenersPrisonManager.get(); + listenersPrisonManager.chatEventActivator(); + + sender.sendMessage(SpigotPrison.format(getPrisonConfig("Gui.Lore.PrestigeWarning") + + getPrisonConfig("Gui.Lore.PrestigeWarning2") + + getPrisonConfig("Gui.Lore.PrestigeWarning3"))); + + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.ConfirmPrestige"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CancelPrestige"))); + + final Player player = getSpigotPlayer( sender ); + + listenersPrisonManager.addMode("prestige"); + listenersPrisonManager.addChatEventPlayer(player); + listenersPrisonManager.id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { + if (listenersPrisonManager.chatEventCheck()) { + listenersPrisonManager.chatEventDeactivate(); + player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeRanOutOfTime"))); + listenersPrisonManager.removeChatEventPlayer(player); + listenersPrisonManager.removeMode(); + } + }, 20L * 30); + } + + + @Command( identifier = "gui prestiges", description = "GUI Prestiges", + aliases = {"prisonmanager prestiges"}, + onlyPlayers = true ) + private void prisonManagerPrestiges( CommandSender sender ) { + + if ( !isPrisonConfig("prestiges") ) { + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesAreDisabled"))); + return; + } + + + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Prestiges.GUI_Enabled")){ + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.GuiOrPrestigesDisabled"))); + return; + } + + if ( isConfig("Options.Prestiges.Permission_GUI_Enabled") ){ + String perm = getConfig( "Options.Prestiges.Permission_GUI"); + + if ( !sender.hasPermission( perm ) ){ + sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.missingGuiPrestigesPermission") + " [" + + perm + "]")); + return; + } + } + + Player player = getSpigotPlayer( sender ); + SpigotPlayerPrestigesGUI gui = new SpigotPlayerPrestigesGUI( player ); + gui.open(); + } + + +} From b2d5f3a8b9905c720e303cb873cc7164c12bb02a Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sun, 15 Nov 2020 16:07:11 -0500 Subject: [PATCH 233/243] Add more to the BaseCommands and start to hook them up. Fix usage of getting the current economy. --- .../prison/commands/BaseCommands.java | 65 +++++++++++++++ .../integration/IntegrationManager.java | 5 ++ .../tech/mcprison/prison/ranks/RankUtil.java | 11 ++- .../ranks/commands/CommandCommands.java | 6 +- .../prison/ranks/commands/LadderCommands.java | 8 +- .../prison/ranks/commands/RankUpCommand.java | 80 ++++++++----------- .../prison/ranks/commands/RanksCommands.java | 63 ++------------- .../prison/ranks/managers/PlayerManager.java | 4 +- .../spigot/sellall/SellAllCommands.java | 3 +- 9 files changed, 128 insertions(+), 117 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java b/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java index 1b219eacf..ea69d4cc7 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java +++ b/prison-core/src/main/java/tech/mcprison/prison/commands/BaseCommands.java @@ -1,5 +1,15 @@ package tech.mcprison.prison.commands; +import java.util.Optional; + +import tech.mcprison.prison.Prison; +import tech.mcprison.prison.PrisonAPI; +import tech.mcprison.prison.integration.EconomyCurrencyIntegration; +import tech.mcprison.prison.integration.EconomyIntegration; +import tech.mcprison.prison.internal.CommandSender; +import tech.mcprison.prison.internal.Player; +import tech.mcprison.prison.output.Output; + public abstract class BaseCommands { private String cmdGroup; @@ -14,4 +24,59 @@ public String getCmdGroup() { public void setCmdGroup( String cmdGroup ) { this.cmdGroup = cmdGroup; } + + + /** + *

    Gets a player by name. If the player is not online, then try to get them from + * the offline player list. If not one is found, then return a null. + *

    + * + * @param sender + * @param playerName is optional, if not supplied, then sender will be used + * @return Player if found, or null. + */ + public Player getPlayer( CommandSender sender, String playerName ) { + Player result = null; + + playerName = playerName != null ? playerName : sender != null ? sender.getName() : null; + + //Output.get().logInfo("RanksCommands.getPlayer :: playerName = " + playerName ); + + if ( playerName != null ) { + Optional opt = Prison.get().getPlatform().getPlayer( playerName ); + if ( !opt.isPresent() ) { + opt = Prison.get().getPlatform().getOfflinePlayer( playerName ); + } + if ( opt.isPresent() ) { + result = opt.get(); + } + } + return result; + } + + public double getPlayerBalance( Player player ) { + + EconomyIntegration economy = PrisonAPI.getIntegrationManager().getEconomy(); + + return economy.getBalance( player ); + } + + public double getPlayerBalance( Player player, String currency ) { + + + EconomyCurrencyIntegration currencyEcon = PrisonAPI.getIntegrationManager() + .getEconomyForCurrency( currency ); + if ( currencyEcon == null ) { + // ERROR: currency is not supported + Output.get().logInfo( "The currency %s is not supported. Therefore there is no blance.", + currency ); + return 0; + } + else { + return currencyEcon.getBalance( player, currency ); + } + + } + + } diff --git a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java index bbf2e627a..c55951826 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java +++ b/prison-core/src/main/java/tech/mcprison/prison/integration/IntegrationManager.java @@ -569,6 +569,11 @@ public void register(Integration i) { } integrations.get(iType).add(i); } + + public EconomyIntegration getEconomy() { + return (EconomyIntegration) getForType(IntegrationType.ECONOMY) + .orElse( null ); + } public EconomyCurrencyIntegration getEconomyForCurrency(String currency) { EconomyCurrencyIntegration results = null; diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java index eccf92e87..f71796bb3 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/RankUtil.java @@ -26,7 +26,6 @@ import tech.mcprison.prison.PrisonAPI; import tech.mcprison.prison.integration.EconomyCurrencyIntegration; import tech.mcprison.prison.integration.EconomyIntegration; -import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.ranks.data.Rank; @@ -340,10 +339,10 @@ private void rankupPlayerInternal(RankupResults results, } if ( targetRank == null && rankName != null ) { - Optional rankOptional = PrisonRanks.getInstance().getRankManager().getRankOptional( rankName ); - if ( rankOptional.isPresent() ) { - targetRank = rankOptional.get(); + targetRank = PrisonRanks.getInstance().getRankManager().getRank( rankName ); + + if ( targetRank != null ) { if ( !ladder.containsRank( targetRank.id )) { results.addTransaction( RankupStatus.RANKUP_FAILURE_RANK_IS_NOT_IN_LADDER, @@ -457,8 +456,8 @@ private void rankupPlayerInternal(RankupResults results, } else { - EconomyIntegration economy = (EconomyIntegration) PrisonAPI.getIntegrationManager() - .getForType(IntegrationType.ECONOMY).orElseThrow(IllegalStateException::new); + EconomyIntegration economy = PrisonAPI.getIntegrationManager().getEconomy(); + if ( pForceCharge == PromoteForceCharge.charge_player) { if (!economy.canAfford(prisonPlayer, nextRankCost)) { //results.setTargetRank( targetRank ); diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java index d1155490c..54b0fdae5 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/CommandCommands.java @@ -4,6 +4,7 @@ import tech.mcprison.prison.chat.FancyMessage; import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.BaseCommands; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.commands.Wildcard; import tech.mcprison.prison.internal.CommandSender; @@ -18,10 +19,11 @@ /** * @author Faizaan A. Datoo */ -public class CommandCommands { +public class CommandCommands + extends BaseCommands { public CommandCommands() { - super(); + super( "CommandCommands" ); // Now this is slightly strange. Once in a while I've been seeing exceptions that the // following class cannot be resolved. So I don't know why it can't, but it was not diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java index 1f23cbca3..c28d44c88 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/LadderCommands.java @@ -1,6 +1,7 @@ package tech.mcprison.prison.ranks.commands; import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.BaseCommands; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.output.BulletedListComponent; @@ -16,7 +17,12 @@ /** * @author Faizaan A. Datoo */ -public class LadderCommands { +public class LadderCommands + extends BaseCommands { + + public LadderCommands() { + super( "LadderCommands" ); + } @Command(identifier = "ranks ladder create", description = "Creates a new rank ladder.", onlyPlayers = false, permissions = "ranks.ladder") diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java index fd7dd1a4a..19da1e5e3 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RankUpCommand.java @@ -24,9 +24,9 @@ import tech.mcprison.prison.Prison; import tech.mcprison.prison.PrisonAPI; import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.BaseCommands; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.integration.EconomyIntegration; -import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.output.Output; @@ -40,7 +40,6 @@ import tech.mcprison.prison.ranks.data.RankLadder; import tech.mcprison.prison.ranks.data.RankPlayer; import tech.mcprison.prison.ranks.managers.LadderManager; -import tech.mcprison.prison.util.ChatColor; /** * The commands for this module. @@ -49,8 +48,13 @@ * @author GABRYCA * @author RoyalBlueRanger */ -public class RankUpCommand { +public class RankUpCommand + extends BaseCommands { + public RankUpCommand() { + super( "RankUpCommand" ); + } + /* * /rankup command */ @@ -113,17 +117,17 @@ private void rankUpPrivate(CommandSender sender, String ladder, RankupModes mode Rank pRankSecond = rankPlayer.getRank("default"); Rank pRankAfter = null; LadderManager lm = PrisonRanks.getInstance().getLadderManager(); - boolean WillPrestige = false; + boolean willPrestige = false; // If the ladder's the prestige one, it'll execute all of this if ( ladder!= null && ladder.equalsIgnoreCase("prestiges")) { if (!(lm.getLadder("default").isPresent())){ - sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&c[ERROR] There isn't a default ladder! Please report this to an admin!")); + sender.sendMessage("&c[ERROR] There isn't a default ladder! Please report this to an admin!"); return; } if (!(lm.getLadder("default").get().getLowestRank().isPresent())){ - sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&c[ERROR] Can't get the lowest rank! Please report this to an admin!")); + sender.sendMessage("&c[ERROR] Can't get the lowest rank! Please report this to an admin!"); return; } @@ -134,11 +138,11 @@ private void rankUpPrivate(CommandSender sender, String ladder, RankupModes mode } if (!(rank == pRankSecond)) { - sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou aren't at the last rank!")); + sender.sendMessage("&cYou aren't at the last rank!"); return; } // IF everything's ready, this will be true and the prestige method will start - WillPrestige = true; + willPrestige = true; } // Get currency if it exists, otherwise it will be null if the Rank has no currency: @@ -151,7 +155,8 @@ private void rankUpPrivate(CommandSender sender, String ladder, RankupModes mode processResults( sender, null, results, true, null, ladder, currency ); - if (results.getStatus() == RankupStatus.RANKUP_SUCCESS && mode == RankupModes.MAX_RANKS && !ladder.equals("prestiges")) { + if (results.getStatus() == RankupStatus.RANKUP_SUCCESS && mode == RankupModes.MAX_RANKS && + !ladder.equals("prestiges")) { rankUpPrivate( sender, ladder, mode, permission ); } if (results.getStatus() == RankupStatus.RANKUP_SUCCESS){ @@ -163,27 +168,37 @@ private void rankUpPrivate(CommandSender sender, String ladder, RankupModes mode // Prestige method - prestigePlayer(player, rankPlayer, pRank, pRankAfter, lm, WillPrestige, rankupWithSuccess); + prestigePlayer(player, rankPlayer, pRank, pRankAfter, lm, willPrestige, rankupWithSuccess); } } - private void prestigePlayer(Player player, RankPlayer rankPlayer, Rank pRank, Rank pRankAfter, LadderManager lm, boolean willPrestige, boolean rankupWithSuccess) { + private void prestigePlayer(Player player, RankPlayer rankPlayer, Rank pRank, Rank pRankAfter, + LadderManager lm, boolean willPrestige, boolean rankupWithSuccess) { + // Get the player rank after, just to check if it has success Rank pRankSecond; // Conditions if (willPrestige && rankupWithSuccess && pRankAfter != null && pRank != pRankAfter) { // Set the player rank to the first one of the default ladder - PrisonAPI.dispatchCommand("ranks set rank " + player.getName() + " " + lm.getLadder("default").get().getLowestRank().get().name + " default"); + PrisonAPI.dispatchCommand("ranks set rank " + player.getName() + " " + + lm.getLadder("default").get().getLowestRank().get().name + " default"); // Get that rank pRankSecond = rankPlayer.getRank("default"); // Check if the ranks match if (pRankSecond == lm.getLadder("default").get().getLowestRank().get()) { // Get economy - EconomyIntegration economy = (EconomyIntegration) PrisonAPI.getIntegrationManager().getForType(IntegrationType.ECONOMY).orElseThrow(IllegalStateException::new); - // Set the player balance to 0 (reset) - economy.setBalance(player, 0); - // Send a message to the player because he did prestige! - player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&3Congratulations&7] &3You've &6Prestige&3 to " + pRankAfter.tag + "&c!")); + EconomyIntegration economy = PrisonAPI.getIntegrationManager().getEconomy(); + + if ( economy != null ) { + + // Set the player balance to 0 (reset) + economy.setBalance(player, 0); + // Send a message to the player because he did prestige! + player.sendMessage("&7[&3Congratulations&7] &3You've &6Prestige&3 to " + pRankAfter.tag + "&c!"); + } + else { + player.sendMessage( "&3No economy is available. Cannot perform action." ); + } } } } @@ -298,8 +313,7 @@ public void setRank(CommandSender sender, } - private void setPlayerRank( Player player, String rank, String ladder, CommandSender sender ) - { + private void setPlayerRank( Player player, String rank, String ladder, CommandSender sender ) { UUID playerUuid = player.getUUID(); ladder = confirmLadder( sender, ladder ); @@ -425,34 +439,6 @@ public void processResults( CommandSender sender, Player player, } } - /** - *

    Gets a player by name. If the player is not online, then try to get them from - * the offline player list. If not one is found, then return a null. - *

    - * - * @param sender - * @param playerName is optional, if not supplied, then sender will be used - * @return Player if found, or null. - */ - private Player getPlayer( CommandSender sender, String playerName ) { - Player result = null; - - playerName = playerName != null ? playerName : sender != null ? sender.getName() : null; - - //Output.get().logInfo("RanksCommands.getPlayer :: playerName = " + playerName ); - - if ( playerName != null ) { - Optional opt = Prison.get().getPlatform().getPlayer( playerName ); - if ( !opt.isPresent() ) { - opt = Prison.get().getPlatform().getOfflinePlayer( playerName ); - } - if ( opt.isPresent() ) { - result = opt.get(); - } - } - return result; - } - private void broadcastToWholeServer( CommandSender sender, String message ) { diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java index ebf6f114e..5e91c344f 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/commands/RanksCommands.java @@ -14,11 +14,10 @@ import tech.mcprison.prison.PrisonCommand.RegisteredPluginsData; import tech.mcprison.prison.chat.FancyMessage; import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.BaseCommands; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.commands.Wildcard; import tech.mcprison.prison.integration.EconomyCurrencyIntegration; -import tech.mcprison.prison.integration.EconomyIntegration; -import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.internal.CommandSender; import tech.mcprison.prison.internal.Player; import tech.mcprison.prison.modules.ModuleElement; @@ -39,11 +38,14 @@ /** * @author Faizaan A. Datoo */ -public class RanksCommands { +public class RanksCommands + extends BaseCommands { private CommandCommands rankCommandCommands = null; public RanksCommands( CommandCommands rankCommandCommands ) { + super( "RanksCommands" ); + this.rankCommandCommands = rankCommandCommands; } @@ -950,60 +952,5 @@ public void rankPlayers(CommandSender sender, // } // } - - /** - *

    Gets a player by name. If the player is not online, then try to get them from - * the offline player list. If not one is found, then return a null. - *

    - * - * @param sender - * @param playerName is optional, if not supplied, then sender will be used - * @return Player if found, or null. - */ - private Player getPlayer( CommandSender sender, String playerName ) { - Player result = null; - - playerName = playerName != null ? playerName : sender != null ? sender.getName() : null; - - //Output.get().logInfo("RanksCommands.getPlayer :: playerName = " + playerName ); - - if ( playerName != null ) { - Optional opt = Prison.get().getPlatform().getPlayer( playerName ); - if ( !opt.isPresent() ) { - opt = Prison.get().getPlatform().getOfflinePlayer( playerName ); - } - if ( opt.isPresent() ) { - result = opt.get(); - } - } - return result; - } - - public double getPlayerBalance( Player player ) { - - EconomyIntegration economy = - (EconomyIntegration) PrisonAPI.getIntegrationManager() - .getForType(IntegrationType.ECONOMY) - .orElseThrow(IllegalStateException::new); - - return economy.getBalance( player ); - } - - public double getPlayerBalance( Player player, String currency ) { - - - EconomyCurrencyIntegration currencyEcon = PrisonAPI.getIntegrationManager() - .getEconomyForCurrency( currency ); - if ( currencyEcon == null ) { - // ERROR: currency is not support - Output.get().logInfo( "The currency %s is not supported. Therefore there is no blance.", - currency ); - return 0; - } - else { - return currencyEcon.getBalance( player, currency ); - } - } - } diff --git a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java index 8df09c477..0603aa263 100644 --- a/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java +++ b/prison-ranks/src/main/java/tech/mcprison/prison/ranks/managers/PlayerManager.java @@ -507,8 +507,8 @@ private double getPlayerBalance(Player player, Rank rank) { } else { - EconomyIntegration economy = (EconomyIntegration) PrisonAPI.getIntegrationManager() - .getForType(IntegrationType.ECONOMY).orElse(null); + EconomyIntegration economy = PrisonAPI.getIntegrationManager().getEconomy(); + if ( economy != null ) { playerBalance = economy.getBalance( player ); } else { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java index ef30f06a1..5d23ec0b0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java @@ -391,7 +391,8 @@ private boolean sellallCommandSell(CommandSender sender, FileConfiguration conf) } // Get economy - EconomyIntegration economy = (EconomyIntegration) PrisonAPI.getIntegrationManager().getForType(IntegrationType.ECONOMY).orElseThrow(IllegalStateException::new); + EconomyIntegration economy = PrisonAPI.getIntegrationManager().getEconomy(); + // Add balance economy.addBalance(sPlayer, moneyToGive); if (moneyToGive<0.001){ From e4a473adc5d0606f07499d426a2d9e1bbd4a9bf4 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Sun, 15 Nov 2020 23:12:46 +0100 Subject: [PATCH 234/243] Moving all the open GUI methods to the new one Changelogs: - New common way to open GUIs --- .../tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java | 3 +-- .../tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java | 8 ++++---- .../spigot/gui/autofeatures/SpigotAutoBlockGUI.java | 3 +-- .../spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java | 3 +-- .../spigot/gui/autofeatures/SpigotAutoPickupGUI.java | 3 +-- .../spigot/gui/autofeatures/SpigotAutoSmeltGUI.java | 3 +-- .../prison/spigot/gui/mine/SpigotBlocksListGUI.java | 3 +-- .../spigot/gui/mine/SpigotMineBlockPercentageGUI.java | 3 +-- .../prison/spigot/gui/mine/SpigotMineInfoGUI.java | 3 +-- .../spigot/gui/mine/SpigotMineNotificationRadiusGUI.java | 3 +-- .../spigot/gui/mine/SpigotMineNotificationsGUI.java | 3 +-- .../prison/spigot/gui/mine/SpigotMineResetTimeGUI.java | 3 +-- .../prison/spigot/gui/mine/SpigotMinesBlocksGUI.java | 3 +-- .../prison/spigot/gui/mine/SpigotMinesConfirmGUI.java | 3 +-- .../mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java | 3 +-- .../prison/spigot/gui/mine/SpigotPlayerMinesGUI.java | 3 +-- .../prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java | 3 +-- .../mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java | 3 +-- .../prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java | 3 +-- .../prison/spigot/gui/rank/SpigotPlayerRanksGUI.java | 3 +-- .../prison/spigot/gui/rank/SpigotRankManagerGUI.java | 3 +-- .../prison/spigot/gui/rank/SpigotRankPriceGUI.java | 3 +-- .../prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java | 3 +-- .../mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java | 3 +-- .../prison/spigot/gui/sellall/SellAllAdminGUI.java | 3 +-- .../prison/spigot/gui/sellall/SellAllPlayerGUI.java | 3 +-- .../prison/spigot/gui/sellall/SellAllPriceGUI.java | 3 +-- 27 files changed, 30 insertions(+), 56 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java index 05e0baf72..69ed6411d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -28,8 +28,7 @@ public void open(){ if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index a527d6a1b..f2a2a9875 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -70,15 +70,15 @@ private void buttonsSetup(Inventory inv) { // Create the button, set up the material, amount, lore and name ItemStack ranks = createButton(Material.TRIPWIRE_HOOK, 1, ranksLore, SpigotPrison.format("&3" + "Ranks")); - ItemStack prisontasks = createButton(Material.IRON_PICKAXE, 1, prisonTasksLore, SpigotPrison.format("&3" + "AutoManager")); + ItemStack autoManager = createButton(Material.IRON_PICKAXE, 1, prisonTasksLore, SpigotPrison.format("&3" + "AutoManager")); ItemStack mines = createButton(Material.DIAMOND_ORE, 1, minesLore, SpigotPrison.format("&3" + "Mines")); - ItemStack sellall = createButton(Material.CHEST, 1 , sellAllLore, SpigotPrison.format("&3" + "SellAll")); + ItemStack sellAll = createButton(Material.CHEST, 1 , sellAllLore, SpigotPrison.format("&3" + "SellAll")); // Position of the button inv.setItem(10, ranks); - inv.setItem(12, prisontasks); + inv.setItem(12, autoManager); inv.setItem(14, mines); - inv.setItem(16, sellall); + inv.setItem(16, sellAll); inv.setItem(26, closeGUI); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index 935ab32a4..cfe165589 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -37,8 +37,7 @@ public void open() { if (guiBuilder(inv)) return; - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index 92a9a074c..6103b1b73 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -39,8 +39,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 37dfc2ee7..67f135a3d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -37,8 +37,7 @@ public void open() { if (guiBuilder(inv)) return; - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 7dc74bda6..6a9cb04ed 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -37,8 +37,7 @@ public void open() { if (guiBuilder(inv)) return; - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index 56fccaed7..ad9728119 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -115,8 +115,7 @@ public void open(){ // } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index b870da6c8..8b8e6c480 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -46,8 +46,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index 1cb26290b..6a29f8e8e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -39,8 +39,7 @@ public void open(){ if (guiBuilder(inv)) return; // Opens the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index 566936580..29ff58b42 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -39,8 +39,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index 08ed14383..8e2070ef0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -44,8 +44,7 @@ public void open() { if (guiBuilder(inv, enabledOrDisabled)) return; // Opens the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, String enabledOrDisabled) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index 3bc8827af..6784cf042 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -37,8 +37,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index 3f91011f0..c7b368cc1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -93,8 +93,7 @@ public void open(){ } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, PrisonBlock block, String blockmaterial, String blockmaterialdisplay) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index 0e836a9c7..e9878f377 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -35,8 +35,7 @@ public void open(){ if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 9cdfada3a..641c40f7d 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -73,8 +73,7 @@ public void open(){ } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, Mine m) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index 67a75f3e2..a3fd26848 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -74,8 +74,7 @@ public void open(){ } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, Mine m, List minesLore) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index aec3a2b58..5d856da47 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -30,8 +30,7 @@ public void open(){ if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 25c0b990e..102c28077 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -69,8 +69,7 @@ public void open(){ } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, RankLadder ladder) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index 8db77b29a..dd75ef2e9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -134,8 +134,7 @@ public void open() { if (guiBuilder(ladder, dimension, inv)) return; // Open the inventory - getPlayer().openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(getPlayer()); + openGUI(getPlayer(), inv); } private boolean guiBuilder(Optional ladder, int dimension, Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index 40ac9ea85..9b8458d90 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -136,8 +136,7 @@ public void open() { if (guiBuilder(dimension, inv, rank, playerRank)) return; // Open the inventory - getPlayer().openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(getPlayer()); + openGUI(getPlayer(), inv); } private boolean guiBuilder( int dimension, Inventory inv, Rank rank, Rank playerRank) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 4134f4158..5cc9e6e27 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -42,8 +42,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 6b96064c1..08272a451 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -42,8 +42,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index bb1fda919..619b21100 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -73,8 +73,7 @@ public void open() { } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, String command) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index ecb958e25..3eb0ef986 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -87,8 +87,7 @@ public void open() { } // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv, Optional rankOptional) { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index 0cac7c545..69994efe8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -37,8 +37,7 @@ public void open() { inv = buttonsSetup(); if (inv == null) return; - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private Inventory buttonsSetup() { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index 7e9949783..ddcd10c17 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -36,8 +36,7 @@ public void open() { inv = buttonsSetup(); if (inv == null) return; - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private Inventory buttonsSetup() { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index 974451cc1..4f981bc64 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -37,8 +37,7 @@ public void open() { if (guiBuilder(inv)) return; // Open the inventory - this.p.openInventory(inv); - ListenersPrisonManager.get().addToGUIBlocker(p); + openGUI(p, inv); } private boolean guiBuilder(Inventory inv) { From 3b09f3c67d337cd140fd4dc6f38a1be082b6c53d Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Tue, 17 Nov 2020 23:07:02 +0100 Subject: [PATCH 235/243] Many code changes, even to configs and related Changelogs: - Many code changes. - Edited configs and added a new SpigotConfigComponents class. - Extracted common methods into configs classes. - Removed Gui. before all the strings, it was kind of useless and also wrong formatted (unrelated GUI content under Gui. path keyword). - SellAllConfig now's like the new config standard of the others updated configs. NOTE: - new paths will make many new lines into the old configs, this's a change that admins/server owners might need to see, it's recommended to delete the old messages config. --- .../prison/spigot/SpigotListener.java | 1 - .../prison/spigot/SpigotPlatform.java | 19 +- .../mcprison/prison/spigot/SpigotPrison.java | 104 ++---- .../spigot/commands/PrisonSpigotCommands.java | 10 +- .../PrisonSpigotPrestigeCommands.java | 24 +- .../prison/spigot/configs/GuiConfig.java | 13 +- .../prison/spigot/configs/MessagesConfig.java | 332 +++++++++--------- ...{sellAllConfig.java => SellAllConfig.java} | 67 ++-- .../configs/SpigotConfigComponents.java | 22 ++ .../spigot/gui/ListenersPrisonManager.java | 24 +- .../prison/spigot/gui/PrisonSetupGUI.java | 22 +- .../spigot/gui/SpigotGUIComponents.java | 2 +- .../prison/spigot/gui/SpigotPrisonGUI.java | 16 +- .../gui/autofeatures/SpigotAutoBlockGUI.java | 6 +- .../autofeatures/SpigotAutoFeaturesGUI.java | 62 ++-- .../gui/autofeatures/SpigotAutoPickupGUI.java | 6 +- .../gui/autofeatures/SpigotAutoSmeltGUI.java | 6 +- .../spigot/gui/mine/SpigotBlocksListGUI.java | 8 +- .../mine/SpigotMineBlockPercentageGUI.java | 12 +- .../spigot/gui/mine/SpigotMineInfoGUI.java | 46 +-- .../mine/SpigotMineNotificationRadiusGUI.java | 10 +- .../gui/mine/SpigotMineNotificationsGUI.java | 20 +- .../gui/mine/SpigotMineResetTimeGUI.java | 10 +- .../spigot/gui/mine/SpigotMinesBlocksGUI.java | 22 +- .../gui/mine/SpigotMinesConfirmGUI.java | 4 +- .../spigot/gui/mine/SpigotMinesGUI.java | 20 +- .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 10 +- .../gui/rank/SpigotConfirmPrestigeGUI.java | 10 +- .../spigot/gui/rank/SpigotLaddersGUI.java | 8 +- .../gui/rank/SpigotPlayerPrestigesGUI.java | 12 +- .../spigot/gui/rank/SpigotPlayerRanksGUI.java | 14 +- .../spigot/gui/rank/SpigotRankManagerGUI.java | 18 +- .../spigot/gui/rank/SpigotRankPriceGUI.java | 10 +- .../gui/rank/SpigotRankUPCommandsGUI.java | 12 +- .../spigot/gui/rank/SpigotRanksGUI.java | 30 +- .../spigot/gui/sellall/SellAllAdminGUI.java | 2 +- .../spigot/gui/sellall/SellAllPlayerGUI.java | 6 +- .../spigot/gui/sellall/SellAllPriceGUI.java | 10 +- 38 files changed, 489 insertions(+), 541 deletions(-) rename prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/{sellAllConfig.java => SellAllConfig.java} (60%) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SpigotConfigComponents.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java index 625ff9f21..53b1f164a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java @@ -194,5 +194,4 @@ private void doCancelIfShould(Cancelable ours, Cancellable theirs) { theirs.setCancelled(true); } } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index 0f7869fa1..d26ca9d1c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -1024,12 +1024,12 @@ public void autoCreateMineBlockAssignment() { List mines = mm.getMines(); List percents = new ArrayList<>(); - percents.add( 5d ); - percents.add( 10d ); - percents.add( 20d ); - percents.add( 20d ); - percents.add( 20d ); - percents.add( 25d ); + percents.add(5d); + percents.add(10d); + percents.add(20d); + percents.add(20d); + percents.add(20d); + percents.add(25d); int mineBlockSize = percents.size(); int startPos = 1; @@ -1088,10 +1088,9 @@ public void autoCreateMineBlockAssignment() { * @return */ protected List mineBlockList( List blockList, int startPos, int length ) { + List results = new ArrayList<>(); - - for ( int i = (startPos >= blockList.size() ? blockList.size() - 1 : startPos); - i >= 0 && i >= startPos - length + 1; i-- ) { + for (int i = (startPos >= blockList.size() ? blockList.size() - 1 : startPos); i >= 0 && i >= startPos - length + 1; i--) { results.add( blockList.get( i ) ); } @@ -1195,6 +1194,4 @@ protected List buildBlockListBlockType() { return blockList; } - - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index f72a6b9b2..bcdc93263 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -62,7 +62,7 @@ import tech.mcprison.prison.spigot.compat.Spigot19; import tech.mcprison.prison.spigot.configs.GuiConfig; import tech.mcprison.prison.spigot.configs.MessagesConfig; -import tech.mcprison.prison.spigot.configs.sellAllConfig; +import tech.mcprison.prison.spigot.configs.SellAllConfig; import tech.mcprison.prison.spigot.economies.EssentialsEconomy; import tech.mcprison.prison.spigot.economies.GemsEconomy; import tech.mcprison.prison.spigot.economies.SaneEconomy; @@ -99,6 +99,7 @@ public class SpigotPrison extends JavaPlugin { private MessagesConfig messagesConfig; private GuiConfig guiConfig; + private SellAllConfig sellAllConfig; private static SpigotPrison config; @@ -153,21 +154,16 @@ public void onEnable() { initCompatibility(); initUpdater(); this.scheduler = new SpigotScheduler(this); - + Prison.get().init(new SpigotPlatform(this), Bukkit.getVersion()); Prison.get().getLocaleManager().setDefaultLocale(getConfig().getString("default-language", "en_US")); - - new GuiConfig(); Bukkit.getPluginManager().registerEvents(new ListenersPrisonManager(),this); - Bukkit.getPluginManager().registerEvents(new AutoManager(), this); Bukkit.getPluginManager().registerEvents(new OnBlockBreakEventListener(), this); Bukkit.getPluginManager().registerEvents(new SlimeBlockFunEventListener(), this); - PrisonSpigotCommands spigotCommands = new PrisonSpigotCommands(); - Prison.get().getCommandHandler().registerCommands( spigotCommands ); if ( !isPrisonConfig( "prestiges") ) { @@ -175,43 +171,34 @@ public void onEnable() { Prison.get().getCommandHandler().registerCommands( new PrisonSpigotPrestigeCommands() ); } - - - sellAllConfig optionsSellAll = new sellAllConfig(); - optionsSellAll.sellAllConfigGen(); - - // Only register the command if not enabled so it will not conflict with other sellall plugins: - if ( SellAllCommands.isEnabled() ) { - new sellAllConfig(); - - getCommand("sellall").setExecutor(new SellAllCommands()); - } - - + new SellAllConfig(); + new GuiConfig(); new SpigotListener().init(); -// Prison.get().getCommandHandler().registerCommands(new PrisonShortcutCommands()); + + // Prison.get().getCommandHandler().registerCommands(new PrisonShortcutCommands()); initIntegrations(); initModules(); - applyDeferredIntegrationInitializations(); - initMetrics(); + Prison.get().getPlatform().getPlaceholders().printPlaceholderStats(); + PrisonCommand cmdVersion = Prison.get().getPrisonCommands(); + + + // Only register the command if not enabled so it will not conflict with other sellall plugins: + if ( SellAllCommands.isEnabled() ) { + new SellAllConfig(); + getCommand("sellall").setExecutor(new SellAllCommands()); + } // if (doAlertAboutConvert) { // Alerts.getInstance().sendAlert( // "&7An old installation of Prison has been detected. &3Type /prison convert to convert your old data automatically. &7If you already converted, delete the 'Prison.old' folder so that we stop nagging you."); // } - - - Prison.get().getPlatform().getPlaceholders().printPlaceholderStats(); - - - + // Finally print the version after loading the prison plugin: - PrisonCommand cmdVersion = Prison.get().getPrisonCommands(); - + // // Store all loaded plugins within the PrisonCommand for later inclusion: // for ( Plugin plugin : Bukkit.getPluginManager().getPlugins() ) { // String name = plugin.getName(); @@ -229,7 +216,6 @@ public void onEnable() { } Output.get().logInfo( "Prison - Finished loading." ); - } @Override @@ -250,13 +236,15 @@ public FileConfiguration getGuiConfig() { return guiConfig.getFileGuiConfig(); } - public static FileConfiguration getSellAllConfig(){ - sellAllConfig configs = new sellAllConfig(); - return configs.getFileSellAllConfig(); + public FileConfiguration getSellAllConfig(){ + if (sellAllConfig == null) { + sellAllConfig = new SellAllConfig(); + } + return sellAllConfig.getFileSellAllConfig(); } public FileConfiguration getMessagesConfig(){ - if ( messagesConfig == null ) { + if (messagesConfig == null) { messagesConfig = new MessagesConfig(); } @@ -270,9 +258,6 @@ public AutoManagerFeatures getAutoFeatures() { public void setAutoFeatures( AutoManagerFeatures autoFeatures ) { this.autoFeatures = autoFeatures; } - - - public static String format(String format){ return format == null ? "" : ChatColor.translateAlternateColorCodes('&', format); @@ -281,7 +266,7 @@ public static String format(String format){ public static String stripColor(String format){ format = format(format); - return format == null ? null : ChatColor.stripColor( format ); + return format == null ? null : ChatColor.stripColor(format); } private void initMetrics() { @@ -350,7 +335,6 @@ public void upToDate() { // Plugin is up-to-date } }); - } private void initDataDir() { @@ -419,23 +403,22 @@ public void reloadIntegrationsPlaceholders() { MVdWPlaceholderIntegration ph1 = new MVdWPlaceholderIntegration(); PlaceHolderAPIIntegration ph2 = new PlaceHolderAPIIntegration(); - registerIntegration( ph1 ); - registerIntegration( ph2 ); + registerIntegration(ph1); + registerIntegration(ph2); ph1.deferredInitialization(); ph2.deferredInitialization(); } private void registerIntegration(Integration integration) { - integration.setRegistered( - Bukkit.getPluginManager().isPluginEnabled(integration.getProviderName()) ); + integration.setRegistered(Bukkit.getPluginManager().isPluginEnabled(integration.getProviderName())); integration.integrate(); - PrisonAPI.getIntegrationManager().register(integration); } private void initModules() { + YamlConfiguration modulesConf = loadConfig("modules.yml"); // TODO: This business logic needs to be moved to the Module Manager: @@ -467,9 +450,8 @@ private void initModules() { private void linkMinesAndRanks() { - if ( PrisonRanks.getInstance() != null && PrisonRanks.getInstance().isEnabled() && - PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled() - ) { + if (PrisonRanks.getInstance() != null && PrisonRanks.getInstance().isEnabled() && PrisonMines.getInstance() != null && PrisonMines.getInstance().isEnabled()) { + RankManager rm = PrisonRanks.getInstance().getRankManager(); MineManager mm = PrisonMines.getInstance().getMineManager(); @@ -482,34 +464,28 @@ private void linkMinesAndRanks() { mm.getMines(); int count = 0; - for ( Mine mine : mm.getMines() ) - { + for (Mine mine : mm.getMines()) { if ( mine.getRank() == null && mine.getRankString() != null ) { String[] rParts = mine.getRankString().split( "," ); - if ( rParts.length > 2 ) { + if (rParts.length > 2) { ModuleElementType meType = ModuleElementType.fromString( rParts[0] ); String rankName = rParts[1]; - if ( meType == ModuleElementType.RANK ) { - Rank rank = rm.getRank( rankName ); + if (meType == ModuleElementType.RANK) { + Rank rank = rm.getRank(rankName); - if ( rank != null ) { - mine.setRank( rank ); - rank.getMines().add( mine ); + if (rank != null) { + mine.setRank(rank); + rank.getMines().add(mine); count++; } } } } } - - Output.get().logInfo( "A total of %s Mines and Ranks have been linked together.", - Integer.toString( count ) ); - + Output.get().logInfo("A total of %s Mines and Ranks have been linked together.", Integer.toString(count)); } - - } private void applyDeferredIntegrationInitializations() { @@ -543,8 +519,6 @@ public boolean isPrisonConfig( String configId ) { String config = SpigotPrison.getInstance().getConfig().getString( configId ); boolean results = config != null && config.equalsIgnoreCase( "true" ); - return results; } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index fd29da30e..3b343e0a9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -71,7 +71,7 @@ else if (ladderName.equalsIgnoreCase("prestiges") && private void prisonManagerMines(CommandSender sender) { if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Mines.GUI_Enabled") ){ - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineOrGuiDisabled"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.mineOrGuiDisabled"))); return; } @@ -80,7 +80,7 @@ private void prisonManagerMines(CommandSender sender) { String perm = getConfig( "Options.Mines.Permission_GUI"); if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineMissingGuiPermission") + " [" + + sender.sendMessage(SpigotPrison.format(messages.getString("Message.mineMissingGuiPermission") + " [" + perm + "]")); return; } @@ -98,7 +98,7 @@ private void prisonManagerMines(CommandSender sender) { private void prisonManagerRanks(CommandSender sender) { if (!isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled")) { - sender.sendMessage(SpigotPrison.format(String.format( messages.getString("Gui.Message.rankGuiDisabledOrAllGuiDisabled"), getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); + sender.sendMessage(SpigotPrison.format(String.format( messages.getString("Message.rankGuiDisabledOrAllGuiDisabled"), getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); return; } @@ -106,7 +106,7 @@ private void prisonManagerRanks(CommandSender sender) { String perm = getConfig( "Options.Ranks.Permission_GUI"); if (!sender.hasPermission(perm)) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankGuiMissingPermission") + " [" + + sender.sendMessage(SpigotPrison.format(messages.getString("Message.rankGuiMissingPermission") + " [" + perm + "]")); return; } @@ -133,7 +133,7 @@ private void prisonManagerGUI(CommandSender sender) { Player player = getSpigotPlayer(sender); if (player == null) { - sender.sendMessage( SpigotPrison.format(messages.getString("Gui.Message.CantRunGUIFromConsole"))); + sender.sendMessage( SpigotPrison.format(messages.getString("Message.CantRunGUIFromConsole"))); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java index 2948b67a0..9b066c1df 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotPrestigeCommands.java @@ -25,7 +25,7 @@ public class PrisonSpigotPrestigeCommands public void prestigesGUICommand(CommandSender sender) { if ( !isPrisonConfig( "prestiges") ) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesDisabledDefault"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.PrestigesDisabledDefault"))); return; } @@ -75,14 +75,14 @@ public void prisonManagerPrestige(CommandSender sender ) { if (lm != null && (!(lm.getLadder("default").isPresent()) || !(lm.getLadder("default").get().getLowestRank().isPresent()) || lm.getLadder("default").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.DefaultLadderEmpty"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.DefaultLadderEmpty"))); return; } if (lm != null && (!(lm.getLadder("prestiges").isPresent()) || !(lm.getLadder("prestiges").get().getLowestRank().isPresent()) || lm.getLadder("prestiges").get().getLowestRank().get().name == null)) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CantFindPrestiges"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.CantFindPrestiges"))); return; } @@ -110,12 +110,12 @@ private void prestigeByChat(CommandSender sender) { ListenersPrisonManager listenersPrisonManager = ListenersPrisonManager.get(); listenersPrisonManager.chatEventActivator(); - sender.sendMessage(SpigotPrison.format(getPrisonConfig("Gui.Lore.PrestigeWarning") + - getPrisonConfig("Gui.Lore.PrestigeWarning2") + - getPrisonConfig("Gui.Lore.PrestigeWarning3"))); + sender.sendMessage(SpigotPrison.format(getPrisonConfig("Lore.PrestigeWarning") + + getPrisonConfig("Lore.PrestigeWarning2") + + getPrisonConfig("Lore.PrestigeWarning3"))); - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.ConfirmPrestige"))); - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CancelPrestige"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.ConfirmPrestige"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.CancelPrestige"))); final Player player = getSpigotPlayer( sender ); @@ -124,7 +124,7 @@ private void prestigeByChat(CommandSender sender) { listenersPrisonManager.id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (listenersPrisonManager.chatEventCheck()) { listenersPrisonManager.chatEventDeactivate(); - player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeRanOutOfTime"))); + player.sendMessage(SpigotPrison.format(messages.getString("Message.PrestigeRanOutOfTime"))); listenersPrisonManager.removeChatEventPlayer(player); listenersPrisonManager.removeMode(); } @@ -138,13 +138,13 @@ private void prestigeByChat(CommandSender sender) { private void prisonManagerPrestiges( CommandSender sender ) { if ( !isPrisonConfig("prestiges") ) { - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigesAreDisabled"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.PrestigesAreDisabled"))); return; } if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Prestiges.GUI_Enabled")){ - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.GuiOrPrestigesDisabled"))); + sender.sendMessage(SpigotPrison.format(messages.getString("Message.GuiOrPrestigesDisabled"))); return; } @@ -152,7 +152,7 @@ private void prisonManagerPrestiges( CommandSender sender ) { String perm = getConfig( "Options.Prestiges.Permission_GUI"); if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.missingGuiPrestigesPermission") + " [" + + sender.sendMessage(SpigotPrison.format(messages.getString("Message.missingGuiPrestigesPermission") + " [" + perm + "]")); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java index ed81cf9cd..d8b0cc776 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/GuiConfig.java @@ -13,7 +13,7 @@ /** * @author GABRYCA */ -public class GuiConfig { +public class GuiConfig extends SpigotConfigComponents{ // Declaring parameters and variables private FileConfiguration conf; @@ -31,16 +31,7 @@ public void initialize() { // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + "/GuiConfig.yml"); - if(!file.exists()) { - try { - File parentDir = file.getParentFile(); - parentDir.mkdirs(); - file.createNewFile(); - } - catch (IOException e) { - e.printStackTrace(); - } - } + fileMaker(file); conf = YamlConfiguration.loadConfiguration(file); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java index e9a35f5b4..8ca5b365b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/MessagesConfig.java @@ -13,218 +13,200 @@ * @author GABRYCA **/ -public class MessagesConfig { +public class MessagesConfig extends SpigotConfigComponents{ // Initialize parameters and variables private FileConfiguration conf; private int changeCount = 0; public MessagesConfig() { - initialize(); } public void initialize() { // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + - "/configs/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); + File file = new File(SpigotPrison.getInstance().getDataFolder() + "/configs/" + SpigotPrison.getInstance().getConfig().getString("default-language") + ".yml"); - if( !file.exists() ) { - try { - File parentDir = file.getParentFile(); - parentDir.mkdirs(); - - file.createNewFile(); - } - catch (IOException e) { - e.printStackTrace(); - } - } - + // Check if the config exists + fileMaker(file); + + // Get the config conf = YamlConfiguration.loadConfiguration(file); - // Everything's here (not anymore...) + // Call method values(); - if ( changeCount > 0 ) { + if (changeCount > 0) { try { conf.save(file); - - Output.get().logInfo( "&aThere were &b%d &anew values added for the language files " + - "used by the GuiConfig.yml file located at &b%s", - changeCount, file.getAbsoluteFile() ); + Output.get().logInfo( "&aThere were &b%d &anew values added for the language files " + "used by the GuiConfig.yml file located at &b%s", changeCount, file.getAbsoluteFile() ); } - catch ( IOException e ) { - - Output.get().logInfo( "&4Failed to save &b%d &4new values for the language files " + - "used by the GuiConfig.yml file located at &b%s&4. " + - "&a %s", changeCount, file.getAbsoluteFile(), e.getMessage() ); + catch (IOException e) { + Output.get().logInfo( "&4Failed to save &b%d &4new values for the language files " + "used by the GuiConfig.yml file located at &b%s&4. " + "&a %s", changeCount, file.getAbsoluteFile(), e.getMessage() ); } } } private void dataConfig(String key, String value){ - if (conf.getString(key) == null) { - conf.set(key, value); - changeCount++; - } + if (conf.getString(key) == null) { + conf.set(key, value); + changeCount++; + } } // All the strings should be here private void values(){ - dataConfig("Gui.Lore.ActivateWithinMode","&8Activate Within mode."); - dataConfig("Gui.Lore.ActivateRadiusMode","&8Activate Radius mode."); - dataConfig("Gui.Lore.AutoPickupGuiManager","&8AutoPickup Manager."); - dataConfig("Gui.Lore.AutoSmeltGuiManager","&8AutoSmelt Manager."); - dataConfig("Gui.Lore.AutoBlockGuiManager","&8AutoBlock Manager."); - dataConfig("Gui.Lore.BlockType","&3BlockType: "); - dataConfig("Gui.Lore.Blocks","&3Blocks:"); - dataConfig("Gui.Lore.Blocks2","&8Manage blocks of the Mine."); - dataConfig("Gui.Lore.ClickToChoose","&8Click to choose."); - dataConfig("Gui.Lore.ClickToConfirm","&8Click to confirm."); - dataConfig("Gui.Lore.ClickToCancel","&8Click to cancel."); - dataConfig("Gui.Lore.ClickToDecrease","&8Click to decrease."); - dataConfig("Gui.Lore.ClickToIncrease","&8Click to increase."); - dataConfig("Gui.Lore.ClickToManageRank","&8Manage this rank."); - dataConfig("Gui.Lore.ClickToManageCommands","&8Manage RankUPCommands."); - dataConfig("Gui.Lore.ClickToOpen","&8Click to open."); - dataConfig("Gui.Lore.ClickToRename", "&8Click to rename."); - dataConfig("Gui.Lore.ClickToTeleport","&8Click to teleport."); - dataConfig("Gui.Lore.ClickToUse","&8Click to use."); - dataConfig("Gui.Lore.ClickToRankup","&8Click to rankup"); - dataConfig("Gui.Lore.ClickToEditBlock", "&8Click to edit percentage."); - dataConfig("Gui.Lore.ClickToClose", "&cClick to close the GUI."); - dataConfig("Gui.Lore.ClickToPriorPage", "&aClick to see the prior page."); - dataConfig("Gui.Lore.ClickToNextPage", "&aClick to see the next page."); - dataConfig("Gui.Lore.ClickToStartBlockSetup", "&aClick to setup block."); - dataConfig("Gui.Lore.ClickToAddBlock", "&aClick to add a block."); - dataConfig("Gui.Lore.Chance","&3Chance: "); - dataConfig("Gui.Lore.Command","&3Command: &7"); - dataConfig("Gui.Lore.ContainsTheRank","&3The Rank "); - dataConfig("Gui.Lore.ContainsNoCommands"," &3contains no commands."); - dataConfig("Gui.Lore.DisableNotifications","&8Disable notifications."); - dataConfig("Gui.Lore.EnabledAll","&aAll features ON"); - dataConfig("Gui.Lore.DisabledAll","&aAll features OFF"); - dataConfig("Gui.Lore.FullSoundEnabled","&aFull Inv., notify with sound ON"); - dataConfig("Gui.Lore.FullSoundDisabled","&cFull Inv., notify with sound OFF"); - dataConfig("Gui.Lore.FullHologramEnabled","&aFull Inv., notify with hologram ON"); - dataConfig("Gui.Lore.FullHologramDisabled","&cFull Inv., notify with hologram OFF"); - dataConfig("Gui.Lore.Id","&3Rank id: &7"); - dataConfig("Gui.Lore.Info","&8&l|&3Info&8|"); - dataConfig("Gui.Lore.IfYouHaveEnoughMoney","&8If you have enough money"); - dataConfig("Gui.Lore.LadderThereAre","&8There're &3"); - dataConfig("Gui.Lore.LadderCommands"," &3Commands at ladder:"); - dataConfig("Gui.Lore.LeftClickToConfirm","&aLeft-Click to confirm."); - dataConfig("Gui.Lore.LeftClickToOpen","&8Left Click to open."); - dataConfig("Gui.Lore.LeftClickToReset","&aLeft Click to reset"); - dataConfig("Gui.Lore.ManageResetTime","&8Manage the reset time of Mine."); - dataConfig("Gui.Lore.MinesButton","&8Mines GUI manager."); - dataConfig("Gui.Lore.MineName", "&3Mine Name: &f"); - dataConfig("Gui.Lore.Name","&3Rank Name: &7"); - dataConfig("Gui.Lore.Notifications","&8Edit Mines notifications."); - dataConfig("Gui.Lore.PlayersWithTheRank","&3Players at rank: &7"); - dataConfig("Gui.Lore.PrestigeWarning", "&3Prestige will reset: "); - dataConfig("Gui.Lore.PrestigeWarning2", "&3 - &bRank"); - dataConfig("Gui.Lore.PrestigeWarning3", "&3 - &bBalance"); - dataConfig("Gui.Lore.Price","&3Price: &a$"); - dataConfig("Gui.Lore.Price2","&8Price: &a$"); - dataConfig("Gui.Lore.Price3","&3Rank Price: &a$"); - dataConfig("Gui.Lore.Percentage", "&8Percentage: "); - dataConfig("Gui.Lore.PrisonTasksButton","&8Prison Tasks Manager."); - dataConfig("Gui.Lore.ResetTime","&3Reset time(s): &7"); - dataConfig("Gui.Lore.Radius","&8Radius: "); - dataConfig("Gui.Lore.RankupCommands","&8&l|&3RankUPCommands&8| &8&l- &3"); - dataConfig("Gui.Lore.Rankup","&aRankup"); - dataConfig("Gui.Lore.RanksButton","&8Ranks GUI manager."); - dataConfig("Gui.Lore.ResetButton","&8Resets the mine."); - dataConfig("Gui.Lore.RightClickToCancel","&cRight-Click to cancel."); - dataConfig("Gui.Lore.RightClickToEnable","&aRight click to enable"); - dataConfig("Gui.Lore.RightClickToToggle","&cRight click to toggle"); - dataConfig("Gui.Lore.SpawnPoint","&3Spawnpoint: &7"); - dataConfig("Gui.Lore.StatusLockedMine","&8Status: &cLocked"); - dataConfig("Gui.Lore.StatusUnlockedMine","&8Status: &aUnlocked"); - dataConfig("Gui.Lore.SpawnPoint2","&8Set the mine spawn point."); - dataConfig("Gui.Lore.SizeOfMine","&3Size of Mine: &7"); - dataConfig("Gui.Lore.Selected","&3Selected"); - dataConfig("Gui.Lore.ShiftAndRightClickToDelete","&cShift + Right click to delete."); - dataConfig("Gui.Lore.ShiftAndRightClickToDisable","&cShift + Right click to disable"); - dataConfig("Gui.Lore.ShiftAndRightClickToToggle","&cShift + Right click to toggle"); - dataConfig("Gui.Lore.StatusEnabled","&8Enabled"); - dataConfig("Gui.Lore.StatusDisabled","&8Disabled"); - dataConfig("Gui.Lore.SkipReset1","&8Skip the reset if "); - dataConfig("Gui.Lore.SkipReset2","&8not enough blocks "); - dataConfig("Gui.Lore.SkipReset3","&8have been mined."); - dataConfig("Gui.Lore.Tp","&8Tp to the mine."); - dataConfig("Gui.Lore.Tag","&3Tag: &8"); - dataConfig("Gui.Lore.Tag2","&3Rank Tag: &7"); - dataConfig("Gui.Lore.Time","&8Time: "); - dataConfig("Gui.Lore.Volume","&3Volume: &7"); - dataConfig("Gui.Lore.Value", "&3Value: &a$"); - dataConfig("Gui.Lore.World","&3World: &7"); - dataConfig("Gui.Lore.noRanksFoundSetup", "&3There aren't Ranks!"); - dataConfig("Gui.Lore.noRanksFoundSetup2", "&3If you want continue the setup."); - dataConfig("Gui.Lore.noRanksFoundSetup3", "&3All Ranks and Mines from A to Z will be made"); - dataConfig("Gui.Lore.noRanksFoundSetup4", "&3With &adefault &3values!"); - dataConfig("Gui.Lore.noRanksFoundSetup5", "&3You can do the same by command:"); - dataConfig("Gui.Lore.noRanksFoundSetup6", "&1/ranks autoConfigure full !"); - dataConfig("Gui.Lore.noRanksFoundSetup7", "&3Please replace the X with the starting price and"); - dataConfig("Gui.Lore.noRanksFoundSetup8", "&3multiplier, default price = 50000, multiplier = 1.5."); - dataConfig("Gui.Message.CantGetRanksAdmin", "&3[PRISON WARN] &cCan't get Ranks, there might be no ranks or the Ranks module's disabled."); - dataConfig("Gui.Message.CantRunGUIFromConsole", "&7[&3Info&7] You cannot run the GUI from the console."); - dataConfig("Gui.Message.DefaultLadderEmpty", "&7[&cError&7] &cThe default ladder has no rank."); - dataConfig("Gui.Message.NoSellAllItems", "&cSorry but there aren't SellAll Items to show."); - dataConfig("Gui.Message.EmptyGui","&cSorry, the GUI looks empty."); - dataConfig("Gui.Message.NoBlocksMine","&cSorry but there aren't blocks inside this Mine."); - dataConfig("Gui.Message.NoMines", "&cSorry but there aren't Mines to show."); - dataConfig("Gui.Message.NoRankupCommands", "&cSorry, but there aren't rankUpCommands for this ranks, please create one to use this GUI!"); - dataConfig("Gui.Message.NoLadders", "&cSorry but there aren't ladders to show."); - dataConfig("Gui.Message.NoRanksPrestigesLadder", "&3[PRISON WARN] &cThere aren't ranks in the -prestiges- ladder!"); - dataConfig("Gui.Message.NoRanksFoundAdmin", "&cSorry, but before using this GUI you should create a Rank in this ladder!"); - dataConfig("Gui.Message.NoRanksFound", "&cSorry, but there aren't Ranks in the default or selected ladder!"); - dataConfig("Gui.Message.NoRanksFoundHelp1", "&cSorry, but there aren't Ranks in the default or selected ladder or the ladder &3["); - dataConfig("Gui.Message.NoRanksFoundHelp2", "]&c isn't found!"); - dataConfig("Gui.Message.LadderPrestigesNotFound", "&3[PRISON WARN] &cLadder -prestiges- not found!"); - dataConfig("Gui.Message.TooManyBlocks","&cSorry, but there're too many Blocks and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyLadders","&cSorry, but there're too many ladders and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyMines","&cSorry, but there're too many mines and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyRankupCommands","&cSorry, but there're too many RankupCommands and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManyRanks", "&cSorry, but there're too many ranks and the max's 54 for the GUI"); - dataConfig("Gui.Message.TooManySellAllItems", "&3[PRISON WARN] &cThere are too many items and the MAX for the GUI's 54!"); - dataConfig("Gui.Message.ZeroBlocksReset1","&8Set a mine's delay "); - dataConfig("Gui.Message.ZeroBlocksReset2","&8before reset when it "); - dataConfig("Gui.Message.ZeroBlocksReset3","&8reaches zero blocks."); - dataConfig("Gui.Message.mineNameRename", "&7[&3Info&7] &3Please write the &6mineName &3you'd like to use and &6submit&3."); - dataConfig("Gui.Message.mineNameRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); - dataConfig("Gui.Message.mineNameRenameClosed", "&7[&3Info&7] &cRename mine closed, nothing got changed!"); - dataConfig("Gui.Message.mineOrGuiDisabled", "&7[&3Info&7] &cGUI and/or GUI Mines is not enabled. Check GuiConfig.yml."); - dataConfig("Gui.Message.mineMissingGuiPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI mines"); - dataConfig("Gui.Message.OutOfTimeNoChanges", "&cYou ran out of time, nothing changed."); - dataConfig("Gui.Message.PrestigeCancelled", "&7[&3Info&7] &cPrestige cancelled!"); - dataConfig("Gui.Message.PrestigeCancelledWrongKeyword", "&7[&3Info&7] &cPrestige cancelled, you didn't type the word: confirm"); - dataConfig("Gui.Message.PrestigeRanOutOfTime", "&7[&3Info&7] &cYou ran out of time, prestige cancelled."); - dataConfig("Gui.Message.PrestigesDisabledDefault", "&7[&3Info&7] &cPrestiges are disabled by default, please edit it in your config.yml!"); - dataConfig("Gui.Message.ConfirmPrestige", "&7[&3Info&7] &aConfirm&3: Type the word &aconfirm &3 to confirm"); - dataConfig("Gui.Message.CancelPrestige", "&7[&3Info&7] &cCancel&3: Type the word &ccancel &3to cancel, &cyou've 30 seconds."); - dataConfig("Gui.Message.PrestigesAreDisabled", "&7[&3Info&7] &cPrestiges are disabled. Check config.yml."); - dataConfig("Gui.Message.GuiOrPrestigesDisabled", "&7[&3Info&7] &cGUI and/or GUI Prestiges is not enabled. Check GuiConfig.yml."); - dataConfig("Gui.Message.CantFindPrestiges", "&7[&cError&7] &cThe prestige ladder has no prestiges!"); - dataConfig("Gui.Message.missingGuiPrestigesPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI prestiges"); - dataConfig("Gui.Message.rankTagRename", "&7[&3Info&7] &3Please write the &6tag &3you'd like to use and &6submit&3."); - dataConfig("Gui.Message.rankTagRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); - dataConfig("Gui.Message.rankTagRenameClosed", "&7[&3Info&7] &cRename tag closed, nothing got changed!"); - dataConfig("Gui.Message.rankGuiDisabledOrAllGuiDisabled", "&7[&3Info&7] &cGUI and/or GUI ranks is not enabled. Check GuiConfig.yml (%s %s)"); - dataConfig("Gui.Message.rankGuiMissingPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI ranks"); + dataConfig("Lore.ActivateWithinMode","&8Activate Within mode."); + dataConfig("Lore.ActivateRadiusMode","&8Activate Radius mode."); + dataConfig("Lore.AutoPickupGuiManager","&8AutoPickup Manager."); + dataConfig("Lore.AutoSmeltGuiManager","&8AutoSmelt Manager."); + dataConfig("Lore.AutoBlockGuiManager","&8AutoBlock Manager."); + dataConfig("Lore.BlockType","&3BlockType: "); + dataConfig("Lore.Blocks","&3Blocks:"); + dataConfig("Lore.Blocks2","&8Manage blocks of the Mine."); + dataConfig("Lore.ClickToChoose","&8Click to choose."); + dataConfig("Lore.ClickToConfirm","&8Click to confirm."); + dataConfig("Lore.ClickToCancel","&8Click to cancel."); + dataConfig("Lore.ClickToDecrease","&8Click to decrease."); + dataConfig("Lore.ClickToIncrease","&8Click to increase."); + dataConfig("Lore.ClickToManageRank","&8Manage this rank."); + dataConfig("Lore.ClickToManageCommands","&8Manage RankUPCommands."); + dataConfig("Lore.ClickToOpen","&8Click to open."); + dataConfig("Lore.ClickToRename", "&8Click to rename."); + dataConfig("Lore.ClickToTeleport","&8Click to teleport."); + dataConfig("Lore.ClickToUse","&8Click to use."); + dataConfig("Lore.ClickToRankup","&8Click to rankup"); + dataConfig("Lore.ClickToEditBlock", "&8Click to edit percentage."); + dataConfig("Lore.ClickToClose", "&cClick to close the GUI."); + dataConfig("Lore.ClickToPriorPage", "&aClick to see the prior page."); + dataConfig("Lore.ClickToNextPage", "&aClick to see the next page."); + dataConfig("Lore.ClickToStartBlockSetup", "&aClick to setup block."); + dataConfig("Lore.ClickToAddBlock", "&aClick to add a block."); + dataConfig("Lore.Chance","&3Chance: "); + dataConfig("Lore.Command","&3Command: &7"); + dataConfig("Lore.ContainsTheRank","&3The Rank "); + dataConfig("Lore.ContainsNoCommands"," &3contains no commands."); + dataConfig("Lore.DisableNotifications","&8Disable notifications."); + dataConfig("Lore.EnabledAll","&aAll features ON"); + dataConfig("Lore.DisabledAll","&aAll features OFF"); + dataConfig("Lore.FullSoundEnabled","&aFull Inv., notify with sound ON"); + dataConfig("Lore.FullSoundDisabled","&cFull Inv., notify with sound OFF"); + dataConfig("Lore.FullHologramEnabled","&aFull Inv., notify with hologram ON"); + dataConfig("Lore.FullHologramDisabled","&cFull Inv., notify with hologram OFF"); + dataConfig("Lore.Id","&3Rank id: &7"); + dataConfig("Lore.Info","&8&l|&3Info&8|"); + dataConfig("Lore.IfYouHaveEnoughMoney","&8If you have enough money"); + dataConfig("Lore.LadderThereAre","&8There're &3"); + dataConfig("Lore.LadderCommands"," &3Commands at ladder:"); + dataConfig("Lore.LeftClickToConfirm","&aLeft-Click to confirm."); + dataConfig("Lore.LeftClickToOpen","&8Left Click to open."); + dataConfig("Lore.LeftClickToReset","&aLeft Click to reset"); + dataConfig("Lore.ManageResetTime","&8Manage the reset time of Mine."); + dataConfig("Lore.MinesButton","&8Mines GUI manager."); + dataConfig("Lore.MineName", "&3Mine Name: &f"); + dataConfig("Lore.Name","&3Rank Name: &7"); + dataConfig("Lore.Notifications","&8Edit Mines notifications."); + dataConfig("Lore.PlayersWithTheRank","&3Players at rank: &7"); + dataConfig("Lore.PrestigeWarning", "&3Prestige will reset: "); + dataConfig("Lore.PrestigeWarning2", "&3 - &bRank"); + dataConfig("Lore.PrestigeWarning3", "&3 - &bBalance"); + dataConfig("Lore.Price","&3Price: &a$"); + dataConfig("Lore.Price2","&8Price: &a$"); + dataConfig("Lore.Price3","&3Rank Price: &a$"); + dataConfig("Lore.Percentage", "&8Percentage: "); + dataConfig("Lore.PrisonTasksButton","&8Prison Tasks Manager."); + dataConfig("Lore.ResetTime","&3Reset time(s): &7"); + dataConfig("Lore.Radius","&8Radius: "); + dataConfig("Lore.RankupCommands","&8&l|&3RankUPCommands&8| &8&l- &3"); + dataConfig("Lore.Rankup","&aRankup"); + dataConfig("Lore.RanksButton","&8Ranks GUI manager."); + dataConfig("Lore.ResetButton","&8Resets the mine."); + dataConfig("Lore.RightClickToCancel","&cRight-Click to cancel."); + dataConfig("Lore.RightClickToEnable","&aRight click to enable"); + dataConfig("Lore.RightClickToToggle","&cRight click to toggle"); + dataConfig("Lore.SpawnPoint","&3Spawnpoint: &7"); + dataConfig("Lore.StatusLockedMine","&8Status: &cLocked"); + dataConfig("Lore.StatusUnlockedMine","&8Status: &aUnlocked"); + dataConfig("Lore.SpawnPoint2","&8Set the mine spawn point."); + dataConfig("Lore.SizeOfMine","&3Size of Mine: &7"); + dataConfig("Lore.Selected","&3Selected"); + dataConfig("Lore.ShiftAndRightClickToDelete","&cShift + Right click to delete."); + dataConfig("Lore.ShiftAndRightClickToDisable","&cShift + Right click to disable"); + dataConfig("Lore.ShiftAndRightClickToToggle","&cShift + Right click to toggle"); + dataConfig("Lore.StatusEnabled","&8Enabled"); + dataConfig("Lore.StatusDisabled","&8Disabled"); + dataConfig("Lore.SkipReset1","&8Skip the reset if "); + dataConfig("Lore.SkipReset2","&8not enough blocks "); + dataConfig("Lore.SkipReset3","&8have been mined."); + dataConfig("Lore.Tp","&8Tp to the mine."); + dataConfig("Lore.Tag","&3Tag: &8"); + dataConfig("Lore.Tag2","&3Rank Tag: &7"); + dataConfig("Lore.Time","&8Time: "); + dataConfig("Lore.Volume","&3Volume: &7"); + dataConfig("Lore.Value", "&3Value: &a$"); + dataConfig("Lore.World","&3World: &7"); + dataConfig("Lore.noRanksFoundSetup", "&3There aren't Ranks!"); + dataConfig("Lore.noRanksFoundSetup2", "&3If you want continue the setup."); + dataConfig("Lore.noRanksFoundSetup3", "&3All Ranks and Mines from A to Z will be made"); + dataConfig("Lore.noRanksFoundSetup4", "&3With &adefault &3values!"); + dataConfig("Lore.noRanksFoundSetup5", "&3You can do the same by command:"); + dataConfig("Lore.noRanksFoundSetup6", "&1/ranks autoConfigure full !"); + dataConfig("Lore.noRanksFoundSetup7", "&3Please replace the X with the starting price and"); + dataConfig("Lore.noRanksFoundSetup8", "&3multiplier, default price = 50000, multiplier = 1.5."); + dataConfig("Message.CantGetRanksAdmin", "&3[PRISON WARN] &cCan't get Ranks, there might be no ranks or the Ranks module's disabled."); + dataConfig("Message.CantRunGUIFromConsole", "&7[&3Info&7] You cannot run the GUI from the console."); + dataConfig("Message.DefaultLadderEmpty", "&7[&cError&7] &cThe default ladder has no rank."); + dataConfig("Message.NoSellAllItems", "&cSorry but there aren't SellAll Items to show."); + dataConfig("Message.EmptyGui","&cSorry, the GUI looks empty."); + dataConfig("Message.NoBlocksMine","&cSorry but there aren't blocks inside this Mine."); + dataConfig("Message.NoMines", "&cSorry but there aren't Mines to show."); + dataConfig("Message.NoRankupCommands", "&cSorry, but there aren't rankUpCommands for this ranks, please create one to use this GUI!"); + dataConfig("Message.NoLadders", "&cSorry but there aren't ladders to show."); + dataConfig("Message.NoRanksPrestigesLadder", "&3[PRISON WARN] &cThere aren't ranks in the -prestiges- ladder!"); + dataConfig("Message.NoRanksFoundAdmin", "&cSorry, but before using this GUI you should create a Rank in this ladder!"); + dataConfig("Message.NoRanksFound", "&cSorry, but there aren't Ranks in the default or selected ladder!"); + dataConfig("Message.NoRanksFoundHelp1", "&cSorry, but there aren't Ranks in the default or selected ladder or the ladder &3["); + dataConfig("Message.NoRanksFoundHelp2", "]&c isn't found!"); + dataConfig("Message.LadderPrestigesNotFound", "&3[PRISON WARN] &cLadder -prestiges- not found!"); + dataConfig("Message.TooManyBlocks","&cSorry, but there're too many Blocks and the max's 54 for the GUI"); + dataConfig("Message.TooManyLadders","&cSorry, but there're too many ladders and the max's 54 for the GUI"); + dataConfig("Message.TooManyMines","&cSorry, but there're too many mines and the max's 54 for the GUI"); + dataConfig("Message.TooManyRankupCommands","&cSorry, but there're too many RankupCommands and the max's 54 for the GUI"); + dataConfig("Message.TooManyRanks", "&cSorry, but there're too many ranks and the max's 54 for the GUI"); + dataConfig("Message.TooManySellAllItems", "&3[PRISON WARN] &cThere are too many items and the MAX for the GUI's 54!"); + dataConfig("Message.ZeroBlocksReset1","&8Set a mine's delay "); + dataConfig("Message.ZeroBlocksReset2","&8before reset when it "); + dataConfig("Message.ZeroBlocksReset3","&8reaches zero blocks."); + dataConfig("Message.mineNameRename", "&7[&3Info&7] &3Please write the &6mineName &3you'd like to use and &6submit&3."); + dataConfig("Message.mineNameRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); + dataConfig("Message.mineNameRenameClosed", "&7[&3Info&7] &cRename mine closed, nothing got changed!"); + dataConfig("Message.mineOrGuiDisabled", "&7[&3Info&7] &cGUI and/or GUI Mines is not enabled. Check GuiConfig.yml."); + dataConfig("Message.mineMissingGuiPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI mines"); + dataConfig("Message.OutOfTimeNoChanges", "&cYou ran out of time, nothing changed."); + dataConfig("Message.PrestigeCancelled", "&7[&3Info&7] &cPrestige cancelled!"); + dataConfig("Message.PrestigeCancelledWrongKeyword", "&7[&3Info&7] &cPrestige cancelled, you didn't type the word: confirm"); + dataConfig("Message.PrestigeRanOutOfTime", "&7[&3Info&7] &cYou ran out of time, prestige cancelled."); + dataConfig("Message.PrestigesDisabledDefault", "&7[&3Info&7] &cPrestiges are disabled by default, please edit it in your config.yml!"); + dataConfig("Message.ConfirmPrestige", "&7[&3Info&7] &aConfirm&3: Type the word &aconfirm &3 to confirm"); + dataConfig("Message.CancelPrestige", "&7[&3Info&7] &cCancel&3: Type the word &ccancel &3to cancel, &cyou've 30 seconds."); + dataConfig("Message.PrestigesAreDisabled", "&7[&3Info&7] &cPrestiges are disabled. Check config.yml."); + dataConfig("Message.GuiOrPrestigesDisabled", "&7[&3Info&7] &cGUI and/or GUI Prestiges is not enabled. Check GuiConfig.yml."); + dataConfig("Message.CantFindPrestiges", "&7[&cError&7] &cThe prestige ladder has no prestiges!"); + dataConfig("Message.missingGuiPrestigesPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI prestiges"); + dataConfig("Message.rankTagRename", "&7[&3Info&7] &3Please write the &6tag &3you'd like to use and &6submit&3."); + dataConfig("Message.rankTagRenameClose", "&7[&3Info&7] &3Input &cclose &3to cancel or wait &c30 seconds&3."); + dataConfig("Message.rankTagRenameClosed", "&7[&3Info&7] &cRename tag closed, nothing got changed!"); + dataConfig("Message.rankGuiDisabledOrAllGuiDisabled", "&7[&3Info&7] &cGUI and/or GUI ranks is not enabled. Check GuiConfig.yml (%s %s)"); + dataConfig("Message.rankGuiMissingPermission", "&7[&3Info&7] &cYou lack the permissions to use GUI ranks"); dataConfig("Setup.Message.MissingPermission", "&7[&cError&7] &cSorry but you don't have the permission [-prison.setup- or -prison.admin-]!"); dataConfig("Setup.Message.WrongFormat", "&7[&cError&7] &cYou're missing the last argument -mines- or -ranks-, / setup -mines- or -ranks- !"); dataConfig("Setup.Message.WelcomeToRanksSetup", "&7[&3Info&7] &3Hi and welcome to the ranks setup, please wait until it'll be completed!"); dataConfig("Setup.Message.SuccessRanksSetup", "&7[&3Info&7] &3The ranks setup got completed with &asuccess&3 and the ranks got added to the default ladder,\n please check the logs if something's missing!"); dataConfig("Setup.Message.Aborted", "&7[&3Info&7] &3Prison Setup Cancelled."); - } public FileConfiguration getFileGuiMessagesConfig(){ return conf; } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/sellAllConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java similarity index 60% rename from prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/sellAllConfig.java rename to prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java index aede74187..07619bbc3 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/sellAllConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java @@ -2,7 +2,9 @@ import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; +import tech.mcprison.prison.output.Output; import tech.mcprison.prison.spigot.SpigotPrison; +import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; import java.io.File; import java.io.IOException; @@ -11,68 +13,50 @@ /** * @author GABRYCA */ -public class sellAllConfig { +public class SellAllConfig extends SpigotConfigComponents { private FileConfiguration conf; + private int changeCount = 0; - public sellAllConfig(){ + public SellAllConfig(){ if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("sellall")).equalsIgnoreCase("true")){ return; } - // Filepath - File file = new File(SpigotPrison.getInstance().getDataFolder() + "/SellAllConfig.yml"); - - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); - } - - public void sellAllConfigGen(){ - - if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("sellall")).equalsIgnoreCase("true")){ - return; - } - - // Everything's here - values(); - + initialize(); } - private void dataConfig(String path, String string){ + private void initialize(){ // Filepath File file = new File(SpigotPrison.getInstance().getDataFolder() + "/SellAllConfig.yml"); // Check if the config exists - if(!file.exists()){ + fileMaker(file); + + // Get the config + conf = YamlConfiguration.loadConfiguration(file); + + // Call method + values(); + + if (changeCount > 0) { try { - file.createNewFile(); - conf = YamlConfiguration.loadConfiguration(file); - conf.set(path, string); conf.save(file); - } catch (IOException e) { - e.printStackTrace(); + Output.get().logInfo( "&aThere were &b%d &anew values added for the language files " + "used by the SellAllConfig.yml file located at &b%s", changeCount, file.getAbsoluteFile() ); } - } else { - try { - boolean newValue = false; - conf = YamlConfiguration.loadConfiguration(file); - if (getFileSellAllConfig().getString(path) == null){ - conf.set(path, string); - newValue = true; - } - if (newValue) { - conf.save(file); - } - } catch (IOException e2){ - e2.printStackTrace(); + catch (IOException e) { + Output.get().logInfo( "&4Failed to save &b%d &4new values for the language files " + "used by the SellAllConfig.yml file located at &b%s&4. " + "&a %s", changeCount, file.getAbsoluteFile(), e.getMessage() ); } } + } - // Get the final config - conf = YamlConfiguration.loadConfiguration(file); - + public void dataConfig(String key, String value){ + if (conf.getString(key) == null) { + conf.set(key, value); + changeCount++; + } } private void values(){ @@ -97,5 +81,4 @@ private void values(){ public FileConfiguration getFileSellAllConfig(){ return conf; } - } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SpigotConfigComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SpigotConfigComponents.java new file mode 100644 index 000000000..4d40bebd0 --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SpigotConfigComponents.java @@ -0,0 +1,22 @@ +package tech.mcprison.prison.spigot.configs; + +import java.io.File; +import java.io.IOException; + +public abstract class SpigotConfigComponents { + + protected void fileMaker(File file) { + if(!file.exists()) { + try { + File parentDir = file.getParentFile(); + parentDir.mkdirs(); + file.createNewFile(); + } + catch (IOException e) { + e.printStackTrace(); + } + } + } + + +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index ef9b92fe6..b6fd13e8e 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -66,7 +66,7 @@ public class ListenersPrisonManager implements Listener { public String mineNameOfChat = null; private final Configuration config = SpigotPrison.getInstance().getConfig(); private final Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); - private final Configuration sellAllConfig = SpigotPrison.getSellAllConfig(); + private final Configuration sellAllConfig = SpigotPrison.getInstance().getSellAllConfig(); private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); boolean guiNotEnabled = !(config.getString("prison-gui-enabled").equalsIgnoreCase("true")); public String mode; @@ -186,11 +186,11 @@ private void prestigeAction(AsyncPlayerChatEvent e, Player p, String message) { // Check the chat message and do the actions if (message.equalsIgnoreCase("cancel")) { - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelled"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.PrestigeCancelled"))); } else if (message.equalsIgnoreCase("confirm")) { Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "rankup prestiges")); } else { - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.PrestigeCancelledWrongKeyword"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.PrestigeCancelledWrongKeyword"))); } // Cancel the event e.setCancelled(true); @@ -202,7 +202,7 @@ private void mineAction(AsyncPlayerChatEvent e, Player p, String message) { // Check the chat message and do the action if (message.equalsIgnoreCase("close")) { - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClosed"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.mineNameRenameClosed"))); } else { Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "mines rename " + mineNameOfChat + " " + message)); } @@ -214,7 +214,7 @@ private void mineAction(AsyncPlayerChatEvent e, Player p, String message) { private void rankAction(AsyncPlayerChatEvent e, Player p, String message) { // Check the chat message and do the action if (message.equalsIgnoreCase("close")) { - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClosed"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.rankTagRenameClosed"))); } else { Bukkit.getScheduler().runTask(SpigotPrison.getInstance(), () -> Bukkit.getServer().dispatchCommand(p, "ranks set tag " + rankNameOfChat + " " + message)); } @@ -1010,8 +1010,8 @@ private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { } else if (buttonName.equalsIgnoreCase("RankTag")){ // Send messages to the player - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRename"))); - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.rankTagRenameClose"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.rankTagRename"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.rankTagRenameClose"))); // Start the async task isChatEventActive = true; rankNameOfChat = rankName; @@ -1019,7 +1019,7 @@ private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (isChatEventActive) { removeChatEventPlayer(p); - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.OutOfTimeNoChanges"))); isChatEventActive = false; } }, 20L * 30); @@ -1033,7 +1033,7 @@ private void rankManagerGUI(InventoryClickEvent e, Player p, String[] parts) { private void playerRanksGUI(InventoryClickEvent e, Player p, String buttonNameMain) { // Check the buttonName and do the actions - if (buttonNameMain.equals(SpigotPrison.format(messages.getString("Gui.Lore.Rankup").substring(2)))){ + if (buttonNameMain.equals(SpigotPrison.format(messages.getString("Lore.Rankup").substring(2)))){ Bukkit.dispatchCommand(p, "rankup " + guiConfig.getString("Options.Ranks.Ladder")); p.closeInventory(); } @@ -1284,8 +1284,8 @@ private void mineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { case "Mine_Name:": { // Send messages to the player - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRename"))); - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.mineNameRenameClose"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.mineNameRename"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.mineNameRenameClose"))); // Start the async task isChatEventActive = true; mineNameOfChat = mineName; @@ -1293,7 +1293,7 @@ private void mineInfoGUI(InventoryClickEvent e, Player p, String[] parts) { id = Bukkit.getScheduler().scheduleSyncDelayedTask(SpigotPrison.getInstance(), () -> { if (isChatEventActive) { removeChatEventPlayer(p); - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.OutOfTimeNoChanges"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.OutOfTimeNoChanges"))); isChatEventActive = false; } }, 20L * 30); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java index 69ed6411d..0b43b2fcb 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/PrisonSetupGUI.java @@ -47,21 +47,21 @@ private void buttonsSetup(Inventory inv) { // Blocks of the mine List confirmLore = createLore( - messages.getString("Gui.Lore.ClickToConfirm"), - messages.getString("Gui.Lore.noRanksFoundSetup"), - messages.getString("Gui.Lore.noRanksFoundSetup1"), - messages.getString("Gui.Lore.noRanksFoundSetup2"), - messages.getString("Gui.Lore.noRanksFoundSetup3"), - messages.getString("Gui.Lore.noRanksFoundSetup4"), - messages.getString("Gui.Lore.noRanksFoundSetup5"), - messages.getString("Gui.Lore.noRanksFoundSetup6"), - messages.getString("Gui.Lore.noRanksFoundSetup7"), - messages.getString("Gui.Lore.noRanksFoundSetup8") + messages.getString("Lore.ClickToConfirm"), + messages.getString("Lore.noRanksFoundSetup"), + messages.getString("Lore.noRanksFoundSetup1"), + messages.getString("Lore.noRanksFoundSetup2"), + messages.getString("Lore.noRanksFoundSetup3"), + messages.getString("Lore.noRanksFoundSetup4"), + messages.getString("Lore.noRanksFoundSetup5"), + messages.getString("Lore.noRanksFoundSetup6"), + messages.getString("Lore.noRanksFoundSetup7"), + messages.getString("Lore.noRanksFoundSetup8") ); // Blocks of the mine List cancelLore = createLore( - messages.getString("Gui.Lore.ClickToCancel")); + messages.getString("Lore.ClickToCancel")); // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmLore, SpigotPrison.format("&3" + "Confirm: Setup")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java index 360f59508..57aadb16b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotGUIComponents.java @@ -78,7 +78,7 @@ protected static Configuration messages(){ } protected static Configuration sellAll(){ - return SpigotPrison.getSellAllConfig(); + return SpigotPrison.getInstance().getSellAllConfig(); } protected static Configuration guiConfig(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java index f2a2a9875..d0bb6d744 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/SpigotPrisonGUI.java @@ -52,18 +52,18 @@ private void buttonsSetup(Inventory inv) { List ranksLore = createLore( - messages.getString("Gui.Lore.RanksButton"), - messages.getString("Gui.Lore.ClickToOpen")); + messages.getString("Lore.RanksButton"), + messages.getString("Lore.ClickToOpen")); List prisonTasksLore = createLore( - messages.getString("Gui.Lore.PrisonTasksButton"), - messages.getString("Gui.Lore.ClickToOpen")); + messages.getString("Lore.PrisonTasksButton"), + messages.getString("Lore.ClickToOpen")); List minesLore = createLore( - messages.getString("Gui.Lore.MinesButton"), - messages.getString("Gui.Lore.ClickToOpen")); + messages.getString("Lore.MinesButton"), + messages.getString("Lore.ClickToOpen")); List sellAllLore = createLore( - messages.getString("Gui.Lore.ClickToOpen")); + messages.getString("Lore.ClickToOpen")); List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java index cfe165589..5c1c5df44 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoBlockGUI.java @@ -55,13 +55,13 @@ private void buttonsSetup(Inventory inv) { List enabledLore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDisable") + messages.getString("Lore.ShiftAndRightClickToDisable") ); List disabledLore = createLore( - messages.getString("Gui.Lore.RightClickToEnable") + messages.getString("Lore.RightClickToEnable") ); List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java index 6103b1b73..cb4553814 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoFeaturesGUI.java @@ -65,7 +65,7 @@ private void buttonsSetup(Inventory inv) { ItemStack hologram; List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); @@ -73,15 +73,15 @@ private void buttonsSetup(Inventory inv) { if ( afConfig.isFeatureBoolean( AutoFeatures.playSoundIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( - messages.getString("Gui.Lore.FullSoundEnabled"), - messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); + messages.getString("Lore.FullSoundEnabled"), + messages.getString("Lore.ShiftAndRightClickToDisable")); playSound = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Play_Sound Enabled")); } else { List EnabledOrDisabledLore = createLore( - messages.getString("Gui.Lore.FullSoundDisabled"), - messages.getString("Gui.Lore.RightClickToEnable")); + messages.getString("Lore.FullSoundDisabled"), + messages.getString("Lore.RightClickToEnable")); playSound = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Play_Sound Disabled")); } @@ -89,15 +89,15 @@ private void buttonsSetup(Inventory inv) { if ( afConfig.isFeatureBoolean( AutoFeatures.hologramIfInventoryIsFull ) ){ List EnabledOrDisabledLore = createLore( - messages.getString("Gui.Lore.FullHologramEnabled"), - messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); + messages.getString("Lore.FullHologramEnabled"), + messages.getString("Lore.ShiftAndRightClickToDisable")); hologram = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&a" + "Full_Inv_Hologram Enabled")); } else { List EnabledOrDisabledLore = createLore( - messages.getString("Gui.Lore.FullHologramDisabled"), - messages.getString("Gui.Lore.RightClickToEnable")); + messages.getString("Lore.FullHologramDisabled"), + messages.getString("Lore.RightClickToEnable")); hologram = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&c" + "Full_Inv_Hologram Disabled")); } @@ -105,15 +105,15 @@ private void buttonsSetup(Inventory inv) { if ( afConfig.isFeatureBoolean( AutoFeatures.isAutoManagerEnabled ) ){ List EnabledOrDisabledLore = createLore( - messages.getString("Gui.Lore.EnabledAll"), - messages.getString("Gui.Lore.ShiftAndRightClickToDisable")); + messages.getString("Lore.EnabledAll"), + messages.getString("Lore.ShiftAndRightClickToDisable")); enabledOrDisabled = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&a" + "All Enabled")); } else { List EnabledOrDisabledLore = createLore( - messages.getString("Gui.Lore.DisabledAll"), - messages.getString("Gui.Lore.RightClickToEnable")); + messages.getString("Lore.DisabledAll"), + messages.getString("Lore.RightClickToEnable")); enabledOrDisabled = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), EnabledOrDisabledLore, SpigotPrison.format("&c" + "All Disabled")); } @@ -121,16 +121,16 @@ private void buttonsSetup(Inventory inv) { if ( afConfig.isFeatureBoolean( AutoFeatures.autoPickupEnabled ) ) { // Lore of the button List autoPickupLore = createLore( - messages.getString("Gui.Lore.AutoPickupGuiManager"), - messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), - messages.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Lore.AutoPickupGuiManager"), + messages.getString("Lore.ShiftAndRightClickToDisable"), + messages.getString("Lore.LeftClickToOpen")); autoPickup = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), autoPickupLore, SpigotPrison.format("&3" + "AutoPickup Enabled")); } else { // Lore of the button List autoPickupLore = createLore( - messages.getString("Gui.Lore.AutoPickupGuiManager"), - messages.getString("Gui.Lore.RightClickToEnable"), - messages.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Lore.AutoPickupGuiManager"), + messages.getString("Lore.RightClickToEnable"), + messages.getString("Lore.LeftClickToOpen")); autoPickup = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), autoPickupLore, SpigotPrison.format("&c" + "AutoPickup Disabled")); } @@ -138,16 +138,16 @@ private void buttonsSetup(Inventory inv) { if ( afConfig.isFeatureBoolean( AutoFeatures.autoSmeltEnabled ) ) { // Lore of the button List autoSmeltLore = createLore( - messages.getString("Gui.Lore.AutoSmeltGuiManager"), - messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), - messages.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Lore.AutoSmeltGuiManager"), + messages.getString("Lore.ShiftAndRightClickToDisable"), + messages.getString("Lore.LeftClickToOpen")); autoSmelt = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), autoSmeltLore, SpigotPrison.format("&3" + "AutoSmelt Enabled")); } else { // Lore of the button List autoSmeltLore = createLore( - messages.getString("Gui.Lore.AutoSmeltGuiManager"), - messages.getString("Gui.Lore.RightClickToEnable"), - messages.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Lore.AutoSmeltGuiManager"), + messages.getString("Lore.RightClickToEnable"), + messages.getString("Lore.LeftClickToOpen")); autoSmelt = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), autoSmeltLore, SpigotPrison.format("&c" + "AutoSmelt Disabled")); } @@ -155,17 +155,17 @@ private void buttonsSetup(Inventory inv) { if ( afConfig.isFeatureBoolean( AutoFeatures.autoBlockEnabled ) ) { // Lore of the button List autoBlockLore = createLore( - messages.getString("Gui.Lore.AutoBlockGuiManager"), - messages.getString("Gui.Lore.ShiftAndRightClickToDisable"), - messages.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Lore.AutoBlockGuiManager"), + messages.getString("Lore.ShiftAndRightClickToDisable"), + messages.getString("Lore.LeftClickToOpen")); autoBlock = createButton(XMaterial.LIME_STAINED_GLASS_PANE.parseItem(), autoBlockLore, SpigotPrison.format("&3" + "AutoBlock Enabled")); } else { // Lore of the button List autoBlockLore = createLore( - messages.getString("Gui.Lore.AutoBlockGuiManager"), - messages.getString("Gui.Lore.RightClickToEnable"), - messages.getString("Gui.Lore.LeftClickToOpen")); + messages.getString("Lore.AutoBlockGuiManager"), + messages.getString("Lore.RightClickToEnable"), + messages.getString("Lore.LeftClickToOpen")); autoBlock = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), autoBlockLore, SpigotPrison.format("&c" + "AutoBlock Disabled")); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java index 67f135a3d..090c6882c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoPickupGUI.java @@ -55,15 +55,15 @@ private void buttonsSetup(Inventory inv) { List enabledLore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDisable") + messages.getString("Lore.ShiftAndRightClickToDisable") ); List disabledLore = createLore( - messages.getString("Gui.Lore.RightClickToEnable") + messages.getString("Lore.RightClickToEnable") ); List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java index 6a9cb04ed..e48e937c5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/autofeatures/SpigotAutoSmeltGUI.java @@ -54,13 +54,13 @@ private boolean guiBuilder(Inventory inv) { private void buttonsSetup(Inventory inv) { List enabledLore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDisable") + messages.getString("Lore.ShiftAndRightClickToDisable") ); List disabledLore = createLore( - messages.getString("Gui.Lore.RightClickToEnable") + messages.getString("Lore.RightClickToEnable") ); List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java index ad9728119..e451ca6b8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotBlocksListGUI.java @@ -43,7 +43,7 @@ public void open(){ // Lore of block setup List blockLoreSetup = createLore( - messages.getString("Gui.Lore.ClickToStartBlockSetup") + messages.getString("Lore.ClickToStartBlockSetup") ); // This will skip all BlockTypes that are invalid for the versions of MC that the server is running: @@ -68,13 +68,13 @@ public void open(){ inv.addItem(button); } if ( i < blockTypes.size() ) { - List nextPageLore = createLore( messages.getString("Gui.Lore.ClickToNextPage") ); + List nextPageLore = createLore( messages.getString("Lore.ClickToNextPage") ); ItemStack nextPageButton = createButton(Material.BOOK, 1, nextPageLore, "&7Next &0" + mineName + " " + (i + 1) ); inv.setItem(53, nextPageButton); } if ( i >= (pageSize * 2) ) { - List priorPageLore = createLore( messages.getString("Gui.Lore.ClickToPriorPage") ); + List priorPageLore = createLore( messages.getString("Lore.ClickToPriorPage") ); ItemStack priorPageButton = createButton(Material.BOOK, 1, priorPageLore, "&7Prior &0" + mineName + " " + (i - (pageSize * 2) - 1) ); @@ -104,7 +104,7 @@ public void open(){ // if (counter >= counter + 44){ // // List nextPageLore = createLore( -// messages.getString("Gui.Lore.ClickToNextPage") +// messages.getString("Lore.ClickToNextPage") // ); // // ItemStack nextPageButton = createButton(Material.BOOK, 1, nextPageLore, "Next " + mineName + " " + counter); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java index 8b8e6c480..630de9709 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineBlockPercentageGUI.java @@ -65,15 +65,15 @@ private void buttonsSetup(Inventory inv) { // Create a new lore List changeDecreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToDecrease") + messages.getString("Lore.ClickToDecrease") ); List confirmButtonLore = createLore( - messages.getString("Gui.Lore.LeftClickToConfirm"), - messages.getString("Gui.Lore.Percentage") + val, - messages.getString("Gui.Lore.RightClickToCancel") + messages.getString("Lore.LeftClickToConfirm"), + messages.getString("Lore.Percentage") + val, + messages.getString("Lore.RightClickToCancel") ); List changeIncreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToIncrease") + messages.getString("Lore.ClickToIncrease") ); @@ -114,7 +114,7 @@ private void buttonsSetup(Inventory inv) { inv.setItem(43, increaseOf100); // Return to prior screen: - List closeGUILore = createLore( messages.getString("Gui.Lore.ClickToClose") ); + List closeGUILore = createLore( messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close" + " &0" + mineName + " " + counter)); inv.setItem(40, closeGUI); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java index 6a29f8e8e..a11b559f7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineInfoGUI.java @@ -58,43 +58,43 @@ private void buttonsSetup(Inventory inv) { // The Reset Mine button and lore List resetMineLore = createLore( - messages.getString("Gui.Lore.LeftClickToReset"), + messages.getString("Lore.LeftClickToReset"), "", - messages.getString("Gui.Lore.RightClickToToggle"), - messages.getString("Gui.Lore.SkipReset1"), - messages.getString("Gui.Lore.SkipReset2"), - messages.getString("Gui.Lore.SkipReset3"), + messages.getString("Lore.RightClickToToggle"), + messages.getString("Lore.SkipReset1"), + messages.getString("Lore.SkipReset2"), + messages.getString("Lore.SkipReset3"), "", - messages.getString("Gui.Lore.ShiftAndRightClickToToggle"), - messages.getString("Gui.Message.ZeroBlocksReset1"), - messages.getString("Gui.Message.ZeroBlocksReset2"), - messages.getString("Gui.Message.ZeroBlocksReset3") + messages.getString("Lore.ShiftAndRightClickToToggle"), + messages.getString("Message.ZeroBlocksReset1"), + messages.getString("Message.ZeroBlocksReset2"), + messages.getString("Message.ZeroBlocksReset3") ); List MineSpawnLore = createLore( - messages.getString("Gui.Lore.ClickToUse"), - messages.getString("Gui.Lore.SpawnPoint2") + messages.getString("Lore.ClickToUse"), + messages.getString("Lore.SpawnPoint2") ); List MinesNotificationsLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), - messages.getString("Gui.Lore.Notifications") + messages.getString("Lore.ClickToOpen"), + messages.getString("Lore.Notifications") ); List MinesTpLore = createLore( - messages.getString("Gui.Lore.ClickToTeleport"), - messages.getString("Gui.Lore.Tp") + messages.getString("Lore.ClickToTeleport"), + messages.getString("Lore.Tp") ); List blocksOfTheMineLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), - messages.getString("Gui.Lore.Blocks2")); + messages.getString("Lore.ClickToOpen"), + messages.getString("Lore.Blocks2")); List mineResetTimeLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), - messages.getString("Gui.Lore.ManageResetTime"), - messages.getString("Gui.Lore.ResetTime") + mine.getResetTime()); + messages.getString("Lore.ClickToOpen"), + messages.getString("Lore.ManageResetTime"), + messages.getString("Lore.ResetTime") + mine.getResetTime()); List mineRenameLore = createLore( - messages.getString("Gui.Lore.ClickToRename"), - messages.getString("Gui.Lore.MineName") + mineName + messages.getString("Lore.ClickToRename"), + messages.getString("Lore.MineName") + mineName ); List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); // Create the button, set the material, amount, lore and name diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java index 29ff58b42..159cb09d1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationRadiusGUI.java @@ -58,15 +58,15 @@ private void buttonsSetup(Inventory inv) { // Create new lore List changeDecreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToDecrease") + messages.getString("Lore.ClickToDecrease") ); List confirmButtonLore = createLore( - messages.getString("Gui.Lore.LeftClickToConfirm"), - messages.getString("Gui.Lore.Radius") + val, - messages.getString("Gui.Lore.RightClickToCancel") + messages.getString("Lore.LeftClickToConfirm"), + messages.getString("Lore.Radius") + val, + messages.getString("Lore.RightClickToCancel") ); List changeIncreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToIncrease") + messages.getString("Lore.ClickToIncrease") ); // Decrease buttons diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java index 8e2070ef0..12027bae0 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineNotificationsGUI.java @@ -63,16 +63,16 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { // Create a new lore List modeWithinLore = createLore( - messages.getString("Gui.Lore.ClickToChoose"), - messages.getString("Gui.Lore.ActivateWithinMode")); + messages.getString("Lore.ClickToChoose"), + messages.getString("Lore.ActivateWithinMode")); List modeRadiusLore = createLore( - messages.getString("Gui.Lore.ClickToChoose"), - messages.getString("Gui.Lore.ActivateRadiusMode")); + messages.getString("Lore.ClickToChoose"), + messages.getString("Lore.ActivateRadiusMode")); List disabledModeLore = createLore( - messages.getString("Gui.Lore.ClickToChoose"), - messages.getString("Gui.Lore.DisableNotifications")); + messages.getString("Lore.ClickToChoose"), + messages.getString("Lore.DisableNotifications")); List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); ItemStack closeGUI = createButton(XMaterial.RED_STAINED_GLASS_PANE.parseItem(), closeGUILore, SpigotPrison.format("&c" + "Close")); @@ -82,17 +82,17 @@ private void buttonsSetup(Inventory inv, String enabledOrDisabled) { if (enabledOrDisabled.equalsIgnoreCase("disabled")){ // Add the selected lore - disabledModeLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Selected"))); + disabledModeLore.add(SpigotPrison.format(messages.getString("Lore.Selected"))); } else if (enabledOrDisabled.equalsIgnoreCase("within")){ // Add the selected lore - modeWithinLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Selected"))); + modeWithinLore.add(SpigotPrison.format(messages.getString("Lore.Selected"))); } else if (enabledOrDisabled.equalsIgnoreCase("radius")){ // Add the selected lore - modeRadiusLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Selected"))); + modeRadiusLore.add(SpigotPrison.format(messages.getString("Lore.Selected"))); } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java index 6784cf042..2f1fc94d1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMineResetTimeGUI.java @@ -56,15 +56,15 @@ private void buttonsSetup(Inventory inv) { // Create a new lore List changeDecreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToDecrease") + messages.getString("Lore.ClickToDecrease") ); List confirmButtonLore = createLore( - messages.getString("Gui.Lore.LeftClickToConfirm"), - messages.getString("Gui.Lore.Time") + val, - messages.getString("Gui.Lore.RightClickToCancel") + messages.getString("Lore.LeftClickToConfirm"), + messages.getString("Lore.Time") + val, + messages.getString("Lore.RightClickToCancel") ); List changeIncreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToIncrease") + messages.getString("Lore.ClickToIncrease") ); // Decrease button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java index c7b368cc1..b3130f525 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesBlocksGUI.java @@ -48,7 +48,7 @@ public void open(){ Inventory inv = Bukkit.createInventory(null, dimension, SpigotPrison.format("&3MineInfo -> Blocks")); List addBlockLore = createLore( - messages.getString("Gui.Lore.ClickToAddBlock") + messages.getString("Lore.ClickToAddBlock") ); // Add the button to the inventory @@ -125,10 +125,10 @@ private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial // Create the lore List blockslore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), - messages.getString("Gui.Lore.ClickToEditBlock"), + messages.getString("Lore.ShiftAndRightClickToDelete"), + messages.getString("Lore.ClickToEditBlock"), "", - messages.getString("Gui.Lore.Info")); + messages.getString("Lore.Info")); boolean isEnum = true; @@ -143,8 +143,8 @@ private void buttonsSetup(Inventory inv, PrisonBlock block, String blockmaterial } // Add a lore - blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.Chance") + block.getChance() + "%")); - blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.BlockType") + blockmaterial)); + blockslore.add(SpigotPrison.format(messages.getString("Lore.Chance") + block.getChance() + "%")); + blockslore.add(SpigotPrison.format(messages.getString("Lore.BlockType") + blockmaterial)); // Make the item ItemStack block1 = createButton(Material.valueOf(blockmaterial), 1, blockslore, SpigotPrison.format("&3" + blockmaterialdisplay + " " + mineName + " " + block.getChance())); @@ -157,10 +157,10 @@ private void buttonsSetup(Inventory inv, Block block, String blockmaterial, Stri // Create the lore List blockslore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), - messages.getString("Gui.Lore.ClickToEditBlock"), + messages.getString("Lore.ShiftAndRightClickToDelete"), + messages.getString("Lore.ClickToEditBlock"), "", - messages.getString("Gui.Lore.Info")); + messages.getString("Lore.Info")); boolean isEnum = true; try { @@ -174,8 +174,8 @@ private void buttonsSetup(Inventory inv, Block block, String blockmaterial, Stri } // Add a lore - blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.Chance") + block.getChance() + "%")); - blockslore.add(SpigotPrison.format(messages.getString("Gui.Lore.BlockType") + blockmaterial)); + blockslore.add(SpigotPrison.format(messages.getString("Lore.Chance") + block.getChance() + "%")); + blockslore.add(SpigotPrison.format(messages.getString("Lore.BlockType") + blockmaterial)); // Make the item ItemStack block1 = createButton(Material.valueOf(blockmaterial), 1, blockslore, SpigotPrison.format("&3" + blockmaterialdisplay + " " + mineName + " " + block.getChance())); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java index e9878f377..8eddad3a9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesConfirmGUI.java @@ -54,9 +54,9 @@ private void buttonsSetup(Inventory inv) { // Blocks of the mine List confirmlore = createLore( - messages.getString("Gui.Lore.ClickToConfirm")); + messages.getString("Lore.ClickToConfirm")); List cancelore = createLore( - messages.getString("Gui.Lore.ClickToCancel")); + messages.getString("Lore.ClickToCancel")); // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmlore, SpigotPrison.format("&3" + "Confirm: " + mineName)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java index 641c40f7d..65fad02e7 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotMinesGUI.java @@ -59,7 +59,7 @@ public void open(){ // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManyMines"))); p.closeInventory(); return; } @@ -95,25 +95,25 @@ private void buttonsSetup(Inventory inv, Mine m) { ItemStack itemMines; // Init the lore array with default values for ladders List minesLore = createLore( - messages.getString("Gui.Lore.LeftClickToOpen"), - messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Lore.LeftClickToOpen"), + messages.getString("Lore.ShiftAndRightClickToDelete"), "", - messages.getString("Gui.Lore.Info")); + messages.getString("Lore.Info")); // Add a lore - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.World") + m.getWorldName())); + minesLore.add(SpigotPrison.format(messages.getString("Lore.World") + m.getWorldName())); String spawnPoint = m.getSpawn() != null ? m.getSpawn().toBlockCoordinates() : "&cnot set"; - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SpawnPoint") + spawnPoint)); - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ResetTime") + m.getResetTime())); + minesLore.add(SpigotPrison.format(messages.getString("Lore.SpawnPoint") + spawnPoint)); + minesLore.add(SpigotPrison.format(messages.getString("Lore.ResetTime") + m.getResetTime())); if (!m.isVirtual()) { // Add a lore - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.SizeOfMine") + m.getBounds().getDimensions())); - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Volume") + m.getBounds().getTotalBlockCount())); + minesLore.add(SpigotPrison.format(messages.getString("Lore.SizeOfMine") + m.getBounds().getDimensions())); + minesLore.add(SpigotPrison.format(messages.getString("Lore.Volume") + m.getBounds().getTotalBlockCount())); } // Add a lore - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Blocks"))); + minesLore.add(SpigotPrison.format(messages.getString("Lore.Blocks"))); // Init some variables and do the actions DecimalFormat dFmt = new DecimalFormat("##0.00"); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index a3fd26848..fa379532b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -48,14 +48,14 @@ public void open(){ // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.NoMines"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyMines"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManyMines"))); p.closeInventory(); return; } @@ -122,11 +122,11 @@ private void buttonsSetup(Inventory inv, Mine m, List minesLore) { if (p.hasPermission(permission + m.getName()) || p.hasPermission(permission.substring(0, permission.length() - 1))){ material = ( mineMaterial == null ? Material.COAL_ORE : mineMaterial); - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.StatusUnlockedMine"))); - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ClickToTeleport"))); + minesLore.add(SpigotPrison.format(messages.getString("Lore.StatusUnlockedMine"))); + minesLore.add(SpigotPrison.format(messages.getString("Lore.ClickToTeleport"))); } else { material = Material.REDSTONE_BLOCK; - minesLore.add(SpigotPrison.format(messages.getString("Gui.Lore.StatusLockedMine"))); + minesLore.add(SpigotPrison.format(messages.getString("Lore.StatusLockedMine"))); } // Create the button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java index 5d856da47..a69d017b9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotConfirmPrestigeGUI.java @@ -48,15 +48,15 @@ private void buttonsSetup(Inventory inv) { // Blocks of the mine List confirmLore = createLore( - messages.getString("Gui.Lore.ClickToConfirm"), - messages.getString("Gui.Lore.PrestigeWarning"), - messages.getString("Gui.Lore.PrestigeWarning2"), - messages.getString("Gui.Lore.PrestigeWarning3") + messages.getString("Lore.ClickToConfirm"), + messages.getString("Lore.PrestigeWarning"), + messages.getString("Lore.PrestigeWarning2"), + messages.getString("Lore.PrestigeWarning3") ); // Blocks of the mine List cancelLore = createLore( - messages.getString("Gui.Lore.ClickToCancel")); + messages.getString("Lore.ClickToCancel")); // Create the button, set up the material, amount, lore and name ItemStack confirm = createButton(Material.EMERALD_BLOCK, 1, confirmLore, SpigotPrison.format("&3" + "Confirm: Prestige")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java index 102c28077..aadd703a1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotLaddersGUI.java @@ -46,14 +46,14 @@ public void open(){ // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoLadders"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.NoLadders"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyLadders"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManyLadders"))); p.closeInventory(); return; } @@ -90,8 +90,8 @@ private void buttonsSetup(Inventory inv, RankLadder ladder) { ItemStack itemLadder; // Init the lore array with default values for ladders List laddersLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), - messages.getString("Gui.Lore.ShiftAndRightClickToDelete")); + messages.getString("Lore.ClickToOpen"), + messages.getString("Lore.ShiftAndRightClickToDelete")); // Create the button itemLadder = createButton(Material.LADDER, 1, laddersLore, SpigotPrison.format("&3" + ladder.name)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index dd75ef2e9..06cbd9ba5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -152,14 +152,14 @@ private void buttonsSetup(Optional ladder, int dimension, Inventory if (!ladder.isPresent()){ - player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.LadderPrestigesNotFound"))); + player.sendMessage(SpigotPrison.format(messages.getString("Message.LadderPrestigesNotFound"))); return; } RankLadder ladderData = ladder.get(); if (!ladderData.getLowestRank().isPresent()){ - player.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksPrestigesLadder"))); + player.sendMessage(SpigotPrison.format(messages.getString("Message.NoRanksPrestigesLadder"))); return; } @@ -178,8 +178,8 @@ private void buttonsSetup(Optional ladder, int dimension, Inventory while ( rank != null ) { List ranksLore = createLore( - messages.getString("Gui.Lore.Info"), - messages.getString("Gui.Lore.Price3") + rank.cost + messages.getString("Lore.Info"), + messages.getString("Lore.Price3") + rank.cost ); ItemStack itemrank = createButton( (playerHasThisRank ? materialHas : materialHasNot), @@ -201,8 +201,8 @@ private void buttonsSetup(Optional ladder, int dimension, Inventory } List rankupLore = createLore( - messages.getString("Gui.Lore.IfYouHaveEnoughMoney"), - messages.getString("Gui.Lore.ClickToRankup") + messages.getString("Lore.IfYouHaveEnoughMoney"), + messages.getString("Lore.ClickToRankup") ); ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format("&aPrestige")); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index 9b8458d90..06c947a7a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -110,14 +110,14 @@ public void open() { // Ensure ladder is present and that it has a rank: if (!ladder.isPresent() || !ladder.get().getLowestRank().isPresent()){ - getPlayer().sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFoundHelp1") + guiConfig.getString("Options.Ranks.Ladder") + messages.getString("Gui.Message.NoRanksFoundHelp2"))); + getPlayer().sendMessage(SpigotPrison.format(messages.getString("Message.NoRanksFoundHelp1") + guiConfig.getString("Options.Ranks.Ladder") + messages.getString("Message.NoRanksFoundHelp2"))); getPlayer().closeInventory(); return; } // Get the dimensions and if needed increases them if (ladder.get().ranks.size() == 0) { - getPlayer().sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFound"))); + getPlayer().sendMessage(SpigotPrison.format(messages.getString("Message.NoRanksFound"))); return; } @@ -164,8 +164,8 @@ private void buttonsSetup(int dimension, Inventory inv, Rank rank, Rank playerRa while ( rank != null ) { List ranksLore = createLore( - messages.getString("Gui.Lore.Info"), - messages.getString("Gui.Lore.Price3") + rank.cost + messages.getString("Lore.Info"), + messages.getString("Lore.Price3") + rank.cost ); ItemStack itemRank = createButton( @@ -190,11 +190,11 @@ private void buttonsSetup(int dimension, Inventory inv, Rank rank, Rank playerRa } List rankupLore = createLore( - messages.getString("Gui.Lore.IfYouHaveEnoughMoney"), - messages.getString("Gui.Lore.ClickToRankup") + messages.getString("Lore.IfYouHaveEnoughMoney"), + messages.getString("Lore.ClickToRankup") ); - ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format(messages.getString("Gui.Lore.Rankup"))); + ItemStack rankupButton = createButton(Material.EMERALD_BLOCK, 1, rankupLore, SpigotPrison.format(messages.getString("Lore.Rankup"))); inv.setItem(dimension - 5, rankupButton); } } \ No newline at end of file diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 5cc9e6e27..0b495f2c9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -61,25 +61,25 @@ private void buttonsSetup(Inventory inv) { // Create the lore List rankupCommandsLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Lore.ClickToOpen"), "", - messages.getString("Gui.Lore.Info") + messages.getString("Lore.Info") ); SpigotRanksGUI.getCommands(rankupCommandsLore, rank); // Create the lore List editPriceLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Lore.ClickToOpen"), "", - messages.getString("Gui.Lore.Info"), - messages.getString("Gui.Lore.Price") + rank.cost + messages.getString("Lore.Info"), + messages.getString("Lore.Price") + rank.cost ); List editTagLore = createLore( - messages.getString("Gui.Lore.ClickToOpen"), + messages.getString("Lore.ClickToOpen"), "", - messages.getString("Gui.Lore.Info"), - messages.getString("Gui.Lore.Tag") + rank.tag + messages.getString("Lore.Info"), + messages.getString("Lore.Tag") + rank.tag ); // Create the button @@ -89,7 +89,7 @@ private void buttonsSetup(Inventory inv) { } List closeGUILore = createLore( - messages.getString("Gui.Lore.ClickToClose") + messages.getString("Lore.ClickToClose") ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java index 08272a451..d30e6b08a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankPriceGUI.java @@ -61,16 +61,16 @@ private void buttonsSetup(Inventory inv) { // Create a new lore List changeDecreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToDecrease") + messages.getString("Lore.ClickToDecrease") ); List confirmButtonLore; confirmButtonLore = createLore( - messages.getString("Gui.Lore.LeftClickToConfirm"), - messages.getString("Gui.Lore.Price2") + val, - messages.getString("Gui.Lore.RightClickToCancel") + messages.getString("Lore.LeftClickToConfirm"), + messages.getString("Lore.Price2") + val, + messages.getString("Lore.RightClickToCancel") ); List changeIncreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToIncrease") + messages.getString("Lore.ClickToIncrease") ); // Decrease button diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java index 619b21100..baa32c80c 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankUPCommandsGUI.java @@ -39,7 +39,7 @@ public void open() { } if (rank.rankUpCommands.size() == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRankupCommands"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.NoRankupCommands"))); return; } @@ -50,14 +50,14 @@ public void open() { // If the inventory is empty if (dimension == 0){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.EmptyGui"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.EmptyGui"))); p.closeInventory(); return; } // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyRankupCommands"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManyRankupCommands"))); p.closeInventory(); return; } @@ -94,10 +94,10 @@ private void buttonsSetup(Inventory inv, String command) { ItemStack itemCommand; // Init the lore array with default values for ladders List commandsLore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), + messages.getString("Lore.ShiftAndRightClickToDelete"), "", - messages.getString("Gui.Lore.Info")); - commandsLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Command") + command)); + messages.getString("Lore.Info")); + commandsLore.add(SpigotPrison.format(messages.getString("Lore.Command") + command)); // Make the button with materials, amount, lore and name itemCommand = createButton(Material.TRIPWIRE_HOOK, 1, commandsLore, SpigotPrison.format("&3" + rank.name + " " + command)); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index 3eb0ef986..9c586d4a2 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -51,7 +51,7 @@ public void open() { if (ladder.isPresent() && !(ladder.get().ranks.size() == 0)) { dimension = (int) Math.ceil(ladder.get().ranks.size() / 9D) * 9; } else { - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoRanksFoundAdmin"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.NoRanksFoundAdmin"))); return; } @@ -65,7 +65,7 @@ public void open() { // If the dimension's too big, don't open the GUI if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManyRanks"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManyRanks"))); p.closeInventory(); return; } @@ -108,13 +108,13 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { ItemStack itemRank; // Init the lore array with default values for ladders List ranksLore = createLore( - messages.getString("Gui.Lore.ShiftAndRightClickToDelete"), - messages.getString("Gui.Lore.ClickToManageRank"), + messages.getString("Lore.ShiftAndRightClickToDelete"), + messages.getString("Lore.ClickToManageRank"), "", - messages.getString("Gui.Lore.Info")); + messages.getString("Lore.Info")); if (!rankOptional.isPresent()){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.CantGetRanksAdmin"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.CantGetRanksAdmin"))); return; } @@ -122,10 +122,10 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { Rank rank = rankOptional.get(); // Add the RankID Lore - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Id") + rank.id)); - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Name") + rank.name)); - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Tag2") + ChatColor.translateAlternateColorCodes('&', rank.tag))); - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.Price3") + rank.cost)); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.Id") + rank.id)); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.Name") + rank.name)); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.Tag2") + ChatColor.translateAlternateColorCodes('&', rank.tag))); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.Price3") + rank.cost)); // Init a variable List players = @@ -134,7 +134,7 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { .collect(Collectors.toList()); // Add the number of players with this rank - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.PlayersWithTheRank") + players.size())); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.PlayersWithTheRank") + players.size())); ranksLore.add(""); getCommands(ranksLore, rank); @@ -148,13 +148,13 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { static void getCommands(List ranksLore, Rank rank) { if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ContainsTheRank") + rank.name + messages.getString("Gui.Lore.ContainsNoCommands"))); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.ContainsTheRank") + rank.name + messages.getString("Lore.ContainsNoCommands"))); } else { - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.LadderThereAre") + rank.rankUpCommands.size() + messages.getString("Gui.Lore.LadderCommands"))); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.LadderThereAre") + rank.rankUpCommands.size() + messages.getString("Lore.LadderCommands"))); for (String command : rank.rankUpCommands) { - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.RankupCommands") + command)); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.RankupCommands") + command)); } - ranksLore.add(SpigotPrison.format(messages.getString("Gui.Lore.ClickToManageCommands"))); + ranksLore.add(SpigotPrison.format(messages.getString("Lore.ClickToManageCommands"))); } } } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java index 69994efe8..a6827a8b1 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllAdminGUI.java @@ -66,7 +66,7 @@ private Inventory buttonsSetup() { int dimension = (int) Math.ceil(items.size() / 9D) * 9; if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManySellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManySellAllItems"))); return null; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java index ddcd10c17..9b38d65b5 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPlayerGUI.java @@ -53,7 +53,7 @@ private Inventory buttonsSetup() { } if (emptyInv){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.NoSellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.NoSellAllItems"))); p.closeInventory(); return null; } @@ -65,7 +65,7 @@ private Inventory buttonsSetup() { int dimension = (int) Math.ceil(items.size() / 9D) * 9; if (dimension > 54){ - p.sendMessage(SpigotPrison.format(messages.getString("Gui.Message.TooManySellAllItems"))); + p.sendMessage(SpigotPrison.format(messages.getString("Message.TooManySellAllItems"))); return null; } @@ -73,7 +73,7 @@ private Inventory buttonsSetup() { for (String key : items) { List itemsLore = createLore( - messages.getString("Gui.Lore.Value") + conf.getString("Items." + key + ".ITEM_VALUE") + messages.getString("Lore.Value") + conf.getString("Items." + key + ".ITEM_VALUE") ); ItemStack item = createButton(Material.valueOf(conf.getString("Items." + key + ".ITEM_ID")), 1, itemsLore, SpigotPrison.format("&3" + conf.getString("Items." + key + ".ITEM_ID"))); inv.addItem(item); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java index 4f981bc64..3b11735ef 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/sellall/SellAllPriceGUI.java @@ -56,15 +56,15 @@ private void buttonsSetup(Inventory inv) { // Create a new lore List changeDecreaseValueLore; changeDecreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToDecrease") + messages.getString("Lore.ClickToDecrease") ); List confirmButtonLore = createLore( - messages.getString("Gui.Lore.LeftClickToConfirm"), - messages.getString("Gui.Lore.Price2") + val, - messages.getString("Gui.Lore.RightClickToCancel") + messages.getString("Lore.LeftClickToConfirm"), + messages.getString("Lore.Price2") + val, + messages.getString("Lore.RightClickToCancel") ); List changeIncreaseValueLore = createLore( - messages.getString("Gui.Lore.ClickToIncrease") + messages.getString("Lore.ClickToIncrease") ); From 5d4715eebf6a746501171c282b949894f1657b8f Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Tue, 17 Nov 2020 23:25:14 +0100 Subject: [PATCH 236/243] Removed rankupCommands preview Changelogs: - Removed rankupCommands preview from the ranks GUI, as it was ruining the whole lore experience of ranks. --- .../spigot/gui/rank/SpigotRankManagerGUI.java | 2 +- .../spigot/gui/rank/SpigotRanksGUI.java | 26 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java index 0b495f2c9..0fc26cefa 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRankManagerGUI.java @@ -66,7 +66,7 @@ private void buttonsSetup(Inventory inv) { messages.getString("Lore.Info") ); - SpigotRanksGUI.getCommands(rankupCommandsLore, rank); + // SpigotRanksGUI.getCommands(rankupCommandsLore, rank); // Create the lore List editPriceLore = createLore( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java index 9c586d4a2..d13096799 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotRanksGUI.java @@ -136,7 +136,7 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { // Add the number of players with this rank ranksLore.add(SpigotPrison.format(messages.getString("Lore.PlayersWithTheRank") + players.size())); ranksLore.add(""); - getCommands(ranksLore, rank); + //getCommands(ranksLore, rank); // Make the button with materials, amount, lore and name itemRank = createButton(Material.TRIPWIRE_HOOK, 1, ranksLore, SpigotPrison.format("&3" + rank.name)); @@ -145,16 +145,16 @@ private void buttonsSetup(Inventory inv, Optional rankOptional) { inv.addItem(itemRank); } - static void getCommands(List ranksLore, Rank rank) { - - if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { - ranksLore.add(SpigotPrison.format(messages.getString("Lore.ContainsTheRank") + rank.name + messages.getString("Lore.ContainsNoCommands"))); - } else { - ranksLore.add(SpigotPrison.format(messages.getString("Lore.LadderThereAre") + rank.rankUpCommands.size() + messages.getString("Lore.LadderCommands"))); - for (String command : rank.rankUpCommands) { - ranksLore.add(SpigotPrison.format(messages.getString("Lore.RankupCommands") + command)); - } - ranksLore.add(SpigotPrison.format(messages.getString("Lore.ClickToManageCommands"))); - } - } + //static void getCommands(List ranksLore, Rank rank) { + + // if (rank.rankUpCommands == null || rank.rankUpCommands.size() == 0) { + // ranksLore.add(SpigotPrison.format(messages.getString("Lore.ContainsTheRank") + rank.name + messages.getString("Lore.ContainsNoCommands"))); + // } else { + // ranksLore.add(SpigotPrison.format(messages.getString("Lore.LadderThereAre") + rank.rankUpCommands.size() + messages.getString("Lore.LadderCommands"))); + // for (String command : rank.rankUpCommands) { + // ranksLore.add(SpigotPrison.format(messages.getString("Lore.RankupCommands") + command)); + // } + // ranksLore.add(SpigotPrison.format(messages.getString("Lore.ClickToManageCommands"))); + // } + //} } From 781193b4f2a9442a4565306ca2c69e46ed14d6d2 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Thu, 19 Nov 2020 20:23:33 -0500 Subject: [PATCH 237/243] Changes to the gui commands to prevent console from running a few. Also remove the alias of "prisonmanager" for "gui". It was reported that when a non-admin tried to use /mines that it was giving the error message assoicated with /gui. Cannot see a direct relationship there, but hard linked /mines to /gui mines by calling the function directly instead of resubmitting the command. Not sure if this fixes the issue, but I was unable to reproduce it. --- .../spigot/commands/PrisonSpigotCommands.java | 40 +++++++++++++------ .../spigot/gui/mine/SpigotPlayerMinesGUI.java | 1 - 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index 3b343e0a9..bbf84972f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -29,7 +29,8 @@ public class PrisonSpigotCommands public void minesGUICommand(CommandSender sender) { if (!sender.hasPermission("mines.admin") && isPrisonConfig("mines-gui-enabled") ) { - sender.dispatchCommand("gui mines"); + prisonManagerMines( sender ); +// sender.dispatchCommand("gui mines"); } else { sender.dispatchCommand("mines help"); @@ -48,7 +49,8 @@ public void ranksGUICommand(CommandSender sender, if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && isPrisonConfig("ranks-gui-enabled") ) { - sender.dispatchCommand("gui ranks"); + prisonManagerRanks( sender ); +// sender.dispatchCommand("gui ranks"); } else if (ladderName.equalsIgnoreCase("prestiges") && isPrisonConfig( "ranks-gui-prestiges-enabled") ) { @@ -70,8 +72,15 @@ else if (ladderName.equalsIgnoreCase("prestiges") && onlyPlayers = true ) private void prisonManagerMines(CommandSender sender) { + Player player = getSpigotPlayer(sender); + + if (player == null) { + sender.sendMessage( messages.getString("Message.CantRunGUIFromConsole")); + return; + } + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Mines.GUI_Enabled") ){ - sender.sendMessage(SpigotPrison.format(messages.getString("Message.mineOrGuiDisabled"))); + sender.sendMessage(messages.getString("Message.mineOrGuiDisabled")); return; } @@ -80,13 +89,12 @@ private void prisonManagerMines(CommandSender sender) { String perm = getConfig( "Options.Mines.Permission_GUI"); if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(SpigotPrison.format(messages.getString("Message.mineMissingGuiPermission") + " [" + - perm + "]")); + sender.sendMessage(messages.getString("Message.mineMissingGuiPermission") + " [" + + perm + "]"); return; } } - Player player = getSpigotPlayer( sender ); SpigotPlayerMinesGUI gui = new SpigotPlayerMinesGUI( player ); gui.open(); } @@ -97,8 +105,17 @@ private void prisonManagerMines(CommandSender sender) { onlyPlayers = true ) private void prisonManagerRanks(CommandSender sender) { + Player player = getSpigotPlayer(sender); + + if (player == null) { + sender.sendMessage( messages.getString("Message.CantRunGUIFromConsole")); + return; + } + if (!isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled")) { - sender.sendMessage(SpigotPrison.format(String.format( messages.getString("Message.rankGuiDisabledOrAllGuiDisabled"), getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); + sender.sendMessage(String.format(String.format( + messages.getString("Message.rankGuiDisabledOrAllGuiDisabled"), + getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); return; } @@ -106,13 +123,12 @@ private void prisonManagerRanks(CommandSender sender) { String perm = getConfig( "Options.Ranks.Permission_GUI"); if (!sender.hasPermission(perm)) { - sender.sendMessage(SpigotPrison.format(messages.getString("Message.rankGuiMissingPermission") + " [" + - perm + "]")); + sender.sendMessage(messages.getString("Message.rankGuiMissingPermission") + " [" + + perm + "]"); return; } } - Player player = getSpigotPlayer( sender ); SpigotPlayerRanksGUI gui = new SpigotPlayerRanksGUI( player ); gui.open(); } @@ -124,7 +140,7 @@ private void prisonManagerRanks(CommandSender sender) { * @param sender */ @Command( identifier = "gui", description = "The GUI", - aliases = {"prisonmanager", "prisonmanager gui", "gui admin"}, + aliases = {"prisonmanager gui", "gui admin"}, permissions = {"prison.admin", "prison.prisonmanagergui"}, onlyPlayers = false ) @@ -133,7 +149,7 @@ private void prisonManagerGUI(CommandSender sender) { Player player = getSpigotPlayer(sender); if (player == null) { - sender.sendMessage( SpigotPrison.format(messages.getString("Message.CantRunGUIFromConsole"))); + sender.sendMessage( messages.getString("Message.CantRunGUIFromConsole")); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index fa379532b..f40840347 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -18,7 +18,6 @@ import tech.mcprison.prison.output.Output; import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.SpigotUtil; -import tech.mcprison.prison.spigot.gui.ListenersPrisonManager; import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; public class SpigotPlayerMinesGUI extends SpigotGUIComponents { From adcba4a74404f29d2c488b65c84195e16bc02a58 Mon Sep 17 00:00:00 2001 From: GABRYCA Date: Fri, 20 Nov 2020 20:23:58 +0100 Subject: [PATCH 238/243] Fixed rename action from GUI Changelogs: - Fixed Rename action from GUI --- .../mcprison/prison/spigot/gui/ListenersPrisonManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index b6fd13e8e..8a1ddd05f 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -171,10 +171,8 @@ private void modeAction(AsyncPlayerChatEvent e, Player p, String message) { // Check which one to use if (rankNameOfChat != null) { rankAction(e, p, message); - rankNameOfChat = null; } else if (mineNameOfChat != null) { mineAction(e, p, message); - mineNameOfChat = null; } // If the mode's prestige will execute this } else if (mode.equalsIgnoreCase("prestige")){ @@ -209,6 +207,7 @@ private void mineAction(AsyncPlayerChatEvent e, Player p, String message) { // Cancel the event and deactivate the chat event, set boolean to false e.setCancelled(true); isChatEventActive = false; + mineNameOfChat = null; } private void rankAction(AsyncPlayerChatEvent e, Player p, String message) { @@ -221,6 +220,7 @@ private void rankAction(AsyncPlayerChatEvent e, Player p, String message) { // Cancel the event and set the boolean to false, so it can be deactivated e.setCancelled(true); isChatEventActive = false; + rankNameOfChat = null; } // Cancel the events of the active GUI opened from the player From afad20d875ab391db6973d5061db4ef80e87890d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 21 Nov 2020 12:58:47 -0500 Subject: [PATCH 239/243] doc updates --- changelog_v3.2.x.md | 25 +++++++++++++++++++++++-- knownissues_v3.2.x.md | 11 +++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index a8213c7b7..a272ac526 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,10 +8,31 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.13 - 2020-11-13 +## tag v3.2.2-alpha.13 - 2020-11-19 -* **v3.2.2-alpha.13 - 2020-11-13** +* **Changes to the gui commands to prevent console from running a few gui commands.** +Also remove the alias of "prisonmanager" for "gui". +It was reported that when a non-admin tried to use /mines that it was giving the error message associated with /gui. Cannot see a direct relationship there, but hard linked /mines to /gui mines by calling the function directly instead of resubmitting the command. Not sure if this fixes the issue, but I was unable to reproduce it. + + +* **Minor changes** +Add more to the BaseCommands and start to hook them up. Fix usage of getting the current economy. + + +* **To prevent prestige related commands from being registered with bukkit**, +pulled prestige related commands in to their own command class and then conditionally register them if prestiges are enabled. Cleaned up a few other things such as remove use of deprecated functions and +moving the implementation of isPrisonConfig to SpigotPrison to simplify a few things and eliminate duplication. + + +* **Fixed a problem with bukkit on a paper v1.16.4 server where the Bukkit.getOfflinePlayers() was returning either a null player, or a player had a name that was null.** + + +* **v3.2.2-alpha.13 - 2020-11-15** + + +* **Updates to the GUI: many.** +Moving configs to a common package to better manage them, or to prepare to merge them in the future. Many other fixes and enhancements. * **Updated the SpigotMineBlockPercentageGUI to include a Close button and to show the selected block top and center.** diff --git a/knownissues_v3.2.x.md b/knownissues_v3.2.x.md index 3daebb06d..ee9ae611b 100644 --- a/knownissues_v3.2.x.md +++ b/knownissues_v3.2.x.md @@ -10,6 +10,17 @@ issues, and/or to serve as items that should be added, or fixed. # To Do Items - During Alpha v3.2.2 +* **Get new block model working** + * Start to enable and test various functions + * Add in Custom Items Integration + * Code Integration for CI - Key to specific version due to api changes + * Pull in custom blocks from CI API + * Place blocks with CI api + * Not sure how block break would work with CI api? + * Setup sellall to work with CI api + + + * **Combine a few commands & Other short Notes:** - Combine `/mines set rank` and `/mines set norank` - Combine `/mines set notificationPerm` with `/mines set notification`. Add an option to enable perms. Allow the perm to be changed? Maybe even use as a default the same permission that is used in `/ranks autoConfigure`. From d49b28d0b52160a7e14ff10ef96f5c6016a28c51 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:00:51 -0500 Subject: [PATCH 240/243] updated comments on a few platform commands --- .../prison/internal/platform/Platform.java | 18 ++++++++++++++++++ .../mcprison/prison/spigot/SpigotPlatform.java | 6 +++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java index 4a01d8bf7..37d98ca41 100644 --- a/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java +++ b/prison-core/src/main/java/tech/mcprison/prison/internal/platform/Platform.java @@ -259,9 +259,27 @@ default Optional getCommand(String label) { public String getConfigString( String key ); + /** + *

    This returns the boolean value that is associated with the key. + * It has to match on true to return a true value. If the key does + * not exist, then it returns a value of false. Default value is false. + *

    + * + * @param key + * @return + */ public boolean getConfigBooleanFalse( String key ); + /** + *

    This returns the boolean value that is associated with the key. + * It has to match on true to return a true value, but if the key does + * not exist, then it returns a value of true. Default value is true. + *

    + * + * @param key + * @return + */ public boolean getConfigBooleanTrue( String key ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java index d26ca9d1c..5e036d942 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPlatform.java @@ -712,7 +712,7 @@ public String getConfigString( String key ) { /** *

    This returns the boolean value that is associated with the key. * It has to match on true to return a true value. If the key does - * not exist, then it returns a value of false. + * not exist, then it returns a value of false. Default value is false. *

    * * @param key @@ -728,8 +728,8 @@ public boolean getConfigBooleanFalse( String key ) { /** *

    This returns the boolean value that is associated with the key. - * It has to match on true to return a true value. If the key does - * not exist, then it returns a value of true. + * It has to match on true to return a true value, but if the key does + * not exist, then it returns a value of true. Default value is true. *

    * * @param key From b85993193724af973bec327ae695b3d77f0aa4d2 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:03:47 -0500 Subject: [PATCH 241/243] Split out the gui ranks and gui mines commands from the main spigot gui commands. This allows them to be enabled on their own, or more importantly, prevent them from being registered if the modules are not loaded. --- .../commands/PrisonSpigotBaseCommands.java | 9 +- .../spigot/commands/PrisonSpigotCommands.java | 121 +----------------- .../commands/PrisonSpigotMinesCommands.java | 58 +++++++++ .../commands/PrisonSpigotRanksCommands.java | 75 +++++++++++ 4 files changed, 141 insertions(+), 122 deletions(-) create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotMinesCommands.java create mode 100644 prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotRanksCommands.java diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java index a65d086a4..783b61462 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotBaseCommands.java @@ -9,8 +9,13 @@ public class PrisonSpigotBaseCommands { - - protected boolean isConfig( String configId ) { + private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); + + public Configuration getMessages() { + return messages; + } + + protected boolean isConfig( String configId ) { String config = getConfig().getString( configId ); boolean results = config != null && config.equalsIgnoreCase( "true" ); diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java index bbf84972f..596a82667 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotCommands.java @@ -1,16 +1,11 @@ package tech.mcprison.prison.spigot.commands; -import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.event.Listener; -import tech.mcprison.prison.commands.Arg; import tech.mcprison.prison.commands.Command; import tech.mcprison.prison.internal.CommandSender; -import tech.mcprison.prison.spigot.SpigotPrison; import tech.mcprison.prison.spigot.gui.SpigotPrisonGUI; -import tech.mcprison.prison.spigot.gui.mine.SpigotPlayerMinesGUI; -import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerRanksGUI; /** * @author GABRYCA @@ -20,120 +15,6 @@ public class PrisonSpigotCommands extends PrisonSpigotBaseCommands implements Listener { - private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); - - // CommandSender senderOfCommand; - - @Command(identifier = "mines", onlyPlayers = false, - altPermissions = {"-none-", "mines.admin"}) - public void minesGUICommand(CommandSender sender) { - if (!sender.hasPermission("mines.admin") && isPrisonConfig("mines-gui-enabled") ) { - - prisonManagerMines( sender ); -// sender.dispatchCommand("gui mines"); - } - else { - sender.dispatchCommand("mines help"); - } - } - - - @Command(identifier = "ranks", onlyPlayers = false, - altPermissions = {"-none-", "ranks.admin"}) - public void ranksGUICommand(CommandSender sender, - @Arg(name = "ladder", def = "default", - description = "If player has no permission to /ranks then /ranks list will be ran instead.") - String ladderName) { - if (!sender.hasPermission("ranks.admin")) { - - if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && - isPrisonConfig("ranks-gui-enabled") ) { - - prisonManagerRanks( sender ); -// sender.dispatchCommand("gui ranks"); - } - else if (ladderName.equalsIgnoreCase("prestiges") && - isPrisonConfig( "ranks-gui-prestiges-enabled") ) { - - sender.dispatchCommand("gui prestiges"); - } - else { - sender.dispatchCommand("ranks list " + ladderName); - } - } - else { - sender.dispatchCommand("ranks help"); - } - } - - - @Command( identifier = "gui mines", description = "GUI Mines", - aliases = {"prisonmanager mines"}, - onlyPlayers = true ) - private void prisonManagerMines(CommandSender sender) { - - Player player = getSpigotPlayer(sender); - - if (player == null) { - sender.sendMessage( messages.getString("Message.CantRunGUIFromConsole")); - return; - } - - if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Mines.GUI_Enabled") ){ - sender.sendMessage(messages.getString("Message.mineOrGuiDisabled")); - return; - } - - - if ( isConfig("Options.Mines.Permission_GUI_Enabled") ){ - String perm = getConfig( "Options.Mines.Permission_GUI"); - - if ( !sender.hasPermission( perm ) ){ - sender.sendMessage(messages.getString("Message.mineMissingGuiPermission") + " [" + - perm + "]"); - return; - } - } - - SpigotPlayerMinesGUI gui = new SpigotPlayerMinesGUI( player ); - gui.open(); - } - - - @Command( identifier = "gui ranks", description = "GUI Ranks", - aliases = {"prisonmanager ranks"}, - onlyPlayers = true ) - private void prisonManagerRanks(CommandSender sender) { - - Player player = getSpigotPlayer(sender); - - if (player == null) { - sender.sendMessage( messages.getString("Message.CantRunGUIFromConsole")); - return; - } - - if (!isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled")) { - sender.sendMessage(String.format(String.format( - messages.getString("Message.rankGuiDisabledOrAllGuiDisabled"), - getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); - return; - } - - if (isConfig("Options.Ranks.Permission_GUI_Enabled")) { - String perm = getConfig( "Options.Ranks.Permission_GUI"); - if (!sender.hasPermission(perm)) { - - sender.sendMessage(messages.getString("Message.rankGuiMissingPermission") + " [" + - perm + "]"); - return; - } - } - - SpigotPlayerRanksGUI gui = new SpigotPlayerRanksGUI( player ); - gui.open(); - } - - /** * NOTE: onlyPlayers needs to be false so players can use /gui help on the command, even from console. * @@ -149,7 +30,7 @@ private void prisonManagerGUI(CommandSender sender) { Player player = getSpigotPlayer(sender); if (player == null) { - sender.sendMessage( messages.getString("Message.CantRunGUIFromConsole")); + sender.sendMessage( getMessages().getString("Message.CantRunGUIFromConsole")); return; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotMinesCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotMinesCommands.java new file mode 100644 index 000000000..5e1a0e34c --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotMinesCommands.java @@ -0,0 +1,58 @@ +package tech.mcprison.prison.spigot.commands; + +import org.bukkit.entity.Player; + +import tech.mcprison.prison.commands.Command; +import tech.mcprison.prison.internal.CommandSender; +import tech.mcprison.prison.spigot.gui.mine.SpigotPlayerMinesGUI; + +public class PrisonSpigotMinesCommands + extends PrisonSpigotBaseCommands { + + @Command(identifier = "mines", onlyPlayers = false, + altPermissions = {"-none-", "mines.admin"}) + public void minesGUICommand(CommandSender sender) { + if (!sender.hasPermission("mines.admin") && isPrisonConfig("mines-gui-enabled") ) { + + prisonManagerMines( sender ); +// sender.dispatchCommand("gui mines"); + } + else { + sender.dispatchCommand("mines help"); + } + } + + + @Command( identifier = "gui mines", description = "GUI Mines", + aliases = {"prisonmanager mines"}, + onlyPlayers = true ) + private void prisonManagerMines(CommandSender sender) { + + Player player = getSpigotPlayer(sender); + + if (player == null) { + sender.sendMessage( getMessages().getString("Message.CantRunGUIFromConsole")); + return; + } + + if ( !isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Mines.GUI_Enabled") ){ + sender.sendMessage( getMessages().getString("Message.mineOrGuiDisabled")); + return; + } + + + if ( isConfig("Options.Mines.Permission_GUI_Enabled") ){ + String perm = getConfig( "Options.Mines.Permission_GUI"); + + if ( !sender.hasPermission( perm ) ){ + sender.sendMessage( getMessages().getString("Message.mineMissingGuiPermission") + " [" + + perm + "]"); + return; + } + } + + SpigotPlayerMinesGUI gui = new SpigotPlayerMinesGUI( player ); + gui.open(); + } + +} diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotRanksCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotRanksCommands.java new file mode 100644 index 000000000..9d5f3230b --- /dev/null +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotRanksCommands.java @@ -0,0 +1,75 @@ +package tech.mcprison.prison.spigot.commands; + +import org.bukkit.entity.Player; + +import tech.mcprison.prison.commands.Arg; +import tech.mcprison.prison.commands.Command; +import tech.mcprison.prison.internal.CommandSender; +import tech.mcprison.prison.spigot.gui.rank.SpigotPlayerRanksGUI; + +public class PrisonSpigotRanksCommands + extends PrisonSpigotBaseCommands { + + @Command(identifier = "ranks", onlyPlayers = false, + altPermissions = {"-none-", "ranks.admin"}) + public void ranksGUICommand(CommandSender sender, + @Arg(name = "ladder", def = "default", + description = "If player has no permission to /ranks then /ranks list will be ran instead.") + String ladderName) { + if (!sender.hasPermission("ranks.admin")) { + + if ((ladderName.equalsIgnoreCase("default") || ladderName.equalsIgnoreCase("ranks")) && + isPrisonConfig("ranks-gui-enabled") ) { + + prisonManagerRanks( sender ); +// sender.dispatchCommand("gui ranks"); + } + else if (ladderName.equalsIgnoreCase("prestiges") && + isPrisonConfig( "ranks-gui-prestiges-enabled") ) { + + sender.dispatchCommand("gui prestiges"); + } + else { + sender.dispatchCommand("ranks list " + ladderName); + } + } + else { + sender.dispatchCommand("ranks help"); + } + } + + + @Command( identifier = "gui ranks", description = "GUI Ranks", + aliases = {"prisonmanager ranks"}, + onlyPlayers = true ) + private void prisonManagerRanks(CommandSender sender) { + + Player player = getSpigotPlayer(sender); + + if (player == null) { + sender.sendMessage( getMessages().getString("Message.CantRunGUIFromConsole")); + return; + } + + if (!isPrisonConfig("prison-gui-enabled") || !isConfig("Options.Ranks.GUI_Enabled")) { + sender.sendMessage(String.format(String.format( + getMessages().getString("Message.rankGuiDisabledOrAllGuiDisabled"), + getPrisonConfig("prison-gui-enabled"), getConfig("Options.Ranks.GUI_Enabled") ))); + return; + } + + if (isConfig("Options.Ranks.Permission_GUI_Enabled")) { + String perm = getConfig( "Options.Ranks.Permission_GUI"); + if (!sender.hasPermission(perm)) { + + sender.sendMessage( getMessages().getString("Message.rankGuiMissingPermission") + " [" + + perm + "]"); + return; + } + } + + SpigotPlayerRanksGUI gui = new SpigotPlayerRanksGUI( player ); + gui.open(); + } + +} From 867c82bd75e76846c1bf4e1da63911f6a009ae20 Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:07:43 -0500 Subject: [PATCH 242/243] Refactored where the commands that are outside of the modules are registered. they are now registered within the function where the modules are registered to allow the related commands to either be registered or not, based upon the modules. Refactored how some of the commands/configs are setup to be more flexible, or to better follow the standards of how prison has been instantiating them (ListenersPrisonManager). --- .../prison/spigot/SpigotListener.java | 10 ++- .../mcprison/prison/spigot/SpigotPrison.java | 74 +++++++++++++------ .../prison/spigot/configs/SellAllConfig.java | 22 +++--- .../spigot/gui/ListenersPrisonManager.java | 6 +- .../spigot/sellall/SellAllCommands.java | 12 +-- 5 files changed, 79 insertions(+), 45 deletions(-) diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java index 53b1f164a..e1f2dec97 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotListener.java @@ -18,7 +18,6 @@ package tech.mcprison.prison.spigot; -import org.bukkit.Bukkit; import org.bukkit.event.Cancellable; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -61,11 +60,14 @@ public class SpigotListener implements Listener { public SpigotListener() { + super(); } - public void init() { - Bukkit.getServer().getPluginManager().registerEvents(this, SpigotPrison.getInstance()); - } + // Do not use this init() function since it is non-standard in how + // prison is registering events. See SpigotPrison.onEnable(). +// public void init() { +// Bukkit.getServer().getPluginManager().registerEvents(this, SpigotPrison.getInstance()); +// } @EventHandler public void onPlayerJoin(PlayerJoinEvent e) { Prison.get().getEventBus().post( diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java index bcdc93263..67170a3e6 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/SpigotPrison.java @@ -55,7 +55,9 @@ import tech.mcprison.prison.spigot.autofeatures.AutoManagerFeatures; import tech.mcprison.prison.spigot.block.OnBlockBreakEventListener; import tech.mcprison.prison.spigot.commands.PrisonSpigotCommands; +import tech.mcprison.prison.spigot.commands.PrisonSpigotMinesCommands; import tech.mcprison.prison.spigot.commands.PrisonSpigotPrestigeCommands; +import tech.mcprison.prison.spigot.commands.PrisonSpigotRanksCommands; import tech.mcprison.prison.spigot.compat.Compatibility; import tech.mcprison.prison.spigot.compat.Spigot113; import tech.mcprison.prison.spigot.compat.Spigot18; @@ -153,44 +155,36 @@ public void onEnable() { initCommandMap(); initCompatibility(); initUpdater(); + this.scheduler = new SpigotScheduler(this); Prison.get().init(new SpigotPlatform(this), Bukkit.getVersion()); Prison.get().getLocaleManager().setDefaultLocale(getConfig().getString("default-language", "en_US")); + Bukkit.getPluginManager().registerEvents(new ListenersPrisonManager(),this); Bukkit.getPluginManager().registerEvents(new AutoManager(), this); Bukkit.getPluginManager().registerEvents(new OnBlockBreakEventListener(), this); Bukkit.getPluginManager().registerEvents(new SlimeBlockFunEventListener(), this); - PrisonSpigotCommands spigotCommands = new PrisonSpigotCommands(); - Prison.get().getCommandHandler().registerCommands( spigotCommands ); - - if ( !isPrisonConfig( "prestiges") ) { - // Enable the setup of the prestige related commands only if prestiges is enabled: - Prison.get().getCommandHandler().registerCommands( new PrisonSpigotPrestigeCommands() ); - } - - new SellAllConfig(); - new GuiConfig(); - new SpigotListener().init(); - + Bukkit.getPluginManager().registerEvents(new SpigotListener(), this); - // Prison.get().getCommandHandler().registerCommands(new PrisonShortcutCommands()); initIntegrations(); - initModules(); + + + // NOTE: Put all commands within the initModulesAndCommands() function. + initModulesAndCommands(); + applyDeferredIntegrationInitializations(); initMetrics(); + Prison.get().getPlatform().getPlaceholders().printPlaceholderStats(); + PrisonCommand cmdVersion = Prison.get().getPrisonCommands(); - // Only register the command if not enabled so it will not conflict with other sellall plugins: - if ( SellAllCommands.isEnabled() ) { - new SellAllConfig(); - getCommand("sellall").setExecutor(new SellAllCommands()); - } + // if (doAlertAboutConvert) { // Alerts.getInstance().sendAlert( @@ -236,14 +230,15 @@ public FileConfiguration getGuiConfig() { return guiConfig.getFileGuiConfig(); } - public FileConfiguration getSellAllConfig(){ - if (sellAllConfig == null) { + public FileConfiguration getSellAllConfig() { + if (sellAllConfig == null && SellAllCommands.isEnabled() ) { + sellAllConfig = new SellAllConfig(); } - return sellAllConfig.getFileSellAllConfig(); + return sellAllConfig == null ? null : sellAllConfig.getFileSellAllConfig(); } - public FileConfiguration getMessagesConfig(){ + public FileConfiguration getMessagesConfig() { if (messagesConfig == null) { messagesConfig = new MessagesConfig(); } @@ -417,7 +412,13 @@ private void registerIntegration(Integration integration) { PrisonAPI.getIntegrationManager().register(integration); } - private void initModules() { + /** + * This function registers all of the modules in prison. It should also manage + * the registration of "extra" commands that are outside of the modules, such + * as gui related commands. + * + */ + private void initModulesAndCommands() { YamlConfiguration modulesConf = loadConfig("modules.yml"); @@ -425,6 +426,9 @@ private void initModules() { if (modulesConf.getBoolean("mines")) { Prison.get().getModuleManager() .registerModule(new PrisonMines(getDescription().getVersion())); + + Prison.get().getCommandHandler().registerCommands( new PrisonSpigotMinesCommands() ); + } else { Output.get().logInfo("&7Modules: &cPrison Mines are disabled and were not Loaded. "); Output.get().logInfo("&7 Prison Mines have been disabled in &2plugins/Prison/modules.yml&7."); @@ -434,8 +438,18 @@ private void initModules() { if (modulesConf.getBoolean("ranks")) { Prison.get().getModuleManager() .registerModule(new PrisonRanks(getDescription().getVersion())); + + Prison.get().getCommandHandler().registerCommands( new PrisonSpigotRanksCommands() ); + + // NOTE: If ranks module is enabled, then try to register prestiges commands if enabled: + if ( !isPrisonConfig( "prestiges") ) { + // Enable the setup of the prestige related commands only if prestiges is enabled: + Prison.get().getCommandHandler().registerCommands( new PrisonSpigotPrestigeCommands() ); + } + } else { Output.get().logInfo("&3Modules: &cPrison Ranks, Ladders, and Players are disabled and were not Loaded. "); + Output.get().logInfo("&7 Prestiges cannot be enabled without ranks being enabled. "); Output.get().logInfo("&7 Prison Ranks have been disabled in &2plugins/Prison/modules.yml&7."); Prison.get().getModuleManager().getDisabledModules().add( PrisonRanks.MODULE_NAME ); } @@ -445,6 +459,18 @@ private void initModules() { if (modulesConf.getBoolean("mines") && modulesConf.getBoolean("ranks")) { linkMinesAndRanks(); } + + // Only register the command if it is enabled so it will not conflict with other sellall plugins if they are used: + if ( SellAllCommands.isEnabled() ) { + + // Do not hit this function here. It will lazy initialize if needed: + //getSellAllConfig(); + getCommand("sellall").setExecutor(new SellAllCommands()); + } + + // This registers the admin's /gui commands + Prison.get().getCommandHandler().registerCommands( new PrisonSpigotCommands() ); + } private void linkMinesAndRanks() { diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java index 07619bbc3..82836f56a 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/configs/SellAllConfig.java @@ -1,14 +1,14 @@ package tech.mcprison.prison.spigot.configs; +import java.io.File; +import java.io.IOException; + import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; + +import tech.mcprison.prison.Prison; import tech.mcprison.prison.output.Output; import tech.mcprison.prison.spigot.SpigotPrison; -import tech.mcprison.prison.spigot.gui.SpigotGUIComponents; - -import java.io.File; -import java.io.IOException; -import java.util.Objects; /** * @author GABRYCA @@ -20,11 +20,13 @@ public class SellAllConfig extends SpigotConfigComponents { public SellAllConfig(){ - if (!Objects.requireNonNull(SpigotPrison.getInstance().getConfig().getString("sellall")).equalsIgnoreCase("true")){ - return; - } - - initialize(); + // Do not use requireNonNull. Should never throw an exception if they don't have + // it configured. + if ( Prison.get().getPlatform().getConfigBooleanFalse( "sellall" ) ) { + + initialize(); + } + } private void initialize(){ diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java index 8a1ddd05f..5fda3d537 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/ListenersPrisonManager.java @@ -66,7 +66,11 @@ public class ListenersPrisonManager implements Listener { public String mineNameOfChat = null; private final Configuration config = SpigotPrison.getInstance().getConfig(); private final Configuration guiConfig = SpigotPrison.getInstance().getGuiConfig(); - private final Configuration sellAllConfig = SpigotPrison.getInstance().getSellAllConfig(); + + // NOTE: sellAllConfig will be null if sellall is not enbled. + @SuppressWarnings( "unused" ) + private final Configuration sellAllConfig = SpigotPrison.getInstance().getSellAllConfig(); + private final Configuration messages = SpigotPrison.getInstance().getMessagesConfig(); boolean guiNotEnabled = !(config.getString("prison-gui-enabled").equalsIgnoreCase("true")); public String mode; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java index 5d23ec0b0..4ee49f444 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/sellall/SellAllCommands.java @@ -1,5 +1,10 @@ package tech.mcprison.prison.spigot.sellall; +import java.io.File; +import java.io.IOException; +import java.util.Objects; +import java.util.Set; + import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.Command; @@ -9,10 +14,10 @@ import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; + import tech.mcprison.prison.Prison; import tech.mcprison.prison.PrisonAPI; import tech.mcprison.prison.integration.EconomyIntegration; -import tech.mcprison.prison.integration.IntegrationType; import tech.mcprison.prison.modules.Module; import tech.mcprison.prison.modules.ModuleManager; import tech.mcprison.prison.ranks.PrisonRanks; @@ -21,11 +26,6 @@ import tech.mcprison.prison.spigot.gui.sellall.SellAllAdminGUI; import tech.mcprison.prison.spigot.gui.sellall.SellAllPlayerGUI; -import java.io.File; -import java.io.IOException; -import java.util.Objects; -import java.util.Set; - /** * @author GABRYCA */ From 20dcd26b9482c9900e280c19be0979b531152b0d Mon Sep 17 00:00:00 2001 From: RoyalBlueRanger <665978+rbluer@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:10:19 -0500 Subject: [PATCH 243/243] version 3.2.2-alpha.14 --- changelog_v3.2.x.md | 15 ++++++++++++++- gradle.properties | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/changelog_v3.2.x.md b/changelog_v3.2.x.md index a272ac526..b72a3c3e1 100644 --- a/changelog_v3.2.x.md +++ b/changelog_v3.2.x.md @@ -8,7 +8,20 @@ is going on in each build so you have a better idea if it may be something that you need. -## tag v3.2.2-alpha.13 - 2020-11-19 +## tag v3.2.2-alpha.14 - 2020-11-21 + + +* **v3.2.2-alpha.14 - 2020-11-21** +Bump version... preparing for v3.2.2 bug fix. + + +* **Refactored where the commands that are outside of the modules are registered.** +They are now registered within the function where the modules are registered to allow the related commands to either be registered or not, based upon the modules. +Refactored how some of the commands/configs are setup to be more flexible, or to better follow the standards of how prison has been instantiating them (ListenersPrisonManager). + + +* **Split out the gui ranks and gui mines commands** from the main spigot gui commands. This allows them to be enabled on their own, or more importantly, prevent them from being registered if the modules are not loaded. + * **Changes to the gui commands to prevent console from running a few gui commands.** diff --git a/gradle.properties b/gradle.properties index 46accd0e4..e98ec377c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ ## # This is actually the "correct" place to define the version for the project. ## # Used within build.gradle with ${project.version}. ## # Can be overridden on the command line: gradle -Pversion=3.2.1-alpha.3 -version=3.2.2-alpha.13 +version=3.2.2-alpha.14 ## org.gradle.warning.mode=(all,none,summary) org.gradle.warning.mode=all

    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

  • wp6K2#J$uOv4Sx3@a)zZJ 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