From a8deba13b098b69c36951b3a0b290e009f9d14f5 Mon Sep 17 00:00:00 2001 From: Matt Caughey Date: Sun, 27 Oct 2013 19:20:07 -0400 Subject: [PATCH] Removed the Hellish Hive biome, added textures for things --- common/biomesoplenty/api/Biomes.java | 1 - .../biomes/BiomeDecoratorBOP.java | 13 +++++ .../biomes/nether/BiomeGenNetherBase.java | 1 + .../biomes/nether/BiomeGenNetherBlood.java | 1 + .../biomes/nether/BiomeGenNetherBone.java | 1 + .../biomes/nether/BiomeGenNetherDesert.java | 1 + .../biomes/nether/BiomeGenNetherGarden.java | 1 + .../biomes/nether/BiomeGenNetherHive.java | 51 ------------------ .../biomes/nether/BiomeGenNetherLava.java | 1 + .../configuration/BOPBiomes.java | 3 -- .../configfile/BOPConfigurationBiomeGen.java | 2 - .../configfile/BOPConfigurationIDs.java | 2 - .../world/WorldProviderBOPhell.java | 2 +- .../world/layer/BiomeLayerBiomes.java | 7 --- .../biomesoplenty/worldgen/WorldGenHive.java | 9 ++-- .../biomesoplenty/textures/blocks/hive.png | Bin 663 -> 697 bytes .../biomesoplenty/textures/blocks/hivealt.png | Bin 0 -> 663 bytes .../textures/blocks/honey_flowing.png | Bin 0 -> 4092 bytes .../textures/blocks/honey_flowing.png.mcmeta | 5 ++ .../textures/blocks/honey_still.png | Bin 0 -> 4739 bytes .../textures/blocks/honey_still.png.mcmeta | 45 ++++++++++++++++ .../biomesoplenty/textures/mobs/wasp.png | Bin 2614 -> 2614 bytes 22 files changed, 73 insertions(+), 73 deletions(-) delete mode 100644 common/biomesoplenty/biomes/nether/BiomeGenNetherHive.java create mode 100644 resources/assets/biomesoplenty/textures/blocks/hivealt.png create mode 100644 resources/assets/biomesoplenty/textures/blocks/honey_flowing.png create mode 100644 resources/assets/biomesoplenty/textures/blocks/honey_flowing.png.mcmeta create mode 100644 resources/assets/biomesoplenty/textures/blocks/honey_still.png create mode 100644 resources/assets/biomesoplenty/textures/blocks/honey_still.png.mcmeta diff --git a/common/biomesoplenty/api/Biomes.java b/common/biomesoplenty/api/Biomes.java index aa6f4bdfb..90dcf5a29 100644 --- a/common/biomesoplenty/api/Biomes.java +++ b/common/biomesoplenty/api/Biomes.java @@ -70,7 +70,6 @@ public class Biomes public static Optional netherLava = Optional.absent(); public static Optional netherBone = Optional.absent(); public static Optional netherBlood = Optional.absent(); - public static Optional netherHive = Optional.absent(); public static Optional oasis = Optional.absent(); diff --git a/common/biomesoplenty/biomes/BiomeDecoratorBOP.java b/common/biomesoplenty/biomes/BiomeDecoratorBOP.java index 82700beca..73f91501b 100644 --- a/common/biomesoplenty/biomes/BiomeDecoratorBOP.java +++ b/common/biomesoplenty/biomes/BiomeDecoratorBOP.java @@ -73,6 +73,7 @@ import biomesoplenty.worldgen.WorldGenGrave; import biomesoplenty.worldgen.WorldGenGravel; import biomesoplenty.worldgen.WorldGenHighCattail; import biomesoplenty.worldgen.WorldGenHighGrass; +import biomesoplenty.worldgen.WorldGenHive; import biomesoplenty.worldgen.WorldGenKelp; import biomesoplenty.worldgen.WorldGenLilyflower; import biomesoplenty.worldgen.WorldGenMelon; @@ -239,6 +240,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator public WorldGenerator icyIrisGen; public WorldGenerator redwoodShrubGen; public WorldGenerator koruGen; + public WorldGenerator waspHiveGen; public WorldGenerator boneSpineGen; public WorldGenerator boneSpine2Gen; @@ -338,6 +340,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator public int waterReedsPerChunk; public int redwoodShrubsPerChunk; public int koruPerChunk; + public int waspHivesPerChunk; public int boneSpinesPerChunk; public int boneSpines2PerChunk; @@ -519,6 +522,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator kelpGen = new WorldGenKelp(false); shortKelpGen = new WorldGenShortKelp(false); graveGen = new WorldGenGrave(); + waspHiveGen = new WorldGenHive(); mushroomBrownGen = new WorldGenBOPFlowers(Block.mushroomBrown.blockID, 0); mushroomRedGen = new WorldGenBOPFlowers(Block.mushroomRed.blockID, 0); flatMushroomGen = new WorldGenBOPFlowers(Blocks.mushrooms.get().blockID, 4); @@ -641,6 +645,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator waterReedsPerChunk = 0; redwoodShrubsPerChunk = 0; koruPerChunk = 0; + waspHivesPerChunk = 0; generateLakes = true; generateAsh = false; generateMycelium = false; @@ -1323,6 +1328,14 @@ public class BiomeDecoratorBOP extends BiomeDecorator koruGen.generate(currentWorld, randomGenerator, var3, var4, var5); } + for (var2 = 0; var2 < waspHivesPerChunk; ++var2) + { + var3 = chunk_X + randomGenerator.nextInt(16) + 8; + var4 = randomGenerator.nextInt(64)+50; + var5 = chunk_Z + randomGenerator.nextInt(16) + 8; + waspHiveGen.generate(currentWorld, randomGenerator, var3, var4, var5); + } + for (var2 = 0; var2 < wheatGrassPerChunk; ++var2) { var3 = chunk_X + randomGenerator.nextInt(16) + 8; diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherBase.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherBase.java index 421995690..d00e03482 100644 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherBase.java +++ b/common/biomesoplenty/biomes/nether/BiomeGenNetherBase.java @@ -21,6 +21,7 @@ public class BiomeGenNetherBase extends BiomeGenBase fillerBlock = (byte)Block.netherrack.blockID; customBiomeDecorator.gravesPerChunk = 1; customBiomeDecorator.burningBlossomsPerChunk = 1; + customBiomeDecorator.waspHivesPerChunk = 1; spawnableMonsterList.clear(); spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherBlood.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherBlood.java index 609c4a62f..5a280e2ff 100644 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherBlood.java +++ b/common/biomesoplenty/biomes/nether/BiomeGenNetherBlood.java @@ -21,6 +21,7 @@ public class BiomeGenNetherBlood extends BiomeGenBase topBlock = (byte)Blocks.flesh.get().blockID; fillerBlock = (byte)Blocks.flesh.get().blockID; customBiomeDecorator.gravesPerChunk = 1; + customBiomeDecorator.waspHivesPerChunk = 1; spawnableMonsterList.clear(); spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherBone.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherBone.java index 554a7c201..2753cba5b 100644 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherBone.java +++ b/common/biomesoplenty/biomes/nether/BiomeGenNetherBone.java @@ -22,6 +22,7 @@ public class BiomeGenNetherBone extends BiomeGenBase customBiomeDecorator.boneSpinesPerChunk = 6; customBiomeDecorator.boneSpines2PerChunk = 9; customBiomeDecorator.gravesPerChunk = 1; + customBiomeDecorator.waspHivesPerChunk = 1; spawnableMonsterList.clear(); spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherDesert.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherDesert.java index c1717f36e..b41fbb64b 100644 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherDesert.java +++ b/common/biomesoplenty/biomes/nether/BiomeGenNetherDesert.java @@ -21,6 +21,7 @@ public class BiomeGenNetherDesert extends BiomeGenBase fillerBlock = (byte)Block.slowSand.blockID; customBiomeDecorator.thornsPerChunk = 10; customBiomeDecorator.gravesPerChunk = 1; + customBiomeDecorator.waspHivesPerChunk = 1; spawnableMonsterList.clear(); spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherGarden.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherGarden.java index ff7e0b1e6..eb088fbc8 100644 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherGarden.java +++ b/common/biomesoplenty/biomes/nether/BiomeGenNetherGarden.java @@ -33,6 +33,7 @@ public class BiomeGenNetherGarden extends BiomeGenBase customBiomeDecorator.toadstoolsPerChunk = 5; customBiomeDecorator.gravesPerChunk = 1; customBiomeDecorator.burningBlossomsPerChunk = 8; + customBiomeDecorator.waspHivesPerChunk = 1; spawnableMonsterList.clear(); spawnableCreatureList.clear(); spawnableWaterCreatureList.clear(); diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherHive.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherHive.java deleted file mode 100644 index df3235929..000000000 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherHive.java +++ /dev/null @@ -1,51 +0,0 @@ -package biomesoplenty.biomes.nether; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.monster.EntityMagmaCube; -import net.minecraft.entity.monster.EntityPigZombie; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; -import biomesoplenty.api.Blocks; -import biomesoplenty.biomes.BiomeDecoratorBOP; -import biomesoplenty.worldgen.WorldGenHive; - -public class BiomeGenNetherHive extends BiomeGenBase -{ - private BiomeDecoratorBOP customBiomeDecorator; - - public BiomeGenNetherHive(int par1) - { - super(par1); - theBiomeDecorator = new BiomeDecoratorBOP(this); - customBiomeDecorator = (BiomeDecoratorBOP)theBiomeDecorator; - topBlock = (byte)Block.netherrack.blockID; - fillerBlock = (byte)Block.netherrack.blockID; - spawnableMonsterList.clear(); - spawnableCreatureList.clear(); - spawnableWaterCreatureList.clear(); - spawnableCaveCreatureList.clear(); - customBiomeDecorator.generateHive = true; - spawnableMonsterList.add(new SpawnListEntry(EntityGhast.class, 50, 4, 4)); - spawnableMonsterList.add(new SpawnListEntry(EntityPigZombie.class, 100, 4, 4)); - spawnableMonsterList.add(new SpawnListEntry(EntityMagmaCube.class, 1, 4, 4)); - } - - @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) - { - super.decorate(par1World, par2Random, par3, par4); - - if (par2Random.nextInt(2) == 0) - { - int var5 = par3 + par2Random.nextInt(16) + 8; - int var99 = par2Random.nextInt(128); - int var6 = par4 + par2Random.nextInt(16) + 8; - WorldGenHive var7 = new WorldGenHive(); - var7.generate(par1World, par2Random, var5, var99, var6); - } - } -} diff --git a/common/biomesoplenty/biomes/nether/BiomeGenNetherLava.java b/common/biomesoplenty/biomes/nether/BiomeGenNetherLava.java index 72cb9b212..1f9f9aa89 100644 --- a/common/biomesoplenty/biomes/nether/BiomeGenNetherLava.java +++ b/common/biomesoplenty/biomes/nether/BiomeGenNetherLava.java @@ -31,6 +31,7 @@ public class BiomeGenNetherLava extends BiomeGenBase customBiomeDecorator.smolderingGrassPerChunk = 2; customBiomeDecorator.gravesPerChunk = 1; customBiomeDecorator.burningBlossomsPerChunk = 4; + customBiomeDecorator.waspHivesPerChunk = 1; customBiomeDecorator.generateAsh = true; spawnableMonsterList.clear(); spawnableCreatureList.clear(); diff --git a/common/biomesoplenty/configuration/BOPBiomes.java b/common/biomesoplenty/configuration/BOPBiomes.java index c19044421..ce131cc99 100644 --- a/common/biomesoplenty/configuration/BOPBiomes.java +++ b/common/biomesoplenty/configuration/BOPBiomes.java @@ -108,7 +108,6 @@ import biomesoplenty.biomes.nether.BiomeGenNetherBlood; import biomesoplenty.biomes.nether.BiomeGenNetherBone; import biomesoplenty.biomes.nether.BiomeGenNetherDesert; import biomesoplenty.biomes.nether.BiomeGenNetherGarden; -import biomesoplenty.biomes.nether.BiomeGenNetherHive; import biomesoplenty.biomes.nether.BiomeGenNetherLava; import biomesoplenty.biomes.ocean.BiomeGenOceanAbyss; import biomesoplenty.biomes.ocean.BiomeGenOceanCoral; @@ -242,7 +241,6 @@ public class BOPBiomes { Biomes.netherLava = Optional.of((new BiomeGenNetherLava(BOPConfigurationIDs.netherLavaID)).setColor(16711680).setBiomeName("Phantasmagoric Inferno").setDisableRain().setTemperatureRainfall(2.0F, 0.0F)); Biomes.netherBone = Optional.of((new BiomeGenNetherBone(BOPConfigurationIDs.netherBoneID)).setColor(16711680).setBiomeName("Boneyard").setDisableRain().setTemperatureRainfall(2.0F, 0.0F)); Biomes.netherBlood = Optional.of((new BiomeGenNetherBlood(BOPConfigurationIDs.netherBloodID)).setColor(16711680).setBiomeName("Bloody Heap").setDisableRain().setTemperatureRainfall(2.0F, 0.0F)); - Biomes.netherHive = Optional.of((new BiomeGenNetherHive(BOPConfigurationIDs.netherHiveID)).setColor(16711680).setBiomeName("Hellish Hive").setDisableRain().setTemperatureRainfall(2.0F, 0.0F)); Biomes.oasis = Optional.of((new BiomeGenOasis(BOPConfigurationIDs.oasisID)).setColor(16421912).setBiomeName("Oasis").setTemperatureRainfall(0.9F, 0.7F).setMinMaxHeight(0.3F, 0.4F)); @@ -385,7 +383,6 @@ public class BOPBiomes { BiomeDictionary.registerBiomeType(Biomes.netherLava.get(), Type.NETHER); BiomeDictionary.registerBiomeType(Biomes.netherBone.get(), Type.NETHER, Type.WASTELAND); BiomeDictionary.registerBiomeType(Biomes.netherBlood.get(), Type.NETHER); - BiomeDictionary.registerBiomeType(Biomes.netherHive.get(), Type.NETHER); BiomeDictionary.registerBiomeType(Biomes.oasis.get(), Type.DESERT, Type.JUNGLE); diff --git a/common/biomesoplenty/configuration/configfile/BOPConfigurationBiomeGen.java b/common/biomesoplenty/configuration/configfile/BOPConfigurationBiomeGen.java index 7e327bc34..dc51b41df 100644 --- a/common/biomesoplenty/configuration/configfile/BOPConfigurationBiomeGen.java +++ b/common/biomesoplenty/configuration/configfile/BOPConfigurationBiomeGen.java @@ -107,7 +107,6 @@ public class BOPConfigurationBiomeGen public static boolean phantasmagoricInfernoGen; public static boolean boneyardGen; public static boolean bloodyHeapGen; - public static boolean hellishHiveGen; // Beach variations public static boolean gravelBeachGen; @@ -223,7 +222,6 @@ public class BOPConfigurationBiomeGen phantasmagoricInfernoGen = config.get("Nether Biomes To Generate", "PhantasmagoricInferno", true).getBoolean(true); boneyardGen = config.get("Nether Biomes To Generate", "Boneyard", true).getBoolean(true); bloodyHeapGen = config.get("Nether Biomes To Generate", "BloodyHeap", true).getBoolean(true); - hellishHiveGen = config.get("Nether Biomes To Generate", "HellishHive", true).getBoolean(true); // Beach variations gravelBeachGen = config.get("Beach Variations To Generate", "Gravel Beach", true).getBoolean(true); diff --git a/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java b/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java index 3c785e019..2410f8b64 100644 --- a/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java +++ b/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java @@ -219,7 +219,6 @@ public class BOPConfigurationIDs public static int netherLavaID; public static int netherBoneID; public static int netherBloodID; - public static int netherHiveID; public static int oasisID; @@ -481,7 +480,6 @@ public class BOPConfigurationIDs //23-79 ExtraBiomesXL - netherHiveID = config.get("Biome IDs", "Hellish Hive (Nether) ID", 29).getInt(); netherBloodID = config.get("Biome IDs", "Bloody Heap (Nether) ID", 30).getInt(); lavenderFieldsID = config.get("Biome IDs", "Lavender Fields ID", 31).getInt(); diff --git a/common/biomesoplenty/world/WorldProviderBOPhell.java b/common/biomesoplenty/world/WorldProviderBOPhell.java index 49716ac7a..fbea88e6f 100644 --- a/common/biomesoplenty/world/WorldProviderBOPhell.java +++ b/common/biomesoplenty/world/WorldProviderBOPhell.java @@ -10,7 +10,7 @@ public class WorldProviderBOPhell extends WorldProviderHell @Override public void registerWorldChunkManager() { - if (Biomes.netherGarden.isPresent() || Biomes.netherDesert.isPresent() || Biomes.netherLava.isPresent() || Biomes.netherBone.isPresent() || Biomes.netherBlood.isPresent() || Biomes.netherHive.isPresent()) + if (Biomes.netherGarden.isPresent() || Biomes.netherDesert.isPresent() || Biomes.netherLava.isPresent() || Biomes.netherBone.isPresent() || Biomes.netherBlood.isPresent()) { this.worldChunkMgr = new WorldChunkManagerBOPhell(worldObj); } diff --git a/common/biomesoplenty/world/layer/BiomeLayerBiomes.java b/common/biomesoplenty/world/layer/BiomeLayerBiomes.java index f4a66efbf..efac359fd 100644 --- a/common/biomesoplenty/world/layer/BiomeLayerBiomes.java +++ b/common/biomesoplenty/world/layer/BiomeLayerBiomes.java @@ -90,13 +90,6 @@ public class BiomeLayerBiomes extends BiomeLayer netherBiomes.add(Biomes.netherBlood.get()); } } - if (Biomes.netherHive.isPresent()) - { - if (BOPConfigurationBiomeGen.hellishHiveGen) - { - netherBiomes.add(Biomes.netherHive.get()); - } - } if (Biomes.netherBiomes.size() > 0) { netherBiomes.addAll(Biomes.netherBiomes); diff --git a/common/biomesoplenty/worldgen/WorldGenHive.java b/common/biomesoplenty/worldgen/WorldGenHive.java index 76e2338e9..55130b59b 100644 --- a/common/biomesoplenty/worldgen/WorldGenHive.java +++ b/common/biomesoplenty/worldgen/WorldGenHive.java @@ -19,12 +19,9 @@ public class WorldGenHive extends WorldGenerator int baseWidth = 4 + rand.nextInt(2); int baseHeight = 8 + rand.nextInt(2); - if (world.getBlockId(x, y + 3, z) != Block.netherrack.blockID) + if (world.getBlockId(x, y + 3, z) != Block.netherrack.blockID || !world.isAirBlock(x, y + 2, z)) { - if (!world.isAirBlock(x, y + 2, z)) - { - return false; - } + return false; } for (int cubeno = 0; cubeno < 3; cubeno++) @@ -42,7 +39,7 @@ public class WorldGenHive extends WorldGenerator break; case 2: - chance = 0.75F; + chance = 0.5F; break; } diff --git a/resources/assets/biomesoplenty/textures/blocks/hive.png b/resources/assets/biomesoplenty/textures/blocks/hive.png index 07ddc537e30cbbd56d46d96331900403eaecb0e3..37f1e1be3851b5b2f9eafe519a8b54961bc9db74 100644 GIT binary patch delta 611 zcmV-p0-XJq1-S)~JPN@801m+cxRGn^kwz(hHAzH4R5(vflG#sFVGzadf5C%>CLtx6Q^1U70>{HWoHRgnh3r{$0l|VRV>6*;C@_ zhD61(Cz!1sUfg2K3Sq?ujY)6Yb+220cQ6p3sycgKQ^7K*KZo+VDv}iHdX8%v3RX%F zvi;`e9KdOq|Gsm#yC_^{j-6WPD%k)*E%<-Mmu~II$yMr2jx74vtrs?6TOlaCL6Q&d zh@RiW`MoE?Mk`l8a-;|wdE|WsHMvX2?0Qo7FC;ikVfBVkS=Xvx*mpYpxhvg&l^*~b zqtN4>ELK+n-f4)xiOM>LF6(03>&u{uOYQ#ie0d5Ezu(~9{kHG^-dVDFh`CuUC zl2HqYFk9G6#{^+x5mb8LIkOQ-Gf%B*0TSzs5w&?5nsJI!T>zi%LkpORFszt77l-SP z!%M34{@2RF6%1sZ1(yYoJPN`901mq^a~orAnX%g1OPf=18#9(=Dx#*i5^Gv%A*rPF z0{Ozgf50>D_z_&j`5n%^&$;K0{fb>r&gr5S$@`#kBU1PK)r}6>kr%DPclN?btJu|l zTF~E7^4VAY)n5}fmHY1(vdy7-n^GXiJcOF`eNe$zP{00Ot@gZ$Cd=g%8mb0#F$KmSJ^NXhX zld$;FRqBfK8I8r0>{ zn^OcrS58NZjZgi6k6p{9A*d$6mFc%1cru_~AF z-h>86OgG>fq(;Fyk*I%fZ*zFsb{@Z}2B58%4Wx!w9Dx)#(UP}{Fjm_CVgz8j<7$T{ zzq?6@VTc0p<1=_C3vc2Y_(#N_l;G-~W`R|a@uoA6VPl#B>xMc$VeE}C2qQ*K>0x>w z2T1RL8a1Bg@Q5Lw!#iUtQlk(oX1Zanrx*zmh8e_47%S~3I!TSgC)|<)@{c4xli^dr P00000NkvXXu0mjfC|@3N diff --git a/resources/assets/biomesoplenty/textures/blocks/hivealt.png b/resources/assets/biomesoplenty/textures/blocks/hivealt.png new file mode 100644 index 0000000000000000000000000000000000000000..07ddc537e30cbbd56d46d96331900403eaecb0e3 GIT binary patch literal 663 zcmV;I0%-k-P)N2bPDNB8 zb~7$DE-^7j^FlWO00I+9L_t(IPfb$oOVeQ#eg1~N^r4WLuEH;~2};RYnJ9`j71tzI zHl=LkMiZSaGNyAIV{MtS+S*H-Q*j$JmSrlUrnnMoT4^Dvr1S#$!oYvPGw%2iT*mnw z&b`mM=Z^h~T~E&Gq87>fpmHNp_xsh24%v|xt-^Qq!bz*x)mqTsQS#YW{ncL+HkJGD z7qZQvdYe)p$UKCa?JhFOkG9MBsPBEXefnbJ|GvKIxqFr{LpLGR>cC}Eqy7vxa{Nl~ zB@Q!8B?NWCEg|&>N9kJV3h^OrHhdCZaF(;KYsca0)ANg_`jfEu(N*zdQ0{IM>E*m} za{;!pH5~J`oPuBfK8I8r0>{n^OcrS58NZjZgi6k6p{9A*d$6mFc%1dIDwpuyga$`UH{cqiM!`CfsDE#7 zb9mZz9>1vupskk;q=r`VR|12Nbi6eHJ;}1h#{ZDJ7X$R xqY!4gVXmhb2@-}G#7Y<|?I$`(jl(D0k^}OOBtMhkQ^5cL002ovPDHLkV1nQfF3kV{ literal 0 HcmV?d00001 diff --git a/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png b/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png new file mode 100644 index 0000000000000000000000000000000000000000..87ca3ba692f1b05a55526ccac394dd0870759cc5 GIT binary patch literal 4092 zcmeHK`9Bog_n%g4$P%V0%S4fFnvofm9%6`5j4fqoOw)u%jIFYUNqGz^>tyVVB@{7s z9!ryTvPGGRWEm13+gQSUrtjzZ8@@k%?(215=ic)=uY1qy-1m8(bEB=UnH~`a3IhOu zBUjCg(R`^00PF_{9^kKrQZl~q#XeuOsS%)z37X??4iXG44FQ1ic#$3KApqb2zzSt+ zGFpjYS2~T+ohE9XIrW(7I_J3t%wmhv;@_C%7ANj|r%eWCyYuF+4rgBPt-W3+UJr)% z@iwpDmDi8w_21(Sxbp@)c|%0rrvTpYBi={|?{g^c^JCtZDBkEZ9_ue2JC?_e=Zz)s z#u9nsDZFp5b|=$zCvte-vvwzGyHmx#X6e7?YWeQ{Z~QL;|Njx#m=bu-zg5WF%+VJB z5Rv>n_YHgv-Qg>NekM2kY`pIJJ;3_l0ajSI`+i#2Ol%bcpjx_G5Qyojksbgb>T=cC z(DtG8LK-WO1+PF_oMIB5ODmaI;4h^6y`*e}HSJz8uj~C0^VRoFTCiiqL%`c-#W?`U zNyX``9Y0GXI~2w=b{9s!3aGV5sK423sR-e9pfyrXiA92VEvLG>yEUGin+(6h*hlVc zS1WEgc0nvM^Z}T#5^#}xj_D(ZOgHV6FNK5h9ta7Ty%sw_Xw?&Fym=Z))OUzcU8Hyy z~ZpfVDVsSoio?<#kK50*;% zb=?RJU9YL*eM9N)IC*o<$rSXhby23)#-UBc4QJ_kkD;;d{Q~)Z-q&PHk1?++WElJm zejZpJN!P#W@!CO(qeYfzeP5UVO*;&P7&NriPV!>emrB@stJXF&Bi&{+vmdAgK7~*o zF9jG*c|Y$bQ-vH>g~3ZYO*1O@n9`-v=V0KuZ+&vI^1MaH3S#NJtYdby7!ab$MkvkGK;2 z9hD*>&Cm@F@ojwchUz9fUJODyM#$tQCP5b`J_vEp%)_4Kx7197iy@mmrv^sW_rkdh z6C5I;GUj-Cb-#P{K|92iRBNH*MxJiw1tVRxB9nQ{f?+iMo*sccHT^v={noh}*#2X< z&9`NbenxzYms4U&2d@~tnuU-L=lIaFl58Z5|B#qQ@m<%sKdS3>*e$W2sw8@nl;^ST zdUHQA0TOFvWm=SXbh^T>jS^LN!$l;gq;I}bm?@a??&AV}MeR7gAHX0j{jg2p2KvmV zdQYJWW{Ega@WdpffJG3Hi0#)45i;?gs z5&q=P%wvDYcMN+>j^qh*p6Vcy{7{~V3}J$PM_zs@%LnDV^apdcknT1|JA}C3j9?~y zg>6~iX0+{i#ZI6;5l}^4rlPqw3!6zh+kI-FhBvpe?kz~&DAF2sBY1wr(bXps25$Vb_&YC!3pJt zHNJ`6hf7TGl~&2lv0k<{nPNYI6f@O&=PE2W!MG`(XQ0q8G_|S-w^ZoWc#_7L#n75fITU^{XDi897AZ9C!s!bUr>tV+ zI=(R93GaL96Qy(b0nF9av@t%93O!;_s}lqhrw3r=2Jc;QcBbDbOG}X1I)gJhyckzH z?0WP`hqaE3c!WBN~jkEihYWdxy7+=+J zU-K6p>h|EL#%I{jUIrpD3b_&Fuz42OQ+d)vBd)Cz?-p9b%(-eBJT(}B-7xE4JAE#P#rN?_@}#<<%o9m z8IFAI&y3$`@_9?g%fvKZBc>|pqEe+vZkbLJ}mHhZ4V`G zw#EQiD3)(o?yb7uK?;^I?wZz>XWr?iz9&tRdq$$x;+8RTzN7BUIhO33g9M=I9hXP- zB&)Hw8ZCm6|0|@m`Wsg=w)D-kTO1S z0>$l9Q0DETiLMZB>QXBR>AxG;^8V-x#1*-xJP^s;+#@ysLNnYxgTqxTLmU?9fa^e>nOZ`YBr0P|tUiY-rr%|e{NJ!Z&qQ8nVa1U0e3j~X;A zvoa7S8nHIi^T`RG;NLHdwdG}n6#WIQg~?V`I!`CDgotrOS;nhwywT3~)>jac2@^B> zHL(7}X=}8vlPZKJMHY6-aDHjurOpkFQ%@)gGOTi(W>AC}CCKv<5m&8oxQ*S`C5v}i z;>6wU7Cz$)&4#g)wK_)O<4=^()e3qStI>{33C5%v7+c(m@n725S(}(^V+!<~L3Tvy zT$LY;(PjvqF-VrF#!TX(u%fxfjlr0yoz}u!l%v?h9_?l@^K_`-JEd0A+OGKN zQykNFHI4;&I%MHMyWCOJM8iB_jIYGOqlAw`#$NibhQOlADumIJPhlo<)gj)Y>8yEJD*I8 zbZ9LHGvf;z|AID&w51}m=jU*`>#U%}4<yhBMLv9WoiCK~EK z)^~ckd_%)rW2hlW^+XDpJ7zO9_woo~;E`Aka|5{HBb~f@32*1|8j-JE{rG7VBqN3l z-0;)NZ&=gYrV3$8xWH;@kD$N0D90j~`A61x=0geYg~TV4Gg@Z%wW(_I&AVkp>pK~U zjaLr2j9r`s_~foWF?9Q%H7qCcWYivd%CmPj-|Q+s*=R`5QGdI!`46{-KcZ%3$-+&b z{-!347|4;bO`QvBxw^H@cswe186R?~*027dX68d{R8MNSQ8k+TT*n zb>c3wvR%ln1a#t{PQMECPODmr|C1ouDwDR_W`FV2-E^q>pU?pvhQwW%yED3IZk>EF z0jlg}jk|ci%4m&WDUEvI!t(B#z;H1&U0kt#``)i0)17(5V1)5;;xISmPEOfzf;yvg zapYD&k?Z7tk@d7>J@5TeCZ63|+uXMp5}JNd%nIV&Bm!pF>XE zsS;FX5iLK7fZ+)m1-(YuU}Gcw*k_dl;m{16i`(b%stv0ToBu8JT6Fu97B=DoxGedl zl;RAFDN!s*rg?-OWGumm&o3UK4-xuQbYfFAQ61rO^I~ z<98c%EBmXC<0RLE+G-aql1d$tSMSfQ^dxINSZrNW(a+A1xJzfXZTVuV+ z@6JrU)9Czy@KJMJFe3c+zkF32%;u)yxhU1JQIOP7N3BDdHlP+m^d%EL{7i}Kri`wH3A6fa0v2jo&;^GaGvGf3$D1Q06T+(`FKX{?u>8Z`F4Q$s z+&5e3^NakhI+Jge^J8Y`vgi2l4=#tZz%;x}~B1!r&j@27ySPQIh^sp_8=# z3J|Z2x`7S|_(B~VUtzgik63B6SZ_pZHX}BgEVfz@+pQLR?eM)e#GelMpYMo+ z4)|dg;%^t?xEp@nYkr19T=bh=_E}u@Bd!MFz_9uCFdP^{06*Zshy^fW35;3+W7fd9 z6)^fAFlGyk+5uw@z_=qY?gWfG1LH2hq#H2l4orFilimOx3E+KzDHJf}3rzb1(*eMA zATSdI%mo88?||7*U^Wt%`-f=Y=X>C1EHEDj%*S8PCjbjcz(O*xkOC~G0ZZw?QU)Vv`uVx~^{@O%~>>z8qYTE4cP+fC^%hC)VMwHU;+PA~^7}#I$`S zxd5e`L`7&RtnT`t-k%=hu`%DPCU{U* z!P0h~Yx?>A;tL7GGA+-b579JFerNICEe!VqvaCBr4!1Sy{{A%e#(Jl_>KaH8X^02C zev%y}S-kjRl_Z3N>1N&t0%wwcQmKZA=JhWhOWA9y<99D2aC4dHtdzFP?9yY8{Pod{ zZYpg#vAaswBYBSOUaZoO=}0~d>@T((h#LuyuUnmON;xe|GhxqoiD^7f-e4Eeh#LN{ znbm=Q&9=vBfs=b?;ko_i;_c;--^@v+MawhATi274IH?{(ov6*U`+XuP!hXBD!o=2r zKMxghUE;X6UMOA2(2OS+on+TyB%erj3~LP81AYW<)U&rp0{$lMZoT;P z(If-S%J}zhSY!q?Sg>YggIR0C7%ex~>X?PoF3U-rjRt9I>)7QfMZhw3k34d0D`_k@1wcsl{iiY6RMtlZKLo0b4tO{RM(%L z(Gm7_dQ%!}`al&4dfhXa=c81Hrd^|K?eom4YvRu-bDsHYo%?cZGIA6;c5&JcW~+25 zE6VqAR}G#L%|8NuMnR`FEs*q}5U< z-=yS-IZo;og5opUM4Bz^=^kb&tZTQ89!;0@#x7!Dsq4Bi5!*pePF@|Ve>sq`(VTKLw^I|iz{`}J0Dbs)f64+) zS2IirUP;t_-3C!7Bvi|U#Uf#KM+Thi(J=2zivkZ4V+<{toF9MS&R06e=ux@TB~oB# zoMfs;gOb^^)F18z+wbB&l}@?l>+x)uJY>*`l8kU{^)@dGRYe9vpI6%E6mZ{QNa-Ey zTdUB(eo7|KK3%jxW@lAAuzkUv$r>Y*5Qexg)A#ioO`QANd0J`fQi>DTKZ%qMGC@HL zXjJ8fyjyESH1&DRG(~-yd6l^4`rIc&z_=qJe!>@u4pXm!^>ZShD!Z+nw`jh?uU+KJ zlEh@{&At%kO;eXz;SvM8lFf*M@`v7bk=G4OExTFsn&JGQPScDGQ` z-rW>sMhrZuVk_E#rLrip*d5;#E?MWhwWJg$>!USaK?MAwAJo7`^Pk_!+W7>7npne~3Qd6UD&}yb(8>wX5PFWo8jM98C zko&PY#C?dR;SS#eJMm_YvW30OSSE_ja<{iP-Nd8x^=qG&!hAU6{}`->Is3vK{df5z zuOxU%DLSgT(*~JiqBA0N>$I&#Hjb@H38*40QR?QB{`4z}C~+7#=<(`hbV0~;RitHM zx^*d(?NzIW+Kqb3oU&%p?Bhdk0kyxj%(h3@vA)8Ia7@eN6cM&l?&NgMmjzF9{K$)T zHzG+HH6A;V$vEJ$ckyIz70DRzo=aqKIgw7$k4%%Y#f}8YyV26I!!`(I{GeGFg-SZR zGi?X5GT!s0^JB}ETOIfm8*mdsb1dM;__8C;l>NeJoVf~?aHFZ#+}9F>Y{K zkxvkYQ`Ex|l6}UyGCeVv1w&k`J==Ld zZV63X4}zx;C#lHxF!XjNoNeD2RKAV;B{R)u%6c6<^)uZM-FD?2m1Sc7m9m|DWpz>S z%(#ff=^af>Oil~qjUCYa0Xt0F&RJ|vW9!$VnRYs_9+yAo)@FaShftmUJGntnuv^-D zB{9#+m^(f`Q%AnP6{d4n=wjwK=HoteduN|{{&;W)eAF^u@Ngblb-Ny}WbsL+Z4;B; z4EFuF8vd;>Vn4n<#c~amD@dK^KO~=KcqeJ%W7Qz9tWBP| z3gI!qxz+)V>5i|NAt&=IB|J=UaXq$xr?L(G6A|ChxdL{8%?UhSOTRn2CLBVx-0fb@ z$fwPga4jXqF1L+OZufc9i$-+%NV4@e1Hq{RSt>TH_n^B zf3KwD#K_3OlU48E;P`~Ku2P-D@T1!y>>H7)c+sZ|1z%gNiF2&TlybX$xoBSB{?MUvPbl`b&JR&k!@ORylp!8gf67UpgmQOR(oJCv z+FgzH)=9_Mu&fA8^JUPh9CUPfLnI27UyW0!#E5h?3aj_PJqU!3Fu~7vKi;i+lyNwE zpbW+>g($+RBpVlNsp}ht?5kcZMg>*~!I? z$fov)9SQuHXt|k(JP<$u)?P>))|>N081rdHj_C#+OG(hX@C-`m^P!^U+^ZgL-qkh3 zKCU`|8d*g;VY=XBveKPQGf$$*5*@Uy{W5J*We^dWt8aJbrZza~|E8ve^BEZkKFNH$ z+M)Kr1w!ZjTL4(%vsU>WCKc6R(1TOS*Xsx?ok7mYzX~EOfi{+-DqSgt`^R)XnfJ`6 z_nw4Nz+!GSb$+$l-F*9CU7^aw#YcW~DN$bLKGledv6$iRrS?K-Z_b?ZOEt--bcx@t ztA3%Pp@jKv$#ac|zqkw~=mcExobd_9uZ%@4OvaklFv2IF?CM&~1yN@>JF~2= zGeNwpwO1~zhWJz&XsWB#zd!9y6xerGQ{^(}b#B~g2+E#`>n$E=O}Q;Tg2#2)O8vP% zh}E^G1ApeBrf(fM`XQXhWy^$LqwNOr)Cy>t#Z)EZJEvK2nVZo_=S)YjfW?uAP7zBt zLwTALJYRpD+(>#6ThT2Snfv|G*y+q!Knp`}3q~XMe0;;=GZUdtt?NTD0aG`wgMBT6 zdpIA}T-~#Xce(ken^F30s`=Md`iO)W8Wu%bNcv8MyE5x1yEbvC#I##ejF*sN$g6pj zL@qrieM2M!JK!DIKFR}uFnoM7cm&Vyl>>_jb%t1;eO~qKNmA|s zE4cH0kUPMPN1Rj8=fWoF4V}gE1Zt-Evvak5QmQ|Y#NYc&?V>MWVPdHp!R0c$PJj@e z`J+B-epiVz`Sd8Bp(4jfy-#QPSe`@@TiZrP&vyMNL)m!bX}-Z)0|B#w6s0E4u1F~R zST#98_$0twFS+9-ojOR1_s-p)8-Ak1F;J*nY@bNq7~Jv?v+ z&E-4kkD<=ylABS1Y~|t&`>!wIM<(~VASkg9Vz^<<6B;mTekd*EXI^fyycgwAW9m_> z?q6%ZmkdcaSpQuIK`)RVW^9m)uhWhoJq2Yxp~fn_i4OVilmkL-el}HbzuZKLmWyzE zxn)M#$Zg~;iN~)_&*NX2n-{$#=eO^t;6x-EBN2$OUdkGeil?aWS)&m(x2t*|Uw81E ziox8yE5GwEpc?Qo-Lg(={q=#Q)ImQ32@S|IqMrXp{qOQ%bHmq{Ry|#}ap8Y$E22h^ zb?8*ML4C)27voZwdnKJ&FYnmH2ajRlhjbS+PwozidYHWV78|y zIO1R;PnRp$g9OZY*nFt67WrOL{q>sPnwZquHAVcJ`bMDCeGa%P{-Nz<^1 zg+AM5L`u5S#3TGIgp?^A-mSYrf*L z`qZ4z&~T2gvxD7HwB|W*B*&KPH31yYRdb`U6AY+IP`F&FXWw!&PUbqWX;u$x)YfP; zYHWMk5*!$WrHyU(Ghk~lArYZOM?Z?*+Y`2ha=uK(JvwQc`%Ek&u zjf#-aP;?%;ju)_dnH?9Zeb~Rs8XALtXkKX5S)KWOv z6bEN#dYJa4-y{9-GX&x3tM76EXpUmUh!Mtdwbmd$dZG33AS@~pUteF&6gqQ%wpe>- zPg{u_C)V3ZIvB9G*T83eX%}XH_qzXXYK;v60ews*f=e|%v{!g? zM$+R{?p=stwP?VurE2PvOxQSoT`>xvjjeUZAMXqgZ;vhqfbEg!bUNcWTcqR28Z~wr zdj>o@Q0Cl)t$MC)GThm7xz-PM4G>YZ=9IAETD3QA!VtxzrwIiU6|7X&l*E}}Yb$j< zN$R?Z3ELO;q9M5lwTULw&oQAx5S!C_Q##cI3#krk-n#`r-E0Mo%8s3X=|(L;?O+wwewwGwl@*gTWW_nd7yX6Ok>b0Ckl+xU9i2H-sWZ-{k5iE|%@sFy zckCUUuva^v)#}me+!!#hKZ>QfB?oe>aItsgQl%G8j`rMa3c^e8#nuIuG|n;SbfF8^ zq?YbmY9?SPluS`@b#vx_xHKMaZXQA@J+3b9T&efRyoVXK))p8H0R#pG!3;o_7Gf{I6KSrn^b1=KN)b&8lmFk4PPE^DRy^|EKHW+Blb>!L> zf1?KM%&;XY@)0gpdE?{dOKH49zrOuMXd+QeO|cV|b+&WFUGGVNe;{hduJ03C^BuWR z=^?#~RD&WnzRI+J6VztyuZJ}$OtDVNsWiqOr*2hBu!3Jni*%MT(snSP$9W)*~@}~ z(F2Ky2*>Kyw}6M%jEzv?B)Q})SF<^#7nPF#9rGQdr>Qv>Ru4A-cP#5I3+4@eaE0&x zwtxIuA#+40?#vI1EqvL8HShlTcl+Wvxxtmc1C1YlkTrcM$4cTjT0E6Cb4SyhH;dva zzk&L3T-@*mC8=-Gz9p3_&1qyOjpp=@?EC9qZmf!VFDPWks8}0gPySdNru|-F{t$&# zum3n7J9lLa;#6MCx ze?)~!}z9ZCa3G?kTG#MHxCqZ z>B|E4EFQvz4R4YiKiHTWt)Eyp~q+l{_TT&=U8%JwnCN(pj;!MFCuxXr;9p@Y8!si)eCA`heV7Ej%{ASxgD!HRFT2*kKf`#)|MwplROo?5|iT zY#2{#*;I~|O{ZePDB23%V5{)CwP)SUQN=U6jB9<@22nC4p%MW_~uNO z#E+o8E{Si2;@MMPFs8-2@zH$KoNZiRH04!V%BFFlDV6-B;asgAOX1Ytbqavu4^$L< zXuPI(zvV4>pH(TNDHp|GHt{)9M?cNt@y~N;^((CX@NpJReVs+|BgspPB`@)RCDu%T zk%Ht`D4g;H%l;nKsYBFFcco=T|DOf``y>U9HY{URQVb`nW^uAIL9}2v=ZZ$jt@IDH z?O1DE-;h3@vkl1{FOR2c;oDrVe3$%bzwOi^w$1UTC9CgG1Ax}1Ojaho!{x2>I4uC= zi_+6Do=Y1?Qxf+CdpFK!&AhRH94Pom)@M+;;7!^$jO1AMFlmyW?$jaDhbh#5?B4YN zoZGpYy=9+Jlre#}&)0IWHl01CX)KEy$%%>?T-}+@uC1pZP4?)BehhsxjQGjU^{;FsCYKa9?Aey$ xN5-qt;>Va9JKUz(p5(q~$&N%{zFHE=zW_)yHdLFrP)Yy*002ovPDHLkV1gf2p^*Rp delta 2364 zcmV-C3B&fb6t)zQJPN=701m(bYSxJfkw(mu;QQ#*k(Jhbxx#{@t5vk-IdCM$mg_YE9M4sAqcP;({WLc> z$J@sXAA>hG7MAofGpBr-0$YMOmZRpMn*!LLYGg^b+V#x=9QxFp(9m#>ud{>QQ5?v& z;Z%`-GdJo3#ZPZe7C7CzpH&G8mn-$`TW-e5Tn9GI>Vb{g8jVJcZEstG1B0-%vF&~a zYz-zPB9!RpN6~wG!nRPHoSZNO1fWve;pyc?XhsVxpyRvMCPE&h#+tNxw(>;b#cK z(^uc+0MH!8h!G=<<7%xzeDp%=;XznbB)-1BoGEnXY_ayvp0*Mq%1AO-$Inuon%XMedM~yvu%vO0Ij0LLHL!o4ff~%V| z$EERbbMp{N>2Y;&=Ssal<~_`Ru(h_pUEC>T$@G0*Nh0C#KGMIhTsbevr8AOaa? z6u|y{2mYHs92NTLJ-sVco1UXbgLgQFwc(yVBf{64-`WvroJZ*ZbC&WxNf3OY|c zdomPM)+%-_QRvergk$-)B5z?WfV#R85fvfxVciNqOSU!V%Oyw~bw-hY3<&ZgFf8aDO-1sWflG9QS z+bbkB4o36sCV#f3N?=rfb{f7|rjfd6&7MykP(%|}yrT%UwN!kpus_Rwx2@*ZB>SaUpfB|UT+@(}HNv9|xecQG!uwc(}2Q~`r)dGaZ(T<={<3;Cz zG#@Xytc3&-^+=?!+a7;IpeVnV@W^n{IbU>I9eUA(j=j<*>ZniY$*v3)^~q9V(=9QP zd4GR{kr7T#k{Sh=w@I3urZh9oO1Wss_n<;@-LjVj1EU8L5fP5nt#1Jjtr;7k z!bx(;S*~VtN-ruU|2yV8Mo&|7EUX@G0Pa}UTNcb4{NM`T|84*HwL<2IPJA|cSZv|T zCaih)$G_Vb$H@(@{2gfgfUN05IaU(K(c-DBnLC>1yjc`~Px%ehkK^KoHz-Mci}o$4 zTxm`tJ83khcVypR|8iqh%zHs0J4VIY7<=-^+A!_+3iF33ta|;&`PjKDV;Cpb4rkNi z7_Q3UPL$3dJ?>Suu1?_8wrpvro`HsmtV1FbNX1_$y>{nQwG=}7{gQ>`jV^!=x)=&5aOD6u2()lA<75^f6^T#pw{UKz| z81>TtU|WhOaf3Q1m@CH)fXx%gPaMWKRWmtVKZlHo!?}5&m`h(4uxIfQE^K&{?D)aP z)Mzc8PEK+R7x(7Uw*5Y*Kxb@glBYNsMnj^O?I}Kg_v}!$Q2d*9uW`LDmQN@Dg(C%% zY1@)QLE1Q48#Aey@f2qY-hfTxjO;kyI2S(8AS>Z*ZXPS?egM8&62Z>-1`e)>qH5~@ z?hPr((vF)FwT{x1}*gp(~Iy*k3rA*2-BTf@3(hdp#|+862%& z%HnB%uW@Yi3eN3V&7q16mVf*fXQ~sqygiMoMQ?L>*-+Z^Mo>BH$*u)u{d-o-AF7b? zH--Gzd#@V1%Tk&5fzZ5R4lO0|toZ29P%~D9Zvsv8o@al>LSe&rTFa(#tZX_J3r5ja z@Fu5oM^F;~RQEHWKEadx@oJL(q>w5=d^df6*LJvS5yv-YvLt>4?R80fD-_S3@`5of z){T$mo91le`l2bX(o!~!3r(ryCk^Ln^;in0{;pF16n~(i;6vjzz56Y1!TYRA8BMt; z{<4YBkvjTm7LR|PL#tn5?T3%EXzJ@MiXTZ{S}b{qFR^C&ixeckLgADrSoZg*P936u zZn`TiEBgO50N5ufaI|3=tCC_kSv8B3l?kE+!#P(pN^Yfppl!!mHH!WFxe;NR^Hf6Fh@f|L2oyTbbAYYW8hVfk5IGU2UC)m4j zK5OQUeJ{$uy92jJY!)$A?%grbZIw0*vo zgSF}GDNSQp+(=GT%;4(Ibat(s#QD6D+^CMFVAA8F13zQq)Isw5mo%h2NBzua*`D@S zZd8roW^F7vaf3NkIg_i+3#nTf&%W|c{^MXxi9S?*WY4w~KQdmG7C*+^*x@!K&Gsbs iJxg{Z`tsG1Nd5%?12$B@T`=|l0000