From c839ce56973c924fd431d6d6cb230d52792b44bc Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sun, 26 Apr 2015 19:41:03 -0700 Subject: [PATCH] Revert "Changes to GUI's for more flexibility & consistancy" This reverts commit 61406c2b2d118cf67a5499b8cf0a17160f7418f0. --- .../gui/GuiAdvancedElectricMachine.java | 46 +++--- .../mekanism/client/gui/GuiChanceMachine.java | 29 ++-- .../java/mekanism/client/gui/GuiCombiner.java | 2 +- .../java/mekanism/client/gui/GuiCrusher.java | 2 +- .../mekanism/client/gui/GuiDigitalMiner.java | 131 +++++++++--------- .../client/gui/GuiElectricMachine.java | 27 ++-- .../client/gui/GuiEnrichmentChamber.java | 2 +- .../java/mekanism/client/gui/GuiMekanism.java | 29 ++-- .../client/gui/GuiOsmiumCompressor.java | 2 +- .../client/gui/GuiPrecisionSawmill.java | 2 +- .../client/gui/element/GuiElement.java | 15 +- .../client/gui/element/GuiEnergyInfo.java | 22 ++- .../client/gui/element/GuiPowerBar.java | 38 +++-- .../client/gui/element/GuiProgress.java | 22 ++- .../gui/element/GuiRedstoneControl.java | 37 +++-- .../gui/element/GuiSideConfigurationTab.java | 33 +++-- .../mekanism/client/gui/element/GuiSlot.java | 29 ++-- .../gui/element/GuiTransporterConfigTab.java | 35 ++--- .../client/gui/element/GuiUpgradeTab.java | 34 +++-- .../client/gui/element/GuiVisualsTab.java | 34 +++-- .../ContainerAdvancedElectricMachine.java | 12 +- .../container/ContainerChanceMachine.java | 12 +- .../container/ContainerElectricMachine.java | 10 +- .../mekanism/gui/GuiAdvancedMachine.png | Bin 988 -> 2313 bytes .../mekanism/gui/GuiAdvancedMachine.xcf | Bin 90283 -> 0 bytes .../assets/mekanism/gui/GuiBasicMachine.png | Bin 898 -> 2247 bytes .../assets/mekanism/gui/GuiBasicMachine.xcf | Bin 89120 -> 0 bytes .../assets/mekanism/gui/GuiDigitalMiner.png | Bin 3982 -> 5279 bytes .../assets/mekanism/gui/GuiDigitalMiner.xcf | Bin 56332 -> 0 bytes .../mekanism/gui/elements/GuiPowerBar.png | Bin 1030 -> 553 bytes .../mekanism/gui/elements/GuiPowerBar.xcf | Bin 7550 -> 0 bytes .../mekanism/gui/elements/GuiProgress.png | Bin 12056 -> 5055 bytes .../mekanism/gui/elements/GuiProgress.xcf | Bin 165681 -> 0 bytes 33 files changed, 297 insertions(+), 308 deletions(-) delete mode 100644 src/main/resources/assets/mekanism/gui/GuiAdvancedMachine.xcf delete mode 100644 src/main/resources/assets/mekanism/gui/GuiBasicMachine.xcf delete mode 100644 src/main/resources/assets/mekanism/gui/GuiDigitalMiner.xcf delete mode 100644 src/main/resources/assets/mekanism/gui/elements/GuiPowerBar.xcf delete mode 100644 src/main/resources/assets/mekanism/gui/elements/GuiProgress.xcf diff --git a/src/main/java/mekanism/client/gui/GuiAdvancedElectricMachine.java b/src/main/java/mekanism/client/gui/GuiAdvancedElectricMachine.java index 7a2024361..57281f836 100644 --- a/src/main/java/mekanism/client/gui/GuiAdvancedElectricMachine.java +++ b/src/main/java/mekanism/client/gui/GuiAdvancedElectricMachine.java @@ -38,14 +38,11 @@ public class GuiAdvancedElectricMachine extends GuiMekanism super(tentity, new ContainerAdvancedElectricMachine(inventory, tentity)); tileEntity = tentity; - xSize = 176; - ySize = 186; - - guiElements.add(new GuiRedstoneControl(this, tileEntity, tileEntity.guiLocation, xSize, 63)); - guiElements.add(new GuiUpgradeTab(this, tileEntity, tileEntity.guiLocation, xSize, 5)); - guiElements.add(new GuiSideConfigurationTab(this, tileEntity, tileEntity.guiLocation,-26, 5)); - guiElements.add(new GuiTransporterConfigTab(this, tileEntity, tileEntity.guiLocation,-26, 34)); - guiElements.add(new GuiPowerBar(this, tileEntity, tileEntity.guiLocation, 7, 35)); + guiElements.add(new GuiRedstoneControl(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiUpgradeTab(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiSideConfigurationTab(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiTransporterConfigTab(this, 34, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiPowerBar(this, tileEntity, tileEntity.guiLocation, 164, 15)); guiElements.add(new GuiEnergyInfo(new IInfoHandler() { @Override public List getInfo() @@ -53,12 +50,12 @@ public class GuiAdvancedElectricMachine extends GuiMekanism String multiplier = MekanismUtils.getEnergyDisplay(tileEntity.energyPerTick); return ListUtils.asList(MekanismUtils.localize("gui.using") + ": " + multiplier + "/t", MekanismUtils.localize("gui.needed") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy()-tileEntity.getEnergy())); } - }, this, tileEntity.guiLocation,-26, 63)); + }, this, tileEntity.guiLocation)); - guiElements.add(new GuiSlot(SlotType.INPUT, this, tileEntity.guiLocation, 39, 20)); - guiElements.add(new GuiSlot(SlotType.POWER, this, tileEntity.guiLocation, 13, 71).with(SlotOverlay.POWER)); - guiElements.add(new GuiSlot(SlotType.EXTRA, this, tileEntity.guiLocation, 39, 56)); - guiElements.add(new GuiSlot(SlotType.OUTPUT_LARGE, this, tileEntity.guiLocation, 111, 34)); + guiElements.add(new GuiSlot(SlotType.INPUT, this, tileEntity.guiLocation, 55, 16)); + guiElements.add(new GuiSlot(SlotType.POWER, this, tileEntity.guiLocation, 30, 34).with(SlotOverlay.POWER)); + guiElements.add(new GuiSlot(SlotType.EXTRA, this, tileEntity.guiLocation, 55, 52)); + guiElements.add(new GuiSlot(SlotType.OUTPUT_LARGE, this, tileEntity.guiLocation, 111, 30)); guiElements.add(new GuiProgress(new IProgressInfoHandler() { @@ -67,7 +64,7 @@ public class GuiAdvancedElectricMachine extends GuiMekanism { return tileEntity.getScaledProgress(); } - }, getProgressType(), this, tileEntity.guiLocation, 57, 39)); + }, getProgressType(), this, tileEntity.guiLocation, 77, 37)); } public ProgressBar getProgressType() @@ -78,17 +75,13 @@ public class GuiAdvancedElectricMachine extends GuiMekanism @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; - - mc.renderEngine.bindTexture(tileEntity.guiLocation); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - drawTexturedModalRect(guiLeft + 44, guiTop + 40, 176, 0, 8, 14); + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); fontRendererObj.drawString(tileEntity.getInventoryName(), (xSize/2)-(fontRendererObj.getStringWidth(tileEntity.getInventoryName())/2), 6, 0x404040); fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040); - if(xAxis >= 43 && xAxis <= 52 && yAxis >= 39 && yAxis <= 54) + if(xAxis >= 61 && xAxis <= 67 && yAxis >= 37 && yAxis <= 49) { drawCreativeTabHoveringText(tileEntity.gasTank.getGas() != null ? tileEntity.gasTank.getGas().getGas().getLocalizedName() + ": " + tileEntity.gasTank.getStored() : MekanismUtils.localize("gui.none"), xAxis, yAxis); } @@ -101,14 +94,16 @@ public class GuiAdvancedElectricMachine extends GuiMekanism { mc.renderEngine.bindTexture(tileEntity.guiLocation); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); int displayInt; if(tileEntity.getScaledGasLevel(12) > 0) { displayInt = tileEntity.getScaledGasLevel(12); - displayGauge(45, 41 + 12 - displayInt, 6, displayInt, tileEntity.gasTank.getGas()); + displayGauge(61, 37 + 12 - displayInt, 6, displayInt, tileEntity.gasTank.getGas()); } super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); @@ -121,7 +116,10 @@ public class GuiAdvancedElectricMachine extends GuiMekanism return; } + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + mc.renderEngine.bindTexture(MekanismRenderer.getBlocksTexture()); - drawTexturedModelRectFromIcon(guiLeft + xPos, guiTop + yPos, gas.getGas().getIcon(), sizeX, sizeY); + drawTexturedModelRectFromIcon(guiWidth + xPos, guiHeight + yPos, gas.getGas().getIcon(), sizeX, sizeY); } } \ No newline at end of file diff --git a/src/main/java/mekanism/client/gui/GuiChanceMachine.java b/src/main/java/mekanism/client/gui/GuiChanceMachine.java index 99e90aa96..08eea6e7e 100644 --- a/src/main/java/mekanism/client/gui/GuiChanceMachine.java +++ b/src/main/java/mekanism/client/gui/GuiChanceMachine.java @@ -7,9 +7,9 @@ import mekanism.client.gui.element.GuiEnergyInfo; import mekanism.client.gui.element.GuiEnergyInfo.IInfoHandler; import mekanism.client.gui.element.GuiPowerBar; import mekanism.client.gui.element.GuiProgress; +import mekanism.client.gui.element.GuiRedstoneControl; import mekanism.client.gui.element.GuiProgress.IProgressInfoHandler; import mekanism.client.gui.element.GuiProgress.ProgressBar; -import mekanism.client.gui.element.GuiRedstoneControl; import mekanism.client.gui.element.GuiSideConfigurationTab; import mekanism.client.gui.element.GuiSlot; import mekanism.client.gui.element.GuiSlot.SlotOverlay; @@ -36,14 +36,11 @@ public class GuiChanceMachine extends GuiMekanism super(tentity, new ContainerChanceMachine(inventory, tentity)); tileEntity = tentity; - xSize = 176; - ySize = 186; - - guiElements.add(new GuiRedstoneControl(this, tileEntity, tileEntity.guiLocation, xSize, 63)); - guiElements.add(new GuiUpgradeTab(this, tileEntity, tileEntity.guiLocation, xSize, 5)); - guiElements.add(new GuiSideConfigurationTab(this, tileEntity, tileEntity.guiLocation,-26, 5)); - guiElements.add(new GuiTransporterConfigTab(this, tileEntity, tileEntity.guiLocation,-26, 34)); - guiElements.add(new GuiPowerBar(this, tileEntity, tileEntity.guiLocation, 7, 35)); + guiElements.add(new GuiRedstoneControl(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiUpgradeTab(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiSideConfigurationTab(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiTransporterConfigTab(this, 34, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiPowerBar(this, tileEntity, tileEntity.guiLocation, 164, 15)); guiElements.add(new GuiEnergyInfo(new IInfoHandler() { @Override public List getInfo() @@ -51,11 +48,11 @@ public class GuiChanceMachine extends GuiMekanism String multiplier = MekanismUtils.getEnergyDisplay(tileEntity.energyPerTick); return ListUtils.asList(MekanismUtils.localize("gui.using") + ": " + multiplier + "/t", MekanismUtils.localize("gui.needed") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy()-tileEntity.getEnergy())); } - }, this, tileEntity.guiLocation,-26, 63)); + }, this, tileEntity.guiLocation)); - guiElements.add(new GuiSlot(SlotType.INPUT, this, tileEntity.guiLocation, 31, 38)); - guiElements.add(new GuiSlot(SlotType.POWER, this, tileEntity.guiLocation, 13, 71).with(SlotOverlay.POWER)); - guiElements.add(new GuiSlot(SlotType.OUTPUT_WIDE, this, tileEntity.guiLocation, 103, 34)); + guiElements.add(new GuiSlot(SlotType.INPUT, this, tileEntity.guiLocation, 55, 16)); + guiElements.add(new GuiSlot(SlotType.POWER, this, tileEntity.guiLocation, 55, 52).with(SlotOverlay.POWER)); + guiElements.add(new GuiSlot(SlotType.OUTPUT_WIDE, this, tileEntity.guiLocation, 111, 30)); guiElements.add(new GuiProgress(new IProgressInfoHandler() { @@ -64,7 +61,7 @@ public class GuiChanceMachine extends GuiMekanism { return tileEntity.getScaledProgress(); } - }, getProgressType(), this, tileEntity.guiLocation, 49, 39)); + }, getProgressType(), this, tileEntity.guiLocation, 77, 37)); } public ProgressBar getProgressType() @@ -86,7 +83,9 @@ public class GuiChanceMachine extends GuiMekanism { mc.renderEngine.bindTexture(tileEntity.guiLocation); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); } diff --git a/src/main/java/mekanism/client/gui/GuiCombiner.java b/src/main/java/mekanism/client/gui/GuiCombiner.java index bd774a970..70dad2b1c 100644 --- a/src/main/java/mekanism/client/gui/GuiCombiner.java +++ b/src/main/java/mekanism/client/gui/GuiCombiner.java @@ -17,6 +17,6 @@ public class GuiCombiner extends GuiAdvancedElectricMachine @Override public ProgressBar getProgressType() { - return ProgressBar.COMBINE; + return ProgressBar.STONE; } } diff --git a/src/main/java/mekanism/client/gui/GuiCrusher.java b/src/main/java/mekanism/client/gui/GuiCrusher.java index 625663807..0283f3aa8 100644 --- a/src/main/java/mekanism/client/gui/GuiCrusher.java +++ b/src/main/java/mekanism/client/gui/GuiCrusher.java @@ -17,6 +17,6 @@ public class GuiCrusher extends GuiElectricMachine @Override public ProgressBar getProgressType() { - return ProgressBar.CRUSH2; + return ProgressBar.CRUSH; } } diff --git a/src/main/java/mekanism/client/gui/GuiDigitalMiner.java b/src/main/java/mekanism/client/gui/GuiDigitalMiner.java index 3999d1c78..646273383 100644 --- a/src/main/java/mekanism/client/gui/GuiDigitalMiner.java +++ b/src/main/java/mekanism/client/gui/GuiDigitalMiner.java @@ -28,7 +28,6 @@ import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -44,19 +43,15 @@ public class GuiDigitalMiner extends GuiMekanism public GuiButton stopButton; public GuiButton configButton; - public ResourceLocation guiLocation = MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"); - public GuiDigitalMiner(InventoryPlayer inventory, TileEntityDigitalMiner tentity) { super(tentity, new ContainerDigitalMiner(inventory, tentity)); tileEntity = tentity; - //guiLocation = MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"); - - guiElements.add(new GuiRedstoneControl(this, tileEntity, guiLocation, 176, 107)); - guiElements.add(new GuiUpgradeTab(this, tileEntity, guiLocation, 176, 5)); - guiElements.add(new GuiPowerBar(this, tileEntity, guiLocation, 7, 23)); - guiElements.add(new GuiVisualsTab(this, tileEntity, guiLocation, -26, 5)); + guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); + guiElements.add(new GuiUpgradeTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); + guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"), 163, 23)); + guiElements.add(new GuiVisualsTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); guiElements.add(new GuiEnergyInfo(new IInfoHandler() { @Override public List getInfo() @@ -64,10 +59,10 @@ public class GuiDigitalMiner extends GuiMekanism String multiplier = MekanismUtils.getEnergyDisplay(tileEntity.getPerTick()); return ListUtils.asList(MekanismUtils.localize("gui.using") + ": " + multiplier + "/t", MekanismUtils.localize("gui.needed") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy()-tileEntity.getEnergy())); } - }, this, guiLocation,-26, 107)); + }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); - guiElements.add(new GuiSlot(SlotType.POWER, this, guiLocation, 13, 59).with(SlotOverlay.POWER)); - guiElements.add(new GuiSlot(SlotType.NORMAL, this, guiLocation, 13, 17)); + guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"), 151, 5).with(SlotOverlay.POWER)); + guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"), 143, 26)); ySize+=64; } @@ -81,21 +76,21 @@ public class GuiDigitalMiner extends GuiMekanism int guiHeight = (height - ySize) / 2; buttonList.clear(); - startButton = new GuiButton(0, guiWidth + 49, guiHeight + 17, 60, 20, MekanismUtils.localize("gui.start")); + startButton = new GuiButton(0, guiWidth + 69, guiHeight + 17, 60, 20, MekanismUtils.localize("gui.start")); if(tileEntity.searcher.state != State.IDLE && tileEntity.running) { startButton.enabled = false; } - stopButton = new GuiButton(1, guiWidth + 49, guiHeight + 37, 60, 20, MekanismUtils.localize("gui.stop")); + stopButton = new GuiButton(1, guiWidth + 69, guiHeight + 37, 60, 20, MekanismUtils.localize("gui.stop")); if(tileEntity.searcher.state == State.IDLE || !tileEntity.running) { stopButton.enabled = false; } - configButton = new GuiButton(2, guiWidth + 49, guiHeight + 57, 60, 20, MekanismUtils.localize("gui.config")); + configButton = new GuiButton(2, guiWidth + 69, guiHeight + 57, 60, 20, MekanismUtils.localize("gui.config")); if(tileEntity.searcher.state != State.IDLE) { @@ -165,21 +160,21 @@ public class GuiDigitalMiner extends GuiMekanism @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); - fontRendererObj.drawString(tileEntity.getInventoryName(), 8, 6, 0x404040); + fontRendererObj.drawString(tileEntity.getInventoryName(), 69, 6, 0x404040); fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040); - fontRendererObj.drawString(tileEntity.running ? MekanismUtils.localize("gui.digitalMiner.running") : MekanismUtils.localize("gui.idle"), 113, 10, 0x00CD00); - fontRendererObj.drawString(tileEntity.searcher.state.desc, 113, 19, 0x00CD00); + fontRendererObj.drawString(tileEntity.running ? MekanismUtils.localize("gui.digitalMiner.running") : MekanismUtils.localize("gui.idle"), 9, 10, 0x00CD00); + fontRendererObj.drawString(tileEntity.searcher.state.desc, 9, 19, 0x00CD00); - fontRendererObj.drawString(MekanismUtils.localize("gui.eject") + ": " + MekanismUtils.localize("gui." + (tileEntity.doEject ? "on" : "off")), 113, 30, 0x00CD00); - fontRendererObj.drawString(MekanismUtils.localize("gui.digitalMiner.pull") + ": " + MekanismUtils.localize("gui." + (tileEntity.doPull ? "on" : "off")), 113, 39, 0x00CD00); - fontRendererObj.drawString(MekanismUtils.localize("gui.digitalMiner.silk") + ": " + MekanismUtils.localize("gui." + (tileEntity.silkTouch ? "on" : "off")), 113, 48, 0x00CD00); + fontRendererObj.drawString(MekanismUtils.localize("gui.eject") + ": " + MekanismUtils.localize("gui." + (tileEntity.doEject ? "on" : "off")), 9, 30, 0x00CD00); + fontRendererObj.drawString(MekanismUtils.localize("gui.digitalMiner.pull") + ": " + MekanismUtils.localize("gui." + (tileEntity.doPull ? "on" : "off")), 9, 39, 0x00CD00); + fontRendererObj.drawString(MekanismUtils.localize("gui.digitalMiner.silk") + ": " + MekanismUtils.localize("gui." + (tileEntity.silkTouch ? "on" : "off")), 9, 48, 0x00CD00); - fontRendererObj.drawString(MekanismUtils.localize("gui.digitalMiner.toMine") + ":", 113, 59, 0x00CD00); - fontRendererObj.drawString("" + tileEntity.clientToMine, 113, 68, 0x00CD00); + fontRendererObj.drawString(MekanismUtils.localize("gui.digitalMiner.toMine") + ":", 9, 59, 0x00CD00); + fontRendererObj.drawString("" + tileEntity.clientToMine, 9, 68, 0x00CD00); if(tileEntity.missingStack != null) { @@ -190,15 +185,15 @@ public class GuiDigitalMiner extends GuiMekanism mc.getTextureManager().bindTexture(MekanismRenderer.getBlocksTexture()); - itemRender.renderIcon(14, 18, MekanismRenderer.getColorIcon(EnumColor.DARK_RED), 16, 16); - itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), tileEntity.missingStack, 14, 18); + itemRender.renderIcon(144, 27, MekanismRenderer.getColorIcon(EnumColor.DARK_RED), 16, 16); + itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), tileEntity.missingStack, 144, 27); GL11.glDisable(GL11.GL_LIGHTING); GL11.glPopMatrix(); } else { mc.getTextureManager().bindTexture(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiSlot.png")); - drawTexturedModalRect(13, 17, SlotOverlay.CHECK.textureX, SlotOverlay.CHECK.textureY, 18, 18); + drawTexturedModalRect(143, 26, SlotOverlay.CHECK.textureX, SlotOverlay.CHECK.textureY, 18, 18); } if(xAxis >= 164 && xAxis <= 168 && yAxis >= 25 && yAxis <= 77) @@ -206,19 +201,17 @@ public class GuiDigitalMiner extends GuiMekanism drawCreativeTabHoveringText(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), xAxis, yAxis); } - // Auto eject - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 32 && yAxis <= 45) + if(xAxis >= 147 && xAxis <= 161 && yAxis >= 47 && yAxis <= 61) { drawCreativeTabHoveringText(MekanismUtils.localize("gui.autoEject"), xAxis, yAxis); } - // Auto pull - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 48 && yAxis <= 61) + if(xAxis >= 147 && xAxis <= 161 && yAxis >= 63 && yAxis <= 77) { drawCreativeTabHoveringText(MekanismUtils.localize("gui.digitalMiner.autoPull"), xAxis, yAxis); } - if(xAxis >= 13 && xAxis <= 30 && yAxis >= 17 && yAxis <= 34) + if(xAxis >= 144 && xAxis <= 160 && yAxis >= 27 && yAxis <= 43) { if(tileEntity.missingStack != null) { @@ -229,14 +222,12 @@ public class GuiDigitalMiner extends GuiMekanism } } - // Reset - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 17 && yAxis <= 30) + if(xAxis >= 131 && xAxis <= 145 && yAxis >= 47 && yAxis <= 61) { drawCreativeTabHoveringText(MekanismUtils.localize("gui.digitalMiner.reset"), xAxis, yAxis); } - // Silk touch - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 63 && yAxis <= 76) + if(xAxis >= 131 && xAxis <= 145 && yAxis >= 63 && yAxis <= 77) { drawCreativeTabHoveringText(MekanismUtils.localize("gui.digitalMiner.silkTouch"), xAxis, yAxis); } @@ -249,31 +240,49 @@ public class GuiDigitalMiner extends GuiMekanism { mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = mouseX - guiWidth; + int yAxis = mouseY - guiHeight; int displayInt; displayInt = tileEntity.getScaledEnergyLevel(52); - drawTexturedModalRect(guiLeft + 164, guiTop + 25 + 52 - displayInt, 176, 52 - displayInt, 4, displayInt); + drawTexturedModalRect(guiWidth + 164, guiHeight + 25 + 52 - displayInt, 176, 52 - displayInt, 4, displayInt); - // Reset - boolean mouseOver = xAxis >= 33 && xAxis <= 46 && yAxis >= 17 && yAxis <= 30; - drawTexturedModalRect(guiLeft + 33, guiTop + 17, 180, mouseOver? 0: 14, 14, 14); + if(xAxis >= 147 && xAxis <= 161 && yAxis >= 47 && yAxis <= 61) + { + drawTexturedModalRect(guiWidth + 147, guiHeight + 47, 176 + 4, 0, 14, 14); + } + else { + drawTexturedModalRect(guiWidth + 147, guiHeight + 47, 176 + 4, 14, 14, 14); + } - // Auto eject - mouseOver = xAxis >= 33 && xAxis <= 46 && yAxis >= 32 && yAxis <= 45; - drawTexturedModalRect(guiLeft + 33, guiTop + 32, tileEntity.doEject ? 194 : 180, mouseOver? 28: 42, 14, 14); + if(xAxis >= 147 && xAxis <= 161 && yAxis >= 63 && yAxis <= 77) + { + drawTexturedModalRect(guiWidth + 147, guiHeight + 63, 176 + 4 + 14, 0, 14, 14); + } + else { + drawTexturedModalRect(guiWidth + 147, guiHeight + 63, 176 + 4 + 14, 14, 14, 14); + } - // Auto pull - mouseOver = xAxis >= 33 && xAxis <= 46 && yAxis >= 48 && yAxis <= 61; - drawTexturedModalRect(guiLeft + 33, guiTop + 48, tileEntity.doPull ? 194 : 180, mouseOver? 56: 70, 14, 14); + if(xAxis >= 131 && xAxis <= 145 && yAxis >= 47 && yAxis <= 61) + { + drawTexturedModalRect(guiWidth + 131, guiHeight + 47, 176 + 4 + 28, 0, 14, 14); + } + else { + drawTexturedModalRect(guiWidth + 131, guiHeight + 47, 176 + 4 + 28, 14, 14, 14); + } - // Silk touch - mouseOver = xAxis >= 33 && xAxis <= 46 && yAxis >= 63 && yAxis <= 76; - drawTexturedModalRect(guiLeft + 33, guiTop + 63, tileEntity.silkTouch ? 194 : 180, mouseOver? 84: 98, 14, 14); + if(xAxis >= 131 && xAxis <= 145 && yAxis >= 63 && yAxis <= 77) + { + drawTexturedModalRect(guiWidth + 131, guiHeight + 63, 176 + 4 + 42, 0, 14, 14); + } + else { + drawTexturedModalRect(guiWidth + 131, guiHeight + 63, 176 + 4 + 42, 14, 14, 14); + } super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); } @@ -285,11 +294,10 @@ public class GuiDigitalMiner extends GuiMekanism if(button == 0) { - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); - // Auto eject - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 32 && yAxis <= 45) + if(xAxis >= 147 && xAxis <= 161 && yAxis >= 47 && yAxis <= 61) { SoundHandler.playSound("gui.button.press"); @@ -299,8 +307,7 @@ public class GuiDigitalMiner extends GuiMekanism Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); } - // Auto pull - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 48 && yAxis <= 61) + if(xAxis >= 147 && xAxis <= 161 && yAxis >= 63 && yAxis <= 77) { SoundHandler.playSound("gui.button.press"); @@ -310,8 +317,7 @@ public class GuiDigitalMiner extends GuiMekanism Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); } - // Reset - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 17 && yAxis <= 30) + if(xAxis >= 131 && xAxis <= 145 && yAxis >= 47 && yAxis <= 61) { SoundHandler.playSound("gui.button.press"); @@ -321,8 +327,7 @@ public class GuiDigitalMiner extends GuiMekanism Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); } - // Silk touch - if(xAxis >= 33 && xAxis <= 46 && yAxis >= 63 && yAxis <= 76) + if(xAxis >= 131 && xAxis <= 145 && yAxis >= 63 && yAxis <= 77) { SoundHandler.playSound("gui.button.press"); diff --git a/src/main/java/mekanism/client/gui/GuiElectricMachine.java b/src/main/java/mekanism/client/gui/GuiElectricMachine.java index 524154a7e..3e7680eb6 100644 --- a/src/main/java/mekanism/client/gui/GuiElectricMachine.java +++ b/src/main/java/mekanism/client/gui/GuiElectricMachine.java @@ -36,14 +36,11 @@ public class GuiElectricMachine extends GuiMekanism super(tentity, new ContainerElectricMachine(inventory, tentity)); tileEntity = tentity; - xSize = 176; - ySize = 186; - - guiElements.add(new GuiRedstoneControl(this, tileEntity, tileEntity.guiLocation, xSize, 63)); - guiElements.add(new GuiUpgradeTab(this, tileEntity, tileEntity.guiLocation, xSize, 5)); - guiElements.add(new GuiSideConfigurationTab(this, tileEntity, tileEntity.guiLocation,-26, 5)); - guiElements.add(new GuiTransporterConfigTab(this, tileEntity, tileEntity.guiLocation,-26, 34)); - guiElements.add(new GuiPowerBar(this, tileEntity, tileEntity.guiLocation, 7, 35)); + guiElements.add(new GuiRedstoneControl(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiUpgradeTab(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiSideConfigurationTab(this, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiTransporterConfigTab(this, 34, tileEntity, tileEntity.guiLocation)); + guiElements.add(new GuiPowerBar(this, tileEntity, tileEntity.guiLocation, 164, 15)); guiElements.add(new GuiEnergyInfo(new IInfoHandler() { @Override public List getInfo() @@ -51,11 +48,11 @@ public class GuiElectricMachine extends GuiMekanism String multiplier = MekanismUtils.getEnergyDisplay(tileEntity.energyPerTick); return ListUtils.asList(MekanismUtils.localize("gui.using") + ": " + multiplier + "/t", MekanismUtils.localize("gui.needed") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy()-tileEntity.getEnergy())); } - }, this, tileEntity.guiLocation,-26, 63)); + }, this, tileEntity.guiLocation)); - guiElements.add(new GuiSlot(SlotType.INPUT, this, tileEntity.guiLocation, 39, 38)); - guiElements.add(new GuiSlot(SlotType.POWER, this, tileEntity.guiLocation, 13, 71).with(SlotOverlay.POWER)); - guiElements.add(new GuiSlot(SlotType.OUTPUT_LARGE, this, tileEntity.guiLocation, 111, 34)); + guiElements.add(new GuiSlot(SlotType.INPUT, this, tileEntity.guiLocation, 55, 16)); + guiElements.add(new GuiSlot(SlotType.POWER, this, tileEntity.guiLocation, 55, 52).with(SlotOverlay.POWER)); + guiElements.add(new GuiSlot(SlotType.OUTPUT_LARGE, this, tileEntity.guiLocation, 111, 30)); guiElements.add(new GuiProgress(new IProgressInfoHandler() { @@ -64,7 +61,7 @@ public class GuiElectricMachine extends GuiMekanism { return tileEntity.getScaledProgress(); } - }, getProgressType(), this, tileEntity.guiLocation, 57, 39)); + }, getProgressType(), this, tileEntity.guiLocation, 77, 37)); } public ProgressBar getProgressType() @@ -86,7 +83,9 @@ public class GuiElectricMachine extends GuiMekanism { mc.renderEngine.bindTexture(tileEntity.guiLocation); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); } diff --git a/src/main/java/mekanism/client/gui/GuiEnrichmentChamber.java b/src/main/java/mekanism/client/gui/GuiEnrichmentChamber.java index 860ed2122..3df82f662 100644 --- a/src/main/java/mekanism/client/gui/GuiEnrichmentChamber.java +++ b/src/main/java/mekanism/client/gui/GuiEnrichmentChamber.java @@ -17,6 +17,6 @@ public class GuiEnrichmentChamber extends GuiElectricMachine @Override public ProgressBar getProgressType() { - return ProgressBar.ENRICH; + return ProgressBar.BLUE; } } diff --git a/src/main/java/mekanism/client/gui/GuiMekanism.java b/src/main/java/mekanism/client/gui/GuiMekanism.java index 600ebee3d..70768b9f7 100644 --- a/src/main/java/mekanism/client/gui/GuiMekanism.java +++ b/src/main/java/mekanism/client/gui/GuiMekanism.java @@ -79,8 +79,8 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper { super.drawGuiContainerForegroundLayer(mouseX, mouseY); - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); for(GuiElement element : guiElements) { @@ -150,20 +150,23 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper @Override protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY) { - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + + int xAxis = mouseX - guiWidth; + int yAxis = mouseY - guiHeight; for(GuiElement element : guiElements) { - element.renderBackground(xAxis, yAxis, guiLeft, guiTop); + element.renderBackground(xAxis, yAxis, guiWidth, guiHeight); } } @Override protected void mouseClicked(int mouseX, int mouseY, int button) { - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); for(GuiElement element : guiElements) { @@ -227,8 +230,8 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper { super.mouseClickMove(mouseX, mouseY, button, ticks); - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); for(GuiElement element : guiElements) { @@ -241,8 +244,8 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper { super.mouseMovedOrUp(mouseX, mouseY, type); - int xAxis = mouseX - guiLeft; - int yAxis = mouseY - guiTop; + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); for(GuiElement element : guiElements) { @@ -257,12 +260,12 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper public int getXPos() { - return guiLeft; + return (width - xSize) / 2; } public int getYPos() { - return guiTop; + return (height - ySize) / 2; } protected FontRenderer getFontRenderer() diff --git a/src/main/java/mekanism/client/gui/GuiOsmiumCompressor.java b/src/main/java/mekanism/client/gui/GuiOsmiumCompressor.java index 0cd332f61..bd17dfa1e 100644 --- a/src/main/java/mekanism/client/gui/GuiOsmiumCompressor.java +++ b/src/main/java/mekanism/client/gui/GuiOsmiumCompressor.java @@ -17,6 +17,6 @@ public class GuiOsmiumCompressor extends GuiAdvancedElectricMachine @Override public ProgressBar getProgressType() { - return ProgressBar.COMPRESS; + return ProgressBar.RED; } } diff --git a/src/main/java/mekanism/client/gui/GuiPrecisionSawmill.java b/src/main/java/mekanism/client/gui/GuiPrecisionSawmill.java index da4737282..1b521b90b 100644 --- a/src/main/java/mekanism/client/gui/GuiPrecisionSawmill.java +++ b/src/main/java/mekanism/client/gui/GuiPrecisionSawmill.java @@ -17,6 +17,6 @@ public class GuiPrecisionSawmill extends GuiChanceMachine @Override public ProgressBar getProgressType() { - return ProgressBar.SAW; + return ProgressBar.PURPLE; } } diff --git a/src/main/java/mekanism/client/gui/element/GuiElement.java b/src/main/java/mekanism/client/gui/element/GuiElement.java index 896858579..712c425e3 100644 --- a/src/main/java/mekanism/client/gui/element/GuiElement.java +++ b/src/main/java/mekanism/client/gui/element/GuiElement.java @@ -2,6 +2,8 @@ package mekanism.client.gui.element; import java.util.List; +import org.lwjgl.opengl.GL11; + import mekanism.client.gui.IGuiWrapper; import mekanism.common.ObfuscatedNames; import mekanism.common.util.MekanismUtils; @@ -9,9 +11,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - import codechicken.lib.vec.Rectangle4i; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -19,11 +18,6 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public abstract class GuiElement { - protected int lmntLeft = 0; - protected int lmntTop = 0; - protected int lmntWidth = 26; - protected int lmntHeight = 26; - public static Minecraft mc = Minecraft.getMinecraft(); public ResourceLocation RESOURCE; @@ -133,10 +127,7 @@ public abstract class GuiElement public void mouseMovedOrUp(int x, int y, int type) {} - public Rectangle4i getBounds( int guiLeft, int guiTop ) - { - return new Rectangle4i(guiLeft + lmntLeft, guiTop + lmntTop, lmntWidth, lmntHeight); - } + public abstract Rectangle4i getBounds(int guiWidth, int guiHeight); public abstract void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight); diff --git a/src/main/java/mekanism/client/gui/element/GuiEnergyInfo.java b/src/main/java/mekanism/client/gui/element/GuiEnergyInfo.java index f4ef61268..d51ed1d9e 100644 --- a/src/main/java/mekanism/client/gui/element/GuiEnergyInfo.java +++ b/src/main/java/mekanism/client/gui/element/GuiEnergyInfo.java @@ -8,6 +8,7 @@ import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.util.ResourceLocation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import codechicken.lib.vec.Rectangle4i; @SideOnly(Side.CLIENT) public class GuiEnergyInfo extends GuiElement @@ -18,20 +19,13 @@ public class GuiEnergyInfo extends GuiElement { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiEnergyInfo.png"), gui, def); - lmntLeft = -26; - lmntTop = 138; - infoHandler = handler; } - - public GuiEnergyInfo(IInfoHandler handler, IGuiWrapper gui, ResourceLocation def, int guiLeft, int guiTop) + + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiEnergyInfo.png"), gui, def); - - lmntLeft = guiLeft; - lmntTop = guiTop; - - infoHandler = handler; + return new Rectangle4i(guiWidth - 26, guiHeight + 138, 26, 26); } public static interface IInfoHandler @@ -40,11 +34,11 @@ public class GuiEnergyInfo extends GuiElement } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); + guiObj.drawTexturedRect(guiWidth - 26, guiHeight + 138, 0, 0, 26, 26); mc.renderEngine.bindTexture(defaultLocation); } @@ -52,7 +46,7 @@ public class GuiEnergyInfo extends GuiElement @Override public void renderForeground(int xAxis, int yAxis) { - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 142 && yAxis <= 160) { displayTooltips(infoHandler.getInfo(), xAxis, yAxis); } diff --git a/src/main/java/mekanism/client/gui/element/GuiPowerBar.java b/src/main/java/mekanism/client/gui/element/GuiPowerBar.java index 9aa2ed0bc..8ba61a3fb 100644 --- a/src/main/java/mekanism/client/gui/element/GuiPowerBar.java +++ b/src/main/java/mekanism/client/gui/element/GuiPowerBar.java @@ -12,12 +12,17 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiPowerBar extends GuiElement { + private int xLocation; + private int yLocation; + + private int width = 6; + private int height = 56; private int innerOffsetY = 2; private TileEntityElectricBlock tileEntity; private IPowerInfoHandler handler; - public GuiPowerBar(IGuiWrapper gui, TileEntityElectricBlock tile, ResourceLocation def, int guiLeft, int guiTop) + public GuiPowerBar(IGuiWrapper gui, TileEntityElectricBlock tile, ResourceLocation def, int x, int y) { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiPowerBar.png"), gui, def); @@ -37,28 +42,24 @@ public class GuiPowerBar extends GuiElement } }; - lmntLeft = guiLeft; - lmntTop = guiTop; - lmntWidth = 6; - lmntHeight = 54; + xLocation = x; + yLocation = y; } - public GuiPowerBar(IGuiWrapper gui, IPowerInfoHandler h, ResourceLocation def, int guiLeft, int guiTop) + public GuiPowerBar(IGuiWrapper gui, IPowerInfoHandler h, ResourceLocation def, int x, int y) { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiPowerBar.png"), gui, def); handler = h; - lmntLeft = guiLeft; - lmntTop = guiTop; - lmntWidth = 6; - lmntHeight = 54; + xLocation = x; + yLocation = y; } @Override - public Rectangle4i getBounds(int guiLeft, int guiTop) + public Rectangle4i getBounds(int guiWidth, int guiHeight) { - return new Rectangle4i(guiLeft + lmntLeft, guiTop + lmntTop, lmntWidth, lmntHeight); + return new Rectangle4i(guiWidth + xLocation, guiHeight + yLocation, width, height); } public static abstract class IPowerInfoHandler @@ -72,19 +73,16 @@ public class GuiPowerBar extends GuiElement } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); + guiObj.drawTexturedRect(guiWidth + xLocation, guiHeight + yLocation, 0, 0, width, height); if(handler.getLevel() > 0) { - int barX = lmntLeft + 1; - int barH = (int)(handler.getLevel()*52); - int barY = lmntTop + 1 + 52 - barH; - int barV = (int)((1.0 - handler.getLevel())*104); - guiObj.drawTexturedRect(guiLeft + barX, guiTop + barY, 6, barV, 4, barH); + int displayInt = (int)(handler.getLevel()*52) + innerOffsetY; + guiObj.drawTexturedRect(guiWidth + xLocation, guiHeight + yLocation + height - displayInt, 6, height - displayInt, width, displayInt); } mc.renderEngine.bindTexture(defaultLocation); @@ -95,7 +93,7 @@ public class GuiPowerBar extends GuiElement { mc.renderEngine.bindTexture(RESOURCE); - if(handler.getTooltip() != null && xAxis >= lmntLeft && xAxis <= lmntLeft + lmntWidth && yAxis >= lmntTop && yAxis <= lmntTop + lmntHeight) + if(handler.getTooltip() != null && xAxis >= xLocation && xAxis <= xLocation + width && yAxis >= yLocation && yAxis <= yLocation + height) { displayTooltip(handler.getTooltip(), xAxis, yAxis); } diff --git a/src/main/java/mekanism/client/gui/element/GuiProgress.java b/src/main/java/mekanism/client/gui/element/GuiProgress.java index faaee3767..cc03c0ae0 100644 --- a/src/main/java/mekanism/client/gui/element/GuiProgress.java +++ b/src/main/java/mekanism/client/gui/element/GuiProgress.java @@ -71,26 +71,20 @@ public class GuiProgress extends GuiElement public enum ProgressBar { - BLUE(54, 18, 0, 0), - YELLOW(54, 18, 0, 18), - RED(54, 18, 0, 36), - GREEN(54, 18, 0, 54), - PURPLE(54, 18, 0, 72), - STONE(54, 18, 0, 90), - CRUSH(54, 18, 0, 108), + BLUE(28, 11, 0, 0), + YELLOW(28, 11, 0, 11), + RED(28, 11, 0, 22), + GREEN(28, 11, 0, 33), + PURPLE(28, 11, 0, 44), + STONE(28, 11, 0, 55), + CRUSH(28, 11, 0, 66), LARGE_RIGHT(52, 10, 128, 0), LARGE_LEFT(52, 10, 128, 10), MEDIUM(36, 10, 128, 20), SMALL_RIGHT(32, 10, 128, 30), SMALL_LEFT(32, 10, 128, 40), - BI(20, 8, 128, 50), - - SAW(54, 18, 0, 126), - ENRICH(54, 18, 0, 144), - COMPRESS(54, 18, 0, 162), - COMBINE(54, 18, 0, 180), - CRUSH2(54, 18, 0, 198); + BI(20, 8, 128, 50); public int width; public int height; diff --git a/src/main/java/mekanism/client/gui/element/GuiRedstoneControl.java b/src/main/java/mekanism/client/gui/element/GuiRedstoneControl.java index b2b1c5853..8f1018b11 100644 --- a/src/main/java/mekanism/client/gui/element/GuiRedstoneControl.java +++ b/src/main/java/mekanism/client/gui/element/GuiRedstoneControl.java @@ -11,6 +11,7 @@ import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; +import codechicken.lib.vec.Rectangle4i; public class GuiRedstoneControl extends GuiElement { @@ -20,34 +21,32 @@ public class GuiRedstoneControl extends GuiElement { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiRedstoneControl.png"), gui, def); - lmntLeft = 176; - lmntTop = 138; - - tileEntity = tile; - } - - public GuiRedstoneControl( IGuiWrapper gui, TileEntity tile, ResourceLocation def, int guiLeft, int guiTop ) - { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiRedstoneControl.png"), gui, def ); - - lmntLeft = guiLeft; - lmntTop = guiTop; - tileEntity = tile; } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public Rectangle4i getBounds(int guiWidth, int guiHeight) + { + return new Rectangle4i(guiWidth + 176, guiHeight + 138, 26, 26); + } + + @Override + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); + guiObj.drawTexturedRect(guiWidth + 176, guiHeight + 138, 0, 0, 26, 26); IRedstoneControl control = (IRedstoneControl)tileEntity; int renderX = 26 + (18*control.getControlType().ordinal()); - boolean mouseOver = xAxis >= lmntLeft + 3 && xAxis <= lmntLeft + 21 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22; - guiObj.drawTexturedRect(guiLeft + lmntLeft + 3, guiTop + lmntTop + 4, renderX, mouseOver? 0: 18, 18, 18); + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 142 && yAxis <= 160) + { + guiObj.drawTexturedRect(guiWidth + 179, guiHeight + 142, renderX, 0, 18, 18); + } + else { + guiObj.drawTexturedRect(guiWidth + 179, guiHeight + 142, renderX, 18, 18, 18); + } mc.renderEngine.bindTexture(defaultLocation); } @@ -59,7 +58,7 @@ public class GuiRedstoneControl extends GuiElement IRedstoneControl control = (IRedstoneControl)tileEntity; - if(xAxis >= lmntLeft + 3 && xAxis <= lmntLeft + 21 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 142 && yAxis <= 160) { displayTooltip(control.getControlType().getDisplay(), xAxis, yAxis); } @@ -77,7 +76,7 @@ public class GuiRedstoneControl extends GuiElement if(button == 0) { - if(xAxis >= lmntLeft + 3 && xAxis <= lmntLeft + 21 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 142 && yAxis <= 160) { RedstoneControl current = control.getControlType(); int ordinalToSet = current.ordinal() < (RedstoneControl.values().length-1) ? current.ordinal()+1 : 0; diff --git a/src/main/java/mekanism/client/gui/element/GuiSideConfigurationTab.java b/src/main/java/mekanism/client/gui/element/GuiSideConfigurationTab.java index 8d52fc957..a4cbc14d1 100644 --- a/src/main/java/mekanism/client/gui/element/GuiSideConfigurationTab.java +++ b/src/main/java/mekanism/client/gui/element/GuiSideConfigurationTab.java @@ -11,6 +11,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import codechicken.lib.vec.Rectangle4i; @SideOnly(Side.CLIENT) public class GuiSideConfigurationTab extends GuiElement @@ -21,31 +22,29 @@ public class GuiSideConfigurationTab extends GuiElement { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiConfigurationTab.png"), gui, def); - lmntLeft = -26; - lmntTop = 6; - tileEntity = tile; } - - public GuiSideConfigurationTab(IGuiWrapper gui, TileEntity tile, ResourceLocation def, int guiLeft, int guiTop) + + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiConfigurationTab.png"), gui, def); - - lmntLeft = guiLeft; - lmntTop = guiTop; - - tileEntity = tile; + return new Rectangle4i(guiWidth - 26, guiHeight + 6, 26, 26); } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); - boolean mouseOver = xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22; + guiObj.drawTexturedRect(guiWidth - 26, guiHeight + 6, 0, 0, 26, 26); - guiObj.drawTexturedRect(guiLeft + lmntLeft + 5, guiTop + lmntTop + 4, 26, mouseOver? 0: 18, 18, 18); + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) + { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 10, 26, 0, 18, 18); + } + else { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 10, 26, 18, 18, 18); + } mc.renderEngine.bindTexture(defaultLocation); } @@ -55,7 +54,7 @@ public class GuiSideConfigurationTab extends GuiElement { mc.renderEngine.bindTexture(RESOURCE); - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) { displayTooltip(MekanismUtils.localize("gui.configuration.side"), xAxis, yAxis); } @@ -71,7 +70,7 @@ public class GuiSideConfigurationTab extends GuiElement { if(button == 0) { - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) { Mekanism.packetHandler.sendToServer(new SimpleGuiMessage(Coord4D.get(tileEntity), 9)); SoundHandler.playSound("gui.button.press"); diff --git a/src/main/java/mekanism/client/gui/element/GuiSlot.java b/src/main/java/mekanism/client/gui/element/GuiSlot.java index 35de5d502..c3c8af31d 100644 --- a/src/main/java/mekanism/client/gui/element/GuiSlot.java +++ b/src/main/java/mekanism/client/gui/element/GuiSlot.java @@ -4,23 +4,30 @@ import mekanism.client.gui.IGuiWrapper; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.util.ResourceLocation; +import codechicken.lib.vec.Rectangle4i; public class GuiSlot extends GuiElement { + protected int xLocation; + protected int yLocation; + protected int textureX; protected int textureY; + protected int width; + protected int height; + protected SlotOverlay overlay = null; - public GuiSlot(SlotType type, IGuiWrapper gui, ResourceLocation def, int guiLeft, int guiTop) + public GuiSlot(SlotType type, IGuiWrapper gui, ResourceLocation def, int x, int y) { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiSlot.png"), gui, def); - lmntLeft = guiLeft; - lmntTop = guiTop; + xLocation = x; + yLocation = y; - lmntWidth = type.width; - lmntHeight = type.height; + width = type.width; + height = type.height; textureX = type.textureX; textureY = type.textureY; @@ -32,19 +39,25 @@ public class GuiSlot extends GuiElement return this; } + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) + { + return new Rectangle4i(guiWidth + xLocation, guiHeight + yLocation, width, height); + } + @Override public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiWidth + lmntLeft, guiHeight + lmntTop, textureX, textureY, lmntWidth, lmntHeight); + guiObj.drawTexturedRect(guiWidth + xLocation, guiHeight + yLocation, textureX, textureY, width, height); if(overlay != null) { int w = overlay.width; int h = overlay.height; - int xLocationOverlay = lmntLeft + (lmntWidth-w)/2; - int yLocationOverlay = lmntTop + (lmntHeight-h)/2; + int xLocationOverlay = xLocation + (width-w)/2; + int yLocationOverlay = yLocation + (height-h)/2; guiObj.drawTexturedRect(guiWidth + xLocationOverlay, guiHeight + yLocationOverlay, overlay.textureX, overlay.textureY, w, h); } diff --git a/src/main/java/mekanism/client/gui/element/GuiTransporterConfigTab.java b/src/main/java/mekanism/client/gui/element/GuiTransporterConfigTab.java index 4ce686a59..dc7070ead 100644 --- a/src/main/java/mekanism/client/gui/element/GuiTransporterConfigTab.java +++ b/src/main/java/mekanism/client/gui/element/GuiTransporterConfigTab.java @@ -9,6 +9,7 @@ import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; +import codechicken.lib.vec.Rectangle4i; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -16,36 +17,36 @@ import cpw.mods.fml.relauncher.SideOnly; public class GuiTransporterConfigTab extends GuiElement { public TileEntity tileEntity; + public int yPos; public GuiTransporterConfigTab(IGuiWrapper gui, int y, TileEntity tile, ResourceLocation def) { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiTransporterConfigTab.png"), gui, def); - lmntLeft = -26; - lmntTop = y; - + yPos = y; tileEntity = tile; } - - public GuiTransporterConfigTab(IGuiWrapper gui, TileEntity tile, ResourceLocation def, int guiLeft, int guiTop) + + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiTransporterConfigTab.png"), gui, def); - - lmntLeft = guiLeft; - lmntTop = guiTop; - - tileEntity = tile; + return new Rectangle4i(guiWidth - 26, guiHeight + yPos, 26, 26); } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); - boolean mouseOver = xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22; + guiObj.drawTexturedRect(guiWidth - 26, guiHeight + yPos, 0, 0, 26, 26); - guiObj.drawTexturedRect(guiLeft + lmntLeft + 5, guiTop + lmntTop + 4, 26, mouseOver? 0: 18, 18, 18); + if(xAxis >= -21 && xAxis <= -3 && yAxis >= yPos+4 && yAxis <= yPos+22) + { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + yPos+4, 26, 0, 18, 18); + } + else { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + yPos+4, 26, 18, 18, 18); + } mc.renderEngine.bindTexture(defaultLocation); } @@ -55,7 +56,7 @@ public class GuiTransporterConfigTab extends GuiElement { mc.renderEngine.bindTexture(RESOURCE); - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= yPos+4 && yAxis <= yPos+22) { displayTooltip(MekanismUtils.localize("gui.configuration.transporter"), xAxis, yAxis); } @@ -71,7 +72,7 @@ public class GuiTransporterConfigTab extends GuiElement { if(button == 0) { - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= yPos+4 && yAxis <= yPos+22) { Mekanism.packetHandler.sendToServer(new SimpleGuiMessage(Coord4D.get(tileEntity), 51)); SoundHandler.playSound("gui.button.press"); diff --git a/src/main/java/mekanism/client/gui/element/GuiUpgradeTab.java b/src/main/java/mekanism/client/gui/element/GuiUpgradeTab.java index 4d1dbba32..99f4595cb 100644 --- a/src/main/java/mekanism/client/gui/element/GuiUpgradeTab.java +++ b/src/main/java/mekanism/client/gui/element/GuiUpgradeTab.java @@ -9,6 +9,7 @@ import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; +import codechicken.lib.vec.Rectangle4i; public class GuiUpgradeTab extends GuiElement { @@ -18,32 +19,29 @@ public class GuiUpgradeTab extends GuiElement { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiUpgradeTab.png"), gui, def); - lmntLeft = 176; - lmntTop = 6; - tileEntity = tile; } - - public GuiUpgradeTab(IGuiWrapper gui, TileEntity tile, ResourceLocation def, int guiLeft, int guiTop) + + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiUpgradeTab.png"), gui, def); - - lmntLeft = guiLeft; - lmntTop = guiTop; - - tileEntity = tile; + return new Rectangle4i(guiWidth + 176, guiHeight + 6, 26, 26); } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); + guiObj.drawTexturedRect(guiWidth + 176, guiHeight + 6, 0, 0, 26, 26); - boolean mouseOver = xAxis >= lmntLeft + 3 && xAxis <= lmntLeft + 21 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22; - - guiObj.drawTexturedRect(guiLeft + lmntLeft + 3, guiTop + lmntTop + 4, 26, mouseOver? 0: 18, 18, 18); + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) + { + guiObj.drawTexturedRect(guiWidth + 179, guiHeight + 10, 26, 0, 18, 18); + } + else { + guiObj.drawTexturedRect(guiWidth + 179, guiHeight + 10, 26, 18, 18, 18); + } mc.renderEngine.bindTexture(defaultLocation); } @@ -53,7 +51,7 @@ public class GuiUpgradeTab extends GuiElement { mc.renderEngine.bindTexture(RESOURCE); - if(xAxis >= lmntLeft + 3 && xAxis <= lmntLeft + 21 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) { displayTooltip(MekanismUtils.localize("gui.upgrades"), xAxis, yAxis); } @@ -69,7 +67,7 @@ public class GuiUpgradeTab extends GuiElement { if(button == 0) { - if(xAxis >= lmntLeft + 3 && xAxis <= lmntLeft + 21 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) { Mekanism.packetHandler.sendToServer(new SimpleGuiMessage(Coord4D.get(tileEntity), 43)); SoundHandler.playSound("gui.button.press"); diff --git a/src/main/java/mekanism/client/gui/element/GuiVisualsTab.java b/src/main/java/mekanism/client/gui/element/GuiVisualsTab.java index f591f20ef..0123ef594 100644 --- a/src/main/java/mekanism/client/gui/element/GuiVisualsTab.java +++ b/src/main/java/mekanism/client/gui/element/GuiVisualsTab.java @@ -17,31 +17,29 @@ public class GuiVisualsTab extends GuiElement { super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiVisualsTab.png"), gui, def); - lmntLeft = -26; - lmntTop = 5; - tileEntity = tile; } - - public GuiVisualsTab(IGuiWrapper gui, TileEntityDigitalMiner tile, ResourceLocation def, int guiLeft, int guiTop) + + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiVisualsTab.png"), gui, def); - - lmntLeft = guiLeft; - lmntTop = guiTop; - - tileEntity = tile; + return new Rectangle4i(guiWidth - 26, guiHeight + 6, 26, 26); } @Override - public void renderBackground(int xAxis, int yAxis, int guiLeft, int guiTop) + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) { mc.renderEngine.bindTexture(RESOURCE); - guiObj.drawTexturedRect(guiLeft + lmntLeft, guiTop + lmntTop, 0, 0, lmntWidth, lmntHeight); - - boolean mouseOver = xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22; - guiObj.drawTexturedRect(guiLeft + lmntLeft + 5, guiTop + lmntTop + 4, 26, mouseOver? 0: 18, 18, 18); + guiObj.drawTexturedRect(guiWidth - 26, guiHeight + 6, 0, 0, 26, 26); + + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) + { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 10, 26, 0, 18, 18); + } + else { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 10, 26, 18, 18, 18); + } mc.renderEngine.bindTexture(defaultLocation); } @@ -51,7 +49,7 @@ public class GuiVisualsTab extends GuiElement { mc.renderEngine.bindTexture(RESOURCE); - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) { displayTooltip(MekanismUtils.localize("gui.visuals") + ": " + LangUtils.transOnOff(tileEntity.clientRendering), xAxis, yAxis); } @@ -67,7 +65,7 @@ public class GuiVisualsTab extends GuiElement { if(button == 0) { - if(xAxis >= lmntLeft + 5 && xAxis <= lmntLeft + 23 && yAxis >= lmntTop + 4 && yAxis <= lmntTop + 22) + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) { tileEntity.clientRendering = !tileEntity.clientRendering; SoundHandler.playSound("gui.button.press"); diff --git a/src/main/java/mekanism/common/inventory/container/ContainerAdvancedElectricMachine.java b/src/main/java/mekanism/common/inventory/container/ContainerAdvancedElectricMachine.java index b84999eef..96b51e099 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerAdvancedElectricMachine.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerAdvancedElectricMachine.java @@ -21,10 +21,10 @@ public class ContainerAdvancedElectricMachine extends Container public ContainerAdvancedElectricMachine(InventoryPlayer inventory, TileEntityAdvancedElectricMachine tentity) { tileEntity = tentity; - addSlotToContainer(new Slot(tentity, 0, 40, 21)); - addSlotToContainer(new Slot(tentity, 1, 40, 57)); - addSlotToContainer(new SlotOutput(tentity, 2, 116, 39)); - addSlotToContainer(new SlotDischarge(tentity, 3, 14, 72)); + addSlotToContainer(new Slot(tentity, 0, 56, 17)); + addSlotToContainer(new Slot(tentity, 1, 56, 53)); + addSlotToContainer(new SlotOutput(tentity, 2, 116, 35)); + addSlotToContainer(new SlotDischarge(tentity, 3, 31, 35)); int slotY; @@ -32,13 +32,13 @@ public class ContainerAdvancedElectricMachine extends Container { for(int slotX = 0; slotX < 9; slotX++) { - addSlotToContainer(new Slot(inventory, slotX + slotY * 9 + 9, 8 + slotX * 18, 104 + slotY * 18)); + addSlotToContainer(new Slot(inventory, slotX + slotY * 9 + 9, 8 + slotX * 18, 84 + slotY * 18)); } } for(slotY = 0; slotY < 9; slotY++) { - addSlotToContainer(new Slot(inventory, slotY, 8 + slotY * 18, 162)); + addSlotToContainer(new Slot(inventory, slotY, 8 + slotY * 18, 142)); } tileEntity.open(inventory.player); diff --git a/src/main/java/mekanism/common/inventory/container/ContainerChanceMachine.java b/src/main/java/mekanism/common/inventory/container/ContainerChanceMachine.java index 2ac75f487..c2799862d 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerChanceMachine.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerChanceMachine.java @@ -20,10 +20,10 @@ public class ContainerChanceMachine extends Container public ContainerChanceMachine(InventoryPlayer inventory, TileEntityChanceMachine tentity) { tileEntity = tentity; - addSlotToContainer(new Slot(tentity, 0, 32, 39)); - addSlotToContainer(new SlotDischarge(tentity, 1, 14, 72)); - addSlotToContainer(new SlotOutput(tentity, 2, 107, 39)); - addSlotToContainer(new SlotOutput(tentity, 4, 125, 39)); + addSlotToContainer(new Slot(tentity, 0, 56, 17)); + addSlotToContainer(new SlotDischarge(tentity, 1, 56, 53)); + addSlotToContainer(new SlotOutput(tentity, 2, 116, 35)); + addSlotToContainer(new SlotOutput(tentity, 4, 132, 35)); int slotY; @@ -31,13 +31,13 @@ public class ContainerChanceMachine extends Container { for(int slotX = 0; slotX < 9; slotX++) { - addSlotToContainer(new Slot(inventory, slotX + slotY * 9 + 9, 8 + slotX * 18, 104 + slotY * 18)); + addSlotToContainer(new Slot(inventory, slotX + slotY * 9 + 9, 8 + slotX * 18, 84 + slotY * 18)); } } for(slotY = 0; slotY < 9; slotY++) { - addSlotToContainer(new Slot(inventory, slotY, 8 + slotY * 18, 162)); + addSlotToContainer(new Slot(inventory, slotY, 8 + slotY * 18, 142)); } tileEntity.open(inventory.player); diff --git a/src/main/java/mekanism/common/inventory/container/ContainerElectricMachine.java b/src/main/java/mekanism/common/inventory/container/ContainerElectricMachine.java index 5b024876d..7a155e999 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerElectricMachine.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerElectricMachine.java @@ -20,9 +20,9 @@ public class ContainerElectricMachine extends Container public ContainerElectricMachine(InventoryPlayer inventory, TileEntityElectricMachine tentity) { tileEntity = tentity; - addSlotToContainer(new Slot(tentity, 0, 40, 39)); - addSlotToContainer(new SlotDischarge(tentity, 1, 14, 72)); - addSlotToContainer(new SlotOutput(tentity, 2, 116, 39)); + addSlotToContainer(new Slot(tentity, 0, 56, 17)); + addSlotToContainer(new SlotDischarge(tentity, 1, 56, 53)); + addSlotToContainer(new SlotOutput(tentity, 2, 116, 35)); int slotY; @@ -30,13 +30,13 @@ public class ContainerElectricMachine extends Container { for(int slotX = 0; slotX < 9; slotX++) { - addSlotToContainer(new Slot(inventory, slotX + slotY * 9 + 9, 8 + slotX * 18, 104 + slotY * 18)); + addSlotToContainer(new Slot(inventory, slotX + slotY * 9 + 9, 8 + slotX * 18, 84 + slotY * 18)); } } for(slotY = 0; slotY < 9; slotY++) { - addSlotToContainer(new Slot(inventory, slotY, 8 + slotY * 18, 162)); + addSlotToContainer(new Slot(inventory, slotY, 8 + slotY * 18, 142)); } tileEntity.open(inventory.player); diff --git a/src/main/resources/assets/mekanism/gui/GuiAdvancedMachine.png b/src/main/resources/assets/mekanism/gui/GuiAdvancedMachine.png index 91998175a3e66d9f520041167df5b7252bcdcbfc..cacea2e3d042f4a37fd01ce272c8c2aed03f149d 100644 GIT binary patch delta 2015 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 W-5oG{exTU@xI^BO33yrGUGV>!xsoLS diff --git a/src/main/resources/assets/mekanism/gui/GuiBasicMachine.png b/src/main/resources/assets/mekanism/gui/GuiBasicMachine.png index 8c48f9a061db39100b534def15895ce1c6db6229..ff4b77e51c45ea06535c28c07be9b67e20becfbd 100644 GIT binary patch literal 2247 zcmb7E3p5ni8^1G+*Mz*E(g?K!)9+W-IFbI<*q@7(YE{qFaD_r@Qywh)0UzySav z7_^x!01zI806~7<=7zuT1HhKWv!}L;! zkOFp)#QJz+68TV-JDJ}kgw|eltlekWV>mODH8cFG{Q2N~?%;yT!N6|C`$SR#!Z0&* zZ~ZB8ZHCDfArn)7v=uUaMa4`)JGQsMDn#H+)AAyd9d&bVdChPxEt)xHKN9j>hWXR& zqV$FSmBzank4&b;G;vFjJXZ=LrNPXwpS8WAu~`x z-p^m-x26G`kSUuw^Dd4YCiBjALNblq2E{I^YXhv^aYNCIl~Y=|m2Kc+#$B}xPuC3F*BTEdsS{5xy=rmW=+vFAy0)YT@r$`})s*3Y-tKol`UryP z;h3nxNF>+H#Bt$e^0q{(PcxpOhc@0eor{Y!M}x$rReY5+xI-cNSD3=!TXb1)=SeO#(QI6E3#!kG9K5xf-HMAm{xdF4w8Uvm_UiW*T{dNib}bWj*_-!x!Q+!!BDFNq zTRq3}&+JW#u@s7rGaI{`=f&?U?Is_eFd=#;xzSVna!egu)%Mrzo>?AstqE9VO-{nj za+?|PNT>0A^ECr|;L4h-jjw~x8{Ebnp9;>N!n&ZfG!Q$9HMGjg{1DqZ)_|k+tFT)& z+$+A1X4DKIP@kbzR@YXSo{oY8I?0&&@$4HY? zT{v<>)4gObnfREvU1%hla{+Rltf5UG>$V#G?pO}TIwT}uMze6XbvbrUgz!sYTF0l< zb=~lTYiBwBoaMNJ+VOO13bm9vS6Nz#qwXlDvWNIs0<1fndz|y*#SSAWoZ&Rfi<6SzK^{`gI1VJKBWfk0XkbJn>n=IOR058tI?{$nqM3)DK<2WsY{rn zq-9ekwy}tA-|NMn)LH53pA`=`AHH||NBCjU_5q(o`MPEkl^65A{yOl(H_MyUjmm;J z8rxf88iP~81!NfW)`d*daS0{UFfG_S+-ggP9qv;9Gk=b>=G0mVmH%M4MT&h8*3w|< zu${o;0a-b6Jfpxx%u#cJ*D!IQ#%FghqzH%*N8*#Poi#`<8ZM~lzpc!OG5VL&TvM6P*P+OcXIUw=kqX=9iP^s1# zDQS+mB&BNI%w#_lme@0{J7S|7v)Emvf$4D>rjxEdDC(yN&}UL>Eb-TSkJ?saPO66G zzS(#ab-nfx2A|v8_h}+6`))7>OJB>vE=PO?AUTT{}` z<#LUn#`JR-JomTdUHURpmZiWyN(`U?31hs4vOjE_r5OJT{W}dw?X-^&(x-a(>3U_57*Kux!Q2`4 zSFM|(|B(Gv|6hS8XLN(lNlPY%ULRr9d9HGAOO8dS!GQx6c61A{s_%Z~E&fK|IqzhH zl)Q>T|Ctm2#PKylpULdlqhWx}HEe&2|ERCif@r4frW74XwGlmeL78menaQ4yM`2&= z#%OD6+uC>N8FfjcHu#0d8Wjn#&jOXnzJF%mYuv9u30&i4K2u2zdP8^B0Ff*i&6Hn9 zs6itOHA$aD8{1rY>4m{`O1`YsZXIRZAYpLOucWY;eR{qAjj z9Lbtb&sUgWWF(!5llmN)QoR{@jQYo+e=ffmu;lfM71=JjgC|S0g~C8=FND(gK6i_1 z2)FZv4(}PbJXreaeBkK>M_}J)ZDUi+Z_%)YQJTL*grHOVU7RJ7qdSPa8%x%H@k4#< sE`RTgZ(IJq#{I1O-}wJEq|H(?D8gCb z5n0T@z%2~Ij105pNB{-dOFVsD+3&OPFsUoD9?C9fU|{C=ba4!+xb^nV!ORv1k%oun ziK~llZEC#TPzzdCZ-QQ_>P>J9OX5!bJ-ys)KEMp-FomYP44=sboye-s!R7#NrsI2fqK zpq@!^7m;gZz}4jU{p+u<{vrRRR{pci?BsI~Ezdu{Joi^8Lyq`@BL+N%=QmqElbN@9 z-D>Nr+W0~MDRwzB|0uT^)6C0<=6vsUcx>V3 za>T^J3*)=U#qbRKu|5@n43`$`2Rqj|HY~%E5wF`CDhL)_C1|O%`OBr>mdKI;Vst0H}20 AegFUf diff --git a/src/main/resources/assets/mekanism/gui/GuiBasicMachine.xcf b/src/main/resources/assets/mekanism/gui/GuiBasicMachine.xcf deleted file mode 100644 index d9a29db51da0b6478e97d64c5c3131db4d9c24e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89120 zcmeGlTWlOx_00I0UGLgXylz4tG7ps`w$lc+*|xTu5FuPpD=b<|lu{wbcI-`3JJ?Cv zs2^hqP(KzyRaN2#w@4^bQ9s}VR6bB;A$8jyq}}pU_^LnxBw9eUQr*O!%Q<&uc4xh_ z+nL>&^~~-W>CBwHb7%J6^Sbw*d+wd3%u|;~o}E8Gaz1lu5dahu@B%PMKPcrO!W{^s zDxU77lwT6oL#ILd`8b^pA@rVoq4Q@1hz}ujBK!zp*u*Jc3g3DgUI&)&&&M-Q%`GjC zFRf)3Fp2(OfurkJu3cIjSzo=BSvVFudVXns_0sCv$WeJ2Ut2miH*)uhyXE14oHTD8 z!$;3KJZjw^sgBU2&#qsdo6oE)jhwXp3lpz7C7NmDS64DuMlvh&%Zuyu{ObAh>x);4 z1*E4dlZ=$|M~M#Rp}YwY`!kaACjf^Z1-R`4fMfpy$ovMBuCH6U@cJA=8iDBB{ph9D zE9;0rHv(}$AoQ9zXgHg|4h`f6r@I=PPhB1-qWU-WByXBUD~zsTw*;q5r~f#hM8 z81Kb@fxW)(m#4>H$FBG>N;?Aj%=OfD1uxo=cJulS%xEd?23<5%J2lGaj!_wT8Pb#) z9cG4SH248mxfYl884`-Fq0|rxMOR`dadW5(x)Q0x4Z0*qD58w+7?qKip@h<%AOA((#k%MR18 zF|8x|Y06i~Vo`Jb5CU1I_}RJni%V;(S63GBS5tc!)WLBwO*GMF9=HG8M64pCX}bOQ zIQ{n*guj>HyZt@1c3(ia2jJ*cy#HB*lawdG-UYup$i5p>m#G`fsDLHQgJfv~=p-3{ zoDIZSu)~M|M=1R2SsbV^`vM*a2PkIDz5t0E{Hrmds}Dp}S|Cj&4>=nD64Yn>>y+BM zAJdc#%RPgm0(p>o=Aenwh++2I;>Z zM{pVnS$-wFef%}bh=)~hEZgz7FbWc*Of#<gF&i#S% zG)d~z90e?<`->+fE&o}~$w)IA$tI;2DVg0yJWK9hzGqUzpiWrnLeXY=@$^Yn2!nad z@D>&5BCjRanc@3x!N@*9mMwW$Eo7-}V@uA>da_dO+goMA^`uG9Ts?8wFz7q|K>-1I?IV8rtaN zMp~GLmP?WJE0(2*NERX%B1r)^3glNFRzy}rk7`#bdMreCA*!U0n-r#@orc&VVjNH4 zfgfqLtn-W0dbHla3>vq}qmy5d({V$DCeZlL?nb+>G60NDVB(SSs~2g`aDs9yOu#9>AS$|zg(bwClP&XaSs)-iFoY%xkE z=$X@6)969m^CS$oK~ZjYVpfI8+0#a-Hj5}nhy<+?ETT4VeYgU|f@XaX7B7f*)-R%3 z&xWzn5bc!Tis3Mopeexf%a)tYZAeQMI^qsS*y1s3jK;2Xb~DT6R~}{!hK(5V z>=#M>dQVN(XuW4dM_CKzr|+%SeqrqC4x^*W!GGY)#N#;?{nWGLbQ+sI2`ohZIdNLh zTgXCW8rizdYt)6pYx(Q8L|T`iPWu?{w1@|7uy{8ic+d*|!xEDV_vL*$^)D^1EUsnd zzkBaJCoZonQ4Xi|`;_kY{`T}vI-J(;Q<`~PxM(0$T3KvdzklI*{DRS!5X_BKt$P># zgr5h(Z~y%80>DeS2f#~M)wV zh?=>kQ;SDgH&2O=lGQ7xk$*LuFe6K_SJIz=d8_-5OAxq>9w_q~E8(_F$eyxv_ z^uJ;II0-MswawAEnHX}I^kEt@4J8F)+0wUuSSVO1Bn8|U6~FSds&Qh)YCx1)RVe&Y z8aMB0RT>(r&rjo5=nf+2IsEJ@Ek*bH+)=sse84%dfs>2jPDyJWx=%Fe+_TmkU(0MU zM!jb2fKP;WjM%CAZf1*3(Ag3h0=fTU=}m~e8}^h{k5)Vi3P>Jpgx!{<;<%=$Y&tQPHOo>f4UUO^{Dzo>mR}sjO*mDNI9aIT`71eRO6T20}v(wsLGv z8YgXiLS5fetO||ui)k1L4cVO7d#LrdcJ&#C`krD{2t*Zl^;6@kpU9lhfG0eWKpd81 z3(H})gpwG{7G?{5#IkD8W~C9UT=B$0#6sjzhI4VaeVp=Y|q_cV3KJF`UBf z5wO4vXNE^@eOjq!)|#5?rG7*K$Tnp29UBm~3v3tIF64ACx)|0T0|z6wK`=5m1hxrm zUNDgb8Gc^Vez9F>1G`{vl$hadz;L4>pg0^&#c1KO9TU^>bTh+;>x*#P-={df&T@c} zAl1hUrlB7+Wc9VpOS=_D7Ck>iFKOF(SI>%=;AX@&x^QC@ai3~#eaoFE?#RZXN2bnD zVmB14%)=(o4--fo=*k&ruPGey!4V%E@nLH_ZDG2V5g)8AA?RFWUXgInvF`=Ry7|A`$|ITE2(7HXimj_X-*)FqtSW?n8nz4sdGDkAV>05-tC56 z%;H*mFI6FIc#`X3akG6r^c~1?Y$9GP`zj)NU+~y4f$%dX;6*V(B16+xGiT@4GxLwk z%`azG7EfGWS;G6E(g}}lgiZv3&}-s&fde-DHX9zZ;c*+@XTuXVydQCTuXXewLjOm{ z5CY*=S+MBcNxEUHLno#k2jx4x2$a8cPw9Rdl=weE>C1w0%V|&!CqOxR4=5+!1m)}* zgc(pC#z?=>!rKV%BH%MmY|A%^DcBVtCXJ3f_U08aQJ}SZh4#8UP`J5FwZ6Zg zEX(TOS5OTkUFa~7;w?`|6UnGJF*8rK$xpP^<$=6pX8!)X!OZ-9d4rkxblzZQ=~gk1 z8>ES3bYv!LCaP!@H4_~qXj`@ZH^gbcK|Ho+TLpc&Foo7;3JuL9+L#H6)9-T7Iv*?) zAIj^?`6-m@DHP~Ql;sJD)9-S?hw{aTy!?}lTm%(AygVkh(Q*JhdJ1CrwA;2 zN!tGCdRgwmD7HKQhP^NGFIfjgQLsiv3%83yOa%_naG^u+ha)->{I(@I3}LY>X@QX^j4j)ewAI zIho;Rm(Vb<;g~|?9&E9nZpm@0^w1sk4J+qpU|Xfq)r?a+)Q=fnG_W*Lr*&=>62+0Z z9HYml6K3OD8k!&G6dMI%n;1Q97bM)EifQOgTB1n9*e0q=o>^^E1viEvimY~1uV&_n zA`PXwaO-0CG`JC&D6-m3y_%UPiZn!Zp*`Pl^4a~A-M(h-DC_g!;K3|;hpl}`Zt66f z!*@bMgG08iYe$hW%*qG~ZCkU_TUd~r(4oNclp9KP0ar1Hd`B1Ip+T8;6$b<6X^Z59wvO&A0emM4}KT$za%RZN1`y&+^|U>gMAIqFT#b>bYj zR-rdIOlyfKO>e>=An&X#MgF6B2*+j8>1Hu-=<1izK zJLU20un)7tL`U2aVi|X9z}`nR7|&5O{xCitHO8~X`@?vf#%l*~HyAYeduITmJ@4-5 zRdnOaE}w0SHW4bPby~GPUfDg0dmhO+nG?okoG$%h9NWMbTWl_@j5O9nq?_sQa!ud~ z!P10arCx=HI$qg5iW_;k)`V!Ak22C&^DNvZM4PFVx@gtME4yp93Hv#-;`HC@_+?>Y_z4mgM!B?h{^ z*k_bidQS+QM02!vt(G|OriGi3mOpE9p!#dy;TLT;0uI>s9(&h$)iHM+9w@-!BA4+< zr-Ydt5NKX6TZFwO*c+p}iyiT3_T|-FT+@I4gcz8gw1<5HMm+!tVK_gC$?c&hv&!q?zJ0Eg|E2e za!mZs8r+g*Um>R#>JWlG`xc+LH8 zkI+wD$mn9fYC^O6!MZ7qxI#3VUEAU&e>Y4Wzw+pD#EZtwHl2O*_Dh)I#42A-Y@uD< z<*(@qRaZ$jzZn+AW&6F?p&G>OM~xJ9nxsx2#6R@D_P1w3#Qfb-X1xYW)q3h&)V}%W z@+^y>kbq=HV{b8%Ux+jX5u7fXC~Ug*-|%}H`oaC4U6-@T8HnqOgzp;&h$ zpIjG-UHCMOQF>r{F)NvDJuDZP+9a3Mfg%NUzLQL1cn$Thtr}`Gl_#WPzEtO!dx|do z9nrz0MXzn_^V>?zzM`BP#zSusdYi??{!LTcE>T`7HBtKzQ9eJn*IK`@zHp%MR~H}a zbzwz9>TiRJxOzv+3jy9K-}Md6Q{wl3#&|Scii~6i?Q-1=Nv@Rl`g*)q*f?PO+D%r?`Zplx(C#El~ zF2sbpc59xh@vzs(Pk!qfPG~==Zb`HJ*qYm=DoD7{A>FkwtX~=SAxxD!n_k=9y{5#=)xT zch*mLviL41qiNSLS;vpP{t}L5-o)Pu|KYQLv0yPf_-_Au^(FiC-bwAKq5`*)wT37c zty8*oH_NOH=G2&Tn35$-{WF<@h7Hxy)o{7h5pLYt{$Up#+5YQXqkh79TNRc)@uB18 zxiB|ep3Y$G@;6(#DA=;^)&@J;UHrq7fTK@@m+R&@AaP>Cdo_2```U!nT0M7A+n@a| zKycXJim^BVK>8BQj2*&Yi%%K%B?#zG1FN0jBFskDtX*B`GI%Zu(a@MEuB0fsBPw|( zL^sInz=w0`KT9&RNv$$ua}%m}4|Q*%3StosCpoXUQqx5w_Z?e}nCZ3ATa*s%cc(3| zm7`Cd9Ap)5%ymy!*SQac^lCrQnVk8m;EK%hg$r6-FO9zEek+tH9(j4}7wh?3f#L=a zgta)u{5e*pr=7A~GhmSznJq!{`|?%3ZETEf^M#?qsCsFAZGFR759MkEwTn`a`uo>$h$T#VkYjEg;)n4V0TgJ-6Kefm? zNpIe~89pX~6w{%s`49U&s~Q^E3^(;I*i@+)3Q+X(^CP_KEEI(m)>KAhsi?kswfQ!3 zC4S^0Z6s>C*5AA2?c0=vg$2b`O~FIygRI=#D7(Iap+Db*N32>dDF*LMPK06OaGmkcbtwsl`YPIG*Fm+O)W!2hMCU(W_iVmct(&{BC?yxY zyULR&5UHfuTDMv2`63gvXxkY+?^#a`IkWLpX7{8=_~e9My-nS(n9xsN8?)Q%t&6|l zd?nu%0ob20*)#Cs2HmUf8Gbt-w4Ye@PkmdD3OrU)!ZeuA{k?LgtfVUI?5PtkD_yFw zjhad|Zg1Nc9l582iFec@!am9!hG%fslSc-=2KeXuY{>PG7`2kH_6sZWEi6_PDU500 z@$PeS$F4{1$)^w72?GxsPuE`J&TG_>Xz2lor4b#BfZy8_X{?Grp1YhVbr+I2vv&XT z)J}|~%8#~)M=Sf2-1hnhE=h?zK!)sP6fB}IbOh+_$?NvLvi+o_9vZ=kI9}3qIO(0I z+nmj>`mN`l3cFi@8`gD$Zk9XiuQt*cMk6*;9mnR}f7Gu8zt=jqd&S zx{`*GQKryKma3X~*X(SiI)75qw&(67k8Qh+8m!%utG%uWw;EPKLy$8@llxpnfX&~w zJ8hV~FdPo|<=c*?GUxYz5hIEVvz71palCAcQD1Laf6lG-Pj{(AzCog~nj_dkv9SHF!B7DrnJZ2Z|=9cTG( zjeksfR3F?&&}ZZr%=>kAdw8DsC;{SOfj!o5BGHGqJiQ*4??n9;BnzmBbIwQ`MP+9j zL>${rWu9NB;mVbM5QbK#8K13a`r&Jb1{B}@wb&dgePNjB7_rGl(hztARcpM73bgh+ zPz5?xR(Hzk`~AHeG219gtJQb4k+V?`#hYF%tn{C(t|eJN-q>E1xvS`p)sP1-j(#>0 z$7%Mh%K8K-kzQuXaz$O4{gq}qyYsxDOA94 zo#np1qmpF3y(+uG^-~jnFLMd@6Uu2@nqoC!{ct9zc|k1xY4&2$k&`iHw4&NNy6Ar? zb`^;WWw`|wsrz)kvd#6jg|$yMtgnY$Qly5EjEt%J2F|@UcYdzTc2+E!ApN+_q(Q^(P?BQ{F@>*HDnxcl9p7;W(g)t%7;}PYyMFlSN zeoLvfzV#+Ok~z(8-||YO94m0>pS&fL>E11mcZ`Vf+UVEGx_w{K|CwTnFq~iN>k{iT z{ef)h=YCJ`JwD&E2_d1O_uY4`Y7gt_DvazV<(6d$ltXRG#+FV6x4&*a#1`_kor^#8 z5Aiu!hv6GbBeouOkuG`)${`hcQyO?cG6;7)8_!nTWIyjLou2yo#Dn5ox;p0;i-Oz1 z;)Y^)#gOC)&p}}pUxYn;JJcKxhatX*!a(B7j#EBZrY!)QnQqYg*IPAM@aNW*llmZ% z97fVj&A|X74f>_#NOIy|FR=(~8K}ZyeI z-Vi)*dy7#dQv?sJ39tcJIRvk~@L&*P2HFab3nP*#3Z5f#AclbaHadg zA6^ZvWuJI?@QVnMn`jt2c6@Y8KRRk^qr%649HjgAe4;qs-K#4eZw6_Z@PKd@W0wiQ z?J~uFVUZ{phhXAbV25oq~r{ z|3@h!6kMNQLwW&0533qS!xa!1K%v7d1t}&Bxv1~P=7WiVafSkK%gVf-9Rzt{h%QB@ z<*AM>Ws66XJv~mhgq`tt0)9uIGd4EX>hWVS#Hq4#w)J&noKg-L_YKhB_Tr|b@}~1d zKmRV(x%nD*xL3Si7yT5>hBJLDvRj@@eu&&8m6etrIqB#l^#{k6JF@EH?tUXQ=lL-7 z48~(JCSPfOe*O_K>Z5UjBQW(~32o^1cuKpmenk}@_A=}aSsYUOkpt=w*a#WbsP*w6 z_yq}>`GShaB69#ZGDk@oON@hDP;dnKD9ey=%hqfJObfD1t5DVsaR+kzjt|uWk%c7# zSp+o21fvg0sc)}uLKlGSv@Sx3!p9&1#~zKN;NFlx-e*qaArVkK5Dd}#NDWhZwKQ43 zNu6=Qk3VV<9GjSG`p!lL74x=I@!g}Bm}MQ`FLKh)f?lWSzN{PfaX!Gfwc*U;MygIg z__Fx7cr;}&S=*wTC-1L#RWKPMk*t`qjLn14T%I}451W91PVmY_A}&Km9|-R=q2nM_ zVQ^j<_yLG|ob)@Sh7ADI$iX+plOdk}P8o;^pxj+m&Y#=199-FWS`g+0uDtj}#Rmjo zH%nwwo>WW~T;s;vlTZEs3xD{3!k?z%4}9t~A-aK3YfioYXKPl0%V4}X=!GEz%_%2- z129`iN=4ik43Z1-K2D{B2N4F11pS8d+!QfL_ahfm4e|6e06xkqq=jh4L&3r(t-;_q zkU6$NS;iP{C{6+{FNBfHa%3Rvc9Q`72-JmMt+KbsWJSm?5lL@k0)@O9JnHm1pLL}Iw3#>G5~T@^$^aoWWc$7U#SU30}?{RZqS&% z7lME0T>=_TfkHr`j0?dt5V&5h6d%syP5-M6_n%-Q2P1LE4dE-5-S;~lRM>fhQP7m4 zhR=DIVxP4wE71^L0hQ%(dQb0tX!pq)C(w1dkhv?yy`oMZf;(dvL57neX#=;P-#`Qj z=LxCKnP4;_Ru_5m^^gUo0Ia|?={+(b8RFn#GAjhmL8{I%pQ(Ye2g!h0hTVHE%5jLz z@wWy1lvc>7RQYrkK2Hb+{=20hhQ#~>q3_1D#0^BHpO^|~r*^zQ|t;7HY|C>)zNG}r@a~|h~PeJ`Mb;g{IL|8zx{L@}r5lo8h zt|GI`S{thalenV$V{p)#tS6%TDh)YF_NdRlY;O(m&EJak^qFTFpwcC7i^PN~{R z`g5F2TZzpPuhW7vrW+%ino8(}35zw=-nN^g*LHgXAG`NqnFSW6k< zoDdDG<;7-I#fa-6_L=7z;=FAmm{w6viV=dXF+o!+m#X4tC*)RFSJwp_ma3A+iCVuE zMmr@5bg!S!Cb zNKogv_D1LXr;Uxt-)xjOQpZC=7o9WZqiCiaue#Xr_fzk(RJSPsZqVBQ>C?Fr94v)Gi4J?>V*R#T@W}dc z&P;DoVJ)ZUW{I*<`nZ(wLn-|gYRo&hK?iU6x;3jj4_zi}eV%bz2wY(~SV02MrYO_VtNp4{!g+LbNoMSprrPpiHbymixWh!=+r^<-F?1B6)4M++i@l30? zy;3V%XIMI%k>5V1V?6(^E{Q}q&ibW`y|s9+Ch&CWi5@PNJg47uWk`#zR&|56xjB`t zr5Zb@pR~0z-+w1_{C*SHb@8)F(p%kAtzF}yi7+t!ZfoL2&H9f>H@RD{P<+nVn zp%fzcTpqmek~q(jsOa2UX8!IH>KhMm?9}C>JB09!oT2Ia}EY z_LoHT`0wCKZA{`_o@z_Vrft(=xN%XGVdB;Q~qGXXbWCZ zQSpWy8ZC6S*Tj`K%drDbxl-6Gs&^s`En|kbD5AZUL^L@g^rX5u(9KOh-@@pkItO1T z!*|0?nA|lJ)QzXan4IAQnI!rZ?I`ABA3ut>ZM;j<1?{f6kaVp!bMXh8)9>4I5XRQ? z<{U2CHZk790Uo#qEa-4CrLW)R!W(huh_)sSABJDyj?lDGiC4L zahY|-=n?(3lVZ1^sixBiNpIm}+6BgK2ZVrpT2@bx$s|I{<8u)Lh{U>BLq?J9+S%!Z3RsjZVw>Vt^1tEh!nfIJ zy3vZw@!%U*W~?NQ?9y-U%C~BT&156Arpv!eJci_Pe{AcyO5u)567t@6->k38x;imb zSc_jrkwlRN;e6@h1(4Y_fsloS5CAVh0Mb$L_7NV(1w{4HGB6T9M9{7E`4_M5dRIpe zAp2&5Vwke+$lxQvmeQ{7HfRURV0T9c`K7#u#oqgsyzUMMl>8O6Oe9G@t$_+#TU~V? z3@RBcbfm&Ebiy<&_{f6Xu0ZV*5hSiGW22bgV*2{}``aaas-6!b|DLlGVyuf&1DSPE zml&elXYlBei(C(&TJdF__qJHccHBu&SK3+DQl&`vy11N3(lh3dD+z%A1mq#JjfvZJ zhdu8_CQ|UI(5u!|SOpKx9qur2Wnf$0ciBIRDH$5rmM7{2@opf*o#g7UglhApI9w~3 zidx}K&I{cvcRwU73~;b^qyfmRpFlVx0Z;>%h5uPId!)EhVY?gS3sS_wp+1cd67xRN z+qb4M?^}YCs4#1I-M7@Q`f;-e^@8E5tSR)I0a*v?5Kx1edsx9B6RSFqBhYFGC z17Tl}9v6F{#eYy_?QPJ#=7A6RI(bok$h!}txa*7;3UugXHX>FqeZnXqESZ&I$RN3A z+*;0~`_)K)3H0W2h!568xiI|wUj71Kcu>Gfh+f^55V_H?XsI&9>4@;BnlJPiK=s1R> z$uYhE-NRG+kP{(}i=z&Zd-tEMo{e=?6WSX{g&hEw#Tg_B+5tgQcq#D=;F=@}3CH(8 zXrby+U9U5U8mpyoadEnpFam)4)MPj(DMwoSf8N&k3jYZT({?Rpe_24U=T zWWb~JLsgZMdmq2L_`zHRJVJ?q#4LPS^BSD5!q+XQ?-E;ecew$7meShG_vxJISw@Ea zVbs$z1yigbcn;hlJUo25{MYX@b^cyAZ&pgKy(rUO%6n^FWprUo?8uR>sTK0d?e=FV z28qp6YmpcCq}%Jav5@0xz@cYtI!n%HbNGE?&{mD=@LEhDtZiu&V+vLBL`3ZYGO;#e zyF#HISzcW1H#zL!?QOC)H|!?)>GT4Ios%BZs&KAwIx;en96N}_yjfK|s9RBxLYGna z1#V?)tJ&>SR8jF}Yi&+VkeM2s+VDj~j)ycwby}NYd8Avy@l=>+sZEEF7uUyIE!z{% z_MGV4&E1YeOY1cmw)5@Vg3Nkp}v=%1<+`cwMUwZqyTlO4c^a#jS8$brTgc%jquGruB zkurD(s&UpAAG`#l5z{EOKqnVA!WjW|6lE;SdG}-Y@Y`NZjA!jePmH%Uq^25ammWdL zXML|4DqPsJDslnbD&i%EppaqD`*{ixU}u|9!03SNIi@18JYdFR@fQXOcRLARN5p=f z;njL4;fvz)kIs@1N`wc%TOANZWo0=nEiLA|C!aK6+72^FG%LmDA}IlqjNsc+x5Z!c zF`vxxIj{b0IzWSU6Qiv2&_B1z6HH%jz>I6R8U}IKKj8w2=zZ=m`?Z_c|FtuaQEdAt zD*$d2A9q0bF&^ij@~RS6$tZZmB*2qnGN3@K@f1Sc1k1|E3WBSss>)Tueu0{@&JKEQ z25Qkw$)pWAZARM^!b|;Flb2(7__eLAt%|_!kW$TD7Yc^wNi`g8=V3r5YY~DkwMV^OF#$U5EtOwcWQMx?Qo@LxZ zvF3etk^omxR(ALCQT1;w`tTu^4iq|(d~{DxUXb_E;TfA(%LDBo#O*;DOv2*~A&e!` zexuOaZxmU3!VR>p;?}461Kj=M{}N(~5G7M*0v_*?_mwH>uP;Ntfh47Qh>us%9Q9>- z01yIz4*+fexc2@kkpRE}AoFiw84!E``ikTE6EE$JCKpWa_b42+yMG`0KM?lu%ubsR z3s&t*Et6io@?`1OC-+jD)Hmb8fTcR3{^gr(8>Y=oaww-&`9CD_FJx|@3WHM2&3v;3 z`wC6f6X$iKkws{JN`_7nszrNSc1&%Tx?M)0oG?r?rQJHjRC3*4sc+$dpQ)yxCRZ`k zV*i(Y{%eUp_5`al+9OBd(H?j6%#rDRY@%ckx5n$EqzwTKGN{TiwKJ+A3il57pLy6P z7zgHmf_NtJU)PuU^z$|bqiIgy=8Aye%X$7udg|vcJzNlvYwBO0s8JPB>EibDhw6Io$aN!0sWM diff --git a/src/main/resources/assets/mekanism/gui/GuiDigitalMiner.xcf b/src/main/resources/assets/mekanism/gui/GuiDigitalMiner.xcf deleted file mode 100644 index 20f35a7166de993afa609724c84b4cea263e0d2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56332 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 diff --git a/src/main/resources/assets/mekanism/gui/elements/GuiPowerBar.png b/src/main/resources/assets/mekanism/gui/elements/GuiPowerBar.png index f271d97946f6432681c055d1070213c8f9b0a152..f4e9da5eaf0cb6cb846c4ea396cae7a0d59b177a 100644 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6&6|H(?D8gCb z5n0T@z%2~Ij105pNB{-dOFVsD+3zuOGqFhWG97pVG-jKpi(^Q|t+!V;ayBQ3v|h|E zX!QB;{-Mpyz%{Jy1&rYvgiTx(CMZm6{4*zb-}SqXvX^C^nz`;Z)0MTd$3OnCJNJ2x zN^j+YPYf!a_rJ>@5AvGy4)1 zsKvlz(x1uSUhUL%|8~_Qpp?N&bNTsFk7Ola2n-8Q_lWa(o^0NMhpOx#|9HCkxvXO>_%)r1c48n{Iv*t(u1=&kHeO=k_vv9NP$%vPv)iN+JPxf?i45_&F_U^%45l@lh z59>p%r|s2AmtmXEnJObH)b7jFX>q}eTkwrv_*J=G$0Hn=zWuiAoSd)w@$+hP)3@J# z{Mhkn^696O{OfDZ?EYT=Z2tQDpZ>mo|MSm7Z|)DvZ0`I&yuV~`+~=3;`{(iPDZHx; zbT|ux0D}X_2UKC;HK`$7uA%JD>&$sVdjk2VpH{v8`s?-iYnH4}vAfPtQ7nAm^5x*) zbL}RXMQ@w=Wv7kiiV~I=#y78d$$QGniCp12;IVCDPVv(Baw1c>9Hfu)EjYWx-bWW zR+uxMDbr(|uFL@R#+t`U7jo7yIqzlIvZYXlF@~k7$+{tT|9;^EwhS8Pj9&~d|IIYe zkZAa<&vaM3(P1gW8|~WnnbqFXeGCCPOc|NUa@7p-%uZ_=wiM3!dpl+yH^Wo4hKrZJ z|NGPH0CdlWxz`(Z%QA%AW>k4Q?X%eepq*R?KD#%Zm2O<{gzrJw9-bq745wrnuYI&_ zn0>v;c_)L+>HYJbaWIJXGkETo&1W`ZbU4azC!QmTok3K+VFts3S9}WFKhJFdhD;9A z4E;VvH3ki_2HTh0zsfK!xFndc?o0h_@g|_2oaf$-zxVAC7C7b0p#1Xx+AVv3N(cb6 e!(aq)EB`Zc#B(b3N-LZKxzE$p&t;ucLK6V=^E;0K diff --git a/src/main/resources/assets/mekanism/gui/elements/GuiPowerBar.xcf b/src/main/resources/assets/mekanism/gui/elements/GuiPowerBar.xcf deleted file mode 100644 index bda2b75ff220b0c1fb66c9dc198462657b804690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7550 zcmeHL?N3`(7(XwR4c0jtbsx-38k0G;1=7jAx7N<_Vn<VPL)kGz_z&+gGInVPu zFZcAh&pFRI$Vy+xJlN$kU$IzTB7{&4P!M851(~M-d#e`mK0<)}3?L712yjr7vE8%K z9=ReJhAmP0+_JYs4l5p@aAZn~Bhewh*BlA@70=PaVxQa<^asP{;#5%*mOI^MOQ|K5 zatJ51s-w`gGe_4^c|;xx18rY(9~B7m!1_NR2D$4=7Qy66osoMzDX-=Zkow zzfTZ*|B*^FTf3qiv_$6#DR_<$BiOI#%M1%8+O->i_S{#a$lXytW}p#<8KiswHcJBb zYBDx2&}1l5p9b4tDgTwU4zo?d>~}GA6X;%$Oq(DE3t{&nPL`hZeL$b$c6_0f6`ycFPsdnc zYurkO;=C$%80r5j_TsxUu{RUTfht(R3P@S8x8MgjR$$D>r11q0;TSNCM2viETYJT3 zgU8P7{8e7gD%8pv+jnj+u_gYo`r$2li@r}k*tmJ)<_#EHQmqn|sC7fKq5xWcno3wD$toEnRh0Hf zF-nrFb@lai=g*x#*T5S1g+xY;w8u4e< z^D_@>oX#4Dxl)W3F=#dH>Tz0Pjwv%mEaY%p&0F zD$I>vYjS4N;Pl2Hw{pe@sOMQXXRI@9W;3bhf7b#tNuJd0_s@Mtx8J{8b!fjBb-+f2 zdlDj*6*>ErhTwoV3<0_{6p)e66{L~h?h7)Gi7D6ql)0=!wW&AN>hZi`e=#_4=Tcis|41%_-aqQm&!Px*fL52ejjgwndi{L(&FN fNs=W6UD!!Rzz`fOg8xJ9BEYFUt^o>Cp@IAcHPGk= diff --git a/src/main/resources/assets/mekanism/gui/elements/GuiProgress.png b/src/main/resources/assets/mekanism/gui/elements/GuiProgress.png index a7b3d71a8dd5dd1234993b3e06706019fad4edcb..3cef60021eab18220ba2bbedb4487d801ad87bae 100644 GIT binary patch literal 5055 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 F{}<(_H_QM4 literal 12056 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 z zTv|aQyoql4GOmsb`XuH~vw*2|80=4hObgKIOYH5!OP8M%ia0OsiJ zE;C)F@r47QQ?gzf)BRBdaRX%QULcE4k(+y{^_m7{d)tWIA9>QTF&exBnDRXk+vn8C zEKU7KZi~rQP5qnR1Eg>}9bRRi7hs%PxHzUGj;$n(wCdLe^p5DhVU!Q|5_(SXTsPO3 z;@IWa$Z%OF7{m874qMvq5Mn*{=I#iT$cH~-CqPkjJ@}3q76)XIzCYw<(yP_pb@z3N zzC)u;^o%})qQ%-`Q~=g#fhe9b6&Cm6T=FhL~tn zi3hX~5h`wUHE~=JH{2+ip;ybBrMRCu=f!bpu^Ytqh?&Wn8*__a4IA>{iuO;V9(~-9 zPebY|F~dlN9ZjzU@nvyzgNhGDmg;hWxRbqRr=D~Ta(yk^ZCMjN9!OD9v*1YlqqzJI<+iJUXXE$gH<)Ud0Fj^=Nd4U1@#S$SnXd9rWdHa{ z92efchJL4)hzb~$-*J%GMK_}=rTT+ArFe=Pufak{YQwr^hvG|#oV@wshRyMwZTsH% zI`PC@Bx z*Wg>e2=M1m9P2E^7sg!+0dv%gR0UO_B^6n@-ZzOYe$W z$%-{jCF1iGZ5Y(FE`Gm*?$>qVfnl}TZ2hDS#{$epQLT|=>ar`{W#1x8Y1zB&5jom( z>snNBwsz?Jjr;OE$sKaa2vD`4_(~_OS;wQOBSINOpN>~;gvzgNny_Yf0ezm|J=6*i zF!UwitLwY5Sf!IIEi!;msAmTaQ(rj}h%Zy636iLrn!<`3DeJ&kzM7%Sb3;JX%X)CB zY1+mkaWB;NJ+5!}qAP&$Gg>1o9ln(oEEV1wUE_+c_NlH_t6}!%A-IChr*5pPp>-7; zQ(4*CJHS@ze6rprYyRML@qmBzfFw{g`v629-~HT8je@sa%DW2qF#pzAN~(^FA35$- zt5YbF6wnb~4&c?ng>~ez7emIe#rXAmCs+w&kKSq|cTi)G(-to)`Stha$QE?IvV4r< zd7TD4W=Gd#UC?a_G`!m=61joHC<3gLU%R>+S&Ei6kg6DtH62wu8cfQ29Hu(}| z`4aDCyr)a@C5nkJQ7p@s*xl;+t^05u(gAf3i@ENQn=n6afL!j|%#|pI#UPX`u@P4` z%5K4x2tOLGF>f@xL!LzUQ1$H4t9gmL;1jy24XMX*S3KmrNQE`zNPwQ$Rk{7@46bF` z!_V}txpva^&XEX$c$y{SFQ>g~;&kI*H%Fp7e$YnbRf-15`JN(2;@AUR>(*YR*1s6y z8br^?!Panr0IEUw%ezPqwlh)@V#97DJ#Uox635*bUSobTkg@*RVvjG;4u|9{TP`f{ z?30+0uz0`oC165P<@2v`{0Qeu45*pte2F8qdMLyiPeWD9K5~~|f{L(p{z-M|{0!rk zqX%HvZtg^RIhT}o^Io<60SlyfeLbAHVa|(Cp?=06^|W~rlLv?f3xxEB5Q8b+Mv_&z zkZF8j{|>`WJ;a^=Qb9bGdm}%h{8W;F9?CQh5^^*wIlQY*hyg$k-Y&SiDTGjp<>Ya1 zLN-@@607LYZ+aJqXmy4XC`Q9nSM`&lPvRel81mIQPvYJo4w1+yDV_35Q}H8QW`(ep z%8!WN%>anVdz~)7=Vj(>FOn9BxGw}!o=RpD4J*UML}j(E0GYCeHTNc7M8=Bh89@uP zqcI#}9z^NmYsslt5E5vQ`Y0mjWyf!k|IoR2kcRx?DqmL3K5lqd^0RaHoBLoQ#518t zf=-oDeAxVY2ux{l9SBrNB3C9{RzEZ!^0&SKRJi|oF@^ptW+!1HiwRM*@j`kNH({Dj zKq&2BV9~S5Uzq1GkSvv$W{>bHh8Z?KWsXA!?IV^A89NAM{hWN4{F?dl7^2N8*{I5| zkKdcu;Mxaav09h>x;f5gu-g;h<1AwX<+ob~IcyzHC=1{6+UXg|qVhjG!nj^k5PQ^k{l=r1 z^ss!lSnagId0yEZgz(5M)S*;(b5xeFEN05fHq6=~$Dq{t)Qnp1JQtWJ2y(l51y9s@ zz;_(HLDYy|efD(9S#k{WJLMSY8HKC_I?TT@1{nDSig-xPn5ff4Rww5c-H9tn22ezAHIRzi%_ojF?~+%SxCJk-7$pxhXRxEUcTGfD!Q*!ufrT~wJse2S zt680sZC_kp>9MWE(-YYT`m<(k5C*Fa{)?1>PbTvrb~dFMWkaH2z#D*4lXe?)zy z!FINiTIF|=TQB>d0zv+9^}kcmF-2lmm>P9|GvTqxnewp zWWCNX{$24JYnro+|GmH^;JT<7|EJG3{#i5rxgBQw9rDEX?^Yb)xGPcGx?=lFr))pG zIfw24(`LmHM$>1C%FX|2w%_-!{-~fh!V#KDPoyE7?N=DV+5VP!CuIAJ(-Es`>`c;} z(NJ>_mcjtdu`J(1gBSPBvmz`6j5vqcVFKz}ZngHZqaKz0FOMgW^>;pc9Doxmp&;o? z8~1PL#(-r1|Hx%x|69!dKba(8|Gh?=QcCRq@U}DT|6PbYR!thlDKH8|>ars~KHUi@ z-%KK4XLtc)+P~rj+|%OFiBXkaR+?gcC{FW{|;7m!SeK)~$J$WdK!1Bm^c+Y9hp zRzQn*j2F-i>k0=)KvzOq!nIRgz^jTQl(wGJ3-Iv*A|8LE7clo*djX5Sofj}w4E`oB z;3e|{06W_Y=x(Hyl-HSUYbnk3$O~}cgLW8r$_q#$_XbDsz_|i%sd)J&{yK{um=sk| ze#H|Qu=Pw&z!Z{;9+W50$Wl)OudfpFCg3F1rUPbRq+A}Z;Vw3J<|)2{X$k6Eiw?@R0~6nRhTv^h&Ro@io4TX0NHY0 zQhw$G+*1h+T&1k|06ZMMy?ccD07ZNNftw2;Yi=&Uk{%bJ<=eXeU(~}j>oBJ6)Y;B* z0o1(bopJ-@PuL`_Q6Rx#Cj6WIfO^q-mLE`begN5JVg9@qkitg%A@v`r>i9oWz2kr9 z{coxB;(tl?<=rp-r&ND?mu9b7)13M((-Z&5q{%-pX`+b}_r6rK7tPFG==Mk8yO8;m zA8PudD(;^uzY~9lJH+Tp*4TZQ%f4|hCR%<7_VOB*|LO9lyng^4bU(XD*~Rx+|JIKL z_kCH4NJEOQa9Qd~-akF>I#NL;uu81#B{W$({>T;r+sUNA36a$JMb5R9(S5SIy zW`X{S`tso7xKHYW_3tO0zP(;*0FInuk!>CuVBt0%nW) zQ`6q5^W*cm{thVn@qLM#SfXTA^%D5NWp5swmx|hAmi2v)0>8_<3S|F{)bGHHUUq#x z^HXU!uk;JJhPpm>b1@l|Sos##Uhu?y!(|nFDOF)wC;n_yNBl2D_6|O};KuA&E_2&A z3?V@74eg5mDb8&hX;H82a9p+M8bz51!`2_cBkS6o1eCG^LxpD+FmNCRbw0F{rG??K z8ilS(S-+(lAE)r#?q@&Ub+nTaVM)^;HeWPoH*wOA+&!MhI)Sl^hAntA!b$AB+7JQb zdmqwz#b`b>C|bq9ID0D)!AEpLh2p?o_cSeEJbHtL(KHD)yda1rJQp#6zCNU#$`4tD zUy)v3Zy;jj!|<#9W-uv5pD&hZyP)%V7lN~8R{j!#(b1ze;>mYRpiC_#E7cBN@~JG( zJ>;?|nU&<%9s#<$`HMKt$M?>}8}DVoa>L)aaLItUIi5uNSoBB%Duz5s zC|lK`#TxQ}R!R~LE{A|L^ARYIaz)vD@aTIf-YSgMZqcS5DwG%syDp;oyh492y_XA_ zS7N`8x2`P(4bnlofOes7F}Kr^Pj12DZ2?0Z(lKtr`eX1+^nVFJ#veXOYZ$Ha$}npf zoY9LIXtqwH^dLGG=Ofy+UC;m6;6HrN;S+N}e4gJm@8qE;7L69TDAAHXKRf8wZk*um zVtDxd52lYAbkpl(MbNz4pFOGupAE43K#A|C0qp49cazNn35T$p@P@v&dEU}-!yt~d zq0efh<^A!7ck&>LR(OE8Ny7!Z0wH{#k&2?Qns)HB8I9mFlt6`HX#Elq6As*TTt5B{ zDk53zxm^Byx%kLKTghOO$RqtT*V%OAN3=|Nx4gdH*CujZULw)y zdSno6FePS;VnSx(^J3uO2XLgA!N_ag#pV`${{bF^`46vw2C>$0yp$dNz)87Wes<(- zUy>ypL$O+9TYieW&S2kS$TUjDE9*Riwm~bidztYsY-9LBchE~XL;vOondxd@qf8*; z^E@fR#vNp_X*n-DgP>?>By{&uPx7wqisRhNOpZBLCE_Da5&vD-rD_@{c$}NLH);YU z|4eWkEp3~o%cTEGeqg0m!|oE(rYb9%D2kBcz&SYA_ z*7WujBLuFh7ZPZ0nWQ8m2v(F}UO!clTbo`LA1tpXB~=0#%=Ix@8+-_OO(Rz1PAkC$ z^ETf>f4q zN161@O&e88OpE^*QWQcQmxhv?Ic}o`VffS5VvN9ApHv+TSTq@clLf7;CS3ej9vu*s zu7UT~05)wje9`j)O*j##h7L`2viO|@+{0*z=IzSU6BdhkIe~gj4&F>CnZ;An$vjj| z$a(En1iEVtcGZZo2b5pscRexy)nV!CYgdgcNYzh}`!Fkag!TOH z<;+Kk8!;=)+!je!?Hf$5O;m^J2ii5xy)r_165W;n0`Zjl!iGLSLS79Q2o!Q z>$6uPqQ*O?lH7b>-GUvkBq}zUVmY3zWr@ZBza|R@AzfKr7Q@9IFDFYc#{Vdkhih7f7Wkz2zFLAH*E2#?Opou1fqgk&o44x!P!tDG{ zAs>~j5}p3CdYHBlUV_IIdCcnI%{}n>A4yYz^~apbbomUuHHV;GX5dt%qLC+xqS_Wd zB^cL8J6S(gR|Q)lK$~hiDd@^hD7?3rWekpL z!OLN_!g~49@?-GRx$WCVo;0_8|0DBfcw^+Yf3~3&*~$#*l-vIC2#Y)T!*JWn6J4;x zuRVmHUf#uBQBRvn+(z>=s0kZ&My(z4+gSp_$Tn)}lGncRiw)bpIMN}n{RPbhXl@pF z4X?fXE-%yIdt(+1x#ZEJjYxg^=%iFUVbwIyXwTTrl1D7Rp_J z#JTGy$5B-qOA~vk8M1hr{H;HcQ8SH%>krFWAN)D?F}`QUKusp$90+&Ag2n6R)H%Lr zee+AWoSojX6Khx7Kr|>Al2I@G5>}K6>EQPOnv%kt&l~?H#sntFW%z+kZ_C zy3aJ0o8L@^{XL_9V}LFBL>)JD$wf~JlEF*1A0%8tvQ;U)6pg)GZn~yG=o7>U5+K!@ zvMroy4xks+<$%<<|5U(EVGpGQ;NqW<*uXD@4m=4lu2u*RXHY2eEf2ccCwlxQ+10) zOxX0Y`Q=j`o2(O|WP8Q=?su8g(90yC!t#pPJc(caBDE*VtP)H{Z$i4m!%qyf8uzv` z!73Cq=irBBv`W{)WaBhls&8EQa(umkC{SdfIg7ul*zBi*zfpM&J{&N&Opb8ZYRNvk zu3XPT9BQt9U4|FblqFG@C!RYo*M-$go`ofuHyZs=2aii7)-jN%xorNY$P<6F#+BuS z&F0Vj)?4Z+*H0b`FMKZPLhdLaF?0%l)^B-L!tWLtko0323{uAIv@JFmRFMPCB z7n}GbD2jODs)}*fwMaD3oN%u+VBGVc(9}hnD^RWRW4#q+B&5*3Mwt>OvyGx*JFIM1 zO2(g#6CRF)@bkRfHQi{KmxfVdB0hmJ&IB%6(5Xt2#}MUi+!KrS{P*@s$HHybd*@fW zuclRZ0qmlZ6Yf+ffs6u%rg^JXT?Kl3{xwrUOD`o)(noE5L0`m0fkXxRjvDusg_k}& zf4OMVYbLNNm;XM$kKi|~w#8CMYIs=fwKqTV#>1=MSa;u=<=j{Bap@>EVpT>s?g4qz-LKQq_HZfk z8-*nVgAJaET)>8P2*%UbM|llqfv&vs5?$6f$kDPGWMN!%0Wo_ORQU_`)YU&>KBEa&H){YuJ;g9ggvyVS%PmC!n@Or*@GI<^f?*8 z)6475c$1frBw*%?2F{}G+^iAG&tMaQ@R->%pBXXFWEvlucfkCxL@09O3-2t#eFKX# zKhivw9i&SWmzhAywvp{}nac+roO!Q3Sv^-}%TCW1`h?i22S7sd(Z$TcGuxcx445-r=m^m{U8k1Ejot(( zMD?a8CN%dbt)%ZHnks6@eVr36z_WblKYeQ-TG4Lx%CGv+MKQy;77hBAPW0Hd7U52u z=!`e)3@6&3H8dj*t9#)@TZFrOEY6i_&khyFQuzDsKHN4-7Na=#&%B9 zaKq*tXv)g~a4z&*oN9%(dt7Lwg$Yd>layUyYYo{`OwwWsN>}pSN6G`=zJW% zAWd?;k$jpH%_=DA0UP9rP(q%RK6s6s&(dU=fvoT$*5xWbv{U@{0OwVet1%yXM$#Wq z-I=*ESUXo|5wtU0=n3XRN7t#HLAeuiPPx$dj(Vo|$cHSJ9kHCx^*g?u2faZ% zh#|nKFsBB?mK9$rmc5ICHh_rNEviJbJZKvQgHccL|C(<2Ky9!S#UE{-Op45Y;z2(= z5U4Xe=<&{jeqg6Y&|meS!@@_`m{}GY=Rl9V&%)Rlf8?rt_T^B z#yz{e_j&N1pN~Gm3WPb9;J2N0zgSy#fg@x`UWrB z7KA!7Wh8N;hwIK7e&iE>-ie<2*+)J5j{Ta+pIY1+UY+4YW4?{;u048rUt(ojUy0+A z>*#6`AV%EzVL^KKbkCX`#`@EpXreDT(b1`%rYyyw3pWaVqKN~c6dS~4`9p>UUu5AS zq^mStXyspMyj9f0jI@XG@oSyvNgsWk6aA2dSRlRPMAJKr1RQ`oXy}!TZwHGbZ#U+u*Z4Q_Z?Rozvh4_$>P%Cc{H^NqU9EIoMU1fkT>r< z>F%}m9GtH^SK6^rz0oz1N;=&T7jArki1Y;0&66b}i8Cu!B?F|MSeF~gI*;0$y??tx zMWQ3Bv52(pbZhO!M!bo&PA+LVL8j?ta-VBWkEl*wJ+z# zf5Qrze%flSqzhO`b0NseF$Z{Ezyg;Gi{}?mq*e-Pq0R-|f1m5~C{HB)fNNWPL_BRxinXErQvaO1 z{{<}nM%I5P%dY^xnD;NBT=)MRi$=W|g7xfh)Fou;}Mr2Yx~|Ey(8?=bdZ zNm4IL>uYHAEwud&6^|Uo(@VFNRBRHR4U?v(o{rfhn2tZa9w)4I4@+@Z1+njczXIo+l(bTG6#8KNS7QB~^JTcVQH(_R<)77GIFdd5X zcye3!G6o8?bJ~srTRPwdFclAu(4-CLVia%7`1NbF%eS~gNp|km3!2c$99N>v{%5Ic z{>W84^}SWvj%zFe_)Akk?8+%c?{laP>YQn;%w1ZUdMA`I zUv+t0+)xjc@`u^Xb98{xQSDr;@|nYV!%e5UIi>N(>45p|$xI|ji!+2>IoVP9ydKWC z@~HAt?i!Mmb&IH=(+M>MLAEPX3$H^G_2rEHYOV0WmjwMlD&vhZhPm%r1HjX zU292fX4;BZ3-PYTN|vz9!4k;k&{yOxMY$WGH{qz#;dkT24FyD?)PXxo3P6Xoxix^; zaUWyYySrxhEbQu&Ej6zCOv{-IN3=8%o)a^Fvq`K_minoi<<@rOXH>E{x(Zou$P=Yl z^Go4LHkMXV_56CRV$wfMn|=aykk8Musylwc*BiCIr9=i{XCCuD#}_wEogMyg9KS|( zRlMQUc?^9vC~BTCKPGxwa# zo0qcQl%os-!#1k}`)$Jg%_1LMYEPT8ci9<$XQL?{(iO*utddAS3_CxR^dTqx-PV1p zKgG?^PM<>CFvrq9aYvM!Td5h}xEv<1@?>8{S(PYXsqj81BCJ&2$+;t>uOAM1R=bVD zW6)_eW9{bdfl#Rywq+GW5V*0L@|pF=ZPX;Q;7LQ_L@%fSx4J+8Y7;uIp6Wcn+qBTE zaGaX)NIZNdBY5j7$+;ka;wDj=R(35vAa$=B?NX>pqCx}L0 z1x!;W3hB%Ye-1TDBXg@RA8Z+I&5<;T*4o&)4=w{*V$SBLnGz86CG6U}rl$@)>#ow- zW2ylEyiIs?iQhFLp=*Rj7w`IKA2dGAII~B6S z;G*ZupC2IWTVBKovHS@g1u~FVpOduS#K?z-1WUcNglMsA#~Q zYUbM&dX@?=uGdINnWN0JGQ3C7HQfCO!>cDrpw$~^hW9g@hlX#L#cbXJg#eHgGrV&E z*FO)t*VouJ&m}W8GQ7DR+I5fsgjiOhfg0A#D$w5xhn8pTVVaVI9C0WO1Ol>Wv}UA&649PW4OT0fkA(%A*5o8QN$r4ojM=oK9$w2xg3@&%GuYA0|O(PZsWe zicDtFij*WaXzZR0A=BRF%n=WON;fsE$8IyUU}ZsHNhsEE!(f0A3L9lHhEgHLx0R-x zZk{kQ2vv;cXQ%NOjaDfoCnGZ(sG-tHse**CG%@4G&OOLAz)1$p6&qU|BF?HhC4FJK z`f6GNwpZ-yTnFGrV*nX?<{kwtQqhpK$-JGCrmc&UY9wP#BdMUp!A&nLr3?(m+w2jk zS!DM0)6T06MUp2OYNj)V>z8lJ$LtU>fyIoW&RE2dnAd3xc#Wfjg(96L!n3} zEIQHxD`Av3b}P2Eqiasjx(usdsbSS;?b4EmTU7_Ez#EOKmU7ikdE3luZh9q`NHk#{ z@kq{|0AWX9}8st3Sb;88WYx45fRsRtj9vMBT85Fs^n*DtQP^ zXCE-*dSXaMXvEr8Hq~R|vy@qIHI$R8OwE%r3V?zF9^FI_qc);di#yJk)++g#>&&Pg zH)t8veS^v709)&p|lSS?LFqs1HZ&MyhwxXtY(c~pis!SMN&dqU8 z44cTv1L|JV5}RaJ6L2%D$fr6vAQr-4{=LO)YJ~ktn!bpeB@~JXC2Ss#G3Z)7Wx0dtA)Se)~zLsj9s1FmX1q zN0*9yKqu4AqRK_>9fcm2D!9ues%N6@w6kZ$`2y$#3<~f}O|42SWdTc>4$F}&C4Hu_+~5>$14Wq9(`5ilx-TFa66>uFcxD+P}wA zeyYij1R%`ySV|kA77i|U56x2MPqUQXRxD+Z|77WMDYnE==1(`26EKvIG@WKB3&=Lu zdd_gjPMbGbw=~`9hVpJ;zS&TgUn5d_svn+dCpRU9e50LwON4x_oeX#2P$V|5qOBoP z{jy>xqi_^EfCC{(sv!6zkL+Zmv8Wy80kf?)1F3#(0-spR;#F%UXLB4iXIo24r8ZLO ztmK&cg~aN44yUOog+%UUXt0(8Usw#^u$IqjW5=RBNKNj&b6U%8KQndNE5-P8L{#jD zUYSdRD6e#L&1jS!e44pz82_{lMcdJZ$PEyOdd%e(nal236~hM-YFTPrxy_l&7L!cX z;I$reS$ExATB+2Ln^wu?1h(LNLot`OX7xlXOrxN6iMgb+O>@@L)(=rk#ad23!&=^V zhP52}U>v^+WYOBmtfl{eb_EwsSxcMt*KrmUzw{1SOA}CQSpRH;sg~-Iudf(P@46$> z;m0w9RT#H0`ckVE&o-Dgdpt$sz``-uLqQnKsQn{XqqFSgG-oeaxC~h=Bf(r!7gdLU zi5n|e-E_2SS9a#I0-Y{~=xeex${Tg?kWiX>BR3*o*K;`LH9%>oYKDz}&SuVjLpIYuW!M;TYM2J6HRms}bDn}atMR@_ z;=nr(%4Qzp2n(1;%cg_qQ7MdKkMx$YV88! z6Bb$Tn+!t|(M5zHIcCc;q3?A3 zKM4Hm{WC(u-z6&lQ})(g%G|(}Tz`k}pJ<*yTY7u5`Ij8M*+|>R_5okS_vJ*%-M1z+ z&SMWTzECqiCZbDC1L#|Od;0=z?f9qjp# z3+maxUcd%xo8{@n!=H$vcSya6t=Lg&HXED!aQ!p*!j6X2-!l1NWnE&Iy(#1$V8P$p zn-d>9KUh8(#jCiEJ0Gx?9XS`rT^v-I1UeK^2o;4OjCE+a5_#D_62qaAtEFk8?vW^g zWCux-BdZZ}{vid%UBC|OQnyO_tNZZh`Ynhga?um&0=`symN0cyw!;-7nA(+{Sfq~5 zmqv30Bv~w*Z8t%$b?o5uL3`N;oh@5`zid&M+cE=+Ec6r@wFK4Zf!RB-J9$ortfUbW z9QBsYZU}>YD~%JP=R91i3A@2lI`PyfHyyz4E)_ju?Fp<>;qie+3Z!bkjzgy4{Rgt1 zo$o9k$-e6vMTtt;Yd`3sWj##!rJyoZIHK^EyJIK-=w(ojw`L&~4n;Kf?Z&R$H z7~S1mPiTq$Z5zv6)h!5AV(0gIv9Z{B^uX?|?|pKp1WDm0Htd2ATGH9$2}u=(Wxauj zNciSmp$0Fdh$1^r;xHu~RWYYRW1ZMSR{HLKX>N9&&NypZ(&{Q`NKF-{UA&V>*6#bK z5H5azD8Y%{R|9~0fV`$#r_8E_a`oIRl$C*XUp&i<>a&Ts7%km`~KZsep{p=t| zr$~m6IGNMfsLuSs=O5)bhel^u1f{3c?tL|pQ2)7pa$@zw8rWzX8IAs}Bo>dxbLs$7 zOfXRD`y_VfV||xr@USOP%i-$4zP+Bg^liK)X8D z-?#jZyH0d=baruDc%P$-g*J)2mfxcXoCx0?JE*CSQ&{U8>IZIoO{bd`@2tSlfy865 zA;9aDvYc`2@rZJ!=^ zeBRxYK97a3s4|UoIpICQXk!r*V;h)i&PV%WrdC0Jp45fKx0R)@A5GAyMx_LStCF5r zvnSnH8Q-FhB%xW6XzEh5iCgwB63eR@N7>du>(8X~vNq-Wl%n!m+JUQdV+)Cc!?DH9 z^EmK#6_x{q^;*7FwM59o!DPPeFi?RjNE`Ts$Qp_(wXfT8 z;%q_5{=}11Gl9@A?>O&4brAn$Jh+~C433Ea=JQDK=Dqp+=(pBsvBT&*4;Ghn zZ_OO~1K*`j^ri`Q+y^Tbo*iS2Ws;w485doeqhz+g&(^-pG6BQLXLAR=KJ1*5@W2`( zd8RySb^BQ7)lF4OnnMaROnNj^=jVFsQX>+>m zat5%vX9ud2rWMru)US43%a+=X~JnybTjQ?n}Q*khQEj7!q}@yFnC$pFoaX>K!-35m2=Z%nffHNyFD zRzC0`1~)WpGC@+aQa*5r_?E_P$v}uN4Y)fGFV_f&mp<&Qv>N9E=dR+`hH8q5C*Xy` zgNn#$X|p{FYr%aXKR>jC!KV$R9HMH*{hh^UQA5;4*cpZud0tcTen-_9xMk7Ww~S{J zG~OU_Z28vMx{lNH%==ZS(n<^*sq`$be4Fy*)-`L0*-J!@$A?1*3SVXw zf7&}FFnjSKSbJxh#CCa9~POvl%cD*pyo2!$hi;G>@ zQ4@R_w?);KFA{dyb>DSOo_9aSwXkObncWVH=EfD*+EFbUH0Qh-O$~&p2F%BuJ-*}C z!I>e0moMJjAd#;RlFo3Gm~U$^}oiwzl*U3)rTw|(8c zOK-ok$Jc$==EEczJiaK-hnvR?Y$UW$pRNz;nl^5d=UQa{jVr+V3M4u|_h`T#czZ(m zTDMtee(rFk@vm8q#LpehV=ZYF7Cti%f;HIBx*Aapi55K>C^xs1n?YiwHw~C2FEP>+d*jRZP>Vt^6p zB46I@_Yh^y-!?*wfG{)qC~zfPpP$f!E=N+cLx&EzOZG2($nc?}DGh-iAn(0BTsyS2 zo)X!!^g5rXg{p%36-$}csC17o?P4U^ zlY|PpbrWCBCk@6a3tO6Rt#)cMie|TZ)$_Q{1OEh!W)@M;SonOAPYFtxe6J7D9BXnr1 zQsqOY8DF)s(@gT6RJl95vu)GNSu@=ZaO<<)RR`s)8jQ)0zXN=wO)HTet9H^rimbwV zD#p&GOzV1xNVfNp)Noiza?4m5SuyQ=*PRlvK_xgRl|tNq>sGluk0#S+*7f+X_4fdX z+yGDxk;g}cBT=jQs2fIGvzja!yDNJMl8Og@4PGiRhAiUCS^ky~U_f#(%g=-YIu*tVZ5xp?kW}IC`w!r^L3DsoU@|tpKM~ z7F=qS&m6sW9YiN8()AV1e1d(-$0jH)4Mj2NRkT`hE1NZV8B+vE>keDjjUEb2h^ZWr z1LvWxz&C=4Ix}4Rv!c7qH|^;~S?8QS&2jD41g9#@J=bE~GRIu3s z@vcCTvVx{iO^Zfb;+bl`N~F3Ew7S#0>M-Sx$xty<=9wOU(Au%Oa@>gJWeR#JfRvZ4 z(a7xSTY(CjZI3-A1P_#9n=9>IbpuJiILN4@5%Zkm?6&qTKLGYbOq=Vz`CE znp)ugtV3!}p3n#1;FOM0$s&p`>%wwMyFQaol<>oR()(;{Pi~7%F~ekWmw$6fSCQi! zE@?^8So9f;lutT#r+m`3r_3j{86A~*)w(v6Tg2HOMlH?U)4gc%IyoV^&duj?NuPEU zz@N%#?^Y2u?GTHN+RY?N!M&H!ivM1{+xmUBw;E+#q*!`|^RAAp@5$dUkWn8FtU=WJC>rtYI=!UWk9p z&~$URHuDGJlRe&Oy?LWc+3(|C!i(ZFZ*+e=r$!=Bv_}?v&Bb3x(DafqNZiqRP#0M1 z!}}!knv*+v;%(}ma9CJ;!m@-~+t=T_($q#>q-@W)UB+b1eBY=ojbaxH1AAzG^-$Ofg`F7rBrN`)lbGm1+A=czJea1X6^$r z*n5^k+Vrt{cIPxGuQ;Tc8}#FLQSlniEtWc80z~-6^{!D*Ii#8Qz}LM-_RN|cQl+D& zBM`;MMWiyApvh?;4RF^9)SAHcVGHPHzx!2}bmS30OA7>chD%yAbl9*vW$?oLK}ha{RkMHpU7e9~kPo=zs2jb&oQO59GgLBbegTB3A~0Ra!1+rGv% zb$}k{M*KO?)ZcHODO8#*2lZDy(^aQ=re^k%1~8^sj&J9gPCf!ZOtm=Y)SLDCb0fdv zoQ~Xy-YXQkbKN@^>l{+~rW}>AEyg!p{#D-;8A3&wYkJG5#>NJImU*s1s1-I_$8)Z! z4oww9jiuHdb(F@AwoNzAnyFc8b^3sBevt7@*K|AhN}F!2`v%w4Z+_-X*Hl5&(_B+4 z&a9%;vMe@)pXHvmd?=myFm%AA#GN!7QA~uu`KJwk&Odb?v)VIZLg3fF^({P9_0wcL z5p6!@p$>8$DtnR=9?6x`CPU+g?Vz*O_1%|+ z5G-0~V_BLmFXFMjwTH7GkNb0II-5uTfXs8keP8ahv$KEduYv3j#ARCipd}Igx$Mm< z4bH5;l4Dw`SUK_|px9&B+g5ex@c3#FUja;i5bJk?|G`#pxStf(&k83$DSRn;DeSL+ zxP-zk=KI0~Qr8!;*YhGUT*$ZXFW_4D=i4`>Ypn-+7vD);2mxB?aj`9(APkgZt>+I? zVVp{_#?u{vuOsiTP;r-?vGhdAR|?19up;9^mc#U;x>Z!aH{T@p;j1_MR^g1!zt=X= zpWCy3EZ5+wR){cl-d(ho9zCK8BF{2_G_XYX^}j~ZS9-u|@3k68JkZ}E}! zgl)iF2HO7Qzs!oifUUM<6(y`9S%Zny7UI4$0@tR+dB z1`=yDrNpw82NV-2-{a7HP!+OIUj5-~g9-JkDy;a>4rG3|t|T|W4$*d#%h|E;m2Guej8jrc)UVqk zh<0H8R7ZXU2-_9?#&vrDEh}DaGGrgoFm3(nJoYpLP1h`R-?&0ouITeHx zswXQNZ^#Eb=d~oY6#r)H0I))F$K)D+bVyd4Nzxj*+N&4d%`zF*sf?UAsfD66-DJ&} z)wFMrn>+n39p8~mlv@E-Q(FjrUu@NeEV?j1nL&SOlNPi}WfzL}Ec-rC-`7z#3qxjc-Tgf4#mM6GGl1;& zyIM#1m4}lj=|$J-{zfpC_-Td@(90dsFjd_0peb3IyhZD4YM)^69(J=nNn9^qi&+mk zhx+~;3{^BoEo(gBa87=C`Q}*m{cNMi^wqC!;%wDdKF>vM0B%#N$zIUHW*Glg4 z9)7E~`y&<0Iop{dP##9%k@y#J_h&}R*rhLMZ5d}6{5&pfW!2ZsK5jrK9UM8pE+;{2mgb!;@$)tKsfW5=uuW@ysoDnf5uyGk12b&_Xj_t*i(9ecV-ge=PT`SzOw|$rvomzaY+a zy)t!hLtWFXPpKcYF-?@;{pN;sukQ;;(7HM{DFuas{St2!|4(s^kGwvL@&6NROvjl2 zZq~Maq@T|+XU~E-b=??C{p6k;I{HP=Ij(Zx$W=2}#n5H!7LqrU~13MO#@h%99}(&3MDaRm6Qy>C%+_n*&+G32jEJeEOQkdq?F%%R|5eY z5eEZYKsGbUjOBWvroIgLGiEHicJqr*mSkwm^;Jl}?mn5zh$W1baTY%`X7+N2Z4R(8 z8j-^Ro`urcuIgADKzvOxFC96XVL*?abPOqvmL>2S*X;(hybwUjgv_BdQSm4NO>!k;10Kx;xELLHm=n)Q zjV79jq^+Cp*jeOJ-exUT5N&s@5Wj!NNKGf=!!W*>dzdov2Ob=$s%!g%Rj<45su}Mb z?24Dc1x~}E#On*iopYO$9eX-9Zg{Z zna2Fg8}5*4bb_zyi)L3l5qR7+p12~4=>u!j_Q%u@lCh9Pub4bHCWwJ*DaPQIOdt-s zD7=+c;U;M|y8=&%unGj43F*+w*xK@pmLsw~r}`|jE)n8x{|y~ad2se4?zzuRmh=VMqULVu<* zC@%RZ4G^>+Kk>mdIVY|GvSu3}CS;|lnlR&Rqc`BHjk1l4OiaOpOmaRwNAtE_ZLES_ zW*YrPW*V=heyl&7DFyO;y;>@|$}HmqJKR?L>ypXO>&!BO54jm2%UCK8Gdcr`LMvh! zw{mQjU;8+gF=F3gQtiYx4)Hv*jkAQ%m{5KK;VQl4XPs?K8Zz|jPmmslS8tVVd>b@H z@x!}E<*Q3M+xVe{hzEEB%r=(8LuMP*)ZXYNFK7jdvyEHOQiE)7YLA(Ql_GseY zPNyj3ci&kr330g)!bB3IGi@S$ph4ruu3d}kfOd7VWz9599X`d^*h7;@s|Ra9*ciFna@FH51Ss3dhB7+vzk5Xt_G}Q+3*K*N6H+k5VM9~ zI%{~96)Gb*gA(}8JOuND_G63`O~blYE3ZSU!yaqsjkb}Z=MUc?Yq-#)1fsBp<~Vj8 zM@+!XdjV)efBt?{M)?|wKFb;skzt%T-mD?xJA@)oHnWB^U61kJ(^ydRrS4(fei_3p zW(*&ZG0bT*E>cBjbpu6=;cN{QneaQy7}oB!fua#7X{u{O;4p^oooNj3IF~U*ziXl= z9dY>mFE|?9T5IG@&r1>IG*0{oTR8CM{j!BGc+=i{U*p8LH#=KcuyNvnAhCtr?I*hn zJ+^S+txxSZHA+0&7H&Vy7HW`qwk-?~Pt>T_Ek{U<;Yi1kuQ7((zm+lU{)#ay?3OY7 zQe#9jhV1ezMly!M8OD%34aBK+#Nc`CKjarq#pG(DwSDYBMV)F$O!lw&N)xWt8H#^H zFj!|O{=mM^C$4-E_ZL`r9qzUf#D z?KT^_O@}%WvOk*-!IeUS^`otd)Au6VAE>S3)R#g>U(zA78M(RCqUPsQ%f9aX%Kkjl zrqCPRk)mL>*Ak5@GlhnZgPWs?#|C4Sq~bk4Q~Tr}*x9!-{af{fb?vfWc{7Z4^#G#*$=< zD-!Wh+~GTM;dVXc-+qM0`54o8vvB*idL;5~E0=FY?j@97XKsza&099OQz@`rd@2#Ps*Aun4iX za&XR?UhdyzBS&#)1t)kGVtGrSEifh|*o{0Gppq_$JDy4qsF=B^OpEZ8?qM%8q^f?# zD;KoX?v;Sw7l;bm*59#g(c<*t?mN17k2I#KW>I!NYP7ibaZbM1ynrG;%BdYzcib?4 z!OY36^~Rf%4RtE7LcG*e?&vE01f>!!hH7N#V{d&;jWOD`F!ki(_^-8i@A;3ldRdq( z7H8iIV#YTTJ{9>^U1O`&8TNmmFcJGgT=AMFu(QzOTa3&0D`p8o?LaAiP7Eo3a_OK7 zR}C04;w~LV76^+9w@oFw=JYnUVq6mE@3ALj(>z3*uQS8cR))vr=>>0~Y8U=^bV!>Z zEw~Dd0mZS~WoJ<{Wpo=R0zKRTQPImojW5Lnry|iTO&agATevORpO*wJwUnm)Nh9C8Zg#JOM#DL3&M`iV+lSp80!z6VJz0`#2eGtQ0Wb1Bg;0km+ z<(Dh#9wAG)q{WC&j%2qxlfE1odvCW(Pd>Im~5-MfTeS=2d&IuY{u zV8=9bcKV&Z+1P~hB9@!2eWamMXWF#XG8^sFpYlvKmB6pow{IjX_m)^_FO%;c0a5dr zl=tkrDk-Ow!rmr>w>^Z(Ntwng;}I%MPhBb1K7pClCRvbYziXKkX0Yy;Jza`2sOsN| z+X~Mp0&Fin^j(>kN_2=&h1r4i31WFmC!4u3ruE`i3h~(OR~}tg?@>sQr(d1+nmFA#?$q&`h%%?OY%+x)!qgY_&CG+nMA=k%YfN~_xiSB2}!a?x8ITn*Z2bf@YS4Zb_nw#S# z!n;HnFJla2u$vE{CPRUne4;Bpv5o{lqSY-UIiTkT{pdn?oD(T!7wGq4$FnV5g9m_~ znIzLcgZQmgopq(-E74FF#9f88t#t$otZ4B#(O#Ll`@Z0@&Tur6QKYY#;xKvx2XBp| zB0_J*F$%UbNdcg1=SrWD;VW_t-JypwMYzlO=2MRv}gi z*g9Uq@5*pu><~pmUuO`b!$HMP*cRSbD?03Fze%E9YG$~NPmaaLXBqNwZz))!Q$?$M zA_;FRYzKqeYa1JzufFHiH{mQlt9%lYeQDs&mb|A%qa?mc096Lx0c3* z;*Iu7GFiYxTL}V#0lsHNuni3-^J|v|nuG$Wj#m^0{x$yh$iZZ6CFGU&-;Q@)r2ySU z8e3OFc?K2$1|4pz!uTUh0`6O`$SR~(x!;*HtmJhO8!#6&xVHoty@0;a1rxX3q$D0B zVKytr>XG&^*H0x_j4yL~eC$6Bu1wV>yKNK$B=X>Ej$-?x)u0^+Z?HZ93 zpbE}IX#{&88_2|>CLI(t)SCs;x7{%BrW+@<)=^8%v^3NhQ6ekyZ%4o6j;tJ*%zLGM zVoyewKK9^aOL`oKkZY>LoRD*{huQWJ5l@rzfM{(zgSPI0r@Bd05AMECZ!bNq=%pr4 zY{4FaD&Vyj#Qjmn7QHw=S`l&%zoW}-+Kw#&JGaR^B+0?c{F zz!%54r!MX!IOu;Hv(o;te#KAZxR(<`wB|+-b8G{J-se31AdO_ILN> zr67!-Bqt%y?XVk>h-HvRVICsn-4QYKO>=U z`?#F;Adlmh)O9Fxf#uPR$*!!dC~f!^}t6Gdb;%j0>^ z`^``%lO#Fz3bRo_RVGPbvo|t!?411?kD`(YnacOg6Ug8ZFPq1RIe+M=syp1sO6^$_^_;nT%OTd)~`sYx9v5ohnsi5+lo$5hwgi zvG2{w8$;c=P*6}e{!n^bQiD^r0VoIX5}EUUr5AI(BeJGmJiI;b$vxFEp>(Nez*(kZ z9N5xL*F99_xJ@md!S(~Y%OJkECtf+kRjPnFA|UYOM(V|C zS6h^Qbuoe!!{roR^NC?Yl~N2%2Hmh7?X_(0ysnCCOd!3yoKK14lvjDFT4MiK#-qLN zEuUSG!?_3xxsrAoWwUap(&xa>-GOa(+3tcM9)QGu7AJ|2Wc=d3} zfh7T}OcLZSko68oFjZnOg8=NrR}67V!M(tWe%;dKo0~6BO@HV5cuDXTc_tUxsbLAuUE=1$%WsD0YibWJu$d3H$wABnnEP6K-0N z4N(BG;(!5^veJv)U*JJ*VBqub>z@UjsGgH^{l+#hB~aD_1=k(*4bRg^BiI2?(PxJenw`htx8Mf0 zJ|ySBApc9?rRqL$@tpJj0hLH~yi%D-_Op!xlaMQ8Ou3{kpcEXa%$xH>7Lg-ZEGzy)^l`h~on?bbkNUT8 zNWZ1Vdw>LIK~(5(sWJx=iBH1Tx`BNifmj@nBvMs5GO}^s-Ipy;X(+5-FY{JZLgn3q zoxEAKCiQ@>9F)-Fq4IiqA(oX}&tCD!sx>nU!8}t>!v^Ru0ze9+SV{!;JqAr}hp}bq z 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