From 0413e777aa2f286204ff16ff721f00a8baaf7e62 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Tue, 13 Jun 2023 20:04:55 +0200 Subject: [PATCH] init --- .clang-format | 130 ++++++++++++++++++ .gitignore | 4 + build.gradle | 15 +- .../net/anvilcraft/pccompat/PCCBlocks.java | 19 +++ .../net/anvilcraft/pccompat/PCCompat.java | 37 +++++ ...ockPowerConverterUniversalElectricity.java | 56 ++++++++ ...ockPowerConverterUniversalElectricity.java | 38 +++++ ...ileEntityUniversalElectricityConsumer.java | 72 ++++++++++ ...ileEntityUniversalElectricityProducer.java | 48 +++++++ .../resources/assets/pccompat/lang/en_US.lang | 8 ++ .../textures/blocks/ue_ev_consumer_off.png | Bin 0 -> 908 bytes .../textures/blocks/ue_ev_consumer_on.png | Bin 0 -> 908 bytes .../textures/blocks/ue_ev_producer_off.png | Bin 0 -> 904 bytes .../textures/blocks/ue_ev_producer_on.png | Bin 0 -> 910 bytes .../textures/blocks/ue_hv_consumer_off.png | Bin 0 -> 906 bytes .../textures/blocks/ue_hv_consumer_on.png | Bin 0 -> 909 bytes .../textures/blocks/ue_hv_producer_off.png | Bin 0 -> 905 bytes .../textures/blocks/ue_hv_producer_on.png | Bin 0 -> 910 bytes .../textures/blocks/ue_lv_consumer_off.png | Bin 0 -> 905 bytes .../textures/blocks/ue_lv_consumer_on.png | Bin 0 -> 909 bytes .../textures/blocks/ue_lv_producer_off.png | Bin 0 -> 900 bytes .../textures/blocks/ue_lv_producer_on.png | Bin 0 -> 902 bytes .../textures/blocks/ue_mv_consumer_off.png | Bin 0 -> 895 bytes .../textures/blocks/ue_mv_consumer_on.png | Bin 0 -> 894 bytes .../textures/blocks/ue_mv_producer_off.png | Bin 0 -> 890 bytes .../textures/blocks/ue_mv_producer_on.png | Bin 0 -> 893 bytes 26 files changed, 423 insertions(+), 4 deletions(-) create mode 100644 .clang-format create mode 100644 src/main/java/net/anvilcraft/pccompat/PCCBlocks.java create mode 100644 src/main/java/net/anvilcraft/pccompat/PCCompat.java create mode 100644 src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterUniversalElectricity.java create mode 100644 src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java create mode 100644 src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityConsumer.java create mode 100644 src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityProducer.java create mode 100644 src/main/resources/assets/pccompat/lang/en_US.lang create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_ev_consumer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_ev_consumer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_ev_producer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_ev_producer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_hv_consumer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_hv_consumer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_hv_producer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_hv_producer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_lv_consumer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_lv_consumer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_lv_producer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_lv_producer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_mv_consumer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_mv_consumer_on.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_mv_producer_off.png create mode 100644 src/main/resources/assets/pccompat/textures/blocks/ue_mv_producer_on.png diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..d48bed8 --- /dev/null +++ b/.clang-format @@ -0,0 +1,130 @@ +--- +AccessModifierOffset: 0 +AlignAfterOpenBracket: BlockIndent +AlignArrayOfStructures: None +AlignConsecutiveAssignments: None +AlignConsecutiveMacros: None +AlignConsecutiveBitFields: None +AlignConsecutiveDeclarations: None +AlignEscapedNewlines: DontAlign +AlignOperands: DontAlign +AlignTrailingComments: false +AllowAllArgumentsOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: Empty +AllowShortCaseLabelsOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Empty +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: All +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: MultiLine +AttributeMacros: [] +BinPackArguments: false +BinPackParameters: false +BitFieldColonSpacing: After +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: Never + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + BeforeLambdaBody: false + BeforeWhile: false + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: false +BreakAfterJavaFieldAnnotations: true +#BreakArrays: false +BreakBeforeBinaryOperators: All +BreakBeforeBraces: Custom +BreakBeforeConceptDeclarations: true +BreakBeforeTernaryOperators: true +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterColon +BreakStringLiterals: true +ColumnLimit: 90 +CompactNamespaces: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: false +DeriveLineEnding: false +DerivePointerAlignment: false +DisableFormat: false # wtf +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: Always +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: false +ForEachMacros: ["BOOST_FOREACH"] +IfMacros: [] +IncludeBlocks: Regroup +IndentAccessModifiers: false +IndentCaseBlocks: false +IndentCaseLabels: true +IndentExternBlock: Indent +IndentGotoLabels: true +IndentPPDirectives: BeforeHash +#IndentRequiresClause: false +IndentWidth: 4 +IndentWrappedFunctionNames: false +#InsertBraces: false +InsertTrailingCommas: Wrapped +JavaImportGroups: ["java"] +JavaScriptQuotes: Double +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +LambdaBodyIndentation: OuterScope +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: All +PackConstructorInitializers: NextLine +PointerAlignment: Left +QualifierAlignment: Left +ReferenceAlignment: Left +ReflowComments: true +#RemoveSemicolon: true +#RequiresClausePosition: OwnLine +#RequiresExpressionIndentation: OuterScope +SeparateDefinitionBlocks: Always +SortIncludes: CaseInsensitive +SortJavaStaticImport: Before +SortUsingDeclarations: true +SpaceAfterCStyleCast: true +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceAroundPointerQualifiers: After +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: false +SpaceBeforeInheritanceColon: false +SpaceBeforeParens: ControlStatementsExceptControlMacros +SpaceBeforeRangeBasedForLoopColon: true +SpaceBeforeSquareBrackets: false +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesInAngles: Never +SpacesInCStyleCastParentheses: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: false +SpacesInLineCommentPrefix: + Minimum: 0 + Maximum: -1 +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: c++20 +StatementAttributeLikeMacros: [] +StatementMacros: [] +TabWidth: 4 +TypenameMacros: [] +UseCRLF: false # wtf +UseTab: Never +WhitespaceSensitiveMacros: ["BOOST_PP_STRINGSIZE"] diff --git a/.gitignore b/.gitignore index 8d16946..f47e0ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,8 @@ +.settings +.project +.classpath .gradle .idea +bin build run diff --git a/build.gradle b/build.gradle index 585fd0f..1485b83 100644 --- a/build.gradle +++ b/build.gradle @@ -24,8 +24,8 @@ sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 version = "1.0" -group= "modgroup" -archivesBaseName = "modid" +group= "net.anvilcraft" +archivesBaseName = "pccompat" minecraft { version = "1.7.10-10.13.4.1614-1.7.10" @@ -34,10 +34,17 @@ minecraft { repositories { maven { url = "https://maven.tilera.xyz" } + maven { + url = "https://s3.tilera.xyz/cdn/minecraft/libs/" + metadataSources { artifact() } + } } dependencies { - + implementation "covers1624:PowerConverters:1.7.10-2.11:deobf" + implementation "cofh:CoFHCore:[1.7.10]3.1.4-329:dev" + implementation "universalelectricity:universalelectricity:5.2.2:deobf" + implementation "universalelectricity:basiccomponents:2.0.1:deobf" } processResources { @@ -85,4 +92,4 @@ publishing { mavenLocal() } } -} \ No newline at end of file +} diff --git a/src/main/java/net/anvilcraft/pccompat/PCCBlocks.java b/src/main/java/net/anvilcraft/pccompat/PCCBlocks.java new file mode 100644 index 0000000..1dd9e6a --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/PCCBlocks.java @@ -0,0 +1,19 @@ +package net.anvilcraft.pccompat; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.anvilcraft.pccompat.blocks.BlockPowerConverterUniversalElectricity; +import net.anvilcraft.pccompat.items.ItemBlockPowerConverterUniversalElectricity; +import net.minecraft.block.Block; + +public class PCCBlocks { + public static Block powerConverterUniversalElectricity; + + public static void register() { + GameRegistry.registerBlock( + powerConverterUniversalElectricity + = new BlockPowerConverterUniversalElectricity(), + ItemBlockPowerConverterUniversalElectricity.class, + "power_converter_universal_electrictity" + ); + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/PCCompat.java b/src/main/java/net/anvilcraft/pccompat/PCCompat.java new file mode 100644 index 0000000..670805c --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/PCCompat.java @@ -0,0 +1,37 @@ +package net.anvilcraft.pccompat; + +import covers1624.powerconverters.api.registry.PowerSystemRegistry; +import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.registry.GameRegistry; +import net.anvilcraft.pccompat.tiles.TileEntityUniversalElectricityConsumer; +import net.anvilcraft.pccompat.tiles.TileEntityUniversalElectricityProducer; + +@Mod(modid = "pccompat", name = "PC Compat", version = "0.1.0") +public class PCCompat { + public static PowerSystem universalElectricityPowerSystem; + + @Mod.EventHandler + public static void preInit(FMLPreInitializationEvent ev) { + PowerSystemRegistry.registerPowerSystem( + universalElectricityPowerSystem = new PowerSystem( + "Universal Electricity", + "UE", + 2500, + new String[] { "LV", "MV", "HV", "EV" }, + new int[] { 60, 120, 240, 480 }, + "W" + ) + ); + + GameRegistry.registerTileEntity( + TileEntityUniversalElectricityConsumer.class, "universal_electricity_consumer" + ); + GameRegistry.registerTileEntity( + TileEntityUniversalElectricityProducer.class, "universal_electricity_producer" + ); + + PCCBlocks.register(); + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterUniversalElectricity.java b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterUniversalElectricity.java new file mode 100644 index 0000000..330b9a7 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterUniversalElectricity.java @@ -0,0 +1,56 @@ +package net.anvilcraft.pccompat.blocks; + +import covers1624.powerconverters.block.BlockPowerConverter; +import covers1624.powerconverters.gui.PCCreativeTab; +import net.anvilcraft.pccompat.tiles.TileEntityUniversalElectricityConsumer; +import net.anvilcraft.pccompat.tiles.TileEntityUniversalElectricityProducer; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockPowerConverterUniversalElectricity extends BlockPowerConverter { + public IIcon[] icons; + + public BlockPowerConverterUniversalElectricity() { + super(8); // 4 Consumers, 4 Producers + this.setCreativeTab(PCCreativeTab.tab); + } + + @Override + public void registerBlockIcons(IIconRegister reg) { + for (int i = 0; i < 16; i++) { + String state = i % 2 == 0 ? "off" : "on"; + String type = (i / 2) % 2 == 0 ? "producer" : "consumer"; + + String voltage; + + switch (i / 4) { + case 0: + voltage = "lv"; + break; + + case 1: + voltage = "mv"; + break; + + case 2: + voltage = "hv"; + break; + + default: + voltage = "ev"; + break; + } + + String texture_name = "pccompat:ue_" + voltage + "_" + type + "_" + state; + this._icons[i] = reg.registerIcon(texture_name); + } + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return meta % 2 != 0 ? new TileEntityUniversalElectricityProducer(meta / 2) + : new TileEntityUniversalElectricityConsumer(meta / 2); + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java new file mode 100644 index 0000000..e34cef4 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java @@ -0,0 +1,38 @@ +package net.anvilcraft.pccompat.items; + +import java.util.List; +import java.util.stream.IntStream; + +import net.minecraft.block.Block; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockPowerConverterUniversalElectricity extends ItemBlock { + public ItemBlockPowerConverterUniversalElectricity(Block block) { + super(block); + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + @Override + public int getMetadata(int meta) { + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + int meta = stack.getItemDamage(); + + return "pccompat:power_converter_ue_" + meta; + } + + @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void getSubItems(Item alec1, CreativeTabs alec2, List list) { + IntStream.range(0, 8) + .mapToObj((i) -> new ItemStack(this, 1, i)) + .forEach(list::add); + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityConsumer.java b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityConsumer.java new file mode 100644 index 0000000..39107ab --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityConsumer.java @@ -0,0 +1,72 @@ +package net.anvilcraft.pccompat.tiles; + +import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; +import covers1624.powerconverters.tile.main.TileEntityEnergyConsumer; +import net.anvilcraft.pccompat.PCCompat; +import net.minecraft.util.MathHelper; +import net.minecraftforge.common.util.ForgeDirection; +import universalelectricity.core.UniversalElectricity; +import universalelectricity.core.block.IConductor; +import universalelectricity.core.block.IConnector; +import universalelectricity.core.block.IVoltage; +import universalelectricity.core.electricity.ElectricityNetworkHelper; +import universalelectricity.core.electricity.ElectricityPack; + +public class TileEntityUniversalElectricityConsumer + extends TileEntityEnergyConsumer implements IConnector, IVoltage { + private double wattsLastTick; + + public TileEntityUniversalElectricityConsumer(int voltageNameIndex) { + super( + PCCompat.universalElectricityPowerSystem, voltageNameIndex, IConductor.class); + } + + // TODO: WTF + public TileEntityUniversalElectricityConsumer() { + this(0); + } + + @Override + public void updateEntity() { + super.updateEntity(); + + if (this.worldObj.isRemote) + return; + + double desiredWatts = this.getTotalEnergyDemand() / this.getPowerSystem().getScaleAmmount(); + + ElectricityPack powerRequested = new ElectricityPack(desiredWatts / this.getVoltage(), this.getVoltage()); + + ElectricityPack powerPack = ElectricityNetworkHelper.consumeFromMultipleSides(this, powerRequested); + + if (UniversalElectricity.isVoltageSensitive + && powerPack.voltage > this.getVoltage()) { + this.worldObj.setBlockToAir(this.xCoord, this.yCoord, this.zCoord); + this.worldObj.createExplosion( + null, this.xCoord + 0.5, this.yCoord + 0.5, this.zCoord + 0.5, 1f, true); + } + + double watts = powerPack.getWatts(); + + this.storeEnergy( + MathHelper.floor_double(watts * this.getPowerSystem().getScaleAmmount()), + false); + + this.wattsLastTick = watts; + } + + @Override + public boolean canConnect(ForgeDirection from) { + return true; + } + + @Override + public double getInputRate() { + return wattsLastTick; + } + + @Override + public double getVoltage() { + return this.getPowerSystem().getVoltageValues()[this.getVoltageIndex()]; + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityProducer.java b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityProducer.java new file mode 100644 index 0000000..ac3a1b0 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityUniversalElectricityProducer.java @@ -0,0 +1,48 @@ +package net.anvilcraft.pccompat.tiles; + +import covers1624.powerconverters.tile.main.TileEntityEnergyProducer; +import net.anvilcraft.pccompat.PCCompat; +import net.minecraft.util.MathHelper; +import net.minecraftforge.common.util.ForgeDirection; +import universalelectricity.core.block.IConductor; +import universalelectricity.core.block.IConnector; +import universalelectricity.core.block.IVoltage; +import universalelectricity.core.electricity.ElectricityNetworkHelper; +import universalelectricity.core.electricity.ElectricityPack; + +public class TileEntityUniversalElectricityProducer + extends TileEntityEnergyProducer implements IConnector, IVoltage { + public TileEntityUniversalElectricityProducer(int voltageNameIndex) { + super( + PCCompat.universalElectricityPowerSystem, voltageNameIndex, IConductor.class + ); + } + + // TODO: WTF + public TileEntityUniversalElectricityProducer() { + this(0); + } + + @Override + public double getVoltage() { + return this.getPowerSystem().getVoltageValues()[this.getVoltageIndex()]; + } + + @Override + public boolean canConnect(ForgeDirection from) { + return true; + } + + @Override + public double produceEnergy(double energy) { + double watts = energy / this.getPowerSystem().getScaleAmmount(); + ElectricityPack powerRemaining + = ElectricityNetworkHelper.produceFromMultipleSides( + this, new ElectricityPack(watts / this.getVoltage(), this.getVoltage()) + ); + + return MathHelper.floor_double( + powerRemaining.getWatts() * this.getPowerSystem().getScaleAmmount() + ); + } +} diff --git a/src/main/resources/assets/pccompat/lang/en_US.lang b/src/main/resources/assets/pccompat/lang/en_US.lang new file mode 100644 index 0000000..3d755af --- /dev/null +++ b/src/main/resources/assets/pccompat/lang/en_US.lang @@ -0,0 +1,8 @@ +pccompat:power_converter_ue_0.name=UE 60V Consumer +pccompat:power_converter_ue_1.name=UE 60V Producer +pccompat:power_converter_ue_2.name=UE 120V Consumer +pccompat:power_converter_ue_3.name=UE 120V Producer +pccompat:power_converter_ue_4.name=UE 240V Consumer +pccompat:power_converter_ue_5.name=UE 240V Producer +pccompat:power_converter_ue_6.name=UE 480V Consumer +pccompat:power_converter_ue_7.name=UE 480V Producer diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_ev_consumer_off.png b/src/main/resources/assets/pccompat/textures/blocks/ue_ev_consumer_off.png new file mode 100644 index 0000000000000000000000000000000000000000..14a0c915209a089f00afa2fe8655923b482f9882 GIT binary patch literal 908 zcmV;719SX|P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<5=lfsRCwBClTSz^2NcGClVm2&B$-K~CXpm#L|Y6PiXfPSt$HY_?7yYkPYeP167{41?X>UDE0F|K>b{!GL@|kEUtpy3WkZ3>zC8 zWHK3kT3qCMagjtK!Q|v5s;Ux=MzJi5)zwvGS;jXtHAT5x=AGZ)13(>w`QA8WWn~2m zcmrs4yOhgi_Ovf>=n-)u{AwM)a!{#M@OV532)xWm?y&}=rbZ5vN06e1W5GVaEC_R%SwPKWjNbz-p?Z&j-}PoCiQdfD6CLzZQ}$$bTY zuIt3(afGd{EjO7=a&>jZ?CdOSYimf7#OdiPn4%~sih?MLB$G*s#UjyYl0{qbY0ZWqUKXg_~WAQ0d$z&{iVz{to5?RJ~o)29rEfPrZu6bc1b zRaF{|2H9+uVzEf0(I6U);<_%9B;oORxV*e1nM`tUa6q+MC6!81uh;QtnucXr+_yi* zwrz^VA`=r67>0pqn%v&rQmfTa6ovi$eQs`U*lvG@rfJO0&EW|I0;sBrSMc%f`TN}6 z-LbQ?Ln@WxmwWdZD-_T)jl;u3TCElve{3=C#A&zN7>0o_91hd(_X)Wgnj7Z+^(Xwc z_A`p2{F~M9_fsmB_*D9wQD>a4&}VdX6iJfsou8kxw6sJi_yeI(h*qn`m^enS*JE}F z5Cnl-F2|3-Z&6hh+qQ{CV$^Cie5q85pIP5 i6M&103uIa5p8){GI4bPe_*-lM0000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<5=lfsRCwBClTSz^2N=bFGs#SxiJ3{FCXxJ6(Jls*WkE1)rK^RK${s8hiYE_C zPfO|1Lj<7(@zhf*y|)xE^;EXh%PP%DOUkmFEK-sNMIwXlWWfy6Ofs1s5=u)Se7Em? z-{bL~u(7e>S(b%u+x#0_TU+S54uD}8?Ck82PN)C3C-!Z{{S4| z9jM%|;Pd&A21I2rnx^464iBF`gf{Rl6vvDB1wnw12d{k4Znp^rgE)X6&;S_-1Oj-T z2ls)=K?r)_zrMcadFDBe?%@jMS%mJvmf%galW$t3&x`&23wQmGWRS`AUxbu7!`vHcmg zZBr-|7#|>Ch}0~CuzzL39S#2v#Cx{QpBAj>lT^Ye3-mX;_E|4b+pqSF8n$f{i^Ql_tN2r?6vxNM|EXxXTqc*x@ofGXk|bdm2DMs^OeRC4 i(E#A$;sQlc_(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<4oO5oRCwBClR-!$2LMIiOlA_D#3U0Jbwgrev1<++iU%>5B9eoqOShn1$+^%= z!BfSf(3?WfE{mndJ?ueQ$VCb`b07?85l}ZJ1YHA9AX0u7HR%7_deF}vF{eGVg@G)Rn7L`hc zkDh(T!NCF1XcSdd0T7Rmj{%sOnIZN33;u5FD2jrv>!d%38Vm*j`25Yc6pKX~jRvM^ zBINUVHyjQVc{)e$rr+fE4!K+o+qQ8Whfb%%<>e)Rd?V6+-$L+6G{1a7x7$VXdcCNs z%5T{M9*>9l`FXP09OZJEUayCuC@6}8EXx>QzvRi|$E4F~=I+c_%Hk*XQVKz24Fin$4B!cU@c)eakQRMXW6xVgx-rmNtERxA2^?Ds)ZEelfb)AKm zUojdO=c?P{?vBCe=qQpTAxRSLcAIXuOaHrR1`N2kZt(WuPgs_P==b|sTwLVE?2j~B zZ!yekc6N4%#bW&Y-~o4*mI#GH?CtI0mA$vxVm`GJXv2{cVZ42Q!2tgNhX@#q&E zyU+6SGK!+ycJ=vuXqv`_@h88|JtdpX5(oqsA0J1o)oK7-U0pFfJl4Xqtu;i^VuPI{ME=OQjN-Ooqu~k*+LrscF>fb!^*ae}Dg$ eH#|JdzXJduqdpkfVzF}o0000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<6iGxuRCwBClR-!$2NZ_Cnam_QiAg3Fbwjd=#cB>4#Dkc&2az0Nx^xTLO3sB| z7CfzZ6nazW*=2F*rLcz{ltT6(g_tE!(p+|74b8S>7mSUL)NwaWGGr!`>A^)>`rzIE zAO83AJt3FNIh{@i!!Y>wY;JB62m}DoG>xsTEuzur|8&w|Fd&sm0idcXr>CbxA`#;8 zIMa`(Apw;;6=Ja%i9~`}EJn3jB^(Y@E|(D}Cno`DHk;IHHHIJEA)n9F@AshtOoM5f zl*?s4{P8mm4h{&1!>FnXfOvd-48Y9H42hq<;B8AsQ51AthXmkUNA>&t0DS)H0fj<= zMx%jY7znvs&ItyCgr3aPdw<{U?`*Q!ES63bHKI{^mK49zGxiNVKqwSqcXt=VFo;H@*tX4JFhJLJBvn)}^7=UzkcE*d_FEC9LyKi&(_7bnxi_hmnQ4|D0KomuWhK6Xj+r0ev3Nad5lch@!~J$qA0*u)V#FX`002aq9It!rI!J zqw6}0&%b8WH_lb}l3P1%Mn^}HBne59Xti2&yIuO`MU&AGBr)(y!|J?&OafYPUG|W7#|-;tkr4&TwPr;H8sVXdj%9l z!Lls)=(;RH5J)DIyvpWTU0nsB-EO048d4+@;pph-KQCG=7D=U26p{sGSw_<|>h(I7 kWwF1%f1?{79_F6`0LB$O5&j>K?*IS*07*qoM6N<$f(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<5J^NqRCwBClg~>d2NcIYlVm2&B$-K~O_U^KL<@!*T0t-r7xiStgGFc&3Z8l> zOIdpI5Wz!1JoVH{{{%1HLoY3|u#tuy6aw4bq)3}ID3UPMopdp?v-vTZJ!~jj`rzH( z_w&Br2T$1E-gYg^!nSSRuHD^TG))7*Fbwwh_erHv|C{p+1_N@r9Ga$~>pC+tGi+^b zkxr+1w75ufagp)yaV94xQB{>_G>T`aPU`5v*q6je~NzjK|{vL7<<^@M-sV78VvTO_S_fRx_Cl<3E3g zqmIFdLZi{ZwrxD2P>5hKh^xi<{O*iSr^DvvCb3wI_bU~gr%&;Ey&N1IAj>k@!uJ5^ zx=uVEN7&ifaTAFI*Vos~&d##FzK$eGoSnUaDT;!kD2Sp+B9S1U&l8PCnVz2J^z;2J2*CKmhuF4FDwV=<90r2{rfK4fL?Zk+KhG=R z9+0k7@Or(7L!mruRaNPByA+p~c?m276U8DvK@j+4xJd+FbUFkA0lI(>Pyq?>`~A4C z%RG=C9@YeW&1Mt*$rG$@7sqjEKYvaj5a1ucKNJhV$jAuocAM<8XAFjbfoUSFt*yDL zs#34l$z(F*^Lgs^I?-qp*L9I336ICa)zuY=M1rHEBPx{&$z+mRt%gU_G%U-)-uM#R zw#n!7OiWB*7zUUWtrCl05;qz5ErOfssI2007*qoM6N<$g3arm!T(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<6G=otRCwBClg~>d2OPyeGs#SxNivf}8zcFlqAi9RwhMyk*0S1*4IV5m6rtd$ zhh-_HCl3)k6vR_ct@ID*!Am`EixgIAP6~nTZc?O88Wc$wbSDdDm}Zj6>_I6leek_~ z-}n1?yeF)$uX~ndVcRzU#^&ZGx~>CY7zW$h+oaR!|Luu`!GL@|kFM)vG8v|)r&(KD zV`5^0`Ga}ptMeoh3C73A(KL-%EQV!SEG;deC<^|`$w|uPGJm}LF#rQ4g7M2fi;Ih3 z0q=n0IF!p}^sl~!eh>G$01p28gpE|!YH#diAnlJ-+w^Fm&EQz1L z!_`J$NTu0qV%s)iI2M@JDhHa5IuGRfuTB{MTK6bc1oS?1*A_L!=wsH%!2NhFg=ip3(aSd6KuDUOei z5e^Rzy?8v1>$>!MJtRru^z@X!pFF___y7S&92{WVHtBR4*L4{T2AHOaKN^j4|A+hF z01u#guZqv-L%Jg>ccW<t6~SPT*FfNoEC548Lv%VFUcUeGpAea*iLku9 z>}i@tqtPIn%~C8DX*3$dVlh0=LzZPkQRL#{f@Ctu-rgS7YL!$fMZI1})O8)pvanaa zz_x9Q#Uf*4V;F{kX_{PLUsJ2qP*s)P-CeG(uIPOBHM*`dJ3EUQ3(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<4@pEpRCwBClR-!$2LMIiOlA_DiAg3}wIMMP+%<;{#ewmx=E&)aWXxu$d>-||DXRq zd?BCDyX|%x(=>S(tE;O7gFygvU1x1=jaV%9Kc3X<^+>1F0BD-V>FFuaXp}@E!Os2r zJOCoqD)D%nWHL!S9;a5T5s5^oR4Rz$vpin4qb8|x*xCdC4MWs?< z=fjWL+uI`&iJ)m30OHZn5df2ulRTUKgloeX6Ijux%U1acH;OoS&cb#T$_~#swaa#N)%~bUGa*uh)yF zX=I)k@OV7T%*>F<j&s_$*$< ziQ8cfKsq}+W9;ydwq@Zs4y}s|R8__A_oFBZf*>G@B7J>*v|24vFJIETHRu@zLN=Rq z1Azd|W|L4T#LCJFrfCumhjCpOuh)wxiX0ywE>+4vSMIw=)(P$tnEiJi*VesPd zr}*C+q4WBJ4WY&0;2@GDAxRR~*VlA99ljcxfL@QQS0_CBbLR3|ixw$!}zW+BWNKRhLq$>8_<85tQttk>%RTwY!>F)_iTUyCS;f^FL* zZw&-NAeBmyD;HQ?Tm+!iYN6{oQZyRn;Najt7cG@aq|<4}ibXoI%(<@9Xf&{Go88^r fJ6?Z(KmQH@QjI*fz5E7i00000NkvXXu0mjffz*@p literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_hv_producer_on.png b/src/main/resources/assets/pccompat/textures/blocks/ue_hv_producer_on.png new file mode 100644 index 0000000000000000000000000000000000000000..ff21143b6f7cc79cd55bbc2fd4a5edcedae81cf5 GIT binary patch literal 910 zcmV;919AL`P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<6iGxuRCwBClR-!$2NZ_Cnam_QiAg4I)rMpf!D;4Wy+hMcv3q9bGrckeN(o4_Tz858mzn z;eS8h6LPtn(`vOa41<5q`uaM7KmY(u)7aS9AR3MSPbc+yJyNL@0II5Tc6LT25+NRs zGx>ND5>UBUAr^~~NF<2GVpOYD!r?IGav5=ad>nvAqd~1!th{wmr08C9y@#Fj_+~_)rqM++KBmk!$)$jKM@cZXqQ79BR zJw3%R41`=R=LCa6o+M^5+Wq^!@!DjwSuD%KwryIi78e&6eECM?jed#CCGqI!Iqh~E z$?bNdsw(N{d0Z|Rb8~Z~(^*QT5}i&5MNv=`1zDE);?EcC?Cg+CCb=^^OR-o)I5;?P zMn*=kZ5zw7kY$-lrNZj!DxxR?5DJCZ-rmMA45HB}wr$hv_0V-4NmW&5zMlaT_zYPUKSP> znEBy5F8}@u8Fnw8yiE@G{j&q2*A?P z5}zLbf@ODETwFv^6c7QSU#6yMG|yi#`_mKB=`=o{kI~Ul#9FNez}3|i6B83W{H=hZ zC|H&SAN0!-1c78SNw$<{d3hOtX0wT=X-JVsgu}zb|Ga3iSR|E7QAie$Wf@J=sMqUQ kmc`!Q-mPwMaFDkH0Qdhou=k;Q6aWAK07*qoM6N<$f`oCA0{{R3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_lv_consumer_off.png b/src/main/resources/assets/pccompat/textures/blocks/ue_lv_consumer_off.png new file mode 100644 index 0000000000000000000000000000000000000000..670b81fd2e16cbefa9e3fc04805114cbd144a7cb GIT binary patch literal 905 zcmV;419tq0P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<4@pEpRCwBClTAw_2N=hHGn1K^Nit&+iKa=$SY0rn6idKREGj(&*@LXmMOd(h z_T&ff5Wz!1>=*D>=+V<23WXvIs}M?2nj*UiNJ$8~5|(|-leZok%9cLxzdirA z2OeR4eZ6nnHjd-);cRVfq3b#TrfIUXvqLhO{NJ9~>-ETHv*@~xVHiwJO|iDNMkryNhdG?)1y91es#JgYZe-e~RB}7pKAp5C8@Xa@5G8rt(V)lcm>2#Xket1MQCNZoF z)a!K|$3YARg9HKrK8lOn|Gr79)navZm1s1|C*?BTSFeyHiQU~@d_Et=?=t`xhQa9Q zD8k0ZMn4{pb9Hsa^z<|WrDBW(CcDs!%%bcE`^02vy1W14Yj6Hvj<2WRfNxI!Gyr+ok#TEq=eBcYt?57J#9lA)3u5v#(#%8wm6)3n7=w^)*eS zR;!Utr^)B@)M_=t;V}JvA4O3RMUl(POXBf3`}_Np%ViRY1l4L4QP*{B+a~kXpE!;~ zKA$HRi(#53mSu5!drPHKK~+`u_V&2Bx#3CPMAvm@W@Zrmem|O~A<81rFHX6;yJLHM zn?xePFOMHHlFOm%ItK>_G#U*ipPVrs3(#yfF-;TC@bEC5PKS}OKx9N>`0GD#i%(Hi z_1~^uua`ohz|(JAe4JEpdoGbk1VvHsoS&bwu&}_@QGkbFkVd1y$cRk4-DY|qAP54p zv$MSUIly~O!*Lv<(GZnN1y3T8;OOY+KQCG;mB?nZ7%yLPFU$O8npCS*48x#auLE## fae>e0(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<6G=otRCwBClg~>d2OPyeGn1K^Nit&+iKh9XR<{^XmMsC(t+3i2g6u)og+(aX zLwoWM@DRa6LF_-^tO+ZRQ(3RLhcVaQq*_r&99+cA3FTC6L z@g9%&gq4*Q&$29R+veZ5zP^sG>i`&r!RF>B>2&&ke`3GiC!f!w>pGcChRMlEmY0_q z8yjPGZu5)9dxCb8^C{07Jz|)0ov_0Z$5eRPl-&^L?{#r zo~CIu8V$19EX87xMx#MA8pZQG6h%Q4Mb6L9NhXu*?CemjR!OB&)a!LbUDvTJi`9-(AEp)DzDq0?Ls1lbr>CdP&CPLf5aN9}OsmymXh^2h>A-`# zumnM1W@d)BKZW>H)39xucsxR_R>PM{r8qb^_|HTul?wTMo>w!kkYyReFsRq-WHK3= j%_ab6XJ-Tg0sbBU?;IloLtnE400000NkvXXu0mjfv1Xm^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_lv_producer_off.png b/src/main/resources/assets/pccompat/textures/blocks/ue_lv_producer_off.png new file mode 100644 index 0000000000000000000000000000000000000000..06dd169eb943c21b15607b51bcac5ed103d435a2 GIT binary patch literal 900 zcmV-~1AF|5P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<3Q0skRCwBClR--(2LOe?nam_Q6O&9_j19>qQmZ*MP!HDhP((tB;-x5++^NsnaoTNE3&2U{NCfe z2Tv##i(aqS!!%9a#P;?!;cyrLUDw&!*&&%s{*NcQu1hYL13=R>E-x=hBod_4X`au_ z@GcOq*GZ*PWHK32sT7SygLphntyV*vnwkQj-EPxtHW9KFhEfh6h%RnW%@sT%2$sclg(zCpMOB5Qb9OAKK3RiCU6`F z+qRKqnR>m>=H@1%C;||TM%mxr$23in$s~^B;JPk`VIXOm#y4|w`~!Rlq#F%(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<3`s;mRCwBClg&>e2LQ!?Gt7X_ATZd7B~UQ6$YIHL4_3B4Yz%48cxf~-+fO~NF)Q?LOy|4#+Kw1tZT)OE>f=y{swb-%C*cf2K3^TI_H>OSB`Mu=5 zm-mEHspR$heN5Bj-`LvPA{-6_pzAu@+uJ0Q$^Y>r*LBI~^8jd?#>K@2i9~{QI!)$j z2C~q&*C3Tjk~W7zo8; z(F=t_bUGa(kqDcco0z6aG#bV8Jp6t?q9}59c82G9?Ck7dSr+MZns&R5u)eH#av71_QjzV;slf_wx~*?+aL#g{Z13i;Igio@F>a z9r4QW*xlVFkw~!ee1)P|BpeR2zrT-P^z+N9#ZUXQOixdv>pEg25&>X!brrKwz_neL zmX=Ty1w=r&EmPNZ{72f^FOI-fdZe zAdt)DXqP``ZEX#JUayC)>qv=2g5%@k|6H_Mt&-2@spKlivW%|lwA*cL+vecl;Ep#w cKF;d_0Jai3@Lj@9xBvhE07*qoM6N<$g7S}>p#T5? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_mv_consumer_off.png b/src/main/resources/assets/pccompat/textures/blocks/ue_mv_consumer_off.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0317be843d90254b7515a135b1c8e72fd1589e GIT binary patch literal 895 zcmV-_1AzRAP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<1xZ9fRCwBClR-!$2NZ_CnPd`YVrERVQAsk1Xu*J?SOl}wqG1m~mLe+%?#27= zdGQcIJXE~w)mv{pc-dVj?4i)zGYe1w$10Yy}ga5X#g08!S3!Z(P;F4ePXZIBb7>_X&Sn&Gcz;8`uaNY zc${Ar7ilamGBGhhEEYpmRf54FmSvGnr;%kD_texBg+hU^pFaoS3*hJb_gPt4!2-Sn znw<`XLV@pVH5?!W{FYAt;m>5ua@`QG~&Dz=;p-_mgN+q1PZ*jR??C;NXC(t1GhkJesC4H#djq^Z8I!l_6mH=~HfQZrIt`Argu3 z>%Du7Win`*#?jFc&1RGDUc5jDTCEm_Vc;Ga8R7Q!ma)Mb2VcJA_s5S>6y@Jty?}-6jV03g8kH>@i{QR7yr6o=uKE&_$(`+^wlO(#`F0%sxK@dnLlN{fJ=X)i9Za3N~MCX>(uLY04^>rkY$;_2LQ?z VA8QLwz=Qw*002ovPDHLkV1fqekAVOH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_mv_consumer_on.png b/src/main/resources/assets/pccompat/textures/blocks/ue_mv_consumer_on.png new file mode 100644 index 0000000000000000000000000000000000000000..14bbfc8b774030574106a12ef898996bc45c6c89 GIT binary patch literal 894 zcmV-^1A+XBP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<1W80eRCwBClR-!u2^5CEnPetrVrES2MkUEa(OnEErHf$P6*SvJkg`Z!3hu>w zdoCU#h=&y~y?WbQ4_<0dEv!(gki%kV*wQ8-G$AMw$^YGGLx|DMgwO*Bmdz%UH9x3`JMVg&~=@usVUah))*fj zXZ~=W`O-Y2qoX7e2~<@j91hcJwMeJa`2Bvo6B82@3I)D@`4WI{fIl8SWO;cRTEKVU zI1YtEf!}I1IzR;YGo9`^C>D!|qKF9m2wd*$FgG`cX__z%xIL@MWRmCi?-K)tfO@@- zWm$;9V35JVK@vdW*)we0W_5LyNF+k(rxG8u4|qHtc6WF2`~Cd>=n(+At}`++g0Qi% z;YOoTYPA~E)6=Z1tRTxWr>CdbwvD1FD2jq4NkpSjve_)*aG1%-Nls2q5RQ(H+(;xs zr_-U`ZX-z&`Fx(QPoCfbJb(a<9v)&@7V&tTPNze++r>0ZyrEEtd(ZEI1N;D`yCpmx z4^m&~@2{$=IF7^8>m{&zf#t?>cm+X#U;3{+VB0oS{B-iM$I z-pk8N-s|si9EZ+rhtFR=69@$O0{Hr30T>t+vDo$iflfQrfJN~%pe8=0aR6G09bnQf}5Kgwzjs2#bP{o z{eX;^LDMu24i0EE8vOj~6*|ytHZcqX@6gZ?x3{<4>0=yz^M=2kK1ER!5PJdmWFNU) zj-5}RNC0hMcz76DmhqmQow2yM$jRf!1cN~ujRtoliFUgU-}b^11cBMvS&kMKP*oMn zvWSF2l*?tju~>}bXN~L%^`xZ%(FbsoArGl>O)a!Ks&d<;B`~Cbq0H9qQ Ub3XUOHUIzs07*qoM6N<$g4&>v-~a#s literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_mv_producer_off.png b/src/main/resources/assets/pccompat/textures/blocks/ue_mv_producer_off.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6cf3528b075d5020b03b5bd269ebd716d558a0 GIT binary patch literal 890 zcmV-=1BLvFP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<07*naRCwBClR-!u2^5CEnam_Q8Iw#9b;G2I;8qWY;zDaKMQjRDdMH(dT$WO3 zj~*7pqx4kFu|23D^tP8>P?pt$w8XGkA!ILQYaq*#i@K2!99c;+&5V=Tiz_Yt&)@rb z|Kt5aE|>FKtrnJL@wt|lmkEc%02qeB%E}7yc>F6)>UO)N(`f)SP2=R`1YOrjCX@Vh z`!?f1tWqJ7NH8`wMk0}*TCEa`#VD7{h{MCf05lp6YPA~Qy?VvY&JI^sSG0g{0o%4I zm&@exdA7H=iN#`Qng)P)cz6iF=;$clzj?z6pePEaX_ESE)let|z{(XkqI6FI|@9|?AfDF8U@q%`{jpX7XbIilQLPGQYii$@=;_sZ@%){rwb+MTEV*J#S!O0M~VK z90ysJsZ=T~E-oU9A^_27l(n@rEXyJukK?*7-EJ4tG?6q-d{ZhR34*`^;JeQDZ>K{r7z7{?2+-Hphad<90s%bFV**HC z-^v7})6-LKefU7jwsBpT=J`3nU=USRQ4|G15D-O?o}M0>%_gajAL(8jbWIZ>o6UNm zP>4pOK_n7kX=w?|vWP~bc%Fyf??)6xj*gD-Jdf4YRczZPnM_iz*O9{EFs5np!@&Uw z;Gf-H%(riG90y5~kR*xA%S+nrHj_`EvI+bJ?B2P<`1m+tFc@TddYX-g5BU=~2lDwm zx~_BZ=n?(dEa7mN&CN~xz#qWcg9i)^4Ph7tVk8m)U~X=X-=96B1I*0KpeV{s)<7VD zVHo@k{Fup*$z)JfmBGP5#9FNez{SM{BO@d1FD#%a3XbD2_Wx%J0;yDrpPxTxetsT+ zX0wT57)ZLVv%kOpMMaCnBI$IRTZIB`S?0_zsMqT_j>Fd0)(zL&+sl6g05HiVl)#4J QJpcdz07*qoM6N<$f_WQ{jQ{`u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/pccompat/textures/blocks/ue_mv_producer_on.png b/src/main/resources/assets/pccompat/textures/blocks/ue_mv_producer_on.png new file mode 100644 index 0000000000000000000000000000000000000000..b716687c5bcf68ba0b1b5af391e3681a5df0db9e GIT binary patch literal 893 zcmV-@1A_dCP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<14%?dRCwBClR-!$2NZ_Cnam_Q88ex%s0~RI!DWb9{VEEEXe~ zOfvDq1f-xgRU?r|kV>UUBofr?b)wNI)oK-SY-|jGR;xv$(csIMFWKGQ{LUFB}f@_2woQ*LMl8UNJvEkK;JFu1lxW;q>&Bp$89W0W$FG^XGKCT_nHX zkFM+d^6()(pO2ZD8RoNDDwPVoUJpf4P!t7Omig_)3pO@3NT<_$b?X-8av5Q7Z_gVZ z9>#TD9LGVHWooq=OG`_Lq6k1F5@CIP9m}$a$K$xJOTXX8G)*L3*SY=UZLooFp*~&5 z=kwi|RaHfnWkR74wrz8#cn5mGcToAPf+Pq6ECRl(?e%&DgFyfSfdE58LkNOEAP~Uw zJeUTO*JbrVIypJv{patoZ5#K}G@A_D^hwA*byeDmQ3BGWVx za=Dxr3WaF3T7<)4mY0{YEQ?4ag6Dbo{eDDIMNvQm zgsU