From 390ea2a2a60b63f3a342951fdb023c7bb66537c5 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sun, 30 Aug 2015 05:11:05 +0200 Subject: [PATCH] Added twitter & forum buttons, changed the way text is shown, added crusher page with every crusher recipe --- .../booklet/BookletChapterCrusher.java | 35 +++++++++++++++++ .../actuallyadditions/booklet/GuiBooklet.java | 36 +++++++++++++++++- .../booklet/InitBooklet.java | 1 + .../booklet/page/BookletPage.java | 21 ++++++++++ .../booklet/page/PageCrafting.java | 10 +---- .../booklet/page/PageCrusherRecipe.java | 28 ++++++-------- .../booklet/page/PageFurnace.java | 6 +-- .../crafting/BlockCrafting.java | 4 ++ .../textures/gui/guiBooklet.png | Bin 18415 -> 18587 bytes 9 files changed, 110 insertions(+), 31 deletions(-) create mode 100644 src/main/java/ellpeck/actuallyadditions/booklet/BookletChapterCrusher.java diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/BookletChapterCrusher.java b/src/main/java/ellpeck/actuallyadditions/booklet/BookletChapterCrusher.java new file mode 100644 index 000000000..03925deb0 --- /dev/null +++ b/src/main/java/ellpeck/actuallyadditions/booklet/BookletChapterCrusher.java @@ -0,0 +1,35 @@ +/* + * This file ("BookletChapterCrusher.java") is part of the Actually Additions Mod for Minecraft. + * It is created and owned by Ellpeck and distributed + * under the Actually Additions License to be found at + * http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md + * View the source code at https://github.com/Ellpeck/ActuallyAdditions + * + * © 2015 Ellpeck + */ + +package ellpeck.actuallyadditions.booklet; + +import ellpeck.actuallyadditions.booklet.page.IBookletPage; +import ellpeck.actuallyadditions.booklet.page.PageCrusherRecipe; +import ellpeck.actuallyadditions.recipe.CrusherRecipeManualRegistry; +import scala.actors.threadpool.Arrays; + +import java.util.ArrayList; + +public class BookletChapterCrusher extends BookletChapter{ + + public BookletChapterCrusher(String unlocalizedName, BookletIndexEntry entry, IBookletPage... pages){ + super(unlocalizedName, entry, getAllPages(pages)); + } + + @SuppressWarnings("unchecked") + private static IBookletPage[] getAllPages(IBookletPage... pages){ + ArrayList list = new ArrayList(); + list.addAll(Arrays.asList(pages)); + for(CrusherRecipeManualRegistry.CrusherRecipe rec : CrusherRecipeManualRegistry.recipes){ + list.add(new PageCrusherRecipe(list.size()+1, rec)); + } + return list.toArray(new IBookletPage[list.size()]); + } +} diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java b/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java index 5b5d23173..421cd4960 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java @@ -28,6 +28,8 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; +import java.awt.*; +import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -51,6 +53,8 @@ public class GuiBooklet extends GuiScreen{ private GuiTextField searchField; + private static final int BUTTON_TWITTER_ID = -4; + private static final int BUTTON_FORUM_ID = -3; private static final int BUTTON_ACHIEVEMENTS_ID = -2; private static final int BUTTON_CONFIG_ID = -1; private static final int BUTTON_FORWARD_ID = 0; @@ -123,6 +127,8 @@ public class GuiBooklet extends GuiScreen{ this.buttonList.add(new TexturedButton(BUTTON_ACHIEVEMENTS_ID, this.guiLeft+138, this.guiTop, 205, 0, 8, 8)); this.buttonList.add(new TexturedButton(BUTTON_CONFIG_ID, this.guiLeft+138, this.guiTop+10, 197, 0, 8, 8)); + this.buttonList.add(new TexturedButton(BUTTON_TWITTER_ID, this.guiLeft, this.guiTop, 213, 0, 8, 8)); + this.buttonList.add(new TexturedButton(BUTTON_FORUM_ID, this.guiLeft, this.guiTop+10, 221, 0, 8, 8)); this.searchField = new GuiTextField(this.unicodeRenderer, guiLeft+148, guiTop+162, 66, 10); this.searchField.setMaxStringLength(30); @@ -191,6 +197,14 @@ public class GuiBooklet extends GuiScreen{ if(x >= this.guiLeft+138 && x <= this.guiLeft+138+7 && y >= this.guiTop+10 && y <= this.guiTop+10+7){ this.func_146283_a(Collections.singletonList("Show Config"), x, y); } + //Twitter Hover Text + if(x >= this.guiLeft && x <= this.guiLeft+7 && y >= this.guiTop && y <= this.guiTop+7){ + this.func_146283_a(Collections.singletonList("Open @ActAddMod on Twitter in Browser"), x, y); + } + //Forum Hover Text + if(x >= this.guiLeft && x <= this.guiLeft+7 && y >= this.guiTop+10 && y <= this.guiTop+10+7){ + this.func_146283_a(Collections.singletonList("Open Minecraft Forum Post in Browser"), x, y); + } if(this.currentIndexEntry != null && this.currentChapter != null && this.currentPage != null){ this.currentPage.render(this, x, y); @@ -221,7 +235,27 @@ public class GuiBooklet extends GuiScreen{ @Override public void actionPerformed(GuiButton button){ - if(button.id == BUTTON_CONFIG_ID){ + if(button.id == BUTTON_TWITTER_ID){ + try{ + if(Desktop.isDesktopSupported()){ + Desktop.getDesktop().browse(new URI("https://twitter.com/ActAddMod")); + } + } + catch(Exception e){ + e.printStackTrace(); + } + } + else if(button.id == BUTTON_FORUM_ID){ + try{ + if(Desktop.isDesktopSupported()){ + Desktop.getDesktop().browse(new URI("http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2374910-actually-additions-a-bunch-of-awesome-gadgets")); + } + } + catch(Exception e){ + e.printStackTrace(); + } + } + else if(button.id == BUTTON_CONFIG_ID){ mc.displayGuiScreen(new GuiConfiguration(this)); } else if(button.id == BUTTON_ACHIEVEMENTS_ID){ diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java b/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java index 81f7a67a8..11cf58729 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java @@ -40,6 +40,7 @@ public class InitBooklet{ new BookletChapter("esd", entryFunctionalNonRF, new PageText(1), new PageCrafting(2, BlockCrafting.recipeESD), new PageCrafting(3, BlockCrafting.recipeAdvancedESD)); new BookletChapter("coffeeMachine", entryFunctionalRF, new PageText(1), new PageText(2), new PageText(3), new PageCrafting(4, BlockCrafting.recipeCoffeeMachine)); + new BookletChapterCrusher("crusher", entryFunctionalRF, new PageText(1), new PageCrafting(2, BlockCrafting.recipeCrusher), new PageCrafting(3, BlockCrafting.recipeDoubleCrusher)); new BookletChapter("craftingIngs", entryMisc, new PageText(1), new PageCrafting(2, ItemCrafting.recipeCoil), new PageCrafting(3, ItemCrafting.recipeCoilAdvanced), new PageCrafting(4, BlockCrafting.recipeCase), new PageCrafting(5, BlockCrafting.recipeStoneCase), new PageCrafting(6, BlockCrafting.recipeEnderPearlBlock), new PageCrafting(7, BlockCrafting.recipeEnderCase)); new BookletChapter("cloud", entryMisc, new PageText(1), new PageCrafting(2, BlockCrafting.recipeSmileyCloud)); diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java index 45501eced..1d066661b 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java @@ -17,10 +17,14 @@ import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.StringUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import java.util.List; @@ -97,4 +101,21 @@ public class BookletPage implements IBookletPage{ gui.drawHoveringText(list, x, y); } + + protected void renderItem(GuiBooklet gui, ItemStack stack, int x, int y){ + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glPushMatrix(); + GL11.glTranslated(x, y, 0); + RenderItem.getInstance().renderItemAndEffectIntoGUI(gui.unicodeRenderer, gui.mc.getTextureManager(), stack, 0, 0); + RenderItem.getInstance().renderItemOverlayIntoGUI(gui.mc.fontRenderer, gui.mc.getTextureManager(), stack, 0, 0); + GL11.glPopMatrix(); + RenderHelper.disableStandardItemLighting(); + GL11.glPopMatrix(); + + } } diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java index 151279041..3e1a93b3a 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java @@ -16,8 +16,6 @@ import ellpeck.actuallyadditions.booklet.InitBooklet; import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.StringUtil; import ellpeck.actuallyadditions.util.Util; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.ShapedRecipes; @@ -101,9 +99,7 @@ public class PageCrafting extends BookletPage{ int xShowOutput = gui.guiLeft+28+82; int yShowOutput = gui.guiTop+23+20; - RenderHelper.disableStandardItemLighting(); - RenderItem.getInstance().renderItemAndEffectIntoGUI(gui.unicodeRenderer, gui.mc.getTextureManager(), recipe.getRecipeOutput(), xShowOutput, yShowOutput); - RenderHelper.enableStandardItemLighting(); + this.renderItem(gui, recipe.getRecipeOutput(), xShowOutput, yShowOutput); for(int i = 0; i < 2; i++){ boolean tooltip = i == 1; for(int x = 0; x < width; x++){ @@ -114,9 +110,7 @@ public class PageCrafting extends BookletPage{ int yShow = gui.guiTop+23+y*21; if(!tooltip){ if(stack.getItemDamage() == Util.WILDCARD) stack.setItemDamage(0); - RenderHelper.disableStandardItemLighting(); - RenderItem.getInstance().renderItemAndEffectIntoGUI(gui.unicodeRenderer, gui.mc.getTextureManager(), stack, xShow, yShow); - RenderHelper.enableStandardItemLighting(); + this.renderItem(gui, stack, xShow, yShow); } else{ if(mouseX >= xShow && mouseX <= xShow+16 && mouseY >= yShow && mouseY <= yShow+16){ diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java index 5abd21a6d..00c9b9bec 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java @@ -15,23 +15,21 @@ import ellpeck.actuallyadditions.booklet.InitBooklet; import ellpeck.actuallyadditions.recipe.CrusherRecipeManualRegistry; import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.StringUtil; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.ItemStack; public class PageCrusherRecipe extends BookletPage{ - public ItemStack input; + public CrusherRecipeManualRegistry.CrusherRecipe recipe; - public PageCrusherRecipe(int id, ItemStack input){ + public PageCrusherRecipe(int id, CrusherRecipeManualRegistry.CrusherRecipe recipe){ super(id); - this.input = input; + this.recipe = recipe; InitBooklet.pagesWithItemStackData.add(this); } @Override public void renderPre(GuiBooklet gui, int mouseX, int mouseY){ - if(CrusherRecipeManualRegistry.getOutput(this.input, false) != null){ + if(recipe.firstOutput != null){ gui.mc.getTextureManager().bindTexture(GuiBooklet.resLoc); gui.drawTexturedModalRect(gui.guiLeft+37, gui.guiTop+20, 60, 180, 60, 60); } @@ -39,14 +37,13 @@ public class PageCrusherRecipe extends BookletPage{ @Override public ItemStack getItemStackForPage(){ - return CrusherRecipeManualRegistry.getOutput(this.input, false); + return recipe.firstOutput; } @SuppressWarnings("unchecked") @Override public void render(GuiBooklet gui, int mouseX, int mouseY){ - ItemStack output = CrusherRecipeManualRegistry.getOutput(this.input, false); - if(output == null){ + if(recipe.firstOutput == null){ gui.unicodeRenderer.drawSplitString(StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); } @@ -55,15 +52,14 @@ public class PageCrusherRecipe extends BookletPage{ gui.unicodeRenderer.drawSplitString(text.replace("", "\n"), gui.guiLeft+14, gui.guiTop+100, 115, 0); } - int secondChance = CrusherRecipeManualRegistry.getSecondChance(this.input); - if(secondChance > 0){ - gui.unicodeRenderer.drawString(secondChance+"%", gui.guiLeft+37+62, gui.guiTop+20+35, 0); + if(recipe.secondChance > 0){ + gui.unicodeRenderer.drawString(recipe.secondChance+"%", gui.guiLeft+37+62, gui.guiTop+20+35, 0); } - if(output != null){ + if(recipe.firstOutput != null){ for(int i = 0; i < 2; i++){ for(int j = 0; j < 3; j++){ - ItemStack stack = (j == 0 ? this.input : (j == 1 ? output : (j == 2 ? CrusherRecipeManualRegistry.getOutput(this.input, true) : null))); + ItemStack stack = (j == 0 ? this.recipe.input : (j == 1 ? recipe.firstOutput : (j == 2 ? recipe.secondOutput : null))); if(stack != null){ boolean tooltip = i == 1; @@ -71,9 +67,7 @@ public class PageCrusherRecipe extends BookletPage{ int xShow = gui.guiLeft+37+(j == 0 ? 0 : (j == 1 ? 42 : (j == 2 ? 43 : 0))); int yShow = gui.guiTop+20+(j == 0 ? 18 : (j == 1 ? 12 : (j == 2 ? 30 : 0))); if(!tooltip){ - RenderHelper.disableStandardItemLighting(); - RenderItem.getInstance().renderItemAndEffectIntoGUI(gui.unicodeRenderer, gui.mc.getTextureManager(), stack, xShow, yShow); - RenderHelper.enableStandardItemLighting(); + this.renderItem(gui, stack, xShow, yShow); } else{ if(mouseX >= xShow && mouseX <= xShow+16 && mouseY >= yShow && mouseY <= yShow+16){ diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java index b63bbc360..9ae4102b0 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java @@ -14,8 +14,6 @@ import ellpeck.actuallyadditions.booklet.GuiBooklet; import ellpeck.actuallyadditions.booklet.InitBooklet; import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.StringUtil; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; @@ -66,9 +64,7 @@ public class PageFurnace extends BookletPage{ int xShow = gui.guiLeft+37+1+x*40; int yShow = gui.guiTop+20+20; if(!tooltip){ - RenderHelper.disableStandardItemLighting(); - RenderItem.getInstance().renderItemAndEffectIntoGUI(gui.unicodeRenderer, gui.mc.getTextureManager(), stack, xShow, yShow); - RenderHelper.enableStandardItemLighting(); + this.renderItem(gui, stack, xShow, yShow); } else{ if(mouseX >= xShow && mouseX <= xShow+16 && mouseY >= yShow && mouseY <= yShow+16){ diff --git a/src/main/java/ellpeck/actuallyadditions/crafting/BlockCrafting.java b/src/main/java/ellpeck/actuallyadditions/crafting/BlockCrafting.java index c729f8ff0..aba050fc8 100644 --- a/src/main/java/ellpeck/actuallyadditions/crafting/BlockCrafting.java +++ b/src/main/java/ellpeck/actuallyadditions/crafting/BlockCrafting.java @@ -46,6 +46,8 @@ public class BlockCrafting{ public static IRecipe recipeAdvancedESD; public static IRecipe recipePhantomBooster; public static IRecipe recipeCoffeeMachine; + public static IRecipe recipeCrusher; + public static IRecipe recipeDoubleCrusher; public static void init(){ @@ -369,6 +371,7 @@ public class BlockCrafting{ 'Q', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.STONE_CASING.ordinal()), 'P', new ItemStack(Blocks.piston), 'F', new ItemStack(Items.flint))); + recipeCrusher = Util.lastIRecipe(); } //Double Crusher @@ -380,6 +383,7 @@ public class BlockCrafting{ 'R', InitBlocks.blockGrinder, 'F', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.STONE_CASING.ordinal()), 'P', new ItemStack(Blocks.piston))); + recipeDoubleCrusher = Util.lastIRecipe(); } //Double Furnace diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/guiBooklet.png b/src/main/resources/assets/actuallyadditions/textures/gui/guiBooklet.png index 5d05a8fe3fc459e1b05826aad67771fb377fadf3..843edc944fdc12fca65b81e6ba2acaef67a585aa 100644 GIT binary patch literal 18587 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 literal 18415 zcmb@tc{tSX|37-q3}YR8_H2!UxO4-IPgh~i8 zc3DTZv7eXs`}19{-#O>H&L8KxxW<^*yq@>-zMt#k`FO<|=xL%T*(m`4C~Yk@BLHB~ zpD;jdgbu3?IZx2uG(rU#=e%TFPziQ+_(@RLmg*6^ zQvWd{rS;jvkFv+nM;-T$J#lR9T1SG#9)?qKt}4BMP{eA|4()BmOUPvOv5cVr#g%Rn;=}qo+S`U68x`gsX+-N*s$1NdWV!oM z*pA$KeEhY(ml1+whOHjA8I-vb z37<>cvh`JnN~UDFefP;i=aNI*wnuO0ssHRJ3fi-N7QMMZ`}2W@%4*T%$@M4t@G*US z{hrUnt=lx`uTJ{OirAJ@g^lXl`^uO8CLKr*ywUEgI)f4yEExFIN{!Fbw;UWHPb^B& z4Qq2XkCw7x*TlPXXyJtphlXyU*kKg)n;h7sEpR?oYDr#znhmQb2Tw~1jcpCN!S@_K z6)TXCf!ing9GlbHuBwKnVQVwV&ueZ9e#=x#SlCPm8)Bi@&yDW;%X(!jJb2TF(^g?f zMT6mW#&ykB3X%BLeD99@IUUt_%eh#jSBDg~sonq^|Bc#`OZgK;GV#ZtP2UgB=t)=H zA80}T5@3{SaSMq(yfYJld&=!|MD?OPuWg<}t@U1L;iD-_>Xx1}*7GX(99rH4eZ=Y$ ztr_xrR!rX|o*t~vE%D3_$K zGs^=Zl+hhw4TOA2J`yAQifGo2SQM^2e8}Z%rI~C8h}zQ!`$R8xPB+yVy5}AJS`B2l zV$JC#{ASw}@yqfQ65E=Jb2jWst@Y$YCM*O1DN6<~VPgRj1bOHTQ%^BpiEOcE|lfXa*Ev|cE|Es!4bMcg6_m&i@A}J~bMht%o zC;j@5pVXu0jY@RUY*@zN;`yDi?<+3r@38!7dGI|IH7AII*%wNy8WvqkBmhl`l#)Foc1rXXgNDn@U^p#^-Z%%zbTjwmsK#}GFpXwCr~PTMVUk6( zH9MrkzB)|HSir&TFrh_oBWvdV65hUw>ky5=5Z`+ey9f9dh~ZT9(#Nw>V8yf|KpseH^Fb(<1l?G|AF?RMxZ-iGiW5@wPozL?_CU*f=dAH6+_=I zA`}X-l{~2>_K4)7tA*7OXb+BSzZr2mc|=clEHzN3x|<|JhHc>uwYmMxoxzGJke%z5 zuKo|gzON$j5A7qv7!t&Qd59EtTOEpntGrE0pn|R|U z3hfXWW17eVRI_~=N;I~xk97pAsf>u@d$JE%|c zBxSfkIJiZ`kv7-r?ev8)2?lD=ZZ1QMw;~m9e?d*zqnm7$%*apUOiJ${;pyZrOwn?v z&g!5aXl`#aX7n1y8RXP(yUbPvf#IWpwFE`>sOM%|pO7^FZJ(Uni}o@)p_|`7Up`z( zIN7Or-qdn%$Ku3{@Ui0N7@HAWi-@_}#gF|IHHTcybMKl>KG+vt0^Y3Fj$kU0Qb6+) zQ(7Cdv%2;wy5#X-sEWbi92;=IA!Xw^W^fjP$=_U8@3j{sZdKG1rRoD$$T<(U8}3ee z5an8eMTgj!PB!}$kY0{@kuDXr)RqB%N|Y5wqOS4AE6WGkn#ru5Z0J zY^6l`Lr@>PKhcngf8$1Umw4{(YV1XSIf5KzZ)@iF?@tz&2f!iM6HJF zu8`Z5Y<-1JC#0(>I|vqRDG;31Q?0aVZWAKAcD_d9MvF=Mpk7!;nq0QvtxvIS3ulr< z{>n&P#%8_&&D)%7VqVYqOAc=&osDQz48Y{({I=;2@`*jVO4z=-xw|BJupslE`d%1p zJE(@9DLQ(Lo-EhuGDZ11Ph<7PbCQT;`4~psI3wPT40pH@2SsCbYb>2^8J~k}0P%1- zC6cTCiya_egIOqta8bM6i{QO}WOMX(3{i&fOXIdptehXy ze!R+8`?w~);(iYg0xyu)m%JQr%>GQT*s;SW9kN(TR$S+L6a39BkESGyj zW~C7ZBj{lNLb~5ThoRsHl$W@4z265i-ZQn0!OCkTzjP%NRWl#>|dC!9V zNHW8VDMea~=Av=~iE`t$)=FE;Kd6vWgU$KTyNlbr+w{C|CEqE#nFmNpZLOkSMt#7w z(vEYpTdBFRRMZV^JaJ{ag2XFRWWI&*SY#TuJ;{*oK`Y$xM_}sr3ky@oKc1tJ4DI2y z17Te=Lc^ffUZ=H~y8-4^q#vq+V9&E!xAf?VYyYfQnneDoBJ5~mxTzk2*#D_A3E9@t zD@N5B#R9PfqXt0)WJ0Y&fbt_e;G{7%0an<~R6TCS(ELXsMavaETiEisuq~EvoF;bq zul-dVAPE(ucLDP+uu-tgo?DbZ(lJ?NQZ32zuu%Kd{aEpXZWo;@F=h)z+NGbC>XVj= z)_;kKxLTeES-uT5iO_LsiDL=xz$GN6E{lY_IGH_*M)a=QTA2{>{gX=oJx-(Nu~*${ zt`w+3zW#=sdZUva>&Gx44ZJ>GoBJ(&42CaMUDyx zfX>qADbo(99hj-SjE%Vp$?2YI^|6Zjb}p*9URLr{2z|<+Nt(bz9IgXdJKz1u-6@J+^PFD1B2Op@jMSU@!z~aAb+syyU?9O5^12zTKZM(5fZCb6D?--sPGDi zV1t}tA_!DLm8pajmV>!Bdc$@!KfheMH~Wg&#rR>9_qs;Pybr8wUQFy;eeex!tQPm5 z75CkbjizdCjTnm{JR1B*;um0im#Gg?D22V>u7CD6*Epan{Y}DuMqfnMIkn{Q%d1ps zOfw4PBHK(t&sdU0kXTDcwjM#pCuSEK_@~M*Uhg zx?uE1nY7L|dS%tR6FcCt@Zn5*5+M!y8)@$bCWH213k*teunBMc}St!zl8IpI{avVqOTDErO-#!_}MnB>0%2=6hx>1(1TV zlGvo6WF*ZfY)T(UzWj|;nVMU|)aqT+)aN&YeWoPL;R+P6sTr?EF zPvBv_Tz|9X4}yqa&A<=ux`#`jY;o3CEFH{OghaV3b)IM>A9Sx&xF7FxSzPft|6WS^ z&jIZFR{xine?#hERiq;52gI8|mr~d>F5MCS9X=PjYKcuZZuc)#i{q0C;nP82HWu6f zvk9!c;a<7i5LbT1+(%k&+I#VGqwH`oQqBzu#B&n$dBc>VftK3dAd_U zM5Ba|oiCa;!+mwuLt9_&9Wsqn*&}pw73k$O5+Xcbj@eAtUi!>w)p*TotLx=7LFhD= zXTvy8f)+LMpi=CbB+S|7ZwnI_aws3?XdZz%~fRS#ejE897$mv{VA=t^GmC8xuOOCM7_}uv}|%6F&*FJpB5}4+VHGYUOAZNVe;zyMtyw z9l~cF^|k1SXm;$}3#>2aW5=zHqMTnp1gCN`HlPNvrF~`qb=)Uj_E|DJ^W?jR_pN8oUMMdPG?TUOMOMkk0MPl4QjTs zR?W{DXT;!MaPAA z%^wO%bzex)+?sfZc+7QK!7L#`*>#MjrsLxXCl;=<-ogI0V zQpA6HsAVt(ZdVX1fREL@X3Xf!`&UB(Fv+qgsUUIJ^Gq|)zG?XSmv~ogozjdWawesq zyXIYh@Qw)~^hA56v*hgoxY%cI^4pk|%hIw!Id%WuuA)zKZ)sXysnuDFmy=|~`_{oV z8rRuy!=1TQoF~!LJVPYD#Z26Kmr|JX7}8yUR+W8I%q+~K`Y4wk;?ll?zz9&2pH z&K)1FG>7fIyE^x1vW{)dqKRQ=;-lH-_>CrtC%mU8Zi&R^!AkDjnD|$ARzxa8y#5WB zX|XleSMq|GY0WYeR+r}-!gp#c1F&6c7S(3 zyM;SZiK|3XC-`7dX{3y+z&^tc}JzoEH5k zq_#erN;;@XmRWs58#AAlYo18L#yiUgf%~aS$1MG@Hp3Ytb_D(8nQ49CMK-_^a+?v4 z#B`o$;ef%REIW{J81x9DaGNZzL$tmWebTZ0Qzt|QuFn;0kZZhBL36=3$n2ec>-j~4 zg8M5$^txw<%XjQ)73k}qU__{I&(B@zbRaviiMThj!7MT z_KA$*`fa`6Ml%w;@Rt4jGIV08)HoJNezo(60l}g;gH8{k>MewDesW2ns_)*t_}q^= z5LxP53zgO-~mHK3TCHFrGA-thG(N&<-q5e!TN& z&t@C2`YCIN$M{Zt5>(xuhfxOq*f+QSJ~Aa{2~j-*FOmb4fEo zDw=kUx#!vadT-K))MrT+UU4em*U1&_HA+OS#xO|T}|CuL-hrjawnj24mY=OWViD(jz8YICG!#M zNE4T(--b`V|K==y;;gu>k^EM}ESy!TgzJ$TDhszFY>Q_p&P9F=3b^;^e*1|C`P10D z>kV1Pzwh85b05VQ+1kZ(twF~mLXEYe>}>;?&{}Sygr4~t@fvDJ8vMG)iv6Xhy&~|L zwlMf_tOPiGtVoue54%56d&~W87TFfddcBSdsAxJADKoE8ofIBXs=sV(C5#_B>$g;e z@W>eLuCQugx>9Zhqg|OO@9&-YofMdHl5!+(vtN5<@#h>T>#tFgT{m-RPS>o2#kFTtKZze zbd(J{{w8!Rh&8jiJyc#x-%(Q|B={ zW@vUp+-IL8Q`)wgeS-XV-w~Sy@ttITsgLwX-sAA4?8~m%6LDge9+6S~{YV9}fz6gp zDZ~>P{zM3>F&{G_lb6n8Z2<2E^%2n&5UW`b2b-pz=nnJdYlp>|FQQ9yb&B)ZO!eP1LQ@)LeFtZr*Ol z3(0l6=FyPeCD`2Z#=)h$?rxEi%JAp_*^<~FN^h1N+KaDyfjtw;;k1a%NwFhll8dF~ z@2g>!r7}OnK;6ml2|V2mtanYD7zkdYG7;{LP!;!^W_UBQ*3AmsIi_n`jffG0`bw!V z{6+|r$ZlDGKAXvg{iVb~{LAb6vJW4M*m{H0_&`IGp!uB@BxWfFRR`mXFTT7AW_^;B z$)mYP5o9~7be-I?^|U+dqj34P+r_%J;iEOVqzS*p!h#zkedPY z3r@ExOqp17+w8kB`@5giBz<1{thGVa#;hy2cBqCqj7p~SnmQkuZang#r0umv-QFQx z#aZFDB(0-aTXqna3juiQ2p&cu2&}56Cz9pZj%hA6kyHvx+}gi`A*TmVWL-i|2!rmH@DObJx8=&c1@QsDja%t>=Xkab`BB|^--B(t40luLfqg8D#1kKgkPj@P5yo3w(p zXuiIB>&=rLvh!!)`+&*j2yC69;Gg&d>h0RDl&R|(4-I}SD+}Z2pj-iBz!24bkZXZyq=+049FMX^?a_aI4un{FH9&+yH#A!a& zUNmnnX+NWIDV=EW3yZsT7wkdv&c+8dLmde6NFr(UciBsg^!P)(B<=@44za4$^-vu6 zY~ZIJkkJd)#)1W@*<>)vl;a~G_1C1~`CTl%S;!k5)ZwHieOSjF+;CEl{q;waLD5Kk zi7UIyhz$KErlE@4MV~@CHGH?4?^LcP-W1neT{^dr8zgYJ^*$ur>ts__`U3Au;QuZQ0FJY;3qbSB`C$T7k!Gs3gUGm#W8~L@U>X5JbX@4E*aJhu2rJ8bLIm zN5^{zUgH9S!|*;~f_mhCMw)nzD=9K#jc5WRi`sS1qx(SIY=&|370;C&Kwgzg(gjM^ zzd)6zHP8x!;osEh1@6HDgAcE-Z_Y?x?GdQ5T|T@2MKRERIGw`QW)u{^RJ-O4YW% z++(gxXFG>Xxs3pAq$~%<^l**pX;S^Xc4Oer^N zsD7Znj@sUz%f0%1zqMqDnRP;fM1$J(+xjlYH#xN?O*$*0>@}2mHQ~1DtHk_@9BGcH zVwQQ24y2o>BZqM)s`8??9DQ48MQ#R^k{T-gt>Mn)ZIl z4|kFdmmOaQgCLi#1AaD;g7Cxy`&_B?9S1S>Gq#Y%f@H zCp(!)QQ98}B^VN(ZDlT~?ZM`fFi`_PLsw@{eQ>hs^YyEa_1}m~`w8_z8YEv~AO8~b zXx7$dnAuLWWg zS(#Y%X<4$m7#SSouVQg~&)8skxv;UH>II0!c|^lar_9U&K`S2j~i--~L{yPIvC-|3b{_^siC+(PmSFFStthQRj&n>!yFs$5Rq0&kbIR(!hom^WP%>%9(#uv;z*G)>B{u{1|0@ zDPd}?_;9oLrr2->aR799Kc-F)OT7=aIA~#n9GC(uMi5^0zi%x8o=A}*v_8}FG=mo3 zFXt~tTr|>r5_ME%Uu(gIq_Z3na#CdA{pM8|ycsKj#qmN57^Q-0Ai72x!m6U{xhPdH zTSd+wxqW@HmLub`r2X!LBYK5eA3+N_xA(_4k}tWQ+YM*8sYvT`#Oy0uP3!ySheOH=ZDx`U+@U2xs0vlBKVYzAJX@_4XlCCW6@9FZ#KkPWL zUV489DZM>h!O?2-pkXI-vrPR|Bq=q|C`lL+t3_oOK4|s_3YAR_6XNeIo+9ZiL^-PI zlvR-!AGp#YpJe-uwycP(Qql6;n;Y6s=8VA3kWagXX|^S~`4MV#f;kCJve)=hvEQ zU_5NAFpJARSEL5FznxHTZ5&ik+J9#Q4}L$%XiYBCXmAW|YV|HcxX(R_@@n~be49^1 zU-;j^DYSha8tp(zID`-KKFUNIlu3>VSQf=VCfDvCxA|V3DUd;R@);5v5M&2J%|pGU zph9n0!Xq!(dLgH-A>YO$wB#7iSlE+e^ zsnp<02Pk}Eqxm^ahXL9~!rm{wxH=}|$$a8Q+GzMulKJs9b{u!e30jwZ40e?aHKG1^=ZHG4n-H53Q5jA8Kv!ex!7I0{=|1oRF{9U>=@2zWrk?Aw6d~lHNX$-sUaVYE#Fd)JZ_#}9S4VZs0mevQ*v;Oidrv;%HLR=Rc zZyuIYCpep!pn03^QQ=rkdh+u1Bq{gAkHL2I8Hm;6bI@=?fk{S|8XSZv+5gv9n?d)d zGnu+Lrn(48EZ_ITlzOO9Kw_f*nT=eE=9CBqn076ekuD1qPpu0#DT^{61rLR2!Nb9) zFrL7PX76)UwHCSvBE%_UN48#uYq`TOX4ByzCBooKb3Y=`Y8NQj zZJc}1@G5jObvQv}LPUHQ)WXVMyopG&29Y*e+&6R1p{T@PW3NOit$N(E;{U9quBX0H zkoWUYfAwuQkK*mAb*973!L^GMj?ex512(s#-b}`E59Sj)or3dl5>l2~G0&5NB_t?s ziv??`evN-5tCn}g8o93T<{wOwghbJ{~l1MF}o zeX(YQ99=1mTG=_ue9MR>)f<=oNFnngT!Su%8}VGEs z%n^C(Hc+U^-+#4zb@ndQAsQmFg77aS*)VdZrK=kkre=H;)E0H4LF58BWW@T9I97B| z3vLZ5AI&utbajVQ^(4w5cv7;O!n?LR7_*b2-zUcOqHruB=Mh5ah77?zKqm!G0{U&5 zx2L1ggY{Z06iDkF@LmEamlmQ0Y9VY_xjFKwE;|C>8rQY0!B|!i^S(Sr7ln=Gh63@q zCQFKbPE!|m@USR5VXQPY$<)OrCooP@3mag2AV-yG z-jZ`wkS+@SMagwY^ELPSdT^K*t;&$;xKUlni ze~;wh_u$7D=m>O!I5=$*72hyN+l33mY$9p8Uj%Rm(a?~uJ!uziZN&{yLDcS$E>2kq z4i9&p$)GmE7l-Xo666y!on-P!?;Xx>PUqo?z7hI8Q}%`ay*Ao-eieHAD^7uZAn?I> zi=fJv`o+qdwj`4uxo}P3&czp=#JQwx}j3<4O)Q013^KTobeA&YTOtCmPA?9*` zU>0c5*Y+2c$1Z?Vw+}bgG${G*tH$6tC?%z^pUkUpT`CpEQ$V1YP)6Fpp*id%XgeVl zN8vN>#M^Unz4!u%vREVPyzc_mlou#UX+%c~H`@JYor(3S_#f@OvAIwQLpZj{Bl1Ip zq6-L*E+Q|*WwGz1S0p;1kTh?P2~@%`DYr28h-0rk#|pnj7s?g1adNRt6xgzPnXtHfwFgmM}(wPuH z@k%V3pwOz-B6uGK+_&N+u(Vc+d9(;hq_rjGL!|YY?}2~$?x0z5A9EYau7iAexHq5n zw5IO^ifO?@yFP{+y4n%TK9*85opX4m3l9o_B+BE{rzsS3$Aw z>S3_Fk{iD%@1rx(!K&BhAB0v+Zi=_1tJRk0b;Y-~%oOfd^NkcaK_mtSWocM;aSa5a zJyb=={L*GI;{YwGy60lJQy4yRQcjCCleBD;s#|h0a|!;;;BS7UZtDVy2ow@PZifZM zGi?SWDb7AJR%W2a_%j2mGoqBa;wbRt3s5asU{$?VVCrsw_te^+g;~wZKy0^5`yFhU z?UG~Fz-H{}9 zfS+h{tBd5Z5)ag-;r2{902fjQA(XYGL4m|hs!uU$q^k2$Ue>2pxk>W_e1C>T{}oc5 zE;e~jvCOS)4}1^Tsd>C!b3hm0m9Bs1El*p6B>Xx{Tu!9ihJY7U`n;8Xhxu#coJ+q~UMw`g#%udU26f1T! zfDP8{g`Q$mRi^VqVol(XwKN(_Gf?9W^|5LQI)=yRDBc-mB5{}61sTOg#EV8=lIwHu z2lG84(&vlCpb@@Mg`5Ko!}EwQV0NnBP+5#tn>wfZz!PnFi&A?lLb%bXfRrO5UOu*o z$W*M)plow7SZ$G(?+c(@M|dEUseUF4&1J7GT43wa3URqodjGX5SfB(d40Zg$o{AQiYkQ!WgHr>xerX8m4dB)3?w8k3^t z;yFftUUF%$;xbAFZ6Ehf6bB;4pBbZt=0JPiiojMvv`@ZpxiR zwel?FJ$*o;_%p;`F$|$Ok2Ydg3!T?i8TgxR7qhmf9t4%qC@|N2fq^Dwgnwb=Nzvgm4r8d6DO#K@p zL`6!b2JU2!0>GZpZ>YMbkRsLYn&Y9YwV?LoKL;%hJ$3GTef&r!1PFJj9$ImSh}r@7 zrb_uy2;0ntrC;}MWdm3L-RMF;vRFx&Xz(`@lF&|-X&HP&Z?0lBr%}KYX>jFd0#sM)!Q~KI zstk&n&zpK<#gqq3S5blc)vqm?KU0)@H4fvc^Zfr~PFj-`PUN)~YOo9{Mk9&TWF7U> zZ-qz+zK4-S_VaFJLCA??q8%7n@1ja_e`abrmB-d8*njWJMA(o>7c<=G&k8**hTf)N^k1a=?+^N&Fpws2v- zw_>0Rxl#D;lD@XVZ%2I37 zPQTW|5+Y}pBAD_7HZU~FhOsYkL$d<6XWvMOyjZ0@J9fZ}zRd)=r*_*M19Lq|+$~52 zn`W;tb8mAyh${LNb~s1-`s>6?+!i%X&|R793J9jb{U@*h_3JHStXN@xM&4fqCFw98 zn`WJ4EPpejO1>ujM2)^G^M{My_Y=Z7fa}o)V|!AIAi`As<69^2o(v0FS~A7Y1O;k9 z&mbCijSWE3BSaS8Lk$LQeH1t?>m#vyVgKcVOgW_1g0StkxYWh#5ry#uMo4S~sTgm( z9BLe_=wcu_{M_&oC5@>x3R5=l3@eGPE`=0@aw~2W(D7~*bWMV=FtwJJg|3zl?b*W= zhFhFwBOeMI7%zufgWdMP^t{i(Ya*g zapy0zvh5wF{b@7cEFc~r;!?M2Qtq=qaDlBy)JP}h8Yy^M?g8$mQEY5 zO|D(CH{DMfHeEr=n5_PSSt*yX0NTWn>kxjzi--}2{Qz_lV8szadh`);h^~w!Bt*qZ zv=0EKxuh}Sf;^0hnpXf?Xs9fuUB9b9k1BVP!jQ;mwxy=E!tjb6XPfgY4TiVGG=qN; zk{7Ua_0tSSl%J0)^SYE8K#gDw9$%$v3aN)YyFnm8l=a zlGyGW{{|AF2Z`y)q~|XNqlJ7K%^*PoW)E7#!Jmt`QamybAN1vbQDtN1LD3b^#)dJ2 zLKljs{T(o3(10@PxoSdeC7$1I%0XqLX3|h=Sv;qu;W)w>9EU(by+rgs0g;&+qa_z` zUN~5dS&5!GfTlH88W%_63-o)&Q*yb!*#YaCFB_v-v-18QM(OFqX)tZ_Gq-8ZimD4m+EFhE#< z08i{FGvr&2;Ig)NI5m#P8XU`ldOmC`A>axUJ8KVzNaE!2wVaTIWElR-P3@5@F=5i$ z;^3bA3zCOO1Gd*3fwWk;r)(hZg)VlD^Xim?Bhb1fz(XaEQlZZX7kNbC2Ap*y5N0qv#so= zpzSKBfA5o&oPVx!Qo$G;a166hp5ULVe_sCv2=2|#r=cg`)3_t@4Ys_IEc<}Oc0k;o*h3RbmIdJHS zm54~a2x!NvJubAyRt#33-|CS=hh~xUW#G+&R)#B-f^^oMo!;%aY#dU?anmAdVGtb{ zTEn&NmJZ;tJINBljO2kHOi_SBXM~yd)+VT(V~Mb!v^eZC@7&op53J#8QnJLinQ$|G zIEK#qpS5cpMk>N4!D2A>z1H+R3D;vo-_{8lip%j8DWbi_qG3IuT z%wiD-P5Gpe)`j2*4!{Bl{sNJani`MJ9|^N#)~`4MHlqfp3FG%Yez5}{N*FSn=lxb3 zfrgh_T;!{1u;@M$B#Y;7`k1&nR4_lSS(RlT;szo&0V#rYj+*D{YnG?bPym^?PGk3F zt|SN=9IYvd1~+bZJ}82XfAR>#0ln4B-`Oxx#$ph$Ql29%>?#s7kC*ubJyWy_tM^_B zzH{XZ*t*#K8!3zEidj;B3{!gsR_QY-=1W{F`wb4sDY)}5o@iDma!OzwY07?1dM6qL zC&M1Pdn1$Sf5rD*X1sqos9iB;GMCK1~#j;OPRj^x4CVda_L> z8$SHCl@naf{?mtzQK z_jw{B)yw3>j2x)>@{(ZwwUb$aBGSOMBvy|>I{>_DVZ6;QW~0{{@C z^5>P!cNyn;JGzJE%Hg++vFU_;Wh{VuJaF@C<-2H-RkG7arNKvK3+oE zu-XA${_D(Trd1YH0mDJ^a6ux0$Q=z8R5Bvrtsd;>eX6T$5AG1&SRGx9&!Prjf%5QM z^WvwjkrVrjPRL;kFI4@`U$00xHwzi=;Ih)`ajNsUafJ2D%+%8&t2B&{6)`^=Re<23c{ch5^e|AoHJ0b2IG;~0*#Hyhd-`E zi31L4OjiWcU2=-_>Ob@;SsqmnH}_MboyJeRsC3xl%ar?Y{YOQBiPPdYRFVD)cGYL% zb$<1KxsO7X%$!Al24VDgx_#o8yBrym2rQ9pHm1zQ`BR4JW935KZ+CCjaQe7Tplt%H zzRx1q{ce=RV4R$Ca{O;V2AN4~GubZgAI3?et*>PE5w~)fVK|u+4fpt2R_^u= za}!MGfQrY2S@G4A92VzC>*FPzd;c-6%rEIrc$AcnnaeC|jHEzBA1oPWZI&H1+$_sR z4Vv%luZ~@5Wp*HG>&`M+^nAY}@UHlAs8x0_yVUM#>94BoD^=NT69LjHlRBSqY|8sA z*E_qI701`-4P+1=`QZ#gJudy^FA$ZNftnmyvUgof{SyB`?@)y~;$!)poA|1$WNp=L zH@%8f?(D|fG@tR3GI}Po^SkK``{2`)l^?-n&aapAqYwVG)>+S0S*pMHOx}u$Nw|#4 zG@P+2(Hn`!R`JbSr$(4~);QMzVxYq9%JX6M>g!)$Jc$&OM%j%n_aRDTd z;MAV@LbG{4Nx?sFz@6aWB8QYpM~43!h3-FgTk@WVPWSlwvb$mDbgPZQRk2LJKc*v} z_=#E`j+a1-!?X2?N@n%|OOoGp*~On849()+!40i{yS_zCL8O)Fr%{d1J866~=#JcI zA|(Nf9Hi|1p5_L5>yE-l-s1rpB}AAEsnjVI{YiB92T{7dV zhJagJ-B%m+u?nUeISR5n(aTgSNBMipl4(GU@`kaYKU041slK@Qy)$*VyZhV6sVK=M zdOkP^|MyQu%l^$CsonJv@+75Nst>=bD5Fa61kE14>yOCI*>U$+3ppm~sG%J;xbt7m z=4TP$W@7&9AEIjA*Z(4_>KCH^KM_^$XmYKp{w?vbFxUCjQ?J5C_O+7@8y}}Wl#$~x zg7>dE7%k4)|Ex)E5|Rd<*i-tZ_>Je@`pb!EIP##uxRH4@$`c~ z?QNNVecKUmed2LdLz#KUKP?J49sBI5_j>-buWv4wYnv^0wtXSRrq(=$G}Ji@W= zi@RDmq#d4~ntt4U%zx-1a5qk4t+mtBiOTKY4+1O7gyXTVue^KDwpDc=(qhrQW^;Vl z8d5f%QH#8@>HBTBzrNj3J4NHRJ5Sr+>TRzJfyr^!>Fy)C#uK0B zoPNXFih5{WbwL9%}2$LX#^6XQ!5}XDJT+c;fM` zVj1n}dJU3~Zzq0Ppfjj^t^EPCaB-pRlTN7pSMY6ec9DVpPm&? zUxX0XV={k)#+IQ+=*^&#h4J)34(=pDlWns3yEI{kNMgPs-ItuM;l+ z0ybi1iyiEeUUw-cG8lA4^<{LfY5xCj6dudoJUS4t`Cb(t}W?O733^z~NvZd@|7Xj`l%diE<{T zC`24=DzEWMnXBrjcZW~uvUI|EDn zRzA&4nYru(#7RCpvyof;{$pT+=Frja7Qn_p!ADy@po?Q_`VRx!h2nZKI|?2iY9)nn h^rXP@IiLPB7M?is)vG1_AMkJ<22WQ%mvv4FO#m)KnMnWu