From d0ab348bee56321822aa3d8496ba0e1afbb83027 Mon Sep 17 00:00:00 2001 From: TechStreet Date: Wed, 3 Jan 2024 16:54:54 +0000 Subject: [PATCH 1/4] add: huge amounts of progress on v2 --- .../dfscript/ActiondumpHandler.java | 88 ++++ .../github/techstreet/dfscript/DFScript.java | 3 +- .../dfscript/commands/CommandManager.java | 4 +- ...riptsCommand.java => DFScriptCommand.java} | 24 +- .../dfscript/event/HudRenderEvent.java | 1 - .../dfscript/event/ServerJoinEvent.java | 3 +- .../dfscript/features/AuthHandler.java | 140 ++++-- .../game/MClientCommonNetworkHandler.java | 12 +- .../mixin/game/MClientPlayNetworkHandler.java | 8 +- .../dfscript/mixin/player/MLocalPlayer.java | 3 - .../dfscript/mixin/render/MInGameHUD.java | 3 - .../mixin/render/MMultiplayerScreen.java | 6 +- .../dfscript/mixin/render/MOptionsScreen.java | 5 +- .../dfscript/screen/CReloadableScreen.java | 12 - .../techstreet/dfscript/screen/CScreen.java | 5 +- .../dfscript/screen/ContextMenuButton.java | 1 - .../dfscript/screen/dfscript/Contributor.java | 42 ++ .../screen/dfscript/ContributorsScreen.java | 104 +++++ .../screen/dfscript/DFScriptScreen.java | 53 +++ .../screen/dfscript/ScriptListScreen.java | 103 +++++ .../screen/overlay/OverlayManager.java | 1 - .../script/ScriptAddArgumentScreen.java | 143 ------ .../script/ScriptAddClientValueScreen.java | 51 --- .../script/ScriptAddConfigValueScreen.java | 58 --- .../ScriptAddFunctionArgValueScreen.java | 61 --- .../ScriptAddFunctionArgumentScreen.java | 77 ---- .../screen/script/ScriptAddHeaderScreen.java | 64 --- .../screen/script/ScriptAddPartScreen.java | 149 ------- .../screen/script/ScriptAddScreen.java | 159 ------- .../script/ScriptAddSettingSubtypeScreen.java | 1 - .../script/ScriptConditionCategoryScreen.java | 3 +- .../script/ScriptConditionSelectScreen.java | 1 - .../screen/script/ScriptCreationScreen.java | 63 --- .../screen/script/ScriptDeletionScreen.java | 30 -- .../ScriptEditFunctionArgumentScreen.java | 56 --- .../script/ScriptEditFunctionScreen.java | 208 --------- .../screen/script/ScriptEditPartScreen.java | 169 -------- .../screen/script/ScriptEditScreen.java | 409 ------------------ .../script/ScriptHeaderCategoryScreen.java | 84 ---- .../screen/script/ScriptInstallScreen.java | 112 ----- .../screen/script/ScriptListScreen.java | 244 ----------- .../screen/script/ScriptMessageScreen.java | 51 --- .../script/ScriptPartCategoryScreen.java | 45 -- .../screen/script/ScriptSetValueScreen.java | 141 ------ .../screen/script/ScriptSettingsScreen.java | 10 +- .../screen/util/ItemMaterialSelectMenu.java | 7 +- .../dfscript/screen/widget/CButton.java | 3 +- .../dfscript/screen/widget/CImage.java | 5 +- .../dfscript/screen/widget/CItem.java | 5 +- .../dfscript/screen/widget/CPlainPanel.java | 8 +- .../dfscript/screen/widget/CScrollPanel.java | 8 +- .../dfscript/screen/widget/CText.java | 3 +- .../dfscript/screen/widget/CTextField.java | 5 +- .../screen/widget/CTexturedButton.java | 4 +- .../dfscript/screen/widget/CWidget.java | 4 +- .../dfscript/screen/widget/CWrappedText.java | 5 +- .../dfscript/script/ScriptComment.java | 8 - .../dfscript/script/ScriptManager.java | 17 - .../dfscript/script/ScriptSnippet.java | 39 -- .../dfscript/script/VirtualScript.java | 84 ---- .../script/action/ScriptActionArgument.java | 24 + .../script/action/ScriptActionCategory.java | 1 - .../ScriptActionCategoryExtraPartCreator.java | 4 - .../script/action/ScriptActionType.java | 14 + .../argument/ScriptClientValueArgument.java | 16 + .../script/event/ScriptEventType.java | 12 + .../dfscript/util/ComponentUtil.java | 5 +- .../techstreet/dfscript/util/FileUtil.java | 1 + .../techstreet/dfscript/util/RenderUtil.java | 1 - .../techstreet/dfscript/util/Scheduler.java | 3 +- .../techstreet/dfscript/util/StringUtil.java | 13 +- .../techstreet/dfscript/util/VersionUtil.java | 1 + .../techstreet/dfscript/util/WebUtil.java | 1 + .../dfscript/util/chat/ChatUtil.java | 3 +- .../dfscript/util/chat/MessageGrabber.java | 3 +- .../util/chat/MessageGrabberTask.java | 3 +- .../render/BlendableTexturedButtonWidget.java | 4 - .../util/template/CompressionUtil.java | 6 +- .../assets/dfscript/icon_transparent.png | Bin 0 -> 482533 bytes 79 files changed, 647 insertions(+), 2683 deletions(-) create mode 100644 src/main/java/io/github/techstreet/dfscript/ActiondumpHandler.java rename src/main/java/io/github/techstreet/dfscript/commands/misc/{ScriptsCommand.java => DFScriptCommand.java} (87%) create mode 100644 src/main/java/io/github/techstreet/dfscript/screen/dfscript/Contributor.java create mode 100644 src/main/java/io/github/techstreet/dfscript/screen/dfscript/ContributorsScreen.java create mode 100644 src/main/java/io/github/techstreet/dfscript/screen/dfscript/DFScriptScreen.java create mode 100644 src/main/java/io/github/techstreet/dfscript/screen/dfscript/ScriptListScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddArgumentScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddClientValueScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddConfigValueScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgValueScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgumentScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddHeaderScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddPartScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptCreationScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptDeletionScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionArgumentScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditPartScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptHeaderCategoryScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptInstallScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptListScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptMessageScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptPartCategoryScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSetValueScreen.java delete mode 100644 src/main/java/io/github/techstreet/dfscript/script/VirtualScript.java create mode 100644 src/main/resources/assets/dfscript/icon_transparent.png diff --git a/src/main/java/io/github/techstreet/dfscript/ActiondumpHandler.java b/src/main/java/io/github/techstreet/dfscript/ActiondumpHandler.java new file mode 100644 index 0000000..2459b31 --- /dev/null +++ b/src/main/java/io/github/techstreet/dfscript/ActiondumpHandler.java @@ -0,0 +1,88 @@ +package io.github.techstreet.dfscript; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import io.github.techstreet.dfscript.loader.Loadable; +import io.github.techstreet.dfscript.script.action.ScriptActionArgument; +import io.github.techstreet.dfscript.script.action.ScriptActionArgumentList; +import io.github.techstreet.dfscript.script.action.ScriptActionType; +import io.github.techstreet.dfscript.script.argument.ScriptClientValueArgument; +import io.github.techstreet.dfscript.script.event.ScriptEventType; + +import java.io.File; +import java.nio.file.Files; + +public class ActiondumpHandler implements Loadable { + @Override + public void load() { + JsonObject obj = new JsonObject(); + JsonArray array = new JsonArray(); + + for (ScriptEventType type : ScriptEventType.values()) { + JsonObject event = new JsonObject(); + event.addProperty("identifier", type.name()); + event.addProperty("name", type.getName()); + event.addProperty("description", type.getDescription()); + event.addProperty("icon", type.getItem().toString()); + array.add(event); + } + + obj.add("events", array); + array = new JsonArray(); + + for (ScriptActionType type : ScriptActionType.values()) { + JsonObject event = new JsonObject(); + JsonArray array2 = new JsonArray(); + event.addProperty("identifier", type.name()); + event.addProperty("name", type.getName()); + event.addProperty("category", type.getCategory().name()); + event.addProperty("description", String.join("\n", type.getDescription())); + event.addProperty("icon", type.getItem().toString()); + + for (ScriptActionArgument arg : type.getArguments()) { + JsonObject arg2 = new JsonObject(); + arg2.addProperty("type", arg.getType().name()); + arg2.addProperty("type_icon", arg.getType().getIcon().toString()); + arg2.addProperty("type_name", arg.getType().getName()); + arg2.addProperty("name", arg.getName()); + arg2.addProperty("optional", arg.isOptional()); + arg2.addProperty("plural", arg.isPlural()); + + array2.add(arg2); + } + + + //event.addProperty("icon", type.get().toString()); + event.add("arguments", array2); + array.add(event); + } + + obj.add("actions", array); + array = new JsonArray(); + + for (ScriptClientValueArgument type : ScriptClientValueArgument.values()) { + JsonObject event = new JsonObject(); + event.addProperty("identifier", type.name()); + event.addProperty("name", type.getName()); + event.addProperty("description", String.join("\n", type.getDescription())); + event.addProperty("icon", type.getItem().toString()); + event.addProperty("type", type.getType().name()); + event.addProperty("type_icon", type.getType().getIcon().toString()); + event.addProperty("type_name", type.getType().getName()); + + array.add(event); + } + + obj.add("client_values", array); + + File file = new File("DFScript/actiondump.json"); + DFScript.LOGGER.info("Dumping action data to " + file.getAbsolutePath()); + + try { + if (!file.exists()) file.createNewFile(); + Files.write(file.toPath(), DFScript.GSON.toJson(obj).getBytes()); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/io/github/techstreet/dfscript/DFScript.java b/src/main/java/io/github/techstreet/dfscript/DFScript.java index 4a1c34e..992d0d3 100644 --- a/src/main/java/io/github/techstreet/dfscript/DFScript.java +++ b/src/main/java/io/github/techstreet/dfscript/DFScript.java @@ -61,13 +61,14 @@ public void onInitialize() { loader.load(new Scheduler()); loader.load(new UpdateAlerts()); loader.load(new OverlayManager()); + loader.load(new ActiondumpHandler()); LOGGER.info("Initialized"); } public void onClose() { LOGGER.info("Closing..."); - + AuthHandler.deauth(); LOGGER.info("Closed."); } } diff --git a/src/main/java/io/github/techstreet/dfscript/commands/CommandManager.java b/src/main/java/io/github/techstreet/dfscript/commands/CommandManager.java index 28e4b36..89697bf 100644 --- a/src/main/java/io/github/techstreet/dfscript/commands/CommandManager.java +++ b/src/main/java/io/github/techstreet/dfscript/commands/CommandManager.java @@ -1,7 +1,7 @@ package io.github.techstreet.dfscript.commands; import com.mojang.brigadier.CommandDispatcher; -import io.github.techstreet.dfscript.commands.misc.ScriptsCommand; +import io.github.techstreet.dfscript.commands.misc.DFScriptCommand; import io.github.techstreet.dfscript.loader.Loadable; import java.util.ArrayList; import java.util.List; @@ -23,7 +23,7 @@ public CommandManager getInstance() { @Override public void load() { - commands.add(new ScriptsCommand()); + commands.add(new DFScriptCommand()); ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> attachTo(dispatcher)); } diff --git a/src/main/java/io/github/techstreet/dfscript/commands/misc/ScriptsCommand.java b/src/main/java/io/github/techstreet/dfscript/commands/misc/DFScriptCommand.java similarity index 87% rename from src/main/java/io/github/techstreet/dfscript/commands/misc/ScriptsCommand.java rename to src/main/java/io/github/techstreet/dfscript/commands/misc/DFScriptCommand.java index 2255ea4..4f5f663 100644 --- a/src/main/java/io/github/techstreet/dfscript/commands/misc/ScriptsCommand.java +++ b/src/main/java/io/github/techstreet/dfscript/commands/misc/DFScriptCommand.java @@ -7,10 +7,10 @@ import io.github.techstreet.dfscript.commands.Command; import io.github.techstreet.dfscript.commands.arguments.StringFuncArgumentType; import io.github.techstreet.dfscript.event.system.EventManager; -import io.github.techstreet.dfscript.screen.script.ScriptListScreen; +import io.github.techstreet.dfscript.features.AuthHandler; +import io.github.techstreet.dfscript.screen.dfscript.DFScriptScreen; import io.github.techstreet.dfscript.script.Script; import io.github.techstreet.dfscript.script.ScriptManager; -import io.github.techstreet.dfscript.script.values.ScriptValue; import io.github.techstreet.dfscript.script.values.ScriptVariable; import io.github.techstreet.dfscript.util.chat.ChatUtil; import java.util.List; @@ -19,22 +19,22 @@ import static io.github.techstreet.dfscript.commands.arguments.StringFuncArgumentFunctions.SCRIPTS; -public class ScriptsCommand implements Command { +public class DFScriptCommand implements Command { @Override public void register(CommandDispatcher cd) { cd.register( - literal("scripts") + literal("dfscript") .executes(ctx -> { - DFScript.MC.send(() -> DFScript.MC.setScreen(new ScriptListScreen(true))); + DFScript.MC.send(() -> DFScript.MC.setScreen(new DFScriptScreen())); return 0; }) .then(literal("reload") - .executes(ctx -> { - ScriptManager.getInstance().reload(); - ChatUtil.info("Scripts reloaded!"); - return 0; - }) + .executes(ctx -> { + AuthHandler.updateScripts(); + ChatUtil.info("Scripts updated and reloaded!"); + return 0; + }) ) .then(literal("vars") .then(argument("script", new StringFuncArgumentType(SCRIPTS, false) @@ -92,7 +92,7 @@ private void listVars(String script, String filter) { @Override public String getDescription() { return """ - [blue]/scripts[reset] + [blue]/dfscript[reset] Opens a GUI to edit custom DFScript scripts. """; @@ -100,6 +100,6 @@ public String getDescription() { @Override public String getName() { - return "/scripts"; + return "/dfscript"; } } diff --git a/src/main/java/io/github/techstreet/dfscript/event/HudRenderEvent.java b/src/main/java/io/github/techstreet/dfscript/event/HudRenderEvent.java index 90a51de..3979c38 100644 --- a/src/main/java/io/github/techstreet/dfscript/event/HudRenderEvent.java +++ b/src/main/java/io/github/techstreet/dfscript/event/HudRenderEvent.java @@ -2,7 +2,6 @@ import io.github.techstreet.dfscript.event.system.Event; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; public record HudRenderEvent(DrawContext context) implements Event { diff --git a/src/main/java/io/github/techstreet/dfscript/event/ServerJoinEvent.java b/src/main/java/io/github/techstreet/dfscript/event/ServerJoinEvent.java index b1ae3a6..1a79d62 100644 --- a/src/main/java/io/github/techstreet/dfscript/event/ServerJoinEvent.java +++ b/src/main/java/io/github/techstreet/dfscript/event/ServerJoinEvent.java @@ -1,9 +1,10 @@ package io.github.techstreet.dfscript.event; import io.github.techstreet.dfscript.event.system.Event; -import java.net.InetSocketAddress; import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket; +import java.net.InetSocketAddress; + public class ServerJoinEvent implements Event { private final GameJoinS2CPacket packet; private final InetSocketAddress address; diff --git a/src/main/java/io/github/techstreet/dfscript/features/AuthHandler.java b/src/main/java/io/github/techstreet/dfscript/features/AuthHandler.java index e7cb980..5e6b70b 100644 --- a/src/main/java/io/github/techstreet/dfscript/features/AuthHandler.java +++ b/src/main/java/io/github/techstreet/dfscript/features/AuthHandler.java @@ -7,33 +7,119 @@ import com.mojang.authlib.exceptions.AuthenticationException; import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.loader.Loadable; +import io.github.techstreet.dfscript.script.ScriptManager; import io.github.techstreet.dfscript.script.util.AuthcodeResponse; import io.github.techstreet.dfscript.script.util.ServercodeResponse; import net.minecraft.client.session.Session; import org.apache.commons.codec.digest.DigestUtils; -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; +import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.ArrayList; import java.util.Objects; import java.util.UUID; -import static io.github.techstreet.dfscript.screen.script.ScriptAddScreen.readAll; - public class AuthHandler implements Loadable { private static String authCode = null; - private static boolean staff = false; @Override public void load() { regen(); } + public static void updateScripts() { + try { + URL url = new URL("https://api.techstreet.tech/dfscript/scripts/"); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("POST"); + con.setRequestProperty("authorization", AuthHandler.getAuthCode()); + con.setDoOutput(true); + + try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8))) { + StringBuilder response = new StringBuilder(); + String responseLine; + + while ((responseLine = br.readLine()) != null) { + response.append(responseLine.trim()); + } + + ArrayList expected = new ArrayList<>(); + JsonObject scripts = JsonParser.parseString(response.toString()).getAsJsonObject(); + scripts.getAsJsonArray("scripts").forEach(script -> expected.add(script.getAsJsonObject().get("id").getAsLong() + ".json")); + + File file = new File("DFScript/Scripts"); + for (File f : Objects.requireNonNull(file.listFiles())) { + if (!expected.contains(f.getName())) { + f.delete(); + } + } + + scripts.getAsJsonArray("scripts").forEach(script -> { + try { + File f = new File("DFScript/Scripts/" + script.getAsJsonObject().get("id").getAsLong() + ".json"); + if (!f.exists()) { + f.createNewFile(); + + JsonObject obj = script.getAsJsonObject(); + obj.addProperty("disabled", false); + obj.add("config", new JsonArray()); + + Files.write(f.toPath(), DFScript.GSON.toJson(obj).getBytes(StandardCharsets.UTF_8)); + } else { + JsonObject obj = JsonParser.parseString(new String(Files.readAllBytes(f.toPath()), StandardCharsets.UTF_8)).getAsJsonObject(); + obj.add("headers", script.getAsJsonObject().get("headers").getAsJsonArray()); + + Files.write(f.toPath(), DFScript.GSON.toJson(obj).getBytes(StandardCharsets.UTF_8)); + } + } catch (Exception e) { + e.printStackTrace(); + } + }); + + ScriptManager.getInstance().reload(); + } + } catch (Exception e) { + regen(); + e.printStackTrace(); + } + } + + public static void checkAuth() { + try { + URL url = new URL("https://api.techstreet.tech/dfscript/auth/refresh/"); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("GET"); + con.setRequestProperty("authorization", AuthHandler.getAuthCode()); + con.setDoOutput(true); + + con.getInputStream(); + if (con.getResponseCode() != 200) { + regen(); + } + } catch (Exception e) { + regen(); + e.printStackTrace(); + } + } + + public static void deauth() { + try { + URL url = new URL("https://api.techstreet.tech/dfscript/auth/deauth/"); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("GET"); + con.setRequestProperty("authorization", AuthHandler.getAuthCode()); + con.setDoOutput(true); + + con.getInputStream(); + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void regen() { URL url; HttpURLConnection con; @@ -42,7 +128,7 @@ public static void regen() { try { // Authorization step one - Create a random clientcode - url = new URL("https://DFScript-Server.techstreetdev.repl.co/auth/secret/"); + url = new URL("https://api.techstreet.tech/dfscript/auth/clientcode/"); con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/json"); @@ -85,7 +171,7 @@ public static void regen() { } // Authorization step two - Generate the authcode - url = new URL("https://DFScript-Server.techstreetdev.repl.co/auth/auth/"); + url = new URL("https://api.techstreet.tech/dfscript/auth/"); con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/json"); @@ -115,41 +201,25 @@ public static void regen() { authCode = authcodeResponse.getAuthcode(); DFScript.LOGGER.info("Server authorization code successfully generated!"); } + + updateScripts(); } catch (Exception e) { // e.printStackTrace(); } + } - try { - URLConnection con2 = new URL("https://dfscript-server.techstreetdev.repl.co/staff/").openConnection(); - con2.setReadTimeout(5000); - con2.setConnectTimeout(5000); - InputStream is = con2.getInputStream(); - BufferedReader rd = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); - obj = JsonParser.parseString(readAll(rd)).getAsJsonObject(); - - JsonArray array = obj.get("staff").getAsJsonArray(); - boolean localStaff = false; - - for (JsonElement staffMember : array) { - if (Objects.equals(staffMember.getAsString(), DFScript.PLAYER_UUID)) { - staff = true; - localStaff = true; - } - } + public static String readAll(Reader rd) throws IOException { + StringBuilder sb = new StringBuilder(); + int cp; - if (!localStaff) { - staff = false; - } - } catch (Exception e) { -// e.printStackTrace(); + while ((cp = rd.read()) != -1) { + sb.append((char) cp); } + + return sb.toString(); } public static String getAuthCode() { return authCode; } - - public static boolean getStaffMember() { - return staff; - } } diff --git a/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientCommonNetworkHandler.java b/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientCommonNetworkHandler.java index 1be8341..e725843 100644 --- a/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientCommonNetworkHandler.java +++ b/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientCommonNetworkHandler.java @@ -1,19 +1,9 @@ package io.github.techstreet.dfscript.mixin.game; -import com.mojang.blaze3d.systems.RenderSystem; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.event.*; +import io.github.techstreet.dfscript.event.ServerLeaveEvent; import io.github.techstreet.dfscript.event.system.EventManager; -import io.github.techstreet.dfscript.util.hypercube.HypercubeRank; -import io.github.techstreet.dfscript.util.hypercube.HypercubeUtil; import net.minecraft.client.network.ClientCommonNetworkHandler; -import net.minecraft.client.network.ClientPlayNetworkHandler; -import net.minecraft.network.ClientConnection; -import net.minecraft.network.listener.ClientCommonPacketListener; import net.minecraft.network.packet.s2c.common.DisconnectS2CPacket; -import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket; -import net.minecraft.network.packet.s2c.play.GameMessageS2CPacket; -import net.minecraft.network.packet.s2c.play.TeamS2CPacket; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientPlayNetworkHandler.java b/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientPlayNetworkHandler.java index 1f8a4dc..fa70ab6 100644 --- a/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientPlayNetworkHandler.java +++ b/src/main/java/io/github/techstreet/dfscript/mixin/game/MClientPlayNetworkHandler.java @@ -6,17 +6,15 @@ import io.github.techstreet.dfscript.event.system.EventManager; import io.github.techstreet.dfscript.util.hypercube.HypercubeRank; import io.github.techstreet.dfscript.util.hypercube.HypercubeUtil; -import java.net.InetSocketAddress; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.network.ClientConnection; -import net.minecraft.network.packet.s2c.play.*; -import net.minecraft.network.packet.s2c.common.*; -import net.minecraft.text.Text; +import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket; +import net.minecraft.network.packet.s2c.play.GameMessageS2CPacket; +import net.minecraft.network.packet.s2c.play.TeamS2CPacket; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ClientPlayNetworkHandler.class) public class MClientPlayNetworkHandler { diff --git a/src/main/java/io/github/techstreet/dfscript/mixin/player/MLocalPlayer.java b/src/main/java/io/github/techstreet/dfscript/mixin/player/MLocalPlayer.java index e9bb2f9..2237af3 100644 --- a/src/main/java/io/github/techstreet/dfscript/mixin/player/MLocalPlayer.java +++ b/src/main/java/io/github/techstreet/dfscript/mixin/player/MLocalPlayer.java @@ -1,15 +1,12 @@ package io.github.techstreet.dfscript.mixin.player; -import io.github.techstreet.dfscript.event.SendChatEvent; import io.github.techstreet.dfscript.event.TickEvent; import io.github.techstreet.dfscript.event.system.EventManager; import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ClientPlayerEntity.class) public class MLocalPlayer { diff --git a/src/main/java/io/github/techstreet/dfscript/mixin/render/MInGameHUD.java b/src/main/java/io/github/techstreet/dfscript/mixin/render/MInGameHUD.java index 2dbf237..afd0574 100644 --- a/src/main/java/io/github/techstreet/dfscript/mixin/render/MInGameHUD.java +++ b/src/main/java/io/github/techstreet/dfscript/mixin/render/MInGameHUD.java @@ -1,13 +1,10 @@ package io.github.techstreet.dfscript.mixin.render; -import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.event.HudRenderEvent; import io.github.techstreet.dfscript.event.system.EventManager; import io.github.techstreet.dfscript.screen.overlay.OverlayManager; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.client.util.math.MatrixStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/io/github/techstreet/dfscript/mixin/render/MMultiplayerScreen.java b/src/main/java/io/github/techstreet/dfscript/mixin/render/MMultiplayerScreen.java index 206ab99..6fc1c9b 100644 --- a/src/main/java/io/github/techstreet/dfscript/mixin/render/MMultiplayerScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/mixin/render/MMultiplayerScreen.java @@ -1,11 +1,11 @@ package io.github.techstreet.dfscript.mixin.render; import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.script.ScriptListScreen; +import io.github.techstreet.dfscript.screen.dfscript.DFScriptScreen; +import io.github.techstreet.dfscript.screen.dfscript.ScriptListScreen; import io.github.techstreet.dfscript.util.render.BlendableTexturedButtonWidget; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import org.spongepowered.asm.mixin.Mixin; @@ -28,7 +28,7 @@ protected MMultiplayerScreen(Text title) { @Inject(at = @At("HEAD"), method = "init", cancellable = true) private void init(CallbackInfo ci) { this.addDrawableChild(new BlendableTexturedButtonWidget(5, 5, 20, 20, identifier_main, identifier_main_highlight, (button) -> { - ScriptListScreen screen = new ScriptListScreen(false); + DFScriptScreen screen = new DFScriptScreen(); DFScript.MC.setScreen(screen); })); } diff --git a/src/main/java/io/github/techstreet/dfscript/mixin/render/MOptionsScreen.java b/src/main/java/io/github/techstreet/dfscript/mixin/render/MOptionsScreen.java index 1c7ef3c..4eb128d 100644 --- a/src/main/java/io/github/techstreet/dfscript/mixin/render/MOptionsScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/mixin/render/MOptionsScreen.java @@ -1,7 +1,8 @@ package io.github.techstreet.dfscript.mixin.render; import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.script.ScriptListScreen; +import io.github.techstreet.dfscript.screen.dfscript.DFScriptScreen; +import io.github.techstreet.dfscript.screen.dfscript.ScriptListScreen; import io.github.techstreet.dfscript.util.render.BlendableTexturedButtonWidget; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.option.OptionsScreen; @@ -28,7 +29,7 @@ public MOptionsScreen(Text literalText) { @Inject(method = "init()V", at = @At("RETURN")) protected void init(CallbackInfo callbackInfo) { this.addDrawableChild(new BlendableTexturedButtonWidget(5, 5, 20, 20, identifier_main, identifier_main_highlight, (button) -> { - ScriptListScreen screen = new ScriptListScreen(DFScript.MC.player != null); + DFScriptScreen screen = new DFScriptScreen(); DFScript.MC.setScreen(screen); })); } diff --git a/src/main/java/io/github/techstreet/dfscript/screen/CReloadableScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/CReloadableScreen.java index 0eaf901..153a844 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/CReloadableScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/CReloadableScreen.java @@ -1,17 +1,5 @@ package io.github.techstreet.dfscript.screen; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.widget.CWidget; -import io.github.techstreet.dfscript.util.RenderUtil; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.Text; -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.List; - public abstract class CReloadableScreen extends CScreen { public abstract void reload(); diff --git a/src/main/java/io/github/techstreet/dfscript/screen/CScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/CScreen.java index 7499eaa..7fd1ffb 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/CScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/CScreen.java @@ -3,8 +3,6 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.screen.widget.CWidget; import io.github.techstreet.dfscript.util.RenderUtil; -import java.util.ArrayList; -import java.util.List; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; @@ -12,6 +10,9 @@ import net.minecraft.text.Text; import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; +import java.util.List; + public class CScreen extends Screen { private final int width, height; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/ContextMenuButton.java b/src/main/java/io/github/techstreet/dfscript/screen/ContextMenuButton.java index 11b8c9a..470eedc 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/ContextMenuButton.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/ContextMenuButton.java @@ -1,7 +1,6 @@ package io.github.techstreet.dfscript.screen; import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.script.ScriptEditScreen; public class ContextMenuButton { String name; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/dfscript/Contributor.java b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/Contributor.java new file mode 100644 index 0000000..e30c47f --- /dev/null +++ b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/Contributor.java @@ -0,0 +1,42 @@ +package io.github.techstreet.dfscript.screen.dfscript; + +import net.minecraft.util.Identifier; + +public class Contributor { + private final String name; + private final int id; + private final int contributions; + private final String avatarUrl; + private Identifier avatar; + + public Contributor(String name, int id, int contributions, String avatarUrl) { + this.name = name; + this.id = id; + this.contributions = contributions; + this.avatarUrl = avatarUrl; + } + + public Identifier getAvatar() { + return avatar; + } + + public String getName() { + return name; + } + + public int getId() { + return id; + } + + public int getContributions() { + return contributions; + } + + public String getAvatarUrl() { + return avatarUrl; + } + + public void setAvatar(Identifier avatar) { + this.avatar = avatar; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/techstreet/dfscript/screen/dfscript/ContributorsScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/ContributorsScreen.java new file mode 100644 index 0000000..f215ce7 --- /dev/null +++ b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/ContributorsScreen.java @@ -0,0 +1,104 @@ +package io.github.techstreet.dfscript.screen.dfscript; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import io.github.techstreet.dfscript.DFScript; +import io.github.techstreet.dfscript.features.AuthHandler; +import io.github.techstreet.dfscript.screen.CScreen; +import io.github.techstreet.dfscript.screen.widget.CImage; +import io.github.techstreet.dfscript.screen.widget.CPlainPanel; +import io.github.techstreet.dfscript.screen.widget.CScrollPanel; +import io.github.techstreet.dfscript.screen.widget.CText; +import net.minecraft.client.texture.NativeImage; +import net.minecraft.client.texture.NativeImageBackedTexture; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import org.apache.logging.log4j.Level; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +public class ContributorsScreen extends CScreen { + private final List contributors = new ArrayList<>(); + + public ContributorsScreen() { + super(165, 110); + CPlainPanel root = new CPlainPanel(0, 0, 165, 110); + + + root.add(new CText(5, 3, Text.literal("Contributors"), 0x333333, 1.25f, false, false)); + + CPlainPanel panel = new CPlainPanel(0, 10, 165, 95); + + CScrollPanel scrollPanel = new CScrollPanel(0, 0, 165, 95); + + + + int y = 0; + int x = 5; + + try { + URL url = new URL("https://api.github.com/repos/DFScripting/DFScript/contributors"); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("GET"); + con.setDoOutput(true); + + try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8))) { + for (JsonElement element : JsonParser.parseReader(br).getAsJsonArray()) { + JsonObject object = element.getAsJsonObject(); + this.contributors.add(new Contributor(object.get("login").getAsString(), object.get("id").getAsInt(), object.get("contributions").getAsInt(), object.get("avatar_url").getAsString())); + } + + } + } catch (Exception e) { + e.printStackTrace(); + } + + for (Contributor contributor : contributors) { + + if (contributor.getAvatar() == null) { + try { + URL url = new URL(contributor.getAvatarUrl()); + Identifier identifier = DFScript.MC.getTextureManager().registerDynamicTexture("contributor_" + contributor.getName().toLowerCase(), new NativeImageBackedTexture(NativeImage.read(url.openStream()))); + contributor.setAvatar(identifier); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + CImage image = new CImage(x, y, 16, 16, contributor.getAvatar().toString()); + + scrollPanel.add(image); + scrollPanel.add(new CText(x + 20, y + 6, Text.of(contributor.getName()))); + + DFScript.LOGGER.log(Level.WARN, contributor.getName() + ": (" + x + ", " + y + ")"); + + if (x == 75) { + x = 5; + y += 20; + } else { + x = 75; + } + } + + panel.add(scrollPanel); + + root.add(panel); + + widgets.add(root); + + } + + @Override + public void close() { + DFScript.MC.setScreen(new DFScriptScreen()); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/techstreet/dfscript/screen/dfscript/DFScriptScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/DFScriptScreen.java new file mode 100644 index 0000000..2571029 --- /dev/null +++ b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/DFScriptScreen.java @@ -0,0 +1,53 @@ +package io.github.techstreet.dfscript.screen.dfscript; + +import io.github.techstreet.dfscript.DFScript; +import io.github.techstreet.dfscript.screen.CScreen; +import io.github.techstreet.dfscript.screen.widget.CButton; +import io.github.techstreet.dfscript.screen.widget.CImage; +import io.github.techstreet.dfscript.screen.widget.CPlainPanel; +import io.github.techstreet.dfscript.screen.widget.CText; +import net.minecraft.text.Text; +import net.minecraft.util.Util; + +public class DFScriptScreen extends CScreen { + private static final String DFSCRIPT_LOGO = "dfscript:icon_transparent.png"; + + public DFScriptScreen() { + super(110, 100); + CPlainPanel root = new CPlainPanel(0, 0, 110, 110); + + CImage cImage = new CImage(23, 0, 64, 64, DFSCRIPT_LOGO); + root.add(cImage); + root.add(new CText(55, 63, Text.literal("DFScript"), 0x333333, 1.5f, true, false)); + root.add(new CText(55, 68, Text.literal("v" + DFScript.MOD_VERSION), 0x333333, 1f, true, false)); + + addButtons(root); + widgets.add(root); + } + + private void addButtons(CPlainPanel panel) { + // ------------------------ Features Button ------------------------ + CButton featuresButton = new CButton(5, 75, 50, 10, 0.8f, "Installed Scripts", () -> { + DFScript.MC.send(() -> DFScript.MC.setScreen(new ScriptListScreen(true))); + }); + panel.add(featuresButton); + + // ------------------------ Contributors Button ------------------------ + CButton contributorsButton = new CButton(5, 85, 50, 10, 0.8f, "Contributors", () -> { + DFScript.MC.send(() -> DFScript.MC.setScreen(new ContributorsScreen())); + }); + panel.add(contributorsButton); + + // ------------------------ Bug Report Button ------------------------ + CButton bugReport = new CButton(55, 75, 50, 10, 0.8f, "Bug Report", () -> { + Util.getOperatingSystem().open("https://github.com/DFScripting/DFScript/issues"); + }); + panel.add(bugReport); + + // ------------------------ Dashboard Button ------------------------ + CButton options = new CButton(55, 85, 50, 10, 0.8f, "Dashboard", () -> { + Util.getOperatingSystem().open("https://dfscript.techstreet.tech/"); + }); + panel.add(options); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/techstreet/dfscript/screen/dfscript/ScriptListScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/ScriptListScreen.java new file mode 100644 index 0000000..05b2802 --- /dev/null +++ b/src/main/java/io/github/techstreet/dfscript/screen/dfscript/ScriptListScreen.java @@ -0,0 +1,103 @@ +package io.github.techstreet.dfscript.screen.dfscript; + +import io.github.techstreet.dfscript.DFScript; +import io.github.techstreet.dfscript.features.AuthHandler; +import io.github.techstreet.dfscript.screen.CScreen; +import io.github.techstreet.dfscript.screen.widget.*; +import io.github.techstreet.dfscript.script.Script; +import io.github.techstreet.dfscript.script.ScriptManager; +import io.github.techstreet.dfscript.util.chat.ChatUtil; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; +import net.minecraft.util.Util; + +import java.awt.*; +import java.util.ArrayList; +import java.util.List; + +public class ScriptListScreen extends CScreen { + private final List contextMenu = new ArrayList<>(); + + + public ScriptListScreen(boolean allowEditAndUpload) { + super(160, 100); + CScrollPanel panel = new CScrollPanel(0, 5, 160, 94); + widgets.add(panel); + + int y = 0; + for (Script s : ScriptManager.getInstance().getScripts()) { + MutableText text = Text.literal(s.getName()); + + if (s.disabled()) { + text = text.formatted(Formatting.STRIKETHROUGH); + } + + panel.add(new CText(6, y + 2, text)); + + panel.add(new CButton(4, y-1, 153, 10, "",() -> {}) { + @Override + public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { + Rectangle b = getBounds(); + context.fill(b.x, b.y, b.x + b.width, b.y + b.height, 0x33000000); + } + + @Override + public boolean mouseClicked(double x, double y, int button) { + return false; + } + }); + + int addedY = 0; + int addedX = 118; + + // Enable or Disable Button + CButton enableDisable; + if (s.disabled()) { + enableDisable = new CTexturedButton(30 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":enable.png", DFScript.MOD_ID + ":enable_highlight.png", () -> { + s.setDisabled(false); + ScriptManager.getInstance().saveScript(s); + DFScript.MC.setScreen(new ScriptListScreen(allowEditAndUpload)); + }); + } else { + enableDisable = new CTexturedButton(30 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":disable.png", DFScript.MOD_ID + ":disable_highlight.png", () -> { + s.setDisabled(true); + ScriptManager.getInstance().saveScript(s); + DFScript.MC.setScreen(new ScriptListScreen(allowEditAndUpload)); + }); + } + + panel.add(enableDisable); + y += 12; + } + + CButton refresh = new CButton(60, y + 1, 40, 8, "Refresh", () -> { + AuthHandler.checkAuth(); + AuthHandler.updateScripts(); + ChatUtil.info("Scripts updated and reloaded!"); + DFScript.MC.setScreen(new ScriptListScreen(allowEditAndUpload)); + }); + + panel.add(refresh); + } + + @Override + public void close() { + DFScript.MC.setScreen(new DFScriptScreen()); + } + + @Override + public boolean mouseClicked(double mouseX, double mouseY, int button) { + boolean b = super.mouseClicked(mouseX, mouseY, button); + clearContextMenu(); + return b; + } + + private void clearContextMenu() { + for (CWidget w : contextMenu) { + widgets.remove(w); + } + contextMenu.clear(); + } +} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/overlay/OverlayManager.java b/src/main/java/io/github/techstreet/dfscript/screen/overlay/OverlayManager.java index e498f50..ed740b5 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/overlay/OverlayManager.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/overlay/OverlayManager.java @@ -3,7 +3,6 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.loader.Loadable; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import java.util.ArrayList; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddArgumentScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddArgumentScreen.java deleted file mode 100644 index b85bfce..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddArgumentScreen.java +++ /dev/null @@ -1,143 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.screen.widget.CTextField; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptParametrizedPart; -import io.github.techstreet.dfscript.script.argument.*; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.event.ScriptHeader; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.text.Style; -import net.minecraft.text.Text; - -public class ScriptAddArgumentScreen extends CScreen { - - private final Script script; - - private final ScriptHeader header; - private final ScriptParametrizedPart action; - - public ScriptAddArgumentScreen(Script script, ScriptParametrizedPart action, int index, ScriptHeader header) { - this(script,action,index, header,null); - } - public ScriptAddArgumentScreen(Script script, ScriptParametrizedPart action, int index, ScriptHeader header, String overwrite) { - super(100, 50); - this.script = script; - this.action = action; - this.header = header; - - CTextField input = new CTextField("Input", 2, 2, 96, 35, true); - if(overwrite != null) input.setText(overwrite); - - ItemStack textIcon = new ItemStack(Items.BOOK); - textIcon.setCustomName(Text.literal("Text") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack numberIcon = new ItemStack(Items.SLIME_BALL); - numberIcon.setCustomName(Text.literal("Number") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack variableIcon = new ItemStack(Items.MAGMA_CREAM); - variableIcon.setCustomName(Text.literal("Variable") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack clientValueIcon = new ItemStack(Items.NAME_TAG); - clientValueIcon.setCustomName(Text.literal("Client Value") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack configValueIcon = new ItemStack(Items.INK_SAC); - configValueIcon.setCustomName(Text.literal("Config Value") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack functionArgumentIcon = new ItemStack(Items.BLUE_DYE); - functionArgumentIcon.setCustomName(Text.literal("Function Argument") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack trueIcon = new ItemStack(Items.LIME_DYE); - trueIcon.setCustomName(Text.literal("True") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack falseIcon = new ItemStack(Items.RED_DYE); - falseIcon.setCustomName(Text.literal("False") - .fillStyle(Style.EMPTY.withItalic(false))); - - CItem addNumber = new CItem(2, 40, numberIcon); - CItem addText = new CItem(12, 40, textIcon); - CItem addTrue = new CItem(22, 40, trueIcon); - CItem addFalse = new CItem(32, 40, falseIcon); - CItem addVariable = new CItem(42, 40, variableIcon); - CItem addClientValue = new CItem(52, 40, clientValueIcon); - CItem addConfigValue = new CItem(62, 40, configValueIcon); - CItem addFunctionArgument = new CItem(72, 40, functionArgumentIcon); - - input.setChangedListener(() -> input.textColor = 0xFFFFFF); - - addText.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(index); - action.getArguments().add(index, new ScriptTextArgument(input.getText())); - close(); - }); - - addNumber.setClickListener((btn) -> { - try { - double number = Double.parseDouble(input.getText()); - if(overwrite != null) action.getArguments().remove(index); - action.getArguments().add(index, new ScriptNumberArgument(number)); - close(); - } catch (Exception err) { - input.textColor = 0xFF3333; - } - }); - - addVariable.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(index); - action.getArguments().add(index, new ScriptVariableArgument(input.getText(), ScriptVariableScope.SCRIPT)); - close(); - }); - - addClientValue.setClickListener((btn) -> { - DFScript.MC.setScreen(new ScriptAddClientValueScreen(action, script, index, header, overwrite)); - }); - - addConfigValue.setClickListener((btn) -> { - DFScript.MC.setScreen(new ScriptAddConfigValueScreen(action, script, index, header, overwrite)); - }); - - addFunctionArgument.setClickListener((btn) -> { - DFScript.MC.setScreen(new ScriptAddFunctionArgValueScreen(action, script, index, header, overwrite)); - }); - - addTrue.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(index); - action.getArguments().add(index, new ScriptBoolArgument(true)); - close(); - }); - - addFalse.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(index); - action.getArguments().add(index, new ScriptBoolArgument(false)); - close(); - }); - - widgets.add(input); - widgets.add(addNumber); - widgets.add(addText); - widgets.add(addTrue); - widgets.add(addFalse); - widgets.add(addVariable); - widgets.add(addClientValue); - widgets.add(addConfigValue); - if(header instanceof ScriptFunction) { - widgets.add(addFunctionArgument); - } - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditPartScreen(action, script, header)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddClientValueScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddClientValueScreen.java deleted file mode 100644 index 38ca1c9..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddClientValueScreen.java +++ /dev/null @@ -1,51 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptParametrizedPart; -import io.github.techstreet.dfscript.script.ScriptPart; -import io.github.techstreet.dfscript.script.action.ScriptAction; -import io.github.techstreet.dfscript.script.argument.ScriptClientValueArgument; -import io.github.techstreet.dfscript.script.event.ScriptHeader; - -public class ScriptAddClientValueScreen extends CScreen { - - private final Script script; - - private final ScriptHeader header; - private final ScriptParametrizedPart action; - private final int insertIndex; - private static final int WIDTH = 58; - - public ScriptAddClientValueScreen(ScriptParametrizedPart action, Script script, int insertIndex, ScriptHeader header, String overwrite) { - super(WIDTH, 58); - this.script = script; - this.action = action; - this.header = header; - this.insertIndex = insertIndex; - - int x = 5; - int y = 5; - for (ScriptClientValueArgument arg : ScriptClientValueArgument.values()) { - CItem item = new CItem(x, y, arg.getIcon()); - item.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(insertIndex); - action.getArguments().add(insertIndex, arg); - DFScript.MC.setScreen(new ScriptEditPartScreen(action, script, header)); - }); - widgets.add(item); - x += 10; - if (x > WIDTH-10) { - x = 5; - y += 10; - } - } - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, insertIndex, header)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddConfigValueScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddConfigValueScreen.java deleted file mode 100644 index 8472c9d..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddConfigValueScreen.java +++ /dev/null @@ -1,58 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.screen.widget.CScrollPanel; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptParametrizedPart; -import io.github.techstreet.dfscript.script.ScriptPart; -import io.github.techstreet.dfscript.script.action.ScriptAction; -import io.github.techstreet.dfscript.script.argument.ScriptConfigArgument; -import io.github.techstreet.dfscript.script.event.ScriptHeader; -import io.github.techstreet.dfscript.script.options.ScriptNamedOption; - -public class ScriptAddConfigValueScreen extends CScreen { - private final Script script; - - private final ScriptHeader header; - private final ScriptParametrizedPart action; - private final int insertIndex; - - private static int WIDTH = 200; - private static int HEIGHT = 94; - - public ScriptAddConfigValueScreen(ScriptParametrizedPart action, Script script, int insertIndex, ScriptHeader header, String overwrite) { - super(WIDTH, HEIGHT); - this.script = script; - this.action = action; - this.header = header; - this.insertIndex = insertIndex; - - CScrollPanel panel = new CScrollPanel(0, 0, WIDTH, HEIGHT); - - int x = 5; - int y = 5; - for (ScriptNamedOption arg : script.getOptions()) { - CItem item = new CItem(x, y, arg.getIcon()); - item.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(insertIndex); - this.action.getArguments().add(insertIndex, new ScriptConfigArgument(arg.getName(), this.script)); - DFScript.MC.setScreen(new ScriptEditPartScreen(this.action, this.script, this.header)); - }); - panel.add(item); - x += 10; - if (x > WIDTH-10) { - x = 5; - y += 10; - } - } - - widgets.add(panel); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, insertIndex, header)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgValueScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgValueScreen.java deleted file mode 100644 index 2fe6b9a..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgValueScreen.java +++ /dev/null @@ -1,61 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.screen.widget.CScrollPanel; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptParametrizedPart; -import io.github.techstreet.dfscript.script.action.ScriptActionArgument; -import io.github.techstreet.dfscript.script.argument.ScriptConfigArgument; -import io.github.techstreet.dfscript.script.argument.ScriptFunctionArgument; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.event.ScriptHeader; - -public class ScriptAddFunctionArgValueScreen extends CScreen { - private final Script script; - - private final ScriptHeader header; - private final ScriptParametrizedPart action; - private final int insertIndex; - - private static int WIDTH = 200; - private static int HEIGHT = 94; - - public ScriptAddFunctionArgValueScreen(ScriptParametrizedPart action, Script script, int insertIndex, ScriptHeader header, String overwrite) { - super(WIDTH, HEIGHT); - this.script = script; - this.action = action; - this.header = header; - this.insertIndex = insertIndex; - - CScrollPanel panel = new CScrollPanel(0, 0, WIDTH, HEIGHT); - - if(header instanceof ScriptFunction f) - { - int x = 5; - int y = 5; - for (ScriptActionArgument arg : f.argList()) { - CItem item = new CItem(x, y, arg.getIcon()); - item.setClickListener((btn) -> { - if(overwrite != null) action.getArguments().remove(insertIndex); - this.action.getArguments().add(insertIndex, new ScriptFunctionArgument(arg.name(), header)); - DFScript.MC.setScreen(new ScriptEditPartScreen(this.action, this.script, this.header)); - }); - panel.add(item); - x += 10; - if (x > WIDTH-10) { - x = 5; - y += 10; - } - } - - widgets.add(panel); - } - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, insertIndex, header)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgumentScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgumentScreen.java deleted file mode 100644 index f755e66..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddFunctionArgumentScreen.java +++ /dev/null @@ -1,77 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptSnippet; -import io.github.techstreet.dfscript.script.action.*; -import io.github.techstreet.dfscript.script.conditions.ScriptBranch; -import io.github.techstreet.dfscript.script.conditions.ScriptBuiltinCondition; -import io.github.techstreet.dfscript.script.conditions.ScriptConditionType; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.repetitions.ScriptBuiltinRepetition; -import io.github.techstreet.dfscript.script.repetitions.ScriptRepetitionType; - -import java.util.ArrayList; - -public class ScriptAddFunctionArgumentScreen extends CScreen { - - private final Script script; - - private final ScriptFunction function; - private final int insertIndex; - - public ScriptAddFunctionArgumentScreen(Script script, ScriptFunction function, int insertIndex) { - super(size(), size()); - int size = size(); - this.script = script; - this.insertIndex = insertIndex; - this.function = function; - - int x = 3; - int y = 3; - - /*if (category == null) { - for (ScriptEventType type : ScriptEventType.values()) { - CItem item = new CItem(x, y, type.getIcon()); - item.setClickListener((btn) -> { - ScriptEvent event = new ScriptEvent(type); - script.getParts().add(insertIndex, event); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - widgets.add(item); - x += 10; - if (x >= size - 10) { - x = 3; - y += 10; - } - } - }*/ - - for (ScriptActionArgument.ScriptActionArgumentType type : ScriptActionArgument.ScriptActionArgumentType.values()) { - CItem item = new CItem(x, y, type.icon()); - item.setClickListener((btn) -> { - ScriptActionArgument arg = new ScriptActionArgument(function.argList().getUnnamedArgument(), type); - function.argList().add(insertIndex, arg); - DFScript.MC.setScreen(new ScriptEditFunctionScreen(function, script)); - }); - widgets.add(item); - x += 10; - if (x >= size-10) { - x = 3; - y += 10; - } - } - } - - private static int size() { - int amount = ScriptActionArgument.ScriptActionArgumentType.values().length; - return (int) (Math.ceil(Math.sqrt(amount))*10)+4; - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditFunctionScreen(function, script)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddHeaderScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddHeaderScreen.java deleted file mode 100644 index 9203514..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddHeaderScreen.java +++ /dev/null @@ -1,64 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.action.ScriptAction; -import io.github.techstreet.dfscript.script.action.ScriptActionCategory; -import io.github.techstreet.dfscript.script.action.ScriptActionCategoryExtra; -import io.github.techstreet.dfscript.script.action.ScriptActionType; -import io.github.techstreet.dfscript.script.event.ScriptEvent; -import io.github.techstreet.dfscript.script.event.ScriptEventType; -import io.github.techstreet.dfscript.script.event.ScriptHeaderCategory; - -import java.util.ArrayList; -import java.util.List; - -public class ScriptAddHeaderScreen extends CScreen { - - private final Script script; - private final int insertIndex; - - public ScriptAddHeaderScreen(Script script, int insertIndex, ScriptHeaderCategory category) { - super(size(category), size(category)); - int size = size(category); - this.script = script; - this.insertIndex = insertIndex; - - int x = 3; - int y = 3; - - for (ScriptEventType type : ScriptEventType.values()) { - //if (type.getCategory() != category) continue; - - CItem item = new CItem(x, y, type.getIcon()); - item.setClickListener((btn) -> { - ScriptEvent event = new ScriptEvent(type); - script.getHeaders().add(insertIndex, event); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - widgets.add(item); - x += 10; - if (x >= size-10) { - x = 3; - y += 10; - } - } - } - - private static int size(ScriptHeaderCategory category) { - int amount = 0; - for (ScriptEventType type : ScriptEventType.values()) { - //if (type.getCategory() != category) continue; - - amount++; - } - return (int) (Math.ceil(Math.sqrt(amount))*10)+4; - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptHeaderCategoryScreen(script, insertIndex)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddPartScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddPartScreen.java deleted file mode 100644 index 384b8de..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddPartScreen.java +++ /dev/null @@ -1,149 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptSnippet; -import io.github.techstreet.dfscript.script.action.*; -import io.github.techstreet.dfscript.script.conditions.ScriptBranch; -import io.github.techstreet.dfscript.script.conditions.ScriptBuiltinCondition; -import io.github.techstreet.dfscript.script.conditions.ScriptCondition; -import io.github.techstreet.dfscript.script.conditions.ScriptConditionType; -import io.github.techstreet.dfscript.script.event.ScriptEventType; -import io.github.techstreet.dfscript.script.repetitions.ScriptBuiltinRepetition; -import io.github.techstreet.dfscript.script.repetitions.ScriptRepetitionType; - -import java.util.ArrayList; - -public class ScriptAddPartScreen extends CScreen { - - private final Script script; - - private final ScriptSnippet snippet; - private final int insertIndex; - - public ScriptAddPartScreen(Script script, ScriptSnippet snippet, int insertIndex, ScriptActionCategory category) { - super(size(category, script), size(category, script)); - int size = size(category, script); - this.script = script; - this.insertIndex = insertIndex; - this.snippet = snippet; - - int x = 3; - int y = 3; - - /*if (category == null) { - for (ScriptEventType type : ScriptEventType.values()) { - CItem item = new CItem(x, y, type.getIcon()); - item.setClickListener((btn) -> { - ScriptEvent event = new ScriptEvent(type); - script.getParts().add(insertIndex, event); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - widgets.add(item); - x += 10; - if (x >= size - 10) { - x = 3; - y += 10; - } - } - }*/ - - if (category != null) - { - for(ScriptActionCategoryExtra extra : category.getExtras(script)) { - CItem item = new CItem(x, y, extra.getIcon()); - item.setClickListener((btn) -> { - extra.click(script, snippet, insertIndex); - }); - widgets.add(item); - x += 10; - if (x >= size-10) { - x = 3; - y += 10; - } - } - } - - for (ScriptActionType type : ScriptActionType.values()) { - if (type.getCategory() != category) continue; - if (type.isDeprecated()) continue; - - CItem item = new CItem(x, y, type.getIcon()); - item.setClickListener((btn) -> { - ScriptAction action = new ScriptBuiltinAction(type, new ArrayList<>()); - snippet.add(insertIndex, action); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - widgets.add(item); - x += 10; - if (x >= size-10) { - x = 3; - y += 10; - } - } - - for (ScriptConditionType type : ScriptConditionType.values()) { - if (type.getCategory() != category) continue; - if (type.isDeprecated()) continue; - - CItem item = new CItem(x, y, type.getIcon("If")); - item.setClickListener((btn) -> { - ScriptBranch action = new ScriptBranch(new ArrayList<>(), new ScriptBuiltinCondition(type)); - snippet.add(insertIndex, action); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - widgets.add(item); - x += 10; - if (x >= size-10) { - x = 3; - y += 10; - } - } - - for (ScriptRepetitionType type : ScriptRepetitionType.values()) { - if (type.getCategory() != category) continue; - if (type.isDeprecated()) continue; - - CItem item = new CItem(x, y, type.getIcon()); - item.setClickListener((btn) -> { - ScriptBuiltinRepetition action = new ScriptBuiltinRepetition(new ArrayList<>(), type); - snippet.add(insertIndex, action); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - widgets.add(item); - x += 10; - if (x >= size-10) { - x = 3; - y += 10; - } - } - } - - private static int size(ScriptActionCategory category, Script script) { - int amount = 0; - amount += category.getExtras(script).size(); - for (ScriptActionType type : ScriptActionType.values()) { - if (type.getCategory() == category) { - amount++; - } - } - for (ScriptConditionType type : ScriptConditionType.values()) { - if (type.getCategory() == category) { - amount++; - } - } - for (ScriptRepetitionType type : ScriptRepetitionType.values()) { - if (type.getCategory() == category) { - amount++; - } - } - return (int) (Math.ceil(Math.sqrt(amount))*10)+4; - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptPartCategoryScreen(script, snippet, insertIndex)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java deleted file mode 100644 index 61f05cc..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java +++ /dev/null @@ -1,159 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.features.AuthHandler; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CButton; -import io.github.techstreet.dfscript.screen.widget.CPlainPanel; -import io.github.techstreet.dfscript.screen.widget.CScrollPanel; -import io.github.techstreet.dfscript.screen.widget.CText; -import io.github.techstreet.dfscript.screen.widget.CTextField; -import io.github.techstreet.dfscript.script.ScriptManager; -import io.github.techstreet.dfscript.script.VirtualScript; - -import java.io.*; -import java.net.HttpURLConnection; -import java.net.URL; -import java.nio.charset.Charset; -import java.util.*; - -import net.minecraft.text.LiteralTextContent; -import net.minecraft.text.MutableText; -import net.minecraft.text.Text; - -public class ScriptAddScreen extends CScreen { - public static ArrayList scripts = new ArrayList<>(); - public static HashMap scriptHash = new HashMap<>(); - - CScrollPanel panel; - CTextField searchBox; - - public ScriptAddScreen() { - super(111, 106); - open(); - } - - private void open() { - CPlainPanel root = new CPlainPanel(0, 0, 111, 106); - - panel = new CScrollPanel(0, 17, 111, 84); - - root.add(panel); - - searchBox = new CTextField("Search...", 5, 5, 100, 10, true); - searchBox.setChangedListener(this::update); - root.add(searchBox); - - widgets.add(root); - - update(); - } - - private void update() { - List filtered = new ArrayList<>(); - String query = searchBox.getText().toLowerCase(); - - for (VirtualScript script : scripts) { - if (!searchBox.getText().equals("Search...")) { - if (script.getName().toLowerCase().contains(query.toLowerCase()) || script.getOwner().toLowerCase().contains(query.toLowerCase())) { - filtered.add(script); - } - } else { - filtered.add(script); - } - } - - panel.clear(); - fillPanel(filtered); - } - - public static void getScripts() { - ArrayList scripts = new ArrayList<>(); - - try { - URL url = new URL("https://DFScript-Server.techstreetdev.repl.co/check/"); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.setRequestMethod("GET"); - con.setRequestProperty("authorization", AuthHandler.getAuthCode()); - con.setDoOutput(true); - - con.getInputStream(); - if (con.getResponseCode() != 204) { - AuthHandler.regen(); - } - } catch (Exception e) { - AuthHandler.regen(); -// e.printStackTrace(); - } - - try { - InputStream is = new URL("https://dfscript-server.techstreetdev.repl.co/scripts/get").openStream(); - BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); - JsonObject obj = JsonParser.parseString(readAll(rd)).getAsJsonObject(); - - for (String key : obj.keySet()) { - JsonObject scriptObject = obj.getAsJsonObject(key); - - VirtualScript script = new VirtualScript(scriptObject.get("name").getAsString(), scriptObject.get("owner").getAsString(), key); - script.setApproved(scriptObject.get("approved").getAsBoolean()); - script.setApprover((scriptObject.get("approvedBy").isJsonNull() ? "None" : scriptObject.get("approvedBy").getAsString())); - - scripts.add(script); - } - - is.close(); - - for (VirtualScript s : scripts) { - ScriptAddScreen.scriptHash.put(s.getId(), s); - } - - ScriptAddScreen.scripts = scripts; - } catch (Exception e) { -// e.printStackTrace(); - } - } - - public static String readAll(Reader rd) throws IOException { - StringBuilder sb = new StringBuilder(); - int cp; - - while ((cp = rd.read()) != -1) { - sb.append((char) cp); - } - - return sb.toString(); - } - - private void fillPanel(List scriptList) { - int y = 18; - CButton newButton = new CButton(7, 6, 96, 10, "New Script", () -> { - DFScript.MC.setScreen(new ScriptCreationScreen()); - }); - - panel.add(newButton); - - for (VirtualScript script : scriptList) { - CButton button = new CButton(7, y, 96, 10, (script.isApproved() ? "§e⭐ " : "") + "§f" + script.getName(), () -> { - DFScript.MC.setScreen(new ScriptInstallScreen(script)); - }); - - panel.add(button); - y += 12; - } - - long time = Math.abs((System.currentTimeMillis() / 1000) - ScriptManager.lastServerUpdate); - long minutes = (time % 3600) / 60; - long seconds = time % 60; - - panel.add(new CText(8, 0, Text.literal("Last update: " + minutes + "m " + seconds + "s" + " ago!"))); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptListScreen(true)); - } -} \ No newline at end of file diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddSettingSubtypeScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddSettingSubtypeScreen.java index b4610bd..9608fba 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddSettingSubtypeScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddSettingSubtypeScreen.java @@ -22,7 +22,6 @@ import java.util.stream.Collectors; public class ScriptAddSettingSubtypeScreen extends CScreen { - private int width; private int height; private static final List primitiveTypes; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionCategoryScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionCategoryScreen.java index 9a25950..4b2f4a6 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionCategoryScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionCategoryScreen.java @@ -15,7 +15,6 @@ import java.util.function.Function; public class ScriptConditionCategoryScreen extends CScreen { - private static final int size; static { @@ -56,6 +55,6 @@ public ScriptConditionCategoryScreen(Script script, ScriptSnippet snippet, int i @Override public void close() { - DFScript.MC.setScreen(new ScriptAddPartScreen(script, snippet, insertIndex, ScriptActionCategory.CONDITIONS)); + } } diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionSelectScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionSelectScreen.java index e959a8f..5d0be15 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionSelectScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptConditionSelectScreen.java @@ -41,7 +41,6 @@ public ScriptConditionSelectScreen(Script script, ScriptSnippet snippet, int ins CItem item = new CItem(x, y, type.getIcon("")); item.setClickListener((btn) -> { snippet.add(insertIndex, partCreator.apply(new ScriptBuiltinCondition(type))); - DFScript.MC.setScreen(new ScriptEditScreen(script)); }); widgets.add(item); x += 10; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptCreationScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptCreationScreen.java deleted file mode 100644 index b9bdce5..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptCreationScreen.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CButton; -import io.github.techstreet.dfscript.screen.widget.CText; -import io.github.techstreet.dfscript.screen.widget.CTextField; -import io.github.techstreet.dfscript.script.ScriptManager; -import net.minecraft.text.Text; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class ScriptCreationScreen extends CScreen { - - // invalid file name chars - // there's definitely a better place to put this but this felt the simplest rn - Pattern ILLEGAL_CHARS = Pattern.compile("[\\\\/:*?\"<>|\n]"); - - protected ScriptCreationScreen() { - super(100, 33); - - widgets.add(new CText(4, 4, Text.of("Create Script"))); - - CTextField name = new CTextField("My Script", 4, 9, 92, 9, true){ - @Override - public void keyPressed(int keyCode, int scanCode, int modifiers) { - if(keyCode == 257) return; - super.keyPressed(keyCode, scanCode, modifiers); - } - }; - - name.setChangedListener(() -> { - String scriptName = name.getText(); - - Matcher m = ILLEGAL_CHARS.matcher(scriptName); - - name.textColor = m.find() ? 0xFF3333 : 0xFFFFFF; - }); - - widgets.add(name); - - widgets.add(new CButton(4, 20, 44, 9, "Create", () -> { - String scriptName = name.getText(); - - Matcher m = ILLEGAL_CHARS.matcher(scriptName); - - if (m.find()) return; - - ScriptManager.getInstance().createScript(name.getText()); - DFScript.MC.setScreen(new ScriptListScreen(true)); - })); - - widgets.add(new CButton(52, 20, 44, 9, "Cancel", () -> { - DFScript.MC.setScreen(new ScriptAddScreen()); - })); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptAddScreen()); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptDeletionScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptDeletionScreen.java deleted file mode 100644 index e21cfa8..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptDeletionScreen.java +++ /dev/null @@ -1,30 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CButton; -import io.github.techstreet.dfscript.screen.widget.CText; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptManager; -import net.minecraft.text.Text; - -public class ScriptDeletionScreen extends CScreen { - - public ScriptDeletionScreen(Script script) { - super(103,27); - - widgets.add(new CText(5,5, Text.literal("Delete " + script.getName() + "?"))); - - widgets.add(new CButton(5,12,45, 10,"Delete",() -> { - ScriptManager.getInstance().deleteScript(script); - DFScript.MC.setScreen(new ScriptListScreen(true)); - })); - - widgets.add(new CButton(52,12,45, 10,"Cancel",() -> DFScript.MC.setScreen(new ScriptListScreen(true)))); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptListScreen(true)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionArgumentScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionArgumentScreen.java deleted file mode 100644 index f7ac64a..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionArgumentScreen.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CButton; -import io.github.techstreet.dfscript.screen.widget.CTextField; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.action.ScriptActionArgument; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.options.ScriptNamedOption; - -import java.util.Objects; - -public class ScriptEditFunctionArgumentScreen extends CScreen { - private final Script script; - - private final ScriptFunction function; - private final ScriptActionArgument argument; - - public ScriptEditFunctionArgumentScreen(Script script, ScriptFunction f, ScriptActionArgument a) { - super(100, 50); - this.script = script; - argument = a; - function = f; - - CTextField input = new CTextField(argument.name(), 2, 2, 96, 35, true); - - input.setChangedListener(() -> input.textColor = 0xFFFFFF); - - CButton confirm = new CButton(2, 37, 46, 10, "Rename", () -> { - if(!Objects.equals(argument.name(), input.getText())) { - if(function.argList().argumentExists(input.getText())) { - input.textColor = 0xFF3333; - } else { - //script.replaceOption(option.getName(), input.getText()); - function.replaceArgument(argument.name(), input.getText()); - argument.setName(input.getText()); - close(); - } - } else { - close(); - } - }); - - CButton cancel = new CButton(52, 37, 46, 10, "Cancel", this::close); - - widgets.add(input); - widgets.add(confirm); - widgets.add(cancel); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditFunctionScreen(function, script)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionScreen.java deleted file mode 100644 index 739baad..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditFunctionScreen.java +++ /dev/null @@ -1,208 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CReloadableScreen; -import io.github.techstreet.dfscript.screen.ContextMenuButton; -import io.github.techstreet.dfscript.screen.util.ItemMaterialSelectMenu; -import io.github.techstreet.dfscript.screen.widget.*; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.action.ScriptActionArgument; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.values.ScriptUnknownValue; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.sound.PositionedSoundInstance; -import net.minecraft.item.ItemStack; -import net.minecraft.sound.SoundEvents; -import net.minecraft.text.Text; - -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - -public class ScriptEditFunctionScreen extends CReloadableScreen { - - private final Script script; - private final ScriptFunction function; - private final CScrollPanel panel; - private final List contextMenu = new ArrayList<>(); - - public ScriptEditFunctionScreen(ScriptFunction function, Script script) { - super(90, 100); - panel = new CScrollPanel(0, 0, 90, 100); - - widgets.add(panel); - - this.script = script; - this.function = function; - - reload(); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditScreen(script)); - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - boolean b = super.mouseClicked(mouseX, mouseY, button); - clearContextMenu(); - return b; - } - - private void clearContextMenu() { - for (CWidget w : contextMenu) { - panel.remove(w); - } - contextMenu.clear(); - } - - public void contextMenu(int x, int y, List contextMenuButtons) { - clearContextMenu(); - - int maxWidth = 0; - - for(ContextMenuButton w : contextMenuButtons) - { - TextRenderer t = DFScript.MC.textRenderer; - int width = t.getWidth(w.getName())/2 + 4; - - if(width > maxWidth) maxWidth = width; - } - - for(ContextMenuButton w : contextMenuButtons) - { - CButton button = new CButton(x, y, maxWidth, 8, w.getName(), w.getOnClick()); - y += 8; - - panel.add(button); - contextMenu.add(button); - } - } - - @Override - public void reload() { - clearContextMenu(); - panel.clear(); - - CTextField nameField = new CTextField(function.getName(), 15, 3, 90-10-10, 8, true); - nameField.setMultiline(false); - nameField.setChangedListener(() -> { - if(script.functionExists(nameField.getText())) { - nameField.textColor = 0xFF0000; - } - else { - nameField.textColor = 0xFFFFFF; - script.replaceFunction(function.getName(), nameField.getText()); - function.setName(nameField.getText()); - } - }); - - CItem icon = new CItem(5, 3, function.getIcon()); - - icon.setClickListener((button) -> { - DFScript.MC.setScreen(new ItemMaterialSelectMenu(function.getRawIcon(), (newIcon) -> { - function.setIcon(newIcon); - DFScript.MC.setScreen(new ScriptEditFunctionScreen(function, script)); - })); - }); - - CTextField descField = new CTextField(function.getDescription(), 5, 11, 80, 20, true); - descField.setChangedListener(() -> { - function.setDescription(descField.getText()); - }); - - panel.add(icon); - panel.add(nameField); - panel.add(descField); - - int y = 31+4; - int index = 0; - for (ScriptActionArgument arg : function.argList()) { - ItemStack argIcon = arg.getUnnamedIcon(); - String text = arg.name(); - - panel.add(new CItem(5, y, argIcon, Text.literal((arg.optional() ? "*" : "") + (arg.plural() ? "s" : "")))); - panel.add(new CText(15, y + 2, Text.literal(text))); - - int currentIndex = index; - - - panel.add(new CButton(5, y-1, 85, 10, "",() -> {}) { - @Override - public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - if (b.contains(mouseX, mouseY)) { - context.fill(b.x, b.y, b.x + b.width, b.y + b.height, 0x33000000); - } - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - if (getBounds().contains(x, y)) { - DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK.value(), - 1f,1f)); - - if (button != 0) { - List contextMenuButtons = new ArrayList<>(); - contextMenuButtons.add(new ContextMenuButton("Insert Before", () -> { - DFScript.MC.setScreen(new ScriptAddFunctionArgumentScreen(script, function, currentIndex)); - }, false)); - if (!(currentIndex == function.argList().size() - 1 && arg.plural())) { - contextMenuButtons.add(new ContextMenuButton("Insert After", () -> { - DFScript.MC.setScreen(new ScriptAddFunctionArgumentScreen(script, function, currentIndex + 1)); - }, false)); - } - contextMenuButtons.add(new ContextMenuButton("Delete", () -> { - function.removeArgument(arg.name()); - - function.argList().remove(currentIndex); - })); - if(arg.type().allowOptional()) { - contextMenuButtons.add(new ContextMenuButton(arg.optional() ? "Required" : "Optional", () -> { - arg.optional(!arg.optional()); - })); - if(currentIndex == function.argList().size()-1) { - contextMenuButtons.add(new ContextMenuButton(arg.plural() ? "Singular" : "Plural", () -> { - arg.plural(!arg.plural()); - })); - } - if(arg.optional() && !arg.plural() && arg.type().getDefaultValueType() != null) { - contextMenuButtons.add(new ContextMenuButton("Default Value", () -> { - DFScript.MC.setScreen(new ScriptSetValueScreen(script, () -> { - DFScript.MC.setScreen(new ScriptEditFunctionScreen(function, script)); - }, arg::defaultValue, arg.type().getDefaultValueType(), - arg.defaultValue() instanceof ScriptUnknownValue ? null : arg.defaultValue().asText())); - }, false)); - } - } - DFScript.MC.send(() -> { - if(DFScript.MC.currentScreen instanceof ScriptEditFunctionScreen screen) { - screen.contextMenu((int) x, (int) y, contextMenuButtons); - } - }); - } - else - { - DFScript.MC.setScreen(new ScriptEditFunctionArgumentScreen(script, function, arg)); - } - - return true; - } - return false; - } - }); - - y += 10; - index++; - - } - - CButton add = new CButton(25, y, 40, 8, "Add", () -> { - DFScript.MC.setScreen(new ScriptAddFunctionArgumentScreen(script, function, function.argList().size())); - }); - if(function.argList().size() == 0 || !function.argList().get(function.argList().size() - 1).plural()) - panel.add(add); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditPartScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditPartScreen.java deleted file mode 100644 index 3a22090..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditPartScreen.java +++ /dev/null @@ -1,169 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CReloadableScreen; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.ContextMenuButton; -import io.github.techstreet.dfscript.screen.widget.*; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptParametrizedPart; -import io.github.techstreet.dfscript.script.argument.*; -import io.github.techstreet.dfscript.script.event.ScriptHeader; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.sound.PositionedSoundInstance; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.sound.SoundEvents; -import net.minecraft.text.Text; - -import java.awt.*; -import java.math.RoundingMode; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; -public class ScriptEditPartScreen extends CReloadableScreen { - private final Script script; - - private final ScriptHeader header; - private final ScriptParametrizedPart action; - private final CScrollPanel panel; - private final List contextMenu = new ArrayList<>(); - - public ScriptEditPartScreen(ScriptParametrizedPart action, Script script, ScriptHeader header) { - super(90, 100); - panel = new CScrollPanel(0, 0, 90, 100); - - widgets.add(panel); - - this.script = script; - this.action = action; - this.header = header; - - reload(); - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditScreen(script)); - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - boolean b = super.mouseClicked(mouseX, mouseY, button); - clearContextMenu(); - return b; - } - - private void clearContextMenu() { - for (CWidget w : contextMenu) { - panel.remove(w); - } - contextMenu.clear(); - } - - public void contextMenu(int x, int y, List contextMenuButtons) { - clearContextMenu(); - - int maxWidth = 0; - - for(ContextMenuButton w : contextMenuButtons) - { - TextRenderer t = DFScript.MC.textRenderer; - int width = t.getWidth(w.getName())/2 + 4; - - if(width > maxWidth) maxWidth = width; - } - - for(ContextMenuButton w : contextMenuButtons) - { - CButton button = new CButton(x, y, maxWidth, 8, w.getName(), w.getOnClick()); - y += 8; - - panel.add(button); - contextMenu.add(button); - } - } - - @Override - public void reload() { - clearContextMenu(); - panel.clear(); - - panel.add(new CItem(5, 3, action.getIcon())); - panel.add(new CText(15, 5, Text.of(action.getName()))); - - int y = 15; - int index = 0; - for (ScriptArgument arg : action.getArguments()) { - ItemStack icon = arg.getArgIcon(); - Text countText = arg.getArgIconText(); - String text = arg.getArgText(); - - panel.add(new CItem(5, y, icon, countText)); - panel.add(new CText(15, y + 2, Text.literal(text))); - - int currentIndex = index; - - - panel.add(new CButton(5, y-1, 85, 10, "",() -> {}) { - @Override - public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - if (b.contains(mouseX, mouseY)) { - context.fill(b.x, b.y, b.x + b.width, b.y + b.height, 0x33000000); - } - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - if (getBounds().contains(x, y)) { - DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK.value(), 1f,1f)); - - if (button == 0) { - ScriptArgument argument = action.getArguments().get(currentIndex); - String value = "~"; - if(argument instanceof ScriptClientValueArgument clientValue) value = clientValue.getName(); - if(argument instanceof ScriptConfigArgument configArgument) value = configArgument.getName(); - if(argument instanceof ScriptNumberArgument number) value = String.valueOf(number.value()); - if(argument instanceof ScriptTextArgument text) value = text.value(); - if(argument instanceof ScriptVariableArgument var) value = var.name(); - if(argument instanceof ScriptFunctionArgument var) value = var.getName(); - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, currentIndex, header, value)); - } - - if (button != 0) { - List contextMenuButtons = new ArrayList<>(); - contextMenuButtons.add(new ContextMenuButton("Insert Before", () -> { - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, currentIndex, header)); - }, false)); - contextMenuButtons.add(new ContextMenuButton("Insert After", () -> { - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, currentIndex+1, header)); - }, false)); - contextMenuButtons.add(new ContextMenuButton("Delete", () -> { - action.getArguments().remove(currentIndex); - })); - contextMenuButtons.addAll(action.getArguments().get(currentIndex).getContextMenu()); - DFScript.MC.send(() -> { - if(DFScript.MC.currentScreen instanceof ScriptEditPartScreen screen) { - screen.contextMenu((int) x, (int) y, contextMenuButtons); - } - }); - } - return true; - } - return false; - } - }); - - y += 10; - index++; - - } - - CButton add = new CButton(25, y, 40, 8, "Add", () -> { - DFScript.MC.setScreen(new ScriptAddArgumentScreen(script, action, action.getArguments().size(), header)); - }); - panel.add(add); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditScreen.java deleted file mode 100644 index 08fcad6..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptEditScreen.java +++ /dev/null @@ -1,409 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CReloadableScreen; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.ContextMenuButton; -import io.github.techstreet.dfscript.screen.widget.*; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptManager; - -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.event.ScriptHeader; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.sound.PositionedSoundInstance; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.sound.SoundEvents; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; -public class ScriptEditScreen extends CReloadableScreen { - private final Identifier identifier_main = new Identifier(DFScript.MOD_ID + ":wrench.png"); - - private final Script script; - private static int scroll = 0; - - public final static int width = 125; - private CScrollPanel panel; - private final List contextMenu = new ArrayList<>(); - - public ScriptEditScreen(Script script) { - super(width, 100); - this.script = script; - - reload(); - /*panel = new CScrollPanel(0, 3, 120, 94); - - //CTextField description = new CTextField(script.getDescription(), 3, 3, 115, 20, true); - //description.setChangedListener(() -> script.setDescription(description.getText())); - //panel.add(description); - - widgets.add(panel); - - int y = 0; - int index = 0; - int indent = 0; - - CText name = new CText(5,y+2,Text.literal(script.getName()),0,1,false,false); - panel.add(name); - - CButton settings = new CTexturedButton(120-8, y, 8, 8, DFScript.MOD_ID + ":settings.png", () -> { - DFScript.MC.setScreen(new ScriptSettingsScreen(this.script, true)); - }, 0, 0, 1, 0.5f, 0, 0.5f); - - panel.add(settings); - - y += 10; - - for (ScriptPart part : script.getParts()) { - if (part instanceof ScriptEvent se) { - panel.add(new CItem(5, y, se.getType().getIcon())); - panel.add(new CText(15, y + 2, Text.literal(se.getType().getName()))); - indent = 5; - - int currentIndex = index; - panel.add(new CButton(5, y-1, 115, 10, "",() -> {}) { - @Override - public void render(MatrixStack stack, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - - if (b.contains(mouseX, mouseY)) { - int color = 0x33000000; - - DrawableHelper.fill(stack, b.x, b.y, b.x + b.width, b.y + b.height, color); - } - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - if (getBounds().contains(x, y)) { - DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK, 1f,1f)); - - if (button != 0) { - CButton insertBefore = new CButton((int) x, (int) y, 40, 8, "Insert Before", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, currentIndex)); - }); - CButton insertAfter = new CButton((int) x, (int) y+8, 40, 8, "Insert After", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, currentIndex + 1)); - }); - CButton delete = new CButton((int) x, (int) y+16, 40, 8, "Delete", () -> { - script.getParts().remove(currentIndex); - scroll = panel.getScroll(); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - DFScript.MC.send(() -> { - panel.add(insertBefore); - panel.add(insertAfter); - panel.add(delete); - contextMenu.add(insertBefore); - contextMenu.add(insertAfter); - contextMenu.add(delete); - }); - } - return true; - } - return false; - } - }); - } else if (part instanceof ScriptAction sa) { - if (sa.getType() == ScriptActionType.CLOSE_BRACKET) { - indent -= 5; - } - - panel.add(new CItem(5 + indent, y, sa.getType().getIcon())); - panel.add(new CText(15 + indent, y + 2, Text.literal(sa.getType().getName()))); - - createIndent(indent, y); - - int currentIndex = index; - panel.add(new CButton(5, y - 1, 115, 10, "", () -> { - }) { - @Override - public void render(MatrixStack stack, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - if (b.contains(mouseX, mouseY)) { - int color = 0x33000000; - - if (sa.getType().isDeprecated()) { - color = 0x80FF0000; - } - - DrawableHelper.fill(stack, b.x, b.y, b.x + b.width, b.y + b.height, color); - } else { - if (sa.getType().isDeprecated()) { - DrawableHelper.fill(stack, b.x, b.y, b.x + b.width, b.y + b.height, 0x33FF0000); - } - } - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - if (getBounds().contains(x, y)) { - DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK, 1f, 1f)); - - if (button == 0) { - if (sa.getType() != ScriptActionType.CLOSE_BRACKET) { - scroll = panel.getScroll(); - DFScript.MC.setScreen(new ScriptEditActionScreen(sa, script)); - } - } else { - CButton insertBefore = new CButton((int) x, (int) y, 40, 8, "Insert Before", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, currentIndex)); - }); - CButton insertAfter = new CButton((int) x, (int) y + 8, 40, 8, "Insert After", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, currentIndex + 1)); - }); - CButton delete = new CButton((int) x, (int) y + 16, 40, 8, "Delete", () -> { - script.getParts().remove(currentIndex); - scroll = panel.getScroll(); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - DFScript.MC.send(() -> { - panel.add(insertBefore); - panel.add(insertAfter); - panel.add(delete); - contextMenu.add(insertBefore); - contextMenu.add(insertAfter); - contextMenu.add(delete); - }); - } - return true; - } - return false; - } - }); - - if (sa.getType().hasChildren()) { - indent += 5; - } - } else if (part instanceof ScriptComment sc) { - panel.add(new CItem(5 + indent, y, new ItemStack(Items.MAP).setCustomName(Text.literal("Comment").setStyle(Style.EMPTY.withItalic(false))))); - - CTextField cTextField = new CTextField(sc.getComment(),15+indent, y-1, width-(15+indent)-5, 10, true); - - cTextField.setChangedListener(() -> sc.setComment(cTextField.getText())); - - panel.add(cTextField); - - int currentIndex = index; - - panel.add(new CButton(5, y-1, 115, 10, "",() -> {}) { - @Override - public void render(MatrixStack stack, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - - if (b.contains(mouseX, mouseY)) { - int color = 0x33000000; - - DrawableHelper.fill(stack, b.x, b.y, b.x + b.width, b.y + b.height, color); - } - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - if (getBounds().contains(x, y)) { - DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK, 1f,1f)); - - if (button != 0) { - CButton insertBefore = new CButton((int) x, (int) y, 40, 8, "Insert Before", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, currentIndex)); - }); - CButton insertAfter = new CButton((int) x, (int) y+8, 40, 8, "Insert After", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, currentIndex + 1)); - }); - CButton delete = new CButton((int) x, (int) y+16, 40, 8, "Delete", () -> { - script.getParts().remove(currentIndex); - scroll = panel.getScroll(); - DFScript.MC.setScreen(new ScriptEditScreen(script)); - }); - DFScript.MC.send(() -> { - panel.add(insertBefore); - panel.add(insertAfter); - panel.add(delete); - contextMenu.add(insertBefore); - contextMenu.add(insertAfter); - contextMenu.add(delete); - }); - - return true; - } - } - return false; - } - }); - - createIndent(indent, y); - } else { - throw new IllegalArgumentException("Unknown script part type"); - } - - y += 10; - index++; - } - - CButton add = new CButton(37, y, 46, 8, "Add", () -> { - DFScript.MC.setScreen(new ScriptActionCategoryScreen(script, script.getParts().size())); - }); - - panel.add(add); - panel.setScroll(scroll);*/ - } - - public void reload() - { - clearContextMenu(); - widgets.clear(); - - if(panel != null) - { - scroll = panel.getScroll(); - } - - panel = new CScrollPanel(0, 3, 120, 94); - widgets.add(panel); - - int y = 0; - int index = 0; - - CText name = new CText(5,y+2,Text.literal(script.getName()),0,1,false,false); - panel.add(name); - - CButton settings = new CTexturedButton(120-8, y, 8, 8, DFScript.MOD_ID + ":settings.png", DFScript.MOD_ID + ":settings_highlight.png", () -> { - DFScript.MC.setScreen(new ScriptSettingsScreen(this.script, true)); - }); - panel.add(settings); - - y += 10; - - for(ScriptHeader header : script.getHeaders()) { - int origY = y; - y = header.create(panel, y, index, script); - int currentIndex = index; - panel.add(new CButton(5, origY-1, 115, 10, "",() -> {}) { - @Override - public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - - if (b.contains(mouseX, mouseY)) { - int color = 0x33000000; - - context.fill(b.x, b.y, b.x + b.width, b.y + b.height, color); - } - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - if (getBounds().contains(x, y)) { - DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK.value(), 1f,1f)); - - if (button != 0) { - CButton insertBefore = new CButton((int) x, (int) y, 40, 8, "Insert Before", () -> { - DFScript.MC.setScreen(new ScriptHeaderCategoryScreen(script, currentIndex)); - }); - CButton insertAfter = new CButton((int) x, (int) y+8, 40, 8, "Insert After", () -> { - DFScript.MC.setScreen(new ScriptHeaderCategoryScreen(script, currentIndex + 1)); - }); - CButton delete = new CButton((int) x, (int) y+16, 40, 8, "Delete", () -> { - script.getHeaders().remove(currentIndex); - if(header instanceof ScriptFunction f) { - script.removeFunction(f.getName()); - } - reload(); - }); - DFScript.MC.send(() -> { - panel.add(insertBefore); - panel.add(insertAfter); - panel.add(delete); - contextMenu.add(insertBefore); - contextMenu.add(insertAfter); - contextMenu.add(delete); - }); - } - else { - if(header instanceof ScriptFunction f) { - DFScript.MC.setScreen(new ScriptEditFunctionScreen(f, script)); - } - } - return true; - } - return false; - } - }); - index++; - } - - CButton add = new CButton(37, y, 46, 8, "Add Header", () -> { - DFScript.MC.setScreen(new ScriptHeaderCategoryScreen(script, script.getHeaders().size())); - }); - - panel.add(add); - - panel.setScroll(scroll); - } - - public void createIndent(int indent, int y) - { - for (int i = 0; i < indent; i += 5) { - int xpos = 8 + i; - int ypos = y; - panel.add(new CWidget() { - @Override - public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { - context.fill(xpos, ypos, xpos + 1, ypos + 8, 0xFF333333); - } - - @Override - public Rectangle getBounds() { - return new Rectangle(0, 0, 0, 0); - } - }); - } - } - - @Override - public void close() { - scroll = panel.getScroll(); - ScriptManager.getInstance().saveScript(script); - DFScript.MC.setScreen(new ScriptListScreen(true)); - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - boolean b = super.mouseClicked(mouseX, mouseY, button); - clearContextMenu(); - return b; - } - - private void clearContextMenu() { - for (CWidget w : contextMenu) { - panel.remove(w); - } - contextMenu.clear(); - } - - public void contextMenu(int x, int y, List contextMenuButtons) { - clearContextMenu(); - - int maxWidth = 0; - - for(ContextMenuButton w : contextMenuButtons) - { - TextRenderer t = DFScript.MC.textRenderer; - int width = t.getWidth(w.getName())/2 + 4; - - if(width > maxWidth) maxWidth = width; - } - - for(ContextMenuButton w : contextMenuButtons) - { - CButton button = new CButton(x, y, maxWidth, 8, w.getName(), w.getOnClick()); - y += 8; - - panel.add(button); - contextMenu.add(button); - } - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptHeaderCategoryScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptHeaderCategoryScreen.java deleted file mode 100644 index cf07955..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptHeaderCategoryScreen.java +++ /dev/null @@ -1,84 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.action.ScriptActionArgumentList; -import io.github.techstreet.dfscript.script.action.ScriptActionCategory; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.event.ScriptHeader; -import io.github.techstreet.dfscript.script.event.ScriptHeaderCategory; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.text.Style; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -import java.util.List; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -public class ScriptHeaderCategoryScreen extends CScreen { - - private static final int size; - private static final List extra; - - static { - extra = List.of( - new HeaderExtra(ScriptFunction.functionIcon, (script, insertIndex) -> - script.getHeaders().add(insertIndex, new ScriptFunction( - script.getUnnamedFunction(), Items.LAPIS_LAZULI, new ScriptActionArgumentList(), "" - ))) - ); - size = (int) (Math.ceil(Math.sqrt(ScriptHeaderCategory.values().length+extra.size())) * 10)+4; - } - - private final Script script; - - public ScriptHeaderCategoryScreen(Script script, int insertIndex) { - super(size, size); - this.script = script; - - int x = 3; - int y = 3; - - for (ScriptHeaderCategory category : ScriptHeaderCategory.values()) { - CItem actionItem = new CItem(x, y, category.getIcon()); - widgets.add(actionItem); - - actionItem.setClickListener(btn -> DFScript.MC.setScreen(new ScriptAddHeaderScreen(script, insertIndex, category))); - - x += 10; - if (x >= size - 10) { - x = 3; - y += 10; - } - } - - for(HeaderExtra headerExtra : extra) { - CItem item = new CItem(x, y, headerExtra.icon()); - item.setClickListener(button -> { - headerExtra.onClick().accept(script, insertIndex); - close(); - }); - - widgets.add(item); - - x += 10; - if (x >= size - 10) { - x = 3; - y += 10; - } - } - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditScreen(script)); - } - - record HeaderExtra(ItemStack icon, BiConsumer onClick) {} -} \ No newline at end of file diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptInstallScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptInstallScreen.java deleted file mode 100644 index e7458f3..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptInstallScreen.java +++ /dev/null @@ -1,112 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import com.google.gson.JsonObject; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.features.AuthHandler; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CButton; -import io.github.techstreet.dfscript.screen.widget.CText; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptManager; -import io.github.techstreet.dfscript.script.VirtualScript; -import io.github.techstreet.dfscript.script.util.UploadResponse; -import net.minecraft.text.Text; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.HttpURLConnection; -import java.net.URL; - -public class ScriptInstallScreen extends CScreen { - - protected ScriptInstallScreen(VirtualScript script) { - super(125, 52); - - CText name = new CText(5, 5, Text.literal("Name: " + script.getName())); - CText owner = new CText(5, 12, Text.literal("Creator: " + script.getOwner())); - CText id = new CText(5, 19, Text.literal("ID: " + script.getId())); - CText approved = new CText(5, 26, Text.literal("Approved: " + (script.isApproved() ? "§a✓ by " + script.getApprover() : "§c❌"))); - - widgets.add(name); - widgets.add(owner); - widgets.add(id); - widgets.add(approved); - - if (DFScript.MC.player != null) { - for (Script s : ScriptManager.getInstance().getScripts()) { - if (AuthHandler.getStaffMember()) { - if (!script.isApproved()) { - widgets.add(new CButton(38, 38, 40, 10, "Approve", () -> { - setApproved(script, true); - })); - } else { - widgets.add(new CButton(38, 38, 40, 10, "Unapprove", () -> { - setApproved(script, false); - })); - } - } - - if (s.getServer() != null && s.getServer().contains(script.getId())) { - if (s.getOwner().contains(script.getOwner())) { - return; - } - - widgets.add(new CButton(80, 38, 40, 10, "Update", () -> { - script.download(true); - })); - - return; - } - } - - widgets.add(new CButton(80, 38, 40, 10, "Install", () -> { - script.download(false); - })); - } - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptAddScreen()); - } - - public static void setApproved(VirtualScript script, boolean approved) { - try { - URL url = new URL("https://DFScript-Server.techstreetdev.repl.co/scripts/approve/"); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.setRequestMethod("POST"); - con.setRequestProperty("Content-Type", "application/json"); - con.setRequestProperty("Accept", "application/json"); - con.setRequestProperty("authorization", AuthHandler.getAuthCode()); - con.setDoOutput(true); - con.setReadTimeout(5000); - con.setConnectTimeout(5000); - - JsonObject obj = new JsonObject(); - obj.addProperty("id", script.getId()); - obj.addProperty("approved", approved); - - try (OutputStream os = con.getOutputStream()) { - byte[] input = obj.toString().getBytes("utf-8"); - os.write(input, 0, input.length); - } - - try { - try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) { - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptInstallScreen(script), "Successfully " + (!approved ? "un" : "") + "approved that script!")); - } - } catch (IOException e) { - if (e.getMessage().contains("403")) { - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptInstallScreen(script), "You don't have permission to " + (!approved ? "un" : "") + "approve this script!")); - } else { -// e.printStackTrace(); - } - } - } catch (Exception e) { -// e.printStackTrace(); - } - } - -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptListScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptListScreen.java deleted file mode 100644 index 41c30c7..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptListScreen.java +++ /dev/null @@ -1,244 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import com.google.gson.JsonObject; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.features.AuthHandler; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.*; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptManager; -import io.github.techstreet.dfscript.script.VirtualScript; -import io.github.techstreet.dfscript.script.util.UploadResponse; -import io.github.techstreet.dfscript.util.Regex; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.text.MutableText; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import org.apache.commons.codec.binary.Base64; - -import java.awt.*; -import java.io.*; -import java.net.HttpURLConnection; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.zip.GZIPOutputStream; - -public class ScriptListScreen extends CScreen { - private final List contextMenu = new ArrayList<>(); - - public ScriptListScreen(boolean allowEditAndUpload) { - super(160, 100); - CScrollPanel panel = new CScrollPanel(0, 5, 160, 94); - widgets.add(panel); - - int y = 0; - for (Script s : ScriptManager.getInstance().getScripts()) { - MutableText text = Text.literal(s.getName()); - VirtualScript script = ScriptAddScreen.scriptHash.get(s.getServer()); - - if (script != null) { - text = Text.literal((script.isApproved() ? "⭐ " : "") + s.getName()); - - if (script.isApproved()) { - text = text.formatted(Formatting.YELLOW); - } - } - - if (s.disabled()) { - text = text.formatted(Formatting.STRIKETHROUGH); - } - - panel.add(new CText(6, y + 2, text)); - - panel.add(new CButton(4, y-1, 153, 10, "",() -> {}) { - @Override - public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { - Rectangle b = getBounds(); - context.fill(b.x, b.y, b.x + b.width, b.y + b.height, 0x33000000); - } - - @Override - public boolean mouseClicked(double x, double y, int button) { - return false; - } - }); - - int addedY = 0; - int addedX = 118; - - if (allowEditAndUpload) { - // Delete Button - CButton delete = new CTexturedButton(20 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":delete.png", DFScript.MOD_ID + ":delete_highlight.png", () -> { - DFScript.MC.setScreen(new ScriptDeletionScreen(s)); - }); - - if (!Objects.equals(s.getServer(), "None") && s.getOwner() != null && s.getOwner().equals(DFScript.PLAYER_UUID)) { - delete.setOnClick(() -> { - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(allowEditAndUpload), "That script must be removed from the server to delete it!!")); - }); - } - - panel.add(delete); - } - - // Enable or Disable Button - CButton enableDisable; - if (s.disabled()) { - enableDisable = new CTexturedButton(30 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":enable.png", DFScript.MOD_ID + ":enable_highlight.png", () -> { - s.setDisabled(false); - ScriptManager.getInstance().saveScript(s); - DFScript.MC.setScreen(new ScriptListScreen(allowEditAndUpload)); - }); - } else { - enableDisable = new CTexturedButton(30 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":disable.png", DFScript.MOD_ID + ":disable_highlight.png", () -> { - s.setDisabled(true); - ScriptManager.getInstance().saveScript(s); - DFScript.MC.setScreen(new ScriptListScreen(allowEditAndUpload)); - }); - } - - panel.add(enableDisable); - - if(allowEditAndUpload) { - if (s.getOwner() != null && s.getOwner().replaceAll("-", "").equals(DFScript.PLAYER_UUID.replaceAll("-", ""))) { - // Edit Button - CButton edit = new CTexturedButton(addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":wrench.png", DFScript.MOD_ID + ":wrench_highlight.png", () -> { - DFScript.MC.setScreen(new ScriptEditScreen(s)); - }); - - panel.add(edit); - - // Upload or Remove Button - CButton upload = new CTexturedButton(10 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":upload.png", DFScript.MOD_ID + ":upload_highlight.png", () -> { - try { - // Encode the script JSON to GZIP Base64 - byte[] bytes = Files.readAllBytes(s.getFile().toPath()); - - ByteArrayOutputStream rstBao = new ByteArrayOutputStream(); - GZIPOutputStream zos = new GZIPOutputStream(rstBao); - zos.write(bytes); - zos.close(); - - String scriptData = Base64.encodeBase64String(rstBao.toByteArray()); - - // Upload the script to the server - URL url = new URL("https://DFScript-Server.techstreetdev.repl.co/scripts/upload"); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.setRequestMethod("POST"); - con.setRequestProperty("Content-Type", "application/json"); - con.setRequestProperty("Accept", "application/json"); - con.setRequestProperty("authorization", AuthHandler.getAuthCode()); - con.setDoOutput(true); - - JsonObject obj = new JsonObject(); - obj.addProperty("data", scriptData); - - try (OutputStream os = con.getOutputStream()) { - byte[] input = obj.toString().getBytes(StandardCharsets.UTF_8); - os.write(input, 0, input.length); - } - - // Parse the response and get the scripts ID - try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8))) { - StringBuilder response = new StringBuilder(); - String responseLine; - - while ((responseLine = br.readLine()) != null) { - response.append(responseLine.trim()); - } - - UploadResponse uploadResponse = DFScript.GSON.fromJson(response.toString(), UploadResponse.class); - System.out.println(uploadResponse.getId()); - s.setServer(uploadResponse.getId()); - - ScriptManager.getInstance().saveScript(s); - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(allowEditAndUpload), "Successfully uploaded the script to the server!")); - } - } catch (Exception e) { - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(allowEditAndUpload), "Failed to upload script to the server, please report this to a DFScript developer!")); -// e.printStackTrace(); - } - }); - - if (!Objects.equals(s.getServer(), "None")) { - upload = new CTexturedButton(10 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":unupload.png", DFScript.MOD_ID + ":unupload_highlight.png", () -> { - try { - // Remove the script to the server - URL url = new URL("https://DFScript-Server.techstreetdev.repl.co/scripts/remove/"); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.setRequestMethod("POST"); - con.setRequestProperty("Content-Type", "application/json"); - con.setRequestProperty("Accept", "application/json"); - con.setRequestProperty("authorization", AuthHandler.getAuthCode()); - con.setDoOutput(true); - - JsonObject obj = new JsonObject(); - obj.addProperty("id", s.getServer()); - - try (OutputStream os = con.getOutputStream()) { - byte[] input = obj.toString().getBytes(StandardCharsets.UTF_8); - os.write(input, 0, input.length); - } - - try { - try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8))) { - s.setServer("None"); - ScriptManager.getInstance().saveScript(s); - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(allowEditAndUpload), "Successfully removed the script from the server!")); - } - } catch (IOException e) { - if (e.getMessage().contains("401")) { - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(allowEditAndUpload), "You don't have permission to delete this script!")); - } else { -// e.printStackTrace(); - } - } - } catch (Exception e) { - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(allowEditAndUpload), "Failed to remove the script from the server, please try again!")); -// e.printStackTrace(); - } - }); - } - - panel.add(upload); - } - else { - //Script Settings Button - CButton settings = new CTexturedButton(10 + addedX, y + addedY, 8, 8, DFScript.MOD_ID + ":settings.png", DFScript.MOD_ID + ":settings_highlight.png", () -> { - DFScript.MC.setScreen(new ScriptSettingsScreen(s, false)); - }); - - panel.add(settings); - } - } - - y += 12; - } - - if (allowEditAndUpload) { - CButton add = new CButton(60, y + 1, 40, 8, "Add", () -> { - DFScript.MC.setScreen(new ScriptAddScreen()); - }); - - panel.add(add); - } - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - boolean b = super.mouseClicked(mouseX, mouseY, button); - clearContextMenu(); - return b; - } - - private void clearContextMenu() { - for (CWidget w : contextMenu) { - widgets.remove(w); - } - contextMenu.clear(); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptMessageScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptMessageScreen.java deleted file mode 100644 index 06cadf4..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptMessageScreen.java +++ /dev/null @@ -1,51 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CButton; -import io.github.techstreet.dfscript.screen.widget.CText; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.Text; - -import java.util.ArrayList; - -public class ScriptMessageScreen extends CScreen { - - private final Screen parent; - - public ScriptMessageScreen(Screen parent, String message) { - super(106, 60); - this.parent = parent; - - int counter = 0; - int y = 20; - - StringBuilder words = new StringBuilder(); - for (Character c : message.toCharArray()) { - counter += 1; - words.append(c); - - if (c.toString().equals(" ") && counter >= 25) { - int width = DFScript.MC.textRenderer.getWidth(words.toString()); - int x = (106 - width); - - CText text = new CText(10, y, Text.literal(words.toString())); - System.out.println(x + ":" + y + " == " + words); - widgets.add(text); - - y += 6; - words = new StringBuilder(""); - counter = 0; - } - } - - widgets.add(new CButton(33, 42, 40, 10, "Ok", () -> { - DFScript.MC.setScreen(parent); - })); - } - - @Override - public void close() { - DFScript.MC.setScreen(parent); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptPartCategoryScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptPartCategoryScreen.java deleted file mode 100644 index 6ad6b20..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptPartCategoryScreen.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptSnippet; -import io.github.techstreet.dfscript.script.action.ScriptActionCategory; - -public class ScriptPartCategoryScreen extends CScreen { - - private static final int size; - - static { - size = (int) (Math.ceil(Math.sqrt(ScriptActionCategory.values().length)) * 10)+4; - } - - private final Script script; - - public ScriptPartCategoryScreen(Script script, ScriptSnippet snippet, int insertIndex) { - super(size, size); - this.script = script; - - int x = 3; - int y = 3; - - for (ScriptActionCategory category : ScriptActionCategory.values()) { - CItem actionItem = new CItem(x, y, category.getIcon()); - widgets.add(actionItem); - - actionItem.setClickListener(btn -> DFScript.MC.setScreen(new ScriptAddPartScreen(script, snippet, insertIndex, category))); - - x += 10; - if (x >= size - 10) { - x = 3; - y += 10; - } - } - } - - @Override - public void close() { - DFScript.MC.setScreen(new ScriptEditScreen(script)); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSetValueScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSetValueScreen.java deleted file mode 100644 index bbcd16b..0000000 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSetValueScreen.java +++ /dev/null @@ -1,141 +0,0 @@ -package io.github.techstreet.dfscript.screen.script; - -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.CItem; -import io.github.techstreet.dfscript.screen.widget.CTextField; -import io.github.techstreet.dfscript.script.Script; -import io.github.techstreet.dfscript.script.ScriptParametrizedPart; -import io.github.techstreet.dfscript.script.argument.ScriptNumberArgument; -import io.github.techstreet.dfscript.script.argument.ScriptTextArgument; -import io.github.techstreet.dfscript.script.argument.ScriptVariableArgument; -import io.github.techstreet.dfscript.script.argument.ScriptVariableScope; -import io.github.techstreet.dfscript.script.event.ScriptFunction; -import io.github.techstreet.dfscript.script.event.ScriptHeader; -import io.github.techstreet.dfscript.script.values.*; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.text.Style; -import net.minecraft.text.Text; - -import java.util.function.Consumer; - -public class ScriptSetValueScreen extends CScreen { - - private final Script script; - - private final Consumer onSave; - - private final Runnable onClose; - - private final Class type; - - public ScriptSetValueScreen(Script script, Runnable onClose, Consumer onSave, Class type) { - this(script,onClose,onSave, type,null); - } - public ScriptSetValueScreen(Script script, Runnable onClose, Consumer onSave, Class type, String overwrite) { - super(100, 50); - this.script = script; - this.onSave = onSave; - this.onClose = onClose; - this.type = type; - - CTextField input = new CTextField("Input", 2, 2, 96, 35, true); - if(overwrite != null) input.setText(overwrite); - - ItemStack unknownIcon = new ItemStack(Items.LIGHT_GRAY_DYE); - unknownIcon.setCustomName(Text.literal("Unknown") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack textIcon = new ItemStack(Items.BOOK); - textIcon.setCustomName(Text.literal("Text") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack numberIcon = new ItemStack(Items.SLIME_BALL); - numberIcon.setCustomName(Text.literal("Number") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack trueIcon = new ItemStack(Items.LIME_DYE); - trueIcon.setCustomName(Text.literal("True") - .fillStyle(Style.EMPTY.withItalic(false))); - - ItemStack falseIcon = new ItemStack(Items.RED_DYE); - falseIcon.setCustomName(Text.literal("False") - .fillStyle(Style.EMPTY.withItalic(false))); - - CItem addNumber; - CItem addText; - CItem addTrue; - CItem addFalse; - CItem addUnknown; - - int x = 2; - - if(type == ScriptValue.class || type == ScriptNumberValue.class) { - addNumber = new CItem(x, 40, numberIcon); - x += 10; - - addNumber.setClickListener((btn) -> { - try { - double number = Double.parseDouble(input.getText()); - onSave.accept(new ScriptNumberValue(number)); - close(); - } catch (Exception err) { - input.textColor = 0xFF3333; - } - }); - - widgets.add(addNumber); - } - - if(type == ScriptValue.class || type == ScriptTextValue.class) { - addText = new CItem(x, 40, textIcon); - x += 10; - - addText.setClickListener((btn) -> { - onSave.accept(new ScriptTextValue(input.getText())); - close(); - }); - - widgets.add(addText); - } - - if(type == ScriptValue.class || type == ScriptBoolValue.class) { - addTrue = new CItem(x, 40, trueIcon); - x += 10; - addFalse = new CItem(x, 40, falseIcon); - x += 10; - - addTrue.setClickListener((btn) -> { - onSave.accept(new ScriptBoolValue(true)); - close(); - }); - - addFalse.setClickListener((btn) -> { - onSave.accept(new ScriptBoolValue(false)); - close(); - }); - - widgets.add(addTrue); - widgets.add(addFalse); - } - - addUnknown = new CItem(100-12, 40, unknownIcon); - - addUnknown.setClickListener((btn) -> { - onSave.accept(new ScriptUnknownValue()); - close(); - }); - - widgets.add(addUnknown); - - input.setChangedListener(() -> input.textColor = 0xFFFFFF); - - widgets.add(input); - } - - @Override - public void close() { - onClose.run(); - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSettingsScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSettingsScreen.java index 789a8b9..f200ace 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSettingsScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptSettingsScreen.java @@ -2,6 +2,7 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.screen.CScreen; +import io.github.techstreet.dfscript.screen.dfscript.ScriptListScreen; import io.github.techstreet.dfscript.screen.widget.*; import io.github.techstreet.dfscript.script.Script; import io.github.techstreet.dfscript.script.ScriptManager; @@ -134,13 +135,8 @@ public boolean mouseClicked(double x, double y, int button) { @Override public void close() { - if (owned) { - DFScript.MC.setScreen(new ScriptEditScreen(script)); - } - else { - ScriptManager.getInstance().saveScript(script); - DFScript.MC.setScreen(new ScriptListScreen(true)); - } + ScriptManager.getInstance().saveScript(script); + DFScript.MC.setScreen(new ScriptListScreen(true)); } public boolean mouseClicked(double mouseX, double mouseY, int button) { diff --git a/src/main/java/io/github/techstreet/dfscript/screen/util/ItemMaterialSelectMenu.java b/src/main/java/io/github/techstreet/dfscript/screen/util/ItemMaterialSelectMenu.java index 101544b..1e18c54 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/util/ItemMaterialSelectMenu.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/util/ItemMaterialSelectMenu.java @@ -2,10 +2,11 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.screen.CReloadableScreen; -import io.github.techstreet.dfscript.screen.CScreen; -import io.github.techstreet.dfscript.screen.widget.*; +import io.github.techstreet.dfscript.screen.widget.CItem; +import io.github.techstreet.dfscript.screen.widget.CScrollPanel; +import io.github.techstreet.dfscript.screen.widget.CTextField; +import io.github.techstreet.dfscript.screen.widget.CTexturedButton; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CButton.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CButton.java index 116937f..6760996 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CButton.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CButton.java @@ -2,7 +2,6 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.util.RenderUtil; -import java.awt.Rectangle; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; @@ -10,6 +9,8 @@ import net.minecraft.sound.SoundEvents; import net.minecraft.text.Text; +import java.awt.*; + public class CButton implements CWidget { public final int x; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CImage.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CImage.java index 2046d75..ad55134 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CImage.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CImage.java @@ -1,10 +1,9 @@ package io.github.techstreet.dfscript.screen.widget; import io.github.techstreet.dfscript.util.RenderUtil; -import java.awt.Rectangle; - import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; + +import java.awt.*; public class CImage implements CWidget { diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java index db69ce0..80c137a 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java @@ -2,7 +2,6 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.util.RenderUtil; -import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.item.TooltipContext; import net.minecraft.client.sound.PositionedSoundInstance; @@ -13,7 +12,6 @@ import org.lwjgl.opengl.GL11; import java.awt.*; -import java.util.Optional; import java.util.function.Consumer; public class CItem implements CWidget { @@ -44,8 +42,7 @@ public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) stack.push(); stack.translate(x, y, 0); RenderUtil.renderGuiItem(context, item); - if(countText != null) - { + if (countText != null) { stack.translate(4, 4, 0); stack.scale(0.5f, 0.5f, 0.5f); context.drawText(DFScript.MC.textRenderer, countText, 0, 0, 0xFFFFFFFF, true); diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CPlainPanel.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CPlainPanel.java index bdbd089..9959f50 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CPlainPanel.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CPlainPanel.java @@ -2,14 +2,14 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.util.RenderUtil; -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; - import net.minecraft.client.gui.DrawContext; import net.minecraft.client.util.math.MatrixStack; import org.joml.Vector4f; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; + public class CPlainPanel implements CWidget { private final List children = new ArrayList<>(); diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CScrollPanel.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CScrollPanel.java index 5e3e904..c6cd047 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CScrollPanel.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CScrollPanel.java @@ -2,14 +2,14 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.util.RenderUtil; -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; - import net.minecraft.client.gui.DrawContext; import net.minecraft.client.util.math.MatrixStack; import org.joml.Vector4f; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; + public class CScrollPanel implements CWidget { private final List children = new ArrayList<>(); diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CText.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CText.java index bcc7526..baaf84e 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CText.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CText.java @@ -1,12 +1,13 @@ package io.github.techstreet.dfscript.screen.widget; import io.github.techstreet.dfscript.DFScript; -import java.awt.Rectangle; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; +import java.awt.*; + public class CText implements CWidget { int x; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CTextField.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CTextField.java index 0330533..8e83c40 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CTextField.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CTextField.java @@ -2,13 +2,14 @@ import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.util.RenderUtil; -import java.awt.Rectangle; -import java.util.List; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.util.math.MatrixStack; import org.joml.Vector4f; +import java.awt.*; +import java.util.List; + public class CTextField implements CWidget { final int x, y, width, height; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CTexturedButton.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CTexturedButton.java index 321b485..3ec873e 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CTexturedButton.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CTexturedButton.java @@ -1,11 +1,11 @@ package io.github.techstreet.dfscript.screen.widget; import io.github.techstreet.dfscript.util.RenderUtil; -import java.awt.Rectangle; - import net.minecraft.client.gui.DrawContext; import net.minecraft.client.util.math.MatrixStack; +import java.awt.*; + public class CTexturedButton extends CButton { private String texture; diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CWidget.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CWidget.java index 4555fbc..2bada36 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CWidget.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CWidget.java @@ -1,9 +1,9 @@ package io.github.techstreet.dfscript.screen.widget; -import java.awt.Rectangle; - import net.minecraft.client.gui.DrawContext; +import java.awt.*; + public interface CWidget { void render(DrawContext context, int mouseX, int mouseY, float tickDelta); diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CWrappedText.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CWrappedText.java index 0f0c7bd..2d95e24 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CWrappedText.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CWrappedText.java @@ -1,14 +1,15 @@ package io.github.techstreet.dfscript.screen.widget; import io.github.techstreet.dfscript.DFScript; -import java.util.ArrayList; -import java.util.List; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.OrderedText; import net.minecraft.text.Text; +import java.util.ArrayList; +import java.util.List; + public class CWrappedText extends CText { private int width; diff --git a/src/main/java/io/github/techstreet/dfscript/script/ScriptComment.java b/src/main/java/io/github/techstreet/dfscript/script/ScriptComment.java index 4b9ed21..3a5ba36 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/ScriptComment.java +++ b/src/main/java/io/github/techstreet/dfscript/script/ScriptComment.java @@ -4,10 +4,8 @@ import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; -import io.github.techstreet.dfscript.screen.script.ScriptEditScreen; import io.github.techstreet.dfscript.screen.widget.CItem; import io.github.techstreet.dfscript.screen.widget.CScrollPanel; -import io.github.techstreet.dfscript.screen.widget.CTextField; import io.github.techstreet.dfscript.script.execution.ScriptTask; import io.github.techstreet.dfscript.script.render.ScriptPartRender; import io.github.techstreet.dfscript.script.render.ScriptPartRenderDynamicElement; @@ -17,7 +15,6 @@ import net.minecraft.text.Text; import java.lang.reflect.Type; -import java.util.List; public class ScriptComment extends ScriptPart { @@ -51,11 +48,6 @@ public void create(ScriptPartRender render, Script script) { panel.add(new CItem(5+indent*5, y, new ItemStack(Items.MAP).setCustomName(Text.literal("Comment").setStyle(Style.EMPTY.withItalic(false))))); - CTextField cTextField = new CTextField(getComment(),15+indent*5, y-1, ScriptEditScreen.width-(15+indent*5)-5, 10, true); - - cTextField.setChangedListener(() -> setComment(cTextField.getText())); - - panel.add(cTextField); return y+10; })); } diff --git a/src/main/java/io/github/techstreet/dfscript/script/ScriptManager.java b/src/main/java/io/github/techstreet/dfscript/script/ScriptManager.java index 788461e..c5f00b7 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/ScriptManager.java +++ b/src/main/java/io/github/techstreet/dfscript/script/ScriptManager.java @@ -7,7 +7,6 @@ import io.github.techstreet.dfscript.event.system.Event; import io.github.techstreet.dfscript.event.system.EventManager; import io.github.techstreet.dfscript.loader.Loadable; -import io.github.techstreet.dfscript.screen.script.ScriptAddScreen; import io.github.techstreet.dfscript.script.action.ScriptActionArgument; import io.github.techstreet.dfscript.script.action.ScriptActionArgumentList; import io.github.techstreet.dfscript.script.action.ScriptBuiltinAction; @@ -21,7 +20,6 @@ import io.github.techstreet.dfscript.script.options.ScriptNamedOption; import io.github.techstreet.dfscript.script.repetitions.ScriptBuiltinRepetition; import io.github.techstreet.dfscript.script.repetitions.ScriptWhile; -import io.github.techstreet.dfscript.script.util.ScriptValueJson; import io.github.techstreet.dfscript.script.values.*; import io.github.techstreet.dfscript.util.FileUtil; import io.github.techstreet.dfscript.util.chat.ChatType; @@ -136,21 +134,6 @@ public void load() { } catch (Exception err) { LOGGER.error("Unable to listen for new scripts", err); } - - final int[] tick = {0}; - new Thread(ScriptAddScreen::getScripts).start(); - lastServerUpdate = System.currentTimeMillis() / 1000; - - EventManager.getInstance().register(TickEvent.class, event -> { - tick[0] += 1; - - if (tick[0] >= 100) { - tick[0] = 0; - - new Thread(ScriptAddScreen::getScripts).start(); - lastServerUpdate = System.currentTimeMillis() / 1000; - } - }); } private void unloadScript(File file) { diff --git a/src/main/java/io/github/techstreet/dfscript/script/ScriptSnippet.java b/src/main/java/io/github/techstreet/dfscript/script/ScriptSnippet.java index e3abf69..ec9db20 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/ScriptSnippet.java +++ b/src/main/java/io/github/techstreet/dfscript/script/ScriptSnippet.java @@ -3,9 +3,6 @@ import com.google.gson.*; import io.github.techstreet.dfscript.DFScript; import io.github.techstreet.dfscript.screen.ContextMenuButton; -import io.github.techstreet.dfscript.screen.script.ScriptEditPartScreen; -import io.github.techstreet.dfscript.screen.script.ScriptEditScreen; -import io.github.techstreet.dfscript.screen.script.ScriptPartCategoryScreen; import io.github.techstreet.dfscript.screen.widget.CButton; import io.github.techstreet.dfscript.screen.widget.CScrollPanel; import io.github.techstreet.dfscript.screen.widget.CText; @@ -17,7 +14,6 @@ import io.github.techstreet.dfscript.script.conditions.ScriptConditionType; import io.github.techstreet.dfscript.script.event.ScriptHeader; import io.github.techstreet.dfscript.script.execution.ScriptActionContext; -import io.github.techstreet.dfscript.script.execution.ScriptPosStackElement; import io.github.techstreet.dfscript.script.execution.ScriptTask; import io.github.techstreet.dfscript.script.render.ScriptPartRender; import io.github.techstreet.dfscript.script.repetitions.ScriptBuiltinRepetition; @@ -33,7 +29,6 @@ import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; -import java.util.function.Consumer; public class ScriptSnippet extends ArrayList { boolean hidden = false; @@ -50,9 +45,6 @@ public int create(CScrollPanel panel, int y, int indent, Script script, ScriptHe ScriptSnippet thisSnippet = this; panel.add(new CButton(3, y, 2, 8, "", () -> { thisSnippet.hidden = !thisSnippet.hidden; - if(DFScript.MC.currentScreen instanceof ScriptEditScreen e) { - e.reload(); - } }) { @Override public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) { @@ -127,30 +119,6 @@ public boolean mouseClicked(double x, double y, int button) { if (getBounds().contains(x, y)) { DFScript.MC.getSoundManager().play(PositionedSoundInstance.ambient(SoundEvents.UI_BUTTON_CLICK.value(), 1f, 1f)); - if (button == 0) { - if(part instanceof ScriptParametrizedPart parametrizedPart) - DFScript.MC.setScreen(new ScriptEditPartScreen(parametrizedPart, script, header)); - if(part instanceof ScriptComment) - return false; - } else { - List contextMenu = new ArrayList<>(); - contextMenu.add(new ContextMenuButton("Insert Before", () -> { - DFScript.MC.setScreen(new ScriptPartCategoryScreen(script, thisSnippet, currentIndex)); - }, false)); - contextMenu.add(new ContextMenuButton("Insert After", () -> { - DFScript.MC.setScreen(new ScriptPartCategoryScreen(script, thisSnippet, currentIndex + 1)); - }, false)); - contextMenu.add(new ContextMenuButton("Delete", () -> { - thisSnippet.remove(currentIndex); - })); - contextMenu.addAll(part.getContextMenu()); - DFScript.MC.send(() -> { - if(DFScript.MC.currentScreen instanceof ScriptEditScreen editScreen) - { - editScreen.contextMenu((int) x, (int) y, contextMenu); - } - }); - } return true; } return false; @@ -160,13 +128,6 @@ public boolean mouseClicked(double x, double y, int button) { index++; } - ScriptPartRender.createIndent(panel, indent, y, 8); - CButton add = new CButton((ScriptEditScreen.width-30)/2, y, 30, 8, "Add Part", () -> { - DFScript.MC.setScreen(new ScriptPartCategoryScreen(script, thisSnippet, thisSnippet.size())); - }); - - panel.add(add); - return y+10; } diff --git a/src/main/java/io/github/techstreet/dfscript/script/VirtualScript.java b/src/main/java/io/github/techstreet/dfscript/script/VirtualScript.java deleted file mode 100644 index 108a0d4..0000000 --- a/src/main/java/io/github/techstreet/dfscript/script/VirtualScript.java +++ /dev/null @@ -1,84 +0,0 @@ -package io.github.techstreet.dfscript.script; - -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.script.ScriptListScreen; -import io.github.techstreet.dfscript.screen.script.ScriptMessageScreen; -import io.github.techstreet.dfscript.util.FileUtil; -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; - -public class VirtualScript { - private final String name; - private final String owner; - private final String id; - private boolean approved = false; - private String approver; - - public VirtualScript(String name, String owner, String id) { - this.name = name; - this.owner = owner; - this.id = id; - } - - public String getName() { - return name; - } - - public String getOwner() { - return owner; - } - - public String getId() { - return id; - } - - public boolean isApproved() { - return approved; - } - - public void setApproved(boolean approved) { - this.approved = approved; - } - - public String getApprover() { - return approver; - } - - public void setApprover(String approver) { - this.approver = approver; - } - - public void download(boolean update) { - try { - InputStream is = new URL("https://dfscript-server.techstreetdev.repl.co/scripts/get/" + id).openStream(); - BufferedReader rd = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); - - File file = FileUtil.folder("Scripts").resolve(name + ".json").toFile(); - - if (!update) { - int count = 1; - while (file.exists()) { - file = FileUtil.folder("Scripts").resolve(name + "_" + count + ".json").toFile(); - count += 1; - } - } - - JsonObject obj = JsonParser.parseReader(rd).getAsJsonObject(); - obj.addProperty("disabled", false); - obj.addProperty("server", id); - String content = obj.toString(); - - Files.write(file.toPath(), content.getBytes()); - DFScript.MC.setScreen(new ScriptMessageScreen(new ScriptListScreen(true), "Successfully installed '" + name + "' by " + owner + "!")); - } catch (Exception e) { -// e.printStackTrace(); - } - } -} diff --git a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java index 51191c9..ac63892 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java +++ b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java @@ -37,6 +37,22 @@ public ScriptActionArgument(String name, ScriptActionArgumentType type) { defaultValue = new ScriptUnknownValue(); } + public String getName() { + return name; + } + + public boolean isOptional() { + return optional; + } + + public boolean isPlural() { + return plural; + } + + public ScriptActionArgumentType getType() { + return type; + } + public ScriptActionArgument optional(boolean optional) { this.optional = optional; this.rightOptional = false; @@ -205,6 +221,14 @@ public enum ScriptActionArgumentType { this.allowOptional = allowOptional; } + public String getName() { + return name; + } + + public Item getIcon() { + return icon; + } + public MutableText text() { MutableText val = Text.literal(name); return val.fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.WHITE)); diff --git a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategory.java b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategory.java index 088560c..6b7de40 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategory.java +++ b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategory.java @@ -12,7 +12,6 @@ import net.minecraft.item.Items; import net.minecraft.text.Style; import net.minecraft.text.Text; -import org.slf4j.helpers.FormattingTuple; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategoryExtraPartCreator.java b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategoryExtraPartCreator.java index 2b4545a..9229365 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategoryExtraPartCreator.java +++ b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionCategoryExtraPartCreator.java @@ -1,11 +1,8 @@ package io.github.techstreet.dfscript.script.action; -import io.github.techstreet.dfscript.DFScript; -import io.github.techstreet.dfscript.screen.script.ScriptEditScreen; import io.github.techstreet.dfscript.script.ScriptPart; import net.minecraft.item.ItemStack; -import java.util.Objects; import java.util.function.Supplier; public class ScriptActionCategoryExtraPartCreator extends ScriptActionCategoryExtra { @@ -15,7 +12,6 @@ public class ScriptActionCategoryExtraPartCreator extends ScriptActionCategoryEx public ScriptActionCategoryExtraPartCreator(ItemStack icon, Supplier createPartFunction) { super(icon, (sc, sn, ii) -> { sn.add(ii, createPartFunction.get()); - DFScript.MC.setScreen(new ScriptEditScreen(sc)); }); this.icon = icon; this.createPartFunction = createPartFunction; diff --git a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java index bbc03bd..baeb901 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java +++ b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java @@ -1681,6 +1681,11 @@ public enum ScriptActionType { description.add("No description provided."); builder.accept(this); } + + public Item getItem() { + return icon; + } + public ItemStack getIcon() { ItemStack item = new ItemStack(icon); @@ -1729,6 +1734,7 @@ public ItemStack getIcon() { return item; } + public String getName() { return name; } @@ -1745,6 +1751,14 @@ public ScriptActionCategory getCategory() { return category; } + public List getDescription() { + return description; + } + + public ScriptActionArgumentList getArguments() { + return arguments; + } + private ScriptActionType action(Consumer action) { this.action = action; return this; diff --git a/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java b/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java index e39f71e..a5548d1 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java +++ b/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java @@ -168,12 +168,16 @@ public enum ScriptClientValueArgument implements ScriptArgument { }); private final String name; + private final String description; + private final Item item; private final ItemStack icon; private final Function consumer; private final ScriptActionArgumentType type; ScriptClientValueArgument(String name, String description, Item type, ScriptActionArgumentType varType, Function consumer) { this.name = name; + this.description = description; + this.item = type; this.icon = new ItemStack(type); icon.setCustomName(Text.literal(name) .fillStyle(Style.EMPTY @@ -189,6 +193,18 @@ public enum ScriptClientValueArgument implements ScriptArgument { this.type = varType; } + public Item getItem() { + return item; + } + + public String getDescription() { + return description; + } + + public ScriptActionArgumentType getType() { + return type; + } + public String getName() { return name; } diff --git a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java index 97d695b..f45925b 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java +++ b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java @@ -37,12 +37,16 @@ public enum ScriptEventType { RECEIVE_SOUND(RecieveSoundEvent.class, "OnReceiveSound", "Executed when a player receives a sound", Items.NAUTILUS_SHELL); private final String name; + private final String description; + private final Item item; private final ItemStack icon; private final Class codeutilitiesEvent; ScriptEventType(Class codeutilitiesEvent, String name, String description, Item item) { this.codeutilitiesEvent = codeutilitiesEvent; this.name = name; + this.description = description; + this.item = item; icon = new ItemStack(item); icon.setCustomName(Text.literal(name) .setStyle(Style.EMPTY @@ -65,6 +69,14 @@ public String getName() { return name; } + public String getDescription() { + return description; + } + + public Item getItem() { + return item; + } + public Class getCodeutilitiesEvent() { return codeutilitiesEvent; } diff --git a/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java b/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java index 19c0093..266611a 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java @@ -1,13 +1,14 @@ package io.github.techstreet.dfscript.util; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import net.minecraft.text.MutableText; import net.minecraft.text.Style; import net.minecraft.text.Text; import net.minecraft.text.TextColor; import net.minecraft.util.Formatting; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + public class ComponentUtil { public static MutableText fromString(String message) { diff --git a/src/main/java/io/github/techstreet/dfscript/util/FileUtil.java b/src/main/java/io/github/techstreet/dfscript/util/FileUtil.java index 2d67c6e..f59dc95 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/FileUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/FileUtil.java @@ -1,6 +1,7 @@ package io.github.techstreet.dfscript.util; import io.github.techstreet.dfscript.DFScript; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; diff --git a/src/main/java/io/github/techstreet/dfscript/util/RenderUtil.java b/src/main/java/io/github/techstreet/dfscript/util/RenderUtil.java index 46b99b3..7540883 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/RenderUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/RenderUtil.java @@ -5,7 +5,6 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.render.*; -import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.client.toast.SystemToast; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.ItemStack; diff --git a/src/main/java/io/github/techstreet/dfscript/util/Scheduler.java b/src/main/java/io/github/techstreet/dfscript/util/Scheduler.java index b6a42b0..bf512a1 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/Scheduler.java +++ b/src/main/java/io/github/techstreet/dfscript/util/Scheduler.java @@ -3,9 +3,10 @@ import io.github.techstreet.dfscript.event.TickEvent; import io.github.techstreet.dfscript.event.system.EventManager; import io.github.techstreet.dfscript.loader.Loadable; +import org.apache.commons.lang3.tuple.MutablePair; + import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang3.tuple.MutablePair; public class Scheduler implements Loadable { diff --git a/src/main/java/io/github/techstreet/dfscript/util/StringUtil.java b/src/main/java/io/github/techstreet/dfscript/util/StringUtil.java index 20f822a..e623cad 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/StringUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/StringUtil.java @@ -1,7 +1,13 @@ package io.github.techstreet.dfscript.util; import com.google.gson.JsonArray; -import java.awt.Toolkit; +import net.minecraft.text.MutableText; +import net.minecraft.text.Style; +import net.minecraft.text.Text; +import net.minecraft.text.TextColor; +import net.minecraft.util.Formatting; + +import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.lang.reflect.Field; @@ -10,11 +16,6 @@ import java.util.Random; import java.util.stream.Collectors; import java.util.stream.Stream; -import net.minecraft.text.MutableText; -import net.minecraft.text.Style; -import net.minecraft.text.Text; -import net.minecraft.text.TextColor; -import net.minecraft.util.Formatting; public class StringUtil { public static final Regex STRIP_CHARS_PATTERN = Regex.of("(^\\s+|\\s+$)"); diff --git a/src/main/java/io/github/techstreet/dfscript/util/VersionUtil.java b/src/main/java/io/github/techstreet/dfscript/util/VersionUtil.java index 9387551..5d9f646 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/VersionUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/VersionUtil.java @@ -3,6 +3,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import io.github.techstreet.dfscript.DFScript; + import java.io.IOException; public class VersionUtil { diff --git a/src/main/java/io/github/techstreet/dfscript/util/WebUtil.java b/src/main/java/io/github/techstreet/dfscript/util/WebUtil.java index 506b13c..8a3549f 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/WebUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/WebUtil.java @@ -1,6 +1,7 @@ package io.github.techstreet.dfscript.util; import io.github.techstreet.dfscript.DFScript; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; diff --git a/src/main/java/io/github/techstreet/dfscript/util/chat/ChatUtil.java b/src/main/java/io/github/techstreet/dfscript/util/chat/ChatUtil.java index dc4d80e..5faeecd 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/chat/ChatUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/chat/ChatUtil.java @@ -1,13 +1,14 @@ package io.github.techstreet.dfscript.util.chat; import io.github.techstreet.dfscript.DFScript; -import java.awt.Color; import net.minecraft.sound.SoundEvent; import net.minecraft.text.MutableText; import net.minecraft.text.Style; import net.minecraft.text.Text; import net.minecraft.text.TextColor; +import java.awt.*; + public class ChatUtil { public static void playSound(SoundEvent sound) { diff --git a/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabber.java b/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabber.java index 9fde8e4..1ec6d51 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabber.java +++ b/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabber.java @@ -1,10 +1,11 @@ package io.github.techstreet.dfscript.util.chat; import io.github.techstreet.dfscript.features.MessageType; +import net.minecraft.text.Text; + import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; -import net.minecraft.text.Text; /** * A utility class to grab the next X chat messages. diff --git a/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabberTask.java b/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabberTask.java index a696231..42364e9 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabberTask.java +++ b/src/main/java/io/github/techstreet/dfscript/util/chat/MessageGrabberTask.java @@ -1,9 +1,10 @@ package io.github.techstreet.dfscript.util.chat; import io.github.techstreet.dfscript.features.MessageType; +import net.minecraft.text.Text; + import java.util.List; import java.util.function.Consumer; -import net.minecraft.text.Text; public class MessageGrabberTask { diff --git a/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java b/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java index 7de7370..54d6154 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java +++ b/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java @@ -3,11 +3,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.ButtonTextures; -import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.TexturedButtonWidget; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.screen.ScreenTexts; -import net.minecraft.text.Text; import net.minecraft.util.Identifier; public class BlendableTexturedButtonWidget extends TexturedButtonWidget { diff --git a/src/main/java/io/github/techstreet/dfscript/util/template/CompressionUtil.java b/src/main/java/io/github/techstreet/dfscript/util/template/CompressionUtil.java index 06690d3..faf2631 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/template/CompressionUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/template/CompressionUtil.java @@ -1,10 +1,6 @@ package io.github.techstreet.dfscript.util.template; -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; +import java.io.*; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.zip.GZIPInputStream; diff --git a/src/main/resources/assets/dfscript/icon_transparent.png b/src/main/resources/assets/dfscript/icon_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..e2c7e47eb4f0074ba3f755b0480d02e7c3ee046f GIT binary patch literal 482533 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∓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

ZEmPMK6SQs>ct6sp`Qj5s0I5<6| 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

Udf%7%x^6-}DHx8Gtb1*Fm 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

A4h@OOz)=0JlI$zi=_-GW4T9 zuO8v=O`5LyZUwS!0 z)`97GOz_~CFb*jCO^k-GT30H;z#I&?_u3m2*Y~iaj5-xP3|1RDo-M62ZB8cvi6Lz} z31t=Glo37Pg>{2J{>&!5uE+JmBfj>woDZGYUE`#5xEsXmyzm_U_ByrARZhZ;yN3bw z#yXy}vOK?O!06<@0%6Nd!|M7vKmL<{l2OsP=NU4b0^|(c|AE5Gdc~qmCc-$4aSwB8o0=t7Op3a4eIRMu#dXurh-< zJ!MsgmoCANzO=#fXZtMfopQQAn9a=6O*~uWmMT5Mwb7t2fx)UEwjGX1xs#5tdMzy7SE=rKlq!T*-L_e2)hOeLrdhD*l=SL8 zaZr*cIfj7uO;cgQOxq^QVH(UZS`OV+mwrRz+T{&gGh#72B90@fQm4pV@+ikiGv&Xv z)>;^~I$>z=z4z`iiZym$dFB7u`O%mE{WG8Z&m>p)_~Y>r_#<%y9uJp)Bu>*u^Fa>( z_22opcm1oc9l!G?^UP&79doYl(sELaVvg=qB(8>5?-L~3y#C!o?%rH*dFui-K>;le z=x_VwQC2BooN|0{OcEuu z8e+zGm&BB~Q0v5_Xh^pK=Nx#cZ}9S3kDbl)eEVU-7vH+ayW<5TwfxSAEtu=JQj|pT zs|k;=h*YPy5*KCRsO!{ho4)0#uIa_-l(lY)dZWQ4S}=@4a#7a8N?6QPT1Ln7=xPq< z*0wP%hg+wIeCKqJkvvRSdPTsI{`4HR;+AnRmv){?R-2kq^8~LXDO=Tzt%lrXfJ4^p z%eiz}F)6_y_53wyN0GdagoPxLTZySn4XbCLe~xo6T;rWL-(+$3A@SiUWfWlw<5GU( z$huOJv0~cPDr|wRrxMuEmazA{LKg+dajCaE3KJ#jUA@zyzPrgHTrhlaplTg;+oZX* z&gRokuy*AtgJj#n{-S zvAfIBJSEZUWSK)WPMMtyC}*dTPT789i{0~ED)jTr^UrYc(phX%quH!uXeD`+@K1l? z7y0e~?bl!tJGS{W=UPHI)IE@yYJ3I8w?l9F#g%g@yzsu<69Xu^Z&*YXS!;?D3 zZd~;-^EF(;o1(X-Hr4IZATI$(&3& z!sY%+d6^&m{>-4SIXu(u@m!D&q%&u)XO5=-h` zCCtib7EsJ$#huMv8?Vv9)>pWB`+#AT^5my}@Hd?&FaO20ANtv&kLH!&@w5J;cmy5~ zmwyz`+DGIuAARBP*8E#&6`ka2#QgH30OvxRc#H^EPTRb>O_~tin zv(;Ir5ha*KK)3I)zSg1&r8OqSZPqy&olv?J?QWMOtGKt&`26h&H>R>2t)n|N+?uC? zItTm51Tz7e>q?anU!L?sOQ=P>kw!Y>%6g3_R}ETZbgU+ox5}@-eZp(|M+$+`>#Wl9 z4F;1jCqaZ``K)_Q9LHj=rK+hX3J=BPiwuf|Wi6XhWYsFT7>wm` z`3OlQ>qAK!Kk86X|29mULaKGtZd8;expKQ8p18|r=wCR)cr@V5?xup0%i1@eERYh! zEKJFzL)@~c*P7^2K`C0Y3l7`oC9S_%)rJ?+zsnCflVDv_VauF~X zNN}ShGIiP)&#?Q{RT{k&m8edR#_Sy*GH_u1(pjQl!M(4(25;Y^Q<$ujI`u5(a=pz( zK^4_pj;9NbW(9lWgv4zT6&YE0Os72InR>~ee8J8` znA99j>=m@lv#egdLhiLFtTwl9>{ARv2qWC4&&!{<#&e&1o=GsE(`zcfrBrgh`~G{3 z!ccX_$AcmN)6f5Xvi(EMFeIK&*;s9J{=zQJmXBeZ)NGf#@89G0jhoUnN~>XWrfKo= z)yp(2oA++q=l%UTC-Z_RE)|MMD|0kUBa#YE!({c`Wg5M{@?u)8I$G0F0jh`J`VObp z-^UX|Ko%>NU8UIDEi~U_79~vPGl&uuOcHtA_dK<-mm4q{e8uBxx(*W=^5^5FXI9-s zEq%Rm@exm`tkHE({E_lF6Y7>t-|?x%Q(in%=W`#s#1nmsd@*M4-YK)G#^JHSok7CT zTGq6l1Su!kGO(9wIhu4$ez1j?m#JZ?q4b>Y^1@o5OP-_ZKE<1BNJ!ljziGlZhKD4+ zORv3#X&5SCC)NYgC|T<^s2L?q$HYidrG|@gYh)R#j!8$l=cO`s7Emn;j6B2FGwOQ6 zwy$IRDXUMeqi^~oD+WeeSf(-LsRHRnqku^u{Zcg=<_4!nb7u1eS3mZN{cvsd@5KJ< z@AQA{zkKT>^6UTc)BGcT1Rf8Uf5cDV|KA_}!9V;^RWLP_TDqdvi!Wydrpow-`lx+^3LpRPQU^L zNI(E{l0Z^|EPY`WC0j1KY>`DmCS8{4GHpXvx#&P!wk6tSQzlJH45m#nVM%Zi7FcZF z+1=R*-P5`I=5TUy{r|nB{l(vf!F1Ks%+$`#^f~w5bKdj5@9%j8k}ydzH5J=)nWhUN z=)kS{^haZk5`!1_V%|KBi7Fr6Yminslj)2kt}t|0DkhUGB}fBG(aq6HIW9bB!_()x zTFAb;mX&B(N?X(EdJdP?H^_>d+XuVSu+ntTx~Op$OYixz-@-L4+2s?-)EoQv7{no^ zrAtkvUY}{<|SP<53hyrKB9%3*^jSj4usWj`pz{ z!r=&hgT_;juzvX*_in#~uEbC-WU6>JTTu7w(s?~Q9LN!D-Slu`hz6%9$w0CK1zts% zbc(tyZ8SxgNvw?~9Mr%b3vNaN`%F3nDg+R4epUS87S>+ekYzrG^ET5zazC|56%bvlHGEj#0e(Lk>(xfi;5 zZj}#z`-j=McAh&2cW5*`E^cjdadkt2-d}&~O@>EDM2E*5y!S5UWWr!~M|$m_di*h2 zh)-u@*%5Rtn_xKO#*G`?-QSn*^UapY^^IlD^}6!G>HYl~`vYNHGUTpqDt3mmh)mP4 zI$bs%enN&>W^qcb(}J2tG8u62)vuABo=S!*0yCuK(kCx=X2knI4lZj4Pw754-I4Me|RYiX>XOJ(Xe;r*Qq$X+&<#n9VHreP%_S7uLm8!T%1ZNf%i_D-uiZDx^71NRXTw*6NSqPP1 zCEe1(4ztJvcdnwjy24m^sUw9qhb6Dy8!`)pQN)(|!5|aT@fxb;lE(s|oDdcnX(2d+ zAx0W-(YN^canKFujc$jn9r(-0)W#sE#EqGi97oMmb7RqAC?}o)K#WwT4g4GG#F)GQa}Hor@h( z(M>LOg1HC}sVrT&z^PU7{3ky~O*MJ>U;G~JojxnNNm7c=T8O5aC{B%&Fq2$Ff&Q^t zJq~9jMv>FWPkGop;zus!e8&}o)s}+StDsj>I-)DwU^sI4!iyum@N&qFF^rrRL)&5~ zw^2=&Hm;zVK2D>_^$$NMNB8q0WswBZ^M3uxB`&Y5$PVQ@fBqu3UU`-2!2wY)$8;=K zR+ca|9nZF8u~B8I)JY09<#0A)8phn+JLcr{NaA(cHe6e)^YE3c93BRojv~Usl;J5+ zxX0qVs?}*Nt+U7!l2WJ8bXLx9Q8)#`;DE{NZ&3>TR+W(z85F6cB8V+n0X{EvA6+w9 zYS!=sVoInn^FsRA#rGwP%d%uRn@HnQC?3lGV)f&Lez)*{d4Ih7k55>v0x)NK5sq=g}A znu5t7w=ztHOfO{!scAU0Rf7wzi&Lxdjp2Z~rph8&K=Un4>~|}uSwz>jS!&vthRw-1 zB1=k~qGDOeId3MkwX@x6k?PlShddRG(VW$$M@{VfS{W0+AnH{lOEIfgm#}QHA`;4} zf!Ii~HJ5U#L*Hg}w~sB%Ox*@^Pa|Af#eV#gKe_sY|KOMJ>x=$_gS#)zz=PuQzIYk$ z?}K>lzyI;i_wU{LsY@+GZ!Y#B7^1i~hG`RyLkeuR2RVbNz-Y9klY6V?VT)a^ERoRT zYA}{MH_bITnoc+h0-pZZ$2jc|nPwGprNOQJA%{m328)(~KeI%aoV!Zw zszm{LUeI(*x>~`7ror`1Uj`Sx@a7IL?L~}CP1-;@dc~ILlsI+LIAan;XT_x|n3e+7 zqN9oq*F4}jTu2;@oW;rXt%_IVv;^0%60x87jHzjvk{KwdLP1`N9E`km8n!7D(E{!+ zx=0td&JhKn99fDRo#@0xMT%|OxUSd_Q{@<5{GC-QK;fBGItun;kVQ-vb7_M?(dhJ6 z882c~tH#>7OH`_j+FixJ_7wPChKD0|w(mkY!|-zI%Lc<>h`GK+uepqN9J2e$+o;ik zx@O^9O{)2r_~-^oJeGw?B6dK#HT+IPzJ|iMl*b8Wmde6hu0cqWjv*~Uq8n+H3giAr zc9#WWC`(IX5yB7#nO=)vsm>G6J%gWByz{SK;M_Dvoz5Ai0Y<&SJgX=zk@POebraG4 zYpriGPE0lgD0^^&=iFod`o)}UjX8#qVy`Q(VuB~~SQS;)WO&%*m3JauygB8?y&3mR zkD+Q)Y8IJl%Wn9_V~=q0*(Vt!39jGZ>eZ`qy`l;Nj^4e&CRtA)s$*sEwY~Q|vXDWC`g{Kx=-rSO9)gmmIXK*?X zWp~_ec4&20sJDCUA0105e~@J8t|+ui);e`+vpKW)%-cX`xbCCQ(rk367?6Hp=#~Sh79V zG=rWP|0@cftx;JD$I*qDU>G%$QnaOT< zr(KsT1b0qnq)EkQvrQ`xSue)))RZOPr|mb$f{N4QK0*-R@*FH-B(e(Pp22Q;ME!b$ ztw+{CJ3~Z?ae5{8YIB?DIHo$$2o5HgS%&GDgiVWdV~g5z-}PMY`#<-M`}>Oj;OOp$ zGw`6eydPf0`}`Pg{r-P#V0Y$oTv*I)VF)RC ztXHEWinzE$n=f#J1w}l=YUtdXj+vTG9((q~1ml6cft@kNUB)ww_YSALbv$Nn`h;$c zs8Xd)&NNLF0ent`F+`=?Y~X4!wQ|nYrpa=r$?N+k{Lzg=c7cUr;3^eO)1)rO)vC%Y zNM&cIQ+J6Ma~bYY42z&B7{oC%(IpbZa$(9T3Tdb5*$y4irA=by;aC=uf58|OqB&7y z3gL|S5}S~Q08ZB$G+iHGv1mI!MuFUYI}|L%Y)&NleWoFULgLREBJ?hlke10bS&-;R z2zRmwC9hKW+2c~fXm?n@auv;Q%5IbD)@U|XINBRX=QnN%=ek^e?ja6Nj!6~@msc+k z-q~aSYhQ-JU92LbGJIUqL=9&sX-F#4(56P=804A=R9U#9qZK8x_?2IZ=$RGL!L4}) zmZ6|zDdBL69-DM}>&(-PlgWgd>v2*h*iT*M;U}IT+TP>%<+o^0QVIb;FBDW)B+2Vo zHIKpI6oES|bsML*inV;6dN$-@|LgqFM#6WmCoHMQ=q`xpc+vo^W}c1n6PsdWF`l~I z>Z|7_PxMol2s?@x4CByT{U(F3z2yRk)5&5Z0t! zXuJqzA)Tle-SzXVu3eVJ;OWUWidx7A3)i)2HAPxIz$`KuEE5kgN5=xV5M3b)Ju47d5QJ5U`#G> zjF_h`w79xt(Ni;-aDV&WjCW5Gb`qa^(~<~-aWE$c7jk+bTvh@jkb0 zmmN4)ui=y?Mi}9RQY+#KD+72fVf6SrQIZf|UZ zqvK|N2=X4}gi#3*?yT-&y zNwrvZWAahX=GrF1o!f-FH@RFdsjC%7#|y>>eXJzI%nPz0Bq?$VTi~8VlD(3taXFsM z&sGRbRiW$GaC{3f++9R-9Ic|9$5@F?z0qS@6iky)?$b_fmG&o}!)(<^ZXd9?xl3~A z5G^dx^}0myn7${2B!(dp^g5*&@z;CQRyV0n@9^-+pYRjUwRmP#B(@LG1>V$wOs<_8 zXhngd)hPEDoQ_qp#$~=TGWoT8CEqxT34#Kx)}X$%$%nu1yGUxfL_?L6f;(@&$@p}K zno`NNjp=a2Fq~uiu4H~rPEKiR2Ip2+SzB7hcWf5pDYMB)hMJtZLzKrH9vpLY?~uXq z1I6&7Fo_*$N7PArWy!{qS z?Uw9r3&6Q}KLtU^!O;oB+3c*q)C~DBBK9pU&5&3m%N0%|MeZFg;*2B=(KMZ+h|y$F ztdtQj@g;sSWeExO`j*vw^?=#DpB}Oa=vtP#Jl~H-PmD&8cW)PV9OST zK=)|mr6^lP(VLKqRg*HuQ8c#9CYwSBn?-n4#)faO)ofv=C6gdR#IE;>lGle5#;U?J z3-C~RWM!3xqEQ4ftDPF%hQdnIWXXhae@Iw4M3u!%QwY+OcC$mn)bK@@SuMC)bLomM zWq%CQ1)lJT8!7<_3oB;Ph%wH&tUh@Trzgtbh5Y_AfhWrh?8G75pK@~h2&1ytJ366t z;S!xEo_R^Ra``j8@A>(o`~6z~;P~#3Gw`6eygy#Y`~E0Kzy7)JJ^K0|{C<})MLDB; z`5d`x5XN(ajO5if69#jg#MEiHCTnWRN~6wrw4mcU)XO;rGnSTg%#{{1)#Yn1zfN0G zIoDf87X_8zmZ%Npsn2@{1z&vQ9%CH5n?t+%Pd?-1W}{WpcH~?Rlv|ArtyM>*ryY( zrhs0TLIr6`$a2r{SarpZ4~!nBj%z3+$z1Mc3dr_s7RV0kyeOI5D)p6B>g^8m(Ug{5 zL$z(*Jw4>!bjU=>7|iE#gf7B5PR(cQ{5gEzmq}m8GT0L%+Sx)TRvpo))O1v@&c#Qc zkk*pnV9L4XGP_4ZMwvqInWrcl3d307cE+gPrW^~aI=Bsm>kn_T-f>BeN9=s%Ht+n- z7bIqo~SY zYU<>cj%u4snn8BR_(9rc;!5td+Au5>YNgLp6_ymyFm zvS8ix=;#ieRzm{h`|}Y?8*8$2zvu@X?Cx`PGGrdbLUb;#1!bCJiM0pef)^un!P^mx z%6g0T$|fzVN!UNZ3Ws=FLATRlb90^TojcsSw|&-K@3f^IN9^*7_rUG#9i~&!jXcAp zi!Twn62B54bi>r75l0l5X(?jX#aS1=NHIS!?}$Gu3QOH^xY+gB(q^n1DG#r^eB|*f zY<62r=MgveXS}vO;6^`Ucalr3=qxSJ4VyyK$c2hg?9R?+n3At5w5$cORtXk4>zdD2 zvrFAkiAEiuLgPG&_0lltH zO)ZJ%F-2BqQ7QyRCUvWx+mKyyO)0R;f@R&HnO8W|2tP_`$sNp;P+gEWQ`Ak1=5^7* zZjtJOADYY0f1((uv4%6#ncbUkx;v-T>kL(k_9Kt~TK&=MKfCdLpWDChFZ2%%@V+?% z4~onC=B2#94`lmS{;j{ac<1Z?T{j=lYHDaLpU^0Y)s(DkaCFb$?)F@=6FpO7MHGQi z!rOOtxwy5?imzfbXJgewZ+pzq*xuR4$)MwUva2F%I@Kmf9Ci-i^_wGh2MG(I_|r4& zZXK_;#G)$LIqK7&3{bU#H9P0C&z$FKx5;Fd@cQ1AKfXQZEB8)in!4`SQ0HQ2t)yM+ z%JJ**Y)Dk4G=1TS7A(q`M07<9fh2;o6bKY?3m4{UVenSyVRNBgXT9dq6GgOEp=ZJ$ zt z!trb_gFSXbq1|(t&W0Fafp#z9*SPel53#tu#7Q)xSK7>O9&-1K zZ;_u)d35t4HOuDJm%mP0Rji-8$|rvCZ}6vY+$2g;lyJh*@D2W&`#wMVQJ-rc?ZLVQ zX-p|Pp!*??YRer>QCckqA%`^Seb;C4pZRXmrAIj`RNi>w7Qgj>e}P;3Q*Q4baP`u8 zHdneNvmv`XcQ`yfMXNigOATl_lF2Ewm&Gi^o5i^MQ=EzD%;v1DtwO^k7E6Vy!s+pl zcvdnUiTAyV;n?I#K{%b0jK(NMg)N*kii*|iQQKIRzUx#Ne-Z^f3AxZmx9pq|7t`< zYff}fMQ7dBRO+rLcY-hVT%KF0*mPnpG;LN}4Hi+(`-gMh>Zjc7N1Q~+34`1tHeCsQ zFBDxWIE7&k%3^T^UU*1bB5$sT5X!TNd)C66%l8m6_z;c(1CnbPVu=+t^dNzO=& z!t+8tbm&1!Jxu9Q(Gy+qa*oriXk75{E_tZyCPiInWW_Z>Y_Mu_q9KY)^|WHRw_p)k z=-qP%)`f?EYUA(z&Lk~42&Yp0mEZI?L8h^;Pv zx;^KQ-?~j<`I77CBsp;~kvC)8c34yiqhui=)&dKpt2v4)6nVMS<)y+2o|TlPifx>Y zwlz{|lUZ_Y+Ll2_gB4woWBqomO;rkzwL@a)ymGw9el%xN78qimtk8)Bd$7teEl0x8 zr*X_t91MXC~b(YCYlic?R1SmRCNpl;! zw}snusre~yZokGeKm18HpLv{Hg8@MvVren!YaJ9(jLi~~I|JVTqc3y(CoiJUV!6Ah zn+B^FF0gU_JaJkOg^4r{iK1ET1ZrXoo99IFf+&k*w@N%rSiVEe*YG`C;%;=?q1I}# z^wc$yt6kK(&-~6Q>A?(pp)uP#r5KNR{GqGt@9eR&b4-+3eEfTVkjT=xz5Nc$^@>lf zsC>HGVL5w`tw(g)*BZjx2ctR3%lo8*lA7m80Ql)5AXs{c3!nWNqO~VTtR|)IGK**Y z!aw@2_?;JC;mX4w;{4L4>^9%sd7a~vT`aSP?t7G;C6n-_siB$L8B~5e#~;P0(?}L% zoz-QOZc}z;)6q->@qB;fVq8QYP?xHQPp ziZn=3(~_pwl0~5?Y{hP6CU$Ba4PP9)2s}|TS0J8+^cET$wH8UfAj{@-Y@N;ZCFbdz zzF0S~>UgyVnW=Ib&N*GoB_H)#XN?WNfwqXy${EXR2KBZ<5~rwEomg#hG#+5qGR|+V z;g=4>NyN?~U{XS+3W$0k_b%&s%$g}yQc||g`>bB5!4gz%N?^p~N`_tOXr)S(Yv`#( za*%U!lAv@i7456f{aF2P{=?tC4=?8r4(VIq3_K_UGFrZu|LddQWY zhb6jMPKy`bIpoXlAF$ADY}==6yOi^QB$aLg(%a zUxv|4qKJfAv$wfHcV(3{%4K0a9!cQg0Zgp@e}~c|vESgHuyzx9idY zEmV?w2Pfy485<=p#uJ+mK-t zu_r3{j{n~0eu1~|P3bOOVsNB>~{#VZ*ge{7Pr~-VRJd z8nq_%ZkxR2OTD0-DX5iBgu^Tp#k)ehn6kgOLv|#H?t!Rua8nIew`sL|*uF<)iAYo- z!(z5=;yMO{VV}ifCU-24j}KV{bICauSgP()k9MoeXf$GHN5s@riK@!QgGDX|;Ai17 zUDGiwp)*X$@=Vl|AM8RZXPr~SWTok|Y^(U?f=yrN(X~43TEx20Di%5?LC)L5gx8Oz z+>4NEP0z3hr-6L`ckC{v;mh~2md6-cNweYM7-ze$po1tcKoaXck!G*0b$+5CI&0@^O6`Sjq+tivBiM~Mb3UWtB6>L^vmCY2C zIcR~&WIyF}s^DCE=Ec_YANk?t$N%l|{c!z$a17siXW&6``K|Ywe^Vau!EgTjM~AO| z>C3&~7^j?I)WGsx3emY4=k$*vyn2KBvQM+;kJVrB}{kmo{AGA5%_ro$nmf$&;VZ#%e4HcvkL7)qM6duxa7 z+k1q0&SRhcI2SKp!yH%a-`wTBn|HXdvBl(QpTXh2Tsl}?U*X68_GkFvANv8^x`kz^ z?C;*=jW@nTzyCJo;0}+cW0n^KYFUCOnsE^rO`oB#3oR`%s5GX%OI-W$&ym$uXcmz~ zE`9mM*ZG-${}(BYHq%K+Hk}gAro>f-1VEM7;n2FK|-}7Z5DSk|+Q`zxsw!0G9BZLCsA~?e%#j)ha zN~Dz_0hD57eugh71q{jYuq>1Fy$0)U!iu`!sWqDmO^R@&9lKeVMc{ETCpRq$&0;)D*z9%K zbX4@kjCeH1^IBxJ2E(FaKMYuiDTpOD6&9?vD%Lv&m)AsGXhB*AI1Pu&wJ9xC9;22h z7{@sbHHHT%{nEjC`XjGg`|1Db*>B2=^@DHv!5R4Aq4U9scyI>(wLb&H-~ar^;MFhP z@lNiVemTXe71)g$R2D^~aC$N&%u_b5uVXbGh*SE9Q%?3`45KOSHbM*DX_-Xv6vgyF z(WL{p61!W)47aAE>Y2pvID+GsSXh}u7N2PjPr`!zSmo{hoZIt=yORY08m*SY)eVbt z9Sb7}s5>>{+~kX2e~XhqVK7->mCzJP(oT(OTypCuWTqI5@)?z`po_avseI54QslU` zR`aMeUGl1+KRjhHnS!FqutZS^GyfG%6X(_Q~O}#EA|-G%?*yqlHDNW{YYc^6FFdeI8Z)|ggsB>s zjw_-2qB||9156eO!nhbxQx=p)g}dIxS?Qn)o#tqPn<%sjQ?6Es{YlL>Ii8Lf3Anzg zv3cPG&FLQ;aJ0P*NrI-Tn8q15GEEaK(_(FXU5?3xc}Ki%SrRcAO(b?m5DP@- z{cH>MY!q&2wxlAcMa-pTkH?lR9$z+idc#2pW8UAM^Uj?SVJZ+%TilzZ+&w)Z69FW( zqSb0LoK88NhSYk?a$i)u-)f|+cs{E}O>!ztRU;^34y%aFsA%Z6+*9@|6+JIl?RDvg z6K>D@6s9K4I$QN6%xQ``o69wtWiw~V2wCdbPP{9=9HC!UWr}NC2ETa zW<1By#ZIe&UT>k*n?$BYVpJ%;SkFkQc{#Qg&=E}3BBWAsiM~oih)09es4!9uV=tpP zEg78@%*+U(t8o zecX&rQI#>xmWLv`6H&oz8lm_m^>ZzZW(~rO{_dRqc7mZbF`G5Qe2Qj@UA;_>V8zCm zC@xi{L^pD|!zU0pwqawbx*S)Pqm*)9VU#veX);zVhPub=r*pn?dxyiM!1Ps~dZ;5i zm*#9tP0?|5huho7+`czvJP%pz`mC(ADAa`AX~GMyju=)h6LB*XH)4?%6`o?TlWAJC zn{}GP^<0TS&W!ndP9Om61r#D(EjlmI)H|1xO93x zWzy$l=MGnvEV0 zkQWu5D-W}_yh$+(INaWrV^TwucJqbo%FdLWZ~Kl9^ZC#Jhgcn(-~Rd+S!l>$N&C_! zJGn@R&v-JA_^XdxY+-5CRPv^SbAE|)-~KGAUNS!(;4Ctfy)oJ(!dGnRzCIa` z8Ji0AXRopO=v7=rLlNPq*@7EidztY4JMuwBJ`9uvDkZLA%FtA|+m?YHu}&hopQ6w_ zJ{ih%zjzM24N6Oy`kH3F;-kT-c@i&hH&y;$m!{VP_IxOh0d}g6W&63C{QM%!&2r6 zrcvS8CPk^Aso2U`-n8@4f?DaK1Ug})a1s}s6b8G6#k-@Bn}Z3tmT~=Jjc2cjacF{D zmeeed=`iH>&X7FK*jRB`-)fNR3%+*qkUx1l=g!RFR5-jvaao8s?HSfZ?CW*vO**Z* z98rorHZi`GV@%P}iZd2bLPRdp?QvOBYLzUAy-FBbbTkog$P@B35+yVpVGe25C0N@* z!OJUL*XP~+J@%&)Vnb)4RYW4WF0_}WhNYVLx+~Rs=IRQUpZ^efv%$$^Mz~11xV6S& zx<@)0@bLO&OwC~L-YMhb6NdNh$nK&j;Dn!CDp@MgLCr8Km9i3JLRIAONl8KYrJFUH zYisy!12a@u>#j3g1ne)S)UKYVxzZ6+aH7*8>FJPjYduOrvLa=BZ=b{6d+2FQm7I-g z1-8cUyD|u(1QBF0aXO($LOHTtUEko&>7m3x{n(HE5YPY6r+ImLMEl`OET7xrmD}%9 zc0H^z;yYHmJle2WrNGGpv@&KgoM2i#EZ60o?KgPo)pz*Bcm6nadxdwt@FjlfzxZ#t zc{F1p_8z-!meyLB#ssyR;^_r%eSJp|o6uDox6>pyRO;QX+%Gjv8>imj{exYJ{t=M- zd=gUh=hD!WH#`XqSIZ2if{yCS08~E>F)ysL`SGVQ+Me7i6@j4q?lI}n7%i%Zh3YcR ziJLb5r=Mf>(TAw%7IrR#10nBz?duF)ehtJq%PW*Jm!t#1Y3+5}wA)Rgh$o6g@f)D( z###6BFEK@6s45Lhr(xvydBmCtKlt&>JiJn)ZIqBMcz0*W&9KW$?+=Izh11!LL{o^e z9K*6DTU9GfIkvYw6RT!mSZ5}nXi=bL;8Yb}S+ZogSR&ev9Ih{v~7#Y{xNQ@vFiCU z*X3CWeh(BQLl+NRVk5c|C2oOcR_Jzxri%?%u|ol>rBLV!g<(*d2AQ}9*$%_KK1x5O zV=m#jYuq}XaoBA4SHJCJPhI`N|KQ+T^?Lu{xWBp2z=PuQoBQ?qmiq4B{hxp4=dydZ ze!-d_=w>m%H*#veD|f$yZ`txK)VhLItD%}5(h=NwqtAR^k(erlUeaiY@-0U-Ol(I4 zDl)1nm&`~}Tq>$1$K-_)QsoiVJfNl22oDp&g+iixj4Ov*Q-zoA9FkZK;%vrpGv<+V z4OSeTnx^4eo(%gO9*n8dkaOLNOBdVdjg%K}?D4`o7GK&4c{|BTB7?zxFEc3O!fxgufKHO-Vk4bedfg~D+<#WxIT2@?HI z#}fe|A62L^^PK&?16iEfjz^>-A>^}Ej6@AwG1iVtLb3B`**y8_Ptm?`k;CDHqrDTB zR+cG^f-G9dJwz=l$%2f0K4Y|hm+8rYbeNX{t0cy@f_12*GT=ew$rQ0kA`tMhxOA46 zXsxdzBt>p&@Z|NUcz1i3ejc;@^uvtP1yvAAZD1`eX*d?MBp|CwMw2-BkX#fBq07*naR4JENIy}*<(@e%Z)~?f~AWu$cXu`nM@k)S7YV;CZ4a8&5zNdJ|Dii&b%M<>eq+ty*HrO>SCG} zxu&5QHY=;^1j40WRU|?aswxal22{rbl$9PAo_(B7x5=tyaCGA)`QC(JIOTXSq!b#* zr3QA}CktbUQu5)9EJ#p9m7|-o;~%wac;E3P-RoDRdtD16%E5%~*IsAw_DxtUAjxF- zN3Tk3fe{j&NMEcwl*CCU);i^b!+biEdzgx0$SnxV5bwnlKMwiGC5In=<}wejH3<4A zQqkF;#N3@$eDx&dm7M{pP??Ixwkgr4G7TiqQ+j1#qtmK6a%IJGG?FZnHZ8HXK|IG0 zOwvN9=Xor3>Y!$f!l87-KY!sGUEL=bg~HS+JJmvInayXoTE+QZjb6*9s;1~hCDZT$ zCPibNK(*0ql_HN>^=!H3Fze4~ITnvzUS@68pfvhaN+69|VsBcYyYe_XTSF0(1kWKa zV@g{=_bu6d7oSbhjufAZG%T1NO|S}smBt!X>d4iA1Gl#5JonL$T>tEU`u4ZfMgGCT z-Zy99L2-HCyp;FyFa)+014R~Yw7^Bvr+0f|J<}_?!aVg~PqwCcva+TRQA)O3aaY7!x+@-VS zaQ8Ig4_?dom#-diqlBT@n62QBN1IDL&vLogjphkB}$xOYX+UpvMeHpNyzDJ zL8>TNmP00r3z3R1DtZ?#(cU~K$K<2oTo#F|=Qi;?i*P3NgS&E1P!~7WJfIMvk^GE{ zSYgO9zM_3_45Cw8f+J@68suX4aAk$1^II$yG36-X%EfDpMA}@fXk0tTIGz&?M>s`^ zo1_@JPGqT)-)U5a4EyBs5hpvhslt$!D~gIaJ-QOB!W3>SSSNyyfft8{uReC^9G zNnm@VtE8R*7dQFz-~Bh}KE6)nYQ*!9mSu6iVauemm(ID^wpmdFnxcq`HGch{|F69H z=9l>RC%%`0OZ>ur_RrWK#hB|I(xnn@$)K^+#85M-3M@uPYzTu??=nXRE;nA@CGF2p z3k}V6h|?0+Z&HZvv%pmOzQidV&&MQ-DJ*w+{I7f)k6gJ#CrC)Q_nEwNkLY;J?#>6goL+RGjVE7ym}ME_E~rq=3|#}R(ceRh{b82=w!fR?*L&YP_mqA z5uoK6s_2r6c#g0?8D|EiL?Cy(y8QKGKA{v#8e+Vz7SiM0H43hGR6h0S7N352gW170 zNnDUBKDSRYwgY(K<}UZ3za~GEj3*>+I6X4-MM#69!~kllNY$KVWVnC6inr3M35K+b5&rT^sJN+ zd(F^DvzXFS&}$B*DLVOQj7~MzDHEM!k$v!MnT2DR8wBg;?rnU>r$4^_-9No||6kc3 z9O3B8ofpVySKbNkg-e#02{aczUdQVHY;OO^g+OYA>o0g6&k>v%W~g@S}Mj3@#y@&^5r zgdlbpE_B}79;2Bq&6>&DvPr|6p^Kz>uFBDRt{8-==;W2e!vU=#;qsc##-@kjcKE}u zo$?!ByTgky3^-$P3#Ff`>V$y^e~25oEyFdUcocVA!H5(pKVha3uxybi*VGcTQmGl1 zR59wMilS@8u1TtjF?uNr$c{*nD>|j7kYq8V*_0wnSgAFrSq@9BW!beEEaq$vP8bQD zo|N`g=!zw%*wTM&`3)-5!tX2-#VJZ!(rVXPL?cF{Bg$X_MS>+#AY~x~9%8fdY->-U z`hevr(&$yCU^z7uT_>r)>$F+DbV;&92lq}fbcaItp)a1p-drLrQ--?-REs%IQDD|< z6dOyDH`*->vco>(JGTk?$E>%TGHIM8DOo1;f|lG3OpBapoZz&3@>n(BqE@$M$8!>f zgu{^9$3MbTKl)d=^xVUA#ke{SFqM*Cy+$;hv*{^3+f!H}BMm0J_vYI;hRy4*?eI_k zmp|a{AVpi-z`xKXsm-u^3WXX{GfTR`l+~C@_fxP+m33 zOGO5FoTV;ByT+-Kpscje*P1lWud(ho=$+0vml@pq+8Z3*yvyXIFVoeNC?FR+A<-_@ z3^YLrFimOoY4{Dv&8$pY?$8E#$?*7;bTou8flLIY1nMZ4tFl!t1es!YP%tykRvg3w z&Y31$m3z5G5y^>wcptax7LQ-t;ED4c0GmK$zn;I?VM&cJW~a=@Q&K#(Pcz={7rcEi z;xG*5vDQk9ED5pDXm~XlFj6W7vocvE5z|79{O2elVJ}ApvI==N!#5M)3|>j=%ZZd3e@g^A{)!DsG?|)73AW9O$^D!_mc#&xGYRC z97_@cL}%9!e^vmC3Y#oZNrRl(FrkVqj$=qKT>i?(KL6Vvd$4nPpWn>xF9V(U#y4`XeME;7micsUv#^d{`2#n`A^>M|FfU{ z>#0O6!coKb@39n4+YZblwW`C z03i#mbRDDSlk1k;4HMvSQBw-No){{NpLI)1Uhvq)yCWI(o7*Ldvt4`DC07)?jqdi6De{wckBot4YyId%*dVMKi% zGk)(5v;9M~G-PXeNkr0Vc(ydphya&BPnDX3;?}8coMT2pSkCdx5<40*I6R?<9Oy04 zdj2YZ>+k;r8&|hTs*u@Cbi9Sze3@E4=ZTKOx|X5kDcLOMSAXR<`Q6|9BJUqA(3dw* z&u@|V8NKxiuT>B&2GXeH1QBa~3nf$;?#>8DaO>SY%1ULayUJu7kOc*v>9d%N9nrHQ zdSNMK4U31r=i6yMe2$r25}b}$9YUiY@Wvng8RNUV($ijuH3m_z3w@~h|FHL_!M5e+ zUEZ_iwf0_nKJz{2-gC$9+qVa)2hFyO2gQ>xHW(@c!GS=ikWhg#5FjK1lB$F%iVz@W zQUros!U@P$NwzUIM%a>(<(69Nmb&|P-}#>ToW0K;*F2`)|B*kWlA?+aRE688tGcSC z?mG9Z|JuX5-uL}IPlINshvPO>*IPQ-o?+lik!!gejK)mnA%Tzx1Wu_6M2mJyGT1d? zv`{JcLR|I|98<;Rna%s`R@S(tONy;KBc{og& z*B##854gQIB)3g`)8T^V(?NbW3rhla(y^t)Hw{IBIHlw$OF6F8hAwuYbIEaerQ5>K zb7je?Jd2`fvoJFBj!mQ6QtKnZc!n8E06r!Z3_%s}^q|d0pSi-84@q!J6pB7JC38B| zoprvsH|OEeDczROv(G$5D&YPiVK|=?j1TyI-}M5|Uut8QM-<7JJSo&}wIHI9Jy6TR z@ocIxQ4d9x%^4hD6ZgB0ZJ219N3f{TtuDjig2UqwUF$K`yuiKj?BDzNr~bD;^(23W zpI_UPeFEpj<&%AXpV+J0`K3?29K7?DFZCA3u9nP5n z0!3=yv|+evPgBoIW^u^4Oo{74?Wg&s&9dfVqy@HVs;-srHsy;~(zihzo&8+#WqTgu zIAC67Xssqjzs23X$COgF7n)*E8n#1gu#D;2jHbtAQ3RE#ggNrNNKnVn-7^QZv?x{I zvQYc2Wg#6KY4hY@N_SHXnXa;wNM{Mt!tV6xbyv`Bk08r%yB++c9-&$HOs5!=DdW9eblH8QVtu)fFSFKgN*0J4eZVZyIi6N{TiY~mKE?9oRSq6} zlllHVHa(4_`@76f<@XgCy3W-f{!V_+pZ&v>eGR{5QpYj9qRE=;aKD#nI82@SQQ)gCWWNM>vZB zD@_U0Ii{qbZAZO!`zsgF9gn!ks46LdWOp^h)-?>v=JfPbLD2Qhc< zV^v%Vzw)eedG@e#cH`t$3Ryr?UAvXG%f()UEwAEz8xGH}x9M9olhZM^)8p>Zf=82r z#?ob8d;30jj*iH26wv%>yT!Hss(K#|M~75(%1Ya#gREtg#E#9xFnRrCOem-<*W>+5 zE4(b?fysoEMMTx{sg}i{rKuGe*~OJ>mSnjnHKkqbJ#m|#%!_>E@BYN!&<^hZ$5s*c!#pLGuAJ3G8?67Dd*%5b`JKX2 zuKxC4`!D~8*_VIgFKjKwwA_qfS;JiEqnl0Ui});EYzlQmS0mIY$vK@xRE9%R*<@CW z`}-1@kdB(Ix^!1Jx?Jg2w5=V_)ztJ7r?hK%Aw zb%E^FKJV^4B>uKjT8d>|voM?n-IYEg;RZ^oSZgXHj8;Lv)2FO;rn4ysdc`b-6|VNo z3c)*70^>|n5ida=%2E}sG6tzO}}ZXR!O=KBM7`=`3dy8(ez%!-Q*n{Ix!MwxE~|F&8Hs zymO!EFro@m@GR(>Jokrxgpd6Ace8$ZiEuh*P&K(cSi+Fq%l0at|A(LD@BB|c#dMls z^p|Pfx{7yYlcMj_?wN3Uj|Z>)rW#>4l9Fm~j8j=0h|gMdorX><#n98+bhj=ruv!Fr zQ@Tcze4Z-5{QiSoqT!4noYUS~q3F738y!;F)eT){w;$tX6<(531p#@Hsg;dDhydMH z+A9|*G=n%x)x$)QL~3_aitroT7kT{Xk-`c|fUJ_$fjm*2HTnMp`y(`kvreTHMlvT? z^Kf-MkV?!^vEwVx7vs7L-g?siG)bjB&~WPwFeP!JU&7XQjvG=QsH3-FNuf z!y_I{Y95ZDG&&S<#h~f4)pqE&9P%P2NGo=Z6Dk3(YZ<=p;kddgG}Ra|N{Qo2{r;MC zPHXUOlUBpQHl;==6*{FY)|)&go}a1_`|5=aG`Gp4lMxS2#*B-Cg_uvWm_)$s67p8{ zg@I*CVpzlKxC*Hv9Ujw=a8=2m-=i!tM#E!;{}BME*J>%|rsG%~9PB_Dvwn4rXFvQw zy1fCxXv%9}`8p>@3;N3!@mi~7wW(a;j%#pnbHM1}5tE}srA7=EG00w`uB&38H5jnE zzQxMw2D>|tcy#X$SGU*s&X2y2qKsYd}Eo7o6nKg2E(Ic+6@h3 zHfR60U#C17svtmyYbg9-m^(Bh}26-#gAqEZ4&oU-(Ls!jxl4dFjO$ z+1%P@fA5&x2fNG;#>9K41g8^{GN!gpCm=H}y7^Z;xUBX~Y9*2sPng$DsD5R=V)s0h3%irl( zDnh!hc2TV?<+)2ep55%QQZKmDwYk33R~*kb?(Q=TO?Kxx)5IjrbSlpwwR85yr_AFT zw=~$Yb+(#KY|)g?=PcVE*VmS?qN!4&=8nV2Hh6V5<}}Y}n+w8ZO84g!b}^+Sy*eu*G7Y z5X@`t+&w6PbUG56(ul)M;kz6|!fH9x((w(@Tu90s z!?CGq*{RNPb?FRuI9+($8OHcmp8884{;&SQfB%GiJfC0Ad-w#-i_7=$&3~_4`rgm~ z?ZM=q|JrX=559GMphq;CInMH#eoaCvrt9E#9W>WrCSS~zPMzz7(}eNCgvq?5v3#B5 zq-JLpu_!`ZFXz_vRocZEuL|k5+AQWF^DsfPJf`!4JS`bCyV&wB6F;|@cx3ckzm9=T4=}@2VV)`vdLMa#kNoiWa`Tnv*t)pP{_X=V^?SI9 z!GHZn|02W3Bm8!s)u*muUfnw$6Qe{dv5i-?%l;DCj{x}aG9k9E1h+#QYq63xM(9&7k$O3Dl{GK#&wc(|{>g4*$xP_9YK)#qA;v||Qr*hRwUq079LZO= zjiWU=dUQZCnv#SygY_#MEi!H&9-obi+Zs2o4j5Ep^u-A);u+5>PA8$zk||1yy4FeO zF-zSJI=ON?yMjnBbcT11d3ZGCQE8C76)Vd*FTQx4{#r+bhWzX=zs?t4J7pLf=>CAp zs7Q){hG%f$!UgKmCQC|Yvis?}=z@n)8q170O~@s2j6p+!9KtD7*dJ2`E^I@?)oWZ0 z*8PSu_*kvB;%)8@PdQx#gtEJtW(0Z3Bu`mL!&4Xdxs0zRY;hLLDeLk@8jxv|d`iV!DxW zvpD0$rqk&6C>kD4vq3}dUzu}qbV#U`y!6RW&{eMKW4sraQ1Vok|YVS zY=b0Ps7|s|iZ0Vv$f{g3F#HyFr;F}1`NR)=lHHvn-n#vcdN_!ZSpE5$WpnB3Wp>Ah zv@iBp+U$yy5~7HcH}5ih?JdOxQnn|(CM(Z&bhWyoE(?6%xz#0JxU|Bxfya7F^UU5h~n z`U8z-TU4B~5i3Y78OJ;5bwv?QD3b*gvg}#lG+RoAngt?3(1{js8e5#&Yxh^)_n|-b z^zZ-F7tTM$&rje?$T;a~n;`=9^p7cRszmYsrj+oW(SVl$)m zH0*wxM7oxmMQV5HE?uPQ^ce4-u=na@|;LS(-m_47&(b!t`cz)eMpN(kf zIt|sa44KU%Dop|{299O3wz8sv6yoVFlM+4Bm^~gdoRvH*9rou#`kjJLeBVnfqJ28c zYdk!x_|j{8+&PBBMZr{@)LKbGie?Bm(!{eGR8dL8_AqTn?I8+lFfCHGM<)B0f;O^s zn>sDX!-$S$vcA-%<5(1FK;M^idq8P7C=8R6@q{SNa7>4+l5kMMD2|y@lOYO2DK4ZL zBiUh-T5E&p(py<4FKVJ7rs25ci8!tN?GzGdQdyXu@| z9R4f6{wnW0Iz{vQ1e%R*J7i%%Q`fQL2&2r^?pkH))V`11>e5-hfZOVEJf4u{wZa;S zNhS*y96Y=Wc}VZ_1>Av;x723s>Ls>s++b;CjhQ&5*EX3)fpS?t{Mze${U3dv_|6V( zS?RP47Da;7_K1=NiB@8*w6VGky2}G9frt<17*ROOz-&{3@%+FjtY|FDWf;;KoBZMsmz128a-Y>-Lq?0EpbUM&-xbc0j zu=UI~y4Z7qh=;%NRqlQ9w_uSftC9fxm7`wh0~K_2gO{&tbFJg@)N+$c%RZ}JM>2Js z93AuE-XW7k&7|@OaM_v2?&XB#W((I8eJG5gm>mJU7bTkwmo>koc7bJWWJwgLy2kcI z$7TQkAOJ~3K~$x-d!}|wD)yp;x6_oPJSUvaX=o)^`@SMY4DFh#?c=ukoXP{>(IFom z4ERpVVo3!A*4W>VRB@R| zx7^5C9@sS97(<)mDHlMhRzq~dz!cO_o{+~=)m^sgQiYT(R|-{)MPQL622o;C`s?=^ zSKj}JF8uhXzI^`CeSQK@+6kN&mrvRqJ-?p+*9m;{Z~n>u~Kw9VS~ElmCFi|**|TZBi4IAujJS+H|(g5mj$k`TR&dFARV z%dUYD2Xy>~LjRnM$K+Vd!kDJtR{Y8!4peceXEkg-H0B2_}ItC6(g6}ASfZC<9Hcg|#sxw+GpCpS_ z*yLy!a4?i0l&Qwux{MHI&r_1Mk`m7fHSY9%0b5HK$y6*x*J~?XU~XvGk~+u0Yd8## zPZ$r65H8N-Ao6b#?KqafU}N|2WkS{5-o zIKc{Q^hHJ^uQ1C}nVfIQeLowF39`#t+vU~Kh(}YwBUSVo9;-bEw<+A(GmKRb#@xUC7Cj^9R@3DJy3Uo_qMK;M zQAubuIC3DlHo#nUXxcHF5wd=91ERfSm_v<(k)CZlVccMd}4g~2!s+1y^DzYO!!6S7G`6<828aT*=E zmzFrKQ{I|Rcy~JI;VfmiNNBgaxQ2sO%Q#NH|7-FhAuD1vO3%NIKam~GA{H!>jBtI$ z`cwdR-y_j#V$D`Nev9!OUpH7aZOG)y^sK`)tZOy$jWx)$LhUF@vRE?(vMm!q8IhY{ zcvzh!1{>QLw#)v*U5Eo3dWBg8^cxnMz&|BaVi}~GMr}EaClVadF>8}5FYp{!6_-Y< zLm-4|t4ZtPRo2%xsMC!2bVRyXU}@rfk7@P0c%DNt4-_nX_xO<1tXX;a7Hdyk!LTjJ zGQRo6FH=q@hzZ&?YPz0i`)VB5<oRZQ?Wozs<^pZNg|qnoiK8m~J8k zmP=mN#IC`lX|wsRWQDL`yFi0pwaWF@|1yNk`1S1Moo1JI zOB9d=wO&%2j(Xsjj!to^lozjUz}_P+r3p8C1G;*P(`m@CG&qqC|CKe|br0VQu&o8# zTgxoT*%m2_=|tIwdMm5ASGU1!p8c(xP)J%lfqbD}*VSUG0PMP8uPhBpd0)#?WkOvP zQm3k9c$M0m1{%}6$)s#x^)LSQ7ys!0`jh7$)#oShq@KWearva)+4JjCCs5b5_KSb) ziIO>u=nn)9Yf}8D%&pIw;uc`t?X!qhi?o=eC}(v`Nm<&q%x@-(N{XS zm5C=9AJbHU5%sNR>&#OLra)GjYAh%tI#<{6j9PU$Eytp^O>*605ys^6h<0tTBJTBC zC(Co@dBGe_6_=AdCXf`YpjIRtRMv{UEhM1Y7Pg=cZkw%_KFVO_0Hzn@QSvd4;qxSPaJ$<5Tn?z%Da7o`uuua9SILl>_V7S%3NkHR4UDQ=;Qt z>M&60>S#V!zI5L*nCu^^b%1deDJ0P5cYJ`QYugH`Gu=Jn-j}|D701dXQ-xE^VoEq2 zQ6(|bp7RV@FVMkp7_5jtdXwFI4+%yS)s-%q7Io9X9dt<2IUS=QJUv$4?$**07hk-E zX*n!*jwog^Bn72q@*teizjB$e6tChpY<5s7Ex&;2814@tE?Hf_pd9OyhK0SdjM-?A zmj#pY2+gQ4ng&hFP-v<~Rx^7z;`pumG{os1N2GN|Y3Nk0Lz<;HmC3+w<2D-#CLfon z+SN3YoT`>0)1q=*-1T+zR+EufdPXOzU}`trvtW`KdZfMwHeLA8)eT-=?JK5bMab%) zkAubT@sPLo4>$-?;?kkie8RL=h2J;~&K`bd0UJ(}ffQ=B#;`0Il{wQYB@@JyZK}}I za;eiUOZ+#+hvxjRKw3@;JO~}ep1$!D*$usNAyu7u_(KlbC zSEQ^hEsGKnKQcvK#xO`IY?D=)66L|QK|JvGDKlhK`*$Rf8ZMVkLGdhC?nP*~| zE?NZhykfs;p4ojw@D=-~?U9$NLi=zqN~{Nea7Wu~^Wua-Lpm z;MP;Bcu2R`LUUSVxJ)CHd9JfRoia^A$~tF#sYkokRf^kfb|_1SaG@#h^8VffoVsGA z;VWE`mzl)Dm@79|>0P_PgRJE9uifLET0+Y=%+BitQ+-nL1C=u<2g9 zNSKM@&>)&8YTPa^`rIzDmwPIV6ikK`;YdNrb-Q9p{bQ!i^A(?GDD&#rg*?q@Ia;%1knrpa(NA(Kw!(VW9^ zz_5m?@YXGl-tsy-yF)b7;laV7DnR|TWZh}d3}Rf}TfyHu5&_xM)k}=;KQH1iIa&fyB_CTX(7NlmO-cN?^V96e{ zkQpT4WSn(~n@$5=__28*?N<~)R%|_SMY<@MFJNBz9M=u33pYOdfj{wgf9(7t`uqf* z_j4K!o+H8HthY0*O zb*rlaIkG2L>M3b_N|}z4K20MtnI6tLdORbZ##G@9E19s}sab2+6v?SdG~3M{^Tgul zH0OApF)k{VN^bZL7gh#b@Vm^XBQ(!Yj6A(?adekFj&LlKES#g~C1$P>&QG~~eHE?S z;IOWFkTm!Q|MWh$#dR(go-}2%KftSDrP-nBxXkAPi!@e2mCDx8M9XMOpUPC-%PJ|z zqU9cSE%ASI}h$F1B~T0a9Ulg^~*T7K8QY8#kF)EzWH^Mhws3_BlP*H z3P{mf!N2kX#pX@Mc#5^?*g8%$COg@sUFKwyQ;a;O-|292ddMsZ*#6jux%A5Wi5ecY z>v8X`J3@=c87+u*b_sX))V zW4qPmSnaooGmZOqk2un05 z(^nAqFs=CJyN{G7yj_^AnI@eyRrCVWZ?F?Cc#tdzBn%@&19X;alO@em&iAF3OQ&Hn zEhbd!4X!@_G>;!YqACjF=|XkurI7EMCYP57Xo5IeOw|L{B2B?{S>#gWC$yFuT)4c< z%9{AgEqY=l3Pa|jk^248ASa1Z46~v=aPS8;c1x}yQtK9)W|4#uo+sSTl3dV9VwF<+ z&L*1Ws?<19K@cP?PD4zyt@f)=M8CdrIb43<%m2ZZANfn4KmT|>KY=It1kQ`gC;9H4 zUmIWknNMB2|Lec-rOVNH?P=e{3{L5^90Z;>8!pJ_4#QL^5vC`?Xy|khjdy8_8<2W=l2eXnSX-cyx0Ro|{mt>0sy)GE^JjDh4=FtgXd^h4t zcLc|?L|B$2X++O;X&8noZp0HVKSzQtr@r|43ASq56Av4|5+V*zWsbTwZX=_E!*B+Ni9V_uX*wXXcu zlI~tzT~_M@!{Jcr10C1LZ}ssmT%)@F9M0CZLgUzVia9yq{+GW8N@27#SYdB;NbTr!drgcuA==v|z4Msr(-T`^6(XA|cz?Ngum+op^DYVdTkx)p-Ro5^D#9x`%NrG=%bZqd& z=wwD{YZl-0qn}W$%m)wd5st@f^j2ug>O_=4BJWjMTZyom9$LGN*Xb|~7HE3Tjc2y# z_id7Bghoj+&y){*d@{n)T^e==r{SR)GR{vZwJDBQQ|4zVF~xTkYJnwEf$D4@*mf0* zwh%t97}*V5J-EhcMG{D|AM(0^vvlEp@2O}1&ei|$fBYNgAI;|{@T8x>d2#uq-{JG? zkn%4^(%gb_=1!P^US0Rw|s2*Y?Rti3E|e2-WD>cPypzyFZQi?3WICZP#I;t*B9T zDhXv#{!y~h8DQxad8w%&NM)3?x(*FroZE#`K{mzel4?q8cQ6SE#W$_zm}Z4rR5Uaj zPj`{!NTcPmNai>)BQ0{0AR$rgOF#6_>>J;}5rrl;Wp{va?H2y_Rh(8! z*;llqJ*IcxLYwVl7O`3g^t%lfi#e0olx}Yc%k!!2hDzN!wP@QB6BDvmxOV?kJR4+S4Mdt(0V{R^SJUt-WdrbTrzs10F_~ak?_u1ds z;h%r{GnipU*O2kG&Lj)4JWKt#g#@E=LHTHiBFVdYjnxYmRQkA@1*#J^k^qh1cs}+K z)~;VYQ+t+@8;RK6eN3#2+OmNuyROq2)zJuRF=M?6f8kI3abCH0i`RbZxB2vEKEvyG z-sMyfJC%kd?m-!DmpWNhP{?T4FtCd9EOFf*&}p~mc@|MP=kC3`$f?VHs;gA7EMK_P z;^m7y);x`tS>ietrDD0l;od1jG1ypZjOQuGNr>xPtSx!8+phYvqRil}hePJ$j3ui{ zGtIcrFzNap^SV~Q>v54`f4h@wUwYq)ZbS zUdyl-D@N7Yf8%RtqXPyKmX1R;X8U&IQQ>(~0TXo^RGvX0UwBEPx`X08F6sKoL%Mp2!V(F(X&zQwxcnU6>QyEZ z!1};*jIEM!Ji?ic(Z2B}7yKr-zUzbRJb1{fKl?eh`|IdQPL?GYy(WPKY_gavN$ECQ zYE>Z##jqornWpY6U_WeT46rv$=g) z=`_<|%4B%LJeaAXOQPZOu(H*JPk!_|*E%&?G^OpeNOPTsM=>YkkR-3DDjVt!hbI$e zMa=4Ihs_lSX+#PhE3Qqxb@zzHtYF>k(ke?D)#A)C-|jQ7D~{t(72_>OqvP6KURh^+ zaD-k$r>s~CW?bLwQ27h4f9NXBs{}Y1R~B_(W0@^f8@h;@9zSHd7?ImLoqkL0 zA`5r5s1sEjo3%z17wjF(@f#g%tzcuYjP5qc7O@H^g=r`I+dFCG&~kRuHhb26IL6h@1z(Z}81X8Dz8v!G*+52|RbYT8m$ zDo&v=3xy3Rti@WlaNK^<@ATj4cU$hxSHJS~_}$wyk^sNVagq$8RAF&soNU@U%~cj>K@=rmmxqnRpr;;O^F1A{NTI_7}{ zduyHCvehnQ6eg-Tm4etXZPGkp8joq(CcTbJzui<{vT`kTQb~=4<@ls|rpCiwUDGQx zR?P-I^Q^esPXdm@F|DO8gXJZXMasd+P%#Q~3}PfD@3LaI=(?i5)2WP_X%TT4Njf)X zT1y`mg(?#0cddLT29=>>^;)c4yiB|hOp}Y2YDX2_+QLW+(l}8+ zUjkvN=o+hvtCzNU{p~kNtAh6G2Cmm+cyve|h}Ydwg`w#-DI^fJw#3rqOSD!7cpaZu zlGIhs{=)}wI_F|<3BT6R<4}3dqtg*v{S^-P_Bk1zVz>=vMMkArYD{Yw4yGYlZ%EQu zJ=_RUKnm%l^;Im#QJuYb5h(nWU1eBx!Bz)8`b?jXJ+sA{S7ONPN^9|OXTjHRpQ>GA z-S?<%m%~xSbP=IhHOu`5mj|BOlT;4}hQl}B*`zQ44(G=1l-$CJCaf0*eAJB{&#XPK6ii-0l;l=@M3g^`$` zd9vr1)3R-~(>TvUHNs9KshT9TA;iFvcE3qp&e7@x9U0T75)devh7ArUHedY84tIt* z6SKuAsnm{WCMjLbp{O(r(^RIO`C_V6f$~Q0`VNCm7vJ-6Ok0iT%Ro4er79$wRn1ba zv83A!belpe2|bGk^C7VT4Zp4SIg6@h@AQPD(^I7y6vIlJ27RxMZ#sC6MNG~~IOQl^ zFp~~pU8w@ImR&w|r7Avz=DM`I0~!+J$aNCIJLQpD3n&aZGimfWbh~T#jkZD$m9aQF z1CnS?UY!|nQdfSD9OOZu)@VwHNgUX=p@K}*HI-O&WJE0Jn0AwPzt5GcPjPZ`!n^lx zqo+BoQpeUE6-?3ls{~GqP#8qI#>Piq!Cmr*=VK0k^`9eg>hJoV@22IsJpAUnl;UH5 zw5JMeInSl#KI4;Pr2`aY=kDm3rK{VjlX|#w!0^G{vp|rz%}X7}Y?4R<#&2M(FR^-U zo5AG`A_<|nHph=2lkOcekX3`Uz?6N?IA*lBukc2)PiY%2iQG@qRv05GE~UtpDo-L? zvM(ri!Er1c&&HL|O;s@(jZ|0E$RnJ(;Bp(j=cNt4_od5R=-BjKlgTLHox3CMJe+Yf z)R`3~sb#1g+ee2(Y}Zj3uAZxNt>>}Y@l|1;qx1UhhvHRbP}^KzUB)T{MnS-y6l#vc zG@FyAQ?9T1+}vL0`qm~p4<56#JEA(7^IhwktjSJuYsQN|`cc@hNb-D#MkP*5RYdp!T_V+#OZgH)yZtHL*0W(#O_D>UDf~qAOJ~3K~$@+ zGTGllyjl&{L$^%aRujj!6*a!uw}_HCr$I)lwXwWQtUmprKkWUU|Lz~WCq6*WFY^2Z z{tZvyytw=~Jh1cs{NLRZc<@jDi=WJgcmJ%xeso$^-vtL#j=?#MA!DilVuXy!n7)PVMOVR9j6i36a zRe2Vhr6!ApT`wzd7}CrcBu?arJDEmcX@E zN8h@KRunY4HsQ%Jj@BT{#kwSIYfp`(yVozWa{VH68Rhm`jE{~89v;vrYb>JSus@FinMfiVNW_%I>6u;R|#LYl(8xbCjk~y4|*E6NWL9`4p23kC>}{ z_>NnBzW;;Qd3v*>I^RN1c;n5-eD(Dmjz&3wG&w8zuPqKIb45bvE_HEDSZ_DD+Vogz zI+(V}G>CZj!45`ValvSCZDk4HDLI-2d~1|3vuq+gqOKRbd~=QGu3liP+h*s{K3{(I zZK_lFfg4+Fv~~QYobB&@4*D8(5)$9rCmk-xas#L14Ms< zu>0b57f8QJcWE7HQjIg-{_2|~vxr`+L9^kIR}q${#L-Hc zW*0AA=WAbiS1^xsF0Qls{%wqv)*G>@eW5^`SCw|r(2XmGZM18(eC0NMw{_junq>0@ zNirnML((#N1C57fWlc#+$4Rx-rfHaF9$%jyJX+U-AyzbFNwYA->fu7^xJ<%|ag?Y| zos5;&)>cT91&*Fml?lFdvs|A=;jnu&QQwffiK1aW@Hcl~VzrGVSd`o1`Zi{&~hIODXM zgn3FB1$0_%6|^EP6sk$~FGW2$i6-P}MiwOKrAE8mW+6cCR*R=U_8r(4FLE-S(a~(~ zy!JZ9{rhUb|2;qa34Z?{_`Q7hM?WO-7j}Y(pZnY|@|mChG*uWeJ2}R;EV`|>viArh zad~@_(=6csX75daEKASw%;)Uu-EZETYh~76-6eHvX@RgLgjmH02Y~|=GafK70g^2b zn0+6j2iXG*SP{Ss4s0_(cpQO+Sv2e#n--D~YDuM*s`uJ5vvObVe$T$m{C{~Sh_OAW zSz9KvqPn81?m2n#yEkvX=lj0*eFk^#pk`vfP^1=!b>0*vf;*o|+@*-)5yH1LHSi2D zDr##>%x4p-y;B)6)NZyV(y_`b?!53K!C)+p?{+$*St030Q?cJ^8fdN~QJEs<$}9^! z%cLqruYWFEFlUrwvXoAczToLi9jUQ<+$2% zTkMOj-|-N`^QkpzlI4D7rO%43%kjDx`5zsfu(NweP0_gOH@VQP(eN~O1_Pcs4H<}# ze=`Ro;!Ur)%(V;4G;N#xtwTQghc~fOl}8qraFvh?R~nrAyh~I@KoQN+PXek*!Zb># zY8Hu;<9A(LQ%5mva>e1r%^fM)*DkDLHZ?L~wklE##XxskOit(AeR><)aOn4Ys9H{x z3~_3<{2moCUX`K}e<2TkvlcwY2dbT9##3JL?jXFu0GT6I^S@Y?;Ei$p+ zS@$WjMDBVX?d*}|DTX6P`j*Tom8KUVl-mswK@kcfG`m5+wZL+Jk)zWC21kb!vru;7 z{YG7y&Ss-Pl6qo8qj%vP?X^Dlx3`#YZppn<;uKR?9}s&a<}_i&QTUS2S>lUde}Pw> zU*TkXmwPW9a(ohSG7eE4pK1JnH!sZZ2`YP&K>nTMwn>FiO)sfA6^)u$O;E*CC6TA$ zcuqYlculj#qOPD+a}3X7h{{PCkT?p1*%4pxrpGXCoqD^+&U1TgeefQ7tP&=38V!xt zKC(z}K_f3`bQ=z4sgR2Ag*cO$u9a_~`8IaLmc}^Itv?=}V%Hq%?FOmv!pAX&2!=Oo zg191%GLl&)O;k?Zl_s@ByhbeprBTCbbV*~4X;h-u`$u+r>0PMx?V_?a*WUUa!@sKc zt+UT_R)No^3Y>|{&!%VV>{|cADlq)@ANihx?dN~|^kAEF4?Xmu#>H3uKoV7;mSxcdfm?*Qv~E(4;i#S(9^0h&pgDI88h?j4W0KTVh< zC2D1(Dh8%)%CVl)GI7j;RmY{~+srjVRY@?jCbr$;a1!yc=eIZ&G>}=r_WnTb6_#1V z?)EL}cFAJBi9R>*uyJjTK*S@VcY%igQc6 z`Bm4sy3k>Ga>}i(eO}l<;mO+v><%MlqHC(Tn1$#~3P-$7q$tF?N}?9T>4aP)bc>Fo zFiw|32xyYYF6OvurQ#Vrp5{H+nbR`jDx@+p8J=AV++i-HgE)aEi7G;5ik(>7b!5J# z5TC27tJG>Ww(f1Ryx3=Wd?LfnMVHSoRmt}jSWL5WD8%^K(a3a-!ZvAMx=icQN6B0V z*MwyMK0Nn4OQy!f^A}iZcev2+(cZYmkG%KyNgEw0)SE`h&XXVH@Wnf*s!w-uS&B;` z1dD7+ztzA|Y{ugWPO~Z343g29z3pvs!LC+S+(wNo&9MxFFnkcA?l+s9oDM|eRIU-| zs!FLtES%O^MpcyZ>sD2bEXYwTi%6|#t*_8rU*_oWfN*CQyQ)y5OhmnsiRV0zsAV~? zzF6n0zxWk&t%7(oW&i#OVdxSi8uK_o4DC~aG!!|G1PIfDA1vvNt#bk z^aR^dxv+X(nzW+fm}O1p5%IcBLW&}yx75O4s4*$#42zg)I_KIWmx#p9@zNT*&mOY# z?{1S1QYK|et84M-+OR1FVpQb1dKQMRaB_Mi_n1Xu zfY^5xYZPKPwbk~^1Xt0iKEPJ?mP9nVrS!~G4z^?k#( z9x2WGleEwOqidi0_cs5+-k8o#bXI}?LMm`3F8>R8BG0~zmsWx5z3(;mtQUTCIym{e ztxoS}b7$d~^IYrbNxYKn?f&=X{X1V^%#SJ5G4)Feloz|iu9#33s9A^-PabsFbRWa@ z$V_DCvQRYQ*dk3E6ZC}-l$BTHMb=B>q0Vfm8pD&%u?|PLJ43SBG4_T|XSGEc7fh!) z2d5Ept=*AggM4UW>M0BMeVTsv|lcyzXL~^UG~Q;d<9hqQIauYRom0KYs2m zGu`Jn)OqfOQ_h`#m@LfLx%~o7vt*@Nqn0VOZ3o}9I6T}(@m=`?*zq;YT8+I)C_A5u z+mb(YMaNK3NLhNBWLf;lt(@fUi@?09- zCaqSByet@uM$!!}c-+FZEm+UuLkP?_zv+$Kxpj-d$tmGHkYje$)QO`6uh9iTD=IRQ zBBxYU8Y`>lt-c&B=gAy1nb9j^RxFDPtsV_kC!UPhDN44MFEXq*&^?0%$Kv$H$Ju)7 zX^Hl1FD~P>YYZpH^jnrhRUYl1aB_HrTKC!5*kC@IFg!hdFct@v7gy!@KAFr>%8LD? zed^5yK@!WaOGF8YIH%HdWLI0)3W?TC^8`h#35eB8(H2%tY`(B@pQ$ahhX0HB`kSiA$zYE^lt; zNkNqx#9>O^b(sZYnVZ^f`m8MUsSCr^=#U<8O*5#8ko_p3*Q>MEwu4d z23bgLb)Ee?r%XR_!fbC&YA7r&)H&aC>3AA?m0$@7R81!p0@)C&xi%tky>wL+&z3hF zN>*{QcS2dJ)aos;U8Z3qS46OC_)8bioCcL*gsD;vD~lstFHdzfSvHmOvTa&smgI+d zR61!^Suq@!TD4)>8miZOA+DYOlFP6E=CkqmOMCl0d-UIc3Y>|{zX4D3*_ZgAufWbn z{$+cbB5SBN<*^_B_&$bxP72q(&HET>z@lrjrz?qC+iRN)jOn$v97*&7eR@u)=3rf9z9IZB@4RtjmDkP5?*<}j-i z#`&CpP&%qbK#nvZiNJOtD0M~V3970to%5PrljjrTVb#$kNl1`w%26Uan7XC2y1q)S z*^nlhAPS{{zX^S z_M3EiYm(6|`0m+!M9+m~*P&mT6r%}CoeuZ%lG$rs$7#L6yofm0ZZp2|X?CBzCC9~C zrDE1hbfe(>Qe6h2@7&*GIuB^{+7cH!I65VqiJFN0QH6!>5-q>Zc*BNkni z*IsP#m0xt3u91?QOu6&y4zsz*ELAX@4UVQGX3<>kz^?RGCGkh(X9@yT;aePzCd}p) zx@MCn8H3r7l8nV}m*sAUj_;66kLgw-Qb?ng6ikM5Io4ik3R9Cx-gKz1FOph0N7)=> zVS(8}z~Cc0%y%ZTi`efpXxb&Mx<$KFr`Gl;olGKH6=&U4ovhGjXc6m757TiHqU+DWCm_p?g-M5O7PCgwabjt#razMg3Qcoob$Wt?JZ z7EaCk;X*6SBn^MaR7*;y^TECP+800e*gJ&<|Lo(e0%sNY6BRfUmuD}BvkLr&3haF3 zy-xArCl90NZ`K#<1+`8AD-e4LxmilmjO{njR9j->(r`{V+e6g~{FY!T*JQ`6P(;V5 zMG%=7TJKJwI=`5fm6E50rBH0T^Z6U~&D-A?Z*P*$1_((i1Vo9>EP|s5_Di3e`!jYX z5MyJyCazO(@j{J<)_peIoMO0xtE6%#Q;g(uT_ea7RNElcMTgMk{U1JJf9!HFRN3DX z;qehY!(y$evf^o6T&PJp(B1n39N)vMsq`-_bNlFs=k|`tj0TzE$gZXkVu5I@sX_$0 zSY?H0RK&@gX&Mp;!RB~as!7{*u>?mvjj%;WFjg7NG7iFoQ({g@rBhy)b8RS8Q{p8> z|I`xsmxcklOY60?U^iHQ=wUV*wZpxZ^U4croL{Mv70MJ27~k|YMj(FhU9*r;n< zy|j++HPCDwuj%movp3m!VUr>j?sx@7voLK(?wa}{4^v#TZ_DVW)8l=KEp!wSUzMZR z7BFfxGOMCgQ%qsZ5=5X$Kr)?6{G#sq5-BNmP~&KdmL)V5Sh6avt@ylR!{yDd?o&<1 z9N!*u|IUz7Z&TVHiB+;UIA%IaDAJ0J#T9De1|t!vkA>WoynA@cBsN)Ey~yF=F=KI~ zLCiv@$%S+4s7g*SA4-$Yb;ZCKOi2eLR@yZ@Eu`M_u-5z3FD`SO4;fT*NwiWY74who zP#jEY)#`NGHB3FG*7fPEub?eA!3aUb4jE#%Hx>I8l8~fj3VEzB8J1|xKI-zu9|dmv z+xFWFpZ-k6;Jpw1^rPi?_M2rKuW7FJ^B3RtL*G{7bkAF0I_L+C+;eNZeP-0!Spj}dFsZ3_H`~~n9 zU|upG9;1{eq=NQi*D&20MOjJ8hho;5&MTRtR~fDE3u!(TSLR_=IonQka@pFu`)k$q zy|wXkFJNXFZp}rrT+nO|gPi@;;OU()cMd})Sw*RtC~8Wht+3KIc=d9N^@d8#h*8y; z%+PV`E|d8fw?qqy=Gvwa=8Obzd!7*6zGP*|0qsuLP!{z3!1N>$S zT}x;#w>b*u+<)X$^u>V=AJDsE7om$Z+ZT9f{@>uH$(yk_L+LbVQa`R9VhKqeaUy zz3GO zO_+?v#FGe3QBW;ac3d6T<*UB>t9bO)uj099p5_1i-QQ(&a>|9Zb-w(qZ{>Zz{u?~= z{Bxw05XqSoTDsrB>#p+1>pqW-YuDJibDOQ3H`%#;3%^!l{oDrgc`U_jtL|}ha9_HJ zn~q6W@T3bt0n$*qi*(=c1q6;uYoWu7pMHkDk9-0XhrCefbUKu3!fd)v5f6Fwqu1## ztuYN}*foVufAR){%|nbrqsSE$5g(*!(wwufu)y~AmK@(#A|yVKP|6HV?6T?(z4a^P zj?1KqNh`rBPa&A0PUkWMGKn%w$4B>TQh3Ycfih#&fK|6-rB(3xkDX_!rm+3oErvTn zfC`6sTdqo+q%#KdQ1Y?olTZfb_ZxN0qD1(g=32q6y(6ZX%i5*u(it8n0j8PLth?Bz zMOhX^>6D(T@R;ks$}L?^F6Ig(+lrA=f9wYssiA^hk8qbu4#*#BCR0Z}EE_$&L{fE)%-G{sDI-dAR+{%cH8FrzIARnSw zWjvd*v{IMoJT1=AbsOn?aUDtcE5sBsuanu!cgN=1x2*23ykB|y+lyzPecbHdo4><7 z-2R#TnVVQ~z)W;J4HLKC!K!r_#40!M>~VK@#OXL<8s>y)g6&)Qmd^FXC9bU0==u|E zCni)1Y7LJp3($0tUsw=p4UY45KJsGBhhLa*Z!e&XDy%%DX9Qg7+FWb7Y zw9(uq=O2EpjCjgL7*8CchY?Tx@kgW?==_C?GV^jWnP5;bIM}Dk13A`STV0|raxis= z<5}_mU%7aWGB4QO+LjFZbQ;lKSY>r%l_(ywx&0jZ{E&0kE_3brBTRxhquD8=!(&c2 z570{eKQPEu1d2%Hboz!Z#rk|6P;WG7^;$Ci>12N!)%RJuavinVU}g$eR7E)>Yga z+;KzXYGsw&$rWE?y-}0YoJFnVvRbmJ&w2Q2orSi|^mxqpBw}`2GMi;owt?Mga1=!h zqg-ZM&gKzS8q#g}lJD;MmUQvo**oTNT2k*U5ymlj5mED1OiN`lnNf=GXsx1|#=ND| z=3!fB)m9|>a%pt~R~W4fg{teZpADH33BNY_I6{B%l&mnpQ#i}V-OEt=+HdWt3 z=_`a)LM4`-OB=QHQA!UjwkR@_tg@LX8mzAT@Wxks=eu9(o6C#8`E%E<{_S_Z@c%vT z_D6rZe);v^I(@0<`+pvP@CX0sU1ogn&G~H9FUvfR6ZrYhv%FjRaciwaB&wAdo zZ?p&dH_Xka+e`-> zOeRtQxPA-2zeZ7L9G*-G<^{n#Wpo;Fd@_>JLi1^Wui11xc=(FX@|q`|-liu^FePa+ z!?g{Dk;0v^!zb_Od~_>i7};o8go8s`%z5)GFLADBuyc2h`^P1=+dwD8w7{;{**qL^ zG=|)*$?<4r!zd19gigKi2xkFFm1EZpx(g!b&}TN!xW9A6JgI1U78e#B>gj|HDpu-U zin7i#Co?{9FyxllKTRoYpVD>Fbsam;iNcUD&M8z? znl=O)aWERPyu2t`-eO!Xj7l}fl}z?vIzu-t$xv5Z2gNaIE-vCVyPUuL8s>4z{oQRy z6WW%^lOOsJRatQ1$`$JUo*ZkBP6kYmj}dF1Q7~b3b&18x7pa}Uz|H6HGPrjHVJ34l z9n&BR11ztBZh9=QE|G*I4v)4eiD-11Tzlnfh>HgS>mnlQ#ZNvbMLVtyBI8Oc5NMs6 z>ELQM$A_nMy4?pZ@*?HvaEDS5iA;y~g>}5OCA@l#@bHM8r*BdXj!}hS2?blVuw9>S zyFs_1vtm?S7nDgoVSUZUHgpb-BIeVQ?d=mPRioYOP#FfpBx8R(C)Xd)cEUjL#Z9>q z(e1Q}$=Ev{axfI6Bn#j7WB_@+VNsDY9nDFCIj&=}q!xVXVwdxJ&PLlt*A)ET8s_o} z_lF~thR-OSGAlwVktlF{O7k#fNik^X1rz~By~0|qQ}i2XOFmgWBgj*f%Ez|5sI*8T zgEY`6a}gHrGDC%>{*9#D{=&Js^3|8$`tE1{qCVf*dCn^E*HM8parxI# z^|R0Uvai7H-}z~)9Nc|RaOOy;)~yW;uq|0aPyaq`ycyCi;y6PtQ4U= z9`(*5EG)uk%E|UV$zXyRR;U@wyKI%-5G z4%z7RG0Yav?@#&NTld%%JaidTq)8#tZPw`4O+2NfDe^VroV{sGEOrpvO}U2|4~OJg zCcxNaWrbxr42CCIwoP87(!}H1HoaCGku4NX=JK_c=7r2HtQ;G!+oHR=3YtZc2-A>3 zUL>3z?Gp?J1d|DAno;j{S-fOHp&TS;t*jz;qq*>4a!7qzL9@0{dBrxTcJA%S*UMfl|y^ zG%DV(vc!4cM$KjjnEfoV**lp^nv+-asXIQiAYl@gjFXgu`H+S6K4}`GiyHyUm+?Qb z=$5J)`#VSS?>p_f%!$+;4bwExvx;myq@ku<<6r-08*J~tCkm2I_pyiG`N)@jNBSTB#T2uK8vKJ}SYEsm8I?)t0W`HHXjv48$&IrrHyXBBw4RNzcpzFeM( zv+HDSk+4ApDONR)7z5hoSxUSBe% zIXve0)@`bT0Y0K5s*>duab6KdF+m)0I5;NEQ_erM$ffIRC~C%J91sfEu;nqSd~R$e z90rEW&eU{={kvPF^BIPkk%k#Y*+7Y68d^lZ*JKz(90g)L+9wmDu8K&Ff|*(nrUjDO*FiB6)5uQSV6|mo&87rLCo)fR9G2Xh&p4Jtc!!ykmX&mg zFSb0Ij)9ezShmmo(=l_=0rmxX$0QGh94*lej}nDo7SgIWqyv018low}wX8}4k7yl> zm?7bE&V>!e&`}(R<;xdXT3=&4j=25&7QR=<@-=z92-u#_=OjYFnih-a&tcSSjAnBp zLC{H4L{F~o*c84?xVB7x?L5=xw>W&}c^Hl{id=RVMS6g0I&yu$l9S;aszQ#p8w-67 zPX{DPMpjjF*HWb0*U$AZr6YcdTBUfZL7WzxPE$e6#OW>wrA%~h6XFEoP=>;5O$*i1 zF)G2LQOM$ia5lx$HL7IFxsFHERaxvh^hFkDlA#76E!QPXV31ghl7w7Mse3*SHo-Jz zHW53G8k1^@UN;CMA>IW?zWJc0t}e|-2U~~o`EU3ZjtD{T_|$|6YX2BF4O#VdUfFfI zs+TlOfnjv0+CGz-gHmhB*G(Rjq~n?FHdjSO8N?Lhgu1EYJ0ea>rPdOV`-;TXDI5bs ztfANrscw)MCPuw2UH)2OP-Yr=qOv!hGB!<|we=r+#oNB;`(Mf%&5i%%hyUlzyW4+% z{c|4s_SgM4pSdvo|N9&Vzw;e`FW>suFSU&cx|TDT1cZf$(m0n#_R7DlZCrlW`kTIg z^ir<#?6GGRc)3;JOkBR)o{_WbdD&H9=Y2nV$q9FVFge-#hQZE#@+f0A&$0YAjs7x8 zk)o>+^*UH~LZyhkN0AAr%295jdX&ve4!bzaiYc^$SjLgzp(x z3kzuN1&UcLgR%|RqSICKqEsm{2vh)SFN-2rhB6V1kClR4LV=UH(r>P+eP8a#h+#JJKK zL?(*qkrs32MJy4HktS$6HQ7PzIbyfcqEK?ilNr%8p)53n+e0-}!eUI#F=(4Er(5?i z<^>xI3v_B8pSrh&P}(CQ7cGZ*5{Ok*+P*K%IuAzK3gal0-9p3G$xDH+6pZW|TBVXk zDOWCBluq!S?M)0trPZv{>vTCfIwH?Yxk?~d+odUpLkf%Q=jbl4a(XgiHje4`78oTX zMw0pJTfFGzR27`clT1gF_$7)&r61y!)bvpF?Gp($~c z6}P7$h3&9*^}5{W+_~`-+0H)tEPRl=Y8JQxSExXe6chsNBlzRGA_m0|M&KQXH$L_# zMI7+-C!di-B5{)c|jm4g~97>Xrhh33_mSeS;g3g7ps+b)H0X4h>g zpzq%~WN>&w!*=MkTzXvx(ZkFSkLju<=UWb!+b*j{g>9EqZHJ`c68D;NZ#4~78K|kp zCDCxk>~t)5ffZqJ%5n@+>OM4E3Wi-#I)+>!CT(DyL-o9asG23`})V;{%s$ADaZcj9=rS7|I?Mx zjraeNl~1~{SS#r)QZ*NMwASkXaPcYYUn!42F4t7gKF%ue*<67$arxQ&?44cvUs(mJ z_r6!#F+TNm!S3!i7PH8jPQt!oxg)FB`)$A8xH}!}y?b(aceQ61^cpI*ljHa*s$ED! zOkP`~s$KZH{^$R=+`HWSH{bHR;qJY+)>LSBI~dE0(C|gzBXJax2}iIFwqB7>MkuEP zvZ2UYoTCdzx)^)U;c!3Yo?UKY9cAU}h z91K^NJWqDUvQi_A1%aiK&hVs&WJl6cY#DiU?ebMQ{uXK93>>_bY z|I)e?wRi4r;vo1^9=3bPM*BZR?vCpBVn!NajA7uN+ zCozH$qZBk8K~XX(1j{{&F?5f9y}^>L;l&f)c%jc)-GMYDic&Ur2b@eJf}%okYlMo} zuMEhPkjC&selg`gNPSlH#Qywx?1pcqG0p9rl{vqAX3)K%hkplpKcQ6iZ}I)k$KUv_ANi%1a_pb>*r(q8RsZH_^M$ty{O2p){N{I;-IZVL zzv&ec&pGfaM z_l{aIX0dDHcNJo5LSUIhP9Lql@t)-`_+P(s_@N&=7d-vZ=e7CB)pCvQ`YP($GNmOV z#T8Ud&}u-@73s32EMYz;6Jylb3=0)KuPEjTNB2)T+1jV0nxtheUBi)YupN$Y>Nc-_ zXoIF#XK!!Lvv-dfWHv!zQsgF+c}%Wq%nuGRPWJe`iz_shxpXPtjTQdr#a&{hNxjyl zrU=oPF)m7Gz}&QnvVtniq=81URf*a$H3Ll$0<#>?b7aW*(PYfYG^Xj-Shj4I&5{dR z!g8m{sDLM5xXX=`0I`gkX*Q!GB{K!?(jvNTz!b+G{x++Fnk~8A=!(!$btx?zl5{2NNO9Bl#>Qiv|!G3>mFJX%K-L; zZl5438SNg(97~dbrCyWOl_j>e_lR{dvOR~h)Wzx5NxR)ji$}#U%fy&IOWzeFQAzo zk>YVQjmRjmYfWOo_@0cJr6Ia$;+h7gR$-|s?OIKS_y@B&)A5L+np105^t&EeC^+#Z zN2dkzae`;6taUvuFFUN%4K|uBX_P9J3@y*_ix}I{sC#q(~zW zC`YS4?)Fx{Z4@({&*Co}?(cum>|pnTnan&-DX?_|&8omtu{;aYv?YybhQb(w#IB*% z7oKSMFaO9xU-SKPTJTanKJwo8tW3uTU#;ub-7o&{{_$_Ulw&`W$G-T_zxTg>>chYD zbLX!v)vvtv(O(Q&t?yd>+#eWxCdZyV=Bxsr4HY;Om!A#K(%ChB)>Pp1mwxc;2X~(S z7g}^+bQVBq#VAdS*y*6zOTVuw3;!fN9e-bP|GEFFWhm&vd{A$quJtJ#7hN&X3Xs_uV2Em9FF(L z>M zs)|5}wxlF44Y@lw%OlAkueqN5!LLRME#Ifv^oh%o-SJdXa>TCUMc<+yowA^mtOz%D zSn~c)-{!?AV{W?ar72?JOt|r>M3@k0q$p}3UBtGcv0%1odJPgXf#RkLBjV|t^`#|T z$L3@>U=YrjSGnwpCYnj9o4BC77f>9X-i3?!euLrG5w|~b z1M-qatI4D&WaN+6XkuhJ@y-@ino_zxwUuSknulHYWf=ZitI5t&H`spq8ETe86sDA# zORdqSj3UNIJJ|V5(ul-{{C;6`gV;ZD7dqIECs41-0n$) zIvHS;F}0?HZ`)X2UespNeNgOVp4?pZ{pr}Ft#6%W&Gk$E1a?a0ox5Sgl8$6HwYSIw3FJCwIP z9t(q=Jsw_VJbZmI8(&JtldEwuU(S`NRVjJT(oEZOn{&OraI5rNzpS)7e{kU|fAHp? z=Z&L!{BiX!YeaqTSATN-sSo|;vrRwon*A2`;`x7i{cC>q&y|_^=lNRCjyNXYNzH@F@nG4k66&rX@3>4$ z1+%||-R_~O9%v4zI+!}84rwr>noiNH9K$p~WEzStr)|P`M1J=^*(dIh98Q_W75mAI zNvFhJ^jPjRD6^bOvppLr$WCyGe^DZtfCS zEtWccx?jo}^Nb_SU|gxhqRS^(=7QiOhvvC7s5C5(p3%h< zqjS4rG&v=nOj+<7TwGq^;NXD!!vj((##DqrCC0Cgi|02nED=!@OT&}Z?9o5B#NF-Z zSiHD~y}XE`+Ke}knA|@^6>M@%B^UM9L}yu;l?n(?K^NJQE@r!j)9a(T0+p%Kv@OP) zx0!6;M-Ma7ILGWPv2o>!4C3Fv^9=d%mgLimJWVm4*Nhgb<&bJ%dpZkUi{*BmolwbQBgI;@+RwV`?ePpu|x4$@bTfF ze*2L+y4UmM_i~5DYma?N|E-VzyU&74KfA=U3jC=RI1`tDYKhJsa8`krUV(#OdHf54 z{ZIY2UG2NRmq|e;cN}Atcox!Yiw>GD_rroxrL}&6T4xDG$S+;s7Bw&gOFBXo`~EY~5P4oOv?CwFpw>m#=r#tzHfbF|7-npIqBm}y9S;{C~-PaI4b zs48m9KyK{mx@3eap%~ZJ4xw^E9sp-s$j2oM`*$!qL zWeJ97qkDo`l}l>7J8&*$;sY*#+$cbHj~b7O|#Mb4xQCy8m$^Tx1J{0xef75 zc4H|O9LLtC7i|eY?YdW6ep@cf&B%+Gv zw9Jy%ZZ!E@k6gepQug)_dGgb@Nph1cbSMjv|7gn_mrAT*=8>c=DV0tf74oL0az#AO zoQ7#}xxI)#&A8lZVizMEBgAf0G<=PQs$z;80MY#{LXvnuu8MBGinGwc-M9$74*0gb z5kf>L#UVu)Fd0p;bQiC+2#Q5jsZ6I+qP(KHe2$sZ#(Ma3zqRps-}N&u{X6jGeZ;4K z|0g^@-2eAIBm7)JrMmUZZK(C`E?j-Xql;hm-NDQI>d&t3tO9>}1WJIj9$z0Wc*B`I)sHL<9-&;ZOF{TB&(Rt=9nUr z(RK*tGvetOzh+A!j$&&VO&`>pDw&WUoMLRA5^o+bIXsb~#PSWoBF1cVWc1G@)d^Lf zodkkP$23jpUKTr?mseUmcC|%A7b0!U$s}WI=I}?)pYn;V8Aa}}Vj&kX{MrA54RO}2(d+#3WGs4Uew)Ge2AKE*N>X~Gcuhl2j%84e4kMJpTgW!F1& z$eEwS+&Y@`v0==OS;9UhvEs;Rp{z`VwFeP+)U;eWwvU}lXe6bs;#eBRe8ie#^QBiG zVYR=^Q@gvo|JkQ_Hl8pP6l@jQCDv_+DpMq>s1)ZgbShmTu2SrVM{`l^M<&GMIiBlE z=eXTypw(*3!h~d=kpv;(bVl75+;71fw`kNC=(M|3mBPuv9^=6tQ80!imMnJLsmma9 zrK*?=PAG#hnpO#22}O)i6^MHU(HTxF&<$VwM+T`^MNTDhItAJg6T{F@1eCo>Xg37E z9_lp_<{#0Z;ME(8y!q-nUJhX?bXEMfrPt9c}k@yvV$tB zDqb7HRihOtJ=f++yUlV5%_8RX?z8k4P1dh2%h;h>1<80uDl#{kfAZGZfurwbhdbo?MtrNKx}S^LfZ< zB4)1!4cn$;raaWi`0~fDqf9eCb@MjQ4`QAjXFL;R5)UalxMDL=ATQNCMJp;=rjJ)? zsD*;#xoCMxJ&);YD(Brgnq~7sFys08n7d^p6vL5bCLxf>!v|eu(U}xo zXvL77Nlnoy(nJQEYpUqVYN%?Cl1DOzN&MDC_t$EWiwn|Jk|d%?A{jOBXbzfbqG}q7 z*fmXOxRy$*=1@0aqv>#^+oYMrxQcj;A=&UBySKwhTr!Hp?y63|(H4_wrb6tA%M)E- zMI?x-GUiIBz)?!fG-Som=#?=&wV-1aTsgl)f3;1X&e7wLJWbFX2fJobnK8MYqqI%R zg%-y73+SyrYGsm7rs$%38BGP|2*zWoT%}43rY9LuDB`^w+Uq^I)JJ4{1y1L1>Mnl6 z@~gh>_g~s~-^=&WH$U)w?^)7}Z}0dnN~?Ci8t?1H-KUoCZtr70^hIBJ;mhCif4qFJ z{_M)mD)5tm*bwU+-AxSwb?)B}ZHQK-Oz@XrE(n zbjn~hLGx^E&!yX2ltN@Q8cWooY1=4jg=Q$SV`W+zj%%Qb@oY4fVp0oAlq4sZPM92> zqRvBX%_1pvRHwzstl%_**mI?jEyF}c=QzH>>QbEx8$P~~Q^f&cSaKX_+_*jD=3c^c zw}s4WV5TMw3|6~+#*+b)`J7bM@wyF4H|N&D7JKuIS(wrgVdaZGYRwvD7E*>2vNR=1 z45GM@hmi&c}_A738RXqw@>)!(Tt5-Zki%-Hj*^E&lMyZkwcMAH zM`DEhilr64V0oQ#JmkgQO%6!7uP7W=1qaDoSboTqQvR0WvQkk>4Y5Hf1Y04K9EJFN zV3g8TRqh`arEp&x=#D{UXk>W`K`75*i(vUkh)ZEQ61$-$6yi_WiUffxl;ToF5$DSk zIsO(0izpvWtMVWH z#$)e%Nl`+7rf=B4CPZc}AXB4|WiBmFdwb z;qD)3@TpO zoUn60L@hju5Ol>Ns|vY8*=*MFYZj`Va}rLORwnx=L!uz0(X3Hx)NyqMU(FB`K+R|{ zi!#R32}K^!Z<@3OPuw)ADGIiTHxdM)1fINiz`b!yg2CcK2glM0XCt%>YFQmsL`@qx z*SZV5?c8Oe(SRE#+YEe@TUpB1V8|>EWj8Jr0#XyQOz1lyj70ZRFn-bpFHbRoRyER8 zSW3kBS(lQt5|T?7d#)vG8%qSUG1JjhHYODX1X!mM*C7Ney4;DB<7Odbg~(LIr_*JJ z?t$=p-~-atQpWr=oEn{an9hOZ zUoUsP{{a^FE|LY7WNVojue0p6Jo_u}F7xj9eV*TQb33NJbegC%*z1qT%YsQbQwdAW z_5!wLFkg4oBsH1Fs%fnZNq~wmP0433ne#P{Ej2iGyvseO*3|EZ8yie++(IuR?5=^` zb#WIv5O@-;PO0mdp1c+va@!_o%z@crc5R#SjcxR3N;2KY%oFCt(6%N2+oEtBtfNcR zA2N#?Hp(6KN0p6~sWpCzCE&9{AdG>aZKb#u>c_@8pp`iIYa@$++i zUR9O0^?Tp<%}&{SV>sHnF9~PYGunj!03ZNKL_t(4CCY3y(9?wC<}E(`_$?Oh|BA0X z@#X*QSNnWhV5cGN`34JXZRQtRXhlYv#pJop zFsit?IpX?e%(YuHqTJ{DwO#fH5xVPP+a`5OXJw&Iz2VZEOqgi_d*hV7UY{rtEgvkm z8yxX%8n%Puwp3!y-k{GY98nnsj%hGgtK(N0PBiB1(Pb99^IW>Q$)~Pv^Z0(O*qV;t zP%B$s_h<{k#?%>RBm5%g)hnm*Op~XQ9-9E zH5LtRQEBL!rkX=>M;C&NlAlTz-fGqeWr}MQoISq8@wG0CU6;J0$LYvMAFI-V@ zb@NCYy&GUR>tIU0yR7tUXm0R__bm}j5yei*-sNrL?TN6?(Y=gz%f_q{`rF%>B7bPq z&`%zrcJEo}ddlr@q=I-YNUhE%b${`1&OP|1ryu*k54P=S`)$!+=dZb%wxU(#)O7Ug zx>d8<}G}KFvmlTCIg=x+-GPs7eNd9((%|ubK1mS3bzMe(Tp_ z8W~%gHyQM&eEg%A`N&5vu(=_&A^Fjjt}?A8ExklDO=Z%lN?k=$3M9us8moX~i(O7F zEs!TExA!KDrio&LPQw{_no(7<{?_n)pR6n?%L3n#>nfB1Xx^)M@QBAN&M&c4PtcM* z+6{-avbZ&}`OObq=jsm3QU}Wk6j)t!lm-P$qKC9B3b{B*1u`?bZ4=K(m~R-o_`Wlo zIJ!t$&M*U=NikK)O~P4~{Pg`#d|H{II``j29(Wk8OQ}2PdL7Ma$VeH&5TdF2qBFZT zq}YqlW(RuC+MJ7jq)i#_v)9|kvK(q_%h)H5!s%7f1(nvMG=dNGljKuj zG&pCZdoR(`VO^SZdHzH;BFxn=Z{?M{_Al=KinqV*&-fO7&VTL64}AZ(1*0c_!i#p4 z3_;%aQQ}f>wW)V(CgUkjKX!xK+_?|j^UeSL3!d`}Iy}K)1wIQEIBYII3q?LW#b4YC zguncwM{a%ccQ5JbhP$%XCbBHbG^3uBq+(i0O1xGJyJjk#UZdd?MG<*YD(H7%dIa+e z1oNGP#2!6^;Xae~8wkS0)&;5#(>Nu!Em}vGA*jLTF7f&<)6G7`RN^9C_D3_)z~$Wi z_h7pwn>VhKOhbj#u>z0I>Vk*~5B9cU#B?SZ={CE)Df{Ab&n&KOP1%|jeEg~FZ1*Nu zx}#v}r`P7yN_lT2lQ&(trf1VonPnP|&YV%;l4E%dYON-fl`{-8c1JmRWiuGadOxJ@ zB&=B>uUrXu_~aT^0Uy7*$#1Vmd~7S@rdmDMacvF971UCxnnYbpIdQ}!iiiuD@H(nd zRE@g8&NG=?O8a-P>`sKdE?mx{B9I0}fbB9>lnG;AG1qK!^4L)YMPI*th4FNcwIlO< z=~upn<)s#*;U42j%6otB2|oUbi_E0CSKucL%d|-)+*=n0d!<;}EMYWB$n%^`T;eKY-BMZMrlHfYb`~bI0)89t5`JCXrSJw(r4g#^lBgrkfiqpE?CckEnHaA!sAbMbiQt;j{{$X)qw& z-6GoDCE6V0BpTYRB%DoD1f<*X2rWqL3cJx@?)VWji9z*ja#yF)N>a&{&!s6BbCt#{ zl=#X%x;DhKr9Ls5a7Tf(^q5v%H2=h}-tp=m`-ONTwhnt=62I(&ee$~W48NKG{>RdsiWBduRu`0E|xQ| zVkmcdeX26X(PnguK3{aK!E4T~QA z4c+!?iq%~erCOmUWsYRln0ZN-r2-|Ac_M`=?(Kq_d7zX`ixS_f)2g?ajHXJuu+Zt! zsC!JNL#C5`8f~9e+huX3%ijJrmG00RRXllRM;UW;%_XT0kU_a>WaZ;k8cz9-EPiD| zE7y}U*A6(k*k(ScW1AM!GG`QKZ0<=G`%E>HNtNJwp3*{QX@PI)bgT-$oO1868n1iN zS&n)!R@}!Z44msHoIDor zqWf0qxFZ5<#vP{@F+2@j^3lbBWJp((P)$SjZ{JYnqownAL1T{8se#iVt!%W?#FDh2 zID|o;+2%U6yri5&n57O$K^BErjz+4LlLLjJpw$GyAXPaC&$Y@)1g%hNn7N@c z_HT&CRK) z+F<=UquvhfP7S}|qB$03x1%(kmEiaCigXk*-tFOQ7CXCBu53jl<~%n?8lSpyo5D2l zeS?LDK^{(tW0-F(p_LUIx3^WwPOIBd(SL(s$mPu;qcFvA4qVY)aT7Oc?2m^`#{)H4 z>sl%I&O1D`)?`gjD5Hc)>GR0uj9&&JRy`5dv%yimKrcz6-pkDXU z9gV!q$aR^x>TK>!m?fgCG_Va{eQ}UxP_&csWk6AiWD#AYxSFY^q?VD>Y03)PWWLr? zPVLmt8Al1bgBek#66RH7tlOGO(2;Jl?HbgIh&$%sYro_nI%bNUmJGM|$ir9}buzuq zqzZU^Gvw-Ch|yT2)HJG8CV(+#jx5or9hi7VqY1nFW915e_`V~&>cyvVs$J&hbex8U z*YU|D|2wbna#Kws#GQ%}sJBUxj<5v-+As*y zzI+cNn_0wJ3$1Z??zQiJL+b_K_Vdq|52ee$_tRfig^&Jx%N==+5$}XMyNm6r&R~1Y zV3N{0diO13_3RfezWRHvK3}f+@H!4F@JuUk*jzr-3LZZGumb;^3ViBq|L3pAHy-`s zGe>K*m)qz^jvP#BCSyoasEO`u#$+^5Mh%%_mAa`ka+&4e%`HG6v4SRP8enMS-fBiYZf%o=`Y0c?wMG-W*6Ba8-g<^o(_ zVkI>Q95QiEJ9XtiFNZUVNr*m)>F-BeyfJ2HYSS+|tnbh8TMg#t1I&DcQKdv-fnnIx z-5O6keTls=VfpxRYM#%ntsYl4C(JStj|%Q5qv@Ljfk!6e#gm48flrRW?De#^3QY};y7l1udmpmqEk#`VNe>>8#OFf@J=byG$zVY#>#{v z4tkrq=rv{1C|TxdNEC}PD#tQx$P0YiQf3*?u9)vQc(z46l$vEkWkp))L^AL+9mP2n z)n-;@YQkzsBV0{6>KDB7zBOKQx{Y5I+};?`+nb_S78Ndona1|GU@I)iWbGQ%m_;G8 zaSz|tIC=aCmQk^{y{|Z@rpOlTlDk%0+b2sC~+ARla?6QawvDl1`@_7BijVIAE*f!=-ay?XuZ zKW&|R>Vum0HnHqKFMhV)_b>j2U+%uiOa?F2!U_5?+o+PG3 zbUJg`x--7##6s!;kfvq-VXDaRv~cv6mf_=ctsM7?-~Hs@dl zhWcYH?rDjVWSBGE3dv#(+iRf73Vk?*A|lo@8Z8UgDZ$st&59y$se(2|ZeS+`X>Y>l z))v`JV{fE!YrCWuH|P&@JYAz*H)+>p&=)g_OJzjL@`CGIJ8Y*pjfHtkxxQh<)-Yo< z%~T`Z@GY`L+-VPjh!RxYZ=l7<*p;voxW%zdjJ?r8W*$9a8{^UIH3=K}-S)1(12 z$aRfU_>`te!?Lj?ai^S-WD!X!`RQ=9-l6T*iKdCtVG1fon!p2zrI=+()d(7vp>UO> z(O79UP0dv6SwRyyx~KS)qOP14DRCiB{?AJ)@E7UuuFsyl)We|=)7k=f4 zV%DP?PsyedGdiQJBt1Y^0RXmNqtYd5=m6g&x?8=dl!;35y0VBc7n52|{k~=9WRqQr z@fL=bsMyRn8-qS&78Ypv5^m?-vRHWd4ViiLZT6*FW`+77RIY|C@)Oi%+S` zzwzVFT(tK_JMRCh(fSQL?)Qm?A))Q0^DlYn8;`%??LYImxUR!<9#-JFtiWM&`CL}_ z@YsLhEAYrW-t>x%Pk!wG>6X#_Qmd{sWs`hBZVc!y2C9LX>&#>0Du=kBdQ7j5GruV8 z9R-pW6`%ZZmy{N}sxT|jtxd@WJ?wCzrj$id&`T#+i#5ECr#6iO14nmYQcw*mqH#tz z%N5@{C`88>l3UWd7Fb$@-Ev8U{nD(F*V+_?ft_hsSw*rpB%M|44=bLyxW~_#2OGSLl}D0k=&rV1k8?bOs1Z>F$8g@Sn7 znuBA=%2;yPhnUfjI~VKR)p0q}Zct$J-p8-;yIWH(h9yHuJ(6UZ(n8k_Y;kMLRFs4y zPXs@y?sv%!=z4X9wvon`K&E8}FHdPU|HwdN2d;FA^oK)rUDE5gx`VWbhOD4n)IGE^BA)co^Nevc zB6V~cN0(`wID+18AT-da=2Fd_qBVC4t*k4ZFU17x6yhC{{uW7ZKrsuk<+%wg1y?sb zNi%XubI}kVxalRIQ;eD|KZC(DdVmcxo&XoSvYj!R!pF96|R=(w5eef^*hvZ=aJ})b9*j#>IKCOQ- zZtCU-ey|-I`Wa2L*TCbBhrjg~pO1I`$)El1hoh@ketdBI)`NLAW9?Xt#iP)fKhWYi zhRv)OGZ~~b+bg)O1)TY1GTWhYB$iLCu&Med-d#=C$l{QA+{X>aDxpWqOU6Zlz0}0% z`dIRd;$JRJNDLTjFieQ^N;NrJE~~^Dm2DHH6RK=TeLf(ya*Dtsuho^I$gV6LP11m5 z#a@vl7T0d|c=XfPi2GB{Ep)i+$Rb)i;`Zh?k6qefXIkQPS6QECJhrh9j)#%SjM2oj z8l;(M5ff^4n@+1vl;!O9BW9^Mza1>ipk*2g+ft=dJQ9x7bnZE}%92;(%H}qY_h)=` zbDK}~N@5Ag5!patBJxC$2sZYw4~WKU}k1SA{`LBk3>8g2djF~ zorY<`#@;Sr97~e7%1EzSKDMm44TDh_u@{eth%t2y(=pLh`i=yySXh>hVO9$DBizh9 zt4QO5Jc+5-9hMjB__i;=iA+yrT3EyN0;REx!;m~qDW;J!$1DUI_ncg2x#g&- zUNdN@RHv+FvMmUxp|JF2J}MJZ$qv_4lI0`{8O0@6ZVyN^O|AKtnl7tNi?c`Te8EG< zF`42T7E5=YRzQBXHyCZKlS(#vnNj&V{;?%$=gz?V9AQ~0*>7$(aaZodZ>>S95%%`f z%G$M3^4?8`>sPVE2tCPh0w1f}0bB93lt#5I3JUXJ9WGIx(p+kCetB&cg&Y#YuTdHm zhMu7pV~W{6m6*4R2rY`Rq7?atl$af&?j6jIKKR|M_sqXt(_XJEy-i{m=$GZH`hL5FCTxW-dO(6 zcfbDIrqA{H508IXfzMS14x7u*Rpk%Q`x#f@BR}_@-`Vu4*S0&&yDC#}m747rIHR-* ze(KE2zWM+9j1LT4eAkc6`B8YcVOdV)xUoV| z?iknqUYf0|2Ftbr%0a>Q#u&@)l9+Yc$4}ueE|4i;b_o&>7)ChKTuQ@PE3O$ zaE7nhWHM%(3()H>hNCH?i#V8xG}6nvMEx1fdC_pX5Dvvstx{>C*_2$SKy8mQ(8+xl zt=&dCk#?^J=-hga(n_3>>WD#0sa{cy<3)lP1j3%+y=EBaH zD6P=K5L=VxEFex2N~56B^oipX-F6tonVMATnyK909m}CED`G*PXCYlz=gjgvU7;jR z$CNdni@iP{ymXVBBiPMRSv!^Pl8AAHN}+qQB9&f}j@4wP(P2SW&+>;}i-@vVCFH1y znQkfEj%X?O$0K%zeW^MfzeUY-@Gx*~2ix@+MKf;qcA1c4=WdqEQbN9x0Az zYV9trZ;2{bY{Mv`QL|ZGtOHZxXhJTN-k^bLiS0$=Crvd0t+EuSEU6{~%2C7vXPTT` znODS1URu9=YSTx0Lb1?q_ynKZ1R4)q3weV`?^q`?%kkS5KgyvB3YM3RsDU(n>>!~CunYL&R&`}uWqg7x^=&wl4?_I9rPkCR8{J1eVmn65`$ zK$6>}rT?oZU-{e^i=4U41|_b)%zkX(9XU#4bwz0@wW1&!42T8;jLIMo9j4<@renri z*C>YrT9q_n2AbqMOBS|opo`|RG)Zsmv-1a6$tE#N$B*DIw#dy?P1nT5Tgh5DoGSgH z(ejn%(q3ADMi)}yL5ji0J4lJq1d}9apAJUin7(<)L-#?fvfZ3R<3R=Mdift3|%)2*onQL?{Hqav_PI=-#4 z&-EhY-03x?)!gZaT-qG+iJN=ejB_Ts$3)nYvOu?Nm0qM3C1zz(*AEhA>aKwo=m!vW ziFT|swVEAIW(=blBQd~K0vk7&Yj^M^Nh!^+bjHsd^RX#yCW6J(I`&Xa98uw{?5ORKYdychbQj;lJEYVXL_u|#~)VUxvIcnbNO6V_VBpR zS_MA#tN-@I{>3MM#4W>fS-ibmF>XEZ;5oYUT{Zcbr8<+uAgOAnPp2F} zt85V`Hg0W|?LmUGe1x_*%WYXlX9`9=+S*oY@#exJbXrhlL|fMhx3}<914DPPyA3Me zLG!EwF!+AR?MI$w^wc&U7OmwDos-M3C?=r@BauBaYBD+r$5{0`Rp8+rKXQPH5ofnz zNg8OLq`xEzL+)A{;c$ejR^}Da#V47p?@>%0ip*m;*7@{P>uiiAI zbt+#|jaM{;{o#aB6=OL%Mi$fXY#OyD)6o>&w3Sgu!1K~%%0AZDLtc8XDECZ49@3TIrc!E3&!noDu^yMc=(UmPT-yf7G! zCd$OMup-T5NE*)+NW13O70)pYV`@Q@y6;g;Mx?`a?msohJ;&!T(izb#WhADZ%4d6$ zu{Vk^?HbL%#VMuD%rLYP*R?SNhrZ}G1ywYjprsmaGUZsHbI)2`O)b|t0oicMt!vi^ zJcnT3#hBM<@nd%_YPM# zdSBZ0lQY3|zg=9o{^p&l>t;W!@Xnn7q0`^>v;UvG@@MmXF2}m?Ltpdu@y7bM7fVYQ zPCxLXmoB~bAIzTVIezySe&FAjgPm_%TweKxJHPCE|NApN-r?g9EAU)Y;IO%TE~~cd?(B=+@CSd| z1zfoBPCJO>Q(2~Kr*GL8wbvi$vi|62^XI<*(d6l;?_)B;uxuulgMaS)J5RjfAN}=b z^M-bQ_bsQa(I>Akx`LGt(RB^4eH6_R=3j^LIAai39J})z)M_vmcknGn0H6=}B(iWUz4?-wN1A=XHfn9(#M?ra&{v(lhpq^fa?wH1Et(RKds%NuNKj#{xh(iE3dT+2kW47Dyd zT#qU#@H134wk_BvS^1YGBbhjg!ACw7#fwuy%k^+&>T1{oGQmw##^Hpin0ZW7X*wm5 z$HGOJL}gx*mnoiaP;WJu>vX7!ig;GgAB>38h{jxSz-XL~IM!WMS>~fjjIJUgAh&f?Ca9#CNf9xg zg@lushL-d2iFscAzzNPBtzk+0cQj@D$~xhVDPA{V@ny^CcebEzlFH<}Xka@6H+Lus zlRTHP<^o#l2zt;4U6`2?L#jhIB_Hpr=ZLt+{^iG+u3zK$>WYX_#py)mIOK+j=?I=F z#}r3+dEg=!bDN^S%A29qY+o`>}gw znz8)QmwfxPGHLweyME%~>mT{851&1I_7jVzUh#$VFaL_eHT!e@Bpx3B&s~AT=JL;7 zvcm^_HY-rQ?QQyR=U2C*Cm)~h1_h@cI)=5N;V+w*^%_OmWq;-n8uJ%Zv;Cd|?^o=$ z`To1_e!UEz)Q_ywFMs$y{8jSV7uP-Wb$+8cA6NFr_oL*S?|$GLpZufWyZwtl^7G01 z&DZNmi0!$<$g&^RR*t>()R%w9v+C$vfA`xuR`m3v<>1m0Ki$JLHG-8>uy908hr-U!;X$@bdKH_@5eT|K$pCAuIR!*P6K5>VFY@5RYv%MXKz!5wQ4Vjc_5LIw%$juKv zMX?j%mw__M2oA>RI5=lp1Sh+S9f;(U>oOGDqsj`pC)QxKLoQ({nRHB&X=5BrFEs}| zpUMqX!|zVO|gm`XfDO5lPNNjB-NDEG7BRul<7sTMS$t!Bw|=4%1ELFdliV-pyB$| zY?ry9LCf}3-ngvxOUFR>baY`c8lq2?2CQTnO~Abb-~m z7LISBxv~O$Lgk#VODv5j)Ca5&n@|7n{6^LJ+mxL6vYmrAI%>5m#GNCBO z3dE0IqlzU0RowppQ)hv)bLu1J(wVPop8A`Y|Kw*?@1y^%F?j#4UMOzeSQD1!-1!%M zfA@|5;h%gqKhK`6bN%}F{gqD{8ZS8U@E87-v#)*AFF#wyJv`1~1)i-695$EFRwWOQ z^PE)R)4%n@!RC8E)*oMZ(yrGH?)XdhLMx%Wl;U^ljH`Jzhc>CX`unE6^ggZd-t&T& zeEAue$ZrxTn%Z-(z1jp~dmDTuQhh(&;w&$89h#i>-RnX6wUfE{%(RIAYz%ESH z#8hQUWTY6&4VLda4rT&+Os>U5$y8|yos~tX$pXGok$>-U zYEr5RTv+VUZQAIzNBPt(_8z@SqpC69pR%zx84A&ZgLia>@MXY&v zzRhA=qt&vBlT2lrZ*C_{W|f+%rgAwl9!w(^TsYnJINdQ>>2}%J&-w6$Yg`@A*ef)) zrYT{eA%1W9mLYsf%!f>8tO_#M|!%2Z<;hM zm%12k%0m54rWH)f5K|oPPD9nEC@ZourPLC10j3LrsT3`#g#u_+CYEba8I{st2A-=L z*tX<`YXx%_G^~=A7`;4`%F!7nF{4b3JE3yK`(6W6lf3Z^OKzela0`1;5!vBIK9Zr&M)AVJ*K@|)I5vk!U~h#go}^eg{ENT(M+T1xBTcZ+?@DpH_pt+7C5E;7k{qM7kagIV#z=U(=8ANg$G;H`JP@hhF^ z_J5cSZ!O9n+E!b5 z_lofWOUFzrj6u%e@-Cw*d)SGAp2-w4#}cr1o|5?ni>H?HkF>yyD2$M>n&LDZ?75DN z^VAxgsbqHNq*_F(Rp_NC`$TiMLT&Mw!oY|gZZKXai~1}y+K8Qa`p9Kw8zUTC_J;{q zdnp&zhxAjI!tm&J=kYv;@o=9cO(`s&cDKpeYJgw2*%^+xe!Iu^eoj%jgmFTcO6;QW zBn#Xsr%A%HTXNsoGu+(ibMewOTCEmdx5L%Zm`~lpg34Uw24m33{kgrkXN2$)vK(6Kbx7tATH1EX~{8d*=ct*Mz7# z#YiHB{BgT05NF(2-{SbaC*h0-dZ-8idFd0y0d{Q(tFwUBm`C%MK-T0qWTmcHp`t|< z{%SE9Fd6UTNyH@?;oc_6-c7tR!Z8wbvm!GLEZ;{n0~NCwO@_Gj07Fb_Vw@^W44LH4 zLbS<<(aoFePj^^);YljHL?4f+$rM_mPz{GNv(XCcfF)Y#q>0AONk!v<*L=s)i~jzP zsR8sS{-ZVC+WD5P4}I|8I-4WXFlE;AXgv7PKR^AgKlawo_WSD5AN!4W_1W7c zrDXBtFMRyWi`L##_piNqGTWu778uRye~@WMf3hl(`k}fEOB#lU@jAz9mYvD+8;*$Zj^cd{G~5_ee|5(%%5`bTfgxSPDQ=-w-%#~ zuak9R-3w?hE~9nliPMCw{Vi6Pma!{?bedv&O%SY0nNvw}ir{LB1WQYZXFYX~0zNk; zI_dg|*~XA66sDp;*fXj)Cyi6Wti9uK3U@iPC*yH>W<|IxwjS&|1R6NhtLh zxh5_do1}0sIw$bgPNBw$rcOB9X0W}^oMzy-4Y6m7Or`_UQd5)6_Pm&p9Co6dTl+Hxk*Tmd0$rCCtRXJ>JflidJaYUZRECx$ zFR=53({+bqCyub^!Mh*5#D^}*BvV$`0h;7; zcGrnFuVTgnoN7!}hROl%G@F!y4w{C_NLA}}FltTV0-y<* zm(Js~J@hbE1c6l8q^8R>lvvFGqbR8ofv>~mohgm`Uj5U@{_+oelf316@A;AM8b0#= zABwJC(`%7US*x?Z*iGghddZia{F3i|R&)nceNJZ@Bk0U-F6WHUqd)2F6CF;G;`cGA%UHLCx^RrI8|F`Ta#|vz{g$1mI4pB5Yn4pywzTX75 zML7-0vIwW!md=g5NYKg&v*9jUnc?JMmp)7@*q^CC)(TuLEXlz{xsJnGrc6AgTM=|@ z=8n|RnGZVFQ*`cu7%NsSOBaVE7%wHo&PY3$XLs?p1;h$5L#&W33HF@elb z#u>AVHxweL(j6w1$F2Q@_1%KKz8t)!vc8+XMifp-)cRe3lNqt0(<@B&;)-$QsK@6; zMwJ(eCFzg&?yVWjw@mUmpQ}m9e|_&oE)Jm50>#f1UZ!Y6 z<=*8nnqexGkW-i{s!=AFvph!tNiw?>t*LG5lzGIW<#X@aF{~nE7Kd~f=DEIkn@Jd> zyA3>XxW@^TSX}NEreiQoCZxh+)C@YUF3nnlbe1sf4;2i&p=F#~ZE*jI1&()XbUj;5 zY1jJ^>%EA*)F7@55}8KIw6@{VYPjfHsZcy(RuWLYR(j0FQ>K$XaWuuMQsx>KN7^P2 zzvwirr4qMo5G=GvCo$PZk79p{6K5*^l1@Ocn5oS0mGa3|D8>e{`t-b)Yu6Vmi zGLuT=5w@n%b>vHmZJ5}S5+(f6GRJBL2UG9<7SkI~qE9xlqFu^VR^U2TtwEd_jH3*{ z*`(H)2REQ942rOTC?$`kRJ}cRKKThI;U1^H@CA4ab+jZWkL5KdS_f0f3|z-Siz8*! z(h8faTT_CQFMNFI1rNMB-{_sb^s$fsuC{a2>skg)ugk8?RnMOL!IOW(e#`SIfBet$ z!Sh=`@^$YV^!i_Q?_YlX+Ff7px3>N~k3Ia|!wP&hDsb3bem1Inc#daOf%m-St3Nz= z^uoi!MK+HuarR}$dMl^nu3<|2o6BrBCEoW#Ep1(Bw*>x;4P#&H_F~vbIkaTG-lO$u5rOe8LxGYqIS;;(2(-Z>gM5oK$ z%gY!^!gw@LF@`sGcNs=8wq2**=qRn|ES@Qoy(G(IWGc?la!fj{Hi2m}+21D~jH&At zcdgX8@60M|U4hfbN4l+wLr%+r}aga*_lATA8$a|~+c>&94bvC5hyh^(BG*#~! zRkDZen;5pwEHlYX55K#J)tWnK6s2Q~3o2?vhQb2jH*auVtj z;;Khkj1KP8YGC^FX!TVJe~Dh|?hc0D*WdfVn}73jU5Llt{?~r9l@DImsT;&)M17%! z-Dyx7260xBiP1s#sifhueO&*b$rPoZY&WxHN|sEBdOduJ+$%~f+f_NuaV{%#!RC0X z$uzMs7giuD*uQ>-bhL}E$2c{U#%dd*BL)r;)FmYG6r(DX<2jnhy0lGg;S8E^Fm+k` zjv0=(Xb4+#G$q>|<4tuo9(j^%FkyLV0V{BngL|WwFp6x}HxhRDq`?!Hw2dcvyQ;#` zO>Ez1T)^gZMrhkiHI3vCxsn1|&%+q6)bZ*~Qp;z(H()pkX_9k?nQ(T&;nZpke_@W_ zzqZHEf8c2@hr+IOX*8N(8BDXW0<709mxkpkLyWksrMZli$tYKP%1ScMixgisSqMDl z3YhbK#oXMRjM+(2CJKAxV%sjIIKw4=(lnG|Cn3XjEgajR?pV|eiQk@Jrzs18$xH6L zgN1gTBn_E`A(JQ~t8@lorVJ{E9jL^fB#dac>U5hm5}6WbDOE1(<3izhq_L7_xk!7s z)|4Y_F8AHFz=QW4!KhXA^oroS7GN>JS=zeIo!mQGId;Zclu0HUM z@A+K6=Rec)|Mxe4>0_;ib^g9rzU=37-}#5fU;L))pXspx zs}*?a7k{Ap^!q>j2h)w4C+36wC`$x-Y3#VgnI*meaJT=iv67NbV5?AIQ^2d z6zzn_oKh+1a-|{+b;HGS8))7V{b-IjoBz8<@B5ygd{!^|GdS2|KlwGkF>eh2a>Iix5-9Bx($gV6b|}< zwl0iwqA12QZEDRfRW1oY70jkYTbqn`x3B|~_NnTzOzg| znuuMSmfW8%`Q20Wz-49`>?H~NX+cuTa8n~s3pKGbg+-ca>`y|(I%8G|?R3n&U7we% zbf|j{7kWLeMJ2!a_y#uC+007%VS-+jDz{s*y#=Wwt7A>fN4kbiPGD9n1U8K-rL7m7 z>UODn7Ixjo3Ot5k%&nb049_FZ#C;_RLISAQsRVB{nb2v~n4fFoyE?9;GaF5r_G6+M zv^z(siioX^M>%oA;RW~4bMj=1#ifAUcF-5^z&>)0#9LJ^c{ZM6|Kq=h`~R}{Cg7Ik zWqI#!&1Ut|JuX5 z-tQeo9V)_Xhbdh@r$4!mJ+FKn+VNAwVhj^zT&fszamkyi=||p2u^o|WqFS|;L_s2y z%)Cvl5DUeyKLB`HdHQ+vs*270N2CTkq}|{pxE=a!*{>quT&oKf}hat0o;%)unR74$jf@;oz#OL_`x?ne*Z`R%Z!`8~(VgtP?)sJF&5x2F2R-S^&ETm-#5QTgQMH@d|!E_@G2@CR5?4U}vU6Agi zY+qebozt`PEhsxgJ)bjYR(SICDyFwU#hX-Bl74%Dnd-!TsIn79W2;q540V&uuwZi- zDEX-6xagKin&tRmuEye-Apz^)BqI*F7B4NAl%8=t=u+Cd!2M5Mf%j%XZ z7?nA+shj1*8R=DwJj89EV|4amvcV>95MXyhup4mX6dbt?8Z)H2tr%-zAyWy7&t(K| zDpoeN6A}@z7N(LlxRT{08eVxkg)*Ay5^XhDWq9Ec{N>M6(tIq>MzdV(@)TNahFo$g z#j-DqZW5CEJ?tpN3?kMZ|2+QERi@^rsoi;8D#S5H8PVzv{^d>D7q;+dka%_6Q@5P4 z4j+0`^GTlMWi9JM65i>WX;T}t4c*M|HCyG^S7s-kGAs5YgCzT4>(IEt=Sy+>oe#X{ zZ$0zzKlr%=bH?<`zHA0ZvR19dPbTidx6a@B)+=9%=d^pwH{J^Dg3BB4n%=Ny^lR^V z<1eOXp858wR0SFtq4>vLi|Iy{o2DkH7b%h7qv!WX>pFXGJ&3l@9EXIfP#85p9tUJ= zIayIA%NGdZsed9YFcuHuEgYsuUE(mok&L5kn>f9UZVe#sD`wHv zXF;2SxK7p{G8$}IFS9yG6tMMdLv@wwa@?+s?Rpr7K@kO{y&V>vYjH!a&Rr*tQnPgWY0Aeg zEpe&aCp8^(!y%0m1$gJ`H9S+|#5D}lqBjc3q-)(MaGipQs-R_G1uqpH@^x8qF9{{hV>Mcooc>XHM&L!foO)d>hmp8FX4ZKsYg4z8j zHK#4&UonFjq`D&rY*z zcX}B+v9R4H`P^PguX^tM zm%cg~bX62jukTYaHBKzlx%tp6lXEo+BVu60RA%bvP0u^oYzb4JAU4qS znM+~Z{Dyrm|Hlu%kPET;JNJ3R)iY;j^sNPt9z`x8+%ke}j-z;lZ8dewdWoW1Mr%&| zzfG4@7)BkODj2THS=0n98W~z4BEvqtxOb=t0H%6>)cPN)jc-2Xk*F)CU`#9LjO|BwsV(6tB zqf`L2v~m~t5~Qu`^gCTOHrB<-p5=sbLR~XCYL=OEO$MDM=4L8P*Go*zE%M}Ym;0Yu z=2I&pe5XobnG#UriZ=mk^dGDm0Tsn|AQ7P7RlL0ovM zlUx&BrsqC?eS?)C;ItTk>=Ksa5d;D8 zU_`52X3ta$tB{epfo|9ggN!guh?9^k@u^CHr9>Se*^VKazr(3p_i*Pc7C3xz5ocDi zN+rW|Ka>xEH9>BblvYwpdstDIEZ8J1eDXnu;khNURHt$C%P7t6BbMUyLPyAcESub_ zkQNqZAuUb9l1qTPjK4KiLn^l?vL$&zmPL?7m_Zk_w??vlj%521mXVT4R;pXUuFsPT z3##6i7JfRUC?rbAryK-u=?WJ=_b_G4VD{)iSe#PF5$}X-pIxQ>l?0+*+MVV-Bk}4dn@?$IR`r#C5CjwlvOY z0t$t}>}}J%cpl3SDc2id8!Dp^T_X!e7}7!Q4;jWWUbR8FHBHeS5Ug$ENS0u|q5!BM zJYSywz+t>&w~$q)lpa*TfU5ur$-hC)SETDMwLX*=#TmY{cT!W z&MS}3u~*Nz{lFqs+h()f;q2-rJ2?z$b-d|mj2w10)(N^@n&mQ6l`5ugDIF-9rOaF@ z8onP8jE1VV(y?+3OMW_FvXb%YFTaK3x9_1cFCFz2hDn7=>lBn1$&qFy4c#1(ixyI% zow5MAsuGD*Y;Tf?#&TkTQfr1xg5RTvvapxZeq+^CBaiU@600NtGuH~TB3A2UYnF6s&^{@rcg{=R>-+uCy-Ua%L@A?<-qvFI z1K<4v@s%?_S=It3Cq0ac=p%(yOE4{6{W=T-d__;1G^$g0Q}Zx6M<$hvmZywLMj>DF zx&jiK$N`ce>Dn@bD_7LAcylwL8>*$m)I=B8S8XmssoImE@R@ncatl^uJbsxe={7G? zNK$2}$rtxgI((A2HcMo=7+Qj!1-O|2%pN2=#Dg71S&lckAH8~z%&cM>Hl_^jhwHF; z34ir6NoR+A*i)m>G#wHZ4!{2==jlgf46R1VDdP%*mS)O`EM3!aoU-EwTn-~TVWRYZ zrAk#E!e|&##5qZnsNnL7V^Ae#vhcZMy274Dh5jhznN6S5Nt1`x+Ju&j<;Cr7D;K%A z#Rt(y8F5@;?2?o$4)HKJe&`?*ZiOHivD(>2Gc7FBV>tA&bd8#HyW1wiaKOOdLGuG{ zoih2_m)=Zcu)~xv=!VVdwN1_qBSuact2K#k+XTHXSs38z&?rgfW3G|_WCSg_Mmdth znKBrLj79;vX5hJE=GtI!*5b&a7I(hl1XKHG(Hg>b+w>xrsf9bx%CjVzwBqRK49TL= zczkbaq|(zJ_Oa8E%JfVPkHRXU8-@b5!c^*JiOeXgZh1pXkw`EpqtD1NOzEDN8yR`S z8IVXGsj%ifG=Ce`E-_lWh?V=KSxD}bDL3UcC}jpRwojGBAPpn+uPzZw-7ZW2<9_UL z#N2^t%tn=dx6kHw4}%7^$}IhUPGUFC)Q;Z%zS-Ls->=>I-D8^hMYNs!z4tA~{q_%5 zZ0)n$?wQH0Z|;?`X>Gr?*#m^^gs4<}CC{=J7@{mygO z+sZukYv20@Z++>%S%VE+E2TDBp(so6QjV)>Nc>Ko$^RLQ;*4MzP!gTrXiZ1M2+*jf+iI!Eq){-WFJs?o1wV)tC@VXzGWp0jU1}dIcFvTY z@T!B;+`Tx7yLA;?a^LMLk8E~$bdWK!D;N@~lZe=K$W*gVqgqmIo^+{Oj*V$bpSz5n z6MCIK-L6lX8yI$-S}9|(-siTPrZ{qZj>&y9(3(*akYSi&l_xM|{Oq=f%?5_#qh^w& z8Dd(ZqeZ>8iZnpWWuh#gu|$qVVQb2G6Qvru=Au(Z*9r{XSB$uX&g#C5Of_{+=mo_U(G z9#dPa(eG?A-0G4>CYe?xHJTLl`L)*3mweaM-}{N*z24r>&)4ys`Hg?}tNp8wf0I|W zN3|m-USYYVVSaY`i3?AjF4q@lpV)u$p4Zl1^WEFe*YWJ`XLkj@cm;OBl%(PV4snhMtD|%_Q$$zI=Jlg-e%SS6G@=nP@yVcX08+>BEQbFYnv;M~ip8W#@W3 z*$W?j_tDYPQ@>L4x9@Bi35Jp2);u!DRb~=PX1=+GsheX%POj5$cgRKohG&tt>Xhf_ zuqI~5#-79kvqWxN6aoe$eyO*GzkGq=&Kg$9rXj9#JO+K~B$x2(A)aZI78=`WN^54X z>XT-t$JX`+bjd05wg=c3sM{=2G(*_NkT( z4lXu1*m8Nz;l0e}F-~VknU=KXG!LzA^Cv6Y^m3`4%qi(Qb5+2)OcJPl_IUC z;BQxhK%D)bj^{TBGn3{3%Jx0rBlt45m9#w zElY4r3)`!p5WNJN4?AR?btQrD3Xxt6u)Q)?xlXKGIOVzu_D}VIaMYs|n`pi$NOd~r zPU8&Q*m^*0hYWh#*kOjAJ9K@Mc2=R7zx9F1Q}_POeP8nr<(2ZH+&=RQZ~ypk<*`@Q zXPPu_d-=_W?|S>`%fI^Wf3@_;!*83MYO-+R&UjL6Ie)+oEwm$UE>eBfKezRdF zUs)FRugLKnalp!m)>2VCV&VysRAoB473p?1iKW7^BjfBCx9Xx*t2i?U6>yPQ7p1+l z#EBuyrO;&~=x(sRd|ok`wR#i1GQp@n!U~6INu*+Pq#&i6WH{BP(h@2cZ@Wzzg?NTR zZx9e@4l_q@!n9Aet*cu>WTtXQ{@VWY7?}q5>{>z>jsyDAs5=~towaRl?s;bU|SllnR4{NB!}ke z(C@IX+QdsB?u;ZVlu?n<&0#ePF>D7Tk5$Kd)vGZY4pl{Iwc=uw3S|%)b_P_db$b0F zD{GsCX+hJ|IlgFf(~&y!2W<8nSj3pv2W}Ir3cX02+%_$7eM=WO6*8@YCTyiC_bOtn z5ffCQOhY0!klIGI$;FX;P8o6Q8k%maTy(j9y8OR@&LUB9Nm?`@T)RML_dOrKvx6>qrAa`cW$N`|ST?#hPA$laL^U#HVThT4E>exWVB_(J(EN4WQl=u0 zgduIYj;gs_?SzcnJy-|7`Wp_u>8F14x_U!D&j<6sfBori>1{my_L+sbUpn=5KmKoJ z_rLzGZ+!pN#~%6SoA>Ycj@@>W@{z+|J^i}x{mAotXuG@HT>&8me(fEH*gpHVpm+XzC(Ak|%TeLhjwu>9 zQ#rH+Sf-XqVOr$6sf-jdD%J{%wC~gJY^z*JtKOuvcpPnNp28`i#AjNeG8QG)Mn<6w zw`eb)$I2tB!f@56N&J|ivyCn}j*d;D6%3;UqgQqm#J7mV6@HP@_CAIM7dtaXfBe+DQS0GX)c9z%QOk{PF1u~b$Sn` zFr@+%218uaAdw8nVN7*qFQt9Qpd?j_E_tQ~-V~aEO9#!c$L0=n1xlo;Ms0bjj7b7e z#1taG$~YDowQike{oLo!b}mpYVh9Vmos0{s3FntbU{9!A(yf&aWHN?#aBUr@n&8Jn z22nwr+X`s*f{-}P84N}=J&%&qhMF-)XDWC}n+7p=96!u(n6kWWu#q@?;__8?#6@2% zp;hY)Go6PXdmKm8xOM+NrgVd5xk{K>oV~J4C+suQbT<54^@iI~kDK<@x%J>QlNCo* zUP>4IV^3b-(#kfrTcaurvz4pL(uJ8CGL7zahm@QOmSHNu?RXZhV<;V>u*r_?ve_Q8 za&>^;?=VwOx%F_9n~&6K&bnChbsGC6!*W)2bBj|w$|G_k!xP83+XAfyl80*6pe(;P ziBkhz8J48NQQCy$=0&dKHBhOIGdmTi90M2e`>WWYG0-fq@{p{1m0DDqNBO23_ z41$PEb179D3YZEQl^Z3wIg)=Yd3`I)DzQp^B?T}F2S<)6&SB#!gSFF?OEIzD#;pjO zYC~WU=Pj5#c_o;?^~)Qte#dU*;h+1IfB${o^B;cqSAO+-oG|7UciqA(zv3mdj_m(i zM_&7`54~u=5Oz=e1zCYzaQT8P`|eJk%N2Oy58r_46-^Hv-wc=jv)(pAhk%mR{CZz>P&0gin z6oUAoO~7Q4l8d#QTpq1@&ZWPcc$;wbarzfOjo!YBC%x2(PTMc>*x4P{y9Pnx(ccLW zGqRC6xFwt1^vSgt+bCh$HvKrKEA2b|fX$s9>RyFf$-&bzW@`>+(1AgRI}R_B41J== zVSvYHFRZd%XgITz6!jKMU7sh(+n6nzl(Yidsq)zA^PE}P!Y@o}6VrH}N6j{vsyIy7Ou|v0PA9^a0QEdUHwsEM zR}y`QM!veC@M=x^{gBPIzH;`Tm@7DWw8_GrCeCDu`tid!GqVaf3Q)`l2-5*s(O1l8 z$*rTAHPXZ-rGi_Z19yTfm)D7@u7$Y9g>@D%DVIZCN9hp11}>ikmg5@)MUp9SX-d)e zXbXB*NjI0+xq5+G#Zx)5ZgUp1R7G=~aUG<%-et?iLI1kkj>JQVdiZ^jM;N$;=q@wp zw`re!gpxVHv_q_tF!?TIE>S)~&zZrWJ@(HI{OzB*?j{m{+0TQ&?#F-hH-F~%2jBmT zf4p&NX-0zfzw)c@;O3X!{xi3|!Fj8u-6!{eyW8#xJTEJ-3of6RW!~M%?h3%a_|8|o zahlOj-7;4>w6CsXWqoX`z*0%og7qY3NK=|W86g^`jb+(tyey+;9GgtHNCbUI436Uv zhY^Nb#%W3uOOs3&2d+70q9h?E8;>s;Y%sVoHqDgllNi(c75EIhn?%DlTHIG7S4mAQ ztg>oQu_qUlfhg(^u;ovRobBEStz2hf-%TJno8GuWay(m={7hpUtgRTY@mO4#D+O7k zJxHBsHvU;I!&qTBQ>a z8Vw6?@gP*2DxyeUzY55z*SK{5fSpFlNLKW_M57+Mkzz~Rj}(RbKD{R&Mhn{5Rx+;9 zl+nK7k?I~hmWMyT|NK$?YmUE|$Gyb|KWKcm5|>~8`fu%j@#pI=|GRg7#f7t1zH_v* z{!%SkJMik)e%XTu?|9j_p1A9~&hCB=@2uK`Ta zUaBr`(PatK^2<#VdBCNCULpWo)nS|7)0sxiETuWxJ&=!arBu@yt9={bXV zz$lIB4M&WIF%`3p=ho?T`zn{wDO-x+YdR&&u+O9$Gf{GhdpXFso=mrNFFO{{K6xmKZV#LOR@;-$CkWAo~HZa#8?#~yu(^XJwvN*<+& zh8h*eS*n1Vks6eAlX%p}u`E)ppjhHsJ*#ji@=Uc7rGri4_7$99jjX?>QU!uIp}cSa zV`c%2GI=i1>k(%8LnN$DiR#mA{SGb zW2@>;tj_%p>%KO?cwhxw1|IWW&NH>RHaryj}Z_9NrfBEaa;!Ve1^R<5= za_Iiwd;j9YAN}vYSn|v-Klsv@zU!;s_=ErY#kN+v=ljB~z%ICa;nse4&wqs#kh}HE zjVHg(D*V*Z_47`tJ{x4^?0i4J@XD|K{*}MNQ$DYMW%L_w`A~1^v9B}pHqC~oG>U1G zF&vH5Slp7Zaf$X3bBwTEqFa;LV5pdbvWO#K+RV0>bEsUwXGUY~-KIg#}Nq3Drl5r{uTsl+xDbF5Iy2>IF-DUS0 zvt<$69;KOsSe0pXqe3AqNn#)p+^CqYF(6T_n6Re;N|ZT7prx>0^1y;T6SuHrV~Y91 z!cdQiA@4%_EZOSQbS^%D=KHkQ`wC1tl__-BQI6+MC*`Rpx9N68T2NQHiGy@NHy+X% z3`rs#Gbv+g9$7BuT|#pTRU4WGg{q{SDvdZ)FHsMn*NJ(io1@LlvKDsP>UER`wpytx z0G$j6?5kNUR-0tql+@H1v@~wM`&N~0`PgHRaMR5%;ju?f(;LLpYBgNXrdlhhh9#-X z6f>5n6eMTVwxxB*XR1|VswRb(IfG7@VWN>&X6S|)JL_$##gN-41732Z#lm8p^2`LK z1BcM}93atjQUUjwtwzlj67|$4m&T-IKp_Ay%}EQBD09_Fd~(mN&^!XEDV*^*fAX5f zQU=zl`SDqhd5y7D*G^rZFEE*gXoLkI_Ls?e=h1>K1sY}TwZ;t1y<+;RlMZ%7(EtD- z07*naRA(l7Zj*4lk$Wy~pS8yia0EUsT(F`+Gi<_=%N^%T!ylyz$%q&g)+CO>gW{tlJKp>F-uVGay6cWoKnTbwG{N>|@6zKz$+(~g| z8#b0(QS2wGKYR$oZAPnCm1M3|pTeA6q{s@w;WmZeCF^gHhC^~;AWIFrnPbW%lxw!C zR}6~U{3MMB1q zBFoSP9Le)2vquQ=2KZOVFFZo~+*4%j0qu=Gxny~o7KJIj)*ffh54d=-Pm;RmPKiK^ z>4!twgC0fUkjG_$QL5Ip)~w*CeFb9texZy^6Yhvt9Nxn*x5}U!@rh@y;w|jOY#3Zw zy+lb^V;S8S4ptH~k&l?JRI#)w8$q99Z-xCYIf~-AO8y)dtaE;kMdwWdy^W-(PSQL$ZuZipXi^o=UZYnzmHgIT-JEB2=xUUaY< z4JMBsLqB$s!Z3(ry-W{H!t*oX2PG?2g6;bd^&txhgFxM&$m=4?OVp;1U`-u|+*N>2 zj9kxx%V%}60xsoRj@e4NCUU)`H+FsKzAdFGWBcAk11Ga2EQG@L01CgsM; zBs8mZD#t%J|K&e-*Yow>y`J{-p?~$3AAR7rK78M()1xsn$Jc$^x4hw{-}Zz5{eO3i zKkyxISZyxMdadc!FE?gRz4cjl`So;8yT@|lt-vn0yz#E-4ShzJe*YhTcf51vXU$** z&vNjS26}bhxnlC*mmPfF4{cn}Cx7`P|NLhC;$shJ?Tgit6H=) z%NMyrxgp?E%sPo;EYm?7qJh$H%1E{{cL;C)tx%l-%^^%u^fbUOd1~K5oMTibuqzXg z+tN0zj-e34j`l2bIc6{APlWLj7WE6DvKXI(7Lzj^yT@|@s5Xg!9nlJE1Kg|)+h-X( z^$=^1Jw@Id(Wp++>GX)Qh;nm^^-jTqk1bJ{ErL`U%%#ppBg_)jE>lop6eR4lxA6TT zjw`Nw3*Q&eoKyD-7Ap?-?A=Fqv&%!5)-hUjDs>s*%h-2-D*@u6LBp`PW#6RIvaa+) zmIm9T&79lrz5~;$RH&JqyRvREW7} znwYsTkRD0q@XVD})e%4K6x_U^bH^c#N+l(#G?_km3ggfT6#<1KA_S2XNS3Ifj!hFw zO(C(a2}Kepxj+yHO7|ILCT4kt%Hr*c?G$~a(%H)2Q<}>0zXC3mT)`9sj(r8!|r2u=X4y{>se4Bpx$j=-qiuTpio} z|NfnC|I}}O=%-~Uap2aQxarj|f9=UP{J{PHOXl+a`_12a|4&@fU32lSyI%I5Z~5-~ ze&o42uHEO|U4buNfn9L9`+E42T7jiMeCHd}t*3uW8!lrS28A_;(K!4Id%o_y-+8^C z$mf6Khu&(fKJ{X$KKj*`ri0jmO2dr?L)p)5Xvw>PNt3$Y^VoB#srMS#GqT+yK9)8gkN6heW!a zG11DCRQ8;Jg`2<~>nR0PXmNxl**S4S7)F?01G7{cACEHST+2e_T4asTu=2BOESCb8 zYAh~~mEXuY$p~C(2Zd=f)p$QL400g~iLmKo`5UmY#LlCSuzmI{`={n`CRz~qY_7Li z+VT0^Ao(b>yisO&dV2Yp6IS>-|2R{wA*chAYe4g=t-%#W>U6v8b-mPa+%Ri zn~i>eU3GBE1zt&Kx>lnq>~KG&Txjf>tTRd?p6T{k73X;+XL4Z<*KHC+a>L*%rY#J+ zcy5V2g8t5cpg-d1;UknwChKcg6;o}91K*agbPqGP*xnk^=@eK-4d3^ftZ5u?)9TmQq-0}p+VgzYyD&Zh@o_0oOE@A^%C`Sfr7@VlLzOFz^sdgZzkQYOI> z*3yrO#PFdTB&LDaY+=`GXfxBKL!U5CNaIWeO-rMSnG_UZrh>57f+4lp8Co+Fm|lfU zg0jtV&Sa4%n5j<@hYb2%^|MNS61^%}hbhUDM3qy7*bKWa-QYSeTsDL3ZAf*!UjfgVJqV4D?4oVV+yN^>r@Gc@puF; z0q&lo#=gEE(jNx+e$LJ?Wn+*Mgb8ku(sC^3N-kCuD6@$iQ{kj6EKXB)Y+Q+S>V|lt zip&cxZEv!YgtQJU(wv=OFp3C9VvK=i%fl;)m~}+6>XAk|oz1QSmnV)NV|ud6#S3Rh zvsl$kN)4l1YM|k=wmM{OE5gxBREmUs&5V=#b>` zFlIEbB^f9nDuewfARn${^)C``UZO;#%xNRtqp`RjN+SCZk%xh0>gq-(8*HGp*U0^m zys}6N1Iw!`b~R2r)IAp?GGWl;+{2&1)?-}TVyAEL#08s6U6cCZqo-f%Q>P+y3L5-~FGy z{m*~)Eq&t0=dPaHe*Lfi&d2}NMtfLqH7EG`H@@*JUibIj@kd|$*oXe`gLUZCH%+Sc2Wg7eDY0k}qFlE932|$ohW;DW<{_8MMjHu~)RGKrYdN1#9Gg!L<{Z(|y z%(N#d&mG0yf4k}p$7nFhEtQ!mfI}-nEQy~W<<2ajfUZSdo)CA<@7}shEWrQy9GM7<%(#H}F;o2E`PkffkkA0SCr$Z8pnWe@c zvAM9-rRz&%Q-w4!(K1~*v^60p<+<`)F~o6h(vJ$({fPcBBL$~b3R8~7q>+$^ zeG)xkZtt987iDDa3J^6)w1+Vlx3<_WBBWkVg38x7c34|&tFgN@8%{J$CMO*xn^juX z309X^xNzMFtiR}6g~^q57ne4sL6`}H*q||SM44^k zRF2>aBXJ2-|1&oQ(y}AwtZU#>9OYkNH*?ZBKnu39MpyB#oI#6+D%a9z%u=4)gS3UG z=$M+0sTWG4nRPeNWGo&h6naT%L3PU`jD3o%L&?-J@swbr(Vo{#MpfAr12951haYaGY@*Sz@~Uw+HiyzR8?_mdxf_t9z^ zEx2)b&v0||A3Sq*W&Za+bDqMP;K1I4+;aPEKT~hkKj>Dg>zBK$xAlj^Z%*66VM{Bt zQ+FQwNO|wXzc_X3+q=)lIqdG^#$SP5aCzfjU?e$K)y3OCMQzV4rRf>fmXqqP ziY*e>GWYvvVUIY9NJRZtu2ZT{sxR$e{WAT{C0rSsn+|4kKjrP zB)?K>FKtF)hl)8uOWVpt9z631+vm=)etro;>0)p4^p$Ovb^?ZpH+Dsv9!0K=9r&iM z+Hle|A&L`%Jjc&7d;yz@p~lu$TClfX;gDzG^7@wn`(StF;Y&>R5*EPf}=OJu=mWs^a1=z6HS8SMXnm@DrQQq$9QdpRTQEz9y6B` z{#1yGN@_Vx;vyv~ax&e;smxGm90IdSl12*PifrN8vABA^Y^<@AV^npI*Zy3xh*YGM zWR?~QS{^BIskN`rx%AYSE%!>4rxr1qlf+4;2J~`+Vv4(b*d^_3V2rjg9p2s?N_bY36zvqGH;;sKn@BJs=eD3l~L1ebr*2d^cH{uB`|6i7ySMSPx}*Ql&9D6a7hSy5^KjW- zbi3FEmoK_YzI(#g!wOvZ?YDlDzJB3XOFJ73x7Nrki_%1k#=@KmN$>PWgkg+cm=sZh zXE=oYAz{x~%DR%{(wuMMEYxwPo0#<$nRJ0WH7qgSWD&(kj1${R--lDfF1N5`BrYIp z<2<9zI;MOAxOLpQ6WDuCL2VCNRw9!sM?-?S6NMvE=_!}&L&>XD?hgZ`3Q)+iYmq}= z0GMBB<{6K|uYKqKX%41n0>#{1kjweW^A*zTl41yORioH(%TI1QL|KS!2FgKh1RK!4 zLb0*J&iQkUuC9^>8lOM2%JxtrG#m6oo%Sdr&2;6;R$b$!WPeH|PprVTn3Vd%1k0IV zeQifI;>@}>2g?>MQ&Z7Fqd3ARQ>^MJ^l6WL3a5!(tJ9a9N?YnUH7ey2o+}Yj29d}H zf!mv7 z<~*jiN44I>a&sYU@wLdPXAM0nD(aeE_KU%#swEZYzg+V?LDLiHt`jYvrnk9-Q*rTH zlUTJWb#szr;_AQFF`q{i{Wj6g8dfsE7Q>k%;L;{ZVzfkRN(ZD-idm~++VbM+(|PUO3ojCri-u55at$k#btU=h2G9NjNlT7_EedgYhg}K)41v7C+6?{iD#aR_xf-B z{6Bx`XCL_Fk8fXHdhH#@4;!y}_1)OD=1(2|%J2Pw=VE_<{y9JT|GeXEYY#v6Q=7|6 z7@od*@L+S|j^nNJM76*%b&N#g@y|TN@7{l&$95ocrm1-?j-5D3X4yRS=;uh{K8dt- z*-fUV>logEBRB6&-|+Qc^WW|A^xr?Q%V0hqm-2?*$1b?Mp)c?5$z882aOOY1^{e~m zAN{?9WsQD&4ZY-GRx41h`g63j^KNFzgK7N^u3Cg&N&$pCqw}qLjg4fR#kdItEj&ji;F^mr_hp197By zCANZqep)b$5@igkmUQMPO%|srxQ>AClz0@VfcUA_1dXOg!U)?l(JY&#S3u6gRv@ zrpx+@Q$GeRL6bprF5ujRMD(}P>QoRLx{5Ng>I+~_QfR_(hsxzIas>q}|Fj2wELTt? zam8F-`*Uf3lCX6FuM*fP|L!c)z4SO_L&`Hvtk#s$>!!I$8YSv^EvcByVzSOQetQF> z7~;AvneLGmDV8Hl`+%Z7Qn5%`xlE~ChB% zDmspp&>w7*I|jGB;^j;GUUAn=dtUkd;}F&7VEet_d!KXhW1sjBYv-T*=9_Oi?(R8u z9IMuN$IIXNuAhDmcK2tV^63x%^uAC0+HXI+e)frpsg}m8@7&9Y1-S$4sW>OMI!}Ks z=huJ#5k9kHLVb}uEvVKe>4X_e7nhhSSrl%3B~ojP1IK3h`fvR|`i;q%e|Y?! zANZB$`aE`@|HfW{U2u70U*FxcyG~c&!S}!Q%hwU7DY zoU-9!j8Zf|rsh^i;*hk+DYt5PQ*~yJ?1iSVKL(jzCN@gw4M16;fUl?` z(PRWG5OEARWEA_q-o`OSvWZ=19LFtIo^j8#C1L8qU@9MwrW$9&p{%Cwq9Zh9gdO17 zh6>@vZ^PCFqO~U&URmP&Bj*Xb(ng~b={hSNpUi5pypoXM$~cgu5W`3p&#|c*HIh&m zN?{yrHa0gI?rbsRTFh6gYIo00dxD(XeCX-&7QGbW7zsbU^!#%gn zk%gN$Ucvm)Be*xeOfk!8$s(0}Pb~B##}+-QGC{e@u%z7Kx=0EHTnbo}8M&pjnQ0-~ zR88fhmRd7VmTvJ1=r)F2KgAaRxry!Q{Z>Rd0FkcRbf` zeaWr;@JBxWq4TFtf7S8ZPIBzj?cLe^2VZx`z5nnz(|XD|-GBdm=DA<`)a7hvZT`07 z)9jr#@i(3!_WO)d4cnbU%bR@gqYrXLZ&H~*M4sy`UA{`Y7c$dqvcFM7OJi1dx^zZc zOwO1r?r(DM*ZvLmA3yfM@xSqduY9i8Z}<6c>=oDrmpAtH-95YObOj#zwfkQ3$nXBf zXYM}SvdnBiq-*51fiJz%qmaZ;@x*-54k*P1b;H874N^O&G+klh$O6uE1bmb$%^bl4&6?a(NVYak2LMK9Nt#w`;DbkHG}>?ZmD!_sQ^IC>6xleUM=@BE zVJN1NYrsPVtgE5C@u!u5W56h2=Kp)41wcN#iN;UHuwyHU48LW(E6(I=k5DeF zZQ5;vhB={L5xMHx(x{~4SX|ODIk2xz_i&r2%(?gObyhYSlWbeyiFQ~7_LWF^J#Ww&~zKt2dsSJR<`awNf~N%x=UrZWw5093bX

I(MEp%f|K=zMF9T*a5D6+*Mq1#j*bU;VX|Gy>ZXnbFugF;e7l(aQSfF-M#1b zkX?aK|G_Uj<<<}U#m8=VDc6IEoN9*t` z{-G{3JSZ~KG$S=@SY8{`tx;q-@pv1ONNEA1I3d?4FOA2rj&EGWENHQ|>by&NXeC0k?@BB1gvPrY<5EUkCLz54D{4|?8HvM6aW&145 zcd$K+kvQ;k2;+iYKOm5QS6A6*TRi@iw^k+yd8{J50)Kc2+1lKMJ z%91b@ttE6_i!0}R_ASCg zzlm-)C=IV_T~ap*;>uP|C)JXqK&m7S=o)Dun$;X@w_QnCWNCtubBcyix&5U{X_IjK z6yyFGHRf*2T&i@GS)Qrh@=4IcH8gy=X$c3U!*vP)&niBtM9*xcwKVg9Fx(+eL#Z@E ztJSe<4GhCUA4Y^%QxU|3UWSgZYL~mZkQFU;e*d@fUymmRHTTOuqf;PvrQOm#)-iIyYVS?3ds6V4mx% zkM)`#e*Ry)|2^-0p_t8rAR(A&L`qJq(V6Yi?s!B=$RvvyP9icanqG~Dtz#u4+IFVO z8dgVg!)QP8 z0Of@#i7u)VQJmYJ=q)J-`#lx^BDIITaYSPHc&&wsxzug^S_8Me2;GBV)GB?R=p9SR zN)!kq4)OD5oWGw@si~No-RPTt5?oH#|NOB0tHEjoGIl=&vYGZOiLCQy3~D#V6vlXEyr=m zdT&frn)KE-Xhb=WK6H>p&sI+FwaJL(-WIx7qh9x^=_#`vlXfFRGYaC;VP_l@i>A#o zIneN^)lD|@0mCSw45c%@#waMzESD%vNU}n;F=^3+ZW%D!@wwu0*Kp)%Pk?p}#F*ol z#KI~noux?;7NRI8HbISoA*>?fJzr2uflrP`+_VE_Oi07*naR5Yp^3M?NS zX?L>Ks9d6fgss&jm|u;=r>wF%rkJdzT1yS}8rqF=y0CFc-Dc#ms+dehXX*D(Vi_f! z*+bxW)V7IcHV7svtjdvX42LAcWy&m2<|lcbWs;C2_%;+H&rs=sW$*1qL)D+kO^hk8 z?_R*@&U@Lq>m*&bt=#3KWCDJP;dx9_gRh*~CUoZ6#^&-TJ@Gehdikq={9^w4zwd2t zJpR6Sz3=_Eefm>}_s`Y1=~*}M$SaP4ZU5zCp8xU}T+DO-$*X_jd*A==_xx@+3G3rg zq;77~3@pQBcCM>>>j(V}@+@Ni;v(ZgpP;|Z;~sT2S3lxX?)lOexaGD7*vNef)5kM1 z_Aj|X4$jP#z3Q12R>P?URmmi|NzXFt6-L9%1i$aA@7ln&vI7-tNClegU zQKRf|X9oI*QWGra>rHCL8_NsIrJ50tky%; z`<$d;+Jqzl>e99&)s~te9q=`DtA;KuN}{us+E7ikfmd~pDym3iu;S8JR`Ffg>^URP zg*#g9PxVNZomnakrI>oM@dlIO1ElGQdZUZmod>H%8D}I(1%M?Zm9VeCWu8tjEvY9p z$qKL>lSs8h1uCRpzQ5jRsB;Bjq*{Dz9E$swIsMr?sL4%GT9V}&5GG&vKtL zLzB?&P|VEkJn7#(_vm9U68rYK&;73Toqu=opulw__i>%;cuFu}F zzp*Q@2QI&{>%VvQZ^0G#+}mHhbnBnK`9s(3cOQ9lPF%-1K~yr{Nh#85%#{Q&x^FUf zbdm1CS@ijq$}3mEA}=vAF;>(FGYi8MmQ8?G1V%}oWQ>9YyD>+sH82}cA+=q%*Q`XwzZ9ux@9T1? z<=`7R>uW36UY#H_`RMJZI5Dvp<{F+^VCfmxUiU~|^t~^5?!SNeFTM9-U;p0mAKojl z2QDAp`@8q-9)c_IrvLif|K*;!|EC{!w8`A;4z3w1V|F^xh$k95J3~s#V(#!hT8HPM z?SOBSA&n?GWmIA&0u*dA%U2AdV`Nyqsd~q^2V*j)MMoNUW{yC80a|kvgC)p9)5vw5 zO!5*%msd&{x2_B$!eCY-Z~+nJ)ZC%U87mg?K?0Y%+agYIb=*QmvDL_2KuaV_h@d0bMF9Vp|M{@Ratlj@9nCx(9;TX}T#^1c}%dBjboZd-Q z4&siMl4b>Mi9AX(YI7~ZC?Of8kZKHi6KvDM&@-Bj&YYd$5mC2wN+YLNCdwe>Dq~AR z#ze7!jxoz9by=Mh2O35C3M;@UM*+e!3H`54jjJ}+OyD{QU6Xf zVVk90(^tXurj}zC=fR}{LKcl^rIvCSlDl4_^Jq|Nf#M|IJrD zm~R7r_W%6!58U$6TYvAaJMXrFETTQz;?Y+f=XuY0)(ftG;g7xR>lLOh&*_8j_@kNo z?mqDYCr{n`!j<)v!)aD_gGuDCFK?hH30^eh8P{LK{yKE(HgTNt`7eEi+fHnA-w<}N zNlXXdDOsFra`VmK`I?{kU%&HH59WI99qU_j1@^$@x8}a@J?n4K3ViU7e(F)5f6qHV z@YMYa3zsiQ_S_aG6ZFD^0Cv_VjFX(^zWuZ=JFMK`xve9$dug1JjbbF~(MnDAH=Cx1 z?ii|v+iCi$b!Iy%Xdk?q#(^uKa|oV-_WU6UJfKlcCRyksX&d;q zP0hC1x$7=Q%MZ{t<+YMwxjwGjV6rtP%{?-$&7CVdtQQ8S#sOuwvvci}pZ>gm^L_vA zlVANSzw+*1owe6CpS^zS%yVPg@;gV5{{GSLf8}5PQ*RCL{hj~$)K7i%6MuF3zSWwn z$2c9(o@;U4W3D;#lxN-WsB6E$4(oTm<#k6s^0807_2VD>yX&<$qibm#XnGu)t<$Vo z%J_8KSMFzH41?TaAaWSn;rQi;dB(Rt@y}oNYrlQ-H|VW#@3arI71#rp53>#3dpZy8 z6?pA`eC+?WhpW%K;gWqEo-;7qEy`?!UwS0tl+BG1RZIc#lwhr zJHRb1e8VTrGZL$$G22v5>e6x8PD^5EhC^510P~kZ?osM4g#a=ct4a@InG+QmhGDD3 zNdw8Ol&@C6Qda|5VJ*{h;8ImLO3vZm1DCSa)foN%FSy(VsJpwSDGlNIy2wHT%%yW& z8BKE4HY5O3!COlv{NjAiu`&lo)kY2=ILWCy-%m5&rZw4N?Y6sV#9hKkgS*#tK6`q| zeWJB=eO2u!0pD3P!LtnNu0s~Z7^OwSwsCV!nWJWEE;ZjKlo7Hxp{07!DDmu^150g8 zGr_bSlC;K|^^ny;!8l5oo$YA1&8jA*a5TU&D`44JXi+v?I)@Hnv}Z_#E%uvC zvJ%5_RR*XnYc5^g)11j&UwA1DBr*y&C?&7bauq7%C-AFtDT^)V7stUCt>BFJ>F1z038>AshvQW!}bh1e>8dHj#LtbrVq+YwV=3I4C6NV(?0l{z+#}d=dSh1c- z5U^OU6Re&l?XT1EOX6UJuKDP>PP!d18H)jGhRqP}SlwZ$J8Wd&FC19A>Tyr|{%8E) z&wWsy`)%*|?fKQaZ~4WUaPk8E#Qh6CC27-V;?{TkqgVdOHUH(cZ~w>MMc(!L*L>#( z{`%c-9q$ZW*YFt*`(%tceAz*seB+b<@cA$Kl^1`lcb`vxE|E#@~2<l_1G@dl<|1QmI`>Om`gc-#b^r1RIM=rOmqP?66kHK z<{HZ^RQ_eSek+qxw=!D{;q*zy_pFf)9D;J5&)(bT&aIS9(_>&8grYqxbLMI_X6r6y zR&}=v(3B{iAP5wzW*Jf=DLU1((m)zg4VluNY0#OGfO%NoNmyAQ5~UV3zr`ho7x9gh zj$1O*bQw>Kk;JN(T>zk% zyL8i3?M}L3ldI!S-Rrv4f(nc2RN15Dh%)Un9<4GSZZki(gyC2q+F4;QiwqAv+`A7ZCS)czIg&lIH`ui#|bblQPnAa*Jqdh>=^^ z{yc-&;M5>yJt)`=b0VWgVb87}JAU=AXr*!JwoiTRrLA)0-EjN}*@-XF_6!9s@9qs) z)4VTT^PK1X)9+vRu@8Ot-FMvjseQ9EUCOi|i6(UFC6BxQ(OmVI zYoGt57yazJzSi5!C;sM*H-}Mjg=6Wz`_yOu=<3COJNoZG`y;>gmOuQnmrCkH7A7Q# zh-x6y#0w=!50d$6tKXrcmmK1z=RE!OkAD2Ozx?K#Z?5h>_CEGj;9t1{d*Je4xqy2= zzPAGZ+zM>})vq`Er*Hj_CvLyxXOnPk?y*;2s>02aa7ew`AjuQbAW~u6UZaUwuY>K7 zTMmg7J4Ld3-QH^1%F?9t#)OS?>t;`|SnDqRk6+k@yQE4b;?0I3% z<%R1dAZYia%Dvo;)~PBYCDdC$Wd%;B4L?(mS(1?EV@yLb7zN-+;I~xz1Qa_b$u>`r zuY3u&zec{i#^wW?gd>mAULY`M_`>oIpX&_>OiM-XG;EU@$D*!-R~Aa|S(rLulraus zRqNO=HJXm80Ha(_KuK%1t9r1v$75E8L&7k}vzoNs8rNTY4bgZLEgs@|C7P?@c5BRE zas+#J4y(0DW=j9LxUlte)r!iAzndp2?KZo)qbi0-M&uHF?tnRiVKvYsLBN!Z$|_V{ zMz(5yE?}B>!KG@57YT&ImIClA!i+r1=XOM+4j%{LlaQ(MkA3o-ZPyLQbG#TA<;^g;l^m@;3w(6fb ze)Uzq`K0f7nPMtG{J!6LdJv~isM+ox-FVZFEdO)w8UNa^zwK?m()#R&zxeu(eBfix z9SkSU!C0~`HT62tHPKZ|oLJ7{VwWdA>2dG9;b}L%TJ0(;e|<69Y|aqR%zN4KhB-RWtwF5;jw6ol6w8xV9WmNCB*MyQ zxr$|xY)bX!ue5Tes%{ISm?TcIWQ;2#Suxw_7OCx1_|j4`hcmMuW)6ctORm+3OC3u! zy5yKL4pq#ffDfse6d$vI%U!rQHS$cEOZ{B-VFfrU*7E$@#yPFzE-3v6%;YW*ybxTT zx0F|mXf?J~pz;ECt^%*hnykR(E~u;?y8yt-a}u^p7}+u*&ttV_s-s-=m*FPk2R=`^ zbCQ~jSNj8cr~8aHBkKM<+lkLd@9%Lo))*IsigD`LHZ5JpD-xwgj18Tr5RXYr9)@&H zjiruD%ge~hoYaukn>v#uVs+4CI|~&UoA;Z{do><;>18C7KEjXcZh<@N(>;2C`u+o0 z?OAd>a?M26TL7NyYZY55;89biD;Ys+rlnY3kpKuNlsrQ*@95S%7(UAOEiFd6FuLOM zFRL8VX=k`-ZWV(p>m#hC7`Udl1(jx2z@wsf}2SNu=R67ty*0AhTFGwa%m; zv(-!38X0W#62efUh%)L)#MMi6jyEEr!C9QyHu_wXH6nt#N8hn18wZwGHfrl%_~Mzz zY_9fk^n^?HYs`8YR#Ia64YtgZYoBsM&vP5U|2H4{$dBK9|0$>4ZsFElyoP`J-@M?v zp7ey9UcUUXkNy6^BuR(QyhzbVU+XRGZGZII{hKS>Pkvx^^H^^%Tu9TrS)^%AFA`C5 zhnF2W_{rmsKmPyTeDlTYVSkX{UiS|7O|k-e;PRVfqxLTIp}PX*D_^OfdCHNa(RTlm zd+xgHdp`52kAF8w+;sDRIV0q8kKE6J8Ix8`+^vu%p#qP#>UmxOr$#2VgyISoCQ`<{ zaYm8kDyxtrV-iLRFc^-FZc0N+NojjTUKgXiKz;TAw3fhY11^cuQC8|n1zOI5L#YvT z$W=>=jKxJ;S49u)j>Xk@T46r{9F>dvt3Q;fLzp$8qXf8o6=PZ9mffHG`^@ETV7fZ5 za;VF7okKBaH5f4{BNDHQAzd;Z=4(Fltu|$m(4O&eIxh7CUD}8DL8FQ8waGJ6J%tKHml&FW z$%=s#aH-@9x}o%r!V)W$fMKW`5Z!E|nO)E&$5Otp3O`r=@hMPL%cM^&TS}fVWtvs@ zxUisN)G4cxd9|QQldIyMgdxszG8NP=?4?wR%GkXM+bj){F2t3-Giz3Ll3G&LLS{P@ z=|DB~V3sOY$#fiCqh4i}MnkfwPcRzL+uA_S4Qg(UhUcs2mWu4af`N>_M+1VBCn>kq z(8gOd>l*FD9rAQU9*tF6KsJ#oPaVVWQd>9zx=;UsHR4{#)<(b}a@iW{tZyd_HwQF} zg6odVvQOWj3^sA++E}x7hF;9X*Vr*3(7Js1Z`TBTua ztr^VOrQw(Fy0>}PUH4GrV$!SQ)g6L7;P`cqe%Ilvj{l;waPYn-JmLF>58ZdMy(`;W zfd_X5_Q2(XyPkVT`xaV(&;9AIKH}s(Cx3AJ?DDhs)oY7q?zy|WzP4(&>otPmfEnN7 z*g~7j4|eg*0Lw~gbbO+4q9)W{w?olxQnnjto+)IDGTf;AKmnFgw<4X-VL}u~O6#V( z(!63Qc1%Lhv(A3(*@IY}17Ova3s z3eGjboC9Hc;ZFaej<5A1@K-HpEhh)%(!fYb9}wQ86-ADUi))ZI@7c+P!Y zvJ5LmRbkb0Ky$bLQJ!A`*$C2A{_|IosYLU0&t% zy&G)xJk}$J)49%OniEGQzTwi)G{u}{riSUbIEI6#>ooL?hF4mIsVUs`6>fo_eMcI zUgS)|KryDiU&nH*I4jw|DrQvV0R~x7SFa&mlUHA?nsx;A=lO)fD3AzFsTH+Esv-NB zi6eYSIvKLQa#oqBJjMFpDM^Pt#`m8fT0Tj+vq4SttNYt1Sws>*mQaeO zu+&woPQ5j&sy+v+ebUV_{mq!Ik;Npfae8CI%BeNxEQiM&U7!`O;9D`ZnKp@EGI1xQ zEseb6lUcLe@#Ty&rzRX(x|C}lafE%%fTVYp@tF}PR(5zGcT}9u^4U$Yw4`3EsYHQB z+fgw|u>;pX^BKR~KDhtaufOqS7d2Gy-R%Ptbp_hzx!8z z`bD>Y{_{V+de422b)(qL23s7QY2lbTt(MENW5-k;r6s}B!y&eo;#wIqb9I&uEf5X{ zjC(_@nuk7L!=7tkwHx4CWTwQ~WXdq&N~L3-Q>dnsgu=AZ9go7WmB~kI&SEYdMVDGf zZr4TR0?|`oxobdC4@`3~dc;w|IE%?@(%@)tP|s<|skNBe zVw;&u_R~5zk3T=7y0ha*M)+VC;-W?|$)zddZJ|B|I7;xj)HqgTtT4-^>I$zb1CKD; za-$&aOe#)l3eXjktky?hqG(X7CZ($6Xc|O+!LO4z(yMi^_Wi5BuPidgXn=3>srwNxIKuZGZ9S_SgNTUd{Sjj##OCu1_YuosaPt>1~ ztc{tBU{h`a5|7PM$;Rp?T{N!R*QK5I@XZXn(;)XDt!Knu1|5ggYO}WG^NGLxGRZ{a z*pdCrv{K5+n6y{2x*4z%!=Nx#-R5u{shhsVr7n&nLAel{1yB2~=f1yvmYQT%ZuiNH7FuNzC)~Q zDt<`J5R&gGj_ESj&~zKks*~A1X03zKnMI%74{jTbrm8a3avM{ziK#L?<*Nb|Dr7h{_*~e~b8Z~2P|jC@ z%jxJ=K(mZnFQ|JIAXMSTQV6qied7u^iOzHiKzGOLV)V(ijB>Ib9r*9|QJcA|C zM0Q*^4D`E^I#nuZX#>ST%$i!6pp1UO-U*~|h`27NX&ZB$$0M3C0%yu2!v&p0k zK8z@n5K^gc)=147h1)^%yJ(&`z@^qx^pU&EER8)rnpK6P7rL*sn#xVC0`DsazW_~@ zF(l1P3S6oHD#h?tqw=ZyUWr_FvT4MTl0*$Z{Hy=~AOJ~3K~#KIho>B^C^O|6&%{A* z7%Es^?UPnjb_%qX(Y>S(sENJAMu}cHmpUog&qRUCq>NSXIhm`H3-oLYJsqOwDe1UR z9F7?6^i}Ptn0qYgM0Xv6BEd9M+;D(C*d$v&OVrz{0^p01WSAk=G*=5T-IB13RUwh< z*{UHZ*_e=|HvOp1eQRS@b^_wzm?g{PsaIZ(H||r!V=IZ2jgCv{b zBY%4bciy>-Td!kS8KZGTG_h6E!a}Rf*_BnSTAR|cnS^8N4TnZU!*Vs2E<4Ee&$#hU zXMXX;$DdJ|d-gu|R^VG<1@^$@x56&(J;#653jE#MUh94G10Q|gsoU;&njeSwc|pxK zxMZfuQ6HL4K)scbnnM}~>X^QZZ8cas($ti~K>cb>u%XL%i+24!JWi0(|yuoJ~f z3b-spyJz|eTpGBTr3eYD`aqe9%g}olS5yFVx?HM!`U2EgIZdYh-b%^2+eY}0cZ;8E z-#PCZuQZ$j9#eAZrryoZ6vjS6CPi4GqwV~EV_gZL9O=&&FIHgNdkT}X!AGa`i(#qsk;q}vT zxT^0|dPrGA*`w*rf?_hOHQx=x7q_{5$hwLtsbVgtdwWiQTbZgs<$1FT`Q&ru?q-14Qfy>fSo#c74MG^PW;{Yw5;OKHMG$9^_ zmDAm>W7TSuu0bLIJRIO;6P#d7yt75rACL|M;;j_dkTnmn{hZ8*!OW=JE~EzGR>Wwa zF-m;yKiy+ENyx((D;n|StB=vh#@LdhiOx72@7z3h>fbL_fDM`OeK4NWtD z`S5dpuDWBHew5`a^^bn^Y5I*f-dKsB_dfPk;9;@?d*Je6vXOgF_lsT8z4Hi6&`F5SUoiW$Yv8)MZGlh0awy4uynnlxn=w*yHa+c2wDD)Z& zbBi>Rf+C#YdInnEg=UR3oRDU*8k3vNhU&R4U1?mIvOl&-Zdl}QokYfkZim+FB~WiG zJzG|qSa}@{A99I>kw54$g<_0C3`_DFU8UEfu$8N~(&CAsLv)wZ+Qq51QT6pG7ICU+ zoa!KVS6KaQl`1m@nA4GVWeHMWJJ;ExfXp<~NL4rHDw;@QP>M38h(~Jlt4ndZMC%AR z(k+#(Sm7O=ERPfjwS{eyF>)MNZf4u8j31?py0>6(mSW{@hAa1zk9SmtqJ)8qdNE5f zk}y%AQ$_0-Vvm>^d4wjRujK;F=a^Ufghq-x`L77R`Xr7{FA$l5+jQh$(EhFz- z_C=ShN)O#@fY($v5t%7+i3X)pLo;klLw3i)(5g;(0g6=}q^=A#>TW^lXT>!y#B!+s zvB(e%)zdzWDpJ5(M%#Hc4wuocE+#M${#H6nl_i>`m{tX1ck4ONNf_kZ*;MN(`!sc^ z3%C^rxA=WTgGrWE47V`$SxGL()pPVRBpq&1j(gZij3w^$I3P?zQps$kpxx?XIwom6 zA&bYja_1C`2-Y?!`V+#{VfFjeD5!M}#_^UK$Ip5ll5xSkcW+Q{>|@Z^ICEkZFO>)| z3BnI}{9`YtWo%=l0k+Wqzs6b`V%AJN1Ev2gVvDaV_xaT69(H|+8KcQ)9CB}eoqib8 zZOkz{KMSs8g2rg$A)cP_s7D=AW~QS@FQ;{2iIsRXniS?qotck1^~F14^v2FOynHwg z_GPK&567Wxx%MaL_RqfahVS{QJ%;n*yq)hI_3O9-d*JfxxY&EA`r0cXTE?$uC-1*x zFW&aHw;8MNf76FY51f7K1GnGFr45&-UfN~O&at%|*C}y5VW>)+{XWd-j9Lk1-N&N_ zfz9C5h?SKw(o8+$w{S**8pHXs4z>9Xw7VopM43jIwu$CD6t<=Gm4$BNNaKp-5tIhb z%mR9A4t?n`@vhI2JD-2IDXj-G^F|_B$l4;#r;rkQplKFs7-O9ha)T* z-^#nMXe?DbVy@yPC6>zao6zWj-vPf{)j8Tem~yi*MfHm3k^*u$rm(59rvfhJ+@f2k z0@2k$(2deQQ1Lxc4-JFkohO zAH$tM)o+@1&b3c^{5u|f!%aVY;|pHg|ChW^?S0SQ3Op27U=LhA6nEuY;F>=2-rrih zZ+Z0zTdTdtZ?10~(@SG6iDOSQOjEPX(5uyMed41Z^NQ#GA20oTW2CR=(){5o|I_O~ z`{7T%B;S-8!GPmUlSeIBbj_5SZsGYlnj2!YbiBh|*wf#GsTe6WI84v2k4^P^k=GU#Iztc^$KfF`Wf7Q|Gk7(fl+gnjx$Q6 z#m1m!`_wFxh6xQbXJ5zT@InLAt;|%VtE07>;JKs{Br8)iJH=Mnvsr7(h6#fT9?t)aya6XUdpLas4?x zul(;Rb1j+%l}jq;oq}9(dh0O^2QVB%B8+ref!I=_xDwUoBe|V!y@BpKgff~hG|W^Z z8}&(gYZ!S*mIqk!^dtimn=*4)??e$-=jX&=L}!9B|Z?p*0{W*9O^a&|@$HLJn?xjA*C;&nWZ zUH_PmJmFd2@%$&;v=?9W^?c9YJJ*A^0(;={!CT9{BmE0j;4N=>-3@o#aqEvhaOT9b z&Yn5dNt2SnR-c;XP$(0Ei6jVi7H0D2eb;mT=g<7YYhU>{*_&w8(Yy9`kmOdKptQ>%?(H>7=9rCOT3jsB!n!2HX9V4s}}24E=saFiG%S zn?v0uOJ<4XMP!Q_`HaI(USRtTx=sz>mNpZ~4}@5gaV=!INf7C@7cQZ3^WlOpSy;l>CdZrL1DmlSvomaV|rdyZU@-}CIjegK)(m$eg%jG$Rrc;Xh;+e zh{7>t8c=g=YytCe!enQJFZ()y(WqpS=(HCPu-@OH^exqfWY=q?5^6t534%z0#D-=YyH9?ZMllcbqrGh)I`{3U3lfn;8cpXRuG_OD9~S; zrAi_-4OcO{;V31XM8v^_Xd=%c!4_AwbkD~r(IisLnyK%ytR=Q%;du_OC!=rCSqhjh z6*Df3y5=}ouBF1xOH)%CUBw=2rV2Or-I~&^reVb9+FAO&4O{`#?G{4kAMkpqWwTnR=Z&B1_0qiXtJ4BD6>(426=5I_~sFOKu`W>lue& z+X~pL;d5G$1{ukCh?S3UBuCQ#PbxGEoyk}jYDYCxo#{uMzIT;Q>~g%dz*4C(j)yEe z6N(v~ak@#}gN|X)aCPRFno0-ji{?4AiN`J<`pgMVjAgG}=1YgGFFQzP>@ZA1POVN@ z-i{dMCjG3SK08NN3}`nZX1o%50WHDnB|P?t*RnCv_`5sqqb38&lqsVm}>Rh^b zfPD>z!El3ZE#R_md+hrk{lXVK|Hd0%96ji7aC-;bTY-zb0(;={A}{dX;m@zYuf6JL ze*8%o^)J$dFk-X-`(`Wi(i%Y z)qC`bH@>m)sgM5U$usxf+l|5$ZGDYrE_HZByKf#>WbfihaE`Uy)iUa) zG3|V*#;vMeP`=-=s_^gKkZ^gTe!XJ41iWSvU2_2tRdnbSOe)Y?1&S;1svPl#imXv! zRS|7fPqk|8iK9xJIUH5Tm9YbB$>kVey^+wD+q)vzpyG?I2v6W4NygA~iq&@9p2W~7CTq^0pltU8ujE&~%w zG@ep7DnKufsQD(XdV?e>=#L_LqnLh}Gs-N6sm>_TiE_D7sv4&pxkNcw65!beHL2Dt z3gSdwTVP~{s+yEr9LIC0)jXxKoom!7^H{BYE`Zc_nFKMzfm}y{Ygt5b!1~TMQI=Bb zhSGH!hKFv~h)Rn=Z$P6oxvbUVfMX*O0b?t{?%E8JZ6(Vfh>_&i#f2FhOJlCn!L(|u ztxfpY=fA>QB0py`mup;i=>cqp7);d5aAjkgUZ8PmRPv=^$v|GW)&x&0Io5>39ZTI@ z&K$UuFP`jk@5&CHPKVjW7KabFXw>W6cFPIooHj>mK55)%;>3KV-{VQ&`=dYboF9Aj zoA&;W?5)5z+Y0P~%Wt+F`zF2KU-&OC{=dKY+1r1rzujYQZiXj6@o{UmZQSnHtq)#( z)uY~Y{c~RYkO>(6?VtRiU%T^@pL)5S<}9CD=Bk+%H?}<%%WW2CbL#CnlfYpTnnaU= z!7v~*3M?__cn*f^Qg?i%8{8fZh~m6KmG zJ_S&b8>*+ezcs>@b<``@eh>tTq)oFz{pm30z5rcyAJ`o!&=6?k?8(Ry=n?dV+^ULY|mm@HKJHRlw{#s z3Y&|pK)K_SQi01b3@dlH3Rc&YDaUc7Wk=lI)wyL)ZQa1LOk7XCr&Mx*JdMe+f-=(- zxXcrcJQZ1ihHYv1o`GMpsChM2v$)wCb7pJ6`XpwM=?pT1Nnw)8T56^;A=&ae$^zA> zV`&ARTt``AyDbF<%giK6GNL$B*DF<=mR{0!OL8K5)O84uHENy z*}fT?%~{S2a{lV}lW4UX&wScrx$4+Hx=n*yKl?>K{Im<{MM=A>6IBL%F!kv*YBU_DkgN&EjqIX zUZ=xG>=0`$PM=yw%QU)votfDddcz?%N(BanlOd*ODOa`t8v%HYT-d9U+>?en6V0)x z)jeur>=1C2ghXYE<{JullvavWH!1B5!?%bMF*z6*5d?z~x}K?!Z_{$gkw55=N`%aA zD0z}&7aB%VX$yt@(>dY4WUSUl`Gv)$ppfN zt3)CNXj4TryXrbB_jnX$~YW&o~U!>%(*{>h-#E(yJU#VO+xyCNYgtk{;T$8cotd;)^Qt+F)ahTe$d|jcZ#Z zMZl@G(<%zdotY)~d|b z$0{;%ca~2*u*pZ4cQ|G`pW}8_&1+nc`K)7H@MufdCFrh$EpR~)!XE+ z?+Y8i*@VP(mKi>b1Udz9D-T(RgcfaXv@9au_U~kBR zZgJQwxuh6!r0Y;?8pMvzom(kq`Z3%633HuU9=Y!zt!9H^8W2eBonDd%NVJ8~5|C5k z=Frj%#Wu#0t)~|Raio|PS4SBVWV|gbsQL?RL8l`w;gm2RF|*WBz{NIQ^hn1tETTM8 zBjPkF2?Nov2>_6TRfZYSu^Aconu{lHV?!rK&RvaD9o?bKg&oVzflC!dq_QQY^Sffi zlwNLEb6NSr6%!YUq*GW*3F(%cLjgDvHm++5%qbmVA|v(!vozGF($-Dg-CWi2ES zyC_MOA4I~##r$Gml)@wlAgn;I#OK6mq+ITnZm1TcTzbJZF;iRWyh*wXl1&`TR@b2v zq(w;_M#OQfo}Y|s)!1H#VUn>U!REHl_ApjJy;1KF1re_8snM}8fx@qj!x6S;E6^y; zWI4Zd!aKgB)<9$c;&zrbolGWb1S-H?nrrB#k(tX$uDX{(=;*d6geNo`^l zjais&Gt+5Tq3(kbVU)A66)+m>G+MJte<+|;0IEDc0hO{(0*DRU!LQY)KA%*{Gs0l3 z+|p`n@7aV|g6rBe8$J!sR&1ff4~YgN4>RO=$_t|SkXa)TsV%_;M}8|p9Y zt^md1XrlJc^=k4epM18q-_2GyR1=BP^Axjcr5f|D4?82;Mou}|=3v)hp&?na zI_sgv_I97+3rk#cWC6ddGR%x=PjT6w@q>7 zZuWVESLdKra7k0A?Nla~l}W;<*T$TZ@usD5=+F@wx~l-g)@a1$cz|B>6)P#=Nye%2 zhu=30nx%;?rV6A@BvT`7iRUq-;;xKU549n#-qKVIU(;}u)-B5?Y6L3=7|*h4IyJ^Y zLSjmnxQ&>l<&UR~sPiIHjHm0GN>3(yb8^hv80fFjauc-j*}2gH;J->Nl=+cRKtt03#K*I>LTDWiDJbvDN~4yJ!RZ3 ztW_%4Xpxq=(#wgiF;~aV&`lphoamW^gI5|(8TXowUNOS9LBn&Xi*`?>1j4quQk!Uz zOtqo{Ow>qSdTUHmolk(JFp2_Hgn2YG(N0c?W!!F=4C0(&7^`E52GA01V^&~G54fQz z{i9SFiq_GW1|VEg*@rx-w1uwpd~2%7M`QzPNsKD9Q+`ICr_#q-qPzrGM*Ufe>w9<- zZKS+YDckES=vw^$vG?Y|mfm-H=jYwmv!A3l&q^bq^wJlSV9KVp4-m3F6xW7|Y=!eo{(UnUf~O{rN#saQlB;#54Smiqj} zg6k?yXT>sEs)2Q&TXY3DpJqftW^i@lvc!?rBf}<|7o=IE9#akZw%ka`ra`!yx;h3I z?mfrWnUh?(afSW)gz<8zJg)ND%Xil|pj}sVCR&(X}~s z$|q=f+}fY>yN_RHoWi$#%R@YT!s6zWFA#4#+&XO7Z}&KeW}NO=yy?r%a(2sNrfIzA z_ip2yxs<-{t>5&>ye#WaKmXF#KJ)1pzV-PRu0A3|eXBKGzV@}3e&)x1`lsIYx%l~b z_c`t!fj{gKxI0|_VUN_^fA>c^0zdip|ED*<{}+GtH^*{t$N%YNmT{+^CUmlri?++U)v($Y)vY9pH1?yKCr1%C zqX=&hu(CEJODmG1Vj&&ivZ{1FB4PDOP@}4F3>)7xaSBnF3NlU99ih<3sV&mMyEBDY)zF%zu~IC1 zVL)Kn1fHXObCQ^q3;&`tNJS}<0pXR7@BetXR4;XPT>GaW+=h zr`V0MCYNsQTCM&SAV`jp404haFALTFBY_>k9LYLAj^QgCp-=T9UV-GBMryy zDEyOH38u^AP>BqUj&-~~7Ek3dwo=-C9Myazu=%n+=8g)@RDwOKB2iwW3UM_QnP8d( z^&@rw1IIL2Ut3W(2}N=2iOsW;nGAh-h2}Yo1$bT`w;;)RCdbM10yN8Ek>pIorz+2= z%Q@btW~yWf*2f*EeZX;fYm1RQbkcQ8n1@F1w>cT5^Lm8Pn1V zHqP`|-B@F9_mCH#zf329Z+Xil&I=dw@*R>LpBrP1mmG_!S+UkKxc{CW7w+wF80Y-# zZ@<8H>f)`Q;9xpuJQK;MO1V$KTz5cJ~N;R*%5l;qtS3IPX5#e|`l1>zI=!H za7IVh83s1zPp;4f&V>WD8vfl|ml?e3EZ_L2zV(OB-*@l7HI|ED@8(NCvw!u)FO&7| zaC05E-~Gpp75ui{Ub{A*$6E)J`Ky!0(y*OL&}zMSI(MFU?e~Ab*bYDAF9D<%%cIkU zUTUkW{lg8f(D$Ey;m>^Vmw)j`PY;Jo?;Oy{D^64uJ*%SAwy3j`bfU2+Y;NWn(>&wE zMi;N`GA;{_ij+}SsE+WYZkUULCTgA3|ETaO=B2dwC=mMbFe2;Js4QYJP5YGN7CWx%maZ1J$=F1p|o)8(;(E3&DK50auURqMG@C1sEn zOMo1hIE&OU=35XR3*Qu_u2T99E}q|3N?%2OWB?KigNZ?1Xe^h}aVWgCduqxTLO^imT|_jv8>ZS_XKJ zx@s_WojfUM`3}A(V`{1XUsZ_$ZmQR&0xg1@dZn4i5|vG!Q>+D5tyD*eK1sWecwH5< zR9b*E@mZEi)f6m|46HIx%8FZ_Q^sN^bg^3w^W{=m9mHQN$5KL8wQiAAqDYq*t~_>3 zzvI#kbXKnEP&aGSXim$rSi#~%*kS00>Rc_%hNEasCg-D}Gg?GywJumEy|KuX5+?{KX?B zLsI?F>2w$$9Fa_Rc<7ABcf9$voV8LGFYl2b`dphfJWzOrYWJGrs*ZQu4MzE`i(wO@MwFZ{!*Dp&4*=vB8b zK5+k!eb>AGp&B~x{ZI`(|&m9pK1SwMm#QXAK;B{NLIuAiSgz4631y!|bI>RaCVt{eaFL;Wj1`|htz)AD}3 zabB)!H~r9KANfnqU%vjxB8k^?Jux;{x|2sPT)cL|bI;uP)W-)GH`Y14ew!f8*$_at zaPI;`xY!h9Nh*g#RzTyJbnFH*wAnW+4(p6bUC~-y=U^VOFa5_-`zIbo89IxcKolF_ zWZ@h)ka)R;Qwi$jxDz_7g>RXn>C&0pu-@t^2B-==)H|4dn}=W1Q<8OQ8I zM?xcVAu1cnreUW1W(kg7;>tzom9A|WzQixN%uPyZ#*qMwW8*t6nNq3>$8*sev;v6xQB%K9M9MKTnYLMTwTG@AOp%FrIiV>)e9Rb+0R=#r-svSk6;0HGU| zB;0%UB%vhMi(Gjm<22`Bky08iS*}yn7V#oep`Ur0Do?ZTdn&k-#tEKj;ASOlODrlb zhVYL}gM*_(X3-KyxT75zI&JiC%@uB z9tvINH+LBAH{6aJuG=p9N}nvAF`FN9X3_cXmYdDU2S9eI&R0i{_WrOJ(u42&EL29BE0%3tnv+gV*J_lvYvbMv{N__vc<%>4&eG~r`2n+dN~`bky03W6)8G6p-}rr6 z;J;We_b=YQa^r8L%j7lBJ@fq8?VUqoHp>iIu`LrBG{kGQRK+D7EH19C(AAc_^Q~{; z6CeB_eqM5ZWfiB+2!(Z>H|l#~sz8 zKFa!9R@E&@K>MCrFIME3a`E;|eBV{bpkf|V9L1RFaT|=RqQ&@1Y+O(IA!Q9HD4Igrc61HT6~MQn zpxUt@Y!o9=FgxZey!J}1VcUV23rh9a3bJn2RKkBuB9_8f)O=-4s54n#=lE8GXO@I^ zLB}^)>2%O)gLs;l3+MVPJe zG?UN`2(6Gxx0y9MyQ3NLvLKX(9O;-h#lt8_rb<;qW=YJj7qZ@MDOkHS^At;QTpH?_ z7G;8^6|`Cop)bckROw6|znQ3vjt9~PBsPkoCW&JOUpFlWL9#CMQmLsjSlXVCM2y5I zslq;vf6U-ib&rzXf92*ulK7?o*<+T;T=^fnVSsCyYA|f%$@ioV4{Z-|PFP~no~qp#F?tNRjK(lC|@JGXZzR47f(3$d8!Op>{>Ijnna%vxuW z#435-cKu^$y{WT091w_2Lux#&id1f(N?Wx#)nUjBx3*aphEm_pYz**ZpqKC5;RtiO z!yC3v@KCEo9VhG;IhRK>W=@FL>0sxnvc0&SHhasIn`y&%v7q(;_%AP<>Tu~|hm}>6 z6KB`3dIn23;pJOLeBhU#;r2@vO*VkqV`X!Q88&2g%sapL+rRT2f9-#H&u6;c$Tmmc zdErkSjYnT;Xoj;LAT_CEOQzw?o&KKA&7W}dUvb@`HuTeOUX%P(K!$;)GOf51{! zehN7v&_qe!3KJ0WS^VOA@-F+iNg+5JT^M*3{q-*2 z^!B$t{;F4<|HW%pUi|*~Xnao|Cw%15k8pI96LviweE8w*G;iwbw{EQ*?CyDKT+{VJ ztZd0v2!HF(zmuyU{{*A!*EzkmNz2d}S~`B!prr=!T-I=z!sx86^og8?!&ZZFYK7a; zgxs_kP3J^uMWZ07d$d9s{34{xXV~jf)&~2d zm~mW@B{e~#(e`AuSg94QD3{_(lnZvNBjFuUp@bcoE8m=`q%u57phvx#EqJb{0o^ZVX1th@-Tm zGHo==R>!7HBP7@4>&I*6rG$k9D}%w|Y{ooJFdSP!t3@qr`wpd&#>6dA(;M_@_qvQ{ zOSTUVS=PErRhQzO%W{U@fHNltYJF?g8A%)|1uI=v%x8kd@$vnTIGM9Z3ucM<7X$TL z1eH@rU`Tv`j)^50o4{3yudKRtS+Uom9_u)@hRmh=X~o`Xu2j5!w}+`!>KItAt_DF# z9_MMwYQMw!utliX7{Z~Hn~5}2$$#lz_g#(EL5qIZQ#hkI&xwng?fnUbD2kH0uMPDX z33F2{4RX_R3~#U0K<4=&m1&aX1xXJkxdD_K=;?gxPq+V9-;@C~3|)C{jvYC-mBi$0^ngdF}EuqGg+` zU@|?}XHgVtuxxibG?u|(8etg*>sDKZoOX})6oN{^O%g&=F!w?@uM)-*yp#;Bz7SPa zI4?78UfLV+@hi8HTAj_+kdvG1)N(_5G^HIcxhDwNti_gXb3nn%`+HQnOUrUOXaauzkA4ge)hxcT$3`RRU%Pv zS34~9C2#u1H$8UgjbHj*-}F6y{my^shyHKB@1J*m|AUYIi^FaO3*IOpH? zSLMFs?ytK?Kpla*!{yx*;g56#e)(VjgOl4=Z-0-LX&X)6Bvny0j%{h3Ugywjc`rtb z#oF%Z=xbkm@ujc1e)ZZ)bTpxD!RsD4!`r_4wVWK7JpRNp{L=3{%VF#=Pvin;E7d{< zk5;?KWEQC)N2^G9^SJ?UeeDHWX2I?8f?s+12G1WQjFXb6s1%AuP&T&jvbM3om%io_ zhkLuM4f=fi_dd$O{)7t`H9=|cRPC7%I2BqQ;TSocwoj1?YFa1Mz!w;}Wl}d9QC6sq^2t0w z7o{?6akNaCEK@;Qqb1M??xslyJRi?IZn`N_Sr5mwIwmWtA&w#bxKdpxouIA!YX^&r znL<@I)blyQ9+lxio?Fu361b5dkmGyw`YkL+R=r~16F*+VVmVV77pE%OG+hF@{OcBr zC{sav&rMYLQ}<+-|0qvdq_Hl4PMxJt#VXzC8S>9MSIcBV`A zml=iOU^)(A;H#eSo@?ROC3cnJN>7ilDvO+>IKm7)2Ak_@B|2L!DAGg?MWXWMStW2$ zwd%~Irci?ev06y#S5)b|qUGDHulDeLDcp&Vhn+>jbet(~pz8#5TGD(}s z%9rHQSzacJB`E`JtJ`CmNaKz8E=7?ReN)z?IgNN8YZRnAl6If6px^5$bx=~{jvq2z zF1UL8rW&$_D}8!_k6Goa%iLCdiz!hW(GJDSXcG#5QbJCau9UrH1_#rWMcOc3lq9+E zJ{?tKPT62;H62$wUfsXq(Uk9=_;r(9RA&>*ZYkS}STbq_=d7rt58kY3n-;xX#}mv? zQ!1~jWP~I+otLFTJc-v+ZVF_zY-tU?R?)}}f}pJ=wQu>{o-Nt0O6HnLX}To2+=&>p z+ih%HS5=IirlKqU(I`@?t0;<6zG=9tyu7>5t>}=|Q)`MKppa3bZnwG$x-LG_qw$n@ zA)isi&~`ZQwaF(V^j1UIZ>t-c!$rhlnPOWWb_|Q@Le+N44MNLv$&*-NrzG*-$j_bm zf>tX~!=(iFgwHvTQx0;C_kZFA_R>lT#_K26s0tf1t~hCEoNa|TX(RwDb|p|$X{9Rl1$UU0}zWmkuZ+`n*{`9y0g&+Lw|GyvhzwsMC;e7O$AAA4fAN}~- zviXw0_2{&_iY2Q%23zM&#TOnp|MA&!{$Q3QE7D-(drsZ*{O9|<@KKX$^5V-^zsYR{ zeZSTE(AoPh{=Khy`ww0JBVAbT{--aPBXD=P{DS!?KX-5B13&+dUj5+@J^Bm3``AbC z(@Kk$9pLG<3a(V5(zF6B@3{3PTFkg}dmCHMv@&H7nw&o~)sIz67eIpOBc5$8^9C`R5VFW)AXlx<@w zPu%IPQ_5Qv&Bp8>>?nWUU-(Pk`@^q)-F^SyTGGqj@s4*?k3RZt)0%I2FMRUyU;fd5 z@_+vQ<#f!0CtSYst#9PCZSY&a^y|2W#)Z{2?v-{F4OWDKS2k?lJRr$p)=v#7+dBJZ z!OEozY^O`6b;F&5Dc5cuU|RuguSGj_SnCD!S~|sYf-bAhPUjeGUgd}b&vuS`#U%hE z@4MDqX7g03mAc;|s|}W!a1;>3!-J%94Oj^T_mdFEOXXvfAx74Gi)F0Vq@o!5VSp`MLeEyrzTG?9Os7Zm9Gm-B zhlGZOW}0fS+&>(XrVY03sXpw$_SMiBx{gZQ&qw=8trQNSt`+o$q6E6oIMkIzp6krg zn!{zm&SXiUi|w?Y2)~=!A7ePZIX=Qk_R-U7|}OTx&C_8m`X|D8x3?KS3vY-aPN zI!^?qzvj8z-yKj#6R-tSBk0QRP$)5Q+j>g`@5gwnLBgjuF>xd(99NATGNUm&URY3P0DOOrIyB^u+5g? zvr;vjly{wENHOls<(NfBqrKWEl$NMu#)GFj_+H7lIHC|ZZl}$|Z+tzi%|1n?v3EP> zu@61N$3J$H!^mV@nOuC`YhL{3Kl80``TBQ$-_C!2m3Z!b@3a5?;~)C5_rK@g{>3WE zl*f2Eo2vFB`OXVAO9srf6YCs~_f=?2j)l=^v;t4rJvKLn+`e@~CH{k!&zHUa^*`|S zf9@au_~-75boZG)ACJJ@;qvqGQ~5l7P4E3DKl07DUV8cmnmqpMm!El&mtVL{62qyL zAscR&q^x-%T9CM&YV`00eWTaRM-w#wrjnl4YxE}N zjTr6sFav|!K(&7Ck4u%LrI8_}U~7HILl++4To`h{%vnXn`#$*sAG~~%Lrl!Dr_{Rs zu*YaVQ5cwRx63=f{agRJS?1xX&Ec6|_lk&QA}zz=KmDm+dh!oG{QIk~y>OB< zZJiA=@`HWc%3z?|oN*l1yCFtk&};XI4s#Co4q4soQH2_J%n0YykoLV>+?q_-IgEMk z@(mofMc_MZ4m?)7HV>TIWPE3jXq@8LI$ga{Y2e1y)QUT^D{8q&$_h}I)!l;IH+FHI z4(;v+)1*4%oIZYsrpwyP9P!Ld|%tbVWc+6+8Tt$HQFIvI_z zZI=_9r@47`hj^K&p|TsgY_5mov3xoSp@Txwh>|Hr&!YC2&m0bC4b#M6mTN4FS`B@k z>#II=*USm^L=BT}Q{wB60?*6J-*7D&(oRmL0NSV(il^Zh8Y9^9Aw=7DnAPB@#0E3&uWs~V*B=l z`81*Hb?^;Kb+7w|#%eEMHl3=$TDLutJfU`V^p;H`PFsQU8y>FNQi^$&7Ag!CmBPj> z=<5z0OYlq$mfaA9HhEnzi(*p6+Z5Qmf6Ps-3gxL4Ym3=r7~;oWW`ylNmFG~1mr^%b z6gA^0V`ntRvVC=PB(JsWxwOohQr%ERYKWG>(ezr(vXbq+Lxn1GCT*44%Ef!pI}4bb%)Y2NGBkZ$0qP zAHVpP|MD9C^YjvT_ho$+kHFpG^0Rm_zfd3Q-~O8)|I*tp@4fxwkA3KGEst(mXIBS| zZtoLM=PDDr-tMyDwA70F6SE~_!%-D_zUwKKB8?Xcwk<0%(|1W169!hv`Hs%_|FN&& zU}u+q|B0*UPKQ&26^5OF{iAK#Ydvlr?Qwm7!S#`BSUsH3V%YV#XQj`B9gjx>jgHsi z1JCaA*p*$iVnm$)03ZNKL_t)pl@(J7ri7OA45p2wrt9NgX3xc1Mr^DOIeq@j$G-L( zzxvO%180(z^WIPY*(Sl`aaDDrbG&c!Cm(v>|Jr~XlT4b{&(WGQ?=Kv>O68aA2 zY8SohF*6F1I>mN$wTcTggM%A)D3%4S_Bt63cSey4l4zQRT{H?oBs@h?10`VO(9n^` zq){9{O%moM5{c@jt97|!xvUH~NEW%e0J)Zi*(9|6f?-Fa>zC?cBubwc>f&6w zsT;QU3=Stci&CK3uJUKfJR)jc*Kb&9)pXqgyI!It2}U73+!~sl<8}m)-C>@VXqJWL z8zk9SrEZ7)6)Nevo@+#@MqE@Bddcdk0iA(Q5|5QHuShKBbKxZ#9LzFq9W0n-DRDC6 zRS%rt!daiTTVm>x)Hc}LskpT>V=A7^vS6*>;?#PVwj;^;l)yUf8xO-S(?!8}UNKtK zj6{X@d}>R$mAkCBe71&d&Yc*jg!t~>0n=rSVfb{r0~Jz{fR6OR=b|u|u|f%TU6)qS zCYAF*ZwNgd%d9Ai=s28(L0U+FN7PY=*(g?PeMwS>woPDY3Qv_TA{MiVD3#VIVPolp zYhB!dLsBK`JCx@&b!Mm`Q#U*nlo>5YEM&M!1aV40rk zmlxGr((k%1H$8^Fw1sgH=oXGx zII`r}=AdO*fsN5}h_YC9mJ7?%6^v1o&<+B1vyd2II6l!NBTg+6qsI$(=KQN)`!EY> zOX~DgrRu6YOA;y8uUF^X+YdQE=wZy4EOz#2IUWNyBrK(xR3qw`+)5W*na*$wpL>ip ztFoa83Utk6dQ>oWV%l%&@ulDNCF(o9994YySD)v%9(|svKj3fwy}x_z(mTFet*QUu zH~w||>fYh&KJ~GW{=jpee)b!ZBr@jvOVWKEqt5Y-3{SkmQb+2BRGz134~EgOGHk1x z2f1lm8?N)jQ_t}7_P(Mq^qq=(PYrq1g)PoMc#$)g9{l!8-}FEJ(iiGA@$UQj%tzqv zaQT^!(HHf<_!~d)-T&evAAIc3P4^~fNzCa%z?-#qM4Y#;{J>!Y1dt5FOW_Hc$sTI;P zCr)YwbPhXhsx)C!*ndsUG*5ZpOCG#_;eoUNT=vhu@hgwMd&O`#=QecnBhL16{A|K~ zC)R1{HBOb$X$Q)uI6umm-)_(kROyK2bP7R%%HZFfM`ZZj=P#?cg0FBtd+4{Qx6riYB~+#w7*w0bAm zpB3y)3l?!hnM%4=LKhW*Wn!tmo|3Nb;Fz$S&yK4ZZJXM1*q33VZ14uFs%Eg~YIFi& z{v{N}^0-+>cWJCP^TJ|pmQq*_PP?tVfr9sunmSh(4_c~Pb0kgPTj?rZX;z4W>JxY! zb@8pzC3chG>2ogKcY;A!qnAtcGNUwX?!-FRcT+}VNxgTd8c(g*O#!M`3BH-(X-j%u z&Pp4)jkBgyye7moyUeFK&%AhrYq$2%CFl`4oITlNYhcl`a zkTt)dj=zMq23?QSo2$5<;G+sPlxwz6T*4$O6jyX1E9a`DXUJz@5SrR?TMQ*>wp1QX zSvSgYnG}gsMT8BrZI(ISuoEQWCC4} zOl*<1v{DTv;-3}Hru3%^4ZstGk0_<8epA@4QW=>Y2ZEeqyp9aVaaNHF=E(HPg^^iG z<4tsoP!i2l26flL7f`(TgPR&pYz5*yH7yqNl+kR7rSq4zT3i=%FQUk(Inhg z(JE`&?U03CaXX2*vW)S(9<5l%(S+F<)5s=AZ*f$NnXS(FlYj9WIDOV%JBrgHL_*FApTWp%zfU*}NGpTKpT5n@yK}D0GUiQ6Z(y_LH(ct6 zoa?TVjWj;->}5VVn$U!B`c)UXxj&+4Jmp`LHWQ<&7^vF8jMOnn^pdsBRXSmZPe1-V zCta8Otb*5{?azK; zA(J$8X0WrfsFi_ zI;;jdv%}kpGw6gv;>zN1QE~nD2~wkQaN*=WhiuTiyw;^WjEpBPAl zW`n6xxpk4Uw$i2@);Lm2*i_VwNmlxdV!7gWnM-omFm!7NZ^7PQgac`<-Xli5NIjh(iK=L-lvCC(Ep&r?{cw9;6lHPd;l*4iCC zqvzS=i%7xkJE4WC3A6U8x zF*SJ{gEAJiP|ZhZRgP8)63A4wt467_+>@IFgFA~Qv$~|ewZ`V@bsVo&tLG+-mFg(B zFv8_b8(EbLuT+9!CVJ()!e}kGjIh^pXbVpEQ)MJhS{=dWIr!X zjH1LdY>HfCo{0@ZJg%`iceSPPhypUX!JakTnAiO3N1x=zBB!xK25uX@Zq%k>Xf{01 zb9vao-DJu2MS`LG_;Ev9!dHRRVHV_3O=4zbs|nxy zJzvR*jhcfyhwNVQ`FFqd9Ny{sns9aV%8i$=o)-mr?_j}bA~&xZz0hW@W0H@L=(+)y z&Yk4GO`C!5Fx^Y|`19L*VlTxT^f|xobMMv)=gytu%H@}t9*&4DpU18r@Z`;1ghrOt z1*iKVZ}_qYSn0Z~o!a>6zy6PY;rl<+b>{Bhe_tk#&N83*Hu zVjk*6#zrgPzV&s^wp!$S+f>s7POg|-y0pRCMvL~!DzP-37;Uw7j8cK2I2f6(QoUCu zhg`n(0-Gxir}`mh+kLvW!>RQ(b`E!W;>t_JmPZw=@z|4Bm=l2AQ7gf~b}_PCaTcq- ztnue;ojk#MZ@>#rJ&QXY^QIM_H$S++dMo18ij5J^p-wP5hT=-vc8mEz&Qp)=vD!I7 z+h5~_otsR$8TY>N0`{s-n#TlYNK^S-yFO<;O|g6%(!<5Sxn*Kdv3za62M;(M}{_tKNFi1b{G z@!p1Bucc}gmsz503G#oX;Uvy-;3lA)G+l%RS+%`i=$ah?esZ}5^x;l z1C?RTl$C9`LK5eyauJ<3++e5vl+T zSGstD{%QF%rp?XWkvfM=r%RF?*DcE0xGZM)LBj(Nog?hE$dZ)k&VPq-xK9h=(pLH7&)%5h9If16eTdQ3>DO=%3Ot-WJQmltz@{A zw3H^K8losu1Evaf z$?z;eF-u@cGA|mc(MnWQxnWVmZ6)nelEIR-vq?dw&KW5cD58{d5u;}XwkY_Opr>Sb zPiPI>I4X>#DXM^@TdMLkj*fk)agnIdmzjX%lu~>a1Z*#L9((pWzx~X0a>F99+vts< zUgKKJMu@=~z?DRM> z@L2I>p-F=Y%rjEef;qt$!kLz>yVt?d^f9Sg( zfBcjG^Cy1q@hvR}U$be8Do`wV)1swEBu58Wu14$Z@Rioc1hynOABsz2-wd~7|zCRhGVVecg~ z;S^fL6^Q5|uyE;w76znL^mT({H7jtX8>P)U5laoF3PGTqOxb&r;5;p-ZK43Jf( zSc0x&V0+T5>?F^4j%x^Ayg+BX7##;QmNlW_(G7a|EkQrY5HHO> z;!~`#W&J;o6t_{*vz2G4KLtmmYcA2UL^$k*<};Zrn9kaelWr^t0`@hK*A^m@t4PzHpw?2&ji<`(-d;<%jfDSPi<2PBwhYaI=m%ZBsUk*hSVr%y?80*oJzCBG3ehm zXfzovHB|;6h%Ff~g?lQ>t{N;WIo86^)Uo7yD8Zs?N-_BgS!Lg2W>NyhZx2z?O~_%2S*C6e)0UU!;v0*4L-!)`-TM#MrrSoPVw z&<3XT+=eFBS?;@BzLE0bm-bnf(g3D2I=H1s61~8nZFLwpHetQskq7U`mwM0nF2h#N z#!6SE+ixC5{N^XGu)ejym!9vdbNxe4+~V2iC!AkBLAZX3XBSg``=uAy*HK#$QOQFK zRqcE6zO(%0AN*@y_15qFfscIdu3UGY>GS0X+#N1IUp|S?v)A#aM_zsXQ%^o~M!Jlp zapP5|&vVb(I_cpZ&aJP~F%6!2<~dTQdz|b|a*BF^+f7*=!kfS3EEmq5;)zdR!(@C6PIuC?9BWya=iVb-b zFKDlK9k02EGj_qbRiAQtKsK2n3d_p9Yv_U0Gp2M~1EQUnbgaSL z3l|WBrnA{xiGhU9AA8&2Y!IR6ANH0~b)`x;!ky<

`vrF3 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 z%0D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 literal 0 HcmV?d00001 From dc9b38ec80ee7423c163b46feca56516a528a1f9 Mon Sep 17 00:00:00 2001 From: TechStreet Date: Thu, 4 Jan 2024 10:37:26 +0000 Subject: [PATCH 2/4] add: documentation changes --- README.md | 98 ++++++++----------------------------------------------- 1 file changed, 14 insertions(+), 84 deletions(-) diff --git a/README.md b/README.md index 6b3dbb9..879480e 100644 --- a/README.md +++ b/README.md @@ -10,100 +10,30 @@ DFScript is a mod created for DiamondFire to allow scripting on the client. This ## About DFScript adds the ability to add new features through the added -'scripting' ability. Scripting is constructing event based code (similar to DiamondFire) inside a client side menu, with the events and actions being simple client-based activities. +'scripting' ability. Scripting is constructing event based code (similar to DiamondFire) inside a web ui, with the events and actions being simple client-based activities. -For example, a script could play a sound when the player receives a message with their name in it, or automatically add the @ character in front of sent messages. +For example, a script could play a sound when the player receives a message with their name in it, or automatically add the @ character in front of sent messages. ___ -To access the scripting menu, run `/scripts`, and a menu will appear showing all of the scripts you have installed. Here you can toggle, delete, edit and upload scripts. -*(A simple menu which can disable scripts can be accessed through the button in the top left.)* +To access the DFScript menu, run `/dfscript`, and a menu will appear showing many different options, you can then press **Installed Scripts** to view scripts you currently have installed, here you can toggle scripts on and off or press **Dashboard** to visit the scripting dashboard and create/install new scripts. +*(The same many can be accessed on the multiplayer connection screen)* -To install a script you can click 'Add' and browse through scripts that others have created, or select 'New Script' if you would like to create one yourself. +To install a script you can locate the one you wish to install via the [public directory](https://dfscript.techstreet.dev/public/) and then press **Install Script** the script will then automatically install on your client and be enabled. ## Creating Scripts +To create a new script, access the [dashboard](https://dfscript.techstreet.dev/) from here you can press the **New Script** button, and then name and version your script, it will be created and displayed in the main menu. From here, you can edit, upload and delete. -To create a new script, run `/script`, select 'Add', and 'New Script'. After naming your script, it will be created and displayed in the main menu. From here, you can edit, upload, delete, and toggle your script. - -Here is what each of these actions do: -- ![Edit icon](https://i.imgur.com/T01dmur.png) Edit: From this menu, you can add options and code to your script. -- ![Upload icon]( https://i.imgur.com/0FuRXJ1.png) Upload: Uploads the script so that others with the mod can install and use it. (They can not modify the code) -- ![Delete icon](https://i.imgur.com/Ya9xyWH.png) Delete: Deletes your script permanently. -- ![enter image description here](https://i.imgur.com/Av7lZmu.png)**/**![enter image description here](https://i.imgur.com/I8PXtvr.png) Toggle: Toggles your script on and off. When a script is off, it does not run at all. (Red means script is currently on, green means script is off) - -To edit your script, select the edit icon and a new menu will be opened. From here, you can add code, change your scripts description and add config options. - -- ![Settings Icon](https://i.imgur.com/fy9SfQP.png) From here you can write a short description about your script to tell others who may use it any important information. -You can also add config options which users can change without accessing the code. The values of these options can be used in your code. (More info [later](https://github.com/not-first/DFScript-updated-readme-/edit/1.19.2/README.md#changing-parameters)) - - - -## Interactions -**Left click** -- Use on buttons to click them -- Use to add code to your script, and to add parameters to code blocks -- Use in your script menu to edit parameters of a code block -- Use to select text box - -**Right Click** -- Use on code blocks in your script menu to bring up a small menu where you can: - - Delete the code block - - Insert code before the code block - - Insert new code after the code block -- Can also be used on buttons to click them - -**Escape** -- Use in any menu to go back to the previous menu - - **Scroll** -- Moves a menu up and down - -## Editing Scripts -*Note that it is only possible to edit code in a script you have made yourself. Any downloaded script will still be able to be deleted, toggled, and have its options changed, but the code will be inaccessible.* - -Select the 'Add' button to add code to your script. From there you can select the category, and a specific code block. There is a short description about each block if you hover over them to help you understand what they do. - -All code is set in one menu. Just like in DiamondFire, all code must start with an event. When that event is triggered, the code inside it will run from top to bottom. - -### Changing Parameters -Most code blocks need parameters inside them so they can execute properly. You can view what parameters a code blocks needs by hovering over its icon in your script menu. An asterisk after a parameter means that a value for it is not required and the code block can run without it. - -To add values for these parameters, left click on the code block you would like to edit and a menu will be brought up. Any parameters already in the code block will show. To add values, click the 'Add' button, and a new menu with a text input box will appear. -___ -This input screen has two important sections. -1. The text box. Here is where you input a number, string, name of a variable or any other type of value required. Make sure you have finished the value you would like to add to your code block before selecting a type. -2. The value type. Here is where you select what type of value you would like to add to your code block. For example, if I wanted to add a variable called 'score', I would type `score` in the text box, then click on the variable icon (magma cream). A variable named 'score' will be added to the code block. -Most value types and their icons such as a text, a number and a variable you may recognise from DiamondFire, but here are some ones you may not be familiar with: - - - Client Value: *(Requires no text input.)* Selecting this value will bring up a menu containing values related to the client, very similar to DiamondFire's game values. - Some of these can be used in any scenario, such as the number of the players selected hotbar slot, or the players main hand item. - Others can only used if the code is under a certain event, such as the last received message *(pairs with the 'OnRecieveChat' event)* or the last received sound *(pairs with the 'OnRecieveSound' event)*. - - Config Value: *(Requires no text input.)* Selecting this value will bring up a menu of all the config options you have added to your script. These will act as a variable and return a value of the option. -For example, if I had created Option 1 as a string, and the user had set it to `complete`, the config value for options 1 would return 'complete' as a string. -These can be nearly any value type, so pay attention to make sure the code block you are using supports the value type. - -*Currently, changing the order and contents of added parameters is not supported, so you will have to delete and redo if you make a mistake.* ## Disabling Scripts - !! -Sometimes when you are creating a script, you may accidentally make your client complete actions which are against DiamondFire rules, such as making your client spam, or other similar actions. If this is the case, immediately leave the server. In the top left if your multiplayer screen, there will be a button button (![Scripts icon]( https://i.imgur.com/Q2phpZz.png)) which will open up a version of the scripts menu where scripts can be disabled. When you rejoin the server the script will now be disabled. **You can edit code inside a disabled script, so make sure you have fixed the issue before re-enabling the script.** -If the issue came from a script you did not make, report the script in the [discord](https://discord.gg/gtfFwWEapx) so it can be removed. -## Downloading Scripts -To download a script that someone else has made, open the main scripts menu, select add, and there will be a list of scripts others have made as well as a search bar. Scripts with a star next to their name mean that they are verified and safe to use. +Sometimes when you are creating a script, you may accidentally make your client complete actions which are against DiamondFire rules, such as making your client spam, or other similar actions. If this is the case, immediately leave the server. In the top left if your multiplayer screen, there will be a button button (![Scripts icon](https://i.imgur.com/Q2phpZz.png)) which will open up a version of the DFScript menu where scripts can be disabled. When you rejoin the server the script will now be disabled. -**!! Unverified scripts may potentially be dangerous, not towards your computer, but they may make your client spam or do other activities not appreciated on DiamondFire. You can ask in the discord if you are unsure about a certain script. !!** - -Selecting a script from here will bring up a menu showing information about the script such as the authors name, script ID, and if it has been approved or not. -Clicking the install button from here will add the script to your client. A message will be shown in chat verifying the script has been loaded. This downloaded script will appear in the normal scripts menu, just without the ability to upload it or edit its code. - -## Commands and Files - -All DFScript commands begin with `/scripts`. -- `/scripts` Opens the main script menu. -- `/scripts recursion (number)` Changes the number of events that can trigger in a single tick. -- `/scripts reload` Reloads all of the scripts on your machine. Use this is you are manually installing are changing scripts through files. -- `/scripts vars (script name)` Lists the values of all the variables in the selected script. Similar to DiamondFire's /p vars command. - -To access script files go to `%appdata%\.minecraft\DFScript` on your machine. Here there will be a 'Scripts' folder, which contains all the scripts you have installed in the form of a json file. If a script manages text files, they will be in a sub folder called `scriptname.json-files`. +If the issue came from a script you did not make, report the script in the [discord](https://discord.gg/gtfFwWEapx) so it can be removed. -You can easily back up scripts here by copy and pasting the json file into another location. Pasting and deleting json files from this folder will do the same in-game, so be careful about what you change. +## Commands +All DFScript commands begin with `/dfscript`. +- `/dfscript` Opens the main DFScript menu. +- `/dfscript recursion (number)` Changes the number of events that can trigger in a single tick. +- `/dfscript reload` Downloads and reloads all of the scripts on your machine. +- `/dfscript vars (script name)` Lists the values of all the variables in the selected script. Similar to DiamondFire's /p vars command. ___

From 1935949bcd6a399d08223739318880e472234bf4 Mon Sep 17 00:00:00 2001 From: XTerPL Date: Sat, 17 Feb 2024 15:53:06 +0100 Subject: [PATCH 3/4] update to 1.20.4 + fix an issue with CItem countText --- build.gradle | 2 +- gradle.properties | 8 ++-- gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 62076 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 35 ++++++++++++------ gradlew.bat | 15 +++++--- .../screen/script/ScriptAddScreen.java | 2 - .../dfscript/screen/widget/CItem.java | 2 +- .../script/action/ScriptActionArgument.java | 6 +-- .../script/action/ScriptActionType.java | 10 ++--- .../argument/ScriptClientValueArgument.java | 2 +- .../argument/ScriptVariableArgument.java | 2 +- .../script/conditions/ScriptBooleanSet.java | 16 ++++---- .../script/conditions/ScriptBranch.java | 4 +- .../conditions/ScriptConditionType.java | 2 +- .../script/event/ScriptEmptyHeader.java | 2 +- .../script/event/ScriptEventType.java | 2 +- .../dfscript/script/event/ScriptFunction.java | 6 +-- .../script/options/ScriptOptionEnum.java | 2 +- .../repetitions/ScriptRepetitionType.java | 10 ++--- .../script/repetitions/ScriptWhile.java | 8 ++-- .../dfscript/util/ComponentUtil.java | 2 +- .../render/BlendableTexturedButtonWidget.java | 4 +- src/main/resources/fabric.mod.json | 4 +- 24 files changed, 81 insertions(+), 68 deletions(-) diff --git a/build.gradle b/build.gradle index eded3a9..e962bdf 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.2-SNAPSHOT' + id 'fabric-loom' version '1.5-SNAPSHOT' id 'maven-publish' id 'com.github.johnrengelman.shadow' version '7.1.2' } diff --git a/gradle.properties b/gradle.properties index 807338d..9ad951b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,13 +2,13 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.20.2 -yarn_mappings=1.20.2+build.4 -loader_version=0.15.3 +minecraft_version=1.20.4 +yarn_mappings=1.20.4+build.3 +loader_version=0.15.7 # Mod Properties mod_version=1.0-SNAPSHOT maven_group=io.github.techstreet.dfscript archives_base_name=DFScript # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.91.2+1.20.2 \ No newline at end of file +fabric_version=0.96.1+1.20.4 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..c1962a79e29d3e0ab67b14947c167a862655af9b 100644 GIT binary patch delta 40133 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/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index 107acd3..93e3f59 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java index 61f05cc..801b38a 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/script/ScriptAddScreen.java @@ -21,8 +21,6 @@ import java.nio.charset.Charset; import java.util.*; -import net.minecraft.text.LiteralTextContent; -import net.minecraft.text.MutableText; import net.minecraft.text.Text; public class ScriptAddScreen extends CScreen { diff --git a/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java b/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java index db69ce0..1721448 100644 --- a/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java +++ b/src/main/java/io/github/techstreet/dfscript/screen/widget/CItem.java @@ -46,7 +46,7 @@ public void render(DrawContext context, int mouseX, int mouseY, float tickDelta) RenderUtil.renderGuiItem(context, item); if(countText != null) { - stack.translate(4, 4, 0); + stack.translate(4, 4, 200); stack.scale(0.5f, 0.5f, 0.5f); context.drawText(DFScript.MC.textRenderer, countText, 0, 0, 0xFFFFFFFF, true); } diff --git a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java index 51191c9..a9a5e76 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java +++ b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionArgument.java @@ -143,7 +143,7 @@ private ItemStack convertIcon(ItemStack icon) { } if(optional() || plural()) { - lore.add(NbtString.of(Text.Serializer.toJson( + lore.add(NbtString.of(Text.Serialization.toJsonString( Text.literal((optional() ? (plural() ? "Optional & " : "Optional") : "") + (plural() ? "Plural" : "")) .fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.GRAY)) @@ -151,7 +151,7 @@ private ItemStack convertIcon(ItemStack icon) { } if(!(defaultValue() instanceof ScriptUnknownValue)) { - lore.add(NbtString.of(Text.Serializer.toJson( + lore.add(NbtString.of(Text.Serialization.toJsonString( Text.literal("Default: "+defaultValue().formatAsText()) .fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.GRAY)) ))); @@ -230,7 +230,7 @@ public ItemStack icon(String name) { itemStack.setCustomName(Text.literal(name).setStyle(Style.EMPTY.withColor(Formatting.WHITE).withItalic(false))); NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(text()))); + lore.add(NbtString.of(Text.Serialization.toJsonString(text()))); itemStack.getSubNbt("display").put("Lore", lore); return itemStack; diff --git a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java index bbc03bd..e60067a 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java +++ b/src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java @@ -1693,28 +1693,28 @@ public ItemStack getIcon() { if(isDeprecated()) { - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("This action is deprecated!") + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("This action is deprecated!") .fillStyle(Style.EMPTY .withColor(Formatting.RED) .withItalic(false))))); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Use '" + deprecated.getName() + "'") + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Use '" + deprecated.getName() + "'") .fillStyle(Style.EMPTY .withColor(Formatting.RED) .withItalic(false))))); } for (String descriptionLine: description) { - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal(descriptionLine) + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal(descriptionLine) .fillStyle(Style.EMPTY .withColor(Formatting.GRAY) .withItalic(false))))); } - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); for (ScriptActionArgument arg : arguments) { for (Text txt : arg.text()) { - lore.add(NbtString.of(Text.Serializer.toJson(txt))); + lore.add(NbtString.of(Text.Serialization.toJsonString(txt))); } } diff --git a/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java b/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java index e39f71e..6c30921 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java +++ b/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptClientValueArgument.java @@ -179,7 +179,7 @@ public enum ScriptClientValueArgument implements ScriptArgument { .fillStyle(Style.EMPTY .withItalic(false))); NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal(description) + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal(description) .fillStyle(Style.EMPTY .withColor(Formatting.GRAY) .withItalic(false))))); diff --git a/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptVariableArgument.java b/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptVariableArgument.java index 22c5dd4..2b82123 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptVariableArgument.java +++ b/src/main/java/io/github/techstreet/dfscript/script/argument/ScriptVariableArgument.java @@ -58,7 +58,7 @@ public ItemStack getArgIcon() { NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(scope.getName()))); + lore.add(NbtString.of(Text.Serialization.toJsonString(scope.getName()))); icon.getSubNbt("display").put("Lore", lore); diff --git a/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBooleanSet.java b/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBooleanSet.java index 975b91d..d3d2c4e 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBooleanSet.java +++ b/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBooleanSet.java @@ -43,14 +43,14 @@ public class ScriptBooleanSet extends ScriptParametrizedPart { NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Sets a variable to the result of a condition.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Sets a variable to the result of a condition.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); MutableText t = ScriptActionArgument.ScriptActionArgumentType.VARIABLE.text(); t.append(Text.literal(" - ").fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.GRAY))) .append(Text.literal("Result").fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.WHITE))); - lore.add(NbtString.of(Text.Serializer.toJson(t))); + lore.add(NbtString.of(Text.Serialization.toJsonString(t))); booleanSetIcon.getSubNbt("display") .put("Lore", lore); @@ -115,18 +115,18 @@ public ItemStack getIcon() { NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Sets a variable to the result of a condition.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Sets a variable to the result of a condition.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); MutableText t = ScriptActionArgument.ScriptActionArgumentType.VARIABLE.text(); t.append(Text.literal(" - ").fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.GRAY))) .append(Text.literal("Result").fillStyle(Style.EMPTY.withItalic(false).withColor(Formatting.WHITE))); - lore.add(NbtString.of(Text.Serializer.toJson(t))); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(t))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); for (Text txt : condition.getLore()) { - lore.add(NbtString.of(Text.Serializer.toJson(txt))); + lore.add(NbtString.of(Text.Serialization.toJsonString(txt))); } icon.getSubNbt("display") diff --git a/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBranch.java b/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBranch.java index 9b4b478..ab51c66 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBranch.java +++ b/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptBranch.java @@ -39,7 +39,7 @@ public class ScriptBranch extends ScriptParametrizedPart implements ScriptScopeP NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Closes the current code block.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Closes the current code block.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); closeBracketIcon.getSubNbt("display") .put("Lore", lore); @@ -51,7 +51,7 @@ public class ScriptBranch extends ScriptParametrizedPart implements ScriptScopeP lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Executes if the last IF condition failed.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Executes if the last IF condition failed.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); elseIcon.getSubNbt("display") .put("Lore", lore); diff --git a/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptConditionType.java b/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptConditionType.java index dab8058..359ee7e 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptConditionType.java +++ b/src/main/java/io/github/techstreet/dfscript/script/conditions/ScriptConditionType.java @@ -337,7 +337,7 @@ public ItemStack getIcon(String prefix) { NbtList lore = new NbtList(); for (Text txt : getLore()) { - lore.add(NbtString.of(Text.Serializer.toJson(txt))); + lore.add(NbtString.of(Text.Serialization.toJsonString(txt))); } item.getSubNbt("display") diff --git a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEmptyHeader.java b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEmptyHeader.java index 8da7fd1..3794ed0 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEmptyHeader.java +++ b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEmptyHeader.java @@ -33,7 +33,7 @@ public class ScriptEmptyHeader extends ScriptHeader { NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Literally can never be triggered...").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Literally can never be triggered...").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); emptyIcon.getSubNbt("display") .put("Lore", lore); diff --git a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java index 97d695b..2043e8e 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java +++ b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptEventType.java @@ -49,7 +49,7 @@ public enum ScriptEventType { .withColor(Formatting.WHITE) .withItalic(false))); NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal(description) + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal(description) .fillStyle(Style.EMPTY .withColor(Formatting.GRAY) .withItalic(false))))); diff --git a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptFunction.java b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptFunction.java index 00150b4..a2b8994 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/event/ScriptFunction.java +++ b/src/main/java/io/github/techstreet/dfscript/script/event/ScriptFunction.java @@ -57,19 +57,19 @@ public ItemStack getIcon() { if(description != "") { for (String descriptionLine: description.split("\n")) { - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal(descriptionLine) + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal(descriptionLine) .fillStyle(Style.EMPTY .withColor(Formatting.GRAY) .withItalic(false))))); } if(argList.size() > 0) - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); } for (ScriptActionArgument arg : argList) { for (Text txt : arg.text()) { - lore.add(NbtString.of(Text.Serializer.toJson(txt))); + lore.add(NbtString.of(Text.Serialization.toJsonString(txt))); } } diff --git a/src/main/java/io/github/techstreet/dfscript/script/options/ScriptOptionEnum.java b/src/main/java/io/github/techstreet/dfscript/script/options/ScriptOptionEnum.java index 294dde8..0925106 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/options/ScriptOptionEnum.java +++ b/src/main/java/io/github/techstreet/dfscript/script/options/ScriptOptionEnum.java @@ -65,7 +65,7 @@ public ItemStack getIcon() NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal(description) + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal(description) .fillStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false)) ))); diff --git a/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptRepetitionType.java b/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptRepetitionType.java index 39609e1..f809652 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptRepetitionType.java +++ b/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptRepetitionType.java @@ -129,28 +129,28 @@ public ItemStack getIcon() { if(isDeprecated()) { - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("This action is deprecated!") + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("This action is deprecated!") .fillStyle(Style.EMPTY .withColor(Formatting.RED) .withItalic(false))))); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Use '" + deprecated.getName() + "'") + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Use '" + deprecated.getName() + "'") .fillStyle(Style.EMPTY .withColor(Formatting.RED) .withItalic(false))))); } for (String descriptionLine: description) { - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal(descriptionLine) + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal(descriptionLine) .fillStyle(Style.EMPTY .withColor(Formatting.GRAY) .withItalic(false))))); } - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); for (ScriptActionArgument arg : arguments) { for (Text txt : arg.text()) { - lore.add(NbtString.of(Text.Serializer.toJson(txt))); + lore.add(NbtString.of(Text.Serialization.toJsonString(txt))); } } diff --git a/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptWhile.java b/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptWhile.java index f345136..2e22302 100644 --- a/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptWhile.java +++ b/src/main/java/io/github/techstreet/dfscript/script/repetitions/ScriptWhile.java @@ -39,7 +39,7 @@ public class ScriptWhile extends ScriptRepetition { NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Repeats while a condition is true.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Repeats while a condition is true.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); whileIcon.getSubNbt("display") .put("Lore", lore); @@ -66,11 +66,11 @@ public ItemStack getIcon() { NbtList lore = new NbtList(); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("Repeats while a condition is true.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); - lore.add(NbtString.of(Text.Serializer.toJson(Text.literal("")))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("Repeats while a condition is true.").setStyle(Style.EMPTY.withColor(Formatting.GRAY).withItalic(false))))); + lore.add(NbtString.of(Text.Serialization.toJsonString(Text.literal("")))); for (Text txt : condition.getLore()) { - lore.add(NbtString.of(Text.Serializer.toJson(txt))); + lore.add(NbtString.of(Text.Serialization.toJsonString(txt))); } icon.getSubNbt("display") diff --git a/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java b/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java index 19c0093..6c6b099 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java +++ b/src/main/java/io/github/techstreet/dfscript/util/ComponentUtil.java @@ -34,7 +34,7 @@ public static MutableText fromString(String message) { s = s.withFormatting(Formatting.byCode(col.charAt(1))); } else { s = Style.EMPTY.withColor( - TextColor.parse("#" + col.replaceAll("§", "").substring(1))); + TextColor.parse("#" + col.replaceAll("§", "").substring(1)).getOrThrow(false, (h) -> {throw new IllegalArgumentException(h);})); } lastIndex = matcher.end(); } diff --git a/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java b/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java index 7de7370..1bb2e0a 100644 --- a/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java +++ b/src/main/java/io/github/techstreet/dfscript/util/render/BlendableTexturedButtonWidget.java @@ -25,10 +25,10 @@ public BlendableTexturedButtonWidget(int x, int y, int width, int height, Identi // } @Override - public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) { + public void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { RenderSystem.clearColor(1.0F, 1.0F, 1.0F, this.alpha); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - super.renderButton(context, mouseX, mouseY, delta); + super.renderWidget(context, mouseX, mouseY, delta); } } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 7a2da59..18a06f0 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,9 +22,9 @@ "dfscript.mixins.json" ], "depends": { - "fabricloader": ">=0.15.3", + "fabricloader": ">=0.15.7", "fabric-api": "*", - "minecraft": "~1.20", + "minecraft": "1.20.4", "java": ">=17" } } From 0bd0bcc244c8e2a129646d38033e679d71199b66 Mon Sep 17 00:00:00 2001 From: TechStreet Date: Sat, 17 Feb 2024 18:01:43 +0000 Subject: [PATCH 4/4] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 82b20ac..75f3081 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: Build on: push: branches: - - '1.20.2' + - '1.20.4' jobs: build: